@ls-stack/agent-eval 0.41.0 → 0.42.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-1vE5Ryry.mjs → app-mOYjX9zq.mjs} +4 -4
- package/dist/apps/web/dist/assets/index-CANDLTsq.js +140 -0
- package/dist/apps/web/dist/assets/index-eFM9VIsz.css +1 -0
- package/dist/apps/web/dist/index.html +2 -2
- package/dist/bin.mjs +1 -1
- package/dist/{cli-Bk5g-bat.mjs → cli-DbVfkr9T.mjs} +3 -3
- package/dist/index.d.mts +21 -20
- package/dist/index.mjs +3 -3
- package/dist/runChild.mjs +1 -1
- package/dist/{runOrchestration-DhTiT4V0.mjs → runOrchestration-SPaHx-SC.mjs} +6 -7
- package/dist/{runner-B1Cyevvr.mjs → runner-BYOdLBle.mjs} +1 -1
- package/dist/{runner-BG0L4yId.mjs → runner-DiCQ57JQ.mjs} +2 -2
- package/dist/{src-t6OVp1li.mjs → src-CANi3gpd.mjs} +2 -2
- package/package.json +3 -3
- package/skills/agent-eval/SKILL.md +4 -1
- package/dist/apps/web/dist/assets/index-DKfAipoE.js +0 -140
- package/dist/apps/web/dist/assets/index-pKAZgRwO.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";.vh724ok-1{display:flex;align-items:stretch;justify-content:flex-start;height:100vh;overflow:hidden;background:#fcfcfc}.vh724ok-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:1;min-width:0;overflow-x:hidden;overflow-y:hidden}.vh724ok-2.vwx8nfh{overflow-x:auto}.vh724ok-3{width:100%;height:100%}.vh724ok-3.vwx8nfh{min-width:600px}.vh724ok-4{padding:10px 16px;border-bottom:1px solid #dc262638;background:#dc262614;color:#dc2626;font-size:13px;line-height:1.4}.vh724ok-5{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #dc262638;background:#dc262614;color:#dc2626;font-size:13px;line-height:1.4}.vh724ok-6{min-width:0;overflow-wrap:anywhere}.vh724ok-7{border:0;background:transparent;color:#dc2626;font-size:12px;font-weight:600;flex-shrink:0}.vh724ok-8{padding:10px 16px;border-bottom:1px solid #ea580c3d;background:#ea580c14;color:#ea580c;font-size:13px;line-height:1.4}.v9f9dyw-1{border-left:1px solid #e8e8eb;background:#f7f7f8;display:flex;align-items:center;justify-content:center;color:#6b6e76;font-size:12px;flex-shrink:0}.v9f9dyw-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;flex-shrink:0;border-left:1px solid #e8e8eb;background:#f7f7f8;overflow:hidden}.v9f9dyw-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:14px 18px 12px;border-bottom:1px solid #e8e8eb;background:#f7f7f8;flex-shrink:0}.v9f9dyw-4{display:flex;align-items:center;justify-content:space-between;gap:10px}.v9f9dyw-5{display:flex;align-items:center;justify-content:flex-start;gap:2px}.v9f9dyw-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v9f9dyw-7{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.v9f9dyw-8{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0}.v9f9dyw-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:17px;color:#0a0b0d;font-weight:600;letter-spacing:-.01em}.v9f9dyw-10{display:flex;align-items:center;justify-content:flex-start;gap:4px;border-bottom:1px solid #e8e8eb;padding:10px 14px 0;flex-shrink:0;overflow-x:auto}.v9f9dyw-11{position:relative;padding:8px 12px;background:transparent;border:none;font-size:12px;font-weight:500;color:#6b6e76;white-space:nowrap;margin-bottom:-1px;border-bottom:1.5px solid transparent}.v9f9dyw-11:hover{color:#0a0b0d}.v9f9dyw-11.v18pp08p{color:#0a0b0d;border-bottom-color:#22d3ee}.v9f9dyw-12{flex:1;overflow:auto;padding:18px 20px}.v9f9dyw-13{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.v9f9dyw-14{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:14px 0;border-bottom:1px solid #e8e8eb}.v9f9dyw-14:first-child{padding-top:0}.v9f9dyw-14:last-child{border-bottom:none;padding-bottom:0}.v9f9dyw-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v9f9dyw-16{font-size:13px;color:#0a0b0d}.v9f9dyw-17{color:#dc2626}.v9f9dyw-18{font-weight:600;margin-bottom:8px}.v9f9dyw-19{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;white-space:pre-wrap;opacity:.8;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:10px}.v9f9dyw-20{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px}.v9f9dyw-21{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;margin-bottom:8px}.v9f9dyw-22{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:13px;color:#0a0b0d;white-space:pre-wrap;word-break:break-word}.v9f9dyw-23{color:#dc2626}.v9f9dyw-24{color:#16a34a}.v9f9dyw-25{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px}.v9f9dyw-26{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}.v9f9dyw-27{display:flex;align-items:center;justify-content:space-between;gap:10px}.v9f9dyw-28{font-size:12.5px;font-weight:600;color:#0a0b0d}.v9f9dyw-29{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;list-style:none;padding:0;margin:0}.v9f9dyw-30{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:12px;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md)}.v9f9dyw-31{color:#dc2626;font-size:12.5px;line-height:1.5}.v9f9dyw-32{font-weight:600}.v9f9dyw-33,.v9f9dyw-34{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.v9f9dyw-35{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.v9f9dyw-36{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v9f9dyw-37{height:28px;min-width:150px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#fcfcfc;color:#0a0b0d;padding:0 26px 0 9px;font-size:11.5px;font-weight:500;line-height:1}.v9f9dyw-37:hover{border-color:#d4d4d8}.v9f9dyw-37:focus{outline:2px solid #22d3ee40;outline-offset:1px;border-color:#22d3eea6}.v9f9dyw-38{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.vaa4w49-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden}.vaa4w49-2{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;color:#0a0b0d}.vaa4w49-2:hover{background:#f0f0f2}.vaa4w49-3{display:flex;align-items:center;justify-content:flex-start;color:#6b6e76;flex-shrink:0}.vaa4w49-4{font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:#0a0b0d;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaa4w49-5{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";margin-left:auto;font-size:11px;color:#6b6e76;flex-wrap:wrap;justify-content:flex-end}.vaa4w49-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:20px;color:#0e7490;background:#22d3ee1a}.vaa4w49-7{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaa4w49-8{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:20px;color:#6b6e76;background:#f0f0f2}.vaa4w49-8.vo1w49k{color:#16a34a;background:#16a34a1f}.vaa4w49-8.vk87out{color:#a16207;background:#a162071f}.vaa4w49-8.vlmxlf9{color:#dc2626;background:#dc26261f}.vaa4w49-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;align-items:center;font-size:10.5px;letter-spacing:.01em;padding:2px 7px;border-radius:20px;color:#6b6e76;background:#f0f0f2}.vaa4w49-10{margin-right:4px;color:#a4a7af}.vaa4w49-11{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:12px 14px;border-top:1px solid #e8e8eb}.vaa4w49-12{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.vaa4w49-13{display:flex;align-items:center;justify-content:flex-start;gap:12px;align-items:baseline;font-size:12px}.vaa4w49-14{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;min-width:110px}.vaa4w49-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#0a0b0d;word-break:break-all}.vaa4w49-16{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px}.vaa4w49-17{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;min-width:110px}.vaa4w49-18{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#0a0b0d;word-break:break-word}.vaa4w49-19{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.vaa4w49-21{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;margin-bottom:8px}.vaa4w49-22{color:#dc2626}.vaa4w49-23{font-weight:600;margin-bottom:8px}.vaa4w49-24{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;white-space:pre-wrap;opacity:.8;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:10px}.vaa4w49-25{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;color:#ea580c;font-size:12px}.vaa4w49-26{font-weight:600}.vqnpbvz-1{position:relative;min-width:0}.vqnpbvz-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12px;line-height:1.6;color:#0a0b0d;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md);padding:12px 14px;overflow:auto;min-width:0;--w-rjv-font-family: inherit;--w-rjv-color: #0a0b0d;--w-rjv-background-color: transparent;--w-rjv-line-color: #e8e8eb;--w-rjv-arrow-color: #a4a7af;--w-rjv-info-color: #a4a7af;--w-rjv-update-color: #22d3ee29;--w-rjv-copied-color: #a4a7af;--w-rjv-copied-success-color: #16a34a;--w-rjv-key-number: #22d3ee;--w-rjv-key-string: #0e7490;--w-rjv-curlybraces-color: #6b6e76;--w-rjv-colon-color: #6b6e76;--w-rjv-brackets-color: #6b6e76;--w-rjv-ellipsis-color: #ea580c;--w-rjv-quotes-color: #0e7490;--w-rjv-quotes-string-color: #ea580c;--w-rjv-type-string-color: #ea580c;--w-rjv-type-int-color: #22d3ee;--w-rjv-type-float-color: #22d3ee;--w-rjv-type-bigint-color: #22d3ee;--w-rjv-type-boolean-color: #dc2626;--w-rjv-type-date-color: #a16207;--w-rjv-type-url-color: #0e7490;--w-rjv-type-null-color: #a4a7af;--w-rjv-type-nan-color: #a16207;--w-rjv-type-undefined-color: #a4a7af}.vqnpbvz-2.vh8ay32{font-size:11px;padding:10px 12px}.vqnpbvz-2.v14y6o4h{max-height:200px}.vqnpbvz-2.valvosx{max-height:320px}.vqnpbvz-2.vzt48hw{max-height:none}.vqnpbvz-2 .w-rjv{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#0a0b0d;font-size:inherit!important;line-height:inherit!important;background:transparent}.vqnpbvz-2 .w-rjv-object-size,.vqnpbvz-2 .w-rjv-object-extra{color:#a4a7af}.vqnpbvz-3{position:absolute;top:6px;right:6px;z-index:1;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#f7f7f8f0;box-shadow:0 4px 14px -10px #00000059}.vqnpbvz-3 button{width:22px;height:22px}.vqnpbvz-3 svg{width:12px;height:12px}.vqnpbvz-4{display:flex;align-items:center;justify-content:flex-start;gap:4px;transition:.12s cubic-bezier(.4,0,.2,1);transition-property:background,color,border-color;position:absolute;bottom:6px;right:6px;font-family:inherit;font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;color:#6b6e76;background:#f7f7f8;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:3px 7px;cursor:pointer}.vqnpbvz-4:hover{color:#0a0b0d;background:#ececee;border-color:#d4d4d8}.vqnpbvz-5{position:fixed;inset:0;z-index:85;background:#00000080;padding:16px}.vqnpbvz-6{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;background:#fcfcfc;border:1px solid #d4d4d8;border-radius:var(--radius-md);box-shadow:0 30px 80px -30px #00000073;overflow:hidden}.vqnpbvz-7{display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e8e8eb;background:#f7f7f8}.vqnpbvz-8{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.vqnpbvz-9{margin:0;font-size:13px;font-weight:600;color:#0a0b0d}.vqnpbvz-10{display:flex;align-items:center;justify-content:flex-start;gap:8px;grid-column:1 / -1}.vqnpbvz-11{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid #d4d4d8;border-radius:var(--radius-md);background:#fcfcfc;color:#a4a7af;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:border-color,box-shadow}.vqnpbvz-11:focus-within{border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.vqnpbvz-11 svg{width:14px;height:14px;flex-shrink:0}.vqnpbvz-12{flex:1;min-width:0;border:none;outline:none;background:transparent;color:#0a0b0d;font:inherit;font-size:12px}.vqnpbvz-13{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d4d4d8;border-radius:var(--radius-md);background:#fcfcfc;color:#6b6e76;cursor:pointer;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color,box-shadow}.vqnpbvz-13.viy7tru{background:#22d3ee24;border-color:#22d3eeb3;color:#0e7490}.vqnpbvz-13:hover{background:#ececee;color:#0a0b0d}.vqnpbvz-13:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}.vqnpbvz-13 svg{width:14px;height:14px}.vqnpbvz-14{grid-column:1 / -1;margin-top:-2px;font-size:12px;color:#6b6e76}.vqnpbvz-15{min-height:0;padding:12px;overflow:hidden}.vqnpbvz-15 .vqnpbvz-1{height:100%}.vqnpbvz-15 .vqnpbvz-2{height:100%;max-height:none}.vqnpbvz-16{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;border-radius:var(--radius-sm);color:#6b6e76;cursor:pointer;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color}.vqnpbvz-16:hover{background:#ececee;color:#0a0b0d}.vqnpbvz-16:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}.vqnpbvz-17{margin:0;white-space:pre-wrap;word-break:break-word}.vqnpbvz-18{padding:14px;color:#6b6e76;font-size:13px}.v4yt9wa-1{display:flex;align-items:center;justify-content:center;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:#6b6e76;flex-shrink:0}.v4yt9wa-1.van04w6{width:32px;height:32px;border-radius:var(--radius-md)}.v4yt9wa-1:hover:not(:disabled){background:#f0f0f2;color:#0a0b0d}.v4yt9wa-1:disabled{cursor:not-allowed;opacity:.5}.v4yt9wa-1>svg{width:14px;height:14px}.v4yt9wa-1.van04w6>svg{width:16px;height:16px}.v1fkevfp-1{background:#000;color:#fff;font-size:12px;line-height:1.4;padding:4px 8px;border-radius:4px;box-shadow:0 2px 8px #0006;pointer-events:none;z-index:10000;max-width:300px;white-space:pre-line;overflow-wrap:break-word}@keyframes vno9i23-1{0%,to{opacity:1}50%{opacity:.25}}.vno9i23-2{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;font-size:11px;font-weight:500;letter-spacing:.01em;padding:3px 8px;border-radius:20px;color:#6b6e76;background:#f0f0f2}.vno9i23-2.v1bls63k{color:#16a34a;background:#16a34a1a}.vno9i23-2.v1843cka{color:#dc2626;background:#dc26261a}.vno9i23-2.v1w33htl{color:#0e7490;background:#22d3ee1f}.vno9i23-2.v1o7znqr{color:#ea580c;background:#ea580c1a}.vno9i23-2.v1ptx2rj{color:#6b6e76;background:#e4e4e7}.vno9i23-2.vwlrmf0{color:#ea580c;background:#ea580c24}.vno9i23-2.v1mlprpv{color:#0e7490;background:#22d3ee1a}.vno9i23-3{width:5px;height:5px;border-radius:5px;flex-shrink:0;background:#a4a7af}.vno9i23-3.v1bls63k{background:#16a34a}.vno9i23-3.v1843cka{background:#dc2626}.vno9i23-3.v1w33htl{background:#22d3ee;animation:vno9i23-1 1.3s ease-in-out infinite}.vno9i23-3.v1o7znqr{background:#ea580c}.vno9i23-3.v1ptx2rj{background:#a4a7af}.vno9i23-3.vwlrmf0{background:#ea580c}.vno9i23-3.v1mlprpv{background:#22d3ee}.v1rexbf3-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden}.v1rexbf3-2{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;color:#0a0b0d}.v1rexbf3-2:hover{background:#f0f0f2}.v1rexbf3-3{display:flex;align-items:center;justify-content:flex-start;color:#6b6e76;flex-shrink:0}.v1rexbf3-4,.v1rexbf3-5{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:9.5px;letter-spacing:.04em;line-height:1.2;flex-shrink:0}.v1rexbf3-5.v1psnf3c{background:#16a34a26;color:#16a34a}.v1rexbf3-5.v126sfoy{background:#22d3ee1f;color:#0e7490}.v1rexbf3-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12.5px;color:#0a0b0d;word-break:break-word;flex:1 1 auto;min-width:0}.v1rexbf3-7{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;color:#6b6e76;flex-shrink:0}.v1rexbf3-8{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";margin-left:auto;font-size:11px;color:#6b6e76;flex-wrap:wrap;justify-content:flex-end}.v1rexbf3-9{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:12px 14px;border-top:1px solid #e8e8eb}.v1rexbf3-10{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;font-size:11px;color:#6b6e76}.v1rexbf3-11{display:flex;align-items:center;justify-content:flex-start;gap:4px}.v1rexbf3-12{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;font-size:9.5px;color:#a4a7af}.v1rexbf3-13{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;color:#0a0b0d;word-break:break-all}.v1rexbf3-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;margin-bottom:8px}.v1rexbf3-16{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11.5px;color:#6b6e76}.v1rexbf3-17{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11.5px;color:#dc2626}.v1rexbf3-18{display:flex;align-items:center;justify-content:flex-start;gap:8px;justify-content:flex-end}.v1yv3uow-1{display:flex;align-items:center;justify-content:flex-start;gap:7px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color,box-shadow;display:inline-flex;height:32px;padding:0 14px;border-radius:var(--radius-md);border:1px solid transparent;font-size:12.5px;font-weight:500;letter-spacing:-.005em;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.v1yv3uow-1:disabled{cursor:not-allowed;opacity:.5}.v1yv3uow-1>svg{width:13px;height:13px;flex-shrink:0}.v1yv3uow-1.v1d37md8{background:#22d3ee;color:#0a0b0d;font-weight:600;box-shadow:0 0 0 1px #22d3ee4d,0 6px 20px -6px #22d3ee73}.v1yv3uow-1.v1d37md8:hover:not(:disabled){background:#06b6d4;box-shadow:0 0 0 1px #22d3ee73,0 8px 22px -4px #22d3ee99}.v1yv3uow-1.v1d37md8:active:not(:disabled){background:#0e7490}.v1yv3uow-1.v1kpy128{background:#f0f0f2;color:#0a0b0d;border-color:#d4d4d8}.v1yv3uow-1.v1kpy128:hover:not(:disabled){background:#ececee;border-color:#22d3ee73}.v1yv3uow-1.vhmrut{background:transparent;color:#6b6e76}.v1yv3uow-1.vhmrut:hover:not(:disabled){background:#f0f0f2;color:#0a0b0d}.v1yv3uow-1.vs705h9{background:transparent;color:#dc2626;border-color:#dc262666}.v1yv3uow-1.vs705h9:hover:not(:disabled){background:#dc262614;border-color:#dc2626}.v1tlpqbe-1{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.v1tlpqbe-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v1tlpqbe-3{height:28px;min-width:150px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#fcfcfc;color:#0a0b0d;padding:0 26px 0 9px;font-size:11.5px;font-weight:500;line-height:1}.v1tlpqbe-3:hover{border-color:#d4d4d8}.v1tlpqbe-3:focus{outline:2px solid #22d3ee40;outline-offset:1px;border-color:#22d3eea6}.v1tlpqbe-4{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.v1tlpqbe-5{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden}.v1tlpqbe-6{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:100%;min-width:0}.v1tlpqbe-7{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:1;min-width:0;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;color:#0a0b0d}.v1tlpqbe-7:hover{background:#f0f0f2}.v1tlpqbe-8{display:flex;align-items:center;justify-content:flex-start;color:#6b6e76;flex-shrink:0}.v1tlpqbe-9{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-left:auto;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.v1tlpqbe-10{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76}.v1tlpqbe-11{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:9.5px;line-height:1.2;flex-shrink:0}.v1tlpqbe-11.v1tefpko{background:#22d3ee1f;color:#0e7490}.v1tlpqbe-11.vpsgjsu{background:#ea580c1f;color:#ea580c}.v1tlpqbe-11.v10doxfa{background:#dc26261f;color:#dc2626}.v1tlpqbe-12{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;font-size:9.5px;color:#6b6e76;flex-shrink:0}.v1tlpqbe-13{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76;flex-shrink:0}.v1tlpqbe-14{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";flex:1 1 140px;font-size:12px;color:#0a0b0d;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v1tlpqbe-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";margin:0;white-space:pre-wrap;word-break:break-word;font-size:11.5px;line-height:1.55;color:#0a0b0d}.v1tlpqbe-16{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.v1tlpqbe-17{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v1tlpqbe-18{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:12px 14px;border-top:1px solid #e8e8eb}.v1tlpqbe-19{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;font-size:11px;color:#6b6e76}.v1tlpqbe-20{display:flex;align-items:center;justify-content:flex-start;gap:4px}.v1tlpqbe-21{display:flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0;flex:1 1 100%}.v1tlpqbe-22{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;font-size:9.5px;color:#a4a7af}.v1tlpqbe-23{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;color:#0a0b0d}.v1tlpqbe-24{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;color:#0a0b0d;min-width:0;word-break:break-all}.v1tlpqbe-25{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#ea580c;font-size:9.5px;flex-shrink:0}.vv93a47-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px}.vv93a47-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px 14px;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md)}.vv93a47-3{display:flex;align-items:center;justify-content:space-between;gap:10px}.vv93a47-4{font-size:12.5px;font-weight:600;color:#0a0b0d;letter-spacing:-.005em}.vv93a47-5{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:13px;font-weight:500;color:#0a0b0d}.vv93a47-6{position:relative;height:6px;border-radius:4px;background:#f0f0f2;overflow:hidden}.vv93a47-7{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#a4a7af}.vv93a47-7.vvj7fxg{background:#16a34a}.vv93a47-7.v3q58b{background:#dc2626}.vv93a47-8{display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:11px;color:#6b6e76}.vv93a47-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:9.5px;letter-spacing:.04em;line-height:1.2}.vv93a47-9.vvj7fxg{background:#16a34a1f;color:#16a34a}.vv93a47-9.v3q58b{background:#dc26261f;color:#dc2626}.vlq6g6a-1{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-width:0}.vlq6g6a-2{display:flex;align-items:center;justify-content:flex-start;gap:4px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color;height:24px;padding:0 8px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:transparent;color:#6b6e76;font-size:11.5px;font-weight:500;line-height:1}.vlq6g6a-2:hover{background:#f0f0f2;border-color:#d4d4d8;color:#0a0b0d}.vlq6g6a-2>svg{width:12px;height:12px;flex-shrink:0}.vlq6g6a-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;width:100%;min-width:0}.v1f0s106-1{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:1;height:100%;text-align:center;padding:48px}.v1f0s106-2{width:56px;height:56px;border-radius:var(--radius-md);background:#f7f7f8;border:1px solid #e8e8eb;display:flex;align-items:center;justify-content:center;color:#22d3ee;margin-bottom:4px}.v1f0s106-2>svg{width:24px;height:24px}.v1f0s106-3{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v1f0s106-4{color:#0a0b0d;font-size:18px;font-weight:600;letter-spacing:-.01em}.v1f0s106-5{color:#6b6e76;font-size:12.5px;max-width:360px;line-height:1.55}.v1460r1i-1{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.v1460r1i-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.55}.v1460r1i-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.v1460r1i-4{display:flex;align-items:center;justify-content:flex-start}.v1460r1i-5{display:flex;align-items:center;justify-content:flex-start;padding:1px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#fcfcfc}.v1460r1i-6{display:flex;align-items:center;justify-content:flex-start;gap:5px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;height:20px;padding:0 6px;border:none;border-radius:5px;background:transparent;color:#6b6e76;font-size:10px;font-weight:500;cursor:pointer}.v1460r1i-6:hover{color:#0a0b0d}.v1460r1i-6.vit19v2{background:#f0f0f2;color:#0a0b0d}.v1460r1i-6 svg{width:10px;height:10px}.v1460r1i-7{color:#0a0b0d;font-size:13px;line-height:1.55}.v1460r1i-7>:first-child{margin-top:0}.v1460r1i-7>:last-child{margin-bottom:0}.v1460r1i-7 p,.v1460r1i-7 ul,.v1460r1i-7 ol,.v1460r1i-7 blockquote,.v1460r1i-7 pre,.v1460r1i-7 table{margin:0 0 10px}.v1460r1i-7 h1,.v1460r1i-7 h2,.v1460r1i-7 h3,.v1460r1i-7 h4,.v1460r1i-7 h5,.v1460r1i-7 h6{margin:0 0 10px;color:#0a0b0d;line-height:1.25}.v1460r1i-7 h1{font-size:18px}.v1460r1i-7 h2{font-size:15px}.v1460r1i-7 h3{font-size:13.5px}.v1460r1i-7 ul,.v1460r1i-7 ol{padding-left:20px}.v1460r1i-7 li+li{margin-top:4px}.v1460r1i-7 code{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12px;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:6px;padding:1px 5px}.v1460r1i-7 pre{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12px;overflow-x:auto;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:12px}.v1460r1i-7 pre code{background:transparent;border:none;padding:0;font-size:inherit}.v1460r1i-7 blockquote{padding-left:12px;border-left:3px solid #e8e8eb;color:#6b6e76}.v1460r1i-7 a{color:#22d3ee;text-decoration:underline;text-underline-offset:2px}.v1460r1i-7 table{width:100%;border-collapse:collapse}.v1460r1i-7 th,.v1460r1i-7 td{border:1px solid #e8e8eb;padding:8px 10px;text-align:left;vertical-align:top}.v1460r1i-7 th{background:#f0f0f2}.v1460r1i-8{max-width:100%;border-radius:var(--radius-md);cursor:zoom-in}.v1460r1i-9{width:100%}.v1460r1i-10{max-width:100%;border-radius:var(--radius-md)}.v1460r1i-11{color:#22d3ee}.vjs3ls0-1{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:#000000d9;z-index:80;cursor:zoom-out;padding:48px}.vjs3ls0-2{max-width:calc(100vw - 96px);max-height:calc(100vh - 96px);object-fit:contain;border-radius:4px;box-shadow:0 30px 80px -20px #0009;cursor:zoom-out}.vjs3ls0-3{display:flex;align-items:center;justify-content:center;position:fixed;top:16px;right:16px;width:36px;height:36px;border:none;background:#ffffff1f;border-radius:8px;color:#fff;cursor:pointer;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color}.vjs3ls0-3:hover{background:#ffffff38}.vjs3ls0-3:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}.vjs3ls0-4{position:fixed;bottom:16px;left:50%;transform:translate(-50%);max-width:calc(100vw - 96px);padding:6px 12px;border-radius:6px;background:#0000008c;color:#fff;font-size:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.v1cr44je-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;min-width:0}.v1cr44je-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}.v1cr44je-3{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v1cr44je-4{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:12px;border:1px solid #e8e8eb;border-radius:8px;background:#fcfcfc}.v1cr44je-5{display:flex;align-items:center;justify-content:space-between;gap:12px}.v1cr44je-6{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;min-width:0}.v1cr44je-7{font-size:11px;color:#6b6e76;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.v1cr44je-8{font-size:13px;color:#0a0b0d;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v1cr44je-9{font-size:12px;color:#6b6e76}.v1cr44je-10{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:12px;color:#6b6e76;text-decoration:none;padding:4px 8px;border-radius:6px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color}.v1cr44je-10:hover{background:#ececee;color:#0a0b0d}.v1cr44je-11{max-width:100%;max-height:240px;border-radius:6px;object-fit:contain;background:#f0f0f2;cursor:zoom-in}.v1m277ov-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden}.v1m277ov-2{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;background:transparent;border:none;padding:10px 14px;text-align:left;cursor:pointer;color:#0a0b0d}.v1m277ov-2:hover{background:#f0f0f2}.v1m277ov-3{display:flex;align-items:center;justify-content:flex-start;color:#6b6e76;flex-shrink:0}.v1m277ov-4{font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:#0a0b0d;flex-shrink:0}.v1m277ov-5{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";margin-left:auto;font-size:11px;color:#6b6e76;flex-wrap:wrap;justify-content:flex-end}.v1m277ov-6{display:flex;align-items:center;justify-content:flex-start;gap:4px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;color:#6b6e76}.v1m277ov-7{color:#a4a7af;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase}.v1m277ov-8{color:#d4d4d8}.v1m277ov-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.01em;padding:2px 7px;border-radius:20px;color:#0e7490;background:#22d3ee1a}.v1m277ov-10{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:inline-flex;align-items:center;font-size:10.5px;letter-spacing:.01em;padding:2px 7px;border-radius:20px;color:#6b6e76;background:#f0f0f2}.v1m277ov-11{margin-right:4px;color:#a4a7af}.v1m277ov-12{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:12px 14px;border-top:1px solid #e8e8eb}.v1m277ov-13{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px}.v1m277ov-14{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;min-width:110px}.v1m277ov-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#0a0b0d;word-break:break-word}.v1m277ov-16{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media(max-width:720px){.v1m277ov-16{grid-template-columns:1fr}}.v1m277ov-17{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-width:0}.v1m277ov-18{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;font-size:9.5px}.v1m277ov-20{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;margin-bottom:8px}.v1m277ov-21{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.v1m277ov-22{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.v1m277ov-23{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#f0f0f2;padding:8px 10px}.v1m277ov-24{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;font-size:9.5px}.v1m277ov-25{color:#dc2626}.v1m277ov-26{font-weight:600;margin-bottom:8px}.v1m277ov-27{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;white-space:pre-wrap;opacity:.8;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:10px}.v1m277ov-28{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;color:#ea580c;font-size:12px}.v1m277ov-29{font-weight:600}.v44ctfv-1{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden}.v44ctfv-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:#f0f0f2;color:#6b6e76;font-size:9.5px;letter-spacing:.04em}.v44ctfv-3{padding:8px 12px;text-align:left;font-weight:600}.v44ctfv-3:not(:first-child){text-align:right}.v44ctfv-4{font-size:12px}.v44ctfv-4>td{border-top:1px solid #e8e8eb}.v44ctfv-5{padding:8px 12px}.v44ctfv-6{color:#0a0b0d}.v44ctfv-7{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";padding:8px 12px;color:#0a0b0d;text-align:right;min-width:56px}.v44ctfv-8{background:#f0f0f280;font-weight:500;color:#6b6e76}.v44ctfv-9{background:#f0f0f2;font-weight:600}.v44ctfv-10{color:#6b6e76}.v1j7r04u-1{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:12px}.v1j7r04u-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;font-size:9.5px}.v1j7r04u-3{height:28px;min-width:220px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#fcfcfc;color:#0a0b0d;padding:0 26px 0 9px;font-size:11.5px;font-weight:500;line-height:1}.v1j7r04u-3:hover{border-color:#d4d4d8}.v1j7r04u-3:focus{outline:2px solid #22d3ee40;outline-offset:1px;border-color:#22d3eea6}.v1it1iyw-1{position:relative;display:inline-flex}.v1it1iyw-2{display:flex;align-items:center;justify-content:center;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color,border-color;appearance:none;padding:0;width:32px;height:32px;border-radius:var(--radius-md);border:1px solid #e8e8eb;background:#fcfcfc;color:#6b6e76;line-height:0;box-shadow:0 1px 2px #00000014}.v1it1iyw-2:hover:not(:disabled){background:#f0f0f2;color:#0a0b0d;border-color:#d4d4d8}.v1it1iyw-2:disabled{cursor:not-allowed;opacity:.5}.v1it1iyw-2>svg{width:16px;height:16px}.v1it1iyw-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:#f7f7f8;border:1px solid #d4d4d8;box-shadow:0 14px 30px -12px #22d3ee40;z-index:40;padding:6px 0}.v1it1iyw-4{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;text-align:left;background:transparent;border:0;padding:8px 14px;color:#0a0b0d;cursor:pointer}.v1it1iyw-4:hover{background:#ececee}.v1it1iyw-4.vp2z70{color:#dc2626}.v1it1iyw-4.vp2z70:hover{background:#dc26261a}.v1it1iyw-5{font-size:12px;font-weight:600;letter-spacing:.02em}.v1it1iyw-6{font-size:11px;color:#6b6e76}.v1it1iyw-7{height:1px;background:#e8e8eb;margin:4px 0}.v1gbsfzf-1{position:relative;display:inline-flex}.v1gbsfzf-2{display:flex;align-items:center;justify-content:flex-start}.v1gbsfzf-3{display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color,box-shadow;display:inline-flex;height:28px;padding:0 14px;border-radius:0;border:1px solid transparent;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.14em;background:#22d3ee;color:#0a0b0d;box-shadow:0 0 0 1px #0e7490,0 6px 16px -8px #22d3ee8c}.v1gbsfzf-3>svg{width:13px;height:13px;flex-shrink:0}.v1gbsfzf-3:hover:not(:disabled){background:#06b6d4}.v1gbsfzf-3:active:not(:disabled){background:#0e7490}.v1gbsfzf-3:disabled{cursor:not-allowed;opacity:.4}.v1gbsfzf-4{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color;display:inline-flex;align-items:center;justify-content:center;height:28px;width:26px;margin-left:1px;border-radius:0;border:1px solid transparent;background:#22d3ee;color:#0a0b0d;box-shadow:0 0 0 1px #0e7490}.v1gbsfzf-4>svg{width:13px;height:13px;transition:transform .18s ease}.v1gbsfzf-4.v9mb724>svg{transform:rotate(180deg)}.v1gbsfzf-4:hover:not(:disabled){background:#06b6d4}.v1gbsfzf-4:disabled{cursor:not-allowed;opacity:.4}.v1gbsfzf-5{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:#f7f7f8;border:1px solid #d4d4d8;box-shadow:0 14px 30px -12px #22d3ee59;z-index:40;padding:6px 0}.v1gbsfzf-6{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;text-align:left;background:transparent;border:0;padding:8px 14px;color:#0a0b0d;cursor:pointer}.v1gbsfzf-6:hover{background:#ececee}.v1gbsfzf-6.v1g7o2ge{color:#dc2626}.v1gbsfzf-6.v1g7o2ge:hover{background:#dc26261a}.v1gbsfzf-7{font-size:12px;font-weight:600;letter-spacing:.02em}.v1gbsfzf-8{font-size:11px;color:#6b6e76}.v1gbsfzf-9{height:1px;background:#e8e8eb;margin:4px 0}.vpbub9f-1{position:absolute;top:0;bottom:0;width:7px;right:-3px;cursor:col-resize;z-index:5;-webkit-user-select:none;user-select:none;touch-action:none}.vpbub9f-1.v1xij6d4{right:auto;left:-3px}.vpbub9f-1:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent;transition:background .15s ease}.vpbub9f-1:hover:after,.vpbub9f-1.veyzh35:after{background:#22d3ee}.vxv787s-1{display:flex;gap:12px;height:100%;align-items:stretch;position:relative;min-width:0}.vxv787s-2{display:flex;flex-direction:column;flex:1;min-width:0;border:1px solid #e8e8eb;border-radius:var(--radius-md);background:#fcfcfc;overflow:hidden}.vxv787s-3{flex:1 1 0;min-width:300px;max-width:460px;overflow:auto;border:1px solid #e8e8eb;border-radius:var(--radius-md);background:#fcfcfc;padding:14px 16px}.vxv787s-4{position:absolute;inset:0 0 0 auto;width:min(420px,85%);display:flex;flex-direction:column;background:#f7f7f8;border:1px solid #d4d4d8;border-radius:var(--radius-md);box-shadow:-10px 0 28px #0a0b0d24;z-index:2}.vxv787s-5{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 12px;border-bottom:1px solid #e8e8eb;flex-shrink:0}.vxv787s-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6b6e76}.vxv787s-7{overflow:auto;padding:14px 16px}.vxv787s-8{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;background:none;border:none;padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#6b6e76;cursor:pointer}.vxv787s-8:hover{background:#f0f0f2;color:#0a0b0d}.vxv787s-8>svg{width:14px;height:14px}.vxv787s-9{flex:1;overflow:auto;min-width:0}.vxv787s-10{display:flex;flex-direction:column;min-width:560px;padding-right:14px}.vxv787s-10.v1qsea3x{min-width:0;padding-right:0}.vxv787s-11{display:grid;grid-template-columns:minmax(200px,40%) 1fr;flex-shrink:0;border-bottom:1px solid #e8e8eb;background:#f7f7f8;height:24px;position:sticky;top:0;z-index:1}.vxv787s-11.v1qsea3x{grid-template-columns:1fr}.vxv787s-12{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 0 10px;height:100%}.vxv787s-13{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-shrink:0}.vxv787s-14{display:flex;align-items:center;justify-content:flex-start;border:1px solid #e8e8eb;border-radius:5px;overflow:hidden;background:#fcfcfc}.vxv787s-15{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;width:20px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-right:1px solid #e8e8eb;background:transparent;color:#a4a7af;cursor:pointer}.vxv787s-15:last-child{border-right:none}.vxv787s-15:hover{background:#f0f0f2;color:#0a0b0d}.vxv787s-15.vkduw8x{background:#e4e4e7;color:#0a0b0d}.vxv787s-15>svg{width:12px;height:12px}.vxv787s-16{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;background:none;border:none;padding:3px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#6b6e76;cursor:pointer;flex-shrink:0}.vxv787s-16:hover{background:#f0f0f2;color:#0a0b0d}.vxv787s-16>svg{width:14px;height:14px}.vxv787s-17{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#a4a7af}.vxv787s-18{position:relative;padding-right:12px}.vxv787s-19{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";position:absolute;top:50%;transform:translate(-50%,-50%);font-size:9.5px;font-variant-numeric:tabular-nums;color:#a4a7af;white-space:nowrap}.vxv787s-20{padding:4px 0}.vxv787s-21{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;display:grid;grid-template-columns:minmax(200px,40%) 1fr;align-items:stretch;cursor:pointer;font-size:11.5px;min-height:26px;border-left:2px solid transparent;color:#6b6e76}.vxv787s-21.v1qsea3x{grid-template-columns:1fr}.vxv787s-21:hover{background:#f7f7f8;color:#0a0b0d}.vxv787s-21.vkduw8x{background:#f0f0f2;color:#0a0b0d;border-left-color:#22d3ee}.vxv787s-22{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;padding-right:10px}.vxv787s-23{position:relative;height:26px;padding-right:12px;background-image:linear-gradient(to right,transparent calc(25% - 1px),#e8e8ebb3 calc(25% - 1px),#e8e8ebb3 25%,transparent 25%),linear-gradient(to right,transparent calc(50% - 1px),#e8e8ebb3 calc(50% - 1px),#e8e8ebb3 50%,transparent 50%),linear-gradient(to right,transparent calc(75% - 1px),#e8e8ebb3 calc(75% - 1px),#e8e8ebb3 75%,transparent 75%)}.vxv787s-24{position:absolute;top:7px;height:12px;min-width:2px;border-radius:3px;background:var(--trace-kind-bar-bg, #d4d4d8);border:1px solid transparent}.vxv787s-24.v1z0zxx1{background:repeating-linear-gradient(45deg,var(--trace-kind-running-strong, #22d3ee66) 0,var(--trace-kind-running-strong, #22d3ee66) 6px,var(--trace-kind-running-soft, #22d3ee26) 6px,var(--trace-kind-running-soft, #22d3ee26) 12px)}.vxv787s-24.v12vnxco{border-color:#dc2626}.vxv787s-25{position:absolute;top:50%;width:10px;height:10px;border-radius:2px;background:var(--trace-kind-bar-bg, #d4d4d8);box-shadow:0 0 0 2px #fcfcfc;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.vxv787s-26{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";position:absolute;top:5px;font-size:9.5px;font-variant-numeric:tabular-nums;color:#6b6e76;white-space:nowrap;pointer-events:none}.vxv787s-26.inside{color:#fff;font-weight:500;letter-spacing:.02em;background:#0003;padding:0 5px;line-height:12px;top:7px;height:12px;margin-right:-4px;border-radius:3px}.vxv787s-27{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:transform;background:none;border:none;padding:0;display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;color:#a4a7af;flex-shrink:0;cursor:pointer}.vxv787s-27>svg{width:12px;height:12px}.vxv787s-27.v1sa0q0h>svg{transform:rotate(90deg)}.vxv787s-28{width:14px;flex-shrink:0}.vxv787s-29{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";padding:2px 6px;border-radius:4px;font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--trace-kind-badge-text, #6b6e76);background:var(--trace-kind-badge-bg, #f0f0f2);flex-shrink:0}.vxv787s-30{font-weight:500;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.vxv787s-31{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#dc2626;font-size:10px;flex-shrink:0}.vxv787s-32{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";color:#ea580c;font-size:10px;flex-shrink:0}.vxv787s-33{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:9.5px;letter-spacing:.04em;flex-shrink:0;color:#a4a7af}.vxv787s-34{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;color:#6b6e76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.vxv787s-34:before{content:"→";color:#a4a7af;margin-right:4px}.vxv787s-35{padding:16px;color:#6b6e76;font-size:12px;text-align:center}.vn93px5-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;font-size:12px}.vn93px5-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:13px;font-weight:600;letter-spacing:-.005em;color:#0a0b0d}.vn93px5-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.vn93px5-4{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-sm)}.vn93px5-5{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vn93px5-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11.5px;color:#0a0b0d;text-align:right;max-width:60%;word-break:break-all}.vn93px5-7{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.vn93px5-8{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vn93px5-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:#6b6e76;background:#f7f7f8;border:1px solid #e8e8eb;padding:10px 12px;border-radius:var(--radius-sm);max-height:200px;overflow:auto}.vmrx93z-1{--vmrx93z-2: #dc2626;--vmrx93z-3: #dc26260f;--vmrx93z-4: #dc262638;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;min-width:0;color:var(--vmrx93z-2);background:var(--vmrx93z-3);border:1px solid var(--vmrx93z-4);border-radius:var(--radius-sm);padding:10px 12px;overflow-wrap:anywhere}.vmrx93z-1.vc8cpou{--vmrx93z-2: #ea580c;--vmrx93z-3: #ea580c14;--vmrx93z-4: #ea580c3d}.vmrx93z-5{font-weight:600;min-width:0;overflow-wrap:anywhere}.vmrx93z-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;color:#dc2626b8;min-width:0;overflow-wrap:anywhere}.vmrx93z-6.vc8cpou{color:#ea580cc2}.vmrx93z-7{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--vmrx93z-2)}.vmrx93z-8{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;min-width:0}.vmrx93z-8+.vmrx93z-8{border-top:1px solid #dc26262e;padding-top:8px}.vmrx93z-8.vc8cpou+.vmrx93z-8.vc8cpou{border-top-color:#ea580c33}.vmrx93z-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;max-width:100%;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;opacity:.8;margin:0}.vmrx93z-10{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.vmrx93z-11{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.v1vddol1-1{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";padding:1px 5px;border-radius:3px;font-size:9.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;background:#d4d4d8;color:#6b6e76}.v1vddol1-1.vwtsfr3{background:#16a34a26;color:#16a34a}.v1vddol1-1.v7vdi0r{background:#ea580c26;color:#ea580c}.v1vddol1-1.vg409p{background:#22d3ee26;color:#22d3ee}.v1vddol1-1.v7s5h51{background:#d4d4d8;color:#6b6e76}.vmn9mpb-1{height:100%;overflow:auto}.vmn9mpb-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:22px 32px 18px;border-bottom:1px solid #e8e8eb;background:#fcfcfc;position:sticky;top:0;z-index:3}.vmn9mpb-3{display:flex;align-items:center;justify-content:space-between;gap:14px}.vmn9mpb-4{display:flex;align-items:center;justify-content:flex-start;gap:12px}.vmn9mpb-5{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap}.vmn9mpb-6{display:flex;align-items:center;justify-content:flex-start;gap:5px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:3px 9px;border-radius:999px;background:#f0f0f2;color:#6b6e76;font-size:9.5px;line-height:1;letter-spacing:.04em}.vmn9mpb-7{font-size:11px;font-weight:600;color:#0a0b0d;letter-spacing:-.01em}.vmn9mpb-8{display:flex;align-items:center;justify-content:flex-start;gap:5px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color;appearance:none;padding:3px 9px;border-radius:999px;font-size:9.5px;line-height:1;letter-spacing:.04em;text-transform:uppercase;font-weight:500;color:#6b6e76;background:#f0f0f2;border:1px solid transparent;cursor:pointer}.vmn9mpb-8:hover{background:#ececee;color:#0a0b0d}.vmn9mpb-8.v124n73o{color:#fcfcfc;background:#0a0b0d;border-color:#0a0b0d}.vmn9mpb-8.v18aowuu:not(.v124n73o){color:#16a34a;background:#16a34a14;border-color:#16a34a2e}.vmn9mpb-8.vind66p:not(.v124n73o){color:#dc2626;background:#dc262614;border-color:#dc26262e}.vmn9mpb-8.v11id82e:not(.v124n73o){color:#0e7490;background:#22d3ee1a;border-color:#22d3ee38}.vmn9mpb-8.v1i2guj2:not(.v124n73o){color:#ea580c;background:#ea580c14;border-color:#ea580c2e}.vmn9mpb-8.v12gavlj:not(.v124n73o){color:#6b6e76;background:#e4e4e7;border-color:#e8e8eb}.vmn9mpb-8.v9duj39:not(.v124n73o){color:#ea580c;background:#ea580c1a;border-color:#ea580c38}.vmn9mpb-8.vjtgbed:not(.v124n73o){color:#0e7490;background:#22d3ee17;border-color:#22d3ee33}.vmn9mpb-8.vt17xas:not(.v124n73o){color:#6b6e76;background:#f0f0f2;border-color:#e8e8eb}.vmn9mpb-9{font-size:11px;font-weight:600;letter-spacing:-.01em}.vmn9mpb-10{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;padding:24px 32px 40px}.v1d1autj-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:transparent}.v1d1autj-1.vra3f9d{border:1px solid #e8e8eb;border-radius:var(--radius-lg);overflow:hidden;background:#fcfcfc}.v1d1autj-1.v1ofnfk9{height:100%;overflow:hidden}.v1d1autj-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:22px 32px;border-bottom:1px solid #e8e8eb;background:#fcfcfc}.v1d1autj-2.v16nf7cu{position:sticky;top:0;z-index:3}.v1d1autj-2.vp8tseb{cursor:pointer;padding:16px 24px}.v1d1autj-3{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.v1d1autj-4{margin-bottom:14px}.v1d1autj-5{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;flex:1}.v1d1autj-6{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;min-width:0;flex:1}.v1d1autj-7{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0}.v1d1autj-8{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;color:#0a0b0d;letter-spacing:-.02em;margin:0}.v1d1autj-8.v8omtap{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.1}.v1d1autj-9{font-size:12.5px;color:#6b6e76;max-width:720px;line-height:1.5}.v1d1autj-10{display:inline-flex}.v1d1autj-11{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:#6b6e76}.v1d1autj-12{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-shrink:0}.v1d1autj-13{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:transform;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:#a4a7af;transform:rotate(-90deg)}.v1d1autj-13.v12vk5oa{transform:rotate(0)}.v1d1autj-13>svg{width:14px;height:14px}.v1d1autj-14{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.v1d1autj-14.v1dyggfg{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.v1d1autj-15{display:flex;flex-wrap:wrap;gap:1px;background:#e8e8eb;border-bottom:1px solid #e8e8eb}.v1d1autj-16{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:12px 16px 13px;background:#fcfcfc;flex:1 1 160px;min-width:160px}.v1d1autj-17{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;font-size:9px;color:#6b6e76}.v1d1autj-18{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v1d1autj-19{color:#a4a7af;flex-shrink:0}.v1d1autj-20{font-variant-numeric:tabular-nums;font-size:20px;font-weight:500;color:#0a0b0d;letter-spacing:-.02em;line-height:1.1}.v1d1autj-20.vsjzv4v{color:#0e7490}.v1d1autj-21{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px 32px 24px}.v1d1autj-21:not(:last-child){border-bottom:1px solid #e8e8eb}.v1d1autj-21.v1i7hsdh{min-height:480px}.vz4be4i-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;min-width:min(520px,calc(100vw - 72px))}.vz4be4i-2{display:flex;align-items:center;justify-content:space-between;gap:12px}.vz4be4i-3{display:flex;align-items:center;justify-content:flex-start;gap:8px}.vz4be4i-4{font-size:12px;color:#6b6e76}.vz4be4i-5{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;max-height:340px;overflow:auto;border:1px solid #e8e8eb;border-radius:var(--radius-md);background:#fcfcfc}.vz4be4i-6{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:38px;padding:0 12px;border-bottom:1px solid #e8e8eb;cursor:pointer}.vz4be4i-6:last-child{border-bottom:0}.vz4be4i-6:hover{background:#f0f0f2}.vz4be4i-6>input{flex-shrink:0}.vz4be4i-7{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;color:#0a0b0d}.vz4be4i-8{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;min-width:0;flex:1}.vz4be4i-9{display:flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0;flex-wrap:wrap}.vz4be4i-10{max-width:140px;padding:1px 6px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:10px;line-height:1.4}.vz4be4i-11{padding:14px;color:#6b6e76;font-size:12.5px;line-height:1.45}.vz4be4i-12{display:flex;align-items:center;justify-content:flex-start;gap:12px}.vz4be4i-13{display:flex;align-items:center;justify-content:flex-start;gap:8px}.vz4be4i-14{height:32px;padding:0 10px;border:1px solid #d4d4d8;border-radius:var(--radius-md);background:#fcfcfc;color:#0a0b0d;font-size:12.5px}.vz4be4i-15{max-width:180px}.vz4be4i-16{display:flex;align-items:center;justify-content:flex-start;gap:6px;color:#6b6e76;font-size:12px;cursor:pointer}.vz4be4i-16>input{flex-shrink:0}.v1cu8ip0-1{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:#0006;z-index:60}.v1cu8ip0-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#fcfcfc;border:1px solid #d4d4d8;border-radius:12px;box-shadow:0 20px 50px -20px #00000059;min-width:480px;max-width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:hidden;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:opacity,transform}.v1cu8ip0-3{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #e8e8eb}.v1cu8ip0-4{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px}.v1cu8ip0-5{font-size:16px;font-weight:600;color:#0a0b0d;margin:0}.v1cu8ip0-6{font-size:13px;color:#6b6e76;margin:0}.v1cu8ip0-7{padding:16px 20px;overflow:auto}.v1cu8ip0-8{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid #e8e8eb;background:#f7f7f8}.v1cu8ip0-9{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:#6b6e76;cursor:pointer;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color}.v1cu8ip0-9:hover{background:#ececee;color:#0a0b0d}.v1cu8ip0-9:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}.vupvk1z-1{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;flex-wrap:wrap}.vupvk1z-2{max-width:160px;padding:2px 7px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:10.5px;line-height:1.4}.v1ddt0hy-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px 32px 24px;border-bottom:1px solid #e8e8eb}.v1ddt0hy-2{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.v1ddt0hy-2.v1eatw5g{margin-bottom:0}.v1ddt0hy-3{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.v1ddt0hy-4{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:transform;display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:#a4a7af;transform:rotate(-90deg)}.v1ddt0hy-4.v1ojs30c{transform:rotate(0)}.v1ddt0hy-4>svg{width:14px;height:14px}.v1ddt0hy-5{font-size:13.5px;font-weight:600;color:#0a0b0d;letter-spacing:-.01em}.v1ddt0hy-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76}.v1ddt0hy-7{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1}.v1ddt0hy-8{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;justify-content:flex-end;color:#6b6e76;font-size:12px}.v1ddt0hy-9{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.v1ddt0hy-10{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.v1ddt0hy-11{color:#6b6e76}.vzvspbh-1{height:150px;padding:10px 14px 8px;border:1px solid #e8e8eb;border-radius:var(--radius-lg);background:#fcfcfc}.vzvspbh-2{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76;padding:0 2px 4px}.vzvspbh-3{display:flex;flex-direction:column;gap:4px}.vzvspbh-3+.vzvspbh-3{margin-top:16px}.vzvspbh-4{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";padding:10px 12px;font-size:11px;line-height:1.5;color:#0a0b0d;min-width:160px}.vzvspbh-5{display:flex;justify-content:space-between;gap:14px}.vzvspbh-5+.vzvspbh-5{margin-top:4px}.vzvspbh-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vzvspbh-7{color:#0e7490}.v10k0sdn-1{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.v10k0sdn-2{font-size:13.5px;font-weight:600;color:#0a0b0d;letter-spacing:-.01em}.v10k0sdn-3{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76}.v10k0sdn-4{display:flex;align-items:center;justify-content:flex-start;gap:6px}.v10k0sdn-5{height:28px;min-width:132px;border:1px solid #e8e8eb;border-radius:var(--radius-sm);background:#fcfcfc;color:#0a0b0d;padding:0 26px 0 9px;font-size:11.5px;font-weight:500;line-height:1}.v10k0sdn-5:hover{border-color:#d4d4d8}.v10k0sdn-5:focus{outline:2px solid #22d3ee40;outline-offset:1px;border-color:#22d3eea6}.v10k0sdn-6{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.v10k0sdn-7{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76}.v1v3ddx1-1{padding:30px 24px;border:1px dashed #e8e8eb;border-radius:var(--radius-lg);text-align:center;color:#6b6e76;font-size:12.5px}.v1v3ddx1-2{border:1px solid #e8e8eb;border-radius:var(--radius-lg);background:#fcfcfc;overflow:auto}.v1v3ddx1-3{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}.v1v3ddx1-4{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;position:sticky;top:0;z-index:1;padding:10px 16px;background:#f7f7f8;box-shadow:inset 0 -1px #e8e8eb;color:#6b6e76;text-align:left;white-space:nowrap}.v1v3ddx1-4.v10rcuqw{text-align:right}.v1v3ddx1-4.vl7rjcc{padding-left:36px}.v1v3ddx1-5{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background;cursor:pointer;border-top:1px solid #e8e8eb;border-left:3px solid transparent;background:#f7f7f8}.v1v3ddx1-5:first-child{border-top:none}.v1v3ddx1-5:hover{background:#f0f0f2}.v1v3ddx1-5.v9wbf1x{background:#22d3ee0f}.v1v3ddx1-5.v9wbf1x:hover{background:#22d3ee1a}.v1v3ddx1-5.v1wi22g7{border-left-color:#22d3ee}.v1v3ddx1-6{padding:12px 16px;vertical-align:middle;white-space:nowrap;color:#0a0b0d;font-size:12px}.v1v3ddx1-6.v10rcuqw{text-align:right}.v1v3ddx1-6.vh68gi{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums;font-size:11.5px;color:#6b6e76}.v1v3ddx1-7{display:flex;align-items:center;justify-content:flex-start;gap:8px}.v1v3ddx1-8{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:color;display:inline-flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;cursor:pointer;color:#6b6e76}.v1v3ddx1-8:hover{color:#0a0b0d}.v1v3ddx1-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:3px 6px;border-radius:var(--radius-sm);background:#22d3ee1f;color:#0e7490;font-size:10px;letter-spacing:.04em;line-height:1}.v1v3ddx1-10{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";padding:3px 6px;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:10.5px;line-height:1}.v1v3ddx1-11{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:3px 6px;border-radius:var(--radius-sm);background:#f0f0f2;color:#6b6e76;font-size:10px;letter-spacing:.04em;line-height:1}.v1v3ddx1-12{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:3px 6px;border-radius:var(--radius-sm);background:#ea580c1a;color:#ea580c;font-size:10px;letter-spacing:.04em;line-height:1}.v1v3ddx1-13{font-size:12.5px;font-weight:500;color:#0a0b0d;letter-spacing:-.005em}.v1v3ddx1-13.v9wbf1x{color:#0e7490}.v1v3ddx1-14{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background;cursor:pointer;border-top:1px solid #e8e8eb;border-left:3px solid transparent}.v1v3ddx1-14:hover{background:#f7f7f8}.v1v3ddx1-14.v1wi22g7{border-left-color:#22d3ee}.v1v3ddx1-15{padding:10px 16px;vertical-align:middle;white-space:nowrap;color:#0a0b0d;font-size:12px}.v1v3ddx1-15.v10rcuqw{text-align:right}.v1v3ddx1-15.vh68gi{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums;font-size:11.5px;color:#6b6e76}.v1v3ddx1-15.vl7rjcc{padding-left:36px}.v1v3ddx1-16{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12px;color:#0a0b0d;max-width:260px}.v1v3ddx1-17{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:320px}.v1v3ddx1-18{color:#a4a7af}.v1v3ddx1-19{border-top:1px solid #e8e8eb}.v1v3ddx1-20{padding:18px;text-align:center;font-size:12px;color:#6b6e76}.v6nngvf-1{color:#a4a7af}.v6nngvf-2{display:inline-block;width:40px;height:3px;border-radius:4px;background:#f0f0f2;position:relative;overflow:hidden;margin-right:8px;vertical-align:middle}.v6nngvf-3{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#a4a7af}.v6nngvf-3.vj3xmch{background:#16a34a}.v6nngvf-3.v1b0sr1n{background:#ea580c}.v6nngvf-3.v3vjwcw{background:#dc2626}.v6nngvf-4{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums;font-size:12px;color:#0a0b0d;font-weight:500}.v6nngvf-5{display:flex;align-items:center;justify-content:flex-start;display:inline-flex}.v6nngvf-6{display:flex;align-items:center;justify-content:flex-start;gap:5px;display:inline-flex;justify-content:center;min-width:54px;padding:3px 7px;border-radius:var(--radius-sm);color:#6b6e76;background:#f0f0f2;font-size:11px;font-weight:600}.v6nngvf-6.vj3xmch{color:#16a34a;background:#16a34a1a}.v6nngvf-6.v3vjwcw{color:#dc2626;background:#dc26261a}.v6nngvf-7{display:flex;align-items:center;justify-content:flex-start;gap:1px;display:inline-flex;color:#a4a7af}.v6nngvf-7>svg{width:13px;height:13px}.v6nngvf-7>.filled{color:#ea580c;fill:currentColor}.v6nngvf-8{display:flex;align-items:center;justify-content:flex-end;gap:4px}.v6nngvf-9{display:flex;align-items:center;justify-content:flex-start;gap:4px;justify-content:center;height:24px;min-width:28px;padding:0 7px;border:1px solid #d4d4d8;border-radius:var(--radius-sm);background:#fcfcfc;color:#6b6e76;font-size:11px;font-weight:600}.v6nngvf-9>svg{width:12px;height:12px}.v6nngvf-9:hover:not(:disabled){border-color:#22d3ee80;background:#f0f0f2;color:#0a0b0d}.v6nngvf-9:disabled{opacity:.6}.v6nngvf-9.vrka86m{color:#16a34a;border-color:#16a34a80;background:#16a34a1a}.v6nngvf-9.v14fx5bw{color:#dc2626;border-color:#dc262680;background:#dc26261a}.v6nngvf-10{display:flex;align-items:center;justify-content:center;width:20px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#a4a7af}.v6nngvf-10>svg{width:14px;height:14px}.v6nngvf-10:hover:not(:disabled),.v6nngvf-10.v3c191l{color:#ea580c}.v6nngvf-10.v3c191l>svg{fill:currentColor}.v6nngvf-10:disabled{opacity:.6}.v13pixzc-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px}.v13pixzc-2{display:flex;align-items:center;justify-content:flex-start;gap:8px}.v13pixzc-3{font-size:13px;color:#dc2626;margin:0}.vfk6qf6-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;font-size:13px}.vfk6qf6-2{display:flex;align-items:center;justify-content:space-between;gap:8px}.vfk6qf6-3{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-weight:500;color:#0a0b0d}.vfk6qf6-4{font-size:11px;color:#6b6e76;font-weight:400}.vfk6qf6-5{font-size:12px;color:#6b6e76}.vfk6qf6-6{width:100%;padding:8px 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fcfcfc;font-size:13px;color:#0a0b0d;font-family:inherit;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:border-color,box-shadow}.vfk6qf6-6:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.vfk6qf6-7{width:100%;padding:8px 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fcfcfc;font-size:13px;color:#0a0b0d;font-family:inherit;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:border-color,box-shadow}.vfk6qf6-7:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.vfk6qf6-8{width:100%;padding:8px 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fcfcfc;font-size:13px;color:#0a0b0d;font-family:inherit;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:border-color,box-shadow;resize:vertical;min-height:72px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace}.vfk6qf6-8:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.vfk6qf6-9{width:100%;padding:8px 10px;border:1px solid #d4d4d8;border-radius:6px;background:#fcfcfc;font-size:13px;color:#0a0b0d;font-family:inherit;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:border-color,box-shadow;appearance:auto}.vfk6qf6-9:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.vfk6qf6-10{display:flex;align-items:center;justify-content:flex-start;gap:8px}.vfk6qf6-11{width:16px;height:16px;cursor:pointer}.vfk6qf6-12{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;font-size:12px;color:#dc2626;margin:0;padding:0;list-style:none}.vfk6qf6-13{display:none}.vfk6qf6-14{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;display:flex;align-items:center;justify-content:center;padding:16px;border:1px dashed #d4d4d8;border-radius:8px;background:#f7f7f8;color:#6b6e76;cursor:pointer;text-align:center;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color}.vfk6qf6-14:hover{background:#ececee;border-color:#22d3ee}.vfk6qf6-14.v11xvxzh{background:#22d3ee14;border-color:#22d3ee;color:#0a0b0d}.vfk6qf6-15{font-size:12px;color:#6b6e76}.vfk6qf6-16{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px;border:1px solid #e8e8eb;border-radius:8px;background:#fcfcfc}.vfk6qf6-17{display:flex;align-items:center;justify-content:space-between;gap:12px}.vfk6qf6-18{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;min-width:0}.vfk6qf6-19{font-weight:500;color:#0a0b0d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfk6qf6-20{font-size:12px;color:#6b6e76}.vfk6qf6-21{display:flex;align-items:center;justify-content:flex-start;gap:8px}.vfk6qf6-22{border:none;background:transparent;padding:4px 8px;border-radius:6px;font-size:12px;color:#6b6e76;cursor:pointer;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color}.vfk6qf6-22:hover{background:#ececee;color:#0a0b0d}.vfk6qf6-23{max-width:100%;max-height:200px;border-radius:6px;object-fit:contain;background:#f0f0f2;cursor:zoom-in}.v1eplm6x-1{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:13px;color:#6b6e76}.v1eplm6x-2{color:#a4a7af;margin:0 6px}.v1eplm6x-3{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:color;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";appearance:none;background:transparent;border:none;padding:0;color:#6b6e76;cursor:pointer}.v1eplm6x-3:hover,.v1eplm6x-4{color:#0a0b0d}.v1pnz30d-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;min-width:min(520px,calc(100vw - 72px))}.v1pnz30d-2{display:flex;align-items:center;justify-content:space-between;gap:12px}.v1pnz30d-3{display:flex;align-items:center;justify-content:flex-start;gap:8px}.v1pnz30d-4{font-size:12px;color:#6b6e76}.v1pnz30d-5{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;max-height:340px;overflow:auto;border:1px solid #e8e8eb;border-radius:var(--radius-md);background:#fcfcfc}.v1pnz30d-6{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:38px;padding:0 12px;border-bottom:1px solid #e8e8eb;cursor:pointer}.v1pnz30d-6:last-child{border-bottom:0}.v1pnz30d-6:hover{background:#f0f0f2}.v1pnz30d-6>input{flex-shrink:0}.v1pnz30d-7{min-width:0;font-size:12px;color:#0a0b0d}.v1pnz30d-8{padding:14px;color:#6b6e76;font-size:12.5px;line-height:1.45}.v1pnz30d-9{display:flex;align-items:center;justify-content:flex-start;gap:12px}.v1pnz30d-10{display:flex;align-items:center;justify-content:flex-start;gap:8px}.v1pnz30d-11{height:32px;padding:0 10px;border:1px solid #d4d4d8;border-radius:var(--radius-md);background:#fcfcfc;color:#0a0b0d;font-size:12.5px}.v1pnz30d-12{display:flex;align-items:center;justify-content:flex-start;gap:6px;color:#6b6e76;font-size:12px;cursor:pointer}.v1pnz30d-12>input{flex-shrink:0}.vgxz95z-1{border-left:1px solid #e8e8eb;background:#f7f7f8;display:flex;align-items:center;justify-content:center;color:#6b6e76;font-size:12px;flex-shrink:0}.vgxz95z-2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;flex-shrink:0;border-left:1px solid #e8e8eb;background:#f7f7f8;overflow:hidden}.vgxz95z-3{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:14px 18px 12px;border-bottom:1px solid #e8e8eb;background:#f7f7f8;flex-shrink:0}.vgxz95z-4{display:flex;align-items:center;justify-content:space-between;gap:10px}.vgxz95z-5{display:flex;align-items:center;justify-content:flex-start;gap:6px}.vgxz95z-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vgxz95z-7{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0}.vgxz95z-8{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:9.5px;font-weight:600;padding:3px 8px;border-radius:4px;color:#0a0b0d;background:#22d3ee}.vgxz95z-9{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;font-size:9.5px;font-weight:600;padding:3px 8px;border-radius:4px;color:#ea580c;background:#ea580c1a}.vgxz95z-10{font-size:15px;font-weight:600;color:#0a0b0d;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.vgxz95z-11{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px}.vgxz95z-12{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.vgxz95z-13{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vgxz95z-14{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vgxz95z-15{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:12px 14px;background:#fcfcfc;border:1px solid #e8e8eb;border-radius:var(--radius-md)}.vgxz95z-16{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#6b6e76}.vgxz95z-17{font-variant-numeric:tabular-nums;font-size:18px;font-weight:500;color:#0a0b0d;letter-spacing:-.02em}.vgxz95z-17.v15guhoh{color:#0e7490}.vgxz95z-17.v1amf7no{color:#dc2626}.vgxz95z-18{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0}.vgxz95z-19{font-size:12px;color:#6b6e76}.vgxz95z-20{margin:0;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums;font-size:11.5px;color:#0a0b0d;word-break:break-all}.vgxz95z-21{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border:1px solid #e8e8eb;border-radius:var(--radius-md);overflow:hidden;background:#fcfcfc}.vgxz95z-22{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-top:1px solid #e8e8eb;cursor:pointer;text-align:left}.vgxz95z-22:first-child{border-top:none}.vgxz95z-22:hover{background:#f0f0f2}.vgxz95z-23{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;flex:1;min-width:0}.vgxz95z-24{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:12px;color:#0a0b0d}.vgxz95z-25{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10.5px;color:#6b6e76}.vgxz95z-26{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-shrink:0}.vgxz95z-27{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-variant-numeric:tabular-nums;font-size:11px;color:#6b6e76;min-width:44px;text-align:right}.vgxz95z-28{padding:18px 14px;text-align:center;font-size:11.5px;color:#6b6e76;border:1px dashed #e8e8eb;border-radius:var(--radius-md)}.v11wyrim-1{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-shrink:0;border-right:1px solid #e8e8eb;background:#f7f7f8;overflow:hidden;position:relative}.v11wyrim-2{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid #e8e8eb}.v11wyrim-3{width:26px;height:26px;background:linear-gradient(135deg,#22d3ee,#0e7490);border-radius:7px;display:grid;place-items:center;color:#0a0b0d;font-weight:700;font-size:12.5px;letter-spacing:-.02em;box-shadow:0 0 20px #22d3ee33}.v11wyrim-4{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1px;flex:1;min-width:0}.v11wyrim-5{font-size:13px;font-weight:600;letter-spacing:-.01em;color:#0a0b0d}.v11wyrim-6{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;color:#6b6e76;font-variant-numeric:tabular-nums}.v11wyrim-7{display:flex;align-items:center;justify-content:flex-start;gap:6px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color;margin:10px 12px 0;padding:0 8px;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);color:#6b6e76}.v11wyrim-7:focus-within{border-color:#22d3ee;background:#fcfcfc;color:#0a0b0d}.v11wyrim-7>svg{width:12px;height:12px;flex-shrink:0}.v11wyrim-8{flex:1;appearance:none;background:transparent;border:none;outline:none;padding:6px 0;font-size:12.5px;color:#0a0b0d;min-width:0}.v11wyrim-8::placeholder{color:#a4a7af}.v11wyrim-9{display:flex;align-items:center;justify-content:center;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-sm);padding:0;color:#a4a7af;cursor:pointer;flex-shrink:0}.v11wyrim-9:hover{background:#ececee;color:#0a0b0d}.v11wyrim-9>svg{width:12px;height:12px}.v11wyrim-10{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px 6px}.v11wyrim-11{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;padding:10px 12px 0}.v11wyrim-12{display:flex;align-items:center;justify-content:flex-start;gap:5px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,border-color,color;appearance:none;border:1px solid #e8e8eb;border-radius:999px;background:#f0f0f2;color:#6b6e76;padding:4px 8px;font-size:10px;line-height:1;font-weight:500;text-transform:uppercase;cursor:pointer}.v11wyrim-12:hover{background:#ececee;color:#0a0b0d}.v11wyrim-12.v6lqv3n{background:#0a0b0d;border-color:#0a0b0d;color:#fcfcfc}.v11wyrim-12.v19qld18:not(.v6lqv3n){color:#16a34a;background:#16a34a14;border-color:#16a34a2e}.v11wyrim-12.v1cg0dpp:not(.v6lqv3n){color:#dc2626;background:#dc262614;border-color:#dc26262e}.v11wyrim-12.v87wrzh:not(.v6lqv3n){color:#0e7490;background:#22d3ee1a;border-color:#22d3ee38}.v11wyrim-12.vs27jp:not(.v6lqv3n){color:#ea580c;background:#ea580c14;border-color:#ea580c2e}.v11wyrim-12.vyxbtsk:not(.v6lqv3n){background:#e4e4e7}.v11wyrim-12.vfa0aud:not(.v6lqv3n){color:#ea580c;background:#ea580c1a;border-color:#ea580c38}.v11wyrim-12.vrfu41b:not(.v6lqv3n){color:#0e7490;background:#22d3ee17;border-color:#22d3ee33}.v11wyrim-12.v177364w:not(.v6lqv3n){color:#6b6e76;background:#f0f0f2;border-color:#e8e8eb}.v11wyrim-13{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}.v11wyrim-14{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:color;appearance:none;background:transparent;border:none;padding:0;color:#6b6e76;cursor:pointer}.v11wyrim-14:hover,.v11wyrim-14.v6lqv3n{color:#0a0b0d}.v11wyrim-15{display:flex;align-items:center;justify-content:flex-start;gap:4px}.v11wyrim-16{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:10px;color:#a4a7af;font-variant-numeric:tabular-nums}.v11wyrim-17{display:flex;align-items:center;justify-content:center;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;width:22px;height:22px;background:transparent;border:none;border-radius:var(--radius-sm);padding:0;color:#a4a7af;cursor:pointer}.v11wyrim-17:hover{background:#f0f0f2;color:#0a0b0d}.v11wyrim-17:disabled{opacity:.4;cursor:default}.v11wyrim-17>svg{width:14px;height:14px}.v11wyrim-18{flex:1;overflow:auto;padding-bottom:10px}.vwomtc5-1{padding:2px 0 10px}.vwomtc5-2{padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px}.vwomtc5-3{color:#6b6e76;font-size:11.5px;font-weight:600;letter-spacing:-.005em}.vwomtc5-4{color:#6b6e76;font-size:12px;line-height:1.5;white-space:pre-wrap}.vwomtc5-5{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";display:block;width:100%;overflow:auto;color:#0a0b0d;background:#f0f0f2;border:1px solid #e8e8eb;border-radius:var(--radius-sm);padding:10px 12px}.vwomtc5-6{display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;position:relative;width:calc(100% - 16px);margin:1px 8px;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;color:#6b6e76;font-size:12.5px;line-height:20px;min-height:30px;padding-top:5px;padding-bottom:5px;padding-right:10px;overflow:hidden}.vwomtc5-6.depth0{padding-left:10px}.vwomtc5-6.depth1{padding-left:24px}.vwomtc5-6.depth2{padding-left:38px}.vwomtc5-6.depth3{padding-left:52px}.vwomtc5-6.active{background:#f0f0f2;color:#0a0b0d}.vwomtc5-6.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:2px;background:#22d3ee;border-radius:2px}.vwomtc5-7{display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:.24s cubic-bezier(.4,0,.2,1);transition-property:background,color;position:relative;width:calc(100% - 16px);margin:1px 8px;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;color:#6b6e76;font-size:12.5px;line-height:20px;min-height:30px;padding-top:5px;padding-bottom:5px;padding-right:10px;overflow:hidden;cursor:pointer}.vwomtc5-7.vhb7hne{padding-left:10px}.vwomtc5-7.v1dycipb{padding-left:24px}.vwomtc5-7.v1qfp5hv{padding-left:38px}.vwomtc5-7.v5btrph{padding-left:52px}.vwomtc5-7.viu82ah{background:#f0f0f2;color:#0a0b0d}.vwomtc5-7.viu82ah:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:2px;background:#22d3ee;border-radius:2px}.vwomtc5-7:not(.viu82ah):hover{background:#fcfcfc;color:#0a0b0d}.vwomtc5-8{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:transform,background,color;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);padding:0;color:#a4a7af;opacity:.8;flex-shrink:0;cursor:pointer}.vwomtc5-8:hover{background:#f0f0f2;color:#0a0b0d;opacity:1}.vwomtc5-8>svg{transition:.24s cubic-bezier(.4,0,.2,1);transition-property:transform;width:12px;height:12px}.vwomtc5-8.vk7wfis>svg{transform:rotate(90deg)}.vwomtc5-9{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;font-size:12.5px;color:#0a0b0d}.vwomtc5-10{color:#a4a7af;font-weight:400}.vwomtc5-11{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;font-size:12.5px}.vwomtc5-12{color:#a4a7af;font-weight:400}.vwomtc5-13{color:#a4a7af;font-weight:400;margin:0 4px}.vwomtc5-14{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-shrink:0}.vwomtc5-15{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero";font-size:10px;color:#a4a7af;font-variant-numeric:tabular-nums;flex-shrink:0}.v15ec1hr-1{height:100%;overflow:hidden;background:transparent}:root{color-scheme:light;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Geist,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif;font-feature-settings:"ss01","ss03","cv11";background:#fcfcfc;color:#0a0b0d;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.005em}#root{height:100%}::selection{background:#22d3ee4d;color:#0a0b0d}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;letter-spacing:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:#0e7490;text-decoration:none}a:hover{color:#22d3ee;text-decoration:underline;text-underline-offset:3px}
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap"
|
|
26
26
|
rel="stylesheet"
|
|
27
27
|
/>
|
|
28
|
-
<script type="module" crossorigin src="/assets/index-
|
|
29
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
28
|
+
<script type="module" crossorigin src="/assets/index-CANDLTsq.js"></script>
|
|
29
|
+
<link rel="stylesheet" crossorigin href="/assets/index-eFM9VIsz.css">
|
|
30
30
|
</head>
|
|
31
31
|
<body>
|
|
32
32
|
<div id="root"></div>
|
package/dist/bin.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as validateCharts, At as buildEvalKey, C as deriveEvalFreshness, Ct as getEvalDisplayStatus, D as loadConfig, Dt as runSummarySchema, E as resolveEvalDefaultConfig, Mt as getCaseRowEvalKey, O as buildDeclaredColumnDefs, Ot as resolveApiCallsConfig, Rt as getEvalRegistry, S as parseManualInputValues, St as getEvalTitle, T as parseEvalDiscovery, Tt as matchesTagsFilter, _ as recomputePersistedCaseStatus, a as validateTagsFilters, b as resolveArtifactPath, bt as applyDerivedCallAttributes, c as getLastRunStatuses, d as loadPersistedRunSnapshots, f as nextShortIdFromSnapshots, g as recomputeEvalStatusesInRuns, h as persistRunState, i as resolveEvalTags, j as createFsCacheStore, jt as getCaseRowCaseKey, k as normalizeScoreDef, kt as resolveLlmCallsConfig, l as getLatestRunInfos, m as deleteTemporaryRuns, n as getTargetEvalKeys, o as stripTerminalControlCodes, p as persistCaseDetail, s as generateRunId, u as loadPersistedRunSnapshot, v as runTouchesEval, w as loadEvalModule, wt as deriveScopedSummaryFromCases, x as buildManualInputDescriptor, y as resolveTracePresentation } from "./runOrchestration-
|
|
1
|
+
import { A as validateCharts, At as buildEvalKey, C as deriveEvalFreshness, Ct as getEvalDisplayStatus, D as loadConfig, Dt as runSummarySchema, E as resolveEvalDefaultConfig, Mt as getCaseRowEvalKey, O as buildDeclaredColumnDefs, Ot as resolveApiCallsConfig, Rt as getEvalRegistry, S as parseManualInputValues, St as getEvalTitle, T as parseEvalDiscovery, Tt as matchesTagsFilter, _ as recomputePersistedCaseStatus, a as validateTagsFilters, b as resolveArtifactPath, bt as applyDerivedCallAttributes, c as getLastRunStatuses, d as loadPersistedRunSnapshots, f as nextShortIdFromSnapshots, g as recomputeEvalStatusesInRuns, h as persistRunState, i as resolveEvalTags, j as createFsCacheStore, jt as getCaseRowCaseKey, k as normalizeScoreDef, kt as resolveLlmCallsConfig, l as getLatestRunInfos, m as deleteTemporaryRuns, n as getTargetEvalKeys, o as stripTerminalControlCodes, p as persistCaseDetail, s as generateRunId, u as loadPersistedRunSnapshot, v as runTouchesEval, w as loadEvalModule, wt as deriveScopedSummaryFromCases, x as buildManualInputDescriptor, y as resolveTracePresentation } from "./runOrchestration-SPaHx-SC.mjs";
|
|
2
2
|
import { copyFile, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
4
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -2046,8 +2046,8 @@ async function commandApp(args) {
|
|
|
2046
2046
|
const { serve } = await import("@hono/node-server");
|
|
2047
2047
|
const bundledWebDist = resolve(currentDir, "apps/web/dist");
|
|
2048
2048
|
if (existsSync(bundledWebDist)) process.env.AGENT_EVALS_WEB_DIST = bundledWebDist;
|
|
2049
|
-
const appModule = await import("./app-
|
|
2050
|
-
const runnerModule = await import("./runner-
|
|
2049
|
+
const appModule = await import("./app-mOYjX9zq.mjs");
|
|
2050
|
+
const runnerModule = await import("./runner-BYOdLBle.mjs");
|
|
2051
2051
|
if (!isHonoAppModule(appModule)) throw new Error("Server app module is invalid");
|
|
2052
2052
|
if (!isServerRunnerModule(runnerModule)) throw new Error("Server runner module is invalid");
|
|
2053
2053
|
await runnerModule.initRunner();
|
package/dist/index.d.mts
CHANGED
|
@@ -1762,8 +1762,8 @@ declare const columnDefSchema: z$1.ZodObject<{
|
|
|
1762
1762
|
hideIfNoValue: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
1763
1763
|
align: z$1.ZodOptional<z$1.ZodEnum<{
|
|
1764
1764
|
left: "left";
|
|
1765
|
-
center: "center";
|
|
1766
1765
|
right: "right";
|
|
1766
|
+
center: "center";
|
|
1767
1767
|
}>>;
|
|
1768
1768
|
}, z$1.core.$strip>;
|
|
1769
1769
|
/** Column definition exposed to the UI for eval and case tables. */
|
|
@@ -2169,8 +2169,8 @@ declare const evalSummarySchema$1: z$1.ZodObject<{
|
|
|
2169
2169
|
hideIfNoValue: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
2170
2170
|
align: z$1.ZodOptional<z$1.ZodEnum<{
|
|
2171
2171
|
left: "left";
|
|
2172
|
-
center: "center";
|
|
2173
2172
|
right: "right";
|
|
2173
|
+
center: "center";
|
|
2174
2174
|
}>>;
|
|
2175
2175
|
}, z$1.core.$strip>>;
|
|
2176
2176
|
caseCount: z$1.ZodNullable<z$1.ZodNumber>;
|
|
@@ -2398,9 +2398,9 @@ declare const caseRowSchema$1: z$1.ZodObject<{
|
|
|
2398
2398
|
error: "error";
|
|
2399
2399
|
running: "running";
|
|
2400
2400
|
cancelled: "cancelled";
|
|
2401
|
+
pending: "pending";
|
|
2401
2402
|
pass: "pass";
|
|
2402
2403
|
fail: "fail";
|
|
2403
|
-
pending: "pending";
|
|
2404
2404
|
}>;
|
|
2405
2405
|
durationMs: z$1.ZodNullable<z$1.ZodNumber>;
|
|
2406
2406
|
costUsd: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
|
|
@@ -2563,9 +2563,9 @@ declare const caseDetailSchema$1: z$1.ZodObject<{
|
|
|
2563
2563
|
error: "error";
|
|
2564
2564
|
running: "running";
|
|
2565
2565
|
cancelled: "cancelled";
|
|
2566
|
+
pending: "pending";
|
|
2566
2567
|
pass: "pass";
|
|
2567
2568
|
fail: "fail";
|
|
2568
|
-
pending: "pending";
|
|
2569
2569
|
}>;
|
|
2570
2570
|
input: z$1.ZodUnknown;
|
|
2571
2571
|
trace: z$1.ZodArray<z$1.ZodObject<{
|
|
@@ -2761,10 +2761,10 @@ declare const caseDetailSchema$1: z$1.ZodObject<{
|
|
|
2761
2761
|
namespace: z$1.ZodString;
|
|
2762
2762
|
key: z$1.ZodString;
|
|
2763
2763
|
status: z$1.ZodEnum<{
|
|
2764
|
+
bypass: "bypass";
|
|
2765
|
+
refresh: "refresh";
|
|
2764
2766
|
hit: "hit";
|
|
2765
2767
|
miss: "miss";
|
|
2766
|
-
refresh: "refresh";
|
|
2767
|
-
bypass: "bypass";
|
|
2768
2768
|
}>;
|
|
2769
2769
|
read: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
2770
2770
|
stored: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
@@ -3122,8 +3122,8 @@ declare const runManifestSchema$1: z$1.ZodObject<{
|
|
|
3122
3122
|
target: z$1.ZodObject<{
|
|
3123
3123
|
mode: z$1.ZodEnum<{
|
|
3124
3124
|
all: "all";
|
|
3125
|
-
caseIds: "caseIds";
|
|
3126
3125
|
evalIds: "evalIds";
|
|
3126
|
+
caseIds: "caseIds";
|
|
3127
3127
|
}>;
|
|
3128
3128
|
evalKeys: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
3129
3129
|
files: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
@@ -3137,9 +3137,9 @@ declare const runManifestSchema$1: z$1.ZodObject<{
|
|
|
3137
3137
|
median: "median";
|
|
3138
3138
|
}>>>;
|
|
3139
3139
|
cacheMode: z$1.ZodOptional<z$1.ZodEnum<{
|
|
3140
|
-
refresh: "refresh";
|
|
3141
|
-
bypass: "bypass";
|
|
3142
3140
|
use: "use";
|
|
3141
|
+
bypass: "bypass";
|
|
3142
|
+
refresh: "refresh";
|
|
3143
3143
|
}>>;
|
|
3144
3144
|
}, z$1.core.$strip>;
|
|
3145
3145
|
/** Persisted lifecycle metadata for a single eval run. */
|
|
@@ -3849,7 +3849,7 @@ type LlmCallEntry = {
|
|
|
3849
3849
|
cacheCreationInputTokens: number | null;
|
|
3850
3850
|
reasoningTokens: number | null;
|
|
3851
3851
|
totalTokens: number | null; /** Time to first token for the LLM call in milliseconds, when reported by the span. */
|
|
3852
|
-
latencyMs: number | null;
|
|
3852
|
+
latencyMs: number | null; /** Output-token throughput over the full elapsed LLM call duration. */
|
|
3853
3853
|
tokensPerSecond: number | null;
|
|
3854
3854
|
costUsd: number | null;
|
|
3855
3855
|
inputCostUsd: number | null;
|
|
@@ -3956,7 +3956,8 @@ declare function simulateTokenAllocation({
|
|
|
3956
3956
|
* `getNestedAttribute` from the configured paths, with safe coercion to
|
|
3957
3957
|
* `string | null` / `number | null`. `latencyMs` is an explicit
|
|
3958
3958
|
* time-to-first-token attribute; full span elapsed time is reported separately
|
|
3959
|
-
* as `durationMs`.
|
|
3959
|
+
* as `durationMs`. `tokensPerSecond` is output tokens divided by that full
|
|
3960
|
+
* elapsed duration. Built-in USD costs are derived only from configured model
|
|
3960
3961
|
* pricing and token counts. `totalTokens` is always derived from input +
|
|
3961
3962
|
* output tokens. Cached input and cache creation tokens are reported
|
|
3962
3963
|
* separately because they are subsets of input/output usage. The main cache
|
|
@@ -4025,9 +4026,9 @@ declare function extractApiCalls(spans: EvalTraceSpan$1[], config: ResolvedApiCa
|
|
|
4025
4026
|
* - `refresh`: never read, always write (forces re-execution and overwrites).
|
|
4026
4027
|
*/
|
|
4027
4028
|
declare const cacheModeSchema: z$1.ZodEnum<{
|
|
4028
|
-
refresh: "refresh";
|
|
4029
|
-
bypass: "bypass";
|
|
4030
4029
|
use: "use";
|
|
4030
|
+
bypass: "bypass";
|
|
4031
|
+
refresh: "refresh";
|
|
4031
4032
|
}>;
|
|
4032
4033
|
/** Mode controlling how cached spans behave during a run. */
|
|
4033
4034
|
type CacheMode = z$1.infer<typeof cacheModeSchema>;
|
|
@@ -4048,10 +4049,10 @@ declare const cacheOperationTypeSchema: z$1.ZodEnum<{
|
|
|
4048
4049
|
type CacheOperationType = z$1.infer<typeof cacheOperationTypeSchema>;
|
|
4049
4050
|
/** Status of a cache lookup recorded on a span or case scope. */
|
|
4050
4051
|
declare const cacheStatusSchema: z$1.ZodEnum<{
|
|
4052
|
+
bypass: "bypass";
|
|
4053
|
+
refresh: "refresh";
|
|
4051
4054
|
hit: "hit";
|
|
4052
4055
|
miss: "miss";
|
|
4053
|
-
refresh: "refresh";
|
|
4054
|
-
bypass: "bypass";
|
|
4055
4056
|
}>;
|
|
4056
4057
|
/** Status of a cache lookup recorded on a span or case scope. */
|
|
4057
4058
|
type CacheStatus = z$1.infer<typeof cacheStatusSchema>;
|
|
@@ -4068,10 +4069,10 @@ declare const traceCacheRefSchema: z$1.ZodObject<{
|
|
|
4068
4069
|
namespace: z$1.ZodString;
|
|
4069
4070
|
key: z$1.ZodString;
|
|
4070
4071
|
status: z$1.ZodEnum<{
|
|
4072
|
+
bypass: "bypass";
|
|
4073
|
+
refresh: "refresh";
|
|
4071
4074
|
hit: "hit";
|
|
4072
4075
|
miss: "miss";
|
|
4073
|
-
refresh: "refresh";
|
|
4074
|
-
bypass: "bypass";
|
|
4075
4076
|
}>;
|
|
4076
4077
|
read: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
4077
4078
|
stored: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
@@ -4575,8 +4576,8 @@ declare const createRunRequestSchema$1: z$1.ZodObject<{
|
|
|
4575
4576
|
target: z$1.ZodObject<{
|
|
4576
4577
|
mode: z$1.ZodEnum<{
|
|
4577
4578
|
all: "all";
|
|
4578
|
-
caseIds: "caseIds";
|
|
4579
4579
|
evalIds: "evalIds";
|
|
4580
|
+
caseIds: "caseIds";
|
|
4580
4581
|
}>;
|
|
4581
4582
|
evalKeys: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
4582
4583
|
files: z$1.ZodOptional<z$1.ZodArray<z$1.ZodString>>;
|
|
@@ -4588,9 +4589,9 @@ declare const createRunRequestSchema$1: z$1.ZodObject<{
|
|
|
4588
4589
|
temporary: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
4589
4590
|
cache: z$1.ZodOptional<z$1.ZodObject<{
|
|
4590
4591
|
mode: z$1.ZodDefault<z$1.ZodEnum<{
|
|
4591
|
-
refresh: "refresh";
|
|
4592
|
-
bypass: "bypass";
|
|
4593
4592
|
use: "use";
|
|
4593
|
+
bypass: "bypass";
|
|
4594
|
+
refresh: "refresh";
|
|
4594
4595
|
}>>;
|
|
4595
4596
|
}, z$1.core.$strip>>;
|
|
4596
4597
|
manualInputs: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>>;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as getCurrentScope, B as deserializeCacheValue, F as evalSpan, G as readManualInputFile, H as serializeCacheValue, I as evalTracer, J as appendToEvalOutput, K as evalExpect, L as hashCacheKey, M as z, N as buildTraceTree, P as captureEvalSpanError, Q as evalTime, R as hashCacheKeySync, Rt as getEvalRegistry, U as repoFile, V as serializeCacheRecording, W as manualInputFileValueSchema, X as evalAssert, Z as evalLog, _t as extractLlmCalls, at as nextEvalId, ct as runInExistingEvalScope, dt as startEvalBackgroundJob, et as getEvalCaseInput, gt as extractApiCalls, ht as extractCacheHits, it as mergeEvalOutput, lt as setEvalOutput, mt as extractCacheEntries, nt as isInEvalScope, ot as runInEvalRuntimeScope, q as EvalAssertionError, st as runInEvalScope, tt as incrementEvalOutput, ut as setScopeCacheContext, vt as simulateLlmCallCost, xt as getNestedAttribute, yt as simulateTokenAllocation, z as deserializeCacheRecording } from "./runOrchestration-
|
|
2
|
-
import { a as materializeManualInputFiles, i as isManualInputFileValue, n as createRunner, o as stageManualInputFile, r as cleanupStagedManualInputFiles, s as stageManualInputFileFromPath, t as runCli } from "./cli-
|
|
3
|
-
import { n as matchesEvalTags, t as defineEval } from "./src-
|
|
1
|
+
import { $ as getCurrentScope, B as deserializeCacheValue, F as evalSpan, G as readManualInputFile, H as serializeCacheValue, I as evalTracer, J as appendToEvalOutput, K as evalExpect, L as hashCacheKey, M as z, N as buildTraceTree, P as captureEvalSpanError, Q as evalTime, R as hashCacheKeySync, Rt as getEvalRegistry, U as repoFile, V as serializeCacheRecording, W as manualInputFileValueSchema, X as evalAssert, Z as evalLog, _t as extractLlmCalls, at as nextEvalId, ct as runInExistingEvalScope, dt as startEvalBackgroundJob, et as getEvalCaseInput, gt as extractApiCalls, ht as extractCacheHits, it as mergeEvalOutput, lt as setEvalOutput, mt as extractCacheEntries, nt as isInEvalScope, ot as runInEvalRuntimeScope, q as EvalAssertionError, st as runInEvalScope, tt as incrementEvalOutput, ut as setScopeCacheContext, vt as simulateLlmCallCost, xt as getNestedAttribute, yt as simulateTokenAllocation, z as deserializeCacheRecording } from "./runOrchestration-SPaHx-SC.mjs";
|
|
2
|
+
import { a as materializeManualInputFiles, i as isManualInputFileValue, n as createRunner, o as stageManualInputFile, r as cleanupStagedManualInputFiles, s as stageManualInputFileFromPath, t as runCli } from "./cli-DbVfkr9T.mjs";
|
|
3
|
+
import { n as matchesEvalTags, t as defineEval } from "./src-CANi3gpd.mjs";
|
|
4
4
|
export { EvalAssertionError, appendToEvalOutput, buildTraceTree, captureEvalSpanError, cleanupStagedManualInputFiles, createRunner, defineEval, deserializeCacheRecording, deserializeCacheValue, evalAssert, evalExpect, evalLog, evalSpan, evalTime, evalTracer, extractApiCalls, extractCacheEntries, extractCacheHits, extractLlmCalls, getCurrentScope, getEvalCaseInput, getEvalRegistry, getNestedAttribute, hashCacheKey, hashCacheKeySync, incrementEvalOutput, isInEvalScope, isManualInputFileValue, manualInputFileValueSchema, matchesEvalTags, materializeManualInputFiles, mergeEvalOutput, nextEvalId, readManualInputFile, repoFile, runCli, runInEvalRuntimeScope, runInEvalScope, runInExistingEvalScope, serializeCacheRecording, serializeCacheValue, setEvalOutput, setScopeCacheContext, simulateLlmCallCost, simulateTokenAllocation, stageManualInputFile, stageManualInputFileFromPath, startEvalBackgroundJob, z };
|
package/dist/runChild.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { At as buildEvalKey, D as loadConfig, Dt as runSummarySchema, Et as runManifestSchema, Ft as evalChartsConfigSchema, It as columnDefSchema, Nt as evalStatsConfigSchema, Pt as manualInputDescriptorSchema, T as parseEvalDiscovery, Y as configureEvalRunLogs, ft as createRunRequestSchema, h as persistRunState, j as createFsCacheStore, r as getTargetEvals$1, t as executeRun } from "./runOrchestration-
|
|
1
|
+
import { At as buildEvalKey, D as loadConfig, Dt as runSummarySchema, Et as runManifestSchema, Ft as evalChartsConfigSchema, It as columnDefSchema, Nt as evalStatsConfigSchema, Pt as manualInputDescriptorSchema, T as parseEvalDiscovery, Y as configureEvalRunLogs, ft as createRunRequestSchema, h as persistRunState, j as createFsCacheStore, r as getTargetEvals$1, t as executeRun } from "./runOrchestration-SPaHx-SC.mjs";
|
|
2
2
|
import { z } from "zod/v4";
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import { relative } from "node:path";
|
|
@@ -2056,12 +2056,11 @@ function computeTotalTokens({ input, output }) {
|
|
|
2056
2056
|
if (input === null && output === null) return null;
|
|
2057
2057
|
return (input ?? 0) + (output ?? 0);
|
|
2058
2058
|
}
|
|
2059
|
-
function computeTokensPerSecond({ outputTokens, durationMs
|
|
2059
|
+
function computeTokensPerSecond({ outputTokens, durationMs }) {
|
|
2060
2060
|
if (outputTokens === null || durationMs === null) return null;
|
|
2061
2061
|
if (outputTokens === 0) return 0;
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
return outputTokens / (generationMs / 1e3);
|
|
2062
|
+
if (durationMs <= 0) return null;
|
|
2063
|
+
return outputTokens / (durationMs / 1e3);
|
|
2065
2064
|
}
|
|
2066
2065
|
function readSteps(attributes, path) {
|
|
2067
2066
|
const raw = getNestedAttribute(attributes, path);
|
|
@@ -2094,7 +2093,8 @@ function pickError$1(span) {
|
|
|
2094
2093
|
* `getNestedAttribute` from the configured paths, with safe coercion to
|
|
2095
2094
|
* `string | null` / `number | null`. `latencyMs` is an explicit
|
|
2096
2095
|
* time-to-first-token attribute; full span elapsed time is reported separately
|
|
2097
|
-
* as `durationMs`.
|
|
2096
|
+
* as `durationMs`. `tokensPerSecond` is output tokens divided by that full
|
|
2097
|
+
* elapsed duration. Built-in USD costs are derived only from configured model
|
|
2098
2098
|
* pricing and token counts. `totalTokens` is always derived from input +
|
|
2099
2099
|
* output tokens. Cached input and cache creation tokens are reported
|
|
2100
2100
|
* separately because they are subsets of input/output usage. The main cache
|
|
@@ -2189,8 +2189,7 @@ function extractLlmCalls(spans, config) {
|
|
|
2189
2189
|
latencyMs,
|
|
2190
2190
|
tokensPerSecond: computeTokensPerSecond({
|
|
2191
2191
|
outputTokens,
|
|
2192
|
-
durationMs
|
|
2193
|
-
latencyMs
|
|
2192
|
+
durationMs
|
|
2194
2193
|
}),
|
|
2195
2194
|
costUsd,
|
|
2196
2195
|
inputCostUsd,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as initRunner, t as getRunnerInstance } from "./runner-
|
|
1
|
+
import { n as initRunner, t as getRunnerInstance } from "./runner-DiCQ57JQ.mjs";
|
|
2
2
|
export { getRunnerInstance, initRunner };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as createRunner } from "./cli-
|
|
2
|
-
import "./src-
|
|
1
|
+
import { n as createRunner } from "./cli-DbVfkr9T.mjs";
|
|
2
|
+
import "./src-CANi3gpd.mjs";
|
|
3
3
|
//#region ../../apps/server/src/runner.ts
|
|
4
4
|
let runnerInstance = null;
|
|
5
5
|
function getRunnerInstance() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Lt as defineEval$1, rt as matchesEvalTags$1 } from "./runOrchestration-
|
|
2
|
-
import "./cli-
|
|
1
|
+
import { Lt as defineEval$1, rt as matchesEvalTags$1 } from "./runOrchestration-SPaHx-SC.mjs";
|
|
2
|
+
import "./cli-DbVfkr9T.mjs";
|
|
3
3
|
//#region src/index.ts
|
|
4
4
|
/** Register an eval definition with typed tag support. */
|
|
5
5
|
function defineEval(definition) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ls-stack/agent-eval",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"agent-evals": "./dist/bin.mjs"
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"@types/node": "^24.7.2",
|
|
34
34
|
"typescript": "^5.9.2",
|
|
35
35
|
"@agent-evals/runner": "0.0.1",
|
|
36
|
-
"@agent-evals/
|
|
37
|
-
"@agent-evals/
|
|
36
|
+
"@agent-evals/shared": "0.0.1",
|
|
37
|
+
"@agent-evals/sdk": "0.0.1"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "pnpm --filter @agent-evals/web build && pnpm --filter @agent-evals/shared build && pnpm --filter @agent-evals/sdk build && pnpm --filter @agent-evals/runner build && tsdown --filter cli-js && tsdown --filter cli-types",
|
|
@@ -353,6 +353,9 @@ See `EvalScoreDef` / `EvalManualScoreDef` in the types for the full shape
|
|
|
353
353
|
column from the runs table when every rendered row is missing the value,
|
|
354
354
|
`null`, or an empty string; `0` and `false` still count as values, and the
|
|
355
355
|
value remains available in case details and raw output data.
|
|
356
|
+
In the case detail Output tab, string outputs that look like Markdown render
|
|
357
|
+
as Markdown even without `format: 'markdown'`, with a Preview/Raw toggle for
|
|
358
|
+
inspecting the original text.
|
|
356
359
|
- `deriveFromTracing` can be authored globally in `agent-evals.config.ts` or
|
|
357
360
|
locally on one eval. Prefer the keyed map form for shared metrics:
|
|
358
361
|
`deriveFromTracing: { toolCalls: ({ trace }) => trace.findSpansByKind('tool').length }`.
|
|
@@ -368,7 +371,7 @@ See `EvalScoreDef` / `EvalManualScoreDef` in the types for the full shape
|
|
|
368
371
|
summarized for review. Defaults to `kind: 'llm'` spans with `model`,
|
|
369
372
|
`usage.*`, `latencyMs`, `input`, `output`, etc. read from conventional
|
|
370
373
|
attribute paths. `latencyMs` is time to first token; duration, total tokens,
|
|
371
|
-
tokens/sec, and USD costs are derived. Override `kinds` to broaden the filter,
|
|
374
|
+
output tokens/sec, and USD costs are derived. Override `kinds` to broaden the filter,
|
|
372
375
|
override `attributes.<field>` for non-default primitive span shapes, configure
|
|
373
376
|
model-keyed `pricing` to derive USD costs from token counts, with nested
|
|
374
377
|
`providers` entries for provider-specific rates, add `costCurrencies` to show
|