@cartanova/qgrid-cli 2.9.7 → 2.9.10

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 (67) hide show
  1. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +3 -2
  2. package/bundle/dist/application/qgrid/qgrid.types.js +2 -2
  3. package/bundle/dist/application/request-log/request-log.model.js +2 -1
  4. package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +4 -2
  5. package/bundle/dist/utils/providers/common/model-cost.js +11 -2
  6. package/bundle/dist/utils/providers/openai/openai-backend-protocol.js +3 -2
  7. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +86 -5
  8. package/bundle/src/application/qgrid/qgrid-image-generation.test.ts +7 -1
  9. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +13 -0
  10. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +2 -1
  11. package/bundle/src/application/qgrid/qgrid.frame.test.ts +2 -2
  12. package/bundle/src/application/qgrid/qgrid.types.ts +2 -2
  13. package/bundle/src/application/request-log/request-log.model.ts +2 -0
  14. package/bundle/src/application/sonamu.generated.http +4 -2
  15. package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +5 -1
  16. package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +4 -2
  17. package/bundle/src/utils/providers/common/effort.test.ts +1 -0
  18. package/bundle/src/utils/providers/common/model-cost.test.ts +5 -0
  19. package/bundle/src/utils/providers/common/model-cost.ts +15 -0
  20. package/bundle/src/utils/providers/common/provider-dispatcher.ts +1 -1
  21. package/bundle/src/utils/providers/openai/openai-backend-protocol.test.ts +5 -0
  22. package/bundle/src/utils/providers/openai/openai-backend-protocol.ts +2 -2
  23. package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +115 -0
  24. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +136 -1
  25. package/bundle/web-dist/client/assets/index-DJpa8UaG.js +106 -0
  26. package/bundle/web-dist/client/assets/index-D_sagzsR.css +1 -0
  27. package/bundle/web-dist/client/assets/logs-COwHodGU.js +1 -0
  28. package/bundle/web-dist/client/assets/{monit-7tcWgB20.js → monit-C6ZRFTQr.js} +1 -1
  29. package/bundle/web-dist/client/assets/request-model-eygfdRv7.js +1 -0
  30. package/bundle/web-dist/client/assets/{routes-CSVp9aNn.js → routes-CrMRMQvC.js} +1 -1
  31. package/bundle/web-dist/client/assets/{services.generated-C6jfEwfK.js → services.generated-Bg2XkD-D.js} +1 -1
  32. package/bundle/web-dist/client/assets/settings-BVhU4Oul.js +1 -0
  33. package/bundle/web-dist/client/assets/show-DA-1k3Mt.js +2 -0
  34. package/bundle/web-dist/client/assets/tokens-DliSEDiF.js +1 -0
  35. package/bundle/web-dist/client/assets/{use-oauth-login-flow-DTrmdduV.js → use-oauth-login-flow-C0qa-nOp.js} +1 -1
  36. package/bundle/web-dist/client/assets/{use-update-token-mutation-BIvO70-M.js → use-update-token-mutation-Dkv_HG-C.js} +1 -1
  37. package/bundle/web-dist/client/index.html +3 -3
  38. package/bundle/web-dist/server/assets/{lazyRouteComponent-C_k4R5n6.js → lazyRouteComponent-DyizoQKi.js} +2 -2
  39. package/bundle/web-dist/server/assets/{logs-lBOU5eUP.js → logs-DO8zBdBR.js} +12 -5
  40. package/bundle/web-dist/server/assets/{monit-BW2X1D23.js → monit-COH4MckI.js} +2 -2
  41. package/bundle/web-dist/server/assets/{plus-DilmHifT.js → plus-C1D8z9o0.js} +1 -1
  42. package/bundle/web-dist/server/assets/{react-dom-CHRRsKwb.js → react-dom-PfWvArTX.js} +1 -1
  43. package/bundle/web-dist/server/assets/request-model-DXclJfdP.js +13 -0
  44. package/bundle/web-dist/server/assets/{routes-B408iqh1.js → routes-Btja-741.js} +4 -4
  45. package/bundle/web-dist/server/assets/{services.generated-buX3cJzR.js → services.generated-BsKOUSXl.js} +1 -1
  46. package/bundle/web-dist/server/assets/{settings-CFoXQaAg.js → settings-DPcWGvy-.js} +3 -3
  47. package/bundle/web-dist/server/assets/{show-CcZJO6WF.js → show-CMXbb3TJ.js} +10 -4
  48. package/bundle/web-dist/server/assets/{tokens-C32lycTe.js → tokens-DAUmTrgO.js} +15 -11
  49. package/bundle/web-dist/server/assets/{use-oauth-login-flow-DCjxIa80.js → use-oauth-login-flow-GsGwqefs.js} +1 -1
  50. package/bundle/web-dist/server/assets/{use-update-token-mutation-CqK8i8Fa.js → use-update-token-mutation-RujWERvj.js} +1 -1
  51. package/bundle/web-dist/server/entry-server.generated.js +273 -52
  52. package/package.json +1 -1
  53. package/skills/qgrid/SKILL.md +10 -1
  54. package/skills/qgrid/references/anthropic-claude-code-runtime.md +3 -2
  55. package/skills/qgrid/references/decision-rationale.md +11 -2
  56. package/skills/qgrid/references/openai-codex-runtime.md +27 -3
  57. package/skills/qgrid/references/request-log-run-lifecycle.md +3 -1
  58. package/skills/qgrid/references/sonamu-api-web-flow.md +9 -1
  59. package/skills/qgrid/references/token-auth-quota-lifecycle.md +2 -0
  60. package/skills/qgrid/references/verification-and-debugging.md +4 -1
  61. package/bundle/web-dist/client/assets/index-BshX4Gd8.css +0 -1
  62. package/bundle/web-dist/client/assets/index-D4MEKFjK.js +0 -106
  63. package/bundle/web-dist/client/assets/logs-BWhH8t7Y.js +0 -1
  64. package/bundle/web-dist/client/assets/settings-CYgR0YTh.js +0 -1
  65. package/bundle/web-dist/client/assets/show-Cg8n_Mxg.js +0 -2
  66. package/bundle/web-dist/client/assets/tokens-B5yg6bP1.js +0 -1
  67. /package/bundle/web-dist/client/assets/{plus-p4vtg6LN.js → plus-CknMNCP5.js} +0 -0
@@ -48,4 +48,4 @@ import{n as e,r as t,t as n}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as r,g
48
48
 
