@cartanova/qgrid-cli 2.10.0 → 2.10.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 (69) hide show
  1. package/bundle/dist/application/qgrid/conv-routing.js +4 -14
  2. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +10 -5
  3. package/bundle/dist/application/request-log/request-log.model.js +14 -12
  4. package/bundle/dist/application/request-log-step/request-log-step.model.js +7 -11
  5. package/bundle/dist/application/setting/setting.model.js +13 -27
  6. package/bundle/dist/application/token/token.model.js +52 -47
  7. package/bundle/dist/server-error-handler.js +1 -1
  8. package/bundle/dist/sonamu.config.js +3 -15
  9. package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +4 -2
  10. package/bundle/dist/utils/providers/common/model-cost.js +10 -3
  11. package/bundle/src/application/qgrid/conv-routing.test.ts +0 -32
  12. package/bundle/src/application/qgrid/conv-routing.ts +7 -26
  13. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +65 -121
  14. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +12 -6
  15. package/bundle/src/application/qgrid/qgrid.frame.test.ts +10 -24
  16. package/bundle/src/application/request-log/request-log.model.test.ts +37 -2
  17. package/bundle/src/application/request-log/request-log.model.ts +14 -7
  18. package/bundle/src/application/request-log-step/request-log-step.model.ts +3 -15
  19. package/bundle/src/application/setting/setting.constant.test.ts +1 -13
  20. package/bundle/src/application/setting/setting.model.ts +10 -26
  21. package/bundle/src/application/setting/setting.persistence.test.ts +27 -0
  22. package/bundle/src/application/token/token.model.test.ts +86 -19
  23. package/bundle/src/application/token/token.model.ts +59 -44
  24. package/bundle/src/server-error-handler.ts +1 -2
  25. package/bundle/src/sonamu.config.ts +4 -31
  26. package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +6 -1
  27. package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +5 -2
  28. package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.test.ts +1 -26
  29. package/bundle/src/utils/providers/common/model-cost.test.ts +22 -1
  30. package/bundle/src/utils/providers/common/model-cost.ts +22 -5
  31. package/bundle/src/utils/providers/common/provider-dispatcher.ts +4 -11
  32. package/bundle/web-dist/client/assets/index-Cq4_ExLO.js +106 -0
  33. package/bundle/web-dist/client/assets/logs-kg1KOMBk.js +1 -0
  34. package/bundle/web-dist/client/assets/{monit-DrYZkisv.js → monit-DmtHTmSM.js} +1 -1
  35. package/bundle/web-dist/client/assets/{routes-C8Y6olae.js → routes-CXotE1OF.js} +1 -1
  36. package/bundle/web-dist/client/assets/services.generated-Cbvg2sGQ.js +51 -0
  37. package/bundle/web-dist/client/assets/{settings-CdVqtDQ5.js → settings-CfJDz4AC.js} +1 -1
  38. package/bundle/web-dist/client/assets/show-gBpWK4z2.js +2 -0
  39. package/bundle/web-dist/client/assets/{tokens-CxXtdk9o.js → tokens-CbFJjIyC.js} +1 -1
  40. package/bundle/web-dist/client/assets/use-oauth-login-flow-jJo7GV3r.js +1 -0
  41. package/bundle/web-dist/client/assets/{use-update-token-mutation-Dkv_HG-C.js → use-update-token-mutation-D-Y8OySK.js} +1 -1
  42. package/bundle/web-dist/client/index.html +2 -2
  43. package/bundle/web-dist/server/assets/{lazyRouteComponent-DyizoQKi.js → lazyRouteComponent-Bj1cPq6x.js} +2 -2
  44. package/bundle/web-dist/server/assets/{logs-DO8zBdBR.js → logs-DMlOXcDS.js} +20 -12
  45. package/bundle/web-dist/server/assets/{monit-COH4MckI.js → monit-Dg1wZCdx.js} +3 -3
  46. package/bundle/web-dist/server/assets/{plus-C1D8z9o0.js → plus-DVobMrag.js} +1 -1
  47. package/bundle/web-dist/server/assets/{react-dom-PfWvArTX.js → react-dom-BjR1Iaz8.js} +1 -1
  48. package/bundle/web-dist/server/assets/{routes-Btja-741.js → routes-C7lB2Q85.js} +5 -5
  49. package/bundle/web-dist/server/assets/{services.generated-BsKOUSXl.js → services.generated-BM4X3Ecj.js} +102 -6
  50. package/bundle/web-dist/server/assets/{settings-DPcWGvy-.js → settings-BaIBt_Vs.js} +4 -4
  51. package/bundle/web-dist/server/assets/{show-CMXbb3TJ.js → show-CDxGr4rS.js} +9 -8
  52. package/bundle/web-dist/server/assets/{tokens-DAUmTrgO.js → tokens-DJlfeGcx.js} +5 -5
  53. package/bundle/web-dist/server/assets/{use-oauth-login-flow-GsGwqefs.js → use-oauth-login-flow-DYKnG4A2.js} +32 -15
  54. package/bundle/web-dist/server/assets/{use-update-token-mutation-RujWERvj.js → use-update-token-mutation-DqGMopII.js} +1 -1
  55. package/bundle/web-dist/server/entry-server.generated.js +381 -21
  56. package/package.json +1 -1
  57. package/skills/qgrid/references/ai-sdk-provider-contract.md +4 -2
  58. package/skills/qgrid/references/anthropic-claude-code-runtime.md +3 -2
  59. package/skills/qgrid/references/request-log-run-lifecycle.md +2 -0
  60. package/skills/qgrid/references/sonamu-api-web-flow.md +1 -1
  61. package/skills/qgrid/references/token-auth-quota-lifecycle.md +2 -0
  62. package/skills/qgrid/references/verification-and-debugging.md +24 -13
  63. package/bundle/dist/utils/providers/common/token-picker.js +0 -14
  64. package/bundle/src/utils/providers/common/token-picker.ts +0 -18
  65. package/bundle/web-dist/client/assets/index-BfwrIBHs.js +0 -106
  66. package/bundle/web-dist/client/assets/logs-Brit-LqB.js +0 -1
  67. package/bundle/web-dist/client/assets/services.generated-Bg2XkD-D.js +0 -51
  68. package/bundle/web-dist/client/assets/show-2B2X9MkO.js +0 -2
  69. package/bundle/web-dist/client/assets/use-oauth-login-flow-B9EqnwY9.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t,l as n}from"./vendor-tanstack-DJRQAbrY.js";import{i as r,r as i}from"./vendor-react-DH4kUfK2.js";import{i as a,r as o,u as s}from"./services.generated-Cbvg2sGQ.js";import{c,d as l,t as u,u as d}from"./index-Cq4_ExLO.js";import{n as f,t as p}from"./cost-CpjVoAqp.js";import{t as m}from"./request-model-eygfdRv7.js";function h(){return h=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},h.apply(null,arguments)}function g(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 _=e(r()),v=i(),y={},b=(0,_.createContext)(y),x=(e,t)=>h({},e,t),S=()=>(0,_.useContext)(b),C=(0,_.createContext)(()=>{});C.displayName=`JVR.DispatchShowTools`;function w(){return(0,_.useReducer)(x,y)}function T(){return(0,_.useContext)(C)}var E=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,v.jsx)(b.Provider,{value:t,children:(0,v.jsx)(C.Provider,{value:n,children:r})})};E.displayName=`JVR.ShowTools`;var D={},ee=(0,_.createContext)(D),te=(e,t)=>h({},e,t),O=()=>(0,_.useContext)(ee),ne=(0,_.createContext)(()=>{});ne.displayName=`JVR.DispatchExpands`;function re(){return(0,_.useReducer)(te,D)}function ie(){return(0,_.useContext)(ne)}var ae=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,v.jsx)(ee.Provider,{value:t,children:(0,v.jsx)(ne.Provider,{value:n,children:r})})};ae.displayName=`JVR.Expands`;var oe={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`}},se=(0,_.createContext)(oe),ce=(e,t)=>h({},e,t),k=()=>(0,_.useContext)(se),A=(0,_.createContext)(()=>{});A.displayName=`JVR.DispatchTypes`;function le(){return(0,_.useReducer)(ce,oe)}function ue(){return(0,_.useContext)(A)}function de(e){var{initial:t,dispatch:n,children:r}=e;return(0,v.jsx)(se.Provider,{value:t,children:(0,v.jsx)(A.Provider,{value:n,children:r})})}de.displayName=`JVR.Types`;var fe=[`style`];function pe(e){var{style:t}=e,n=g(e,fe);return(0,v.jsx)(`svg`,h({viewBox:`0 0 24 24`,fill:`var(--w-rjv-arrow-color, currentColor)`,style:h({cursor:`pointer`,height:`1em`,width:`1em`,userSelect:`none`,display:`inline-flex`},t)},n,{children:(0,v.jsx)(`path`,{d:`M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z`})}))}pe.displayName=`JVR.TriangleArrow`;var me={Arrow:{as:`span`,className:`w-rjv-arrow`,style:{transform:`rotate(0deg)`,transition:`all 0.3s`},children:(0,v.jsx)(pe,{})},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:`}`}},he=(0,_.createContext)(me),ge=(e,t)=>h({},e,t),j=()=>(0,_.useContext)(he),_e=(0,_.createContext)(()=>{});_e.displayName=`JVR.DispatchSymbols`;function ve(){return(0,_.useReducer)(ge,me)}function ye(){return(0,_.useContext)(_e)}var be=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,v.jsx)(he.Provider,{value:t,children:(0,v.jsx)(_e.Provider,{value:n,children:r})})};be.displayName=`JVR.Symbols`;var xe={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`}},Se=(0,_.createContext)(xe),Ce=(e,t)=>h({},e,t),M=()=>(0,_.useContext)(Se),we=(0,_.createContext)(()=>{});we.displayName=`JVR.DispatchSection`;function Te(){return(0,_.useReducer)(Ce,xe)}function Ee(){return(0,_.useContext)(we)}var De=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,v.jsx)(Se.Provider,{value:t,children:(0,v.jsx)(we.Provider,{value:n,children:r})})};De.displayName=`JVR.Section`;var Oe={objectSortKeys:!1,indentWidth:15},N=(0,_.createContext)(Oe);N.displayName=`JVR.Context`;var ke=(0,_.createContext)(()=>{});ke.displayName=`JVR.DispatchContext`;function Ae(e,t){return h({},e,t)}var P=()=>(0,_.useContext)(N),je=e=>{var{children:t,initialState:n,initialTypes:r}=e,[i,a]=(0,_.useReducer)(Ae,Object.assign({},Oe,n)),[o,s]=w(),[c,l]=re(),[u,d]=le(),[f,p]=ve(),[m,g]=Te();return(0,_.useEffect)(()=>a(h({},n)),[n]),(0,v.jsx)(N.Provider,{value:i,children:(0,v.jsx)(ke.Provider,{value:a,children:(0,v.jsx)(E,{initial:o,dispatch:s,children:(0,v.jsx)(ae,{initial:c,dispatch:l,children:(0,v.jsx)(de,{initial:h({},u,r),dispatch:d,children:(0,v.jsx)(be,{initial:f,dispatch:p,children:(0,v.jsx)(De,{initial:m,dispatch:g,children:t})})})})})})})};je.displayName=`JVR.Provider`;function Me(e){if(e==null)throw TypeError(`Cannot destructure `+e)}var Ne=[`isNumber`,`value`,`parentValue`,`keyName`,`keys`],Pe=[`as`,`render`],Fe=[`as`,`render`],Ie=[`as`,`render`],Le=[`as`,`style`,`render`],Re=[`as`,`render`],ze=[`as`,`render`],Be=[`as`,`render`],Ve=[`as`,`render`],F=e=>{var{Quote:t={}}=j(),{isNumber:n,value:r,parentValue:i,keyName:a,keys:o}=e,s=g(e,Ne);if(n)return null;var{as:c,render:l}=t,u=g(t,Pe),d=c||`span`,f=h({},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,v.jsx)(d,h({},f))};F.displayName=`JVR.Quote`;var I=e=>{var{ValueQuote:t={}}=j(),n=h({},(Me(e),e)),{as:r,render:i}=t,a=g(t,Fe),o=r||`span`,s=h({},n,a);return i&&typeof i==`function`&&i(s,{})||(0,v.jsx)(o,h({},s))};I.displayName=`JVR.ValueQuote`;var He=e=>{var{value:t,parentValue:n,keyName:r,keys:i}=e,{Colon:a={}}=j(),{as:o,render:s}=a,c=g(a,Ie),l=o||`span`;return s&&typeof s==`function`&&s(c,{value:t,parentValue:n,keyName:r,keys:i||(r?[r]:[])})||(0,v.jsx)(l,h({},c))};He.displayName=`JVR.Colon`;var Ue=e=>{var{Arrow:t={}}=j(),n=O(),{expandKey:r,style:i,value:a,parentValue:o,keyName:s,keys:c}=e,l=!!n[r],{as:u,style:d,render:f}=t,p=g(t,Le),m=u||`span`,_=f&&typeof f==`function`,y=h({},p,{"data-expanded":l,style:h({},d,i)});return _&&f(y,{value:a,parentValue:o,keyName:s,keys:c||(s?[s]:[])})||(0,v.jsx)(m,h({},p,{style:h({},d,i)}))};Ue.displayName=`JVR.Arrow`;var We=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=g(o,Re),f=l||`span`;return u&&typeof u==`function`&&u(d,c)||(0,v.jsx)(f,h({},d))}var{as:p,render:m}=s,_=g(s,ze),y=p||`span`;return m&&typeof m==`function`&&m(_,c)||(0,v.jsx)(y,h({},_))};We.displayName=`JVR.BracketsOpen`;var L=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=g(c,Be),p=u||`span`;return d&&typeof d==`function`&&d(f,s)||(0,v.jsx)(p,h({},f))}var{as:m,render:_}=l,y=g(l,Ve),b=m||`span`;return _&&typeof _==`function`&&_(y,s)||(0,v.jsx)(b,h({},y))};L.displayName=`JVR.BracketsClose`;var Ge=e=>{var{keyName:t,value:n,expandKey:r,parentValue:i,level:a,keys:o=[]}=e,s=O(),{collapsed:c,shouldExpandNodeInitially:l}=P(),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},g={keyName:t,value:n,keys:o,parentValue:i},_=Array.isArray(n),y=n instanceof Set;return(0,v.jsx)(`div`,{style:m,children:(0,v.jsx)(L,h({isBrackets:_||y},g,{isVisiable:!0}))})};Ge.displayName=`JVR.NestedClose`;var Ke=[`as`,`render`],qe=[`as`,`render`],Je=[`as`,`render`],Ye=[`as`,`render`],Xe=[`as`,`render`],Ze=[`as`,`render`],Qe=[`as`,`render`],$e=[`as`,`render`],et=[`as`,`render`],tt=[`as`,`render`],nt=[`as`,`render`],rt=[`as`,`render`],it=[`as`,`render`],R=e=>{if(e===void 0)return`0n`;if(typeof e==`string`)try{e=BigInt(e)}catch{return`0n`}return e?e.toString()+`n`:`0n`},at=e=>{var{value:t,keyName:n}=e,{Set:r={},displayDataTypes:i}=k();if(!(t instanceof Set)||!i)return null;var{as:a,render:o}=r,s=g(r,Ke);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,v.jsx)(a||`span`,h({},s))};at.displayName=`JVR.SetComp`;var ot=e=>{var{value:t,keyName:n}=e,{Map:r={},displayDataTypes:i}=k();if(!(t instanceof Map)||!i)return null;var{as:a,render:o}=r,s=g(r,qe);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,v.jsx)(a||`span`,h({},s))};ot.displayName=`JVR.MapComp`;var z={opacity:.75,paddingRight:4},st=e=>{var{children:t=``,keyName:n,keys:r}=e,{Str:i={},displayDataTypes:a}=k(),{shortenTextAfterLength:o=30,stringEllipsis:s=`...`}=P(),{as:c,render:l}=i,u=g(i,Je),d=t,[f,p]=(0,_.useState)(o&&d.length>o);(0,_.useEffect)(()=>p(o&&d.length>o),[o]);var m=c||`span`,y=h({},z,i.style||{});o>0&&(u.style=h({},u.style,{cursor:d.length<=o?`initial`:`pointer`}),d.length>o&&(u.onClick=()=>{p(!f)}));var b=f?``+d.slice(0,o)+s:d,x=l&&typeof l==`function`,S=x&&l(h({},u,{style:y}),{type:`type`,value:t,keyName:n,keys:r}),C=f?`w-rjv-value w-rjv-value-short`:`w-rjv-value`,w=x&&l(h({},u,{children:b,className:C}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(S||(0,v.jsx)(m,h({},u,{style:y}))),w||(0,v.jsxs)(_.Fragment,{children:[(0,v.jsx)(I,{}),(0,v.jsx)(m,h({},u,{className:C,children:b})),(0,v.jsx)(I,{})]})]})};st.displayName=`JVR.TypeString`;var ct=e=>{var{children:t,keyName:n,keys:r}=e,{True:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,Ye),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};ct.displayName=`JVR.TypeTrue`;var lt=e=>{var{children:t,keyName:n,keys:r}=e,{False:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,Xe),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};lt.displayName=`JVR.TypeFalse`;var ut=e=>{var{children:t,keyName:n,keys:r}=e,{Float:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,Ze),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};ut.displayName=`JVR.TypeFloat`;var dt=e=>{var{children:t,keyName:n,keys:r}=e,{Int:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,Qe),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};dt.displayName=`JVR.TypeInt`;var ft=e=>{var{children:t,keyName:n,keys:r}=e,{Bigint:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,$e),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:R(t?.toString())}))]})};ft.displayName=`JVR.TypeFloat`;var pt=e=>{var{children:t,keyName:n,keys:r}=e,{Url:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,et),l=o||`span`,u=h({},z,i.style),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t?.href,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p||(0,v.jsxs)(`a`,h({href:t?.href,target:`_blank`},c,{className:`w-rjv-value`,children:[(0,v.jsx)(I,{}),t?.href,(0,v.jsx)(I,{})]}))]})};pt.displayName=`JVR.TypeUrl`;var mt=e=>{var{children:t,keyName:n,keys:r}=e,{Date:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,tt),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=t instanceof Date?t.toLocaleString():t,m=d&&s(h({},c,{children:p,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),m||(0,v.jsx)(l,h({},c,{className:`w-rjv-value`,children:p}))]})};mt.displayName=`JVR.TypeDate`;var ht=e=>{var{children:t,keyName:n,keys:r}=e,{Undefined:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,nt),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p]})};ht.displayName=`JVR.TypeUndefined`;var gt=e=>{var{children:t,keyName:n,keys:r}=e,{Null:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,rt),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p]})};gt.displayName=`JVR.TypeNull`;var _t=e=>{var{children:t,keyName:n,keys:r}=e,{Nan:i={},displayDataTypes:a}=k(),{as:o,render:s}=i,c=g(i,it),l=o||`span`,u=h({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(h({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(h({},c,{children:t?.toString(),className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,v.jsxs)(_.Fragment,{children:[a&&(f||(0,v.jsx)(l,h({},c,{style:u}))),p]})};_t.displayName=`JVR.TypeNan`;var vt=e=>Number(e)===e&&e%1!=0||isNaN(e),yt=e=>{var{value:t,keyName:n,keys:r}=e,i={keyName:n,keys:r};return t instanceof URL?(0,v.jsx)(pt,h({},i,{children:t})):typeof t==`string`?(0,v.jsx)(st,h({},i,{children:t})):t===!0?(0,v.jsx)(ct,h({},i,{children:t})):t===!1?(0,v.jsx)(lt,h({},i,{children:t})):t===null?(0,v.jsx)(gt,h({},i,{children:t})):t===void 0?(0,v.jsx)(ht,h({},i,{children:t})):t instanceof Date?(0,v.jsx)(mt,h({},i,{children:t})):typeof t==`number`&&isNaN(t)?(0,v.jsx)(_t,h({},i,{children:t})):typeof t==`number`&&vt(t)?(0,v.jsx)(ut,h({},i,{children:t})):typeof t==`bigint`?(0,v.jsx)(ft,h({},i,{children:t})):typeof t==`number`?(0,v.jsx)(dt,h({},i,{children:t})):null};yt.displayName=`JVR.Value`;function B(e,t,n){var r=ye(),i=h({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:h({},e.style,t.style),children:t.children||e.children});(0,_.useEffect)(()=>r({[n]:i}),[t])}function V(e,t,n){var r=ue(),i=h({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:h({},e.style,t.style),children:t.children||e.children});(0,_.useEffect)(()=>r({[n]:i}),[t])}function H(e,t,n){var r=Ee(),i=h({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:h({},e.style,t.style),children:t.children||e.children});(0,_.useEffect)(()=>r({[n]:i}),[t])}var bt=[`as`,`render`],xt=e=>{var{KeyName:t={}}=M();return H(t,e,`KeyName`),null};xt.displayName=`JVR.KeyName`;var St=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=g(s,bt);u.style=h({},u.style,o);var d=c||`span`;return l&&typeof l==`function`&&l(h({},u,{children:t}),{value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])})||(0,v.jsx)(d,h({},u,{children:t}))};St.displayName=`JVR.KeyNameComp`;var Ct=[`children`,`value`,`parentValue`,`keyName`,`keys`],wt=[`as`,`render`,`children`],Tt=e=>{var{Row:t={}}=M();return H(t,e,`Row`),null};Tt.displayName=`JVR.Row`;var Et=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o=g(e,Ct),{Row:s={}}=M(),{as:c,render:l}=s,u=g(s,wt),d=c||`div`;return l&&typeof l==`function`&&l(h({},o,u,{children:t}),{value:n,keyName:i,parentValue:r,keys:a})||(0,v.jsx)(d,h({},o,u,{children:t}))};Et.displayName=`JVR.RowComp`;function Dt(e){var t=(0,_.useRef)();return(0,_.useEffect)(()=>{t.current=e}),t.current}function Ot(e){var{value:t,highlightUpdates:n,highlightContainer:r}=e,i=Dt(t),a=(0,_.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,_.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 kt=[`keyName`,`value`,`parentValue`,`expandKey`,`keys`,`beforeCopy`],At=[`as`,`render`],U=e=>{var{keyName:t,value:n,parentValue:r,expandKey:i,keys:a,beforeCopy:o}=e,s=g(e,kt),{onCopied:c,enableClipboard:l,beforeCopy:u}=P(),d=S()[i],[f,p]=(0,_.useState)(!1),{Copied:m={}}=M(),y=m?.beforeCopy;if(l===!1||!d)return null;var b={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`?R(n):n instanceof Date?n.toLocaleString():JSON.stringify(n,(e,t)=>typeof t==`bigint`?R(t):t,2);var l=o||y||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:x}=m,C=g(m,At),w=h({},C,s,b,{style:h({},C.style,s.style,b.style)});return x&&typeof x==`function`&&x(h({},w,{"data-copied":f}),{value:n,keyName:t,keys:a,parentValue:r})||(f?(0,v.jsx)(`svg`,h({viewBox:`0 0 32 36`},w,{children:(0,v.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,v.jsx)(`svg`,h({viewBox:`0 0 32 36`},w,{children:(0,v.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`})})))};U.displayName=`JVR.Copied`;function jt(){var e=(0,_.useRef)(null);return e.current===null&&(e.current=`custom-id-`+Math.random().toString(36).substr(2,9)),e.current}var Mt=e=>{var{keyName:t,value:n,expandKey:r=``,level:i,keys:a=[],parentValue:o}=e,s=O(),{objectSortKeys:c,indentWidth:l,collapsed:u,shouldExpandNodeInitially:d}=P(),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,v.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,v.jsx)(Nt,{parentValue:n,keyName:r,keys:[...a,r],value:o,level:i},t)})})};Mt.displayName=`JVR.KeyValues`;var W=e=>{var{keyName:t,parentValue:n,keys:r,value:i}=e,{highlightUpdates:a}=P(),o=typeof t==`number`,s=(0,_.useRef)(null);Ot({value:i,highlightUpdates:a,highlightContainer:s});var c={keyName:t,value:i,keys:r,parentValue:n};return(0,v.jsxs)(_.Fragment,{children:[(0,v.jsxs)(`span`,{ref:s,children:[(0,v.jsx)(F,h({isNumber:o,"data-placement":`left`},c)),(0,v.jsx)(St,h({},c,{children:t})),(0,v.jsx)(F,h({isNumber:o,"data-placement":`right`},c))]}),(0,v.jsx)(He,h({},c))]})};W.displayName=`JVR.KayName`;var Nt=e=>{var{keyName:t,value:n,parentValue:r,level:i=0,keys:a=[]}=e,o=T(),s=jt(),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,v.jsx)(qt,{keyName:t,value:l?Array.from(n):u?Object.fromEntries(n):n,parentValue:r,initialValue:n,keys:a,level:i+1}):(0,v.jsxs)(Et,h({className:`w-rjv-line`,value:n,keyName:t,keys:a,parentValue:r},{onMouseEnter:()=>o({[s]:!0}),onMouseLeave:()=>o({[s]:!1})},{children:[(0,v.jsx)(W,{keyName:t,value:n,keys:a,parentValue:r}),(0,v.jsx)(yt,{keyName:t,value:n,keys:a}),(0,v.jsx)(U,{keyName:t,value:n,keys:a,parentValue:r,expandKey:s})]}))};Nt.displayName=`JVR.KeyValuesItem`;var Pt=[`value`,`keyName`],Ft=[`as`,`render`],It=e=>{var{CountInfoExtra:t={}}=M();return H(t,e,`CountInfoExtra`),null};It.displayName=`JVR.CountInfoExtra`;var Lt=e=>{var{value:t={},keyName:n}=e,r=g(e,Pt),{CountInfoExtra:i={}}=M(),{as:a,render:o}=i,s=g(i,Ft);if(!o&&!s.children)return null;var c=a||`span`,l=o&&typeof o==`function`,u=h({},s,r);return l&&o(u,{value:t,keyName:n})||(0,v.jsx)(c,h({},u))};Lt.displayName=`JVR.CountInfoExtraComps`;var Rt=[`value`,`keyName`],zt=[`as`,`render`],Bt=e=>{var{CountInfo:t={}}=M();return H(t,e,`CountInfo`),null};Bt.displayName=`JVR.CountInfo`;var Vt=e=>{var{value:t={},keyName:n}=e,r=g(e,Rt),{displayObjectSize:i}=P(),{CountInfo:a={}}=M();if(!i)return null;var{as:o,render:s}=a,c=g(a,zt),l=o||`span`;c.style=h({},c.style,e.style);var u=Object.keys(t).length;c.children||=u+` item`+(u===1?``:`s`);var d=h({},c,r);return s&&typeof s==`function`&&s(h({},d,{"data-length":u}),{value:t,keyName:n})||(0,v.jsx)(l,h({},d))};Vt.displayName=`JVR.CountInfoComp`;var Ht=[`as`,`render`],Ut=e=>{var{Ellipsis:t={}}=M();return H(t,e,`Ellipsis`),null};Ut.displayName=`JVR.Ellipsis`;var Wt=e=>{var{isExpanded:t,value:n,keyName:r}=e,{Ellipsis:i={}}=M(),{as:a,render:o}=i,s=g(i,Ht),c=a||`span`;return o&&typeof o==`function`&&o(h({},s,{"data-expanded":t}),{value:n,keyName:r})||(!t||typeof n==`object`&&Object.keys(n).length==0?null:(0,v.jsx)(c,h({},s)))};Wt.displayName=`JVR.EllipsisComp`;var Gt=e=>{var{keyName:t,expandKey:n,keys:r=[],initialValue:i,value:a,parentValue:o,level:s}=e,c=O(),l=ie(),{onExpand:u,collapsed:d,shouldExpandNodeInitially:f}=P(),p=typeof d==`boolean`?d:typeof d==`number`?s>d:!1,m=c[n]??(f?!1:p),g=f&&f(!m,{value:a,keys:r,level:s,keyName:t,parentValue:o});c[n]===void 0&&f&&(m=!g);var _=()=>{var e={expand:!m,value:a,keyid:n,keyName:t};u&&u(e),l({[n]:e.expand})},y={display:`inline-flex`,alignItems:`center`},b={transform:`rotate(`+(m?`-90`:`0`)+`deg)`,transition:`all 0.3s`},x=Object.keys(a).length,S=typeof a==`object`,C=Array.isArray(a),w=a instanceof Set,T=x!==0&&(C||w||S),E={style:y};T&&(E.onClick=_);var D={keyName:t,value:a,keys:r,parentValue:o};return(0,v.jsxs)(`span`,h({},E,{children:[T&&(0,v.jsx)(Ue,h({style:b,expandKey:n},D)),(t||typeof t==`number`)&&(0,v.jsx)(W,h({},D)),(0,v.jsx)(at,{value:i,keyName:t}),(0,v.jsx)(ot,{value:i,keyName:t}),(0,v.jsx)(We,h({isBrackets:C||w},D)),(0,v.jsx)(Wt,{keyName:t,value:a,isExpanded:m}),(0,v.jsx)(L,h({isVisiable:m||!T,isBrackets:C||w},D)),(0,v.jsx)(Vt,{value:a,keyName:t}),(0,v.jsx)(Lt,{value:a,keyName:t}),(0,v.jsx)(U,{keyName:t,value:a,expandKey:n,parentValue:o,keys:r})]}))};Gt.displayName=`JVR.NestedOpen`;var Kt=[`className`,`children`,`parentValue`,`keyid`,`level`,`value`,`initialValue`,`keys`,`keyName`],qt=(0,_.forwardRef)((e,t)=>{var{className:n=``,parentValue:r,level:i=1,value:a,initialValue:o,keys:s,keyName:c}=e,l=g(e,Kt),u=T(),d=jt();return(0,v.jsxs)(`div`,h({className:[n,`w-rjv-inner`].filter(Boolean).join(` `),ref:t},l,{onMouseEnter:()=>u({[d]:!0}),onMouseLeave:()=>u({[d]:!1})},{children:[(0,v.jsx)(Gt,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c,initialValue:o}),(0,v.jsx)(Mt,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c}),(0,v.jsx)(Ge,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c})]}))});qt.displayName=`JVR.Container`;var Jt=e=>{var{BraceLeft:t={}}=j();return B(t,e,`BraceLeft`),null};Jt.displayName=`JVR.BraceLeft`;var Yt=e=>{var{BraceRight:t={}}=j();return B(t,e,`BraceRight`),null};Yt.displayName=`JVR.BraceRight`;var Xt=e=>{var{BracketsLeft:t={}}=j();return B(t,e,`BracketsLeft`),null};Xt.displayName=`JVR.BracketsLeft`;var Zt=e=>{var{BracketsRight:t={}}=j();return B(t,e,`BracketsRight`),null};Zt.displayName=`JVR.BracketsRight`;var Qt=e=>{var{Arrow:t={}}=j();return B(t,e,`Arrow`),null};Qt.displayName=`JVR.Arrow`;var $t=e=>{var{Colon:t={}}=j();return B(t,e,`Colon`),null};$t.displayName=`JVR.Colon`;var en=e=>{var{Quote:t={}}=j();return B(t,e,`Quote`),null};en.displayName=`JVR.Quote`;var tn=e=>{var{ValueQuote:t={}}=j();return B(t,e,`ValueQuote`),null};tn.displayName=`JVR.ValueQuote`;var nn=e=>{var{Bigint:t={}}=k();return V(t,e,`Bigint`),null};nn.displayName=`JVR.Bigint`;var rn=e=>{var{Date:t={}}=k();return V(t,e,`Date`),null};rn.displayName=`JVR.Date`;var an=e=>{var{False:t={}}=k();return V(t,e,`False`),null};an.displayName=`JVR.False`;var on=e=>{var{Float:t={}}=k();return V(t,e,`Float`),null};on.displayName=`JVR.Float`;var sn=e=>{var{Int:t={}}=k();return V(t,e,`Int`),null};sn.displayName=`JVR.Int`;var cn=e=>{var{Map:t={}}=k();return V(t,e,`Map`),null};cn.displayName=`JVR.Map`;var ln=e=>{var{Nan:t={}}=k();return V(t,e,`Nan`),null};ln.displayName=`JVR.Nan`;var un=e=>{var{Null:t={}}=k();return V(t,e,`Null`),null};un.displayName=`JVR.Null`;var dn=e=>{var{Set:t={}}=k();return V(t,e,`Set`),null};dn.displayName=`JVR.Set`;var fn=e=>{var{Str:t={}}=k();return V(t,e,`Str`),null};fn.displayName=`JVR.StringText`;var pn=e=>{var{True:t={}}=k();return V(t,e,`True`),null};pn.displayName=`JVR.True`;var mn=e=>{var{Undefined:t={}}=k();return V(t,e,`Undefined`),null};mn.displayName=`JVR.Undefined`;var hn=e=>{var{Url:t={}}=k();return V(t,e,`Url`),null};hn.displayName=`JVR.Url`;var gn=e=>{var{Copied:t={}}=M();return H(t,e,`Copied`),null};gn.displayName=`JVR.Copied`;var _n=[`className`,`style`,`value`,`children`,`collapsed`,`shouldExpandNodeInitially`,`indentWidth`,`displayObjectSize`,`shortenTextAfterLength`,`stringEllipsis`,`highlightUpdates`,`enableClipboard`,`displayDataTypes`,`objectSortKeys`,`onExpand`,`onCopied`,`beforeCopy`],G=(0,_.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:_=!1,onExpand:y,onCopied:b,beforeCopy:x}=e,S=g(e,_n),C=h({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),w=[`w-json-view-container`,`w-rjv`,n].filter(Boolean).join(` `);return(0,v.jsxs)(je,{initialState:{value:i,objectSortKeys:_,indentWidth:c,shouldExpandNodeInitially:o===!1?s:void 0,displayObjectSize:l,collapsed:o,enableClipboard:p,shortenTextAfterLength:u,stringEllipsis:d,highlightUpdates:f,onCopied:b,onExpand:y,beforeCopy:x},initialTypes:{displayDataTypes:m},children:[(0,v.jsx)(qt,h({value:i},S,{ref:t,className:w,style:C})),a]})});G.Bigint=nn,G.Date=rn,G.False=an,G.Float=on,G.Int=sn,G.Map=cn,G.Nan=ln,G.Null=un,G.Set=dn,G.String=fn,G.True=pn,G.Undefined=mn,G.Url=hn,G.ValueQuote=tn,G.Arrow=Qt,G.Colon=$t,G.Quote=en,G.Ellipsis=Ut,G.BraceLeft=Jt,G.BraceRight=Yt,G.BracketsLeft=Xt,G.BracketsRight=Zt,G.Copied=gn,G.CountInfo=Bt,G.CountInfoExtra=It,G.KeyName=xt,G.Row=Tt,G.displayName=`JVR.JsonView`;var vn={"--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`},yn=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m12 19l-7-7l7-7m7 7H5`})}),bn=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M20 6L9 17l-5-5`})}),K=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m6 9l6 6l6-6`})}),xn=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,v.jsx)(`rect`,{width:14,height:14,x:8,y:8,rx:2,ry:2}),(0,v.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 Sn(){let{id:e}=u.useSearch();return(0,v.jsx)(lr,{id:e})}function q(e){return e.toLocaleString()}var Cn=new Set;function wn(e){try{return{ok:!0,value:JSON.parse(e)}}catch{return{ok:!1}}}function Tn(e){if(!e)return{};try{return JSON.parse(e)}catch{return e}}function J({text:e,dark:t}){let[n,r]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1500);return()=>clearTimeout(e)},[n]),(0,v.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,v.jsx)(bn,{className:`size-3.5 text-sage-500`}):(0,v.jsx)(xn,{className:`size-3.5`})})}var En=/<img\s+[^>]*src=["'](data:image\/[^"']+;base64,[^"']+)["'][^>]*(?:alt=["']([^"']*)["'][^>]*)?\/?>/gi;function Dn(e){let t=[],n=0;for(let r of e.matchAll(En)){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 On({text:e,markdown:t}){let[n,r]=(0,_.useState)(null),i=Dn(e);return i.some(e=>e.type===`image`)?(0,v.jsxs)(`div`,{className:`space-y-3`,children:[i.map((e,n)=>e.type===`text`?t?(0,v.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,v.jsx)(l,{remarkPlugins:[d],children:e.text})},`text-${n}`):(0,v.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e.text},`text-${n}`):(0,v.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,v.jsx)(`img`,{src:e.src,alt:e.alt,className:`max-h-[520px] max-w-full object-contain`,loading:`lazy`})},`image-${n}`)),n&&(0,v.jsxs)(`div`,{className:`fixed inset-0 z-50 bg-black/70 p-4 flex items-center justify-center`,onClick:()=>r(null),children:[(0,v.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,v.jsx)(c,{className:`size-5`})}),(0,v.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,v.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,v.jsx)(l,{remarkPlugins:[d],children:e})}):(0,v.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e})}function Y({text:e,markdown:t}){let n=wn(e),[r,i]=(0,_.useState)(`pretty`),a=n.ok&&n.value!==null&&(Array.isArray(n.value)||typeof n.value==`object`);return!n.ok||!a?t?(0,v.jsx)(On,{text:e,markdown:!0}):(0,v.jsx)(On,{text:n.ok?JSON.stringify(n.value,null,2):e}):(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`div`,{className:`flex gap-1 mb-2`,children:[(0,v.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,v.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,v.jsx)(G,{value:n.value,style:vn,displayDataTypes:!1,enableClipboard:!0,collapsed:!1}):(0,v.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 X({title:e,defaultOpen:t=!0,headerMetadata:n,onOpenChange:r,children:i}){let[a,o]=(0,_.useState)(t);return(0,v.jsxs)(`details`,{open:a,className:`group panel overflow-hidden`,onToggle:e=>{let t=e.currentTarget.open;o(t),r?.(t)},children:[(0,v.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,v.jsx)(K,{className:`size-3.5 shrink-0 text-sand-400 transition-transform group-open:rotate-0 -rotate-90`}),(0,v.jsx)(`span`,{className:`shrink-0 text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:e}),n&&(0,v.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,v.jsx)(`div`,{className:`p-4`,children:i})]})}function Z({label:e,value:t}){return(0,v.jsxs)(`div`,{className:`min-w-0`,children:[(0,v.jsx)(`dt`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,v.jsx)(`dd`,{className:`text-[15px] font-semibold text-sand-800 tabular-nums mt-0.5 truncate`,children:t})]})}var kn={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 An({message:e}){return(0,v.jsxs)(`div`,{className:`panel overflow-hidden border border-red-200 bg-red-50/60`,children:[(0,v.jsx)(`div`,{className:`px-4 py-2.5 border-b border-red-100 flex items-center gap-1.5`,children:(0,v.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-red-600 font-medium`,children:`Error`})}),(0,v.jsx)(`div`,{className:`p-4`,children:(0,v.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 jn({data:e}){let t=e.status===`running`,n=m({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,v.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,v.jsx)(`span`,{className:`text-[15px] font-semibold text-sand-900 break-all`,children:n.label===`—`?`Unknown model`:n.label}),r&&(0,v.jsx)(`span`,{className:`text-[10px] text-sand-400`,children:`요청`}),!t&&(e.fallback_count??0)>0&&(0,v.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,v.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full font-medium uppercase ${kn[e.status]??`bg-sand-100 text-sand-500`}`,children:e.status}),e.response_json_ok===!1&&(0,v.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,v.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,v.jsxs)(`span`,{className:`text-[12px] text-sand-400`,children:[`· project=`,e.project_name]}),(0,v.jsx)(`span`,{className:`ml-auto text-[11px] text-sand-400`,children:e.token_name})]})}function Mn({data:e,toolCallCount:t}){let n=In(e);return(0,v.jsxs)(`div`,{className:`panel overflow-hidden px-5 py-3 space-y-3`,children:[(0,v.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-x-6 gap-y-3`,children:[(0,v.jsx)(Z,{label:`Duration`,value:`${(e.duration_ms/1e3).toFixed(1)}s`}),(0,v.jsx)(Z,{label:`TTFT`,value:Pn(e.ttft_ms)}),(0,v.jsx)(Z,{label:`Tokens/sec`,value:Ln(e.output_tokens,e.duration_ms,e.ttft_ms,n)}),(0,v.jsx)(Z,{label:`Driver Cost`,value:e.cost_usd===null?`—`:f(e.cost_usd)}),(0,v.jsx)(Z,{label:`Cost Source`,value:e.cost_source??`legacy`}),(0,v.jsx)(Z,{label:`Image Cost`,value:e.image_cost_usd===null?`—`:f(e.image_cost_usd)}),(0,v.jsx)(Z,{label:`Tool Calls`,value:`${t}회`})]}),(0,v.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,v.jsx)(Z,{label:`Input`,value:q(e.input_tokens)}),(0,v.jsx)(Z,{label:`Output`,value:q(e.output_tokens)}),(0,v.jsx)(Z,{label:`Cache Read`,value:q(e.cache_read_tokens)}),(0,v.jsx)(Z,{label:`Cache Write`,value:q(e.cache_creation_tokens)}),(0,v.jsx)(Z,{label:`Cache Write (5m)`,value:e.cache_creation_5m_tokens===null?`—`:q(e.cache_creation_5m_tokens)}),(0,v.jsx)(Z,{label:`Cache Write (1h)`,value:e.cache_creation_1h_tokens===null?`—`:q(e.cache_creation_1h_tokens)}),(0,v.jsx)(Z,{label:`Cache Hit`,value:p(e)})]})]})}function Nn(e){return e==null?`—`:e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}function Pn(e){return e==null||e<=0?`—`:Nn(e)}function Fn(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`}let n=e.token_name?.trim().toLowerCase();return n?.startsWith(`anthropic/`)?`anthropic`:n?.startsWith(`openai/`)?`openai`:null}function In(e){let t=Fn(e);return t!==null&&Cn.has(t)}function Ln(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 Q({label:e,value:t}){return(0,v.jsxs)(`div`,{className:`min-w-0`,children:[(0,v.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,v.jsx)(`div`,{className:`mt-0.5 text-[13px] font-semibold text-sand-800 tabular-nums truncate`,children:t})]})}function Rn(e){if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e.inputImages;return Array.isArray(t)?t:void 0}function zn(e){return(Rn(e)??[]).filter(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.url==`string`&&t.url.length>0||typeof t.data==`string`&&t.data.length>0})}function Bn(e){if(!e||typeof e!=`object`||Array.isArray(e))return e;let t=e,n=Rn(t);return n?{...t,inputImages:n.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return e;let t=e,n=typeof t.url==`string`&&t.url.toLowerCase().startsWith(`data:`)?`[data-url ${t.url.length} chars]`:t.url;return{mediaType:t.mediaType,byteSize:t.byteSize,...n?{url:n}:{},...t.data?{data:`[base64 ${t.data.length} chars]`}:{}}})}:e}function Vn({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,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Input Images`}),(0,v.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,v.jsxs)(`div`,{className:`rounded-md border border-sand-200 bg-white overflow-hidden`,children:[(0,v.jsx)(`img`,{src:n,alt:`reference ${t+1}`,className:`max-h-64 w-full object-contain bg-white`,loading:`lazy`}),(0,v.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 Hn({stepId:e}){let{data:t}=a.useRequestLogStep(`I`,e??0,{enabled:e!==null});return(0,v.jsx)(Vn,{images:zn(t?Tn(t.tool_args):null)})}function Un({entry:e}){let t=!!e.error,[n,r]=(0,_.useState)(!1),{data:i}=a.useRequestLogStep(`A`,e.id,{enabled:n}),o=Bn(i?Tn(i.tool_args):null),s=i?Tn(i.tool_result):null,c=i?.error??e.error;return(0,v.jsxs)(`details`,{className:`group/tool`,onToggle:e=>r(e.currentTarget.open),children:[(0,v.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,v.jsx)(K,{className:`size-3 text-sand-400 transition-transform group-open/tool:rotate-0 -rotate-90 shrink-0`}),(0,v.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,v.jsx)(`span`,{className:`text-[13px] font-medium text-sand-800 font-mono truncate`,children:e.toolName}),t&&(0,v.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,v.jsx)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:Nn(e.durationMs)})]}),n&&(0,v.jsxs)(`div`,{className:`mt-1 mx-1 mb-3 space-y-2`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Request`}),(0,v.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,v.jsx)(Y,{text:i?JSON.stringify(o):`Loading...`})})]}),c&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-red-500 font-medium px-2`,children:`Error`}),(0,v.jsx)(`div`,{className:`mt-1 rounded-md bg-red-50 border border-red-100 p-3 overflow-auto`,children:(0,v.jsx)(Y,{text:c})})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Response`}),(0,v.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,v.jsx)(Y,{text:i?typeof s==`string`?s:JSON.stringify(s):`Loading...`,markdown:!0})})]})]})]})}function Wn({stepId:e}){let[t,n]=(0,_.useState)(!1),{data:r}=a.useRequestLogStep(`A`,e,{enabled:t}),i=r?.reasoning_text??null;return(0,v.jsxs)(`details`,{className:`group/reason mt-3`,onToggle:e=>n(e.currentTarget.open),children:[(0,v.jsxs)(`summary`,{className:`flex items-center gap-2 cursor-pointer select-none list-none`,children:[(0,v.jsx)(K,{className:`size-3 text-sand-400 transition-transform group-open/reason:rotate-0 -rotate-90 shrink-0`}),(0,v.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Reasoning`})]}),t&&(0,v.jsx)(`div`,{className:`mt-2 rounded-md bg-white/70 border border-sand-100 p-3 overflow-auto`,children:i?(0,v.jsx)(Y,{text:i,markdown:!0}):r?(0,v.jsx)(`p`,{className:`text-sm text-sand-400`,children:`No reasoning text captured.`}):(0,v.jsx)(`p`,{className:`text-sm text-sand-400`,children:`Loading...`})})]})}function Gn({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,v.jsxs)(`details`,{open:!0,className:`group/step border-l border-sand-200 pl-3`,children:[(0,v.jsxs)(`summary`,{className:`flex items-center gap-2 py-2 cursor-pointer select-none list-none`,children:[(0,v.jsx)(K,{className:`size-3.5 text-sand-400 transition-transform group-open/step:rotate-0 -rotate-90 shrink-0`}),(0,v.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,v.jsx)(`span`,{className:`text-[13px] font-semibold text-sand-900`,children:`LLM call`}),n?.finishReason&&(0,v.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,v.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,v.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,v.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,v.jsxs)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:[e.toolCalls.length,` tools`]})]}),(0,v.jsxs)(`div`,{className:`ml-4 mb-4 space-y-3`,children:[n&&(0,v.jsxs)(`div`,{className:`rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,v.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,v.jsx)(Q,{label:`Duration`,value:Nn(n.durationMs)}),(0,v.jsx)(Q,{label:`TTFT`,value:Pn(n.ttftMs)}),(0,v.jsx)(Q,{label:`Tokens/sec`,value:Ln(n.outputTokens,n.durationMs,n.ttftMs,t)}),(0,v.jsx)(Q,{label:`Input`,value:q(n.inputTokens??0)}),(0,v.jsx)(Q,{label:`Output`,value:q(n.outputTokens??0)}),(0,v.jsx)(Q,{label:`Cache Read`,value:q(n.cacheReadTokens??0)}),(0,v.jsx)(Q,{label:`Cache Write`,value:q(n.cacheCreationTokens??0)}),(0,v.jsx)(Q,{label:`Cache 5m / 1h`,value:`${n.cacheCreation5mTokens===null?`—`:q(n.cacheCreation5mTokens)} / ${n.cacheCreation1hTokens===null?`—`:q(n.cacheCreation1hTokens)}`}),(0,v.jsx)(Q,{label:`Cost`,value:n.costUsd===null?`—`:f(n.costUsd)}),(0,v.jsx)(Q,{label:`Cost Source`,value:n.costSource??`legacy`}),(0,v.jsx)(Q,{label:`Reasoning`,value:n.reasoningTokens!==null&&n.reasoningTokens!==void 0?q(n.reasoningTokens):`—`})]}),r&&(0,v.jsx)(Wn,{stepId:n.id})]}),e.toolCalls.length>0&&(0,v.jsx)(`div`,{className:`space-y-0.5`,children:e.toolCalls.map(e=>(0,v.jsx)(Un,{entry:e},`${e.stepIndex}-${e.callIndex}-${e.toolCallId}`))})]})]})}function Kn({steps:e,tokensPerSecEnabled:t}){let n=e.reduce((e,t)=>e+t.toolCalls.length,0);return(0,v.jsx)(X,{title:`Steps (${e.length} steps · ${n} tool calls)`,defaultOpen:!0,children:(0,v.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,v.jsx)(Gn,{entry:e,tokensPerSecEnabled:t},e.stepIndex))})})}function qn(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,costSource:t.cost_source,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 Jn(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 Yn(e){return e.type===`function_call`?`fn: ${e.name??`unknown`}`:e.type===`function_call_output`?`fn result`:e.role??e.type}function Xn(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>typeof e==`object`&&e&&`text`in e?e.text:JSON.stringify(e)).join(`
2
+ `):JSON.stringify(e)}function $({className:e,children:t}){return(0,v.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 Zn({history:e}){return(0,v.jsx)(X,{title:`History`,defaultOpen:!1,children:(0,v.jsx)(`div`,{className:`space-y-1.5`,children:e.map((e,t)=>(0,v.jsxs)(`div`,{className:`rounded-md px-3 py-2 ${Jn(e)}`,children:[(0,v.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium mb-1`,children:Yn(e)}),e.content!==null&&e.content!==void 0&&(0,v.jsx)($,{children:Xn(e.content)}),e.arguments&&(0,v.jsx)($,{children:e.arguments}),e.output&&(0,v.jsx)($,{children:e.output})]},`hist-${t}`))})})}var Qn=60,$n=30,er=18;function tr(e,t=Qn){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 nr({tools:e}){let t=tr(e),n=tr(e,$n),r=tr(e,er);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`shrink-0`,children:`·`}),t.names.length>0&&(0,v.jsx)(`span`,{className:`hidden shrink-0 xl:inline`,children:t.names.join(`, `)}),t.omittedCount>0&&(0,v.jsxs)(`span`,{className:`hidden shrink-0 xl:inline`,children:[`+`,t.omittedCount]}),n.names.length>0&&(0,v.jsx)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:n.names.join(`, `)}),n.omittedCount>0&&(0,v.jsxs)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:[`+`,n.omittedCount]}),r.names.length>0&&(0,v.jsx)(`span`,{className:`shrink-0 sm:hidden`,children:r.names.join(`, `)}),r.omittedCount>0&&(0,v.jsxs)(`span`,{className:`shrink-0 sm:hidden`,children:[`+`,r.omittedCount]})]})}function rr({code:e,fullCode:t}){let n=(0,_.useMemo)(()=>sr(e),[e]);return(0,v.jsx)(`pre`,{"data-zod-parameter-shape":!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,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{"aria-hidden":`true`,children:n}),(0,v.jsx)(`span`,{className:`sr-only`,children:t})]}):n})}function ir({tool:e}){return(0,v.jsxs)(`div`,{className:`min-w-0 rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,v.jsx)(`div`,{className:`break-all font-mono text-[13px] font-semibold text-sand-900`,children:e.name}),e.description&&(0,v.jsx)(`p`,{className:`mt-2 text-[12px] leading-relaxed text-sand-700`,children:e.description}),(0,v.jsxs)(`div`,{className:`mt-3`,children:[(0,v.jsxs)(`div`,{className:`mb-1.5 text-[10px] font-medium uppercase tracking-wider text-sand-400`,children:[`Parameters (`,e.parameterCount,`)`]}),(0,v.jsx)(rr,{code:e.inputZod,fullCode:e.fullInputZod})]})]})}function ar({id:e,tools:n}){let[r,i]=(0,_.useState)(!1),a=t({...o.toolsViewQueryOptions(e),enabled:r,staleTime:e=>e.state.data&&e.state.data.length>0?1/0:0,refetchOnWindowFocus:!1,refetchOnReconnect:!1}),s=a.data!==void 0&&a.data.length>0;return(0,v.jsx)(X,{title:`Tools (${n.length})`,defaultOpen:!1,headerMetadata:(0,v.jsx)(nr,{tools:n}),onOpenChange:i,children:a.isFetching&&!s?(0,v.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Loading tool contracts…`}):a.isError||!s?(0,v.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Tool contracts could not be loaded.`}):(0,v.jsx)(`div`,{className:`space-y-2`,children:a.data.map((e,t)=>(0,v.jsx)(ir,{tool:e},`${e.name}-${t}`))})})}var or=/("(?:[^"\\]|\\.)*")|(\b\d+(?:\.\d+)?\b)|(\btype\b|\bz\b(?=\.))|(\b(?:string|number|boolean|null|unknown|Record)\b)|([{}[\]()<>|?:,.=])|([A-Za-z_$][\w$]*)|(\s+|.)/g;function sr(e){let t=[],n=!1;for(let r of e.matchAll(or)){let[e,i,a,o,s,c,l]=r,u=`${r.index}-${e}`;i||a?t.push((0,v.jsx)(`span`,{className:`text-sage-400`,children:e},u)):o?(n=e===`type`,t.push((0,v.jsx)(`span`,{className:`text-sienna-400`,children:e},u))):s?t.push((0,v.jsx)(`span`,{className:`text-blue-300`,children:e},u)):c?t.push((0,v.jsx)(`span`,{className:`text-sand-500`,children:e},u)):l&&n?(n=!1,t.push((0,v.jsx)(`span`,{className:`font-semibold text-sand-50`,children:e},u))):t.push(e)}return t}function cr({id:e}){let{data:t}=o.useResponseTypeTs(e),[n,r]=(0,_.useState)(`zod`),{zod:i=null,typescript:a=null}=t??{},s=n===`zod`?i??a:a??i,c=(0,_.useMemo)(()=>s===null?null:sr(s),[s]);return!t||s===null||c===null?null:(0,v.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,v.jsxs)(`div`,{className:`panel-header flex items-center px-4 py-2`,children:[(0,v.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:`Response Type`}),(0,v.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,v.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,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(J,{text:s,dark:!0}),(0,v.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:c})]})]})}function lr({id:e}){let{data:t,isLoading:r,error:i,isError:c}=o.useRequestLog(`A`,e),{data:l,isLoading:u,isError:d}=a.useRequestLogSteps(`T`,{request_log_id:e,num:0,page:1,orderBy:`id-asc`}),f=qn(l?.rows??[]);if(r||u)return(0,v.jsxs)(`div`,{className:`max-w-6xl mx-auto space-y-4`,children:[(0,v.jsx)(`div`,{className:`h-4 w-32 bg-sand-200 rounded animate-pulse`}),(0,v.jsx)(`div`,{className:`h-40 panel animate-pulse`}),(0,v.jsx)(`div`,{className:`h-32 panel animate-pulse`})]});if(c||d||!t)return(0,v.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,v.jsxs)(n,{to:`/logs`,className:`flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 mb-4`,children:[(0,v.jsx)(yn,{className:`size-3.5`}),`Back to Logs`]}),(0,v.jsx)(`p`,{role:`alert`,className:`text-danger-500 text-sm`,children:c?s(i)&&i.code===404?`Request not found.`:`Failed to load request.`:d?`Failed to load request steps.`:`Request not found.`})]});let p=f.flatMap(e=>e.toolCalls),m=p.find(e=>e.toolName===`image_generation`)?.id??null,h=f.length>0,g=In(t),_=t.history??null,y=_!==null&&_.length>0,b=t.tools??null,x=b!==null&&b.length>0,S=t.is_structured?(0,v.jsx)(cr,{id:e}):null,C=(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsx)(X,{title:`System`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(J,{text:t.system_prompt??`null`}),(0,v.jsx)(Y,{text:t.system_prompt??`null`,markdown:!0})]})}),(0,v.jsx)(X,{title:`User`,children:(0,v.jsxs)(`div`,{className:`space-y-3`,children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(J,{text:t.user_prompt??`null`}),(0,v.jsx)(Y,{text:t.user_prompt??`null`,markdown:!0})]}),(0,v.jsx)(Hn,{stepId:m})]})})]});return(0,v.jsxs)(`div`,{className:`mx-auto space-y-4 ${h?`max-w-[120rem]`:`max-w-6xl`}`,children:[(0,v.jsxs)(n,{to:`/logs`,className:`inline-flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 transition-colors`,children:[(0,v.jsx)(yn,{className:`size-3.5`}),`Back to Logs`]}),(0,v.jsx)(jn,{data:t}),t.error_message&&(0,v.jsx)(An,{message:t.error_message}),y&&(0,v.jsx)(Zn,{history:_}),h?(0,v.jsxs)(`div`,{className:`flex flex-col lg:flex-row gap-4 items-stretch lg:items-start`,children:[(0,v.jsxs)(`div`,{className:`order-1 lg:order-2 flex-1 min-w-0 space-y-4`,children:[S,x&&(0,v.jsx)(ar,{id:e,tools:b}),(0,v.jsx)(Kn,{steps:f,tokensPerSecEnabled:g})]}),(0,v.jsx)(`div`,{className:`order-2 lg:order-1 flex-1 min-w-0`,children:C})]}):(0,v.jsxs)(v.Fragment,{children:[S,x&&(0,v.jsx)(ar,{id:e,tools:b}),C]}),(0,v.jsx)(X,{title:`Response`,children:(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(J,{text:t.response}),(0,v.jsx)(Y,{text:t.response,markdown:!0})]})}),(0,v.jsx)(Mn,{data:t,toolCallCount:p.length}),(0,v.jsx)(`div`,{className:`pb-8`})]})}export{Sn as component};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{n as i,o as a}from"./services.generated-Bg2XkD-D.js";import{i as o,u as s}from"./index-BfwrIBHs.js";import{t as c}from"./use-update-token-mutation-Dkv_HG-C.js";import{n as l,t as u}from"./use-oauth-login-flow-B9EqnwY9.js";import{t as d}from"./plus-CknMNCP5.js";var f=e(n(),1),p=r();function m(){let[e,t]=(0,f.useState)(!1),[n,r]=(0,f.useState)(``),i=u(),a=()=>{t(!1),r(``),i.reset()},c=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)(l,{provider:i.codeEntryProvider,isPending:i.completeMutation.isPending,isError:i.completeMutation.isError,onSubmit:e=>void c(e),onRestart:i.reset}):(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:!n.trim()||i.loadingProvider!==null,onClick:()=>void i.start(`openai`,n),children:i.loadingProvider===`openai`?(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-white border-t-transparent rounded-full animate-spin`}),`Waiting for login...`]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(s,{className:`size-4`}),`Login with OpenAI`]})}),(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`})]}),(0,p.jsx)(`button`,{type:`button`,className:`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`,disabled:!n.trim()||i.loadingProvider!==null,onClick:()=>void i.start(`anthropic`,n),children:i.loadingProvider===`anthropic`?(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-sand-400 border-t-transparent rounded-full animate-spin`}),`Waiting for login...`]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(s,{className:`size-4`}),`Login with Claude`]})})]})]}),(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 h=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`})}),g=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 _(e){if(!e||typeof e!=`object`)return`—`;if(`authSource`in e&&e.authSource===`system-keychain`)return`System Keychain`;let t=`accessToken`in e?e.accessToken:void 0;return typeof t!=`string`||!t?`—`:t.length<=12?t:`${t.slice(0,8)}...${t.slice(-4)}`}function v(e){let t=e.credentials;return`expiresAt`in t&&typeof t.expiresAt==`number`?t.expiresAt:`accessTokenExpiresAt`in t&&typeof t.accessTokenExpiresAt==`number`?t.accessTokenExpiresAt:null}function y(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 b({data:e,isLoading:n}){let[r,a]=(0,f.useState)(null),[s,l]=(0,f.useState)(null),[u,d]=(0,f.useState)(``),m=t(),b=i.useRemoveTokenMutation(),x=c(),S=i.useToggleTokenMutation(),C=()=>Promise.all([m.invalidateQueries({queryKey:[`Token`]}),m.invalidateQueries({queryKey:[`Qgrid`]})]),w=async e=>{await S.mutateAsync({id:e.id}),await C()},T=async()=>{r&&(await b.mutateAsync({id:r.id}),await C(),a(null))},E=e=>{l(e),d(e.name??``)},D=async()=>{s&&(await x.mutateAsync({id:s.id,name:u.trim()}),await C(),l(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=y(v(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:_(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:()=>w(e),disabled:S.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)(h,{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)(g,{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:()=>l(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:u,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:()=>l(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:x.isPending,onClick:D,children:x.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:_(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:b.isPending,onClick:T,children:b.isPending?`Removing...`:`Remove`})]})]})]})]})}function x(){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)(m,{})}),(0,p.jsx)(b,{data:e?.rows,isLoading:t})]})}export{x as component};
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{n as i,o as a}from"./services.generated-Cbvg2sGQ.js";import{f as o,o as s}from"./index-Cq4_ExLO.js";import{t as c}from"./use-update-token-mutation-D-Y8OySK.js";import{n as l,t as u}from"./use-oauth-login-flow-jJo7GV3r.js";import{t as d}from"./plus-CknMNCP5.js";var f=e(n(),1),p=r();function m(){let[e,t]=(0,f.useState)(!1),[n,r]=(0,f.useState)(``),i=u(),a=()=>{t(!1),r(``),i.reset()},c=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)(s,{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)(l,{provider:i.codeEntryProvider,isPending:i.completeMutation.isPending,isError:i.completeMutation.isError,onSubmit:e=>void c(e),onRestart:i.reset}):(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:!n.trim()||i.loadingProvider!==null,onClick:()=>void i.start(`openai`,n),children:i.loadingProvider===`openai`?(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-white border-t-transparent rounded-full animate-spin`}),`Waiting for login...`]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(o,{className:`size-4`}),`Login with OpenAI`]})}),(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`})]}),(0,p.jsx)(`button`,{type:`button`,className:`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`,disabled:!n.trim()||i.loadingProvider!==null,onClick:()=>void i.start(`anthropic`,n),children:i.loadingProvider===`anthropic`?(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-sand-400 border-t-transparent rounded-full animate-spin`}),`Waiting for login...`]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(o,{className:`size-4`}),`Login with Claude`]})})]})]}),(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 h=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`})}),g=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 _(e){if(!e||typeof e!=`object`)return`—`;if(`authSource`in e&&e.authSource===`system-keychain`)return`System Keychain`;let t=`accessToken`in e?e.accessToken:void 0;return typeof t!=`string`||!t?`—`:t.length<=12?t:`${t.slice(0,8)}...${t.slice(-4)}`}function v(e){let t=e.credentials;return`expiresAt`in t&&typeof t.expiresAt==`number`?t.expiresAt:`accessTokenExpiresAt`in t&&typeof t.accessTokenExpiresAt==`number`?t.accessTokenExpiresAt:null}function y(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 b({data:e,isLoading:n}){let[r,a]=(0,f.useState)(null),[o,l]=(0,f.useState)(null),[u,d]=(0,f.useState)(``),m=t(),b=i.useRemoveTokenMutation(),x=c(),S=i.useToggleTokenMutation(),C=()=>Promise.all([m.invalidateQueries({queryKey:[`Token`]}),m.invalidateQueries({queryKey:[`Qgrid`]})]),w=async e=>{await S.mutateAsync({id:e.id}),await C()},T=async()=>{r&&(await b.mutateAsync({id:r.id}),await C(),a(null))},E=e=>{l(e),d(e.name??``)},D=async()=>{o&&(await x.mutateAsync({id:o.id,name:u.trim()}),await C(),l(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=y(v(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:_(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:()=>w(e),disabled:S.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)(h,{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)(g,{className:`size-4`})})]})})]},e.id)})})]})})}),o&&(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:()=>l(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)(s,{value:u,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:()=>l(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:x.isPending,onClick:D,children:x.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:_(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:b.isPending,onClick:T,children:b.isPending?`Removing...`:`Remove`})]})]})]})]})}function x(){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)(m,{})}),(0,p.jsx)(b,{data:e?.rows,isLoading:t})]})}export{x as component};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{n as i,o as a}from"./services.generated-Cbvg2sGQ.js";import{o}from"./index-Cq4_ExLO.js";var s=e(n(),1),c=r();function l({provider:e,isPending:t,isError:n,onSubmit:r,onRestart:i}){let[a,l]=(0,s.useState)(``),u=e===`openai`;return(0,c.jsxs)(`div`,{className:`space-y-2`,children:[(0,c.jsx)(`p`,{className:`text-[12px] text-sand-600 leading-relaxed`,children:u?`새 탭에서 OpenAI 로그인을 완료한 뒤 연결 실패 화면이 나타나면, 주소창의 전체 URL을 아래에 붙여넣으세요.`:`새 탭에서 Claude 로그인을 완료하면 코드가 표시됩니다. 코드 전체를 아래에 붙여넣으세요.`}),(0,c.jsx)(o,{value:a,onChange:e=>l(e.target.value),placeholder:u?`http://localhost:1455/auth/callback?code=...&state=...`:`code#state`,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,c.jsx)(`p`,{className:`text-[11px] text-red-500`,children:`인증 결과 확인에 실패했습니다 — 전체 값을 다시 붙여넣거나 로그인을 다시 시작하세요.`}),(0,c.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,c.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,c.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-white border-t-transparent rounded-full animate-spin`}),`Verifying...`]}):`Complete login`}),(0,c.jsx)(`button`,{type:`button`,className:`w-full py-1.5 text-[12px] text-sand-500 hover:text-sand-700 transition-colors duration-150`,onClick:()=>{l(``),i()},children:`처음부터 다시 시작`})]})}var u=3e3,d=3e5;async function f(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 p(){let[e,n]=(0,s.useState)(null),[r,a]=(0,s.useState)(null),o=t(),c=i.useOauthStartMutation(),l=i.useOauthStartOpenAIMutation(),p=i.useOauthCompleteMutation(),m=(0,s.useRef)({}),h=(0,s.useRef)(0),g=()=>{h.current+=1,m.current.interval!==void 0&&clearInterval(m.current.interval),m.current.timeout!==void 0&&clearTimeout(m.current.timeout),m.current={}};(0,s.useEffect)(()=>g,[]);let _=()=>Promise.all([o.invalidateQueries({queryKey:[`Token`]}),o.invalidateQueries({queryKey:[`Qgrid`]})]);return{loadingProvider:e,codeEntryProvider:r,start:async(e,t)=>{let r=t.trim();if(!r)return;g();let i=h.current,o=window.open(`about:blank`,`_blank`);n(e);try{if(e===`openai`){let t=await f(e,r);if(i!==h.current){o?.close();return}let{authUrl:s,mode:c}=await l.mutateAsync({name:r});if(i!==h.current){o?.close();return}if(o?o.location.href=s:window.open(s,`_blank`),c===`code`){a(e),n(null);return}m.current.interval=window.setInterval(()=>{f(e,r).then(e=>{i===h.current&&[...e].some(e=>!t.has(e))&&(g(),n(null),_())}).catch(()=>{})},u),m.current.timeout=window.setTimeout(()=>{i===h.current&&(g(),n(null))},d);return}let{authUrl:t,mode:s}=await c.mutateAsync({name:r});if(i!==h.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!==h.current)return;console.error(`OAuth start failed:`,e),n(null)}},submitCode:async e=>{let t=e.trim();if(!t)return!1;try{await p.mutateAsync({pastedCode:t})}catch(e){return console.error(`OAuth complete failed:`,e),!1}return await _(),!0},reset:()=>{g(),n(null),a(null),p.reset()},completeMutation:p}}export{l as n,p as t};
@@ -1 +1 @@
1
- import{m as e}from"./vendor-tanstack-DJRQAbrY.js";import{n as t}from"./services.generated-Bg2XkD-D.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};
1
+ import{m as e}from"./vendor-tanstack-DJRQAbrY.js";import{n as t}from"./services.generated-Cbvg2sGQ.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};
@@ -5,12 +5,12 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/sonamu.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Qgrid</title>
8
- <script type="module" crossorigin src="/assets/index-BfwrIBHs.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-Cq4_ExLO.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dw2cE7zH.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-ca-nBW7U.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DH4kUfK2.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/vendor-tanstack-DJRQAbrY.js">
13
- <link rel="modulepreload" crossorigin href="/assets/services.generated-Bg2XkD-D.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/services.generated-Cbvg2sGQ.js">
14
14
  <link rel="stylesheet" crossorigin href="/assets/index-D_sagzsR.css">
15
15
  </head>
16
16
  <body>
@@ -1,5 +1,5 @@
1
- import { H as __toESM, S as require_react, x as require_jsx_runtime, z as __commonJSMin } from "./services.generated-BsKOUSXl.js";
2
- import { n as require_shim, t as require_react_dom } from "./react-dom-PfWvArTX.js";
1
+ import { A as require_jsx_runtime, J as __commonJSMin, Z as __toESM, j as require_react } from "./services.generated-BM4X3Ecj.js";
2
+ import { n as require_shim, t as require_react_dom } from "./react-dom-BjR1Iaz8.js";
3
3
  //#region ../../node_modules/.pnpm/@tanstack+router-core@1.143.6/node_modules/@tanstack/router-core/dist/esm/utils.js
4
4
  function last(arr) {
5
5
  return arr[arr.length - 1];
@@ -1,6 +1,6 @@
1
- import { S as require_react, h as string, m as object, n as QgridService, o as TokenService, p as number, r as RequestLogService, x as require_jsx_runtime } from "./services.generated-BsKOUSXl.js";
2
- import { a as Link, o as useNavigate } from "./lazyRouteComponent-DyizoQKi.js";
3
- import { n as Route } from "../entry-server.generated.js";
1
+ import { A as require_jsx_runtime, S as string, j as require_react, n as QgridService, o as TokenService, r as RequestLogService, x as object } from "./services.generated-BM4X3Ecj.js";
2
+ import { a as Link, o as useNavigate } from "./lazyRouteComponent-Bj1cPq6x.js";
3
+ import { i as RequestLogOrderBy, n as Route, r as RequestLogBaseListParams } from "../entry-server.generated.js";
4
4
  import { n as formatMicroUsd, r as formatUsd, t as cacheHitRate } from "./cost-CSH_t17I.js";
5
5
  import { t as requestModelDisplay } from "./request-model-DXclJfdP.js";
6
6
  require_react();
@@ -195,13 +195,13 @@ function RequestLogTable({ search, onSearchChange }) {
195
195
  const separator = sort.lastIndexOf("-");
196
196
  const sortColumn = sort.slice(0, separator);
197
197
  const sortDirection = sort.slice(separator + 1) === "asc" ? "asc" : "desc";
198
- const { data, isLoading } = RequestLogService.useRequestLogs("P", {
198
+ const { data, isLoading, isError } = RequestLogService.useRequestLogs("P", {
199
199
  num: PAGE_SIZE,
200
200
  page,
201
201
  orderBy: sort,
202
202
  ...listFilters
203
203
  });
204
- const { data: costData } = QgridService.useTotalCost({
204
+ const { data: costData, isError: isCostError } = QgridService.useTotalCost({
205
205
  num: 0,
206
206
  page: 1,
207
207
  ...listFilters
@@ -269,14 +269,22 @@ function RequestLogTable({ search, onSearchChange }) {
269
269
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex-1" }),
270
270
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
271
271
  className: "text-[11px] text-sand-400",
272
- children: [total, " results"]
272
+ children: [isError || !data ? "—" : total, " results"]
273
273
  }),
274
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
274
+ isCostError ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
275
+ role: "alert",
276
+ className: "text-[11px] text-danger-500",
277
+ children: "Failed to load total cost."
278
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
275
279
  className: "text-[11px] tabular-nums font-medium text-sienna-600",
276
- children: formatUsd(costData?.usd ?? 0)
280
+ children: costData ? formatUsd(costData.usd) : "—"
277
281
  })
278
282
  ]
279
- }), isLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
283
+ }), isError ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
284
+ role: "alert",
285
+ className: "text-danger-500 text-center py-12 text-sm",
286
+ children: "Failed to load request logs."
287
+ }) : isLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
280
288
  className: "space-y-2",
