@aidotnet/server-darwin-arm64 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/bin/astra-server +2 -2
  2. package/bin/wwwroot/assets/ClientsPage-DzZnCU7V.js +12 -0
  3. package/bin/wwwroot/assets/KeyPage-CtHw5I7A.js +1 -0
  4. package/bin/wwwroot/assets/ModelDetailPage-KY2k0x3l.js +1 -0
  5. package/bin/wwwroot/assets/ModelsPage-Bo8oA3Zb.js +1 -0
  6. package/bin/wwwroot/assets/PluginsPage-BMP78mVY.js +2 -0
  7. package/bin/wwwroot/assets/PrivacyPage-BgldsSQj.js +1 -0
  8. package/bin/wwwroot/assets/ProviderDetailPage-B6EfUhXb.js +3 -0
  9. package/bin/wwwroot/assets/ProvidersPage-DclHIvR2.js +2 -0
  10. package/bin/wwwroot/assets/SettingsPage-D29CZiaV.js +2 -0
  11. package/bin/wwwroot/assets/TokensPage-CaF-wXlr.js +1 -0
  12. package/bin/wwwroot/assets/TracesPage-Bzy2gUvV.js +7 -0
  13. package/bin/wwwroot/assets/TracesPage-CIQ1PxNA.css +1 -0
  14. package/bin/wwwroot/assets/TrayPanelPage-BZS_htv0.js +1 -0
  15. package/bin/wwwroot/assets/TrayPanelView-CYoAUUiY.js +1 -0
  16. package/bin/wwwroot/assets/alert-CGUFPyGb.js +15 -0
  17. package/bin/wwwroot/assets/{arrow-down-DTsCyVhl.js → arrow-down-7oFM4dM3.js} +1 -1
  18. package/bin/wwwroot/assets/{arrow-left-BlStTg-u.js → arrow-left-Dn6_YDkh.js} +1 -1
  19. package/bin/wwwroot/assets/{checkbox-B8UTLROZ.js → checkbox-DzIMWhhw.js} +1 -1
  20. package/bin/wwwroot/assets/{cloud-download-DoCH2MAL.js → cloud-download-Bvry8vmS.js} +1 -1
  21. package/bin/wwwroot/assets/confirm-morph-DnwMPT3r.js +1 -0
  22. package/bin/wwwroot/assets/{download-zacBMjpe.js → download-5xAFYJ6Q.js} +1 -1
  23. package/bin/wwwroot/assets/{ellipsis-Dwk6_QlF.js → ellipsis-Dxds5r72.js} +1 -1
  24. package/bin/wwwroot/assets/{external-link-D-L32_ye.js → external-link-Bq_1v6I1.js} +1 -1
  25. package/bin/wwwroot/assets/{folder-open-ex39110T.js → folder-open-BXsxEYtm.js} +1 -1
  26. package/bin/wwwroot/assets/index-BXZibBui.css +1 -0
  27. package/bin/wwwroot/assets/index-mlmGhWY4.js +17 -0
  28. package/bin/wwwroot/assets/{log-out-CZSB5kqp.js → log-out-B9HHsF8m.js} +1 -1
  29. package/bin/wwwroot/assets/logo-mark-BTnHGZva.png +0 -0
  30. package/bin/wwwroot/assets/minus-BVd6Aw9t.js +1 -0
  31. package/bin/wwwroot/assets/overlays-B1a0OZYb.js +41 -0
  32. package/bin/wwwroot/assets/{pencil-C7HWLb95.js → pencil-BAzRd1Ro.js} +1 -1
  33. package/bin/wwwroot/assets/{power-BggG52OJ.js → power-DrpargJA.js} +1 -1
  34. package/bin/wwwroot/assets/radio-cards-Cr0tP9In.js +1 -0
  35. package/bin/wwwroot/assets/radio-cards-DYTpaMMI.css +1 -0
  36. package/bin/wwwroot/assets/{rotate-ccw-Xx5_g9bd.js → rotate-ccw-D6r7Boub.js} +1 -1
  37. package/bin/wwwroot/index.html +4 -4
  38. package/package.json +1 -1
  39. package/bin/wwwroot/assets/ClientsPage-Cwjn83RD.js +0 -11
  40. package/bin/wwwroot/assets/KeyPage-IsBY88jG.js +0 -1
  41. package/bin/wwwroot/assets/ModelDetailPage-BT8_QmLF.js +0 -1
  42. package/bin/wwwroot/assets/ModelsPage-a3SNBXwe.js +0 -1
  43. package/bin/wwwroot/assets/PluginsPage-CXRMCp_F.js +0 -2
  44. package/bin/wwwroot/assets/PrivacyPage-BfdLDJ63.js +0 -1
  45. package/bin/wwwroot/assets/ProviderDetailPage-C9eabWwn.js +0 -3
  46. package/bin/wwwroot/assets/ProvidersPage-CPw-h0Uz.js +0 -2
  47. package/bin/wwwroot/assets/SettingsPage-CTnL166S.js +0 -2
  48. package/bin/wwwroot/assets/TokensPage-TPaxzBMY.js +0 -1
  49. package/bin/wwwroot/assets/TrayPanelPage-BGDBeJs0.js +0 -1
  50. package/bin/wwwroot/assets/TrayPanelView-DP-m1Cui.js +0 -1
  51. package/bin/wwwroot/assets/alert-C-zJo-Vf.js +0 -15
  52. package/bin/wwwroot/assets/confirm-morph-BZdvZ-wI.js +0 -1
  53. package/bin/wwwroot/assets/index-CNdW2eN9.js +0 -17
  54. package/bin/wwwroot/assets/index-DSv7xAxU.css +0 -1
  55. package/bin/wwwroot/assets/overlays-BBHZHl4R.js +0 -41
  56. package/bin/wwwroot/assets/radio-cards-BWCaBwfU.js +0 -1
  57. package/bin/wwwroot/assets/radio-cards-CxuojLkJ.css +0 -1