49
49
  `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Di,s=!pi.jitless,c=s&&Oi.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Uo([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Ko(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Ui(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Ki(e,r,mi())))}),t)}var qo=H(`$ZodUnion`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),U(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),U(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>yi(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Ko(t,i,e,a)):Ko(s,i,e,a)}}),Jo=H(`$ZodIntersection`,(e,t)=>{K.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Xo(e,t,n)):Xo(e,i,a)}});function Yo(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ki(e)&&ki(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Yo(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Yo(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Xo(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Ui(e))return e;let o=Yo(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Zo=H(`$ZodEnum`,(e,t)=>{K.init(e,t);let n=hi(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>ji.has(typeof e)).map(e=>typeof e==`string`?Mi(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Qo=H(`$ZodTransform`,(e,t)=>{K.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new fi(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new di;return n.value=i,n}});function $o(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var es=H(`$ZodOptional`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${yi(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>$o(t,e.value)):$o(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),ts=H(`$ZodExactOptional`,(e,t)=>{es.init(e,t),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ns=H(`$ZodNullable`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${yi(e.source)}|null)$`):void 0}),U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),rs=H(`$ZodDefault`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>is(e,t)):is(r,t)}});function is(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var as=H(`$ZodPrefault`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),os=H(`$ZodNonOptional`,(e,t)=>{K.init(e,t),U(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>ss(t,e)):ss(i,e)}});function ss(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var cs=H(`$ZodCatch`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Ki(e,n,mi()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Ki(e,n,mi()))},input:e.value}),e.issues=[]),e)}}),ls=H(`$ZodPipe`,(e,t)=>{K.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>us(e,t.in,n)):us(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>us(e,t.out,n)):us(r,t.out,n)}});function us(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var ds=H(`$ZodReadonly`,(e,t)=>{K.init(e,t),U(e._zod,`propValues`,()=>t.innerType._zod.propValues),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`optin`,()=>t.innerType?._zod?.optin),U(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(fs):fs(r)}});function fs(e){return e.value=Object.freeze(e.value),e}var ps=H(`$ZodCustom`,(e,t)=>{G.init(e,t),K.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ms(t,n,r,e));ms(i,n,r,e)}});function ms(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Ji(e))}}var hs,gs=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function _s(){return new gs}(hs=globalThis).__zod_globalRegistry??(hs.__zod_globalRegistry=_s());var vs=globalThis.__zod_globalRegistry;function ys(e,t){return new e({type:`string`,...W(t)})}function bs(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...W(t)})}function xs(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...W(t)})}function Ss(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...W(t)})}function Cs(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...W(t)})}function ws(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...W(t)})}function Ts(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...W(t)})}function Es(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...W(t)})}function Ds(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...W(t)})}function Os(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...W(t)})}function ks(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...W(t)})}function As(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...W(t)})}function js(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...W(t)})}function Ms(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...W(t)})}function Ns(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...W(t)})}function Ps(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...W(t)})}function Fs(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...W(t)})}function Is(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...W(t)})}function Ls(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...W(t)})}function Rs(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...W(t)})}function zs(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...W(t)})}function Bs(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...W(t)})}function Vs(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...W(t)})}function Hs(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...W(t)})}function Us(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...W(t)})}function Ws(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...W(t)})}function Gs(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...W(t)})}function Ks(e,t){return new e({type:`number`,checks:[],...W(t)})}function qs(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...W(t)})}function Js(e){return new e({type:`unknown`})}function Ys(e,t){return new e({type:`never`,...W(t)})}function Xs(e,t){return new Wa({check:`less_than`,...W(t),value:e,inclusive:!1})}function Zs(e,t){return new Wa({check:`less_than`,...W(t),value:e,inclusive:!0})}function Qs(e,t){return new Ga({check:`greater_than`,...W(t),value:e,inclusive:!1})}function $s(e,t){return new Ga({check:`greater_than`,...W(t),value:e,inclusive:!0})}function ec(e,t){return new Ka({check:`multiple_of`,...W(t),value:e})}function tc(e,t){return new Ja({check:`max_length`,...W(t),maximum:e})}function nc(e,t){return new Ya({check:`min_length`,...W(t),minimum:e})}function rc(e,t){return new Xa({check:`length_equals`,...W(t),length:e})}function ic(e,t){return new Qa({check:`string_format`,format:`regex`,...W(t),pattern:e})}function ac(e){return new $a({check:`string_format`,format:`lowercase`,...W(e)})}function oc(e){return new eo({check:`string_format`,format:`uppercase`,...W(e)})}function sc(e,t){return new to({check:`string_format`,format:`includes`,...W(t),includes:e})}function cc(e,t){return new no({check:`string_format`,format:`starts_with`,...W(t),prefix:e})}function lc(e,t){return new ro({check:`string_format`,format:`ends_with`,...W(t),suffix:e})}function uc(e){return new io({check:`overwrite`,tx:e})}function dc(e){return uc(t=>t.normalize(e))}function fc(){return uc(e=>e.trim())}function pc(){return uc(e=>e.toLowerCase())}function mc(){return uc(e=>e.toUpperCase())}function hc(){return uc(e=>Ti(e))}function gc(e,t,n){return new e({type:`array`,element:t,...W(n)})}function _c(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...W(n)})}function vc(e){let t=yc(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(Ji(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(Ji(r))}},e(n.value,n)));return t}function yc(e,t){let n=new G({check:`custom`,...W(t)});return n._zod.check=e,n}function bc(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??vs,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function J(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,J(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&Y(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function xc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
50
50
 
51
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Sc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:wc(t,`input`,e.processors),output:wc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Y(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Y(r.element,n);if(r.type===`set`)return Y(r.valueType,n);if(r.type===`lazy`)return Y(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return Y(r.innerType,n);if(r.type===`intersection`)return Y(r.left,n)||Y(r.right,n);if(r.type===`record`||r.type===`map`)return Y(r.keyType,n)||Y(r.valueType,n);if(r.type===`pipe`)return Y(r.in,n)||Y(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Y(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Y(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Y(e,n))return!0;return!!(r.rest&&Y(r.rest,n))}return!1}var Cc=(e,t={})=>n=>{let r=bc({...n,processors:t});return J(e,r),xc(r,e),Sc(r,e)},wc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=bc({...i??{},target:a,io:t,processors:n});return J(e,o),xc(o,e),Sc(o,e)},Tc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ec=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Tc[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Dc=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Oc=(e,t,n,r)=>{n.not={}},kc=(e,t,n,r)=>{let i=e._zod.def,a=hi(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ac=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},jc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Mc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=J(a.element,t,{...r,path:[...r.path,`items`]})},Nc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=J(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=J(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Pc=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>J(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Fc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=J(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Ic=(e,t,n,r)=>{let i=e._zod.def,a=J(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Lc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Rc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},zc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Bc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Vc=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;J(a,t,r);let o=t.seen.get(e);o.ref=a},Hc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Uc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wc=H(`ZodISODateTime`,(e,t)=>{bo.init(e,t),Z.init(e,t)});function Gc(e){return Hs(Wc,e)}var Kc=H(`ZodISODate`,(e,t)=>{xo.init(e,t),Z.init(e,t)});function qc(e){return Us(Kc,e)}var Jc=H(`ZodISOTime`,(e,t)=>{So.init(e,t),Z.init(e,t)});function Yc(e){return Ws(Jc,e)}var Xc=H(`ZodISODuration`,(e,t)=>{Co.init(e,t),Z.init(e,t)});function Zc(e){return Gs(Xc,e)}var Qc=(e,t)=>{Xi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>$i(e,t)},flatten:{value:t=>Qi(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,gi,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,gi,2)}},isEmpty:{get(){return e.issues.length===0}}})};H(`ZodError`,Qc);var $c=H(`ZodError`,Qc,{Parent:Error}),el=ea($c),tl=ta($c),nl=na($c),rl=ia($c),il=oa($c),al=sa($c),ol=ca($c),sl=la($c),cl=ua($c),ll=da($c),ul=fa($c),dl=pa($c),X=H(`ZodType`,(e,t)=>(K.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:wc(e,`input`),output:wc(e,`output`)}}),e.toJSONSchema=Cc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(Ci(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>Ni(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>el(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>nl(e,t,n),e.parseAsync=async(t,n)=>tl(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>rl(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>il(e,t,n),e.decode=(t,n)=>al(e,t,n),e.encodeAsync=async(t,n)=>ol(e,t,n),e.decodeAsync=async(t,n)=>sl(e,t,n),e.safeEncode=(t,n)=>cl(e,t,n),e.safeDecode=(t,n)=>ll(e,t,n),e.safeEncodeAsync=async(t,n)=>ul(e,t,n),e.safeDecodeAsync=async(t,n)=>dl(e,t,n),e.refine=(t,n)=>e.check(yu(t,n)),e.superRefine=t=>e.check(bu(t)),e.overwrite=t=>e.check(uc(t)),e.optional=()=>tu(e),e.exactOptional=()=>ru(e),e.nullable=()=>au(e),e.nullish=()=>tu(au(e)),e.nonoptional=t=>du(e,t),e.array=()=>Ul(e),e.or=t=>ql([e,t]),e.and=t=>Yl(e,t),e.transform=t=>hu(e,$l(t)),e.default=t=>su(e,t),e.prefault=t=>lu(e,t),e.catch=t=>pu(e,t),e.pipe=t=>hu(e,t),e.readonly=()=>_u(e),e.describe=t=>{let n=e.clone();return vs.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return vs.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return vs.get(e);let n=e.clone();return vs.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),fl=H(`_ZodString`,(e,t)=>{so.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(ic(...t)),e.includes=(...t)=>e.check(sc(...t)),e.startsWith=(...t)=>e.check(cc(...t)),e.endsWith=(...t)=>e.check(lc(...t)),e.min=(...t)=>e.check(nc(...t)),e.max=(...t)=>e.check(tc(...t)),e.length=(...t)=>e.check(rc(...t)),e.nonempty=(...t)=>e.check(nc(1,...t)),e.lowercase=t=>e.check(ac(t)),e.uppercase=t=>e.check(oc(t)),e.trim=()=>e.check(fc()),e.normalize=(...t)=>e.check(dc(...t)),e.toLowerCase=()=>e.check(pc()),e.toUpperCase=()=>e.check(mc()),e.slugify=()=>e.check(hc())}),pl=H(`ZodString`,(e,t)=>{so.init(e,t),fl.init(e,t),e.email=t=>e.check(bs(hl,t)),e.url=t=>e.check(Es(vl,t)),e.jwt=t=>e.check(Vs(Nl,t)),e.emoji=t=>e.check(Ds(yl,t)),e.guid=t=>e.check(xs(gl,t)),e.uuid=t=>e.check(Ss(_l,t)),e.uuidv4=t=>e.check(Cs(_l,t)),e.uuidv6=t=>e.check(ws(_l,t)),e.uuidv7=t=>e.check(Ts(_l,t)),e.nanoid=t=>e.check(Os(bl,t)),e.guid=t=>e.check(xs(gl,t)),e.cuid=t=>e.check(ks(xl,t)),e.cuid2=t=>e.check(As(Sl,t)),e.ulid=t=>e.check(js(Cl,t)),e.base64=t=>e.check(Rs(Al,t)),e.base64url=t=>e.check(zs(jl,t)),e.xid=t=>e.check(Ms(wl,t)),e.ksuid=t=>e.check(Ns(Tl,t)),e.ipv4=t=>e.check(Ps(El,t)),e.ipv6=t=>e.check(Fs(Dl,t)),e.cidrv4=t=>e.check(Is(Ol,t)),e.cidrv6=t=>e.check(Ls(kl,t)),e.e164=t=>e.check(Bs(Ml,t)),e.datetime=t=>e.check(Gc(t)),e.date=t=>e.check(qc(t)),e.time=t=>e.check(Yc(t)),e.duration=t=>e.check(Zc(t))});function ml(e){return ys(pl,e)}var Z=H(`ZodStringFormat`,(e,t)=>{q.init(e,t),fl.init(e,t)}),hl=H(`ZodEmail`,(e,t)=>{uo.init(e,t),Z.init(e,t)}),gl=H(`ZodGUID`,(e,t)=>{co.init(e,t),Z.init(e,t)}),_l=H(`ZodUUID`,(e,t)=>{lo.init(e,t),Z.init(e,t)}),vl=H(`ZodURL`,(e,t)=>{fo.init(e,t),Z.init(e,t)}),yl=H(`ZodEmoji`,(e,t)=>{po.init(e,t),Z.init(e,t)}),bl=H(`ZodNanoID`,(e,t)=>{mo.init(e,t),Z.init(e,t)}),xl=H(`ZodCUID`,(e,t)=>{ho.init(e,t),Z.init(e,t)}),Sl=H(`ZodCUID2`,(e,t)=>{go.init(e,t),Z.init(e,t)}),Cl=H(`ZodULID`,(e,t)=>{_o.init(e,t),Z.init(e,t)}),wl=H(`ZodXID`,(e,t)=>{vo.init(e,t),Z.init(e,t)}),Tl=H(`ZodKSUID`,(e,t)=>{yo.init(e,t),Z.init(e,t)}),El=H(`ZodIPv4`,(e,t)=>{wo.init(e,t),Z.init(e,t)}),Dl=H(`ZodIPv6`,(e,t)=>{To.init(e,t),Z.init(e,t)}),Ol=H(`ZodCIDRv4`,(e,t)=>{Eo.init(e,t),Z.init(e,t)}),kl=H(`ZodCIDRv6`,(e,t)=>{Do.init(e,t),Z.init(e,t)}),Al=H(`ZodBase64`,(e,t)=>{ko.init(e,t),Z.init(e,t)}),jl=H(`ZodBase64URL`,(e,t)=>{jo.init(e,t),Z.init(e,t)}),Ml=H(`ZodE164`,(e,t)=>{Mo.init(e,t),Z.init(e,t)}),Nl=H(`ZodJWT`,(e,t)=>{Po.init(e,t),Z.init(e,t)}),Pl=H(`ZodNumber`,(e,t)=>{Fo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r),e.gt=(t,n)=>e.check(Qs(t,n)),e.gte=(t,n)=>e.check($s(t,n)),e.min=(t,n)=>e.check($s(t,n)),e.lt=(t,n)=>e.check(Xs(t,n)),e.lte=(t,n)=>e.check(Zs(t,n)),e.max=(t,n)=>e.check(Zs(t,n)),e.int=t=>e.check(Ll(t)),e.safe=t=>e.check(Ll(t)),e.positive=t=>e.check(Qs(0,t)),e.nonnegative=t=>e.check($s(0,t)),e.negative=t=>e.check(Xs(0,t)),e.nonpositive=t=>e.check(Zs(0,t)),e.multipleOf=(t,n)=>e.check(ec(t,n)),e.step=(t,n)=>e.check(ec(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Fl(e){return Ks(Pl,e)}var Il=H(`ZodNumberFormat`,(e,t)=>{Io.init(e,t),Pl.init(e,t)});function Ll(e){return qs(Il,e)}var Rl=H(`ZodUnknown`,(e,t)=>{Lo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function zl(){return Js(Rl)}var Bl=H(`ZodNever`,(e,t)=>{Ro.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r)});function Vl(e){return Ys(Bl,e)}var Hl=H(`ZodArray`,(e,t)=>{Bo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(nc(t,n)),e.nonempty=t=>e.check(nc(1,t)),e.max=(t,n)=>e.check(tc(t,n)),e.length=(t,n)=>e.check(rc(t,n)),e.unwrap=()=>e.element});function Ul(e,t){return gc(Hl,e,t)}var Wl=H(`ZodObject`,(e,t)=>{Go.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nc(e,t,n,r),U(e,`shape`,()=>t.shape),e.keyof=()=>Zl(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:zl()}),e.loose=()=>e.clone({...e._zod.def,catchall:zl()}),e.strict=()=>e.clone({...e._zod.def,catchall:Vl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ri(e,t),e.safeExtend=t=>zi(e,t),e.merge=t=>Bi(e,t),e.pick=t=>Ii(e,t),e.omit=t=>Li(e,t),e.partial=(...t)=>Vi(eu,e,t[0]),e.required=(...t)=>Hi(uu,e,t[0])});function Gl(e,t){return new Wl({type:`object`,shape:e??{},...W(t)})}var Kl=H(`ZodUnion`,(e,t)=>{qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pc(e,t,n,r),e.options=t.options});function ql(e,t){return new Kl({type:`union`,options:e,...W(t)})}var Jl=H(`ZodIntersection`,(e,t)=>{Jo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r)});function Yl(e,t){return new Jl({type:`intersection`,left:e,right:t})}var Xl=H(`ZodEnum`,(e,t)=>{Zo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Xl({...t,checks:[],...W(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Xl({...t,checks:[],...W(r),entries:i})}});function Zl(e,t){return new Xl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var Ql=H(`ZodTransform`,(e,t)=>{Qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new fi(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ji(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Ji(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function $l(e){return new Ql({type:`transform`,transform:e})}var eu=H(`ZodOptional`,(e,t)=>{es.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:`optional`,innerType:e})}var nu=H(`ZodExactOptional`,(e,t)=>{ts.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ru(e){return new nu({type:`optional`,innerType:e})}var iu=H(`ZodNullable`,(e,t)=>{ns.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ic(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function au(e){return new iu({type:`nullable`,innerType:e})}var ou=H(`ZodDefault`,(e,t)=>{rs.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function su(e,t){return new ou({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ai(t)}})}var cu=H(`ZodPrefault`,(e,t)=>{as.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function lu(e,t){return new cu({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ai(t)}})}var uu=H(`ZodNonOptional`,(e,t)=>{os.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function du(e,t){return new uu({type:`nonoptional`,innerType:e,...W(t)})}var fu=H(`ZodCatch`,(e,t)=>{cs.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pu(e,t){return new fu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var mu=H(`ZodPipe`,(e,t)=>{ls.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vc(e,t,n,r),e.in=t.in,e.out=t.out});function hu(e,t){return new mu({type:`pipe`,in:e,out:t})}var gu=H(`ZodReadonly`,(e,t)=>{ds.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _u(e){return new gu({type:`readonly`,innerType:e})}var vu=H(`ZodCustom`,(e,t)=>{ps.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r)});function yu(e,t={}){return _c(vu,e,t)}function bu(e){return vc(e)}var xu={"common.all":`All`,"common.backToList":`Back to List`,"common.cancel":`Cancel`,"common.close":`Close`,"common.confirm":`Confirm`,"common.create":`Create`,"common.createdAt":`Created At`,"common.delete":`Delete`,"common.edit":`Edit`,"common.login":`Login`,"common.logout":`Logout`,"common.manage":`Manage`,"common.results":e=>Bu(e,{one:`${e} result`,other:`${e} results`}),"common.save":`Save`,"common.search":`Search`,"common.searchPlaceholder":`Search...`,"common.searchType":`Search Type`,"common.sort":`Sort`,"confirm.delete":`Are you sure you want to delete?`,"confirm.save":`Do you want to save?`,"dashboard.adminMenu":`Admin Menu`,"dashboard.createdAt":`Joined`,"dashboard.email":`Email`,"dashboard.loginRequired":`Please login to continue.`,"dashboard.name":`Name`,"dashboard.role":`Role`,"dashboard.title":`Admin Dashboard`,"dashboard.welcome":`Welcome!`,"delete.confirm.description":`This action cannot be undone. This will permanently delete this item.`,"delete.confirm.title":`Are you sure?`,"entity.create":e=>`Create ${e}`,"entity.edit":(e,t)=>`Edit ${e} (#${t})`,"entity.list":e=>`${e} List`,"entity.listManage":e=>`Manage ${e} List`,"error.alreadyProcessed":`Already processed`,"error.badRequest":`Bad request`,"error.duplicateRow":`Duplicate data`,"error.forbidden":`Forbidden`,"error.internalServerError":`Internal server error`,"error.notFound":`Not found`,"error.serviceUnavailable":`Service unavailable`,"setting.invalidValue":e=>`Invalid setting value: ${e}`,"setting.unknownKey":e=>`Unknown setting key ${e}`,"setting.noSupervisor":()=>`Restart is unavailable when running locally — nothing would bring the server back up`,"qgrid.dispatcherFailed":e=>`${e} dispatcher failed to initialize`,"qgrid.dispatcherStarting":e=>`${e} dispatcher is starting up. Please retry shortly`,"qgrid.restartPending":()=>`Server restart is in progress. Please retry shortly`,"error.unauthorized":`Unauthorized`,notFound:(e,t)=>`${e} ID ${t} not found`,"validation.email":`Invalid email format`,"validation.maxLength":(e,t)=>`${e} must be at most ${t} characters`,"validation.minLength":(e,t)=>`${e} must be at least ${t} characters`,"validation.required":e=>`${e} is required`,"validation.url":`Invalid URL format`},Su={"common.all":`전체`,"common.backToList":`목록으로`,"common.cancel":`취소`,"common.close":`닫기`,"common.confirm":`확인`,"common.create":`생성`,"common.createdAt":`등록`,"common.delete":`삭제`,"common.edit":`수정`,"common.login":`로그인`,"common.logout":`로그아웃`,"common.manage":`관리`,"common.results":e=>`${e}개 결과`,"common.save":`저장`,"common.search":`검색`,"common.searchPlaceholder":`검색...`,"common.searchType":`검색 유형`,"common.sort":`정렬`,"confirm.delete":`정말 삭제하시겠습니까?`,"confirm.save":`저장하시겠습니까?`,"dashboard.adminMenu":`관리 메뉴`,"dashboard.createdAt":`가입일`,"dashboard.email":`이메일`,"dashboard.loginRequired":`로그인이 필요합니다.`,"dashboard.name":`이름`,"dashboard.role":`역할`,"dashboard.title":`관리자 대시보드`,"dashboard.welcome":`환영합니다!`,"delete.confirm.description":`이 작업은 취소할 수 없습니다. 항목이 영구적으로 삭제됩니다.`,"delete.confirm.title":`정말 삭제하시겠습니까?`,"entity.create":e=>`${e} 생성`,"entity.edit":(e,t)=>`${e} 수정 (#${t})`,"entity.list":e=>`${e} 목록`,"entity.listManage":e=>`${e} 목록 관리`,"error.alreadyProcessed":`이미 처리되었습니다`,"error.badRequest":`잘못된 요청입니다`,"error.duplicateRow":`중복된 데이터입니다`,"error.entityNotFound":(e,t)=>`존재하지 않는 ${e} ID ${t}`,"error.forbidden":`권한이 없습니다`,"error.internalServerError":`서버 오류가 발생했습니다`,"error.notFound":`찾을 수 없습니다`,"error.serviceUnavailable":`서비스를 사용할 수 없습니다`,"setting.invalidValue":e=>`설정 값이 올바르지 않습니다: ${e}`,"setting.unknownKey":e=>`알 수 없는 설정 키 ${e}`,"setting.noSupervisor":()=>`로컬 실행 환경에서는 재시작할 수 없습니다 — 종료하면 다시 켜줄 모니터링 도구가 없습니다`,"qgrid.dispatcherFailed":e=>`${e} dispatcher 초기화에 실패했습니다`,"qgrid.dispatcherStarting":e=>`${e} dispatcher 기동 중입니다. 잠시 후 다시 시도해주세요`,"qgrid.restartPending":()=>`서버 재시작 중입니다. 잠시 후 다시 시도해주세요`,"error.unauthorized":`인증이 필요합니다`,"error.unknownSearchField":e=>`구현되지 않은 검색 필드 ${e}`,notFound:(e,t)=>`존재하지 않는 ${e} ID ${t}`,"validation.email":`올바른 이메일 형식이 아닙니다`,"validation.maxLength":(e,t)=>`${e}${Vu(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${Vu(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${Vu(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},Cu=`ko`,wu=[`ko`,`en`],Tu=Cu;function Eu(e){Tu=e}function Du(){return Tu}var Ou={"rc.asyncSelect.loading":`로딩 중...`,"rc.asyncSelect.noOptions":`옵션이 없습니다`,"rc.asyncSelect.noResults":`검색 결과가 없습니다`,"rc.asyncSelect.selectPlaceholder":`선택하세요...`,"rc.combobox.noResults":`검색 결과가 없습니다`,"rc.combobox.selectPlaceholder":`선택하세요...`,"rc.datePicker.pickDate":`날짜 선택`,"rc.datePicker.placeholder":`날짜 선택`,"rc.datePicker.selectDate":`날짜 선택`,"rc.dateSelectorMultiple.addDate":`날짜 추가`,"rc.dateSelectorMultiple.dateRange":`기간`,"rc.dateSelectorMultiple.placeholder":`날짜 선택`,"rc.dateSelectorMultiple.singleDate":`단일`,"rc.fileInput.browseFiles":`파일 찾기`,"rc.fileInput.dropZone":`파일을 드래그하거나 클릭하여 업로드`,"rc.fileInput.filePlaceholder":`파일`,"rc.fileInput.imagePlaceholder":`이미지`,"rc.fileInput.maxFilesExceeded":e=>`최대 ${e}개 파일만 업로드 가능합니다`,"rc.fileInput.pending":`대기 중`,"rc.fileInput.remove":`제거`,"rc.fileInput.uploadFailed":`업로드 실패`,"rc.fileInput.uploading":`업로드 중...`,"rc.monthPickerMultiple.addMonth":`월 추가`,"rc.monthPickerMultiple.dateRange":`기간`,"rc.monthPickerMultiple.endDate":`종료일`,"rc.monthPickerMultiple.placeholder":`월 선택`,"rc.monthPickerMultiple.singleDate":`단일`,"rc.monthPickerMultiple.startDate":`시작일`,"rc.multiSelect.clear":`전체 해제`,"rc.multiSelect.close":`닫기`,"rc.multiSelect.moreItems":e=>`+${e}개 더보기`,"rc.multiSelect.noOptions":`옵션이 없습니다`,"rc.multiSelect.noOptionsSelected":`선택된 옵션이 없습니다`,"rc.multiSelect.noResults":`검색 결과가 없습니다`,"rc.multiSelect.optionsCount":e=>`${e}개 옵션`,"rc.multiSelect.selectAll":`전체 선택`,"rc.multiSelect.selectPlaceholder":`선택하세요...`,"rc.pagination.next":`다음`,"rc.pagination.previous":`이전`,"rc.pagination.showing":(e,t,n)=>`${n}개 중 ${e}-${t}`,"rc.calendar.month.0":`1월`,"rc.calendar.month.1":`2월`,"rc.calendar.month.2":`3월`,"rc.calendar.month.3":`4월`,"rc.calendar.month.4":`5월`,"rc.calendar.month.5":`6월`,"rc.calendar.month.6":`7월`,"rc.calendar.month.7":`8월`,"rc.calendar.month.8":`9월`,"rc.calendar.month.9":`10월`,"rc.calendar.month.10":`11월`,"rc.calendar.month.11":`12월`,"rc.sonamuFilter.title":`소나무 필터`,"rc.sonamuFilter.apply":`적용`,"rc.sonamuFilter.reset":`초기화`,"rc.sonamuFilter.addRule":`규칙 추가`,"rc.sonamuFilter.noRulesYet":`아직 규칙이 없습니다. "+ 규칙 추가"를 클릭하여 시작하세요.`,"rc.sonamuFilter.selectField":`필드 선택`,"rc.sonamuFilter.selectOperator":`연산자 선택`,"rc.sonamuFilter.selectOperatorFirst":`먼저 연산자를 선택하세요`,"rc.sonamuFilter.enterValue":`값 입력`,"rc.sonamuFilter.enterNumber":`숫자 입력`,"rc.sonamuFilter.notSupported":`지원하지 않음`,"rc.sonamuFilter.startDate":`시작일`,"rc.sonamuFilter.endDate":`종료일`,"rc.sonamuFilter.appliedFilters":`🌲 적용된 소나무 필터`,"rc.common.cancel":`취소`,"rc.common.save":`저장`},ku={"rc.asyncSelect.loading":`Loading...`,"rc.asyncSelect.noOptions":`No options`,"rc.asyncSelect.noResults":`No results`,"rc.asyncSelect.selectPlaceholder":`Select...`,"rc.combobox.noResults":`No results`,"rc.combobox.selectPlaceholder":`Select...`,"rc.datePicker.pickDate":`Pick date`,"rc.datePicker.placeholder":`Pick date`,"rc.datePicker.selectDate":`Select date`,"rc.dateSelectorMultiple.addDate":`Add date`,"rc.dateSelectorMultiple.dateRange":`Range`,"rc.dateSelectorMultiple.placeholder":`Pick date`,"rc.dateSelectorMultiple.singleDate":`Single`,"rc.fileInput.browseFiles":`Browse files`,"rc.fileInput.dropZone":`Drag files here or click to upload`,"rc.fileInput.filePlaceholder":`File`,"rc.fileInput.imagePlaceholder":`Image`,"rc.fileInput.maxFilesExceeded":e=>`Maximum ${e} files allowed`,"rc.fileInput.pending":`Pending`,"rc.fileInput.remove":`Remove`,"rc.fileInput.uploadFailed":`Upload failed`,"rc.fileInput.uploading":`Uploading...`,"rc.monthPickerMultiple.addMonth":`Add month`,"rc.monthPickerMultiple.dateRange":`Range`,"rc.monthPickerMultiple.endDate":`End date`,"rc.monthPickerMultiple.placeholder":`Pick month`,"rc.monthPickerMultiple.singleDate":`Single`,"rc.monthPickerMultiple.startDate":`Start date`,"rc.multiSelect.clear":`Clear all`,"rc.multiSelect.close":`Close`,"rc.multiSelect.moreItems":e=>`+${e} more`,"rc.multiSelect.noOptions":`No options`,"rc.multiSelect.noOptionsSelected":`No options selected`,"rc.multiSelect.noResults":`No results`,"rc.multiSelect.optionsCount":e=>`${e} options`,"rc.multiSelect.selectAll":`Select all`,"rc.multiSelect.selectPlaceholder":`Select...`,"rc.pagination.next":`Next`,"rc.pagination.previous":`Previous`,"rc.pagination.showing":(e,t,n)=>`Showing ${e}-${t} of ${n}`,"rc.calendar.month.0":`January`,"rc.calendar.month.1":`February`,"rc.calendar.month.2":`March`,"rc.calendar.month.3":`April`,"rc.calendar.month.4":`May`,"rc.calendar.month.5":`June`,"rc.calendar.month.6":`July`,"rc.calendar.month.7":`August`,"rc.calendar.month.8":`September`,"rc.calendar.month.9":`October`,"rc.calendar.month.10":`November`,"rc.calendar.month.11":`December`,"rc.sonamuFilter.title":`Sonamu Filter`,"rc.sonamuFilter.apply":`Apply`,"rc.sonamuFilter.reset":`Reset`,"rc.sonamuFilter.addRule":`Add Rule`,"rc.sonamuFilter.noRulesYet":`No rules yet. Click "+ Add Rule" to start.`,"rc.sonamuFilter.selectField":`Select field`,"rc.sonamuFilter.selectOperator":`Operator`,"rc.sonamuFilter.selectOperatorFirst":`Select operator first`,"rc.sonamuFilter.enterValue":`Enter value`,"rc.sonamuFilter.enterNumber":`Enter number`,"rc.sonamuFilter.notSupported":`Not supported`,"rc.sonamuFilter.startDate":`Start date`,"rc.sonamuFilter.endDate":`End date`,"rc.sonamuFilter.appliedFilters":`🌲 Applied SonamuFilters`,"rc.common.cancel":`Cancel`,"rc.common.save":`Save`},Au={"entity.RequestLog":`RequestLog`,"entity.RequestLog.id":`ID`,"entity.RequestLog.created_at":`등록일시`,"entity.RequestLog.token_name":`토큰 이름`,"entity.RequestLog.project_name":`프로젝트 이름`,"entity.RequestLog.model_name":`모델 이름`,"entity.RequestLog.requested_model_name":`요청 모델 이름 (fallback 전)`,"entity.RequestLog.fallback_count":`모델 fallback 횟수`,"entity.RequestLog.user_prompt":`사용자 프롬프트`,"entity.RequestLog.system_prompt":`시스템 프롬프트`,"entity.RequestLog.response":`llm 응답 전문`,"entity.RequestLog.input_tokens":`입력 토큰`,"entity.RequestLog.output_tokens":`출력 토큰`,"entity.RequestLog.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLog.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLog.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLog.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLog.duration_ms":`응답 소요시간(ms)`,"entity.RequestLog.ttft_ms":`first gen TTFT(ms)`,"entity.RequestLog.cost_usd":`API 비용`,"entity.RequestLog.cost_source":`비용 출처(provider/pricing_table/mixed)`,"entity.RequestLog.image_cost_usd":`이미지 생성 추정 비용`,"entity.RequestLog.image_cost_method":`이미지 비용 추정 방식`,"entity.RequestLog.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.json_schema":`structured output 요청의 JSON Schema 원문 (detail 의 response 타입 표시용)`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.response_json_ok":`structured(jsonSchema) 요청의 응답 JSON 파싱 성공 여부. 비structured 요청은 null`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"entity.RequestLog.is_structured":`structured output(jsonSchema) 요청 여부 (목록 구분 표시용)`,"enum.RequestLogOrderBy.id-desc":`ID최신순`,"enum.RequestLogOrderBy.id-asc":`ID오래된순`,"enum.RequestLogOrderBy.created_at-desc":`등록일시최신순`,"enum.RequestLogOrderBy.created_at-asc":`등록일시오래된순`,"enum.RequestLogOrderBy.ttft_ms-desc":`TTFT긴순`,"enum.RequestLogOrderBy.ttft_ms-asc":`TTFT짧은순`,"enum.RequestLogOrderBy.duration_ms-desc":`소요시간긴순`,"enum.RequestLogOrderBy.duration_ms-asc":`소요시간짧은순`,"enum.RequestLogOrderBy.input_tokens-desc":`입력토큰많은순`,"enum.RequestLogOrderBy.input_tokens-asc":`입력토큰적은순`,"enum.RequestLogOrderBy.output_tokens-desc":`출력토큰많은순`,"enum.RequestLogOrderBy.output_tokens-asc":`출력토큰적은순`,"enum.RequestLogOrderBy.cache_read_tokens-desc":`캐시읽기많은순`,"enum.RequestLogOrderBy.cache_read_tokens-asc":`캐시읽기적은순`,"enum.RequestLogOrderBy.cache_creation_tokens-desc":`캐시생성많은순`,"enum.RequestLogOrderBy.cache_creation_tokens-asc":`캐시생성적은순`,"enum.RequestLogOrderBy.cost_usd-desc":`비용높은순`,"enum.RequestLogOrderBy.cost_usd-asc":`비용낮은순`,"enum.RequestLogSearchField.id":`ID`,"enum.RequestLogSearchField.token_name":`토큰이름`,"enum.RequestLogSearchField.user_prompt":`사용자 프롬프트`,"enum.RequestLogStatus.running":`실행 중`,"enum.RequestLogStatus.succeeded":`성공`,"enum.RequestLogStatus.error":`에러`,"enum.RequestLogStatus.aborted":`중단`,"entity.RequestLogStep":`RequestLogStep`,"entity.RequestLogStep.id":`ID`,"entity.RequestLogStep.created_at":`등록일시`,"entity.RequestLogStep.request_log":`부모 request log ID`,"entity.RequestLogStep.step_index":`ai-sdk step number (0-based)`,"entity.RequestLogStep.type":`step 타입`,"entity.RequestLogStep.model_name":`실제 serving 모델`,"entity.RequestLogStep.requested_model_name":`요청 모델 (fallback 전)`,"entity.RequestLogStep.fallback_count":`모델 fallback 횟수`,"entity.RequestLogStep.input_tokens":`입력 토큰 (generate)`,"entity.RequestLogStep.output_tokens":`출력 토큰 (generate)`,"entity.RequestLogStep.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLogStep.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cost_usd":`step 비용 (micro-USD)`,"entity.RequestLogStep.cost_source":`비용 출처(provider/pricing_table)`,"entity.RequestLogStep.duration_ms":`소요시간(ms)`,"entity.RequestLogStep.ttft_ms":`Gen TTFT(ms)`,"entity.RequestLogStep.finish_reason":`완료 사유`,"entity.RequestLogStep.reasoning_text":`reasoning 텍스트`,"entity.RequestLogStep.reasoning_tokens":`reasoning 토큰 수`,"entity.RequestLogStep.tool_call_index":`같은 step 내 tool call 순서`,"entity.RequestLogStep.tool_call_id":`tool call ID`,"entity.RequestLogStep.tool_name":`tool 이름`,"entity.RequestLogStep.tool_args":`tool 인자 (JSON string)`,"entity.RequestLogStep.tool_result":`tool 결과 (JSON string)`,"entity.RequestLogStep.tool_duration_ms":`tool 실행 소요시간(ms)`,"entity.RequestLogStep.error":`step 에러 메시지`,"enum.RequestLogStepType.generate":`LLM 생성`,"enum.RequestLogStepType.tool_call":`Tool 호출`,"enum.RequestLogStepOrderBy.id-asc":`ID순`,"enum.RequestLogStepSearchField.id":`ID`,"entity.Setting":`Setting`,"entity.Setting.id":`ID`,"entity.Setting.created_at":`등록일시`,"entity.Setting.key":`설정 키 (예: slack.enabled)`,"entity.Setting.value":`설정 값 (문자열 저장, 앱에서 파싱·검증)`,"entity.Setting.updated_at":`최종 수정일시`,"enum.SettingOrderBy.key-asc":`키순`,"enum.SettingSearchField.key":`키`,"entity.Token":`Token`,"entity.Token.id":`ID`,"entity.Token.created_at":`등록일시`,"entity.Token.provider":`프로바이더`,"entity.Token.credentials":`인증 정보 (JSONB)`,"entity.Token.name":`토큰 이름`,"entity.Token.active":`활성 여부`,"entity.Token.reauth_required":`인증 만료로 재로그인이 필요한지 여부`,"entity.Token.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"entity.Token.keepalive_enabled":`Anthropic 5시간 토큰 윈도우 keepalive 사용 여부`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},ju={ko:{...Ou,...Au,...Su},en:{...ku,...xu}};function Mu(e,t){let n=ju[t];if(n?.[e]!==void 0)return n[e];if(t!==Cu&&ju[Cu]?.[e]!==void 0)return ju[Cu][e];for(let n of wu)if(n!==t&&n!==Cu&&ju[n]?.[e]!==void 0)return ju[n][e];return e}function Nu(e){return Mu(e,Du())}Nu.locale=e=>t=>Mu(t,e),Nu.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return Mu(`enum.${e}.${n}`,Du())}});var Pu=t(k(),1),Fu=t(c(),1);function Iu(e,t){return typeof t==`string`&&(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{1,3})?)?(Z|[+-]\d{2}:\d{2})?$/.test(t)||/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$/.test(t))&&new Date(t).toString()!==`Invalid Date`?new Date(t):t}L.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,Iu)}catch{return e}return e}],L.interceptors.request.use(e=>(e.headers[`Accept-Language`]=Du(),e));async function Q(e){try{return(await L({...e})).data}catch(e){if(L.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new Lu(e.response.status,t.message,t.issues)}throw e}}var Lu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};function Ru(e){return e&&e.isSonamuError===!0}Zl([`both`,`list`,`count`]),Gl({semanticQuery:Gl({embedding:Ul(Fl()).min(1024).max(1024),threshold:Fl().optional(),method:Zl([`cosine`,`l2`,`inner_product`]).optional()})}),ml().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`),Gl({name:ml(),url:ml(),mime_type:ml(),size:Fl()});function zu(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,Fu.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,Fu.useRef)(null),u=(0,Fu.useRef)(null),d=(0,Fu.useRef)(n);(0,Fu.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=Pu.default.stringify(t),r=new li(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":Du()}})});l.current=r,c(e=>({...e,isConnected:!1,error:null,isEnded:!1})),r.onopen=()=>{c(e=>({...e,isConnected:!0,error:null,retryCount:0,isEnded:!1}))},r.onerror=e=>{l.current===r&&(r.close(),c(e=>({...e,isConnected:!1,error:`Connection failed`,isEnded:!1})),c(e=>e.retryCount<a?(u.current=setTimeout(()=>{u.current!==null&&(c(e=>({...e,retryCount:e.retryCount+1,isEnded:!1})),f())},o),e):(l.current=null,{...e,error:`Connection failed after ${a} attempts`})))},r.addEventListener(`end`,()=>{if(l.current===r&&(r.close(),l.current=null,c(e=>({...e,isConnected:!1,error:null,isEnded:!0})),d.current.end)){let e=d.current.end;e(`end`)}}),Object.keys(d.current).forEach(e=>{let t=d.current[e];t&&r.addEventListener(e,n=>{if(l.current===r){try{t(JSON.parse(n.data,Iu))}catch(t){console.error(`Failed to parse SSE data for event ${e}:`,t)}c(e=>({...e,isEnded:!1}))}})}),r.onmessage=e=>{if(l.current===r)try{let t=JSON.parse(e.data,Iu),n=d.current.message;n&&n(t)}catch(e){console.error(`Failed to parse SSE message:`,e)}}}catch(e){c(t=>({...t,error:e instanceof Error?e.message:`Unknown error`,isConnected:!1,isEnded:!1}))}};return(0,Fu.useEffect)(()=>(i&&(c({isConnected:!1,error:null,retryCount:0,isEnded:!1}),f()),()=>{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null)}),[e,JSON.stringify(t),i]),s}function Bu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function Vu(e,t){let n=(()=>{let t=e.charCodeAt(e.length-1);return t<44032||t>55203?!1:(t-44032)%28!=0})();return e+{은는:n?`은`:`는`,이가:n?`이`:`가`,을를:n?`을`:`를`,과와:n?`과`:`와`,으로:n?`으로`:`로`}[t]}function Hu(e){let t=new Set,n=[];for(let r of e.pages)for(let e of r?.rows??[]){let r=e?.id;if(r!==null){if(t.has(r))continue;t.add(r)}n.push(e)}let r=e.pages[0]?.total??0;return{pages:e.pages,pageParams:e.pageParams,rows:n,total:r}}function $(e){let[t,n]=(0,Fu.useState)(!1),r=(0,Fu.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var Uu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/token/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getToken=t;let n=e.getTokenQueryOptions=(e,n)=>i({queryKey:[`Token`,`getToken`,e,n],queryFn:()=>t(e,n)});e.useToken=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/token/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getTokens=c;let l=e.getTokensQueryOptions=(e,t)=>i({queryKey:[`Token`,`getTokens`,e,t],queryFn:()=>c(e,t)});e.useTokens=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getTokensInfiniteQueryOptions=(e,t)=>a({queryKey:[`Token`,`getTokens`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useTokensInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/token/reorder`,data:{ids:e}})}e.reorder=d,e.useReorderMutation=()=>o({mutationFn:e=>d(e.ids)});async function f(e){return Q({method:`POST`,url:`/api/token/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Uu||={});var Wu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/setting/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getSetting=t;let n=e.getSettingQueryOptions=(e,n)=>i({queryKey:[`Setting`,`getSetting`,e,n],queryFn:()=>t(e,n)});e.useSetting=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/setting/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getSettings=c;let l=e.getSettingsQueryOptions=(e,t)=>i({queryKey:[`Setting`,`getSettings`,e,t],queryFn:()=>c(e,t)});e.useSettings=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getSettingsInfiniteQueryOptions=(e,t)=>a({queryKey:[`Setting`,`getSettings`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useSettingsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(){return Q({method:`GET`,url:`/api/setting/listSettings`})}e.getSettingList=d;let f=e.getSettingListQueryOptions=()=>i({queryKey:[`Setting`,`getSettingList`],queryFn:()=>d()});e.useSettingList=e=>$(r({...f(),...e}));async function p(e,t){return Q({method:`POST`,url:`/api/setting/updateSetting`,data:{key:e,value:t}})}e.updateSetting=p,e.useUpdateSettingMutation=()=>o({mutationFn:e=>p(e.key,e.value)});async function m(e){return Q({method:`POST`,url:`/api/setting/resetSetting`,data:{key:e}})}e.resetSetting=m,e.useResetSettingMutation=()=>o({mutationFn:e=>m(e.key)});async function h(){return Q({method:`POST`,url:`/api/setting/triggerExpiryReminder`})}e.triggerExpiryReminder=h,e.useTriggerExpiryReminderMutation=()=>o({mutationFn:e=>h()});async function g(){return Q({method:`POST`,url:`/api/setting/restartServer`})}e.restartServer=g,e.useRestartServerMutation=()=>o({mutationFn:e=>g()})})(Wu||={});var Gu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getRequestLogStep=t;let n=e.getRequestLogStepQueryOptions=(e,n)=>i({queryKey:[`RequestLogStep`,`getRequestLogStep`,e,n],queryFn:()=>t(e,n)});e.useRequestLogStep=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogSteps=c;let l=e.getRequestLogStepsQueryOptions=(e,t)=>i({queryKey:[`RequestLogStep`,`getRequestLogSteps`,e,t],queryFn:()=>c(e,t)});e.useRequestLogSteps=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogStepsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLogStep`,`getRequestLogSteps`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useRequestLogStepsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLogStep/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`POST`,url:`/api/requestLogStep/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Gu||={});var Ku;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLog/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getRequestLog=t;let n=e.getRequestLogQueryOptions=(e,n)=>i({queryKey:[`RequestLog`,`getRequestLog`,e,n],queryFn:()=>t(e,n)});e.useRequestLog=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLog/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogs=c;let l=e.getRequestLogsQueryOptions=(e,t)=>i({queryKey:[`RequestLog`,`getRequestLogs`,e,t],queryFn:()=>c(e,t)});e.useRequestLogs=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLog`,`getRequestLogs`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useRequestLogsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLog/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`GET`,url:`/api/requestLog/responseTypeTs?${Pu.default.stringify({id:e})}`})}e.responseTypeTs=f;let p=e.responseTypeTsQueryOptions=e=>i({queryKey:[`RequestLog`,`responseTypeTs`,e],queryFn:()=>f(e)});e.useResponseTypeTs=(e,t)=>$(r({...p(e),...t}));async function m(e){return Q({method:`GET`,url:`/api/requestLog/toolsView?${Pu.default.stringify({id:e})}`})}e.toolsView=m;let h=e.toolsViewQueryOptions=e=>i({queryKey:[`RequestLog`,`toolsView`,e],queryFn:()=>m(e)});e.useToolsView=(e,t)=>$(r({...h(e),...t}));async function g(e){return Q({method:`POST`,url:`/api/requestLog/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>o({mutationFn:e=>g(e.ids)})})(Ku||={});var qu;(function(e){async function t(e){return Q({method:`POST`,url:`/api/qgrid/query`,data:{args:e}})}e.query=t,e.useQueryMutation=()=>o({mutationFn:e=>t(e.args)});async function n(e){return Q({method:`POST`,url:`/api/qgrid/prepareStream`,data:{args:e}})}e.prepareStream=n,e.usePrepareStreamMutation=()=>o({mutationFn:e=>n(e.args)});function a(e,t,n){return zu(`/api/qgrid/queryStream`,e,t,n)}e.useQueryStream=a;async function s(e){return Q({method:`POST`,url:`/api/qgrid/createRun`,data:{input:e}})}e.createRun=s,e.useCreateRunMutation=()=>o({mutationFn:e=>s(e.input)});async function c(e){return Q({method:`POST`,url:`/api/qgrid/appendStep`,data:{input:e}})}e.appendStep=c,e.useAppendStepMutation=()=>o({mutationFn:e=>c(e.input)});async function l(e){return Q({method:`POST`,url:`/api/qgrid/finishRun`,data:{input:e}})}e.finishRun=l,e.useFinishRunMutation=()=>o({mutationFn:e=>l(e.input)});async function u(){return Q({method:`GET`,url:`/api/qgrid/stats`})}e.stats=u;let d=e.statsQueryOptions=()=>i({queryKey:[`Qgrid`,`stats`],queryFn:()=>u()});e.useStats=e=>$(r({...d(),...e}));async function f(e){return Q({method:`GET`,url:`/api/qgrid/totalCost?${Pu.default.stringify({params:e})}`})}e.totalCost=f;let p=e.totalCostQueryOptions=e=>i({queryKey:[`Qgrid`,`totalCost`,e],queryFn:()=>f(e)});e.useTotalCost=(e,t)=>$(r({...p(e),...t}));async function m(){return Q({method:`GET`,url:`/api/qgrid/projectNames`})}e.projectNames=m;let h=e.projectNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`projectNames`],queryFn:()=>m()});e.useProjectNames=e=>$(r({...h(),...e}));async function g(){return Q({method:`GET`,url:`/api/qgrid/modelNames`})}e.modelNames=g;let _=e.modelNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`modelNames`],queryFn:()=>g()});e.useModelNames=e=>$(r({..._(),...e}));async function v(e,t,n){return Q({method:`POST`,url:`/api/qgrid/addToken`,data:{provider:e,credentials:t,name:n}})}e.addToken=v,e.useAddTokenMutation=()=>o({mutationFn:e=>v(e.provider,e.credentials,e.name)});async function y(e,t,n,r,i){return Q({method:`POST`,url:`/api/qgrid/updateToken`,data:{id:e,name:t,quotaThreshold:n,weight:r,keepaliveEnabled:i}})}e.updateToken=y;async function b(e){return Q({method:`POST`,url:`/api/qgrid/removeToken`,data:{id:e}})}e.removeToken=b,e.useRemoveTokenMutation=()=>o({mutationFn:e=>b(e.id)});async function x(e){return Q({method:`POST`,url:`/api/qgrid/toggleToken`,data:{id:e}})}e.toggleToken=x,e.useToggleTokenMutation=()=>o({mutationFn:e=>x(e.id)});async function S(e){return Q({method:`POST`,url:`/api/qgrid/oauthStart`,data:{name:e}})}e.oauthStart=S,e.useOauthStartMutation=()=>o({mutationFn:e=>S(e.name)});async function C(e){return Q({method:`POST`,url:`/api/qgrid/oauthComplete`,data:{pastedCode:e}})}e.oauthComplete=C,e.useOauthCompleteMutation=()=>o({mutationFn:e=>C(e.pastedCode)});async function w(e){return Q({method:`POST`,url:`/api/qgrid/oauthStartOpenAI`,data:{name:e}})}e.oauthStartOpenAI=w,e.useOauthStartOpenAIMutation=()=>o({mutationFn:e=>w(e.name)});async function ee(e){return Q({method:`GET`,url:`/api/qgrid/usage?${Pu.default.stringify({tokenId:e})}`})}e.usage=ee;let T=e.usageQueryOptions=e=>i({queryKey:[`Qgrid`,`usage`,e],queryFn:()=>ee(e)});e.useUsage=(e,t)=>$(r({...T(e),...t}));async function te(){return Q({method:`GET`,url:`/api/qgrid/health`})}e.health=te;let E=e.healthQueryOptions=()=>i({queryKey:[`Qgrid`,`health`],queryFn:()=>te()});e.useHealth=e=>$(r({...E(),...e}))})(qu||={});var Ju;(function(e){async function t(e){return Q({method:`GET`,url:`/api/monit/monitLogs?${Pu.default.stringify({cursor:e})}`})}e.monitLogs=t;let n=e.monitLogsQueryOptions=e=>i({queryKey:[`Monit`,`monitLogs`,e],queryFn:()=>t(e)});e.useMonitLogs=(e,t)=>$(r({...n(e),...t}));async function a(){return Q({method:`GET`,url:`/api/monit/monitInfo`})}e.monitInfo=a;let o=e.monitInfoQueryOptions=()=>i({queryKey:[`Monit`,`monitInfo`],queryFn:()=>a()});e.useMonitInfo=e=>$(r({...o(),...e}));async function s(){return Q({method:`GET`,url:`/api/monit/monitStats`})}e.monitStats=s;let c=e.monitStatsQueryOptions=()=>i({queryKey:[`Monit`,`monitStats`],queryFn:()=>s()});e.useMonitStats=e=>$(r({...c(),...e}))})(Ju||={}),Ku.useRequestLogs,Ku.useRequestLogsInfinite,Gu.useRequestLogSteps,Gu.useRequestLogStepsInfinite,Wu.useSettings,Wu.useSettingsInfinite,Uu.useTokens,Uu.useTokensInfinite;export{Wu as a,Ru as c,Eu as d,Zl as f,Sr as g,ml as h,Gu as i,Nu as l,Gl as m,qu as n,Uu as o,Fl as p,Ku as r,Iu as s,Ju as t,wu as u};
51
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Sc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:wc(t,`input`,e.processors),output:wc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Y(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Y(r.element,n);if(r.type===`set`)return Y(r.valueType,n);if(r.type===`lazy`)return Y(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return Y(r.innerType,n);if(r.type===`intersection`)return Y(r.left,n)||Y(r.right,n);if(r.type===`record`||r.type===`map`)return Y(r.keyType,n)||Y(r.valueType,n);if(r.type===`pipe`)return Y(r.in,n)||Y(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Y(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Y(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Y(e,n))return!0;return!!(r.rest&&Y(r.rest,n))}return!1}var Cc=(e,t={})=>n=>{let r=bc({...n,processors:t});return J(e,r),xc(r,e),Sc(r,e)},wc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=bc({...i??{},target:a,io:t,processors:n});return J(e,o),xc(o,e),Sc(o,e)},Tc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ec=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Tc[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Dc=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Oc=(e,t,n,r)=>{n.not={}},kc=(e,t,n,r)=>{let i=e._zod.def,a=hi(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ac=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},jc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Mc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=J(a.element,t,{...r,path:[...r.path,`items`]})},Nc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=J(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=J(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Pc=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>J(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Fc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=J(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Ic=(e,t,n,r)=>{let i=e._zod.def,a=J(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Lc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Rc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},zc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Bc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Vc=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;J(a,t,r);let o=t.seen.get(e);o.ref=a},Hc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Uc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wc=H(`ZodISODateTime`,(e,t)=>{bo.init(e,t),Z.init(e,t)});function Gc(e){return Hs(Wc,e)}var Kc=H(`ZodISODate`,(e,t)=>{xo.init(e,t),Z.init(e,t)});function qc(e){return Us(Kc,e)}var Jc=H(`ZodISOTime`,(e,t)=>{So.init(e,t),Z.init(e,t)});function Yc(e){return Ws(Jc,e)}var Xc=H(`ZodISODuration`,(e,t)=>{Co.init(e,t),Z.init(e,t)});function Zc(e){return Gs(Xc,e)}var Qc=(e,t)=>{Xi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>$i(e,t)},flatten:{value:t=>Qi(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,gi,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,gi,2)}},isEmpty:{get(){return e.issues.length===0}}})};H(`ZodError`,Qc);var $c=H(`ZodError`,Qc,{Parent:Error}),el=ea($c),tl=ta($c),nl=na($c),rl=ia($c),il=oa($c),al=sa($c),ol=ca($c),sl=la($c),cl=ua($c),ll=da($c),ul=fa($c),dl=pa($c),X=H(`ZodType`,(e,t)=>(K.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:wc(e,`input`),output:wc(e,`output`)}}),e.toJSONSchema=Cc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(Ci(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>Ni(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>el(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>nl(e,t,n),e.parseAsync=async(t,n)=>tl(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>rl(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>il(e,t,n),e.decode=(t,n)=>al(e,t,n),e.encodeAsync=async(t,n)=>ol(e,t,n),e.decodeAsync=async(t,n)=>sl(e,t,n),e.safeEncode=(t,n)=>cl(e,t,n),e.safeDecode=(t,n)=>ll(e,t,n),e.safeEncodeAsync=async(t,n)=>ul(e,t,n),e.safeDecodeAsync=async(t,n)=>dl(e,t,n),e.refine=(t,n)=>e.check(yu(t,n)),e.superRefine=t=>e.check(bu(t)),e.overwrite=t=>e.check(uc(t)),e.optional=()=>tu(e),e.exactOptional=()=>ru(e),e.nullable=()=>au(e),e.nullish=()=>tu(au(e)),e.nonoptional=t=>du(e,t),e.array=()=>Ul(e),e.or=t=>ql([e,t]),e.and=t=>Yl(e,t),e.transform=t=>hu(e,$l(t)),e.default=t=>su(e,t),e.prefault=t=>lu(e,t),e.catch=t=>pu(e,t),e.pipe=t=>hu(e,t),e.readonly=()=>_u(e),e.describe=t=>{let n=e.clone();return vs.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return vs.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return vs.get(e);let n=e.clone();return vs.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),fl=H(`_ZodString`,(e,t)=>{so.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(ic(...t)),e.includes=(...t)=>e.check(sc(...t)),e.startsWith=(...t)=>e.check(cc(...t)),e.endsWith=(...t)=>e.check(lc(...t)),e.min=(...t)=>e.check(nc(...t)),e.max=(...t)=>e.check(tc(...t)),e.length=(...t)=>e.check(rc(...t)),e.nonempty=(...t)=>e.check(nc(1,...t)),e.lowercase=t=>e.check(ac(t)),e.uppercase=t=>e.check(oc(t)),e.trim=()=>e.check(fc()),e.normalize=(...t)=>e.check(dc(...t)),e.toLowerCase=()=>e.check(pc()),e.toUpperCase=()=>e.check(mc()),e.slugify=()=>e.check(hc())}),pl=H(`ZodString`,(e,t)=>{so.init(e,t),fl.init(e,t),e.email=t=>e.check(bs(hl,t)),e.url=t=>e.check(Es(vl,t)),e.jwt=t=>e.check(Vs(Nl,t)),e.emoji=t=>e.check(Ds(yl,t)),e.guid=t=>e.check(xs(gl,t)),e.uuid=t=>e.check(Ss(_l,t)),e.uuidv4=t=>e.check(Cs(_l,t)),e.uuidv6=t=>e.check(ws(_l,t)),e.uuidv7=t=>e.check(Ts(_l,t)),e.nanoid=t=>e.check(Os(bl,t)),e.guid=t=>e.check(xs(gl,t)),e.cuid=t=>e.check(ks(xl,t)),e.cuid2=t=>e.check(As(Sl,t)),e.ulid=t=>e.check(js(Cl,t)),e.base64=t=>e.check(Rs(Al,t)),e.base64url=t=>e.check(zs(jl,t)),e.xid=t=>e.check(Ms(wl,t)),e.ksuid=t=>e.check(Ns(Tl,t)),e.ipv4=t=>e.check(Ps(El,t)),e.ipv6=t=>e.check(Fs(Dl,t)),e.cidrv4=t=>e.check(Is(Ol,t)),e.cidrv6=t=>e.check(Ls(kl,t)),e.e164=t=>e.check(Bs(Ml,t)),e.datetime=t=>e.check(Gc(t)),e.date=t=>e.check(qc(t)),e.time=t=>e.check(Yc(t)),e.duration=t=>e.check(Zc(t))});function ml(e){return ys(pl,e)}var Z=H(`ZodStringFormat`,(e,t)=>{q.init(e,t),fl.init(e,t)}),hl=H(`ZodEmail`,(e,t)=>{uo.init(e,t),Z.init(e,t)}),gl=H(`ZodGUID`,(e,t)=>{co.init(e,t),Z.init(e,t)}),_l=H(`ZodUUID`,(e,t)=>{lo.init(e,t),Z.init(e,t)}),vl=H(`ZodURL`,(e,t)=>{fo.init(e,t),Z.init(e,t)}),yl=H(`ZodEmoji`,(e,t)=>{po.init(e,t),Z.init(e,t)}),bl=H(`ZodNanoID`,(e,t)=>{mo.init(e,t),Z.init(e,t)}),xl=H(`ZodCUID`,(e,t)=>{ho.init(e,t),Z.init(e,t)}),Sl=H(`ZodCUID2`,(e,t)=>{go.init(e,t),Z.init(e,t)}),Cl=H(`ZodULID`,(e,t)=>{_o.init(e,t),Z.init(e,t)}),wl=H(`ZodXID`,(e,t)=>{vo.init(e,t),Z.init(e,t)}),Tl=H(`ZodKSUID`,(e,t)=>{yo.init(e,t),Z.init(e,t)}),El=H(`ZodIPv4`,(e,t)=>{wo.init(e,t),Z.init(e,t)}),Dl=H(`ZodIPv6`,(e,t)=>{To.init(e,t),Z.init(e,t)}),Ol=H(`ZodCIDRv4`,(e,t)=>{Eo.init(e,t),Z.init(e,t)}),kl=H(`ZodCIDRv6`,(e,t)=>{Do.init(e,t),Z.init(e,t)}),Al=H(`ZodBase64`,(e,t)=>{ko.init(e,t),Z.init(e,t)}),jl=H(`ZodBase64URL`,(e,t)=>{jo.init(e,t),Z.init(e,t)}),Ml=H(`ZodE164`,(e,t)=>{Mo.init(e,t),Z.init(e,t)}),Nl=H(`ZodJWT`,(e,t)=>{Po.init(e,t),Z.init(e,t)}),Pl=H(`ZodNumber`,(e,t)=>{Fo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r),e.gt=(t,n)=>e.check(Qs(t,n)),e.gte=(t,n)=>e.check($s(t,n)),e.min=(t,n)=>e.check($s(t,n)),e.lt=(t,n)=>e.check(Xs(t,n)),e.lte=(t,n)=>e.check(Zs(t,n)),e.max=(t,n)=>e.check(Zs(t,n)),e.int=t=>e.check(Ll(t)),e.safe=t=>e.check(Ll(t)),e.positive=t=>e.check(Qs(0,t)),e.nonnegative=t=>e.check($s(0,t)),e.negative=t=>e.check(Xs(0,t)),e.nonpositive=t=>e.check(Zs(0,t)),e.multipleOf=(t,n)=>e.check(ec(t,n)),e.step=(t,n)=>e.check(ec(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Fl(e){return Ks(Pl,e)}var Il=H(`ZodNumberFormat`,(e,t)=>{Io.init(e,t),Pl.init(e,t)});function Ll(e){return qs(Il,e)}var Rl=H(`ZodUnknown`,(e,t)=>{Lo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function zl(){return Js(Rl)}var Bl=H(`ZodNever`,(e,t)=>{Ro.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r)});function Vl(e){return Ys(Bl,e)}var Hl=H(`ZodArray`,(e,t)=>{Bo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(nc(t,n)),e.nonempty=t=>e.check(nc(1,t)),e.max=(t,n)=>e.check(tc(t,n)),e.length=(t,n)=>e.check(rc(t,n)),e.unwrap=()=>e.element});function Ul(e,t){return gc(Hl,e,t)}var Wl=H(`ZodObject`,(e,t)=>{Go.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nc(e,t,n,r),U(e,`shape`,()=>t.shape),e.keyof=()=>Zl(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:zl()}),e.loose=()=>e.clone({...e._zod.def,catchall:zl()}),e.strict=()=>e.clone({...e._zod.def,catchall:Vl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ri(e,t),e.safeExtend=t=>zi(e,t),e.merge=t=>Bi(e,t),e.pick=t=>Ii(e,t),e.omit=t=>Li(e,t),e.partial=(...t)=>Vi(eu,e,t[0]),e.required=(...t)=>Hi(uu,e,t[0])});function Gl(e,t){return new Wl({type:`object`,shape:e??{},...W(t)})}var Kl=H(`ZodUnion`,(e,t)=>{qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pc(e,t,n,r),e.options=t.options});function ql(e,t){return new Kl({type:`union`,options:e,...W(t)})}var Jl=H(`ZodIntersection`,(e,t)=>{Jo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r)});function Yl(e,t){return new Jl({type:`intersection`,left:e,right:t})}var Xl=H(`ZodEnum`,(e,t)=>{Zo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Xl({...t,checks:[],...W(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Xl({...t,checks:[],...W(r),entries:i})}});function Zl(e,t){return new Xl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var Ql=H(`ZodTransform`,(e,t)=>{Qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new fi(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ji(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Ji(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function $l(e){return new Ql({type:`transform`,transform:e})}var eu=H(`ZodOptional`,(e,t)=>{es.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:`optional`,innerType:e})}var nu=H(`ZodExactOptional`,(e,t)=>{ts.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ru(e){return new nu({type:`optional`,innerType:e})}var iu=H(`ZodNullable`,(e,t)=>{ns.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ic(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function au(e){return new iu({type:`nullable`,innerType:e})}var ou=H(`ZodDefault`,(e,t)=>{rs.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function su(e,t){return new ou({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ai(t)}})}var cu=H(`ZodPrefault`,(e,t)=>{as.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function lu(e,t){return new cu({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ai(t)}})}var uu=H(`ZodNonOptional`,(e,t)=>{os.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function du(e,t){return new uu({type:`nonoptional`,innerType:e,...W(t)})}var fu=H(`ZodCatch`,(e,t)=>{cs.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pu(e,t){return new fu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var mu=H(`ZodPipe`,(e,t)=>{ls.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vc(e,t,n,r),e.in=t.in,e.out=t.out});function hu(e,t){return new mu({type:`pipe`,in:e,out:t})}var gu=H(`ZodReadonly`,(e,t)=>{ds.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _u(e){return new gu({type:`readonly`,innerType:e})}var vu=H(`ZodCustom`,(e,t)=>{ps.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r)});function yu(e,t={}){return _c(vu,e,t)}function bu(e){return vc(e)}var xu={"common.all":`All`,"common.backToList":`Back to List`,"common.cancel":`Cancel`,"common.close":`Close`,"common.confirm":`Confirm`,"common.create":`Create`,"common.createdAt":`Created At`,"common.delete":`Delete`,"common.edit":`Edit`,"common.login":`Login`,"common.logout":`Logout`,"common.manage":`Manage`,"common.results":e=>Bu(e,{one:`${e} result`,other:`${e} results`}),"common.save":`Save`,"common.search":`Search`,"common.searchPlaceholder":`Search...`,"common.searchType":`Search Type`,"common.sort":`Sort`,"confirm.delete":`Are you sure you want to delete?`,"confirm.save":`Do you want to save?`,"dashboard.adminMenu":`Admin Menu`,"dashboard.createdAt":`Joined`,"dashboard.email":`Email`,"dashboard.loginRequired":`Please login to continue.`,"dashboard.name":`Name`,"dashboard.role":`Role`,"dashboard.title":`Admin Dashboard`,"dashboard.welcome":`Welcome!`,"delete.confirm.description":`This action cannot be undone. This will permanently delete this item.`,"delete.confirm.title":`Are you sure?`,"entity.create":e=>`Create ${e}`,"entity.edit":(e,t)=>`Edit ${e} (#${t})`,"entity.list":e=>`${e} List`,"entity.listManage":e=>`Manage ${e} List`,"error.alreadyProcessed":`Already processed`,"error.badRequest":`Bad request`,"error.duplicateRow":`Duplicate data`,"error.forbidden":`Forbidden`,"error.internalServerError":`Internal server error`,"error.notFound":`Not found`,"error.serviceUnavailable":`Service unavailable`,"setting.invalidValue":e=>`Invalid setting value: ${e}`,"setting.unknownKey":e=>`Unknown setting key ${e}`,"setting.noSupervisor":()=>`Restart is unavailable when running locally — nothing would bring the server back up`,"qgrid.dispatcherFailed":e=>`${e} dispatcher failed to initialize`,"qgrid.dispatcherStarting":e=>`${e} dispatcher is starting up. Please retry shortly`,"qgrid.restartPending":()=>`Server restart is in progress. Please retry shortly`,"error.unauthorized":`Unauthorized`,notFound:(e,t)=>`${e} ID ${t} not found`,"validation.email":`Invalid email format`,"validation.maxLength":(e,t)=>`${e} must be at most ${t} characters`,"validation.minLength":(e,t)=>`${e} must be at least ${t} characters`,"validation.required":e=>`${e} is required`,"validation.url":`Invalid URL format`},Su={"common.all":`전체`,"common.backToList":`목록으로`,"common.cancel":`취소`,"common.close":`닫기`,"common.confirm":`확인`,"common.create":`생성`,"common.createdAt":`등록`,"common.delete":`삭제`,"common.edit":`수정`,"common.login":`로그인`,"common.logout":`로그아웃`,"common.manage":`관리`,"common.results":e=>`${e}개 결과`,"common.save":`저장`,"common.search":`검색`,"common.searchPlaceholder":`검색...`,"common.searchType":`검색 유형`,"common.sort":`정렬`,"confirm.delete":`정말 삭제하시겠습니까?`,"confirm.save":`저장하시겠습니까?`,"dashboard.adminMenu":`관리 메뉴`,"dashboard.createdAt":`가입일`,"dashboard.email":`이메일`,"dashboard.loginRequired":`로그인이 필요합니다.`,"dashboard.name":`이름`,"dashboard.role":`역할`,"dashboard.title":`관리자 대시보드`,"dashboard.welcome":`환영합니다!`,"delete.confirm.description":`이 작업은 취소할 수 없습니다. 항목이 영구적으로 삭제됩니다.`,"delete.confirm.title":`정말 삭제하시겠습니까?`,"entity.create":e=>`${e} 생성`,"entity.edit":(e,t)=>`${e} 수정 (#${t})`,"entity.list":e=>`${e} 목록`,"entity.listManage":e=>`${e} 목록 관리`,"error.alreadyProcessed":`이미 처리되었습니다`,"error.badRequest":`잘못된 요청입니다`,"error.duplicateRow":`중복된 데이터입니다`,"error.entityNotFound":(e,t)=>`존재하지 않는 ${e} ID ${t}`,"error.forbidden":`권한이 없습니다`,"error.internalServerError":`서버 오류가 발생했습니다`,"error.notFound":`찾을 수 없습니다`,"error.serviceUnavailable":`서비스를 사용할 수 없습니다`,"setting.invalidValue":e=>`설정 값이 올바르지 않습니다: ${e}`,"setting.unknownKey":e=>`알 수 없는 설정 키 ${e}`,"setting.noSupervisor":()=>`로컬 실행 환경에서는 재시작할 수 없습니다 — 종료하면 다시 켜줄 모니터링 도구가 없습니다`,"qgrid.dispatcherFailed":e=>`${e} dispatcher 초기화에 실패했습니다`,"qgrid.dispatcherStarting":e=>`${e} dispatcher 기동 중입니다. 잠시 후 다시 시도해주세요`,"qgrid.restartPending":()=>`서버 재시작 중입니다. 잠시 후 다시 시도해주세요`,"error.unauthorized":`인증이 필요합니다`,"error.unknownSearchField":e=>`구현되지 않은 검색 필드 ${e}`,notFound:(e,t)=>`존재하지 않는 ${e} ID ${t}`,"validation.email":`올바른 이메일 형식이 아닙니다`,"validation.maxLength":(e,t)=>`${e}${Vu(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${Vu(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${Vu(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},Cu=`ko`,wu=[`ko`,`en`],Tu=Cu;function Eu(e){Tu=e}function Du(){return Tu}var Ou={"rc.asyncSelect.loading":`로딩 중...`,"rc.asyncSelect.noOptions":`옵션이 없습니다`,"rc.asyncSelect.noResults":`검색 결과가 없습니다`,"rc.asyncSelect.selectPlaceholder":`선택하세요...`,"rc.combobox.noResults":`검색 결과가 없습니다`,"rc.combobox.selectPlaceholder":`선택하세요...`,"rc.datePicker.pickDate":`날짜 선택`,"rc.datePicker.placeholder":`날짜 선택`,"rc.datePicker.selectDate":`날짜 선택`,"rc.dateSelectorMultiple.addDate":`날짜 추가`,"rc.dateSelectorMultiple.dateRange":`기간`,"rc.dateSelectorMultiple.placeholder":`날짜 선택`,"rc.dateSelectorMultiple.singleDate":`단일`,"rc.fileInput.browseFiles":`파일 찾기`,"rc.fileInput.dropZone":`파일을 드래그하거나 클릭하여 업로드`,"rc.fileInput.filePlaceholder":`파일`,"rc.fileInput.imagePlaceholder":`이미지`,"rc.fileInput.maxFilesExceeded":e=>`최대 ${e}개 파일만 업로드 가능합니다`,"rc.fileInput.pending":`대기 중`,"rc.fileInput.remove":`제거`,"rc.fileInput.uploadFailed":`업로드 실패`,"rc.fileInput.uploading":`업로드 중...`,"rc.monthPickerMultiple.addMonth":`월 추가`,"rc.monthPickerMultiple.dateRange":`기간`,"rc.monthPickerMultiple.endDate":`종료일`,"rc.monthPickerMultiple.placeholder":`월 선택`,"rc.monthPickerMultiple.singleDate":`단일`,"rc.monthPickerMultiple.startDate":`시작일`,"rc.multiSelect.clear":`전체 해제`,"rc.multiSelect.close":`닫기`,"rc.multiSelect.moreItems":e=>`+${e}개 더보기`,"rc.multiSelect.noOptions":`옵션이 없습니다`,"rc.multiSelect.noOptionsSelected":`선택된 옵션이 없습니다`,"rc.multiSelect.noResults":`검색 결과가 없습니다`,"rc.multiSelect.optionsCount":e=>`${e}개 옵션`,"rc.multiSelect.selectAll":`전체 선택`,"rc.multiSelect.selectPlaceholder":`선택하세요...`,"rc.pagination.next":`다음`,"rc.pagination.previous":`이전`,"rc.pagination.showing":(e,t,n)=>`${n}개 중 ${e}-${t}`,"rc.calendar.month.0":`1월`,"rc.calendar.month.1":`2월`,"rc.calendar.month.2":`3월`,"rc.calendar.month.3":`4월`,"rc.calendar.month.4":`5월`,"rc.calendar.month.5":`6월`,"rc.calendar.month.6":`7월`,"rc.calendar.month.7":`8월`,"rc.calendar.month.8":`9월`,"rc.calendar.month.9":`10월`,"rc.calendar.month.10":`11월`,"rc.calendar.month.11":`12월`,"rc.sonamuFilter.title":`소나무 필터`,"rc.sonamuFilter.apply":`적용`,"rc.sonamuFilter.reset":`초기화`,"rc.sonamuFilter.addRule":`규칙 추가`,"rc.sonamuFilter.noRulesYet":`아직 규칙이 없습니다. "+ 규칙 추가"를 클릭하여 시작하세요.`,"rc.sonamuFilter.selectField":`필드 선택`,"rc.sonamuFilter.selectOperator":`연산자 선택`,"rc.sonamuFilter.selectOperatorFirst":`먼저 연산자를 선택하세요`,"rc.sonamuFilter.enterValue":`값 입력`,"rc.sonamuFilter.enterNumber":`숫자 입력`,"rc.sonamuFilter.notSupported":`지원하지 않음`,"rc.sonamuFilter.startDate":`시작일`,"rc.sonamuFilter.endDate":`종료일`,"rc.sonamuFilter.appliedFilters":`🌲 적용된 소나무 필터`,"rc.common.cancel":`취소`,"rc.common.save":`저장`},ku={"rc.asyncSelect.loading":`Loading...`,"rc.asyncSelect.noOptions":`No options`,"rc.asyncSelect.noResults":`No results`,"rc.asyncSelect.selectPlaceholder":`Select...`,"rc.combobox.noResults":`No results`,"rc.combobox.selectPlaceholder":`Select...`,"rc.datePicker.pickDate":`Pick date`,"rc.datePicker.placeholder":`Pick date`,"rc.datePicker.selectDate":`Select date`,"rc.dateSelectorMultiple.addDate":`Add date`,"rc.dateSelectorMultiple.dateRange":`Range`,"rc.dateSelectorMultiple.placeholder":`Pick date`,"rc.dateSelectorMultiple.singleDate":`Single`,"rc.fileInput.browseFiles":`Browse files`,"rc.fileInput.dropZone":`Drag files here or click to upload`,"rc.fileInput.filePlaceholder":`File`,"rc.fileInput.imagePlaceholder":`Image`,"rc.fileInput.maxFilesExceeded":e=>`Maximum ${e} files allowed`,"rc.fileInput.pending":`Pending`,"rc.fileInput.remove":`Remove`,"rc.fileInput.uploadFailed":`Upload failed`,"rc.fileInput.uploading":`Uploading...`,"rc.monthPickerMultiple.addMonth":`Add month`,"rc.monthPickerMultiple.dateRange":`Range`,"rc.monthPickerMultiple.endDate":`End date`,"rc.monthPickerMultiple.placeholder":`Pick month`,"rc.monthPickerMultiple.singleDate":`Single`,"rc.monthPickerMultiple.startDate":`Start date`,"rc.multiSelect.clear":`Clear all`,"rc.multiSelect.close":`Close`,"rc.multiSelect.moreItems":e=>`+${e} more`,"rc.multiSelect.noOptions":`No options`,"rc.multiSelect.noOptionsSelected":`No options selected`,"rc.multiSelect.noResults":`No results`,"rc.multiSelect.optionsCount":e=>`${e} options`,"rc.multiSelect.selectAll":`Select all`,"rc.multiSelect.selectPlaceholder":`Select...`,"rc.pagination.next":`Next`,"rc.pagination.previous":`Previous`,"rc.pagination.showing":(e,t,n)=>`Showing ${e}-${t} of ${n}`,"rc.calendar.month.0":`January`,"rc.calendar.month.1":`February`,"rc.calendar.month.2":`March`,"rc.calendar.month.3":`April`,"rc.calendar.month.4":`May`,"rc.calendar.month.5":`June`,"rc.calendar.month.6":`July`,"rc.calendar.month.7":`August`,"rc.calendar.month.8":`September`,"rc.calendar.month.9":`October`,"rc.calendar.month.10":`November`,"rc.calendar.month.11":`December`,"rc.sonamuFilter.title":`Sonamu Filter`,"rc.sonamuFilter.apply":`Apply`,"rc.sonamuFilter.reset":`Reset`,"rc.sonamuFilter.addRule":`Add Rule`,"rc.sonamuFilter.noRulesYet":`No rules yet. Click "+ Add Rule" to start.`,"rc.sonamuFilter.selectField":`Select field`,"rc.sonamuFilter.selectOperator":`Operator`,"rc.sonamuFilter.selectOperatorFirst":`Select operator first`,"rc.sonamuFilter.enterValue":`Enter value`,"rc.sonamuFilter.enterNumber":`Enter number`,"rc.sonamuFilter.notSupported":`Not supported`,"rc.sonamuFilter.startDate":`Start date`,"rc.sonamuFilter.endDate":`End date`,"rc.sonamuFilter.appliedFilters":`🌲 Applied SonamuFilters`,"rc.common.cancel":`Cancel`,"rc.common.save":`Save`},Au={"entity.RequestLog":`RequestLog`,"entity.RequestLog.id":`ID`,"entity.RequestLog.created_at":`등록일시`,"entity.RequestLog.token_name":`토큰 이름`,"entity.RequestLog.project_name":`프로젝트 이름`,"entity.RequestLog.model_name":`모델 이름`,"entity.RequestLog.requested_model_name":`요청 모델 이름 (fallback 전)`,"entity.RequestLog.fallback_count":`모델 fallback 횟수`,"entity.RequestLog.user_prompt":`사용자 프롬프트`,"entity.RequestLog.system_prompt":`시스템 프롬프트`,"entity.RequestLog.response":`llm 응답 전문`,"entity.RequestLog.input_tokens":`입력 토큰`,"entity.RequestLog.output_tokens":`출력 토큰`,"entity.RequestLog.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLog.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLog.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLog.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLog.duration_ms":`응답 소요시간(ms)`,"entity.RequestLog.ttft_ms":`first gen TTFT(ms)`,"entity.RequestLog.cost_usd":`API 비용`,"entity.RequestLog.cost_source":`비용 출처(provider/pricing_table/mixed)`,"entity.RequestLog.image_cost_usd":`이미지 생성 추정 비용`,"entity.RequestLog.image_cost_method":`이미지 비용 추정 방식`,"entity.RequestLog.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.json_schema":`structured output 요청의 JSON Schema 원문 (detail 의 response 타입 표시용)`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.response_json_ok":`structured(jsonSchema) 요청의 응답 JSON 파싱 성공 여부. 비structured 요청은 null`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"entity.RequestLog.is_structured":`structured output(jsonSchema) 요청 여부 (목록 구분 표시용)`,"enum.RequestLogOrderBy.id-desc":`ID최신순`,"enum.RequestLogOrderBy.id-asc":`ID오래된순`,"enum.RequestLogOrderBy.created_at-desc":`등록일시최신순`,"enum.RequestLogOrderBy.created_at-asc":`등록일시오래된순`,"enum.RequestLogOrderBy.ttft_ms-desc":`TTFT긴순`,"enum.RequestLogOrderBy.ttft_ms-asc":`TTFT짧은순`,"enum.RequestLogOrderBy.duration_ms-desc":`소요시간긴순`,"enum.RequestLogOrderBy.duration_ms-asc":`소요시간짧은순`,"enum.RequestLogOrderBy.input_tokens-desc":`입력토큰많은순`,"enum.RequestLogOrderBy.input_tokens-asc":`입력토큰적은순`,"enum.RequestLogOrderBy.output_tokens-desc":`출력토큰많은순`,"enum.RequestLogOrderBy.output_tokens-asc":`출력토큰적은순`,"enum.RequestLogOrderBy.cache_read_tokens-desc":`캐시읽기많은순`,"enum.RequestLogOrderBy.cache_read_tokens-asc":`캐시읽기적은순`,"enum.RequestLogOrderBy.cache_creation_tokens-desc":`캐시생성많은순`,"enum.RequestLogOrderBy.cache_creation_tokens-asc":`캐시생성적은순`,"enum.RequestLogOrderBy.cost_usd-desc":`비용높은순`,"enum.RequestLogOrderBy.cost_usd-asc":`비용낮은순`,"enum.RequestLogSearchField.id":`ID`,"enum.RequestLogSearchField.token_name":`토큰이름`,"enum.RequestLogSearchField.user_prompt":`사용자 프롬프트`,"enum.RequestLogStatus.running":`실행 중`,"enum.RequestLogStatus.succeeded":`성공`,"enum.RequestLogStatus.error":`에러`,"enum.RequestLogStatus.aborted":`중단`,"entity.RequestLogStep":`RequestLogStep`,"entity.RequestLogStep.id":`ID`,"entity.RequestLogStep.created_at":`등록일시`,"entity.RequestLogStep.request_log":`부모 request log ID`,"entity.RequestLogStep.step_index":`ai-sdk step number (0-based)`,"entity.RequestLogStep.type":`step 타입`,"entity.RequestLogStep.model_name":`실제 serving 모델`,"entity.RequestLogStep.requested_model_name":`요청 모델 (fallback 전)`,"entity.RequestLogStep.fallback_count":`모델 fallback 횟수`,"entity.RequestLogStep.input_tokens":`입력 토큰 (generate)`,"entity.RequestLogStep.output_tokens":`출력 토큰 (generate)`,"entity.RequestLogStep.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLogStep.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cost_usd":`step 비용 (micro-USD)`,"entity.RequestLogStep.cost_source":`비용 출처(provider/pricing_table)`,"entity.RequestLogStep.duration_ms":`소요시간(ms)`,"entity.RequestLogStep.ttft_ms":`Gen TTFT(ms)`,"entity.RequestLogStep.finish_reason":`완료 사유`,"entity.RequestLogStep.reasoning_text":`reasoning 텍스트`,"entity.RequestLogStep.reasoning_tokens":`reasoning 토큰 수`,"entity.RequestLogStep.tool_call_index":`같은 step 내 tool call 순서`,"entity.RequestLogStep.tool_call_id":`tool call ID`,"entity.RequestLogStep.tool_name":`tool 이름`,"entity.RequestLogStep.tool_args":`tool 인자 (JSON string)`,"entity.RequestLogStep.tool_result":`tool 결과 (JSON string)`,"entity.RequestLogStep.tool_duration_ms":`tool 실행 소요시간(ms)`,"entity.RequestLogStep.error":`step 에러 메시지`,"enum.RequestLogStepType.generate":`LLM 생성`,"enum.RequestLogStepType.tool_call":`Tool 호출`,"enum.RequestLogStepOrderBy.id-asc":`ID순`,"enum.RequestLogStepSearchField.id":`ID`,"entity.Setting":`Setting`,"entity.Setting.id":`ID`,"entity.Setting.created_at":`등록일시`,"entity.Setting.key":`설정 키 (예: slack.enabled)`,"entity.Setting.value":`설정 값 (문자열 저장, 앱에서 파싱·검증)`,"entity.Setting.updated_at":`최종 수정일시`,"enum.SettingOrderBy.key-asc":`키순`,"enum.SettingSearchField.key":`키`,"entity.Token":`Token`,"entity.Token.id":`ID`,"entity.Token.created_at":`등록일시`,"entity.Token.provider":`프로바이더`,"entity.Token.credentials":`인증 정보 (JSONB)`,"entity.Token.name":`토큰 이름`,"entity.Token.active":`활성 여부`,"entity.Token.reauth_required":`인증 만료로 재로그인이 필요한지 여부`,"entity.Token.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"entity.Token.keepalive_enabled":`Anthropic 5시간 토큰 윈도우 keepalive 사용 여부`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},ju={ko:{...Ou,...Au,...Su},en:{...ku,...xu}};function Mu(e,t){let n=ju[t];if(n?.[e]!==void 0)return n[e];if(t!==Cu&&ju[Cu]?.[e]!==void 0)return ju[Cu][e];for(let n of wu)if(n!==t&&n!==Cu&&ju[n]?.[e]!==void 0)return ju[n][e];return e}function Nu(e){return Mu(e,Du())}Nu.locale=e=>t=>Mu(t,e),Nu.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return Mu(`enum.${e}.${n}`,Du())}});var Pu=t(k(),1),Fu=t(c(),1);function Iu(e,t){return typeof t==`string`&&(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{1,3})?)?(Z|[+-]\d{2}:\d{2})?$/.test(t)||/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$/.test(t))&&new Date(t).toString()!==`Invalid Date`?new Date(t):t}L.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,Iu)}catch{return e}return e}],L.interceptors.request.use(e=>(e.headers[`Accept-Language`]=Du(),e));async function Q(e){try{return(await L({...e})).data}catch(e){if(L.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new Lu(e.response.status,t.message,t.issues)}throw e}}var Lu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};function Ru(e){return e&&e.isSonamuError===!0}Zl([`both`,`list`,`count`]),Gl({semanticQuery:Gl({embedding:Ul(Fl()).min(1024).max(1024),threshold:Fl().optional(),method:Zl([`cosine`,`l2`,`inner_product`]).optional()})}),ml().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`),Gl({name:ml(),url:ml(),mime_type:ml(),size:Fl()});function zu(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,Fu.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,Fu.useRef)(null),u=(0,Fu.useRef)(null),d=(0,Fu.useRef)(n);(0,Fu.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=Pu.default.stringify(t),r=new li(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":Du()}})});l.current=r,c(e=>({...e,isConnected:!1,error:null,isEnded:!1})),r.onopen=()=>{c(e=>({...e,isConnected:!0,error:null,retryCount:0,isEnded:!1}))},r.onerror=e=>{l.current===r&&(r.close(),c(e=>({...e,isConnected:!1,error:`Connection failed`,isEnded:!1})),c(e=>e.retryCount<a?(u.current=setTimeout(()=>{u.current!==null&&(c(e=>({...e,retryCount:e.retryCount+1,isEnded:!1})),f())},o),e):(l.current=null,{...e,error:`Connection failed after ${a} attempts`})))},r.addEventListener(`end`,()=>{if(l.current===r&&(r.close(),l.current=null,c(e=>({...e,isConnected:!1,error:null,isEnded:!0})),d.current.end)){let e=d.current.end;e(`end`)}}),Object.keys(d.current).forEach(e=>{let t=d.current[e];t&&r.addEventListener(e,n=>{if(l.current===r){try{t(JSON.parse(n.data,Iu))}catch(t){console.error(`Failed to parse SSE data for event ${e}:`,t)}c(e=>({...e,isEnded:!1}))}})}),r.onmessage=e=>{if(l.current===r)try{let t=JSON.parse(e.data,Iu),n=d.current.message;n&&n(t)}catch(e){console.error(`Failed to parse SSE message:`,e)}}}catch(e){c(t=>({...t,error:e instanceof Error?e.message:`Unknown error`,isConnected:!1,isEnded:!1}))}};return(0,Fu.useEffect)(()=>(i&&(c({isConnected:!1,error:null,retryCount:0,isEnded:!1}),f()),()=>{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null)}),[e,JSON.stringify(t),i]),s}function Bu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function Vu(e,t){let n=(()=>{let t=e.charCodeAt(e.length-1);return t<44032||t>55203?!1:(t-44032)%28!=0})();return e+{은는:n?`은`:`는`,이가:n?`이`:`가`,을를:n?`을`:`를`,과와:n?`과`:`와`,으로:n?`으로`:`로`}[t]}function Hu(e){let t=new Set,n=[];for(let r of e.pages)for(let e of r?.rows??[]){let r=e?.id;if(r!==null){if(t.has(r))continue;t.add(r)}n.push(e)}let r=e.pages[0]?.total??0;return{pages:e.pages,pageParams:e.pageParams,rows:n,total:r}}function $(e){let[t,n]=(0,Fu.useState)(!1),r=(0,Fu.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var Uu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/token/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getToken=t;let n=e.getTokenQueryOptions=(e,n)=>i({queryKey:[`Token`,`getToken`,e,n],queryFn:()=>t(e,n)});e.useToken=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/token/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getTokens=c;let l=e.getTokensQueryOptions=(e,t)=>i({queryKey:[`Token`,`getTokens`,e,t],queryFn:()=>c(e,t)});e.useTokens=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getTokensInfiniteQueryOptions=(e,t)=>a({queryKey:[`Token`,`getTokens`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useTokensInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/token/reorder`,data:{ids:e}})}e.reorder=d,e.useReorderMutation=()=>o({mutationFn:e=>d(e.ids)});async function f(e){return Q({method:`POST`,url:`/api/token/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Uu||={});var Wu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/setting/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getSetting=t;let n=e.getSettingQueryOptions=(e,n)=>i({queryKey:[`Setting`,`getSetting`,e,n],queryFn:()=>t(e,n)});e.useSetting=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/setting/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getSettings=c;let l=e.getSettingsQueryOptions=(e,t)=>i({queryKey:[`Setting`,`getSettings`,e,t],queryFn:()=>c(e,t)});e.useSettings=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getSettingsInfiniteQueryOptions=(e,t)=>a({queryKey:[`Setting`,`getSettings`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useSettingsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(){return Q({method:`GET`,url:`/api/setting/listSettings`})}e.getSettingList=d;let f=e.getSettingListQueryOptions=()=>i({queryKey:[`Setting`,`getSettingList`],queryFn:()=>d()});e.useSettingList=e=>$(r({...f(),...e}));async function p(e,t){return Q({method:`POST`,url:`/api/setting/updateSetting`,data:{key:e,value:t}})}e.updateSetting=p,e.useUpdateSettingMutation=()=>o({mutationFn:e=>p(e.key,e.value)});async function m(e){return Q({method:`POST`,url:`/api/setting/resetSetting`,data:{key:e}})}e.resetSetting=m,e.useResetSettingMutation=()=>o({mutationFn:e=>m(e.key)});async function h(){return Q({method:`POST`,url:`/api/setting/triggerExpiryReminder`})}e.triggerExpiryReminder=h,e.useTriggerExpiryReminderMutation=()=>o({mutationFn:e=>h()});async function g(){return Q({method:`POST`,url:`/api/setting/restartServer`})}e.restartServer=g,e.useRestartServerMutation=()=>o({mutationFn:e=>g()})})(Wu||={});var Gu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getRequestLogStep=t;let n=e.getRequestLogStepQueryOptions=(e,n)=>i({queryKey:[`RequestLogStep`,`getRequestLogStep`,e,n],queryFn:()=>t(e,n)});e.useRequestLogStep=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogSteps=c;let l=e.getRequestLogStepsQueryOptions=(e,t)=>i({queryKey:[`RequestLogStep`,`getRequestLogSteps`,e,t],queryFn:()=>c(e,t)});e.useRequestLogSteps=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogStepsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLogStep`,`getRequestLogSteps`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useRequestLogStepsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLogStep/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`POST`,url:`/api/requestLogStep/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Gu||={});var Ku;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLog/findById?${Pu.default.stringify({subset:e,id:t})}`})}e.getRequestLog=t;let n=e.getRequestLogQueryOptions=(e,n)=>i({queryKey:[`RequestLog`,`getRequestLog`,e,n],queryFn:()=>t(e,n)});e.useRequestLog=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLog/findMany?${Pu.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogs=c;let l=e.getRequestLogsQueryOptions=(e,t)=>i({queryKey:[`RequestLog`,`getRequestLogs`,e,t],queryFn:()=>c(e,t)});e.useRequestLogs=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLog`,`getRequestLogs`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Hu});e.useRequestLogsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLog/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`GET`,url:`/api/requestLog/responseTypeTs?${Pu.default.stringify({id:e})}`})}e.responseTypeTs=f;let p=e.responseTypeTsQueryOptions=e=>i({queryKey:[`RequestLog`,`responseTypeTs`,e],queryFn:()=>f(e)});e.useResponseTypeTs=(e,t)=>$(r({...p(e),...t}));async function m(e){return Q({method:`GET`,url:`/api/requestLog/toolsView?${Pu.default.stringify({id:e})}`})}e.toolsView=m;let h=e.toolsViewQueryOptions=e=>i({queryKey:[`RequestLog`,`toolsView`,e],queryFn:()=>m(e)});e.useToolsView=(e,t)=>$(r({...h(e),...t}));async function g(e){return Q({method:`POST`,url:`/api/requestLog/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>o({mutationFn:e=>g(e.ids)})})(Ku||={});var qu;(function(e){async function t(e){return Q({method:`POST`,url:`/api/qgrid/query`,data:{args:e}})}e.query=t,e.useQueryMutation=()=>o({mutationFn:e=>t(e.args)});async function n(e){return Q({method:`POST`,url:`/api/qgrid/prepareStream`,data:{args:e}})}e.prepareStream=n,e.usePrepareStreamMutation=()=>o({mutationFn:e=>n(e.args)});function a(e,t,n){return zu(`/api/qgrid/queryStream`,e,t,n)}e.useQueryStream=a;async function s(e){return Q({method:`POST`,url:`/api/qgrid/createRun`,data:{input:e}})}e.createRun=s,e.useCreateRunMutation=()=>o({mutationFn:e=>s(e.input)});async function c(e){return Q({method:`POST`,url:`/api/qgrid/appendStep`,data:{input:e}})}e.appendStep=c,e.useAppendStepMutation=()=>o({mutationFn:e=>c(e.input)});async function l(e){return Q({method:`POST`,url:`/api/qgrid/finishRun`,data:{input:e}})}e.finishRun=l,e.useFinishRunMutation=()=>o({mutationFn:e=>l(e.input)});async function u(){return Q({method:`GET`,url:`/api/qgrid/stats`})}e.stats=u;let d=e.statsQueryOptions=()=>i({queryKey:[`Qgrid`,`stats`],queryFn:()=>u()});e.useStats=e=>$(r({...d(),...e}));async function f(e){return Q({method:`GET`,url:`/api/qgrid/totalCost?${Pu.default.stringify({params:e})}`})}e.totalCost=f;let p=e.totalCostQueryOptions=e=>i({queryKey:[`Qgrid`,`totalCost`,e],queryFn:()=>f(e)});e.useTotalCost=(e,t)=>$(r({...p(e),...t}));async function m(){return Q({method:`GET`,url:`/api/qgrid/projectNames`})}e.projectNames=m;let h=e.projectNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`projectNames`],queryFn:()=>m()});e.useProjectNames=e=>$(r({...h(),...e}));async function g(){return Q({method:`GET`,url:`/api/qgrid/modelNames`})}e.modelNames=g;let _=e.modelNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`modelNames`],queryFn:()=>g()});e.useModelNames=e=>$(r({..._(),...e}));async function v(e,t,n){return Q({method:`POST`,url:`/api/qgrid/addToken`,data:{provider:e,credentials:t,name:n}})}e.addToken=v,e.useAddTokenMutation=()=>o({mutationFn:e=>v(e.provider,e.credentials,e.name)});async function y(e,t,n,r,i){return Q({method:`POST`,url:`/api/qgrid/updateToken`,data:{id:e,name:t,quotaThreshold:n,weight:r,keepaliveEnabled:i}})}e.updateToken=y;async function b(e){return Q({method:`POST`,url:`/api/qgrid/removeToken`,data:{id:e}})}e.removeToken=b,e.useRemoveTokenMutation=()=>o({mutationFn:e=>b(e.id)});async function x(e){return Q({method:`POST`,url:`/api/qgrid/toggleToken`,data:{id:e}})}e.toggleToken=x,e.useToggleTokenMutation=()=>o({mutationFn:e=>x(e.id)});async function S(e){return Q({method:`POST`,url:`/api/qgrid/oauthStart`,data:{name:e}})}e.oauthStart=S,e.useOauthStartMutation=()=>o({mutationFn:e=>S(e.name)});async function C(e){return Q({method:`POST`,url:`/api/qgrid/oauthComplete`,data:{pastedCode:e}})}e.oauthComplete=C,e.useOauthCompleteMutation=()=>o({mutationFn:e=>C(e.pastedCode)});async function w(e){return Q({method:`POST`,url:`/api/qgrid/oauthStartOpenAI`,data:{name:e}})}e.oauthStartOpenAI=w,e.useOauthStartOpenAIMutation=()=>o({mutationFn:e=>w(e.name)});async function ee(e){return Q({method:`GET`,url:`/api/qgrid/usage?${Pu.default.stringify({tokenId:e})}`})}e.usage=ee;let T=e.usageQueryOptions=e=>i({queryKey:[`Qgrid`,`usage`,e],queryFn:()=>ee(e)});e.useUsage=(e,t)=>$(r({...T(e),...t}));async function te(){return Q({method:`GET`,url:`/api/qgrid/health`})}e.health=te;let E=e.healthQueryOptions=()=>i({queryKey:[`Qgrid`,`health`],queryFn:()=>te()});e.useHealth=e=>$(r({...E(),...e}))})(qu||={});var Ju;(function(e){async function t(e){return Q({method:`GET`,url:`/api/monit/monitLogs?${Pu.default.stringify({cursor:e})}`})}e.monitLogs=t;let n=e.monitLogsQueryOptions=e=>i({queryKey:[`Monit`,`monitLogs`,e],queryFn:()=>t(e)});e.useMonitLogs=(e,t)=>$(r({...n(e),...t}));async function a(){return Q({method:`GET`,url:`/api/monit/monitInfo`})}e.monitInfo=a;let o=e.monitInfoQueryOptions=()=>i({queryKey:[`Monit`,`monitInfo`],queryFn:()=>a()});e.useMonitInfo=e=>$(r({...o(),...e}));async function s(){return Q({method:`GET`,url:`/api/monit/monitStats`})}e.monitStats=s;let c=e.monitStatsQueryOptions=()=>i({queryKey:[`Monit`,`monitStats`],queryFn:()=>s()});e.useMonitStats=e=>$(r({...c(),...e}))})(Ju||={}),Ku.useRequestLogs,Ku.useRequestLogsInfinite,Gu.useRequestLogSteps,Gu.useRequestLogStepsInfinite,Wu.useSettings,Wu.useSettingsInfinite,Uu.useTokens,Uu.useTokensInfinite;export{Sr as _,Wu as a,Q as c,wu as d,Eu as f,ml as g,Gl as h,Gu as i,Ru as l,Fl as m,qu as n,Uu as o,Zl as p,Ku as r,Iu as s,Ju as t,Nu as u};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t,y as n}from"./vendor-tanstack-DJRQAbrY.js";import{i as r,r as i}from"./vendor-react-DH4kUfK2.js";import{_ as a,a as o,l as s,n as c,o as l}from"./services.generated-Bg2XkD-D.js";import{s as u}from"./index-DJpa8UaG.js";import{t as d}from"./use-update-token-mutation-Dkv_HG-C.js";import{t as f}from"./plus-CknMNCP5.js";var p=e(r()),m=i(),h=e=>(0,m.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,m.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,m.jsx)(`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0`}),(0,m.jsx)(`circle`,{cx:12,cy:12,r:3})]})}),g=e=>(0,m.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,m.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,m.jsx)(`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242`}),(0,m.jsx)(`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20`})]})}),_=e=>(0,m.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,m.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 12h14`})}),v={qgrid:`Qgrid`,slack:`Slack 알림`,slackConnection:`Slack 연결`},y=180*1e3;function b(e){return e?e.length<=12?`•`.repeat(e.length):`${e.slice(0,8)}${`•`.repeat(12)}${e.slice(-4)}`:``}function x({value:e,min:t,max:n,step:r,disabled:i,onChange:a}){let o=Number(e),s=Number.isFinite(o),c=t??-1/0,l=n??1/0,u=e=>{let n=Math.min(Math.max((s?o:t??0)+e,c),l);a(String(Number(n.toFixed(2))))};return(0,m.jsxs)(`div`,{className:`inline-flex items-center rounded-lg border border-sand-200/80 bg-white overflow-hidden`,children:[(0,m.jsx)(`button`,{type:`button`,"aria-label":`감소`,onClick:()=>u(-r),disabled:i||s&&o<=c,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,m.jsx)(_,{className:`size-3`})}),(0,m.jsx)(`input`,{value:e,onChange:e=>a(e.target.value),disabled:i,inputMode:`decimal`,className:`w-12 text-center text-[12px] tabular-nums text-sand-800 bg-transparent border-x border-sand-200/80 py-1 focus:outline-none focus:bg-sand-50`}),(0,m.jsx)(`button`,{type:`button`,"aria-label":`증가`,onClick:()=>u(r),disabled:i||s&&o>=l,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,m.jsx)(f,{className:`size-3`})})]})}function S({value:e,presets:t,disabled:n,onChange:r}){let i=Number(e);return(0,m.jsx)(`div`,{className:`segmented-control inline-flex`,children:t.map(e=>(0,m.jsx)(`button`,{type:`button`,disabled:n,"data-active":i===e,onClick:()=>r(String(e)),className:`rounded-[6px] px-2.5 py-1 text-[11px] font-medium tabular-nums text-sand-500 transition-colors hover:text-sand-800 disabled:opacity-50 data-[active=true]:text-sand-900`,children:e>=60?`${e/60}시간`:`${e}분`},e))})}function C({source:e}){return(0,m.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded ${e===`db`?`bg-sienna-50 text-sienna-600`:`bg-sand-100 text-sand-500`}`,children:e===`db`?`저장값`:e===`env`?`환경변수`:`기본값`})}function w({on:e,disabled:t,onChange:n}){return(0,m.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,disabled:t,onClick:()=>n(!e),className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors duration-200 disabled:opacity-50 ${e?`bg-sage-400`:`bg-sand-300`}`,children:(0,m.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform duration-200 ${e?`translate-x-4.5`:`translate-x-0.5`}`})})}function T({item:e,disabled:t=!1}){let[r,i]=(0,p.useState)(null),[a,s]=(0,p.useState)(!1),[c,l]=(0,p.useState)(null),d=n(),f=o.useUpdateSettingMutation(),_=o.useResetSettingMutation(),v=t||f.isPending||_.isPending,y=r??e.value,T=r!==null&&r!==e.value,E=()=>d.invalidateQueries({queryKey:o.getSettingListQueryOptions().queryKey}),D=async t=>{l(null);try{await f.mutateAsync({key:e.key,value:t}),await E(),i(null)}catch(e){l(e.message)}},O=async()=>{l(null);try{await _.mutateAsync({key:e.key}),await E(),i(null)}catch(e){l(e.message)}},k=e.kind===`secret`;return(0,m.jsxs)(`div`,{className:`px-4 py-3 sm:px-5`,children:[(0,m.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`text-[13px] text-sand-800`,children:e.label}),(0,m.jsx)(C,{source:e.source}),e.applies===`restart`&&(0,m.jsx)(`span`,{className:`text-[10px] text-caution-500`,title:`저장해도 다음 재시작부터 반영됩니다`,children:`재시작 필요`})]}),e.help&&(0,m.jsx)(`p`,{className:`mt-0.5 text-[11px] text-sand-500`,children:e.help})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[e.kind===`boolean`&&(0,m.jsx)(w,{on:y===`true`,disabled:v,onChange:e=>void D(String(e))}),e.kind===`preset`&&(0,m.jsx)(S,{value:y,presets:e.presets,disabled:v,onChange:e=>void D(e)}),(e.kind===`integer`||e.kind===`number`)&&(0,m.jsx)(x,{value:y,min:e.min,max:e.max,step:e.kind===`integer`?1:.5,disabled:v,onChange:i}),(e.kind===`string`||k)&&(0,m.jsxs)(`div`,{className:`relative`,children:[(0,m.jsx)(`input`,{value:k&&!a?b(y):y,onChange:e=>i(e.target.value),onFocus:()=>k&&s(!0),disabled:v,className:`w-48 sm:w-64 rounded-lg border border-sand-200/80 bg-white py-1.5 pl-2.5 text-[12px] text-sand-800 focus:outline-none focus:border-sienna-300 ${k?`pr-8 font-mono`:`pr-2.5`}`}),k&&(0,m.jsx)(`button`,{type:`button`,"aria-label":a?`값 숨기기`:`값 보기`,onClick:()=>s(e=>!e),className:`absolute right-1.5 top-1/2 -translate-y-1/2 size-6 grid place-items-center text-sand-400 hover:text-sand-600 transition-colors duration-150`,children:a?(0,m.jsx)(g,{className:`size-3.5`}):(0,m.jsx)(h,{className:`size-3.5`})})]}),T&&(0,m.jsx)(`button`,{type:`button`,onClick:()=>void D(y),disabled:v,className:`px-2.5 py-1.5 text-[11px] font-medium rounded-lg bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,children:f.isPending?`저장 중`:`저장`}),!T&&e.source===`db`&&(0,m.jsx)(`button`,{type:`button`,title:`저장값을 지웁니다 — 환경변수 또는 기본값으로 돌아갑니다`,onClick:()=>void O(),disabled:v,className:`size-7 grid place-items-center rounded-lg text-sand-400 hover:text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:(0,m.jsx)(u,{className:`size-3.5`})})]})]}),c&&(0,m.jsx)(`p`,{className:`mt-1.5 text-[11px] text-red-500`,children:c})]})}function E({runnerEnabled:e}){let t=n(),[r,i]=(0,p.useState)(null),a=l.useTokens(`A`,{orderBy:`ord-asc`,num:100}),o=d(),s=(a.data?.rows??[]).filter(e=>e.provider===`anthropic`),c=async(e,n)=>{i(null);try{await o.mutateAsync({id:e,keepaliveEnabled:n}),await t.invalidateQueries({queryKey:[`Token`,`getTokens`]})}catch(e){i(e.message)}};return(0,m.jsxs)(`div`,{className:`border-t border-sand-100/80 bg-sand-50/40 px-4 py-3 sm:px-5`,children:[(0,m.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`p`,{className:`text-[11px] font-medium text-sand-600`,children:`토큰별 keepalive`}),(0,m.jsx)(`p`,{className:`mt-0.5 text-[10px] text-sand-400`,children:e?`켜진 활성 Anthropic 토큰만 5시간 윈도우를 유지합니다`:`이 인스턴스는 keepalive runner로 지정되지 않았습니다`})]}),(0,m.jsx)(`span`,{className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] ${e?`bg-sage-50 text-sage-600`:`bg-sand-100 text-sand-500`}`,children:e?`runner`:`실행 안 함`})]}),a.isLoading?(0,m.jsx)(`p`,{className:`py-2 text-[11px] text-sand-400`,children:`토큰을 불러오는 중…`}):s.length===0?(0,m.jsx)(`p`,{className:`py-2 text-[11px] text-sand-400`,children:`등록된 Anthropic 토큰이 없습니다`}):(0,m.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-sand-200/70 bg-white`,children:s.map(t=>(0,m.jsxs)(`div`,{className:`flex items-center justify-between gap-4 border-b border-sand-100/80 px-3 py-2 last:border-b-0`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`span`,{className:`block truncate text-[12px] text-sand-700`,children:t.name}),!t.active&&(0,m.jsx)(`span`,{className:`text-[10px] text-sand-400`,children:`토큰 비활성`})]}),(0,m.jsx)(w,{on:t.keepalive_enabled,disabled:!e||o.isPending,onChange:e=>void c(t.id,e)})]},t.id))}),r&&(0,m.jsx)(`p`,{className:`mt-2 text-[11px] text-red-500`,children:r})]})}function D(){let[e,t]=(0,p.useState)(null),n=o.useTriggerExpiryReminderMutation(),r=async()=>{t(null);try{let{sent:e}=await n.mutateAsync();t(e===0?`재로그인이 필요한 토큰이 없습니다`:`${e}건 발송`)}catch(e){t(e.message)}};return(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,m.jsx)(`span`,{className:`text-[11px] text-sand-500`,children:e}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>void r(),disabled:n.isPending,className:`px-2 py-1 text-[11px] rounded-lg border border-sand-200/80 text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:n.isPending?`보내는 중`:`지금 보내기`})]})}function O({supervisor:e}){let[r,i]=(0,p.useState)(!1),[l,u]=(0,p.useState)(!1),[d,f]=(0,p.useState)(null),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(!1),[b,x]=(0,p.useState)(null),S=(0,p.useRef)(!1),C=(0,p.useRef)(0),w=n(),T=o.useRestartServerMutation(),E=T.reset,D=t({...c.healthQueryOptions(),enabled:l&&!_,refetchInterval:l&&!_?1e3:!1,refetchIntervalInBackground:!0,retry:!1});(0,p.useEffect)(()=>{if(!l||d===null||_)return;let e=Math.max(0,y-(Date.now()-d)),t=window.setTimeout(()=>{C.current+=1,E(),i(!1),u(!1),f(null),g(!1),x(`재시작 후 3분 안에 서버 준비를 확인하지 못했습니다. 상태를 확인한 뒤 다시 시도하세요.`)},e);return()=>window.clearTimeout(t)},[_,E,l,d]),(0,p.useEffect)(()=>{if(!l||d===null)return;let e=D.isError&&D.errorUpdatedAt>=d,t=D.isSuccess&&D.dataUpdatedAt>=d;if(e||t&&!D.data.ready){g(!0);return}!h||!t||!D.data.ready||S.current||(S.current=!0,v(!0),w.invalidateQueries({queryKey:o.getSettingListQueryOptions().queryKey}).then(()=>{C.current+=1,E(),i(!1),u(!1),f(null),g(!1)}).catch(e=>{C.current+=1,E(),i(!1),u(!1),f(null),g(!1),x(`서버는 준비됐지만 설정을 새로고침하지 못했습니다: ${e.message}`)}).finally(()=>{S.current=!1,v(!1)}))},[D.dataUpdatedAt,D.data?.ready,D.errorUpdatedAt,D.isError,D.isSuccess,w,E,d,l,h]);let O=async()=>{let e=C.current+1;C.current=e,x(null),g(!1),v(!1),S.current=!1,u(!0),f(Date.now());try{await T.mutateAsync()}catch(t){if(C.current!==e)return;(s(t)?t.code>=400&&t.code<500:a(t)&&t.response!==void 0&&t.response.status>=400&&t.response.status<500)&&(C.current+=1,E(),i(!1),u(!1),f(null),x(t.message||`재시작 요청이 거부되었습니다.`))}},k=()=>{l||(i(!1),x(null))};return(0,m.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`panel-header px-4 py-2.5 sm:px-5`,children:(0,m.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`서버 제어`})}),(0,m.jsxs)(`div`,{className:`px-4 py-3 sm:px-5 flex items-start justify-between gap-4`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`p`,{className:`text-[13px] text-sand-800`,children:`qgrid 재시작`}),(0,m.jsx)(`p`,{className:`mt-0.5 text-[11px] text-sand-500`,children:e?`재시작 필요 설정을 반영하고 qgrid·Codex·Claude CLI를 확인합니다`:`로컬 실행 환경에서는 재시작할 수 없습니다`})]}),(0,m.jsx)(`button`,{type:`button`,disabled:!e||l||T.isPending,onClick:()=>i(!0),className:`shrink-0 px-2.5 py-1.5 text-[11px] font-medium rounded-lg border border-red-200 text-red-600 hover:bg-red-50 disabled:opacity-40 disabled:hover:bg-transparent transition-colors duration-150`,children:`재시작`})]}),b&&(0,m.jsx)(`p`,{className:`px-4 pb-3 sm:px-5 text-[11px] text-red-500`,children:b}),r&&(0,m.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,m.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:k,onKeyDown:()=>{}}),(0,m.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-sm mx-4`,children:[(0,m.jsx)(`div`,{className:`px-5 py-4 border-b border-sand-100/60`,children:(0,m.jsx)(`h3`,{className:`text-base font-medium text-sand-900`,children:l?T.isPending?`재시작 요청 중`:`서버 재연결 중`:`qgrid 재시작`})}),(0,m.jsxs)(`div`,{className:`px-5 py-4 space-y-2`,children:[(0,m.jsxs)(`p`,{className:`text-[13px] text-sand-700`,children:[`워커가 다시 뜰 때까지 `,(0,m.jsx)(`strong`,{className:`text-sand-900`,children:`1~2분간 요청이 실패`}),`합니다.`]}),(0,m.jsx)(`p`,{className:`text-[12px] text-sand-500`,children:`서버를 종료하면 모니터링 도구가 다시 띄웁니다. 이때 재시작 필요 설정을 반영하고, qgrid와 Codex CLI·Claude Code의 최신 버전을 확인합니다.`}),l&&(0,m.jsx)(`p`,{className:`text-[12px] font-medium text-sienna-600`,children:T.isPending?`종료 요청을 처리하고 있습니다…`:h?`새 서버가 준비될 때까지 연결을 확인하고 있습니다…`:`서버 종료를 기다리고 있습니다…`})]}),(0,m.jsxs)(`div`,{className:`px-5 py-3 border-t border-sand-100/60 flex justify-end gap-2`,children:[!l&&(0,m.jsx)(`button`,{type:`button`,onClick:k,className:`px-3 py-1.5 text-[12px] rounded-lg text-sand-600 hover:bg-sand-100 transition-colors duration-150`,children:`취소`}),(0,m.jsx)(`button`,{type:`button`,disabled:l||T.isPending,onClick:()=>void O(),className:`px-3 py-1.5 text-[12px] font-medium rounded-lg bg-red-500 text-white hover:bg-red-600 disabled:opacity-50 transition-colors duration-150`,children:l?T.isPending?`요청 중`:`재연결 중`:`재시작`})]})]})]})]})}function k(){let e=o.useSettingList(),{data:t,isLoading:n}=e;if(n)return(0,m.jsx)(`div`,{className:`space-y-4`,children:[0,1].map(e=>(0,m.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,m.jsx)(`div`,{className:`panel-header px-4 py-2.5 sm:px-5`,children:(0,m.jsx)(`div`,{className:`h-3 w-24 rounded bg-sand-200 animate-pulse`})}),(0,m.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:[0,1,2].map(e=>(0,m.jsxs)(`div`,{className:`px-4 py-3 sm:px-5 flex items-center justify-between gap-4`,children:[(0,m.jsx)(`div`,{className:`h-3 w-40 rounded bg-sand-100 animate-pulse`}),(0,m.jsx)(`div`,{className:`h-7 w-24 rounded-lg bg-sand-100 animate-pulse`})]},e))})]},e))});if(e.isError&&!t)return(0,m.jsxs)(`div`,{className:`panel px-5 py-6 text-center`,children:[(0,m.jsx)(`p`,{className:`text-[13px] font-medium text-sand-800`,children:`설정을 불러오지 못했습니다`}),(0,m.jsx)(`p`,{className:`mt-1 text-[11px] text-red-500`,children:e.error.message}),(0,m.jsx)(`button`,{type:`button`,onClick:()=>void e.refetch(),disabled:e.isFetching,className:`mt-3 px-3 py-1.5 text-[12px] rounded-lg border border-sand-200 text-sand-600 hover:bg-sand-100 disabled:opacity-50`,children:e.isFetching?`다시 불러오는 중`:`다시 시도`})]});let r=t?.settings??[],i=t?.runtime??[],a=[...new Set(r.map(e=>e.group))];return(0,m.jsxs)(`div`,{className:`space-y-4`,children:[(0,m.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,m.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,m.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`환경`}),(0,m.jsx)(`span`,{className:`text-[11px] text-sand-400`,children:`기동 시점 값`})]}),(0,m.jsx)(`dl`,{className:`px-4 py-3 sm:px-5 grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-1.5`,children:i.map(e=>(0,m.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 min-w-0`,children:[(0,m.jsx)(`dt`,{className:`text-[11px] text-sand-500 shrink-0`,children:e.label}),(0,m.jsx)(`dd`,{className:`text-[12px] font-mono text-sand-700 truncate`,children:e.value})]},e.label))})]}),a.map(e=>{let n=r.filter(t=>t.group===e);return(0,m.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,m.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,m.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:v[e]??e}),e===`slack`&&(0,m.jsx)(D,{})]}),(0,m.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:n.map(e=>(0,m.jsxs)(`div`,{children:[(0,m.jsx)(T,{item:e,disabled:e.key===`qgrid.tokenWindowKeepaliveEnabled`&&!t?.keepaliveRunnerEnabled}),e.key===`qgrid.tokenWindowKeepaliveEnabled`&&(0,m.jsx)(E,{runnerEnabled:t?.keepaliveRunnerEnabled??!1})]},e.key))})]},e)}),(0,m.jsx)(O,{supervisor:t?.supervisor??null})]})}function A(){return(0,m.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,m.jsx)(k,{})})}export{A as component};
@@ -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}from"./services.generated-Bg2XkD-D.js";import{c as s,l as c,o as l,t as u}from"./index-DJpa8UaG.js";import{n as d,t as f}from"./cost-CpjVoAqp.js";import{t as p}from"./request-model-eygfdRv7.js";function m(){return m=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},m.apply(null,arguments)}function h(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 g=e(r()),_=i(),v={},y=(0,g.createContext)(v),b=(e,t)=>m({},e,t),x=()=>(0,g.useContext)(y),S=(0,g.createContext)(()=>{});S.displayName=`JVR.DispatchShowTools`;function C(){return(0,g.useReducer)(b,v)}function w(){return(0,g.useContext)(S)}var T=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,_.jsx)(y.Provider,{value:t,children:(0,_.jsx)(S.Provider,{value:n,children:r})})};T.displayName=`JVR.ShowTools`;var E={},D=(0,g.createContext)(E),ee=(e,t)=>m({},e,t),O=()=>(0,g.useContext)(D),k=(0,g.createContext)(()=>{});k.displayName=`JVR.DispatchExpands`;function te(){return(0,g.useReducer)(ee,E)}function ne(){return(0,g.useContext)(k)}var re=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,_.jsx)(D.Provider,{value:t,children:(0,_.jsx)(k.Provider,{value:n,children:r})})};re.displayName=`JVR.Expands`;var ie={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`}},ae=(0,g.createContext)(ie),oe=(e,t)=>m({},e,t),A=()=>(0,g.useContext)(ae),j=(0,g.createContext)(()=>{});j.displayName=`JVR.DispatchTypes`;function se(){return(0,g.useReducer)(oe,ie)}function ce(){return(0,g.useContext)(j)}function le(e){var{initial:t,dispatch:n,children:r}=e;return(0,_.jsx)(ae.Provider,{value:t,children:(0,_.jsx)(j.Provider,{value:n,children:r})})}le.displayName=`JVR.Types`;var ue=[`style`];function de(e){var{style:t}=e,n=h(e,ue);return(0,_.jsx)(`svg`,m({viewBox:`0 0 24 24`,fill:`var(--w-rjv-arrow-color, currentColor)`,style:m({cursor:`pointer`,height:`1em`,width:`1em`,userSelect:`none`,display:`inline-flex`},t)},n,{children:(0,_.jsx)(`path`,{d:`M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z`})}))}de.displayName=`JVR.TriangleArrow`;var fe={Arrow:{as:`span`,className:`w-rjv-arrow`,style:{transform:`rotate(0deg)`,transition:`all 0.3s`},children:(0,_.jsx)(de,{})},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:`}`}},pe=(0,g.createContext)(fe),me=(e,t)=>m({},e,t),M=()=>(0,g.useContext)(pe),he=(0,g.createContext)(()=>{});he.displayName=`JVR.DispatchSymbols`;function ge(){return(0,g.useReducer)(me,fe)}function _e(){return(0,g.useContext)(he)}var ve=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,_.jsx)(pe.Provider,{value:t,children:(0,_.jsx)(he.Provider,{value:n,children:r})})};ve.displayName=`JVR.Symbols`;var ye={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`}},be=(0,g.createContext)(ye),xe=(e,t)=>m({},e,t),N=()=>(0,g.useContext)(be),Se=(0,g.createContext)(()=>{});Se.displayName=`JVR.DispatchSection`;function Ce(){return(0,g.useReducer)(xe,ye)}function we(){return(0,g.useContext)(Se)}var Te=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,_.jsx)(be.Provider,{value:t,children:(0,_.jsx)(Se.Provider,{value:n,children:r})})};Te.displayName=`JVR.Section`;var Ee={objectSortKeys:!1,indentWidth:15},De=(0,g.createContext)(Ee);De.displayName=`JVR.Context`;var Oe=(0,g.createContext)(()=>{});Oe.displayName=`JVR.DispatchContext`;function ke(e,t){return m({},e,t)}var P=()=>(0,g.useContext)(De),Ae=e=>{var{children:t,initialState:n,initialTypes:r}=e,[i,a]=(0,g.useReducer)(ke,Object.assign({},Ee,n)),[o,s]=C(),[c,l]=te(),[u,d]=se(),[f,p]=ge(),[h,v]=Ce();return(0,g.useEffect)(()=>a(m({},n)),[n]),(0,_.jsx)(De.Provider,{value:i,children:(0,_.jsx)(Oe.Provider,{value:a,children:(0,_.jsx)(T,{initial:o,dispatch:s,children:(0,_.jsx)(re,{initial:c,dispatch:l,children:(0,_.jsx)(le,{initial:m({},u,r),dispatch:d,children:(0,_.jsx)(ve,{initial:f,dispatch:p,children:(0,_.jsx)(Te,{initial:h,dispatch:v,children:t})})})})})})})};Ae.displayName=`JVR.Provider`;function je(e){if(e==null)throw TypeError(`Cannot destructure `+e)}var Me=[`isNumber`,`value`,`parentValue`,`keyName`,`keys`],Ne=[`as`,`render`],Pe=[`as`,`render`],Fe=[`as`,`render`],Ie=[`as`,`style`,`render`],Le=[`as`,`render`],Re=[`as`,`render`],ze=[`as`,`render`],Be=[`as`,`render`],F=e=>{var{Quote:t={}}=M(),{isNumber:n,value:r,parentValue:i,keyName:a,keys:o}=e,s=h(e,Me);if(n)return null;var{as:c,render:l}=t,u=h(t,Ne),d=c||`span`,f=m({},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,_.jsx)(d,m({},f))};F.displayName=`JVR.Quote`;var I=e=>{var{ValueQuote:t={}}=M(),n=m({},(je(e),e)),{as:r,render:i}=t,a=h(t,Pe),o=r||`span`,s=m({},n,a);return i&&typeof i==`function`&&i(s,{})||(0,_.jsx)(o,m({},s))};I.displayName=`JVR.ValueQuote`;var Ve=e=>{var{value:t,parentValue:n,keyName:r,keys:i}=e,{Colon:a={}}=M(),{as:o,render:s}=a,c=h(a,Fe),l=o||`span`;return s&&typeof s==`function`&&s(c,{value:t,parentValue:n,keyName:r,keys:i||(r?[r]:[])})||(0,_.jsx)(l,m({},c))};Ve.displayName=`JVR.Colon`;var He=e=>{var{Arrow:t={}}=M(),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=h(t,Ie),g=u||`span`,v=f&&typeof f==`function`,y=m({},p,{"data-expanded":l,style:m({},d,i)});return v&&f(y,{value:a,parentValue:o,keyName:s,keys:c||(s?[s]:[])})||(0,_.jsx)(g,m({},p,{style:m({},d,i)}))};He.displayName=`JVR.Arrow`;var Ue=e=>{var{isBrackets:t,value:n,parentValue:r,keyName:i,keys:a}=e,{BracketsLeft:o={},BraceLeft:s={}}=M(),c={value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])};if(t){var{as:l,render:u}=o,d=h(o,Le),f=l||`span`;return u&&typeof u==`function`&&u(d,c)||(0,_.jsx)(f,m({},d))}var{as:p,render:g}=s,v=h(s,Re),y=p||`span`;return g&&typeof g==`function`&&g(v,c)||(0,_.jsx)(y,m({},v))};Ue.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={}}=M();if(t){var{as:u,render:d}=c,f=h(c,ze),p=u||`span`;return d&&typeof d==`function`&&d(f,s)||(0,_.jsx)(p,m({},f))}var{as:g,render:v}=l,y=h(l,Be),b=g||`span`;return v&&typeof v==`function`&&v(y,s)||(0,_.jsx)(b,m({},y))};L.displayName=`JVR.BracketsClose`;var We=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 h={paddingLeft:4},g={keyName:t,value:n,keys:o,parentValue:i},v=Array.isArray(n),y=n instanceof Set;return(0,_.jsx)(`div`,{style:h,children:(0,_.jsx)(L,m({isBrackets:v||y},g,{isVisiable:!0}))})};We.displayName=`JVR.NestedClose`;var Ge=[`as`,`render`],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`],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`},it=e=>{var{value:t,keyName:n}=e,{Set:r={},displayDataTypes:i}=A();if(!(t instanceof Set)||!i)return null;var{as:a,render:o}=r,s=h(r,Ge);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,_.jsx)(a||`span`,m({},s))};it.displayName=`JVR.SetComp`;var at=e=>{var{value:t,keyName:n}=e,{Map:r={},displayDataTypes:i}=A();if(!(t instanceof Map)||!i)return null;var{as:a,render:o}=r,s=h(r,Ke);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,_.jsx)(a||`span`,m({},s))};at.displayName=`JVR.MapComp`;var z={opacity:.75,paddingRight:4},ot=e=>{var{children:t=``,keyName:n,keys:r}=e,{Str:i={},displayDataTypes:a}=A(),{shortenTextAfterLength:o=30,stringEllipsis:s=`...`}=P(),{as:c,render:l}=i,u=h(i,qe),d=t,[f,p]=(0,g.useState)(o&&d.length>o);(0,g.useEffect)(()=>p(o&&d.length>o),[o]);var v=c||`span`,y=m({},z,i.style||{});o>0&&(u.style=m({},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(m({},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(m({},u,{children:b,className:C}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(S||(0,_.jsx)(v,m({},u,{style:y}))),w||(0,_.jsxs)(g.Fragment,{children:[(0,_.jsx)(I,{}),(0,_.jsx)(v,m({},u,{className:C,children:b})),(0,_.jsx)(I,{})]})]})};ot.displayName=`JVR.TypeString`;var st=e=>{var{children:t,keyName:n,keys:r}=e,{True:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,Je),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};st.displayName=`JVR.TypeTrue`;var ct=e=>{var{children:t,keyName:n,keys:r}=e,{False:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,Ye),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};ct.displayName=`JVR.TypeFalse`;var lt=e=>{var{children:t,keyName:n,keys:r}=e,{Float:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,Xe),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};lt.displayName=`JVR.TypeFloat`;var ut=e=>{var{children:t,keyName:n,keys:r}=e,{Int:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,Ze),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};ut.displayName=`JVR.TypeInt`;var dt=e=>{var{children:t,keyName:n,keys:r}=e,{Bigint:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,Qe),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:R(t?.toString())}))]})};dt.displayName=`JVR.TypeFloat`;var ft=e=>{var{children:t,keyName:n,keys:r}=e,{Url:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,$e),l=o||`span`,u=m({},z,i.style),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t?.href,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p||(0,_.jsxs)(`a`,m({href:t?.href,target:`_blank`},c,{className:`w-rjv-value`,children:[(0,_.jsx)(I,{}),t?.href,(0,_.jsx)(I,{})]}))]})};ft.displayName=`JVR.TypeUrl`;var pt=e=>{var{children:t,keyName:n,keys:r}=e,{Date:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,et),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=t instanceof Date?t.toLocaleString():t,v=d&&s(m({},c,{children:p,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),v||(0,_.jsx)(l,m({},c,{className:`w-rjv-value`,children:p}))]})};pt.displayName=`JVR.TypeDate`;var mt=e=>{var{children:t,keyName:n,keys:r}=e,{Undefined:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,tt),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p]})};mt.displayName=`JVR.TypeUndefined`;var ht=e=>{var{children:t,keyName:n,keys:r}=e,{Null:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,nt),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p]})};ht.displayName=`JVR.TypeNull`;var gt=e=>{var{children:t,keyName:n,keys:r}=e,{Nan:i={},displayDataTypes:a}=A(),{as:o,render:s}=i,c=h(i,rt),l=o||`span`,u=m({},z,i.style||{}),d=s&&typeof s==`function`,f=d&&s(m({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(m({},c,{children:t?.toString(),className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,_.jsxs)(g.Fragment,{children:[a&&(f||(0,_.jsx)(l,m({},c,{style:u}))),p]})};gt.displayName=`JVR.TypeNan`;var _t=e=>Number(e)===e&&e%1!=0||isNaN(e),vt=e=>{var{value:t,keyName:n,keys:r}=e,i={keyName:n,keys:r};return t instanceof URL?(0,_.jsx)(ft,m({},i,{children:t})):typeof t==`string`?(0,_.jsx)(ot,m({},i,{children:t})):t===!0?(0,_.jsx)(st,m({},i,{children:t})):t===!1?(0,_.jsx)(ct,m({},i,{children:t})):t===null?(0,_.jsx)(ht,m({},i,{children:t})):t===void 0?(0,_.jsx)(mt,m({},i,{children:t})):t instanceof Date?(0,_.jsx)(pt,m({},i,{children:t})):typeof t==`number`&&isNaN(t)?(0,_.jsx)(gt,m({},i,{children:t})):typeof t==`number`&&_t(t)?(0,_.jsx)(lt,m({},i,{children:t})):typeof t==`bigint`?(0,_.jsx)(dt,m({},i,{children:t})):typeof t==`number`?(0,_.jsx)(ut,m({},i,{children:t})):null};vt.displayName=`JVR.Value`;function B(e,t,n){var r=_e(),i=m({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:m({},e.style,t.style),children:t.children||e.children});(0,g.useEffect)(()=>r({[n]:i}),[t])}function V(e,t,n){var r=ce(),i=m({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:m({},e.style,t.style),children:t.children||e.children});(0,g.useEffect)(()=>r({[n]:i}),[t])}function H(e,t,n){var r=we(),i=m({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:m({},e.style,t.style),children:t.children||e.children});(0,g.useEffect)(()=>r({[n]:i}),[t])}var yt=[`as`,`render`],bt=e=>{var{KeyName:t={}}=N();return H(t,e,`KeyName`),null};bt.displayName=`JVR.KeyName`;var xt=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={}}=N(),{as:c,render:l}=s,u=h(s,yt);u.style=m({},u.style,o);var d=c||`span`;return l&&typeof l==`function`&&l(m({},u,{children:t}),{value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])})||(0,_.jsx)(d,m({},u,{children:t}))};xt.displayName=`JVR.KeyNameComp`;var St=[`children`,`value`,`parentValue`,`keyName`,`keys`],Ct=[`as`,`render`,`children`],wt=e=>{var{Row:t={}}=N();return H(t,e,`Row`),null};wt.displayName=`JVR.Row`;var Tt=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o=h(e,St),{Row:s={}}=N(),{as:c,render:l}=s,u=h(s,Ct),d=c||`div`;return l&&typeof l==`function`&&l(m({},o,u,{children:t}),{value:n,keyName:i,parentValue:r,keys:a})||(0,_.jsx)(d,m({},o,u,{children:t}))};Tt.displayName=`JVR.RowComp`;function Et(e){var t=(0,g.useRef)();return(0,g.useEffect)(()=>{t.current=e}),t.current}function Dt(e){var{value:t,highlightUpdates:n,highlightContainer:r}=e,i=Et(t),a=(0,g.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,g.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 Ot=[`keyName`,`value`,`parentValue`,`expandKey`,`keys`,`beforeCopy`],kt=[`as`,`render`],U=e=>{var{keyName:t,value:n,parentValue:r,expandKey:i,keys:a,beforeCopy:o}=e,s=h(e,Ot),{onCopied:c,enableClipboard:l,beforeCopy:u}=P(),d=x()[i],[f,p]=(0,g.useState)(!1),{Copied:v={}}=N(),y=v?.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:S}=v,C=h(v,kt),w=m({},C,s,b,{style:m({},C.style,s.style,b.style)});return S&&typeof S==`function`&&S(m({},w,{"data-copied":f}),{value:n,keyName:t,keys:a,parentValue:r})||(f?(0,_.jsx)(`svg`,m({viewBox:`0 0 32 36`},w,{children:(0,_.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,_.jsx)(`svg`,m({viewBox:`0 0 32 36`},w,{children:(0,_.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 At(){var e=(0,g.useRef)(null);return e.current===null&&(e.current=`custom-id-`+Math.random().toString(36).substr(2,9)),e.current}var jt=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,_.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,_.jsx)(Nt,{parentValue:n,keyName:r,keys:[...a,r],value:o,level:i},t)})})};jt.displayName=`JVR.KeyValues`;var Mt=e=>{var{keyName:t,parentValue:n,keys:r,value:i}=e,{highlightUpdates:a}=P(),o=typeof t==`number`,s=(0,g.useRef)(null);Dt({value:i,highlightUpdates:a,highlightContainer:s});var c={keyName:t,value:i,keys:r,parentValue:n};return(0,_.jsxs)(g.Fragment,{children:[(0,_.jsxs)(`span`,{ref:s,children:[(0,_.jsx)(F,m({isNumber:o,"data-placement":`left`},c)),(0,_.jsx)(xt,m({},c,{children:t})),(0,_.jsx)(F,m({isNumber:o,"data-placement":`right`},c))]}),(0,_.jsx)(Ve,m({},c))]})};Mt.displayName=`JVR.KayName`;var Nt=e=>{var{keyName:t,value:n,parentValue:r,level:i=0,keys:a=[]}=e,o=w(),s=At(),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,_.jsx)(qt,{keyName:t,value:l?Array.from(n):u?Object.fromEntries(n):n,parentValue:r,initialValue:n,keys:a,level:i+1}):(0,_.jsxs)(Tt,m({className:`w-rjv-line`,value:n,keyName:t,keys:a,parentValue:r},{onMouseEnter:()=>o({[s]:!0}),onMouseLeave:()=>o({[s]:!1})},{children:[(0,_.jsx)(Mt,{keyName:t,value:n,keys:a,parentValue:r}),(0,_.jsx)(vt,{keyName:t,value:n,keys:a}),(0,_.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={}}=N();return H(t,e,`CountInfoExtra`),null};It.displayName=`JVR.CountInfoExtra`;var Lt=e=>{var{value:t={},keyName:n}=e,r=h(e,Pt),{CountInfoExtra:i={}}=N(),{as:a,render:o}=i,s=h(i,Ft);if(!o&&!s.children)return null;var c=a||`span`,l=o&&typeof o==`function`,u=m({},s,r);return l&&o(u,{value:t,keyName:n})||(0,_.jsx)(c,m({},u))};Lt.displayName=`JVR.CountInfoExtraComps`;var Rt=[`value`,`keyName`],zt=[`as`,`render`],Bt=e=>{var{CountInfo:t={}}=N();return H(t,e,`CountInfo`),null};Bt.displayName=`JVR.CountInfo`;var Vt=e=>{var{value:t={},keyName:n}=e,r=h(e,Rt),{displayObjectSize:i}=P(),{CountInfo:a={}}=N();if(!i)return null;var{as:o,render:s}=a,c=h(a,zt),l=o||`span`;c.style=m({},c.style,e.style);var u=Object.keys(t).length;c.children||=u+` item`+(u===1?``:`s`);var d=m({},c,r);return s&&typeof s==`function`&&s(m({},d,{"data-length":u}),{value:t,keyName:n})||(0,_.jsx)(l,m({},d))};Vt.displayName=`JVR.CountInfoComp`;var Ht=[`as`,`render`],Ut=e=>{var{Ellipsis:t={}}=N();return H(t,e,`Ellipsis`),null};Ut.displayName=`JVR.Ellipsis`;var Wt=e=>{var{isExpanded:t,value:n,keyName:r}=e,{Ellipsis:i={}}=N(),{as:a,render:o}=i,s=h(i,Ht),c=a||`span`;return o&&typeof o==`function`&&o(m({},s,{"data-expanded":t}),{value:n,keyName:r})||(!t||typeof n==`object`&&Object.keys(n).length==0?null:(0,_.jsx)(c,m({},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=ne(),{onExpand:u,collapsed:d,shouldExpandNodeInitially:f}=P(),p=typeof d==`boolean`?d:typeof d==`number`?s>d:!1,h=c[n]??(f?!1:p),g=f&&f(!h,{value:a,keys:r,level:s,keyName:t,parentValue:o});c[n]===void 0&&f&&(h=!g);var v=()=>{var e={expand:!h,value:a,keyid:n,keyName:t};u&&u(e),l({[n]:e.expand})},y={display:`inline-flex`,alignItems:`center`},b={transform:`rotate(`+(h?`-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=v);var D={keyName:t,value:a,keys:r,parentValue:o};return(0,_.jsxs)(`span`,m({},E,{children:[T&&(0,_.jsx)(He,m({style:b,expandKey:n},D)),(t||typeof t==`number`)&&(0,_.jsx)(Mt,m({},D)),(0,_.jsx)(it,{value:i,keyName:t}),(0,_.jsx)(at,{value:i,keyName:t}),(0,_.jsx)(Ue,m({isBrackets:C||w},D)),(0,_.jsx)(Wt,{keyName:t,value:a,isExpanded:h}),(0,_.jsx)(L,m({isVisiable:h||!T,isBrackets:C||w},D)),(0,_.jsx)(Vt,{value:a,keyName:t}),(0,_.jsx)(Lt,{value:a,keyName:t}),(0,_.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,g.forwardRef)((e,t)=>{var{className:n=``,parentValue:r,level:i=1,value:a,initialValue:o,keys:s,keyName:c}=e,l=h(e,Kt),u=w(),d=At();return(0,_.jsxs)(`div`,m({className:[n,`w-rjv-inner`].filter(Boolean).join(` `),ref:t},l,{onMouseEnter:()=>u({[d]:!0}),onMouseLeave:()=>u({[d]:!1})},{children:[(0,_.jsx)(Gt,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c,initialValue:o}),(0,_.jsx)(jt,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c}),(0,_.jsx)(We,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c})]}))});qt.displayName=`JVR.Container`;var Jt=e=>{var{BraceLeft:t={}}=M();return B(t,e,`BraceLeft`),null};Jt.displayName=`JVR.BraceLeft`;var Yt=e=>{var{BraceRight:t={}}=M();return B(t,e,`BraceRight`),null};Yt.displayName=`JVR.BraceRight`;var Xt=e=>{var{BracketsLeft:t={}}=M();return B(t,e,`BracketsLeft`),null};Xt.displayName=`JVR.BracketsLeft`;var Zt=e=>{var{BracketsRight:t={}}=M();return B(t,e,`BracketsRight`),null};Zt.displayName=`JVR.BracketsRight`;var Qt=e=>{var{Arrow:t={}}=M();return B(t,e,`Arrow`),null};Qt.displayName=`JVR.Arrow`;var $t=e=>{var{Colon:t={}}=M();return B(t,e,`Colon`),null};$t.displayName=`JVR.Colon`;var en=e=>{var{Quote:t={}}=M();return B(t,e,`Quote`),null};en.displayName=`JVR.Quote`;var tn=e=>{var{ValueQuote:t={}}=M();return B(t,e,`ValueQuote`),null};tn.displayName=`JVR.ValueQuote`;var nn=e=>{var{Bigint:t={}}=A();return V(t,e,`Bigint`),null};nn.displayName=`JVR.Bigint`;var rn=e=>{var{Date:t={}}=A();return V(t,e,`Date`),null};rn.displayName=`JVR.Date`;var an=e=>{var{False:t={}}=A();return V(t,e,`False`),null};an.displayName=`JVR.False`;var on=e=>{var{Float:t={}}=A();return V(t,e,`Float`),null};on.displayName=`JVR.Float`;var sn=e=>{var{Int:t={}}=A();return V(t,e,`Int`),null};sn.displayName=`JVR.Int`;var cn=e=>{var{Map:t={}}=A();return V(t,e,`Map`),null};cn.displayName=`JVR.Map`;var ln=e=>{var{Nan:t={}}=A();return V(t,e,`Nan`),null};ln.displayName=`JVR.Nan`;var un=e=>{var{Null:t={}}=A();return V(t,e,`Null`),null};un.displayName=`JVR.Null`;var dn=e=>{var{Set:t={}}=A();return V(t,e,`Set`),null};dn.displayName=`JVR.Set`;var fn=e=>{var{Str:t={}}=A();return V(t,e,`Str`),null};fn.displayName=`JVR.StringText`;var pn=e=>{var{True:t={}}=A();return V(t,e,`True`),null};pn.displayName=`JVR.True`;var mn=e=>{var{Undefined:t={}}=A();return V(t,e,`Undefined`),null};mn.displayName=`JVR.Undefined`;var hn=e=>{var{Url:t={}}=A();return V(t,e,`Url`),null};hn.displayName=`JVR.Url`;var gn=e=>{var{Copied:t={}}=N();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`],W=(0,g.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:g=!0,objectSortKeys:v=!1,onExpand:y,onCopied:b,beforeCopy:x}=e,S=h(e,_n),C=m({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,_.jsxs)(Ae,{initialState:{value:i,objectSortKeys:v,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:g},children:[(0,_.jsx)(qt,m({value:i},S,{ref:t,className:w,style:C})),a]})});W.Bigint=nn,W.Date=rn,W.False=an,W.Float=on,W.Int=sn,W.Map=cn,W.Nan=ln,W.Null=un,W.Set=dn,W.String=fn,W.True=pn,W.Undefined=mn,W.Url=hn,W.ValueQuote=tn,W.Arrow=Qt,W.Colon=$t,W.Quote=en,W.Ellipsis=Ut,W.BraceLeft=Jt,W.BraceRight=Yt,W.BracketsLeft=Xt,W.BracketsRight=Zt,W.Copied=gn,W.CountInfo=Bt,W.CountInfoExtra=It,W.KeyName=bt,W.Row=wt,W.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,_.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,_.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m12 19l-7-7l7-7m7 7H5`})}),bn=e=>(0,_.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,_.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M20 6L9 17l-5-5`})}),G=e=>(0,_.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,_.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m6 9l6 6l6-6`})}),xn=e=>(0,_.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,_.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,_.jsx)(`rect`,{width:14,height:14,x:8,y:8,rx:2,ry:2}),(0,_.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,_.jsx)(cr,{id:e})}function K(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 q({text:e,dark:t}){let[n,r]=(0,g.useState)(!1);return(0,g.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1500);return()=>clearTimeout(e)},[n]),(0,_.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,_.jsx)(bn,{className:`size-3.5 text-sage-500`}):(0,_.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,g.useState)(null),i=Dn(e);return i.some(e=>e.type===`image`)?(0,_.jsxs)(`div`,{className:`space-y-3`,children:[i.map((e,n)=>e.type===`text`?t?(0,_.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,_.jsx)(c,{remarkPlugins:[s],children:e.text})},`text-${n}`):(0,_.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e.text},`text-${n}`):(0,_.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,_.jsx)(`img`,{src:e.src,alt:e.alt,className:`max-h-[520px] max-w-full object-contain`,loading:`lazy`})},`image-${n}`)),n&&(0,_.jsxs)(`div`,{className:`fixed inset-0 z-50 bg-black/70 p-4 flex items-center justify-center`,onClick:()=>r(null),children:[(0,_.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,_.jsx)(l,{className:`size-5`})}),(0,_.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,_.jsx)(`div`,{className:`prose prose-sm prose-qgrid max-w-none`,children:(0,_.jsx)(c,{remarkPlugins:[s],children:e})}):(0,_.jsx)(`pre`,{className:`text-sm text-sand-800 whitespace-pre-wrap wrap-break-word font-mono leading-relaxed`,children:e})}function J({text:e,markdown:t}){let n=wn(e),[r,i]=(0,g.useState)(`pretty`),a=n.ok&&n.value!==null&&(Array.isArray(n.value)||typeof n.value==`object`);return!n.ok||!a?t?(0,_.jsx)(On,{text:e,markdown:!0}):(0,_.jsx)(On,{text:n.ok?JSON.stringify(n.value,null,2):e}):(0,_.jsxs)(`div`,{children:[(0,_.jsxs)(`div`,{className:`flex gap-1 mb-2`,children:[(0,_.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,_.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,_.jsx)(W,{value:n.value,style:vn,displayDataTypes:!1,enableClipboard:!0,collapsed:!1}):(0,_.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 Y({title:e,defaultOpen:t=!0,headerMetadata:n,onOpenChange:r,children:i}){let[a,o]=(0,g.useState)(t);return(0,_.jsxs)(`details`,{open:a,className:`group panel overflow-hidden`,onToggle:e=>{let t=e.currentTarget.open;o(t),r?.(t)},children:[(0,_.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,_.jsx)(G,{className:`size-3.5 shrink-0 text-sand-400 transition-transform group-open:rotate-0 -rotate-90`}),(0,_.jsx)(`span`,{className:`shrink-0 text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:e}),n&&(0,_.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,_.jsx)(`div`,{className:`p-4`,children:i})]})}function X({label:e,value:t}){return(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsx)(`dt`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,_.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,_.jsxs)(`div`,{className:`panel overflow-hidden border border-red-200 bg-red-50/60`,children:[(0,_.jsx)(`div`,{className:`px-4 py-2.5 border-b border-red-100 flex items-center gap-1.5`,children:(0,_.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-red-600 font-medium`,children:`Error`})}),(0,_.jsx)(`div`,{className:`p-4`,children:(0,_.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=p({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,_.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,_.jsx)(`span`,{className:`text-[15px] font-semibold text-sand-900 break-all`,children:n.label===`—`?`Unknown model`:n.label}),r&&(0,_.jsx)(`span`,{className:`text-[10px] text-sand-400`,children:`요청`}),!t&&(e.fallback_count??0)>0&&(0,_.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,_.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,_.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,_.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,_.jsxs)(`span`,{className:`text-[12px] text-sand-400`,children:[`· project=`,e.project_name]}),(0,_.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,_.jsxs)(`div`,{className:`panel overflow-hidden px-5 py-3 space-y-3`,children:[(0,_.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-x-6 gap-y-3`,children:[(0,_.jsx)(X,{label:`Duration`,value:`${(e.duration_ms/1e3).toFixed(1)}s`}),(0,_.jsx)(X,{label:`TTFT`,value:Pn(e.ttft_ms)}),(0,_.jsx)(X,{label:`Tokens/sec`,value:Ln(e.output_tokens,e.duration_ms,e.ttft_ms,n)}),(0,_.jsx)(X,{label:`Driver Cost`,value:e.cost_usd===null?`—`:d(e.cost_usd)}),(0,_.jsx)(X,{label:`Cost Source`,value:e.cost_source??`legacy`}),(0,_.jsx)(X,{label:`Image Cost`,value:e.image_cost_usd===null?`—`:d(e.image_cost_usd)}),(0,_.jsx)(X,{label:`Tool Calls`,value:`${t}회`})]}),(0,_.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,_.jsx)(X,{label:`Input`,value:K(e.input_tokens)}),(0,_.jsx)(X,{label:`Output`,value:K(e.output_tokens)}),(0,_.jsx)(X,{label:`Cache Read`,value:K(e.cache_read_tokens)}),(0,_.jsx)(X,{label:`Cache Write`,value:K(e.cache_creation_tokens)}),(0,_.jsx)(X,{label:`Cache Write (5m)`,value:e.cache_creation_5m_tokens===null?`—`:K(e.cache_creation_5m_tokens)}),(0,_.jsx)(X,{label:`Cache Write (1h)`,value:e.cache_creation_1h_tokens===null?`—`:K(e.cache_creation_1h_tokens)}),(0,_.jsx)(X,{label:`Cache Hit`,value:f(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 Z({label:e,value:t}){return(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium truncate`,children:e}),(0,_.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,_.jsxs)(`div`,{children:[(0,_.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Input Images`}),(0,_.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,_.jsxs)(`div`,{className:`rounded-md border border-sand-200 bg-white overflow-hidden`,children:[(0,_.jsx)(`img`,{src:n,alt:`reference ${t+1}`,className:`max-h-64 w-full object-contain bg-white`,loading:`lazy`}),(0,_.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,_.jsx)(Vn,{images:zn(t?Tn(t.tool_args):null)})}function Un({entry:e}){let t=!!e.error,[n,r]=(0,g.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,_.jsxs)(`details`,{className:`group/tool`,onToggle:e=>r(e.currentTarget.open),children:[(0,_.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,_.jsx)(G,{className:`size-3 text-sand-400 transition-transform group-open/tool:rotate-0 -rotate-90 shrink-0`}),(0,_.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,_.jsx)(`span`,{className:`text-[13px] font-medium text-sand-800 font-mono truncate`,children:e.toolName}),t&&(0,_.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,_.jsx)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:Nn(e.durationMs)})]}),n&&(0,_.jsxs)(`div`,{className:`mt-1 mx-1 mb-3 space-y-2`,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Request`}),(0,_.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,_.jsx)(J,{text:i?JSON.stringify(o):`Loading...`})})]}),c&&(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-red-500 font-medium px-2`,children:`Error`}),(0,_.jsx)(`div`,{className:`mt-1 rounded-md bg-red-50 border border-red-100 p-3 overflow-auto`,children:(0,_.jsx)(J,{text:c})})]}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-400 font-medium px-2`,children:`Response`}),(0,_.jsx)(`div`,{className:`mt-1 rounded-md bg-sand-50 p-3 overflow-auto`,children:(0,_.jsx)(J,{text:i?typeof s==`string`?s:JSON.stringify(s):`Loading...`,markdown:!0})})]})]})]})}function Wn({stepId:e}){let[t,n]=(0,g.useState)(!1),{data:r}=a.useRequestLogStep(`A`,e,{enabled:t}),i=r?.reasoning_text??null;return(0,_.jsxs)(`details`,{className:`group/reason mt-3`,onToggle:e=>n(e.currentTarget.open),children:[(0,_.jsxs)(`summary`,{className:`flex items-center gap-2 cursor-pointer select-none list-none`,children:[(0,_.jsx)(G,{className:`size-3 text-sand-400 transition-transform group-open/reason:rotate-0 -rotate-90 shrink-0`}),(0,_.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`Reasoning`})]}),t&&(0,_.jsx)(`div`,{className:`mt-2 rounded-md bg-white/70 border border-sand-100 p-3 overflow-auto`,children:i?(0,_.jsx)(J,{text:i,markdown:!0}):r?(0,_.jsx)(`p`,{className:`text-sm text-sand-400`,children:`No reasoning text captured.`}):(0,_.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,_.jsxs)(`details`,{open:!0,className:`group/step border-l border-sand-200 pl-3`,children:[(0,_.jsxs)(`summary`,{className:`flex items-center gap-2 py-2 cursor-pointer select-none list-none`,children:[(0,_.jsx)(G,{className:`size-3.5 text-sand-400 transition-transform group-open/step:rotate-0 -rotate-90 shrink-0`}),(0,_.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,_.jsx)(`span`,{className:`text-[13px] font-semibold text-sand-900`,children:`LLM call`}),n?.finishReason&&(0,_.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,_.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,_.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,_.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,_.jsxs)(`span`,{className:`ml-auto text-[11px] text-sand-400 tabular-nums shrink-0`,children:[e.toolCalls.length,` tools`]})]}),(0,_.jsxs)(`div`,{className:`ml-4 mb-4 space-y-3`,children:[n&&(0,_.jsxs)(`div`,{className:`rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,_.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,_.jsx)(Z,{label:`Duration`,value:Nn(n.durationMs)}),(0,_.jsx)(Z,{label:`TTFT`,value:Pn(n.ttftMs)}),(0,_.jsx)(Z,{label:`Tokens/sec`,value:Ln(n.outputTokens,n.durationMs,n.ttftMs,t)}),(0,_.jsx)(Z,{label:`Input`,value:K(n.inputTokens??0)}),(0,_.jsx)(Z,{label:`Output`,value:K(n.outputTokens??0)}),(0,_.jsx)(Z,{label:`Cache Read`,value:K(n.cacheReadTokens??0)}),(0,_.jsx)(Z,{label:`Cache Write`,value:K(n.cacheCreationTokens??0)}),(0,_.jsx)(Z,{label:`Cache 5m / 1h`,value:`${n.cacheCreation5mTokens===null?`—`:K(n.cacheCreation5mTokens)} / ${n.cacheCreation1hTokens===null?`—`:K(n.cacheCreation1hTokens)}`}),(0,_.jsx)(Z,{label:`Cost`,value:n.costUsd===null?`—`:d(n.costUsd)}),(0,_.jsx)(Z,{label:`Cost Source`,value:n.costSource??`legacy`}),(0,_.jsx)(Z,{label:`Reasoning`,value:n.reasoningTokens!==null&&n.reasoningTokens!==void 0?K(n.reasoningTokens):`—`})]}),r&&(0,_.jsx)(Wn,{stepId:n.id})]}),e.toolCalls.length>0&&(0,_.jsx)(`div`,{className:`space-y-0.5`,children:e.toolCalls.map(e=>(0,_.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,_.jsx)(Y,{title:`Steps (${e.length} steps · ${n} tool calls)`,defaultOpen:!0,children:(0,_.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,_.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 Q({className:e,children:t}){return(0,_.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,_.jsx)(Y,{title:`History`,defaultOpen:!1,children:(0,_.jsx)(`div`,{className:`space-y-1.5`,children:e.map((e,t)=>(0,_.jsxs)(`div`,{className:`rounded-md px-3 py-2 ${Jn(e)}`,children:[(0,_.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,_.jsx)(Q,{children:Xn(e.content)}),e.arguments&&(0,_.jsx)(Q,{children:e.arguments}),e.output&&(0,_.jsx)(Q,{children:e.output})]},`hist-${t}`))})})}var Qn=60,$n=30,er=18;function $(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 tr({tools:e}){let t=$(e),n=$(e,$n),r=$(e,er);return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`span`,{className:`shrink-0`,children:`·`}),t.names.length>0&&(0,_.jsx)(`span`,{className:`hidden shrink-0 xl:inline`,children:t.names.join(`, `)}),t.omittedCount>0&&(0,_.jsxs)(`span`,{className:`hidden shrink-0 xl:inline`,children:[`+`,t.omittedCount]}),n.names.length>0&&(0,_.jsx)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:n.names.join(`, `)}),n.omittedCount>0&&(0,_.jsxs)(`span`,{className:`hidden shrink-0 sm:inline xl:hidden`,children:[`+`,n.omittedCount]}),r.names.length>0&&(0,_.jsx)(`span`,{className:`shrink-0 sm:hidden`,children:r.names.join(`, `)}),r.omittedCount>0&&(0,_.jsxs)(`span`,{className:`shrink-0 sm:hidden`,children:[`+`,r.omittedCount]})]})}function nr({code:e,fullCode:t}){let n=(0,g.useMemo)(()=>or(e),[e]);return(0,_.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,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`span`,{"aria-hidden":`true`,children:n}),(0,_.jsx)(`span`,{className:`sr-only`,children:t})]}):n})}function rr({tool:e}){return(0,_.jsxs)(`div`,{className:`min-w-0 rounded-md border border-sand-100 bg-sand-50/70 p-3`,children:[(0,_.jsx)(`div`,{className:`break-all font-mono text-[13px] font-semibold text-sand-900`,children:e.name}),e.description&&(0,_.jsx)(`p`,{className:`mt-2 text-[12px] leading-relaxed text-sand-700`,children:e.description}),(0,_.jsxs)(`div`,{className:`mt-3`,children:[(0,_.jsxs)(`div`,{className:`mb-1.5 text-[10px] font-medium uppercase tracking-wider text-sand-400`,children:[`Parameters (`,e.parameterCount,`)`]}),(0,_.jsx)(nr,{code:e.inputZod,fullCode:e.fullInputZod})]})]})}function ir({id:e,tools:n}){let[r,i]=(0,g.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,_.jsx)(Y,{title:`Tools (${n.length})`,defaultOpen:!1,headerMetadata:(0,_.jsx)(tr,{tools:n}),onOpenChange:i,children:a.isFetching&&!s?(0,_.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Loading tool contracts…`}):a.isError||!s?(0,_.jsx)(`p`,{className:`text-[12px] text-sand-400`,children:`Tool contracts could not be loaded.`}):(0,_.jsx)(`div`,{className:`space-y-2`,children:a.data.map((e,t)=>(0,_.jsx)(rr,{tool:e},`${e.name}-${t}`))})})}var ar=/("(?:[^"\\]|\\.)*")|(\b\d+(?:\.\d+)?\b)|(\btype\b|\bz\b(?=\.))|(\b(?:string|number|boolean|null|unknown|Record)\b)|([{}[\]()<>|?:,.=])|([A-Za-z_$][\w$]*)|(\s+|.)/g;function or(e){let t=[],n=!1;for(let r of e.matchAll(ar)){let[e,i,a,o,s,c,l]=r,u=`${r.index}-${e}`;i||a?t.push((0,_.jsx)(`span`,{className:`text-sage-400`,children:e},u)):o?(n=e===`type`,t.push((0,_.jsx)(`span`,{className:`text-sienna-400`,children:e},u))):s?t.push((0,_.jsx)(`span`,{className:`text-blue-300`,children:e},u)):c?t.push((0,_.jsx)(`span`,{className:`text-sand-500`,children:e},u)):l&&n?(n=!1,t.push((0,_.jsx)(`span`,{className:`font-semibold text-sand-50`,children:e},u))):t.push(e)}return t}function sr({id:e}){let{data:t}=o.useResponseTypeTs(e),[n,r]=(0,g.useState)(`zod`),{zod:i=null,typescript:a=null}=t??{},s=n===`zod`?i??a:a??i,c=(0,g.useMemo)(()=>s===null?null:or(s),[s]);return!t||s===null||c===null?null:(0,_.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,_.jsxs)(`div`,{className:`panel-header flex items-center px-4 py-2`,children:[(0,_.jsx)(`span`,{className:`text-[11px] uppercase tracking-wider text-sand-500 font-medium`,children:`Response Type`}),(0,_.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,_.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,_.jsxs)(`div`,{className:`relative`,children:[(0,_.jsx)(q,{text:s,dark:!0}),(0,_.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 cr({id:e}){let{data:t,isLoading:r}=o.useRequestLog(`A`,e),{data:i,isLoading:s}=a.useRequestLogSteps(`T`,{request_log_id:e,num:0,page:1,orderBy:`id-asc`}),c=qn(i?.rows??[]);if(r||s)return(0,_.jsxs)(`div`,{className:`max-w-6xl mx-auto space-y-4`,children:[(0,_.jsx)(`div`,{className:`h-4 w-32 bg-sand-200 rounded animate-pulse`}),(0,_.jsx)(`div`,{className:`h-40 panel animate-pulse`}),(0,_.jsx)(`div`,{className:`h-32 panel animate-pulse`})]});if(!t)return(0,_.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,_.jsxs)(n,{to:`/logs`,className:`flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 mb-4`,children:[(0,_.jsx)(yn,{className:`size-3.5`}),`Back to Logs`]}),(0,_.jsx)(`p`,{className:`text-sand-400 text-sm`,children:`Request not found.`})]});let l=c.flatMap(e=>e.toolCalls),u=l.find(e=>e.toolName===`image_generation`)?.id??null,d=c.length>0,f=In(t),p=t.history??null,m=p!==null&&p.length>0,h=t.tools??null,g=h!==null&&h.length>0,v=t.is_structured?(0,_.jsx)(sr,{id:e}):null,y=(0,_.jsxs)(`div`,{className:`space-y-4`,children:[(0,_.jsx)(Y,{title:`System`,children:(0,_.jsxs)(`div`,{className:`relative`,children:[(0,_.jsx)(q,{text:t.system_prompt??`null`}),(0,_.jsx)(J,{text:t.system_prompt??`null`,markdown:!0})]})}),(0,_.jsx)(Y,{title:`User`,children:(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsxs)(`div`,{className:`relative`,children:[(0,_.jsx)(q,{text:t.user_prompt??`null`}),(0,_.jsx)(J,{text:t.user_prompt??`null`,markdown:!0})]}),(0,_.jsx)(Hn,{stepId:u})]})})]});return(0,_.jsxs)(`div`,{className:`mx-auto space-y-4 ${d?`max-w-[120rem]`:`max-w-6xl`}`,children:[(0,_.jsxs)(n,{to:`/logs`,className:`inline-flex items-center gap-1 text-[13px] text-sand-500 hover:text-sienna-500 transition-colors`,children:[(0,_.jsx)(yn,{className:`size-3.5`}),`Back to Logs`]}),(0,_.jsx)(jn,{data:t}),t.error_message&&(0,_.jsx)(An,{message:t.error_message}),m&&(0,_.jsx)(Zn,{history:p}),d?(0,_.jsxs)(`div`,{className:`flex flex-col lg:flex-row gap-4 items-stretch lg:items-start`,children:[(0,_.jsxs)(`div`,{className:`order-1 lg:order-2 flex-1 min-w-0 space-y-4`,children:[v,g&&(0,_.jsx)(ir,{id:e,tools:h}),(0,_.jsx)(Kn,{steps:c,tokensPerSecEnabled:f})]}),(0,_.jsx)(`div`,{className:`order-2 lg:order-1 flex-1 min-w-0`,children:y})]}):(0,_.jsxs)(_.Fragment,{children:[v,g&&(0,_.jsx)(ir,{id:e,tools:h}),y]}),(0,_.jsx)(Y,{title:`Response`,children:(0,_.jsxs)(`div`,{className:`relative`,children:[(0,_.jsx)(q,{text:t.response}),(0,_.jsx)(J,{text:t.response,markdown:!0})]})}),(0,_.jsx)(Mn,{data:t,toolCallCount:l.length}),(0,_.jsx)(`div`,{className:`pb-8`})]})}export{Sn 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-Bg2XkD-D.js";import{i as o,u as s}from"./index-DJpa8UaG.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-C0qa-nOp.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 +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}from"./services.generated-C6jfEwfK.js";import{i as a}from"./index-D4MEKFjK.js";var o=e(n(),1),s=r();function c({provider:e,isPending:t,isError:n,onSubmit:r,onRestart:i}){let[c,l]=(0,o.useState)(``),u=e===`openai`;return(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(`p`,{className:`text-[12px] text-sand-600 leading-relaxed`,children:u?`새 탭에서 OpenAI 로그인을 완료한 뒤 연결 실패 화면이 나타나면, 주소창의 전체 URL을 아래에 붙여넣으세요.`:`새 탭에서 Claude 로그인을 완료하면 코드가 표시됩니다. 코드 전체를 아래에 붙여넣으세요.`}),(0,s.jsx)(a,{value:c,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,s.jsx)(`p`,{className:`text-[11px] text-red-500`,children:`인증 결과 확인에 실패했습니다 — 전체 값을 다시 붙여넣거나 로그인을 다시 시작하세요.`}),(0,s.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:!c.trim()||t,onClick:()=>r(c),children:t?(0,s.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,s.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-white border-t-transparent rounded-full animate-spin`}),`Verifying...`]}):`Complete login`}),(0,s.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 l=3e3,u=3e5;function d(e){let t=0;for(let n of e.getQueryCache().findAll({queryKey:[`Token`]})){let e=n.state.data?.rows;Array.isArray(e)&&(t=Math.max(t,e.length))}return t}function f(){let[e,n]=(0,o.useState)(null),[r,a]=(0,o.useState)(null),s=t(),c=i.useOauthStartMutation(),f=i.useOauthStartOpenAIMutation(),p=i.useOauthCompleteMutation(),m=(0,o.useRef)({}),h=()=>{m.current.interval!==void 0&&clearInterval(m.current.interval),m.current.timeout!==void 0&&clearTimeout(m.current.timeout),m.current={}};(0,o.useEffect)(()=>h,[]);let g=()=>Promise.all([s.invalidateQueries({queryKey:[`Token`]}),s.invalidateQueries({queryKey:[`Qgrid`]})]);return{loadingProvider:e,codeEntryProvider:r,start:async(e,t)=>{let r=t.trim();if(!r)return;let i=window.open(`about:blank`,`_blank`);n(e);try{if(e===`openai`){let{authUrl:t,mode:o}=await f.mutateAsync({name:r});if(i?i.location.href=t:window.open(t,`_blank`),o===`code`){a(e),n(null);return}let c=d(s);h(),m.current.interval=window.setInterval(()=>{g().then(()=>{d(s)>c&&(h(),n(null))})},l),m.current.timeout=window.setTimeout(()=>{h(),n(null)},u);return}let{authUrl:t,mode:o}=await c.mutateAsync({name:r});o===`code`?(i?i.location.href=t:window.open(t,`_blank`),a(e),n(null)):(i?.close(),window.location.href=t)}catch(e){i?.close(),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 g(),!0},reset:()=>{h(),n(null),a(null),p.reset()},completeMutation:p}}export{c as n,f as t};
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}from"./services.generated-Bg2XkD-D.js";import{i as a}from"./index-DJpa8UaG.js";var o=e(n(),1),s=r();function c({provider:e,isPending:t,isError:n,onSubmit:r,onRestart:i}){let[c,l]=(0,o.useState)(``),u=e===`openai`;return(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(`p`,{className:`text-[12px] text-sand-600 leading-relaxed`,children:u?`새 탭에서 OpenAI 로그인을 완료한 뒤 연결 실패 화면이 나타나면, 주소창의 전체 URL을 아래에 붙여넣으세요.`:`새 탭에서 Claude 로그인을 완료하면 코드가 표시됩니다. 코드 전체를 아래에 붙여넣으세요.`}),(0,s.jsx)(a,{value:c,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,s.jsx)(`p`,{className:`text-[11px] text-red-500`,children:`인증 결과 확인에 실패했습니다 — 전체 값을 다시 붙여넣거나 로그인을 다시 시작하세요.`}),(0,s.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:!c.trim()||t,onClick:()=>r(c),children:t?(0,s.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,s.jsx)(`span`,{className:`w-3.5 h-3.5 border-2 border-white border-t-transparent rounded-full animate-spin`}),`Verifying...`]}):`Complete login`}),(0,s.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 l=3e3,u=3e5;function d(e){let t=0;for(let n of e.getQueryCache().findAll({queryKey:[`Token`]})){let e=n.state.data?.rows;Array.isArray(e)&&(t=Math.max(t,e.length))}return t}function f(){let[e,n]=(0,o.useState)(null),[r,a]=(0,o.useState)(null),s=t(),c=i.useOauthStartMutation(),f=i.useOauthStartOpenAIMutation(),p=i.useOauthCompleteMutation(),m=(0,o.useRef)({}),h=()=>{m.current.interval!==void 0&&clearInterval(m.current.interval),m.current.timeout!==void 0&&clearTimeout(m.current.timeout),m.current={}};(0,o.useEffect)(()=>h,[]);let g=()=>Promise.all([s.invalidateQueries({queryKey:[`Token`]}),s.invalidateQueries({queryKey:[`Qgrid`]})]);return{loadingProvider:e,codeEntryProvider:r,start:async(e,t)=>{let r=t.trim();if(!r)return;let i=window.open(`about:blank`,`_blank`);n(e);try{if(e===`openai`){let{authUrl:t,mode:o}=await f.mutateAsync({name:r});if(i?i.location.href=t:window.open(t,`_blank`),o===`code`){a(e),n(null);return}let c=d(s);h(),m.current.interval=window.setInterval(()=>{g().then(()=>{d(s)>c&&(h(),n(null))})},l),m.current.timeout=window.setTimeout(()=>{h(),n(null)},u);return}let{authUrl:t,mode:o}=await c.mutateAsync({name:r});o===`code`?(i?i.location.href=t:window.open(t,`_blank`),a(e),n(null)):(i?.close(),window.location.href=t)}catch(e){i?.close(),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 g(),!0},reset:()=>{h(),n(null),a(null),p.reset()},completeMutation:p}}export{c as n,f as t};
@@ -1 +1 @@
1
- import{m as e}from"./vendor-tanstack-DJRQAbrY.js";import{n as t}from"./services.generated-C6jfEwfK.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-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};
@@ -5,13 +5,13 @@
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-D4MEKFjK.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DJpa8UaG.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-C6jfEwfK.js">
14
- <link rel="stylesheet" crossorigin href="/assets/index-BshX4Gd8.css">
13
+ <link rel="modulepreload" crossorigin href="/assets/services.generated-Bg2XkD-D.js">
14
+ <link rel="stylesheet" crossorigin href="/assets/index-D_sagzsR.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -1,5 +1,5 @@
1
- import { R as __commonJSMin, V as __toESM, b as require_jsx_runtime, x as require_react } from "./services.generated-buX3cJzR.js";
2
- import { n as require_shim, t as require_react_dom } from "./react-dom-CHRRsKwb.js";
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";
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];