281
289
  children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-8 bg-sand-100 rounded animate-pulse" }, `skel-${i}`))
282
290
  }) : rows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
@@ -295,7 +303,7 @@ function RequestLogTable({ search, onSearchChange }) {
295
303
  className: `${col.align === "right" ? "text-right" : "text-left"} ${col.width ?? ""} ${col.width ? "whitespace-nowrap" : ""} ${padX} py-1.5 text-[10px] uppercase font-medium ${active ? "text-sienna-600" : "text-sand-400"}`,
296
304
  children: col.sortKey ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", {
297
305
  type: "button",
298
- onClick: () => updateFilter({ sort: `${col.sortKey}-${active && sortDirection === "desc" ? "asc" : "desc"}` }),
306
+ onClick: () => updateFilter({ sort: RequestLogOrderBy.parse(`${col.sortKey}-${active && sortDirection === "desc" ? "asc" : "desc"}`) }),
299
307
  className: `inline-flex items-center gap-0.5 text-[10px] uppercase font-medium hover:text-sienna-500 transition-colors duration-150 ${col.align === "right" ? "justify-end w-full" : ""}`,
300
308
  children: [col.label, /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
301
309
  className: active ? "" : "text-sand-300",
@@ -459,8 +467,8 @@ object({
459
467
  token: string().optional(),
460
468
  project: string().optional(),
461
469
  model: string().optional(),
462
- sort: string().optional(),
463
- page: number().optional().default(1)
470
+ sort: RequestLogOrderBy.optional(),
471
+ page: RequestLogBaseListParams.shape.page.default(1)
464
472
  });
465
473
  function LogsPage() {
466
474
  const search = Route.useSearch();
@@ -1,6 +1,6 @@
1
- import { H as __toESM, S as require_react, f as _enum, m as object, t as MonitService, v as useQuery, x as require_jsx_runtime } from "./services.generated-BsKOUSXl.js";
2
- import { t as require_react_dom } from "./react-dom-PfWvArTX.js";
3
- import { a as clsx, r as Route } from "../entry-server.generated.js";
1
+ import { A as require_jsx_runtime, D as useQuery, Z as __toESM, j as require_react, m as _enum, t as MonitService, x as object } from "./services.generated-BM4X3Ecj.js";
2
+ import { t as require_react_dom } from "./react-dom-BjR1Iaz8.js";
3
+ import { a as Route, s as clsx } from "../entry-server.generated.js";
4
4
  import { t as cacheHitRate } from "./cost-CSH_t17I.js";
5
5
  //#region ../../node_modules/.pnpm/@tanstack+virtual-core@3.17.4/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
6
6
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
@@ -1,4 +1,4 @@
1
- import { S as require_react, x as require_jsx_runtime } from "./services.generated-BsKOUSXl.js";
1
+ import { A as require_jsx_runtime, j as require_react } from "./services.generated-BM4X3Ecj.js";
2
2
  require_react();
3
3
  var import_jsx_runtime = require_jsx_runtime();
4
4
  var lucidePlus = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
@@ -1,4 +1,4 @@
1
- import { S as require_react, z as __commonJSMin } from "./services.generated-BsKOUSXl.js";
1
+ import { J as __commonJSMin, j as require_react } from "./services.generated-BM4X3Ecj.js";
2
2
  //#region ../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.4/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js
3
3
  /**
4
4
  * @license React
@@ -1,9 +1,9 @@
1
- import { H as __toESM, S as require_react, b as useQueryClient, n as QgridService, o as TokenService, x as require_jsx_runtime } from "./services.generated-BsKOUSXl.js";
2
- import { t as require_react_dom } from "./react-dom-PfWvArTX.js";
3
- import { i as Q } from "../entry-server.generated.js";
1
+ import { A as require_jsx_runtime, Z as __toESM, j as require_react, k as useQueryClient, n as QgridService, o as TokenService } from "./services.generated-BM4X3Ecj.js";
2
+ import { t as require_react_dom } from "./react-dom-BjR1Iaz8.js";
3
+ import { o as Q } from "../entry-server.generated.js";
4
4
  import { r as formatUsd } from "./cost-CSH_t17I.js";
5
- import { t as useUpdateTokenMutation } from "./use-update-token-mutation-RujWERvj.js";
6
- import { n as OAuthCodeEntry, t as useOAuthLoginFlow } from "./use-oauth-login-flow-GsGwqefs.js";
5
+ import { t as useUpdateTokenMutation } from "./use-update-token-mutation-DqGMopII.js";
6
+ import { n as OAuthCodeEntry, t as useOAuthLoginFlow } from "./use-oauth-login-flow-DYKnG4A2.js";
7
7
  //#region ../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/utilities.esm.js
8
8
  var import_react_dom = /* @__PURE__ */ __toESM(require_react_dom());
9
9
  var import_react = /* @__PURE__ */ __toESM(require_react());
@@ -19072,7 +19072,7 @@ var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/
19072
19072
  var base64url = /^[A-Za-z0-9_-]*$/;
19073
19073
  var e164 = /^\+[1-9]\d{6,14}$/;
19074
19074
  var dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
19075
- var date$1 = /* @__PURE__ */ new RegExp(`^${dateSource}$`);
19075
+ var date$2 = /* @__PURE__ */ new RegExp(`^${dateSource}$`);
19076
19076
  function timeSource(args) {
19077
19077
  const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
19078
19078
  return typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
@@ -19094,6 +19094,7 @@ var string$1 = (params) => {
19094
19094
  };
19095
19095
  var integer = /^-?\d+$/;
19096
19096
  var number$1 = /^-?\d+(?:\.\d+)?$/;
19097
+ var boolean$1 = /^(?:true|false)$/i;
19097
19098
  var lowercase = /^[^A-Z]*$/;
19098
19099
  var uppercase = /^[^a-z]*$/;
19099
19100
  //#endregion
@@ -19705,7 +19706,7 @@ var $ZodISODateTime = /* @__PURE__ */ $constructor("$ZodISODateTime", (inst, def
19705
19706
  $ZodStringFormat.init(inst, def);
19706
19707
  });
19707
19708
  var $ZodISODate = /* @__PURE__ */ $constructor("$ZodISODate", (inst, def) => {
19708
- def.pattern ?? (def.pattern = date$1);
19709
+ def.pattern ?? (def.pattern = date$2);
19709
19710
  $ZodStringFormat.init(inst, def);
19710
19711
  });
19711
19712
  var $ZodISOTime = /* @__PURE__ */ $constructor("$ZodISOTime", (inst, def) => {
@@ -19868,6 +19869,24 @@ var $ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumberFormat", (inst, d
19868
19869
  $ZodCheckNumberFormat.init(inst, def);
19869
19870
  $ZodNumber.init(inst, def);
19870
19871
  });
19872
+ var $ZodBoolean = /* @__PURE__ */ $constructor("$ZodBoolean", (inst, def) => {
19873
+ $ZodType.init(inst, def);
19874
+ inst._zod.pattern = boolean$1;
19875
+ inst._zod.parse = (payload, _ctx) => {
19876
+ if (def.coerce) try {
19877
+ payload.value = Boolean(payload.value);
19878
+ } catch (_) {}
19879
+ const input = payload.value;
19880
+ if (typeof input === "boolean") return payload;
19881
+ payload.issues.push({
19882
+ expected: "boolean",
19883
+ code: "invalid_type",
19884
+ input,
19885
+ inst
19886
+ });
19887
+ return payload;
19888
+ };
19889
+ });
19871
19890
  var $ZodUnknown = /* @__PURE__ */ $constructor("$ZodUnknown", (inst, def) => {
19872
19891
  $ZodType.init(inst, def);
19873
19892
  inst._zod.parse = (payload) => payload;
@@ -19884,6 +19903,25 @@ var $ZodNever = /* @__PURE__ */ $constructor("$ZodNever", (inst, def) => {
19884
19903
  return payload;
19885
19904
  };
19886
19905
  });
19906
+ var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
19907
+ $ZodType.init(inst, def);
19908
+ inst._zod.parse = (payload, _ctx) => {
19909
+ if (def.coerce) try {
19910
+ payload.value = new Date(payload.value);
19911
+ } catch (_err) {}
19912
+ const input = payload.value;
19913
+ const isDate = input instanceof Date;
19914
+ if (isDate && !Number.isNaN(input.getTime())) return payload;
19915
+ payload.issues.push({
19916
+ expected: "date",
19917
+ code: "invalid_type",
19918
+ input,
19919
+ ...isDate ? { received: "Invalid Date" } : {},
19920
+ inst
19921
+ });
19922
+ return payload;
19923
+ };
19924
+ });
19887
19925
  function handleArrayResult(result, final, index) {
19888
19926
  if (result.issues.length) final.issues.push(...prefixIssues(index, result.issues));
19889
19927
  final.value[index] = result.value;
@@ -20848,6 +20886,13 @@ function _int(Class, params) {
20848
20886
  });
20849
20887
  }
20850
20888
  /* @__NO_SIDE_EFFECTS__ */
20889
+ function _boolean(Class, params) {
20890
+ return new Class({
20891
+ type: "boolean",
20892
+ ...normalizeParams(params)
20893
+ });
20894
+ }
20895
+ /* @__NO_SIDE_EFFECTS__ */
20851
20896
  function _unknown(Class) {
20852
20897
  return new Class({ type: "unknown" });
20853
20898
  }
@@ -20859,6 +20904,13 @@ function _never(Class, params) {
20859
20904
  });
20860
20905
  }