@@ -0,0 +1 @@
1
+ .react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.astra-flow{--xy-background-color:transparent;--xy-background-pattern-color:color-mix(in oklab, var(--label) 16%, transparent);--xy-edge-label-background-color:var(--surface-solid);--xy-edge-label-color:var(--label-2);--xy-minimap-background-color:var(--surface-solid);--xy-minimap-mask-background-color:color-mix(in oklab, var(--canvas) 55%, transparent);--xy-minimap-mask-stroke-color:var(--accent);--xy-minimap-mask-stroke-width:2;--xy-minimap-node-background-color:color-mix(in oklab, var(--label) 28%, transparent);--xy-selection-background-color:color-mix(in oklab, var(--accent) 10%, transparent);font-family:var(--font-sans)}.astra-flow .react-flow__pane{cursor:grab}.astra-flow .react-flow__pane.dragging{cursor:grabbing}.astra-flow .react-flow__handle{pointer-events:none;background:0 0;border:0;width:6px;min-width:0;height:6px;min-height:0}.astra-flow .react-flow__edge-textbg{rx:9px;ry:9px}.astra-flow .react-flow__edge-text{font-size:11.5px}.astra-flow .react-flow__minimap{border:.5px solid var(--separator);border-radius:10px;overflow:hidden}.trace-node{box-sizing:border-box;background:var(--surface-solid);border:1px solid var(--separator);height:100%;color:var(--label);cursor:grab;border-radius:12px;padding:8px 10px;font-size:12px;line-height:1.35;transition:box-shadow .12s;box-shadow:0 1px 2px #00000014}.react-flow__node.dragging .trace-node{cursor:grabbing;box-shadow:0 0 0 1px var(--accent), 0 16px 36px #0000004d}.trace-node:hover{border-color:color-mix(in oklab, var(--accent) 50%, var(--separator))}.trace-node.is-selected{box-shadow:0 0 0 2px var(--accent), 0 8px 22px #00000038}.trace-node.tone-warn{border-color:color-mix(in oklab, var(--orange) 60%, var(--separator))}.trace-node.tone-error{border-color:color-mix(in oklab, var(--red) 60%, var(--separator))}.trace-node.tone-ok{border-color:color-mix(in oklab, var(--green) 45%, var(--separator))}.trace-node.tone-sub{background:color-mix(in oklab, var(--accent-2) 12%, var(--surface-solid))}.trace-node.tone-idle{opacity:.75}.trace-node.is-pill{background:var(--surface-muted);border-style:dashed;border-radius:999px;padding:6px 14px}.trace-hub{width:96px;height:96px;box-shadow:0 0 0 .5px var(--separator), 0 8px 24px #0000002e;cursor:grab;background:#fff;border-radius:24px;overflow:hidden}.trace-hub.is-selected{box-shadow:0 0 0 2px var(--accent), 0 8px 24px #00000038}.trace-hub img{pointer-events:none;width:100%;height:100%;display:block}.trace-edge-label{background:var(--surface-solid);border:.5px solid var(--separator);color:var(--label-2);white-space:nowrap;pointer-events:none;border-radius:999px;padding:0 7px;font-size:11.5px;line-height:18px;position:absolute}.trace-step-label{background:var(--surface-solid);border:.5px dashed color-mix(in oklab, var(--label) 30%, transparent);max-width:120px;color:var(--label-2);font:inherit;white-space:nowrap;pointer-events:all;cursor:default;border-radius:999px;flex-direction:column;align-items:center;padding:0 8px;font-size:11px;line-height:18px;display:flex;position:absolute}.trace-step-label.has-tools{border-radius:9px;padding:2px 9px;line-height:14px}.trace-step-tools{text-overflow:ellipsis;max-width:100%;color:var(--label);overflow:hidden}.trace-step-label.is-clickable{cursor:pointer}.trace-step-label.is-clickable:hover{color:var(--label);border-color:var(--accent)}.trace-node.is-group{cursor:pointer;box-shadow:4px 4px 0 -1px var(--surface-solid), 4px 4px 0 0 var(--separator), 8px 8px 0 -2px var(--surface-solid), 8px 8px 0 -1px var(--separator)}.trace-flag{color:#fff;white-space:nowrap;border-radius:999px;height:18px;padding:0 7px;font-size:10.5px;font-weight:600;line-height:18px;position:absolute;top:-9px;left:10px}.trace-flag.tone-error{background:var(--red)}.trace-flag.tone-warn{background:color-mix(in oklab, var(--orange) 85%, black)}.trace-node.is-pending{border-color:color-mix(in oklab, var(--accent) 60%, var(--separator));animation:1.6s ease-in-out infinite trace-pending}@keyframes trace-pending{50%{box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent), 0 1px 2px #00000014}}.trace-pending-dot{background:color-mix(in oklab, var(--label-3) 80%, transparent);border-radius:50%;flex:none;width:7px;height:7px;animation:1.2s ease-in-out infinite trace-pulse}.trace-pending-dot.thinking{background:var(--accent-2)}.trace-pending-dot.writing{background:var(--accent)}.trace-pending-dot.tool{background:var(--green)}.trace-pending-dot.done{background:var(--green);animation:none}.trace-pending-dot.failed{background:var(--red);animation:none}.trace-live{cursor:pointer;pointer-events:all}.trace-live-dot{stroke:var(--surface-solid);stroke-width:1.5px}.trace-live-dot.out{fill:var(--accent)}.trace-live-dot.back{fill:var(--green)}.trace-live-dot.slow{fill:var(--orange)}.trace-burst{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out forwards trace-burst}.trace-burst.done{fill:var(--green)}.trace-burst.failed{fill:var(--red)}@keyframes trace-burst{0%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.trace-live-badge{background:var(--surface-solid);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--separator));height:18px;color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-size:10.5px;font-weight:600;display:inline-flex;position:absolute;top:-9px;right:10px}.trace-live-pulse{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite trace-pulse}@keyframes trace-pulse{50%{opacity:.25}}.trace-hub.is-busy{animation:1.6s ease-in-out infinite trace-breathe}@keyframes trace-breathe{50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 30%, transparent), 0 8px 24px #0000002e}}@media (prefers-reduced-motion:reduce){.trace-burst,.trace-live-pulse,.trace-pending-dot,.trace-node.is-pending,.trace-hub.is-busy{animation:none}}
@@ -0,0 +1 @@
1
+ import{Sa as e,Sr as t,_a as n,ot as r,va as i,vi as a,xt as o,ya as s}from"./alert-CGUFPyGb.js";import{F as c,P as l,R as u,a as d,gt as f,o as p,z as m}from"./overlays-B1a0OZYb.js";import{t as h}from"./TrayPanelView-CYoAUUiY.js";var g=e(s(),1),_=i(),v=new Set([`astra.theme`,`astra.accent`,`astra.locale`]);function y(){let{t:e}=r(),i=n(),{toast:s}=p(),y=a(),[b]=u(),x=m(),[S,C]=(0,g.useState)(!1),[w,T]=(0,g.useState)(`overview`),E=c(b,{enabled:x.running,background:!0,live:S}),D=t(),O=(0,g.useRef)(null);(0,g.useLayoutEffect)(()=>{let e=document.documentElement;e.dataset.view=`tray`,e.style.background=`transparent`,document.body.style.background=`transparent`},[]);let k=(0,g.useCallback)(()=>{i.invalidateQueries({queryKey:[`stats`]}),i.invalidateQueries({queryKey:o.providers}),i.invalidateQueries({queryKey:o.clients}),i.invalidateQueries({queryKey:[`provider-accounts`]})},[i]);(0,g.useEffect)(()=>y?.tray.onVisibilityChanged(e=>{C(e),e&&(T(`overview`),k())}),[y,k]),(0,g.useEffect)(()=>{x.running&&k()},[x.running,k]),(0,g.useEffect)(()=>{let e=e=>{e.key&&v.has(e.key)&&window.location.reload()};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]),(0,g.useEffect)(()=>{let e=e=>{e.key===`Escape`&&y?.tray.command(`hide`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]),(0,g.useLayoutEffect)(()=>{let e=O.current;if(!e||!y)return;let t=[`header`,`tabs`,`body`,`footer`].map(t=>e.querySelector(`[data-tray-part="${t}"]`)),n=()=>{let n=e.offsetHeight-e.clientHeight,r=t.reduce((e,t)=>e+(t?.offsetHeight??0),0)+n;y.tray.resize(r)},r=new ResizeObserver(n);for(let e of t)e&&r.observe(e);return n(),()=>r.disconnect()},[y]),l(b,x,E.summary,E.plans);let A=e=>void y?.tray.command(e),j=async()=>{E.settings&&await f.copy(`${E.settings.gatewayBaseUrl}/v1`)&&s(e(`common.copied`))},M=async t=>{let n=E.providers;if(n.length===0)return;let r=await f.contextMenu(n.map(n=>({id:n.id,label:n.enabled?n.name:e(`tray.disabledProvider`,{name:n.name}),type:`checkbox`,checked:n.id===t.providerId})));r&&r!==t.providerId&&D.mutate({kind:t.kind,providerId:r},{onError:e=>s(d(e),`error`)})};return(0,_.jsx)(`div`,{className:`h-full`,children:(0,_.jsx)(h,{ref:O,className:`h-full`,prefs:b,state:x,data:E,tab:w,onTabChange:T,onCommand:A,onRefresh:k,onCopyAddress:()=>void j(),onSwitchClient:e=>void M(e)})})}export{y as TrayPanelPage};
@@ -0,0 +1 @@
1
+ import{J as e,K as t,Sa as n,ct as r,it as i,lt as a,ot as o,pt as s,s as c,v as l,va as u,vt as d,ya as f}from"./alert-CGUFPyGb.js";import{G as p,H as m,J as h,K as g,Q as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_t as w,lt as T,q as E}from"./overlays-B1a0OZYb.js";import{t as D}from"./ellipsis-Dxds5r72.js";import{t as O}from"./rotate-ccw-D6r7Boub.js";import{B as k,I as A,U as ee,_ as j,m as M,x as N,y as P}from"./index-mlmGhWY4.js";var F={name:`arrow-down-right`,size:24,node:[[`path`,{d:`m7 7 10 10`,key:`1fmybs`}],[`path`,{d:`M17 7v10H7`,key:`6fjiku`}]]};F.node;var I=d(F),L={name:`arrow-up-right`,size:24,node:[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]};L.node;var R=d(L),z={name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]};z.node;var B=d(z),V={name:`play`,size:24,node:[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]};V.node;var H=d(V),U=n(f(),1),W=u(),G={green:`var(--success)`,orange:`var(--warning)`,red:`var(--danger)`},K=(0,U.forwardRef)(function({prefs:e,state:t,data:n,onCommand:l,onRefresh:u,onCopyAddress:d,onSwitchClient:f,preview:p,tab:m,onTabChange:h,className:g},_){let{t:v}=o(),[y,b]=(0,U.useState)(`overview`),x=t.activity!==null,S=t.running&&!x,C=e=>l?.(e),T=[`overview`];e.sections.quota&&(n.plans.length>0||n.hasSubscriptions)&&T.push(`quota`),e.sections.clients&&n.clients.some(e=>e.enabled)&&T.push(`clients`);let E=m??y,k=T.includes(E)?E:`overview`,A=e=>{b(e),h?.(e)},j=(t.running||x)&&T.length>1,M=n.settings?.gatewayBaseUrl.replace(/^https?:\/\//,``)??(t.port?`127.0.0.1:${t.port}`:``),N=t.activity?v(`tray.status.${t.activity}`):t.running?v(`tray.status.running`):v(`tray.status.stopped`);return(0,W.jsxs)(`div`,{ref:_,className:i(`chrome flex max-h-full flex-col overflow-hidden rounded-[14px] border border-[var(--border-strong)] bg-[var(--surface-raised)] text-[13px] text-[var(--foreground)]`,g),children:[(0,W.jsxs)(`header`,{"data-tray-part":`header`,className:`shrink-0 border-b border-[var(--border)] px-4 pt-3.5 pb-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(c,{tone:x?`orange`:t.running?`green`:`red`}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[14px] font-semibold`,children:N}),(0,W.jsx)(q,{label:v(`tray.copyAddress`),onClick:d,disabled:!M,children:(0,W.jsx)(s,{className:`size-4`})}),(0,W.jsx)(q,{label:v(`tray.settings`),onClick:()=>C(`open-settings`),children:(0,W.jsx)(w,{className:`size-4`})}),(0,W.jsx)(q,{label:v(`tray.more`),onClick:()=>C(`menu`),children:(0,W.jsx)(D,{className:`size-4`})}),!p&&(0,W.jsx)(q,{label:v(`common.close`),onClick:()=>C(`hide`),children:(0,W.jsx)(r,{className:`size-4`})})]}),M&&(0,W.jsx)(`div`,{className:`selectable mt-0.5 truncate pl-4 font-mono text-[12px] text-[var(--text-secondary)]`,children:M}),(t.apiVersionMismatch||t.updateAvailable)&&(0,W.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5 pl-4`,children:[t.apiVersionMismatch&&(0,W.jsxs)(J,{tone:`orange`,children:[(0,W.jsx)(a,{className:`size-3`}),v(`tray.mismatch`)]}),t.updateAvailable&&(0,W.jsx)(`button`,{type:`button`,onClick:()=>C(`check-updates`),className:`cursor-default`,children:(0,W.jsx)(J,{tone:`accent`,children:v(`tray.update`)})})]})]}),(0,W.jsx)(`div`,{"data-tray-part":`tabs`,className:`shrink-0`,children:j&&(0,W.jsx)(te,{tabs:T,active:k,onChange:A})}),(0,W.jsx)(`div`,{className:`scroll min-h-0 flex-1 overflow-y-auto`,children:(0,W.jsx)(`div`,{"data-tray-part":`body`,className:`flex flex-col gap-3 px-4 py-3.5`,children:!t.running&&!x?(0,W.jsx)(re,{onStart:()=>C(`start`)}):(0,W.jsxs)(W.Fragment,{children:[k===`overview`&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ne,{prefs:e,data:n,onViewQuota:()=>A(`quota`)}),(0,W.jsx)(ae,{prefs:e,data:n,onRefresh:u}),e.sections.quota&&(0,W.jsx)(se,{data:n,onViewAll:()=>A(`quota`)})]}),k===`quota`&&(0,W.jsx)(ce,{data:n,plain:!0}),k===`clients`&&(0,W.jsx)(ue,{data:n,disabled:!S,onSwitch:f,plain:!0})]})})}),(0,W.jsxs)(`footer`,{"data-tray-part":`footer`,className:`flex shrink-0 items-center gap-1 border-t border-[var(--border)] px-3 py-2.5`,children:[t.running?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(q,{label:v(`tray.restart`),onClick:()=>C(`restart`),disabled:x,children:(0,W.jsx)(O,{className:`size-4`})}),(0,W.jsx)(q,{label:v(`tray.stop`),onClick:()=>C(`stop`),disabled:x,children:(0,W.jsx)(ee,{className:`size-4`})})]}):(0,W.jsx)(q,{label:v(`shell.startService`),onClick:()=>C(`start`),disabled:x,children:(0,W.jsx)(H,{className:`size-4`})}),(0,W.jsx)(`div`,{className:`flex-1`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>C(`quit`),className:`h-8 cursor-default rounded-[8px] px-2.5 text-[13px] text-[var(--text-secondary)] transition-colors hover:bg-[var(--surface-muted)] hover:text-[var(--foreground)]`,children:v(`tray.quit`)}),(0,W.jsxs)(`button`,{type:`button`,onClick:()=>C(`open`),className:`inline-flex h-8 cursor-default items-center gap-1.5 rounded-[8px] border border-[var(--border-strong)] px-3 text-[13px] font-medium transition-colors hover:bg-[var(--surface-muted)]`,children:[v(`tray.open`),(0,W.jsx)(R,{className:`size-3.5`})]})]})]})});function q({label:e,onClick:t,disabled:n,children:r}){return(0,W.jsx)(`button`,{type:`button`,title:e,"aria-label":e,disabled:n,onClick:t,className:`inline-flex size-8 shrink-0 cursor-default items-center justify-center rounded-[8px] text-[var(--text-secondary)] transition-colors hover:bg-[var(--surface-muted)] hover:text-[var(--foreground)] disabled:opacity-40 disabled:hover:bg-transparent`,children:r})}function J({tone:e,children:t,title:n}){let r={red:`var(--danger)`,orange:`var(--warning)`,accent:`var(--accent)`,neutral:`var(--text-secondary)`}[e];return(0,W.jsx)(`span`,{title:n,className:`inline-flex max-w-full items-center gap-1 rounded-[6px] border px-1.5 py-px text-[11.5px] leading-[18px] whitespace-nowrap`,style:{color:r,borderColor:`color-mix(in oklab, ${r} 45%, transparent)`,background:`color-mix(in oklab, ${r} 10%, transparent)`},children:t})}function te({tabs:e,active:t,onChange:n}){let{t:r}=o(),a={overview:r(`tray.tab.overview`),quota:r(`tray.tab.quota`),clients:r(`tray.clients`)};return(0,W.jsx)(`div`,{role:`tablist`,className:`flex gap-1 px-3 pt-2.5`,children:e.map(e=>(0,W.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e===t,onClick:()=>n(e),className:i(`h-7 cursor-default rounded-[7px] px-2.5 text-[12.5px] transition-colors`,e===t?`bg-[var(--surface-muted)] font-medium text-[var(--foreground)]`:`text-[var(--text-secondary)] hover:text-[var(--foreground)]`),children:a[e]},e))})}function Y({tone:e,onClick:t,children:n}){let r=e===`red`?`var(--danger)`:`var(--warning)`,o={color:r,borderColor:`color-mix(in oklab, ${r} 45%, transparent)`,background:`color-mix(in oklab, ${r} 10%, transparent)`},s=`flex w-full items-center gap-1.5 rounded-[8px] border px-2.5 py-1.5 text-left text-[12.5px]`,c=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(a,{className:`size-3.5 shrink-0`}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n})]});return t?(0,W.jsxs)(`button`,{type:`button`,onClick:t,className:i(s,`cursor-default`),style:o,children:[c,(0,W.jsx)(k,{className:`size-3.5 shrink-0`})]}):(0,W.jsx)(`div`,{className:s,style:o,children:c})}function ne({prefs:e,data:n,onViewQuota:r}){let{t:i,locale:a}=o(),s=n.summary,c=e.sections.overview&&s?m(s):0,l=e.sections.quota?E(n.plans):null,u=l&&l.row.remaining<30?l:null;return!s||c===0&&!u?null:(0,W.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[c>0&&(0,W.jsx)(Y,{tone:`red`,children:i(`tray.alert.failures`,{count:c,share:t(c/s.requests)})}),u&&(0,W.jsx)(Y,{tone:u.row.remaining<10?`red`:`orange`,onClick:r,children:i(`tray.alert.quota`,{plan:u.plan.providerName,window:Q(u.row,i,a),remaining:`${Math.round(u.row.remaining)}%`})})]})}function re({onStart:e}){let{t}=o();return(0,W.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-6 text-center`,children:[(0,W.jsx)(`div`,{className:`text-[13px] font-medium`,children:t(`tray.status.stopped`)}),(0,W.jsx)(`div`,{className:`max-w-[260px] text-[12px] text-[var(--text-secondary)]`,children:t(`tray.stoppedHint`)}),(0,W.jsxs)(`button`,{type:`button`,onClick:e,className:`mt-1 inline-flex h-8 cursor-default items-center gap-1.5 rounded-[8px] bg-[var(--accent)] px-3 text-[13px] font-medium text-[var(--on-accent)]`,children:[(0,W.jsx)(H,{className:`size-3.5`}),t(`shell.startService`)]})]})}function ie(e=3e4){let[t,n]=(0,U.useState)(()=>Date.now());return(0,U.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function ae({prefs:n,data:r,onRefresh:i}){let{t:a,locale:s}=o(),c=ie(),u=r.summary,d=n.sections,f=d.overview||d.cost,p=u?u.inputTokens+u.outputTokens:0,m=x(r.updatedAt,s,a(`tray.justNow`),c),h=d.topModel?S(r.top,p):null,g=d.cacheHitRate&&u?M(u.cacheReadTokens,u.inputTokens):null,b=d.compareYesterday&&u?y(p,_(r.daily,new Date(c))):null,C=d.topModel||d.cacheHitRate||d.compareYesterday;return!f&&!d.chart&&!C?null:(0,W.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[13px] text-[var(--text-secondary)]`,children:a(`tray.today`)}),(0,W.jsx)(`div`,{className:`flex-1`}),m&&(0,W.jsx)(`span`,{className:`text-[12px] text-[var(--text-muted)]`,children:a(`tray.updated`,{time:m})}),(0,W.jsx)(q,{label:a(`common.refresh`),onClick:i,children:(0,W.jsx)(A,{className:`size-3.5`})})]}),u?(0,W.jsxs)(W.Fragment,{children:[f&&(0,W.jsxs)(`div`,{className:`grid auto-cols-fr grid-flow-col gap-px overflow-hidden rounded-[10px] bg-[var(--border)]`,children:[d.overview&&(0,W.jsx)(X,{label:a(`tray.requests`),value:e(u.requests,!0)}),d.overview&&(0,W.jsx)(X,{label:a(`tray.tokens`),value:e(p,!0)}),d.cost&&(0,W.jsx)(X,{label:a(`tray.cost`),value:v(u.costUsd)})]}),d.chart&&(0,W.jsx)(oe,{data:r,now:c}),C&&(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[h&&(0,W.jsxs)(Z,{label:a(`tray.topModel`),title:h.model,children:[(0,W.jsx)(`span`,{className:`truncate`,children:h.model}),(0,W.jsxs)(`span`,{className:`shrink-0`,children:[`· `,t(h.share)]})]}),d.cacheHitRate&&(0,W.jsx)(Z,{label:a(`tray.cacheHit`),children:(0,W.jsx)(`span`,{children:g==null?`—`:t(g)})}),d.compareYesterday&&(0,W.jsx)(Z,{label:a(`tray.vsYesterday`),children:b==null?(0,W.jsx)(`span`,{children:`—`}):(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[b>=0?(0,W.jsx)(R,{className:`size-3`}):(0,W.jsx)(I,{className:`size-3`}),t(Math.abs(b))]})})]})]}):r.error?(0,W.jsx)(`div`,{className:`text-[12px] text-[var(--danger)]`,children:a(`tray.loadFailed`)}):(0,W.jsx)(l,{lines:2})]})}function X({label:e,value:t}){return(0,W.jsxs)(`div`,{className:`min-w-0 bg-[var(--surface-muted)] px-3 py-2.5`,children:[(0,W.jsx)(`div`,{className:`truncate text-[12px] text-[var(--text-secondary)]`,children:e}),(0,W.jsx)(`div`,{className:`num mt-0.5 truncate text-[20px] leading-tight font-semibold`,title:t,children:t})]})}function Z({label:e,title:t,children:n}){return(0,W.jsxs)(`span`,{title:t,className:`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-[7px] border border-[var(--border)] px-2 py-0.5 text-[12px]`,children:[(0,W.jsx)(`span`,{className:`shrink-0 text-[var(--text-secondary)]`,children:e}),(0,W.jsx)(`span`,{className:`flex min-w-0 items-center gap-1 font-medium`,children:n})]})}function oe({data:e,now:t}){let{t:n}=o(),r=b(e.hourly,new Date(t)),i=Math.max(1,...r.map(e=>e.value)),a=new Date(t).getHours();return(0,W.jsx)(`div`,{role:`img`,"aria-label":n(`tray.chartLabel`),className:`flex h-16 items-end gap-[3px]`,children:r.map((e,t)=>{let r=e.value>0?Math.max(4,Math.round(e.value/i*64)):2;return(0,W.jsx)(`span`,{title:n(`tray.hourBar`,{hour:`${String(t).padStart(2,`0`)}:00`,count:e.value}),className:`flex-1 rounded-[2px]`,style:{height:r,background:t===a?`var(--accent)`:e.value>0?`color-mix(in oklab, var(--foreground) 32%, transparent)`:`var(--border)`,opacity:t>a?.5:1}},e.bucket)})})}function se({data:e,onViewAll:t}){let{t:n,locale:r}=o();if(e.plans.length===0)return e.hasSubscriptions?(0,W.jsx)(`div`,{className:`border-t border-[var(--border)] pt-3 text-[12px] text-[var(--text-muted)]`,children:n(`tray.quotaPending`)}):null;let i=h(e.plans,3),a=e.plans.reduce((e,t)=>e+t.rows.length,0);return(0,W.jsxs)(`section`,{className:`flex flex-col gap-2 border-t border-[var(--border)] pt-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center text-[12px] text-[var(--text-secondary)]`,children:[(0,W.jsx)(`span`,{className:`flex-1`,children:n(`tray.quotaTightest`)}),a>i.length&&(0,W.jsxs)(`button`,{type:`button`,onClick:t,className:`inline-flex cursor-default items-center gap-0.5 hover:text-[var(--foreground)]`,children:[n(`tray.viewAll`),(0,W.jsx)(k,{className:`size-3`})]})]}),i.map(({plan:e,row:t},i)=>(0,W.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_64px_40px_60px] items-center gap-2 text-[12.5px]`,children:[(0,W.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,W.jsx)(N,{name:e.providerName,icon:e.providerIcon,size:14}),(0,W.jsx)(`span`,{className:`truncate font-medium`,children:e.providerName}),(0,W.jsx)(`span`,{className:`shrink-0 text-[var(--text-secondary)]`,children:Q(t,n,r)})]}),(0,W.jsx)($,{row:t,locale:r})]},`${e.accountId}-${t.kind}-${i}`))]})}function ce({data:e,plain:t}){let{t:n}=o();if(e.plans.length===0&&!e.hasSubscriptions)return null;let r=new Map;for(let t of e.plans)r.set(t.providerId,(r.get(t.providerId)??0)+1);return(0,W.jsxs)(`section`,{className:i(`flex flex-col gap-2`,!t&&`border-t border-[var(--border)] pt-3`),children:[(0,W.jsxs)(`div`,{className:`grid grid-cols-[1fr_48px_72px] items-center gap-2 text-[12px] text-[var(--text-secondary)]`,children:[(0,W.jsx)(`span`,{children:n(`tray.quota`)}),(0,W.jsx)(`span`,{className:`text-right`,children:n(`tray.quotaRemaining`)}),(0,W.jsx)(`span`,{className:`text-right`,children:n(`tray.quotaReset`)})]}),e.plans.length===0?(0,W.jsx)(`div`,{className:`text-[12px] text-[var(--text-muted)]`,children:n(`tray.quotaPending`)}):e.plans.map(e=>(0,W.jsx)(le,{plan:e,showAccount:(r.get(e.providerId)??0)>1},e.accountId))]})}function Q(e,t,n){return e.kind===`balance`?e.label??t(`tray.quotaBalance`):e.kind===`credits`||e.windowMinutes==null?t(`tray.quotaCredits`):C(e.windowMinutes,n)}function $({row:e,locale:t}){let n=e.remaining,r=n===null?void 0:G[p(n)];return(0,W.jsxs)(W.Fragment,{children:[n===null?(0,W.jsx)(`span`,{}):(0,W.jsx)(`span`,{className:`h-1.5 overflow-hidden rounded-full bg-[var(--surface-muted)]`,children:(0,W.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${n}%`,background:r}})}),e.amount?(0,W.jsx)(`span`,{className:`num col-span-2 truncate text-right font-medium`,children:T(e.amount.value,e.amount.unit,t)}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`num text-right font-medium`,children:n===null?`—`:`${Math.round(n)}%`}),(0,W.jsx)(`span`,{className:`truncate text-right text-[var(--text-secondary)]`,children:g(e.resetsAt,t)??`—`})]})]})}function le({plan:e,showAccount:t}){let{t:n,locale:r}=o();return(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,W.jsx)(N,{name:e.providerName,icon:e.providerIcon,size:16}),(0,W.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.providerName}),t&&(0,W.jsx)(`span`,{className:`truncate text-[12px] text-[var(--text-muted)]`,children:e.accountName})]}),e.rows.map((e,t)=>{let i=Q(e,n,r);return(0,W.jsxs)(`div`,{className:`grid grid-cols-[52px_1fr_48px_72px] items-center gap-2 pl-6 text-[12.5px]`,children:[(0,W.jsx)(`span`,{className:`truncate text-[var(--text-secondary)]`,title:i,children:i}),(0,W.jsx)($,{row:e,locale:r})]},`${e.kind}-${t}`)})]})}function ue({data:e,disabled:t,onSwitch:n,plain:r}){let{t:a}=o(),s=e.clients.filter(e=>e.enabled);if(s.length===0)return null;let c=t=>e.providers.find(e=>e.id===t)?.name??a(`tray.unbound`);return(0,W.jsxs)(`section`,{className:i(`flex flex-col gap-1`,!r&&`border-t border-[var(--border)] pt-3`),children:[(0,W.jsx)(`div`,{className:`mb-0.5 text-[12px] text-[var(--text-secondary)]`,children:a(`tray.clients`)}),s.map(e=>(0,W.jsxs)(`button`,{type:`button`,disabled:t||!n,onClick:()=>n?.(e),"aria-label":a(`tray.switchProvider`,{client:e.name}),className:`-mx-2 flex h-8 cursor-default items-center gap-2 rounded-[8px] px-2 text-left transition-colors enabled:hover:bg-[var(--surface-muted)]`,children:[e.kind in j&&(0,W.jsx)(P,{kind:e.kind,size:16}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,W.jsx)(`span`,{className:`max-w-[45%] truncate text-[12px] text-[var(--text-secondary)]`,children:c(e.providerId)}),n&&(0,W.jsx)(B,{className:`size-3.5 shrink-0 text-[var(--text-muted)]`})]},e.kind))]})}export{K as t};