20861
20906
  /* @__NO_SIDE_EFFECTS__ */
20907
+ function _date(Class, params) {
20908
+ return new Class({
20909
+ type: "date",
20910
+ ...normalizeParams(params)
20911
+ });
20912
+ }
20913
+ /* @__NO_SIDE_EFFECTS__ */
20862
20914
  function _lt(value, params) {
20863
20915
  return new $ZodCheckLessThan({
20864
20916
  check: "less_than",
@@ -21014,6 +21066,17 @@ function _array(Class, element, params) {
21014
21066
  });
21015
21067
  }
21016
21068
  /* @__NO_SIDE_EFFECTS__ */
21069
+ function _custom(Class, fn, _params) {
21070
+ const norm = normalizeParams(_params);
21071
+ norm.abort ?? (norm.abort = true);
21072
+ return new Class({
21073
+ type: "custom",
21074
+ check: "custom",
21075
+ fn,
21076
+ ...norm
21077
+ });
21078
+ }
21079
+ /* @__NO_SIDE_EFFECTS__ */
21017
21080
  function _refine(Class, fn, _params) {
21018
21081
  return new Class({
21019
21082
  type: "custom",
@@ -21390,10 +21453,16 @@ var numberProcessor = (schema, ctx, _json, _params) => {
21390
21453
  }
21391
21454
  if (typeof multipleOf === "number") json.multipleOf = multipleOf;
21392
21455
  };
21456
+ var booleanProcessor = (_schema, _ctx, json, _params) => {
21457
+ json.type = "boolean";
21458
+ };
21393
21459
  var neverProcessor = (_schema, _ctx, json, _params) => {
21394
21460
  json.not = {};
21395
21461
  };
21396
21462
  var unknownProcessor = (_schema, _ctx, _json, _params) => {};
21463
+ var dateProcessor = (_schema, ctx, _json, _params) => {
21464
+ if (ctx.unrepresentable === "throw") throw new Error("Date cannot be represented in JSON Schema");
21465
+ };
21397
21466
  var enumProcessor = (schema, _ctx, json, _params) => {
21398
21467
  const def = schema._zod.def;
21399
21468
  const values = getEnumValues(def.entries);
@@ -21558,7 +21627,7 @@ var ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => {
21558
21627
  $ZodISODate.init(inst, def);
21559
21628
  ZodStringFormat.init(inst, def);
21560
21629
  });
21561
- function date(params) {
21630
+ function date$1(params) {
21562
21631
  return /* @__PURE__ */ _isoDate(ZodISODate, params);
21563
21632
  }
21564
21633
  var ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => {
@@ -21742,7 +21811,7 @@ var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => {
21742
21811
  inst.cidrv6 = (params) => inst.check(/* @__PURE__ */ _cidrv6(ZodCIDRv6, params));
21743
21812
  inst.e164 = (params) => inst.check(/* @__PURE__ */ _e164(ZodE164, params));
21744
21813
  inst.datetime = (params) => inst.check(datetime(params));
21745
- inst.date = (params) => inst.check(date(params));
21814
+ inst.date = (params) => inst.check(date$1(params));
21746
21815
  inst.time = (params) => inst.check(time(params));
21747
21816
  inst.duration = (params) => inst.check(duration(params));
21748
21817
  });
@@ -21865,6 +21934,14 @@ var ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def
21865
21934
  function int(params) {
21866
21935
  return /* @__PURE__ */ _int(ZodNumberFormat, params);
21867
21936
  }
21937
+ var ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => {
21938
+ $ZodBoolean.init(inst, def);
21939
+ ZodType.init(inst, def);
21940
+ inst._zod.processJSONSchema = (ctx, json, params) => booleanProcessor(inst, ctx, json, params);
21941
+ });
21942
+ function boolean(params) {
21943
+ return /* @__PURE__ */ _boolean(ZodBoolean, params);
21944
+ }
21868
21945
  var ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => {
21869
21946
  $ZodUnknown.init(inst, def);
21870
21947
  ZodType.init(inst, def);
@@ -21881,6 +21958,19 @@ var ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => {
21881
21958
  function never(params) {
21882
21959
  return /* @__PURE__ */ _never(ZodNever, params);
21883
21960
  }
21961
+ var ZodDate = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => {
21962
+ $ZodDate.init(inst, def);
21963
+ ZodType.init(inst, def);
21964
+ inst._zod.processJSONSchema = (ctx, json, params) => dateProcessor(inst, ctx, json, params);
21965
+ inst.min = (value, params) => inst.check(/* @__PURE__ */ _gte(value, params));
21966
+ inst.max = (value, params) => inst.check(/* @__PURE__ */ _lte(value, params));
21967
+ const c = inst._zod.bag;
21968
+ inst.minDate = c.minimum ? new Date(c.minimum) : null;
21969
+ inst.maxDate = c.maximum ? new Date(c.maximum) : null;
21970
+ });
21971
+ function date(params) {
21972
+ return /* @__PURE__ */ _date(ZodDate, params);
21973
+ }
21884
21974
  var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => {
21885
21975
  $ZodArray.init(inst, def);
21886
21976
  ZodType.init(inst, def);
@@ -22161,6 +22251,9 @@ var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => {
22161
22251
  ZodType.init(inst, def);
22162
22252
  inst._zod.processJSONSchema = (ctx, json, params) => customProcessor(inst, ctx, json, params);
22163
22253
  });
22254
+ function custom(fn, _params) {
22255
+ return /* @__PURE__ */ _custom(ZodCustom, fn ?? (() => true), _params);
22256
+ }
22164
22257
  function refine(fn, _params = {}) {
22165
22258
  return /* @__PURE__ */ _refine(ZodCustom, fn, _params);
22166
22259
  }
@@ -22673,7 +22766,7 @@ var SonamuError = class extends Error {
22673
22766
  function isSonamuError(e) {
22674
22767
  return e && e.isSonamuError === true;
22675
22768
  }
22676
- _enum([
22769
+ var SonamuQueryMode = _enum([
22677
22770
  "both",
22678
22771
  "list",
22679
22772
  "count"
@@ -22687,6 +22780,9 @@ object({ semanticQuery: object({
22687
22780
  "inner_product"
22688
22781
  ]).optional()
22689
22782
  }) });
22783
+ function zArrayable(shape) {
22784
+ return union([shape, shape.array()]);
22785
+ }
22690
22786
  string().regex(/([0-9]{4}-[0-9]{2}-[0-9]{2}( [0-9]{2}:[0-9]{2}:[0-9]{2})*)$/, { message: "잘못된 SQLDate 타입" }).min(10).max(19).describe("SQLDateTimeString");
22691
22787
  array(object({
22692
22788
  name: string(),
@@ -23617,4 +23713,4 @@ RequestLogStepService.useRequestLogSteps, RequestLogStepService.useRequestLogSte
23617
23713
  SettingService.useSettings, SettingService.useSettingsInfinite;
23618
23714
  TokenService.useTokens, TokenService.useTokensInfinite;
23619
23715
  //#endregion
23620
- export { hashQueryKeyByOptions as A, __exportAll as B, Mutation as C, notifyManager as D, onlineManager as E, resolveStaleTime as F, __toESM as H, skipToken as I, focusManager as L, matchQuery as M, noop$2 as N, functionalUpdate as O, partialMatchKey as P, Subscribable as R, require_react as S, Query as T, __require as V, useMutation as _, SettingService as a, useQueryClient as b, isSonamuError as c, setLocale as d, _enum as f, isAxiosError as g, string as h, RequestLogStepService as i, matchMutation as j, hashKey as k, SD as l, object as m, QgridService as n, TokenService as o, number as p, RequestLogService as r, fetch$1 as s, MonitService as t, SUPPORTED_LOCALES as u, useQuery as v, infiniteQueryBehavior as w, require_jsx_runtime as x, QueryClientProvider as y, __commonJSMin as z };
23716
+ export { require_jsx_runtime as A, matchMutation as B, union as C, useQuery as D, useMutation as E, onlineManager as F, skipToken as G, noop$2 as H, notifyManager as I, __commonJSMin as J, focusManager as K, functionalUpdate as L, Mutation as M, infiniteQueryBehavior as N, QueryClientProvider as O, Query as P, hashKey as R, string as S, isAxiosError as T, partialMatchKey as U, matchQuery as V, resolveStaleTime as W, __require as X, __exportAll as Y, __toESM as Z, custom as _, SettingService as a, number as b, fetch$1 as c, SD as d, SUPPORTED_LOCALES as f, boolean as g, array as h, RequestLogStepService as i, require_react as j, useQueryClient as k, isSonamuError as l, _enum as m, QgridService as n, TokenService as o, setLocale as p, Subscribable as q, RequestLogService as r, SonamuQueryMode as s, MonitService as t, zArrayable as u, date as v, unknown as w, object as x, int as y, hashQueryKeyByOptions as z };
@@ -1,7 +1,7 @@
1
- import { H as __toESM, S as require_react, a as SettingService, b as useQueryClient, c as isSonamuError, g as isAxiosError, n as QgridService, o as TokenService, v as useQuery, x as require_jsx_runtime } from "./services.generated-BsKOUSXl.js";
2
- import { s as lucideRotateCcw } from "../entry-server.generated.js";
3
- import { t as useUpdateTokenMutation } from "./use-update-token-mutation-RujWERvj.js";
4
- import { t as lucidePlus } from "./plus-C1D8z9o0.js";
1
+ import { A as require_jsx_runtime, D as useQuery, T as isAxiosError, Z as __toESM, a as SettingService, j as require_react, k as useQueryClient, l as isSonamuError, n as QgridService, o as TokenService } from "./services.generated-BM4X3Ecj.js";
2
+ import { l as lucideRotateCcw } from "../entry-server.generated.js";
3
+ import { t as useUpdateTokenMutation } from "./use-update-token-mutation-DqGMopII.js";
4
+ import { t as lucidePlus } from "./plus-DVobMrag.js";
5
5
  //#region ~icons/lucide/eye.jsx
6
6
  var import_react = /* @__PURE__ */ __toESM(require_react());
7
7
  var import_jsx_runtime = require_jsx_runtime();