agent-relay-server 0.125.0 → 0.126.0

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 (143) hide show
  1. package/docs/openapi.json +1 -1
  2. package/package.json +9 -5
  3. package/public/assets/{MessageBubble-BYeYFteG.js → MessageBubble-B6YgulnX.js} +2 -2
  4. package/public/assets/{MessageBubble-BYeYFteG.js.map → MessageBubble-B6YgulnX.js.map} +1 -1
  5. package/public/assets/{PlanGraphPanel-iAXvkZKW.js → PlanGraphPanel--DNxHn1T.js} +2 -2
  6. package/public/assets/{PlanGraphPanel-iAXvkZKW.js.map → PlanGraphPanel--DNxHn1T.js.map} +1 -1
  7. package/public/assets/{activity-Du9SRJt5.js → activity-Fo5aLYD6.js} +2 -2
  8. package/public/assets/{activity-Du9SRJt5.js.map → activity-Fo5aLYD6.js.map} +1 -1
  9. package/public/assets/{agent-profiles-DXDQnrlH.js → agent-profiles-C3p0xclG.js} +2 -2
  10. package/public/assets/{agent-profiles-DXDQnrlH.js.map → agent-profiles-C3p0xclG.js.map} +1 -1
  11. package/public/assets/{agent-type-icon-B3i0rndK.js → agent-type-icon-BmBR-9CH.js} +2 -2
  12. package/public/assets/{agent-type-icon-B3i0rndK.js.map → agent-type-icon-BmBR-9CH.js.map} +1 -1
  13. package/public/assets/{agents-CWOdKrxP.js → agents-_GBQyF5b.js} +2 -2
  14. package/public/assets/{agents-CWOdKrxP.js.map → agents-_GBQyF5b.js.map} +1 -1
  15. package/public/assets/{analytics-YcY59Hv9.js → analytics-BZtRycyL.js} +2 -2
  16. package/public/assets/{analytics-YcY59Hv9.js.map → analytics-BZtRycyL.js.map} +1 -1
  17. package/public/assets/{automation-CItTse7F.js → automation-Cf_Ewi9f.js} +2 -2
  18. package/public/assets/{automation-CItTse7F.js.map → automation-Cf_Ewi9f.js.map} +1 -1
  19. package/public/assets/{badge-XEru6wto.js → badge-BCvp7LK3.js} +2 -2
  20. package/public/assets/{badge-XEru6wto.js.map → badge-BCvp7LK3.js.map} +1 -1
  21. package/public/assets/{branch-state-badge-QjTktTYj.js → branch-state-badge-Cscjqf-E.js} +2 -2
  22. package/public/assets/{branch-state-badge-QjTktTYj.js.map → branch-state-badge-Cscjqf-E.js.map} +1 -1
  23. package/public/assets/{button-C3CQSr4p.js → button-DyHjsHY3.js} +2 -2
  24. package/public/assets/{button-C3CQSr4p.js.map → button-DyHjsHY3.js.map} +1 -1
  25. package/public/assets/{card-C5XTIPvq.js → card-BoqYxpVW.js} +2 -2
  26. package/public/assets/{card-C5XTIPvq.js.map → card-BoqYxpVW.js.map} +1 -1
  27. package/public/assets/{channels-BSFTsbhT.js → channels-DAtOnA6o.js} +2 -2
  28. package/public/assets/{channels-BSFTsbhT.js.map → channels-DAtOnA6o.js.map} +1 -1
  29. package/public/assets/chat-BdbIWZpQ.js +2 -0
  30. package/public/assets/chat-BdbIWZpQ.js.map +1 -0
  31. package/public/assets/{connectors-C7d5dlYz.js → connectors-B2grC-hl.js} +2 -2
  32. package/public/assets/{connectors-C7d5dlYz.js.map → connectors-B2grC-hl.js.map} +1 -1
  33. package/public/assets/{copy-button-Bil2CjzT.js → copy-button-C67FUG3E.js} +2 -2
  34. package/public/assets/{copy-button-Bil2CjzT.js.map → copy-button-C67FUG3E.js.map} +1 -1
  35. package/public/assets/{dist-V3wu3BHw.js → dist-BD4Xc13v.js} +2 -2
  36. package/public/assets/{dist-V3wu3BHw.js.map → dist-BD4Xc13v.js.map} +1 -1
  37. package/public/assets/{dist-C5z05Vkz.js → dist-BFDfbfNC.js} +2 -2
  38. package/public/assets/{dist-C5z05Vkz.js.map → dist-BFDfbfNC.js.map} +1 -1
  39. package/public/assets/{dist-CjyfQThq.js → dist-BJKxqIQd.js} +2 -2
  40. package/public/assets/{dist-CjyfQThq.js.map → dist-BJKxqIQd.js.map} +1 -1
  41. package/public/assets/{dist-B8tD9ZcR.js → dist-BNB3fTO-.js} +2 -2
  42. package/public/assets/{dist-B8tD9ZcR.js.map → dist-BNB3fTO-.js.map} +1 -1
  43. package/public/assets/{dist-CFtFIhu3.js → dist-CHKra2JV.js} +2 -2
  44. package/public/assets/{dist-CFtFIhu3.js.map → dist-CHKra2JV.js.map} +1 -1
  45. package/public/assets/{dist-r8wyUTkK.js → dist-CQMQ5iku.js} +2 -2
  46. package/public/assets/{dist-r8wyUTkK.js.map → dist-CQMQ5iku.js.map} +1 -1
  47. package/public/assets/{dist-DKmTXfpP.js → dist-C_VOBSaK.js} +2 -2
  48. package/public/assets/{dist-DKmTXfpP.js.map → dist-C_VOBSaK.js.map} +1 -1
  49. package/public/assets/{dist-CGaHpxnN.js → dist-D5w04z0l.js} +2 -2
  50. package/public/assets/{dist-CGaHpxnN.js.map → dist-D5w04z0l.js.map} +1 -1
  51. package/public/assets/{dist-4VwhnLtj.js → dist-DG75bvPp.js} +2 -2
  52. package/public/assets/{dist-4VwhnLtj.js.map → dist-DG75bvPp.js.map} +1 -1
  53. package/public/assets/{dist-CrUl2aQp.js → dist-G8YBD-wp.js} +2 -2
  54. package/public/assets/{dist-CrUl2aQp.js.map → dist-G8YBD-wp.js.map} +1 -1
  55. package/public/assets/{dist-BJaV2BD4.js → dist-f6MW74eX.js} +2 -2
  56. package/public/assets/{dist-BJaV2BD4.js.map → dist-f6MW74eX.js.map} +1 -1
  57. package/public/assets/{es2015-5DTJe35n.js → es2015-a6fysEVz.js} +2 -2
  58. package/public/assets/{es2015-5DTJe35n.js.map → es2015-a6fysEVz.js.map} +1 -1
  59. package/public/assets/{formatted-body-impl-DO-8giS6.js → formatted-body-impl-gOLBKeyW.js} +2 -2
  60. package/public/assets/{formatted-body-impl-DO-8giS6.js.map → formatted-body-impl-gOLBKeyW.js.map} +1 -1
  61. package/public/assets/formatted-body-jjhFXTap.js +3 -0
  62. package/public/assets/{formatted-body-BuLfVMeD.js.map → formatted-body-jjhFXTap.js.map} +1 -1
  63. package/public/assets/{index-De1tR7J4.js → index-CgH1BZwq.js} +6 -6
  64. package/public/assets/{index-De1tR7J4.js.map → index-CgH1BZwq.js.map} +1 -1
  65. package/public/assets/index-DHzXsQot.css +2 -0
  66. package/public/assets/{input-CXMbJ848.js → input-Rc4oWv4q.js} +2 -2
  67. package/public/assets/{input-CXMbJ848.js.map → input-Rc4oWv4q.js.map} +1 -1
  68. package/public/assets/{insights-Ci3VuA5Y.js → insights-CTW85An9.js} +2 -2
  69. package/public/assets/{insights-Ci3VuA5Y.js.map → insights-CTW85An9.js.map} +1 -1
  70. package/public/assets/{integrations-BboxWQQD.js → integrations-9c6IdRU4.js} +2 -2
  71. package/public/assets/{integrations-BboxWQQD.js.map → integrations-9c6IdRU4.js.map} +1 -1
  72. package/public/assets/{lib-BcUW1l-W.js → lib-BZ6WPg2t.js} +2 -2
  73. package/public/assets/{lib-BcUW1l-W.js.map → lib-BZ6WPg2t.js.map} +1 -1
  74. package/public/assets/lucide-react-NXHPIMsX.js +10 -0
  75. package/public/assets/lucide-react-NXHPIMsX.js.map +1 -0
  76. package/public/assets/{maintenance-CO1miJIJ.js → maintenance-D5PEygZz.js} +2 -2
  77. package/public/assets/{maintenance-CO1miJIJ.js.map → maintenance-D5PEygZz.js.map} +1 -1
  78. package/public/assets/{managed-agents-r4oYK3Fm.js → managed-agents-pkpAzZy8.js} +2 -2
  79. package/public/assets/{managed-agents-r4oYK3Fm.js.map → managed-agents-pkpAzZy8.js.map} +1 -1
  80. package/public/assets/{markdown-preview-impl-5CCM9iyL.js → markdown-preview-impl-DMzFE-Lo.js} +2 -2
  81. package/public/assets/{markdown-preview-impl-5CCM9iyL.js.map → markdown-preview-impl-DMzFE-Lo.js.map} +1 -1
  82. package/public/assets/{memory-BJJS07W-.js → memory-BnquVYQz.js} +2 -2
  83. package/public/assets/{memory-BJJS07W-.js.map → memory-BnquVYQz.js.map} +1 -1
  84. package/public/assets/{messages-RT_dfEsL.js → messages-DgxLlndC.js} +2 -2
  85. package/public/assets/{messages-RT_dfEsL.js.map → messages-DgxLlndC.js.map} +1 -1
  86. package/public/assets/{orchestrators-8hyl8hW1.js → orchestrators-BaWxeAlK.js} +2 -2
  87. package/public/assets/{orchestrators-8hyl8hW1.js.map → orchestrators-BaWxeAlK.js.map} +1 -1
  88. package/public/assets/{overview-CUJ9QmW_.js → overview-Kvs-j2gg.js} +2 -2
  89. package/public/assets/{overview-CUJ9QmW_.js.map → overview-Kvs-j2gg.js.map} +1 -1
  90. package/public/assets/{pairs-CzkzMGZq.js → pairs-eDzbqcER.js} +2 -2
  91. package/public/assets/{pairs-CzkzMGZq.js.map → pairs-eDzbqcER.js.map} +1 -1
  92. package/public/assets/{projects-CAuLWBU5.js → projects-iDkxAGBW.js} +2 -2
  93. package/public/assets/{projects-CAuLWBU5.js.map → projects-iDkxAGBW.js.map} +1 -1
  94. package/public/assets/{prompt-settings-BnB90R7F.js → prompt-settings-CjcqBG_r.js} +2 -2
  95. package/public/assets/{prompt-settings-BnB90R7F.js.map → prompt-settings-CjcqBG_r.js.map} +1 -1
  96. package/public/assets/{react-dom-BQICbUuF.js → react-dom-8yaD9iJG.js} +2 -2
  97. package/public/assets/{react-dom-BQICbUuF.js.map → react-dom-8yaD9iJG.js.map} +1 -1
  98. package/public/assets/{registry-B8TInqru.js → registry-C1DSnjjg.js} +2 -2
  99. package/public/assets/{registry-B8TInqru.js.map → registry-C1DSnjjg.js.map} +1 -1
  100. package/public/assets/{security-DG_VVZUW.js → security-VbEe_jwm.js} +2 -2
  101. package/public/assets/{security-DG_VVZUW.js.map → security-VbEe_jwm.js.map} +1 -1
  102. package/public/assets/{select-BJ8G38_V.js → select-CVfwgfKl.js} +2 -2
  103. package/public/assets/{select-BJ8G38_V.js.map → select-CVfwgfKl.js.map} +1 -1
  104. package/public/assets/{settings-CK_T9z5w.js → settings-ujA9hZW1.js} +2 -2
  105. package/public/assets/{settings-CK_T9z5w.js.map → settings-ujA9hZW1.js.map} +1 -1
  106. package/public/assets/store-D-Frk_EC.js +9 -0
  107. package/public/assets/store-D-Frk_EC.js.map +1 -0
  108. package/public/assets/{task-chip-BHM-e3I8.js → task-chip-CeujtXYT.js} +2 -2
  109. package/public/assets/{task-chip-BHM-e3I8.js.map → task-chip-CeujtXYT.js.map} +1 -1
  110. package/public/assets/{tasks-Briui9Mp.js → tasks-BtbKaa-b.js} +2 -2
  111. package/public/assets/{tasks-Briui9Mp.js.map → tasks-BtbKaa-b.js.map} +1 -1
  112. package/public/assets/{teams-Ck4EVV3R.js → teams-CrVDQ99v.js} +2 -2
  113. package/public/assets/{teams-Ck4EVV3R.js.map → teams-CrVDQ99v.js.map} +1 -1
  114. package/public/assets/{terminal-viewer-impl-66ZjVN1v.js → terminal-viewer-impl-Aays_e7-.js} +2 -2
  115. package/public/assets/{terminal-viewer-impl-66ZjVN1v.js.map → terminal-viewer-impl-Aays_e7-.js.map} +1 -1
  116. package/public/assets/types-BqeSkWrv.js.map +1 -1
  117. package/public/assets/{use-keyboard-viewport-CAa7IQTm.js → use-keyboard-viewport-cGEmrGE7.js} +2 -2
  118. package/public/assets/{use-keyboard-viewport-CAa7IQTm.js.map → use-keyboard-viewport-cGEmrGE7.js.map} +1 -1
  119. package/public/assets/{user-avatar-BOy9o2xK.js → user-avatar-qbo-B3dQ.js} +2 -2
  120. package/public/assets/{user-avatar-BOy9o2xK.js.map → user-avatar-qbo-B3dQ.js.map} +1 -1
  121. package/public/assets/{work-queue-CnghFRG2.js → work-queue-DDSGZO4Z.js} +2 -2
  122. package/public/assets/{work-queue-CnghFRG2.js.map → work-queue-DDSGZO4Z.js.map} +1 -1
  123. package/public/assets/{workspaces-BzmQnzSm.js → workspaces-CoDz-iZd.js} +2 -2
  124. package/public/assets/{workspaces-BzmQnzSm.js.map → workspaces-CoDz-iZd.js.map} +1 -1
  125. package/public/index.html +24 -24
  126. package/runner/plugins/claude/.claude-plugin/plugin.json +1 -1
  127. package/runner/src/adapters/codex-agent-message-capture.ts +38 -8
  128. package/runner/src/runner-core.ts +33 -13
  129. package/runner/src/runner-helpers.ts +31 -0
  130. package/src/db/messages.ts +38 -2
  131. package/src/routes/agent-sessions.ts +10 -7
  132. package/src/routes/orchestrator.ts +5 -2
  133. package/src/routes/settings.ts +31 -2
  134. package/src/services/restart-instructions.ts +36 -0
  135. package/src/settings/registry.ts +14 -3
  136. package/public/assets/chat-CRzFSFWe.js +0 -2
  137. package/public/assets/chat-CRzFSFWe.js.map +0 -1
  138. package/public/assets/formatted-body-BuLfVMeD.js +0 -3
  139. package/public/assets/index-C9X_0QBt.css +0 -2
  140. package/public/assets/lucide-react-CoU_Xts2.js +0 -10
  141. package/public/assets/lucide-react-CoU_Xts2.js.map +0 -1
  142. package/public/assets/store-Dl9Z8YUS.js +0 -9
  143. package/public/assets/store-Dl9Z8YUS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agents-CWOdKrxP.js","names":["Popover","PopperPrimitive.Root","PopperPrimitive.Anchor","PopoverTrigger","PortalPrimitive","PopoverContent","RemoveScroll","PopperPrimitive.Content","PopperPrimitive.Arrow"],"sources":["../../dashboard/node_modules/@radix-ui/react-popover/dist/index.mjs","../../dashboard/src/components/ui/popover.tsx","../../dashboard/src/components/views/agents.tsx"],"sourcesContent":["\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Popover as PopoverPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-0.5 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<\"h2\">) {\n return (\n <div\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","import { useAgentTerminal } from '@/hooks/use-agent-terminal'\nimport { useRelayStore, useNow } from '@/store'\nimport {\n useSortedAgents, useUniqueTags, useUniqueHosts, usePairsByAgentId, useAgentAttention,\n} from '@/hooks/use-selectors'\nimport { getKnownProviderIds, getProviderLabel } from '@/lib/provider-display'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Popover, PopoverContent, PopoverHeader, PopoverTitle, PopoverTrigger } from '@/components/ui/popover'\nimport { StatusDot } from '@/components/shared/status-dot'\nimport { AgentTypeIcon } from '@/components/shared/agent-type-icon'\nimport { ProfileIcon, agentProfileName } from '@/components/shared/profile-icon'\nimport { BranchStateBadge } from '@/components/shared/branch-state-badge'\nimport { AgentRuntimeBadges, AgentRuntimeChips, ContextMeter } from '@/components/shared/agent-runtime-summary'\nimport { TerminalDialog } from '@/components/shared/terminal-viewer'\nimport { CopyButton } from '@/components/shared/copy-button'\nimport { AgentProjectBadge } from '@/components/shared/agent-project-badge'\nimport {\n displayName, timeAgo, agentPresence, toneToColor, agentSupportsControlAction, agentCanBeForgotten, userFacingCapabilities, shortPath,\n} from '@/lib/display'\nimport { liveChildrenByParent, sortedLiveChildren, topLevelAgentsForTeamView } from '@/lib/agent-lineage'\nimport {\n MessageSquare, Link, Edit3, Power, Terminal, Minimize2, Eraser, Trash2, Plus, SortAsc, SortDesc, X, Flag, Users,\n} from 'lucide-react'\nimport type { Agent } from '@/types'\n\nfunction AgentCard({ agent, childAgents = [], parentAgent }: { agent: Agent; childAgents?: Agent[]; parentAgent?: Agent | null }) {\n const now = useNow()\n const set = useRelayStore((s) => s.set)\n const switchView = useRelayStore((s) => s.switchView)\n const openInboxThread = useRelayStore((s) => s.openInboxThread)\n const openAgentDetail = useRelayStore((s) => s.openAgentDetail)\n const openPairInvite = useRelayStore((s) => s.openPairInvite)\n const openRename = useRelayStore((s) => s.openRename)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const doAgentAction = useRelayStore((s) => s.doAgentAction)\n const doDeleteAgent = useRelayStore((s) => s.doDeleteAgent)\n const openFilesForAgent = useRelayStore((s) => s.openFilesForAgent)\n const workspaceAction = useRelayStore((s) => s.workspaceAction)\n const openWorkspaceFocus = useRelayStore((s) => s.openWorkspaceFocus)\n\n const { terminalOpen, terminalTarget, terminalOpening, openTerminal: handleOpenTerminal, closeTerminal: handleCloseTerminal } = useAgentTerminal(agent.id)\n\n const pairsMap = usePairsByAgentId()\n const attention = useAgentAttention(agent)\n const pair = pairsMap[agent.id] || null\n const presence = agentPresence(now, agent, attention, pair)\n\n const canShutdown = agentSupportsControlAction(agent, 'shutdown')\n const canCompact = agentSupportsControlAction(agent, 'compact')\n const canClearContext = agentSupportsControlAction(agent, 'clearContext')\n const canOpenTerminal = Boolean(agent.providerCapabilities?.terminal?.live?.read || agent.providerCapabilities?.terminal?.attach?.create)\n const canWriteTerminal = Boolean(agent.providerCapabilities?.terminal?.live?.write)\n const canForget = agentCanBeForgotten(agent)\n const parentLabel = parentAgent ? displayName(parentAgent) : agent.spawnedBy\n const hasTeam = childAgents.length > 0\n\n return (\n <>\n <Card\n className=\"group hover:border-zinc-600 transition-colors cursor-pointer\"\n onClick={() => openAgentDetail(agent)}\n >\n <CardContent className=\"p-4\">\n <div className=\"flex items-start gap-2.5 mb-2.5\">\n <StatusDot agent={agent} now={now} className=\"mt-0.5\" />\n <AgentTypeIcon agent={agent} />\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-1 min-w-0\">\n <ProfileIcon profile={agentProfileName(agent)} className=\"text-sm shrink-0\" />\n <span className=\"text-sm font-medium truncate\">{displayName(agent)}</span>\n </div>\n <div className={`text-xs mt-0.5 ${toneToColor(presence.tone)}`}>{presence.label}</div>\n {typeof agent.meta?.cwd === 'string' && agent.meta.cwd && (\n <button\n type=\"button\"\n className=\"mt-0.5 block max-w-full truncate font-mono text-[10px] text-muted-foreground hover:text-foreground\"\n title={`Open ${agent.meta.cwd as string} in Files`}\n onClick={(e) => { e.stopPropagation(); void openFilesForAgent(agent) }}\n >\n {shortPath(agent.meta.cwd as string)}\n </button>\n )}\n <AgentProjectBadge agent={agent} className=\"mt-1\" />\n </div>\n {agent.branchState && agent.branchWorkspaceId && (\n <BranchStateBadge\n state={agent.branchState}\n className=\"mt-0.5 shrink-0\"\n onClick={(e) => { e.stopPropagation(); void openWorkspaceFocus(agent.branchWorkspaceId!) }}\n />\n )}\n </div>\n\n {/* Presence badges */}\n {presence.badges.length > 0 && (\n <div className=\"flex flex-wrap gap-1 mb-2\">\n {presence.badges.map((b) => (\n <span key={b.label} className={`text-[10px] px-1.5 py-0.5 rounded-full font-medium ${b.className}`}>\n {b.label}\n </span>\n ))}\n </div>\n )}\n\n {(hasTeam || (agent.spawnedBy && parentLabel)) && (\n <div className=\"mb-2 flex flex-wrap gap-1.5\" onClick={(e) => e.stopPropagation()}>\n {hasTeam && (\n <Popover>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n className=\"inline-flex h-6 max-w-full items-center gap-1.5 rounded-full border border-sky-500/30 bg-sky-500/10 px-2 text-[10px] font-medium text-sky-300 transition-colors hover:bg-sky-500/15\"\n title={`${childAgents.length} live child ${childAgents.length === 1 ? 'agent' : 'agents'}`}\n >\n <Users className=\"h-3 w-3\" />\n <span>{childAgents.length}</span>\n <span className=\"flex -space-x-1\">\n {childAgents.slice(0, 4).map((child) => (\n <StatusDot key={child.id} agent={child} now={now} className=\"h-2 w-2 ring-1 ring-background\" />\n ))}\n </span>\n </button>\n </PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-80\" onClick={(e) => e.stopPropagation()}>\n <PopoverHeader>\n <PopoverTitle>Team</PopoverTitle>\n </PopoverHeader>\n <div className=\"space-y-1.5\">\n {childAgents.map((child) => (\n <div key={child.id} className=\"rounded-md border border-border bg-card/60 p-2\">\n <div className=\"flex items-start gap-2\">\n <StatusDot agent={child} now={now} className=\"mt-1\" />\n <AgentTypeIcon agent={child} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-xs font-medium\">{displayName(child)}</div>\n <div className=\"truncate text-[10px] text-muted-foreground\">\n {child.providerCapabilities?.model?.alias || child.providerCapabilities?.model?.id || child.providerCapabilities?.model?.provider || child.status}\n </div>\n </div>\n <Badge variant=\"outline\" className=\"h-4 px-1.5 text-[9px]\">{child.status}</Badge>\n </div>\n <div className=\"mt-2 flex gap-1\">\n <Button size=\"xs\" variant=\"outline\" onClick={() => openAgentDetail(child)}>Open</Button>\n <Button size=\"xs\" variant=\"ghost\" onClick={() => { openInboxThread(child.id); switchView('chat') }}>\n <MessageSquare className=\"h-3 w-3\" />\n Chat\n </Button>\n </div>\n </div>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n )}\n {agent.spawnedBy && parentLabel && (\n <Badge variant=\"outline\" className=\"max-w-full text-[10px] text-muted-foreground\">\n <span className=\"truncate\">spawned by {parentLabel}</span>\n </Badge>\n )}\n </div>\n )}\n\n {/* Tags + caps */}\n {(agent.tags.length > 0 || userFacingCapabilities(agent.capabilities).length > 0) && (\n <div className=\"flex flex-wrap gap-1 mb-2\">\n {agent.tags.slice(0, 3).map((t) => (\n <Badge key={t} variant=\"outline\" className=\"text-[9px] px-1 py-0 h-4\">{t}</Badge>\n ))}\n {userFacingCapabilities(agent.capabilities).slice(0, 2).map((c) => (\n <Badge key={c} variant=\"secondary\" className=\"text-[9px] px-1 py-0 h-4\">{c}</Badge>\n ))}\n </div>\n )}\n\n <div className=\"space-y-2 mb-2\">\n <AgentRuntimeChips agent={agent} />\n <AgentRuntimeBadges agent={agent} compact />\n <ContextMeter agent={agent} />\n </div>\n\n <div className=\"text-xs text-muted-foreground\">\n {agent.id !== 'user' && agent.id !== 'system' && timeAgo(now, agent.lastSeen)}\n </div>\n\n {/* Action buttons – always visible on mobile, hover on desktop */}\n <div\n className=\"flex gap-1 mt-2.5 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity\"\n onClick={(e) => e.stopPropagation()}\n >\n <CopyButton value={agent.id} label=\"Copy agent ID\" size=\"icon\" className=\"h-7 w-7\" iconClassName=\"w-3 h-3\" />\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Chat\" onClick={() => { openInboxThread(agent.id); switchView('chat') }}>\n <MessageSquare className=\"w-3 h-3\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Pair\" onClick={() => openPairInvite(agent.id)}>\n <Link className=\"w-3 h-3\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Rename\" onClick={() => openRename(agent)}>\n <Edit3 className=\"w-3 h-3\" />\n </Button>\n {canOpenTerminal && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Terminal\" disabled={terminalOpening} onClick={() => void handleOpenTerminal()}>\n <Terminal className=\"w-3 h-3\" />\n </Button>\n )}\n {(agent.branchState === 'changes' || agent.branchState === 'idle') && agent.branchWorkspaceId && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-amber-400 hover:text-amber-300\" title=\"Mark workspace ready — hand off to the auto-merge\" onClick={() => openConfirm('Mark Workspace Ready', `Mark ${displayName(agent)}'s branch ready to land? The relay auto-merge will rebase and land it.`, () => workspaceAction(agent.branchWorkspaceId!, 'ready'))}>\n <Flag className=\"w-3 h-3\" />\n </Button>\n )}\n {canCompact && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Compact\" onClick={() => openConfirm('Compact Agent', `Compact context for ${displayName(agent)}?`, () => doAgentAction(agent, 'compact', 'agents-grid'))}>\n <Minimize2 className=\"w-3 h-3\" />\n </Button>\n )}\n {canClearContext && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Clear Context\" onClick={() => openConfirm('Clear Context', `Clear context for ${displayName(agent)}?`, () => doAgentAction(agent, 'clearContext', 'agents-grid'))}>\n <Eraser className=\"w-3 h-3\" />\n </Button>\n )}\n {canShutdown && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Shutdown\" onClick={() => openConfirm('Shutdown Agent', `Shutdown ${displayName(agent)}?`, () => doAgentAction(agent, 'shutdown', 'agents-grid'))}>\n <Power className=\"w-3 h-3\" />\n </Button>\n )}\n {canForget && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Forget stale agent\" onClick={() => openConfirm('Forget Agent', `Forget ${displayName(agent)}?`, () => doDeleteAgent(agent.id))}>\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n )}\n </div>\n </CardContent>\n </Card>\n {terminalTarget && (\n <TerminalDialog open={terminalOpen} onOpenChange={handleCloseTerminal} orchestratorId={terminalTarget.orchestratorId} session={terminalTarget.session} interactive={terminalTarget.interactive || canWriteTerminal} canWrite={canWriteTerminal} />\n )}\n </>\n )\n}\n\nexport function AgentsView() {\n const agentPresetFilter = useRelayStore((s) => s.agentPresetFilter)\n const agentStatusFilter = useRelayStore((s) => s.agentStatusFilter)\n const agentTagFilter = useRelayStore((s) => s.agentTagFilter)\n const agentHostFilter = useRelayStore((s) => s.agentHostFilter)\n const agentSort = useRelayStore((s) => s.agentSort)\n const agentSortDir = useRelayStore((s) => s.agentSortDir)\n const showOffline = useRelayStore((s) => s.showOffline)\n const set = useRelayStore((s) => s.set)\n const openAgentSpawn = useRelayStore((s) => s.openAgentSpawn)\n const agentsById = useRelayStore((s) => s.agentsById)\n const now = useNow()\n\n const sortedAgents = useSortedAgents()\n const uniqueTags = useUniqueTags()\n const uniqueHosts = useUniqueHosts()\n const childrenByParent = liveChildrenByParent(sortedAgents, now)\n const topLevelAgents = topLevelAgentsForTeamView(sortedAgents, now)\n\n const hasFilters = agentPresetFilter || agentStatusFilter || agentTagFilter || agentHostFilter\n\n function clearFilters() {\n set({ agentPresetFilter: '', agentStatusFilter: '', agentTagFilter: '', agentHostFilter: '' })\n }\n\n function toggleSortDir() {\n set({ agentSortDir: agentSortDir === 'asc' ? 'desc' : 'asc' })\n }\n\n return (\n <div className=\"space-y-4\">\n {/* Toolbar */}\n <div className=\"flex flex-wrap items-center gap-2\">\n <select\n value={agentPresetFilter}\n onChange={(e) => set({ agentPresetFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">All agents</option>\n <option value=\"active\">Active</option>\n {getKnownProviderIds().map((id) => <option key={id} value={id}>{getProviderLabel(id)}</option>)}\n <option value=\"paired\">Paired</option>\n <option value=\"unpaired\">Unpaired</option>\n <option value=\"offline_stale\">Offline / Stale</option>\n </select>\n\n <select\n value={agentStatusFilter}\n onChange={(e) => set({ agentStatusFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any status</option>\n <option value=\"online\">Online</option>\n <option value=\"idle\">Idle</option>\n <option value=\"busy\">Busy</option>\n <option value=\"offline\">Offline</option>\n <option value=\"starting\">Starting</option>\n </select>\n\n {uniqueTags.length > 0 && (\n <select\n value={agentTagFilter}\n onChange={(e) => set({ agentTagFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any tag</option>\n {uniqueTags.map((t) => <option key={t} value={t}>{t}</option>)}\n </select>\n )}\n\n {uniqueHosts.length > 1 && (\n <select\n value={agentHostFilter}\n onChange={(e) => set({ agentHostFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any host</option>\n {uniqueHosts.map((h) => <option key={h} value={h}>{h}</option>)}\n </select>\n )}\n\n <select\n value={agentSort}\n onChange={(e) => set({ agentSort: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"status\">Sort: Status</option>\n <option value=\"name\">Sort: Name</option>\n <option value=\"lastSeen\">Sort: Last seen</option>\n <option value=\"created\">Sort: Created</option>\n </select>\n\n <Button size=\"icon\" variant=\"outline\" className=\"h-8 w-8\" title=\"Toggle sort direction\" onClick={toggleSortDir}>\n {agentSortDir === 'asc' ? <SortAsc className=\"w-3.5 h-3.5\" /> : <SortDesc className=\"w-3.5 h-3.5\" />}\n </Button>\n\n <label className=\"flex items-center gap-1.5 text-sm text-muted-foreground cursor-pointer select-none\">\n <input\n type=\"checkbox\"\n checked={showOffline}\n onChange={(e) => set({ showOffline: e.target.checked })}\n className=\"rounded\"\n />\n Show offline\n </label>\n\n {hasFilters && (\n <Button size=\"sm\" variant=\"ghost\" className=\"h-8 text-muted-foreground hover:text-foreground gap-1\" onClick={clearFilters}>\n <X className=\"w-3 h-3\" />\n Clear filters\n </Button>\n )}\n\n <div className=\"ml-auto\">\n <Button size=\"sm\" onClick={openAgentSpawn} className=\"gap-1\">\n <Plus className=\"w-3.5 h-3.5\" />\n Spawn\n </Button>\n </div>\n </div>\n\n {/* Agent grid */}\n {topLevelAgents.length === 0 ? (\n <div className=\"text-center py-16 text-muted-foreground text-sm\">\n No agents match the current filters.\n </div>\n ) : (\n <div className=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 gap-3\">\n {topLevelAgents.map((agent) => (\n <AgentCard\n key={agent.id}\n agent={agent}\n parentAgent={agent.spawnedBy ? agentsById[agent.spawnedBy] ?? null : null}\n childAgents={sortedLiveChildren(childrenByParent.get(agent.id) ?? [])}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"agents-_GBQyF5b.js","names":["Popover","PopperPrimitive.Root","PopperPrimitive.Anchor","PopoverTrigger","PortalPrimitive","PopoverContent","RemoveScroll","PopperPrimitive.Content","PopperPrimitive.Arrow"],"sources":["../../dashboard/node_modules/@radix-ui/react-popover/dist/index.mjs","../../dashboard/src/components/ui/popover.tsx","../../dashboard/src/components/views/agents.tsx"],"sourcesContent":["\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Popover as PopoverPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-0.5 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<\"h2\">) {\n return (\n <div\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","import { useAgentTerminal } from '@/hooks/use-agent-terminal'\nimport { useRelayStore, useNow } from '@/store'\nimport {\n useSortedAgents, useUniqueTags, useUniqueHosts, usePairsByAgentId, useAgentAttention,\n} from '@/hooks/use-selectors'\nimport { getKnownProviderIds, getProviderLabel } from '@/lib/provider-display'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Popover, PopoverContent, PopoverHeader, PopoverTitle, PopoverTrigger } from '@/components/ui/popover'\nimport { StatusDot } from '@/components/shared/status-dot'\nimport { AgentTypeIcon } from '@/components/shared/agent-type-icon'\nimport { ProfileIcon, agentProfileName } from '@/components/shared/profile-icon'\nimport { BranchStateBadge } from '@/components/shared/branch-state-badge'\nimport { AgentRuntimeBadges, AgentRuntimeChips, ContextMeter } from '@/components/shared/agent-runtime-summary'\nimport { TerminalDialog } from '@/components/shared/terminal-viewer'\nimport { CopyButton } from '@/components/shared/copy-button'\nimport { AgentProjectBadge } from '@/components/shared/agent-project-badge'\nimport {\n displayName, timeAgo, agentPresence, toneToColor, agentSupportsControlAction, agentCanBeForgotten, userFacingCapabilities, shortPath,\n} from '@/lib/display'\nimport { liveChildrenByParent, sortedLiveChildren, topLevelAgentsForTeamView } from '@/lib/agent-lineage'\nimport {\n MessageSquare, Link, Edit3, Power, Terminal, Minimize2, Eraser, Trash2, Plus, SortAsc, SortDesc, X, Flag, Users,\n} from 'lucide-react'\nimport type { Agent } from '@/types'\n\nfunction AgentCard({ agent, childAgents = [], parentAgent }: { agent: Agent; childAgents?: Agent[]; parentAgent?: Agent | null }) {\n const now = useNow()\n const set = useRelayStore((s) => s.set)\n const switchView = useRelayStore((s) => s.switchView)\n const openInboxThread = useRelayStore((s) => s.openInboxThread)\n const openAgentDetail = useRelayStore((s) => s.openAgentDetail)\n const openPairInvite = useRelayStore((s) => s.openPairInvite)\n const openRename = useRelayStore((s) => s.openRename)\n const openConfirm = useRelayStore((s) => s.openConfirm)\n const doAgentAction = useRelayStore((s) => s.doAgentAction)\n const doDeleteAgent = useRelayStore((s) => s.doDeleteAgent)\n const openFilesForAgent = useRelayStore((s) => s.openFilesForAgent)\n const workspaceAction = useRelayStore((s) => s.workspaceAction)\n const openWorkspaceFocus = useRelayStore((s) => s.openWorkspaceFocus)\n\n const { terminalOpen, terminalTarget, terminalOpening, openTerminal: handleOpenTerminal, closeTerminal: handleCloseTerminal } = useAgentTerminal(agent.id)\n\n const pairsMap = usePairsByAgentId()\n const attention = useAgentAttention(agent)\n const pair = pairsMap[agent.id] || null\n const presence = agentPresence(now, agent, attention, pair)\n\n const canShutdown = agentSupportsControlAction(agent, 'shutdown')\n const canCompact = agentSupportsControlAction(agent, 'compact')\n const canClearContext = agentSupportsControlAction(agent, 'clearContext')\n const canOpenTerminal = Boolean(agent.providerCapabilities?.terminal?.live?.read || agent.providerCapabilities?.terminal?.attach?.create)\n const canWriteTerminal = Boolean(agent.providerCapabilities?.terminal?.live?.write)\n const canForget = agentCanBeForgotten(agent)\n const parentLabel = parentAgent ? displayName(parentAgent) : agent.spawnedBy\n const hasTeam = childAgents.length > 0\n\n return (\n <>\n <Card\n className=\"group hover:border-zinc-600 transition-colors cursor-pointer\"\n onClick={() => openAgentDetail(agent)}\n >\n <CardContent className=\"p-4\">\n <div className=\"flex items-start gap-2.5 mb-2.5\">\n <StatusDot agent={agent} now={now} className=\"mt-0.5\" />\n <AgentTypeIcon agent={agent} />\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-1 min-w-0\">\n <ProfileIcon profile={agentProfileName(agent)} className=\"text-sm shrink-0\" />\n <span className=\"text-sm font-medium truncate\">{displayName(agent)}</span>\n </div>\n <div className={`text-xs mt-0.5 ${toneToColor(presence.tone)}`}>{presence.label}</div>\n {typeof agent.meta?.cwd === 'string' && agent.meta.cwd && (\n <button\n type=\"button\"\n className=\"mt-0.5 block max-w-full truncate font-mono text-[10px] text-muted-foreground hover:text-foreground\"\n title={`Open ${agent.meta.cwd as string} in Files`}\n onClick={(e) => { e.stopPropagation(); void openFilesForAgent(agent) }}\n >\n {shortPath(agent.meta.cwd as string)}\n </button>\n )}\n <AgentProjectBadge agent={agent} className=\"mt-1\" />\n </div>\n {agent.branchState && agent.branchWorkspaceId && (\n <BranchStateBadge\n state={agent.branchState}\n className=\"mt-0.5 shrink-0\"\n onClick={(e) => { e.stopPropagation(); void openWorkspaceFocus(agent.branchWorkspaceId!) }}\n />\n )}\n </div>\n\n {/* Presence badges */}\n {presence.badges.length > 0 && (\n <div className=\"flex flex-wrap gap-1 mb-2\">\n {presence.badges.map((b) => (\n <span key={b.label} className={`text-[10px] px-1.5 py-0.5 rounded-full font-medium ${b.className}`}>\n {b.label}\n </span>\n ))}\n </div>\n )}\n\n {(hasTeam || (agent.spawnedBy && parentLabel)) && (\n <div className=\"mb-2 flex flex-wrap gap-1.5\" onClick={(e) => e.stopPropagation()}>\n {hasTeam && (\n <Popover>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n className=\"inline-flex h-6 max-w-full items-center gap-1.5 rounded-full border border-sky-500/30 bg-sky-500/10 px-2 text-[10px] font-medium text-sky-300 transition-colors hover:bg-sky-500/15\"\n title={`${childAgents.length} live child ${childAgents.length === 1 ? 'agent' : 'agents'}`}\n >\n <Users className=\"h-3 w-3\" />\n <span>{childAgents.length}</span>\n <span className=\"flex -space-x-1\">\n {childAgents.slice(0, 4).map((child) => (\n <StatusDot key={child.id} agent={child} now={now} className=\"h-2 w-2 ring-1 ring-background\" />\n ))}\n </span>\n </button>\n </PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-80\" onClick={(e) => e.stopPropagation()}>\n <PopoverHeader>\n <PopoverTitle>Team</PopoverTitle>\n </PopoverHeader>\n <div className=\"space-y-1.5\">\n {childAgents.map((child) => (\n <div key={child.id} className=\"rounded-md border border-border bg-card/60 p-2\">\n <div className=\"flex items-start gap-2\">\n <StatusDot agent={child} now={now} className=\"mt-1\" />\n <AgentTypeIcon agent={child} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-xs font-medium\">{displayName(child)}</div>\n <div className=\"truncate text-[10px] text-muted-foreground\">\n {child.providerCapabilities?.model?.alias || child.providerCapabilities?.model?.id || child.providerCapabilities?.model?.provider || child.status}\n </div>\n </div>\n <Badge variant=\"outline\" className=\"h-4 px-1.5 text-[9px]\">{child.status}</Badge>\n </div>\n <div className=\"mt-2 flex gap-1\">\n <Button size=\"xs\" variant=\"outline\" onClick={() => openAgentDetail(child)}>Open</Button>\n <Button size=\"xs\" variant=\"ghost\" onClick={() => { openInboxThread(child.id); switchView('chat') }}>\n <MessageSquare className=\"h-3 w-3\" />\n Chat\n </Button>\n </div>\n </div>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n )}\n {agent.spawnedBy && parentLabel && (\n <Badge variant=\"outline\" className=\"max-w-full text-[10px] text-muted-foreground\">\n <span className=\"truncate\">spawned by {parentLabel}</span>\n </Badge>\n )}\n </div>\n )}\n\n {/* Tags + caps */}\n {(agent.tags.length > 0 || userFacingCapabilities(agent.capabilities).length > 0) && (\n <div className=\"flex flex-wrap gap-1 mb-2\">\n {agent.tags.slice(0, 3).map((t) => (\n <Badge key={t} variant=\"outline\" className=\"text-[9px] px-1 py-0 h-4\">{t}</Badge>\n ))}\n {userFacingCapabilities(agent.capabilities).slice(0, 2).map((c) => (\n <Badge key={c} variant=\"secondary\" className=\"text-[9px] px-1 py-0 h-4\">{c}</Badge>\n ))}\n </div>\n )}\n\n <div className=\"space-y-2 mb-2\">\n <AgentRuntimeChips agent={agent} />\n <AgentRuntimeBadges agent={agent} compact />\n <ContextMeter agent={agent} />\n </div>\n\n <div className=\"text-xs text-muted-foreground\">\n {agent.id !== 'user' && agent.id !== 'system' && timeAgo(now, agent.lastSeen)}\n </div>\n\n {/* Action buttons – always visible on mobile, hover on desktop */}\n <div\n className=\"flex gap-1 mt-2.5 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity\"\n onClick={(e) => e.stopPropagation()}\n >\n <CopyButton value={agent.id} label=\"Copy agent ID\" size=\"icon\" className=\"h-7 w-7\" iconClassName=\"w-3 h-3\" />\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Chat\" onClick={() => { openInboxThread(agent.id); switchView('chat') }}>\n <MessageSquare className=\"w-3 h-3\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Pair\" onClick={() => openPairInvite(agent.id)}>\n <Link className=\"w-3 h-3\" />\n </Button>\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Rename\" onClick={() => openRename(agent)}>\n <Edit3 className=\"w-3 h-3\" />\n </Button>\n {canOpenTerminal && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Terminal\" disabled={terminalOpening} onClick={() => void handleOpenTerminal()}>\n <Terminal className=\"w-3 h-3\" />\n </Button>\n )}\n {(agent.branchState === 'changes' || agent.branchState === 'idle') && agent.branchWorkspaceId && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-amber-400 hover:text-amber-300\" title=\"Mark workspace ready — hand off to the auto-merge\" onClick={() => openConfirm('Mark Workspace Ready', `Mark ${displayName(agent)}'s branch ready to land? The relay auto-merge will rebase and land it.`, () => workspaceAction(agent.branchWorkspaceId!, 'ready'))}>\n <Flag className=\"w-3 h-3\" />\n </Button>\n )}\n {canCompact && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Compact\" onClick={() => openConfirm('Compact Agent', `Compact context for ${displayName(agent)}?`, () => doAgentAction(agent, 'compact', 'agents-grid'))}>\n <Minimize2 className=\"w-3 h-3\" />\n </Button>\n )}\n {canClearContext && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7\" title=\"Clear Context\" onClick={() => openConfirm('Clear Context', `Clear context for ${displayName(agent)}?`, () => doAgentAction(agent, 'clearContext', 'agents-grid'))}>\n <Eraser className=\"w-3 h-3\" />\n </Button>\n )}\n {canShutdown && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Shutdown\" onClick={() => openConfirm('Shutdown Agent', `Shutdown ${displayName(agent)}?`, () => doAgentAction(agent, 'shutdown', 'agents-grid'))}>\n <Power className=\"w-3 h-3\" />\n </Button>\n )}\n {canForget && (\n <Button size=\"icon\" variant=\"ghost\" className=\"h-7 w-7 text-red-400 hover:text-red-300\" title=\"Forget stale agent\" onClick={() => openConfirm('Forget Agent', `Forget ${displayName(agent)}?`, () => doDeleteAgent(agent.id))}>\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n )}\n </div>\n </CardContent>\n </Card>\n {terminalTarget && (\n <TerminalDialog open={terminalOpen} onOpenChange={handleCloseTerminal} orchestratorId={terminalTarget.orchestratorId} session={terminalTarget.session} interactive={terminalTarget.interactive || canWriteTerminal} canWrite={canWriteTerminal} />\n )}\n </>\n )\n}\n\nexport function AgentsView() {\n const agentPresetFilter = useRelayStore((s) => s.agentPresetFilter)\n const agentStatusFilter = useRelayStore((s) => s.agentStatusFilter)\n const agentTagFilter = useRelayStore((s) => s.agentTagFilter)\n const agentHostFilter = useRelayStore((s) => s.agentHostFilter)\n const agentSort = useRelayStore((s) => s.agentSort)\n const agentSortDir = useRelayStore((s) => s.agentSortDir)\n const showOffline = useRelayStore((s) => s.showOffline)\n const set = useRelayStore((s) => s.set)\n const openAgentSpawn = useRelayStore((s) => s.openAgentSpawn)\n const agentsById = useRelayStore((s) => s.agentsById)\n const now = useNow()\n\n const sortedAgents = useSortedAgents()\n const uniqueTags = useUniqueTags()\n const uniqueHosts = useUniqueHosts()\n const childrenByParent = liveChildrenByParent(sortedAgents, now)\n const topLevelAgents = topLevelAgentsForTeamView(sortedAgents, now)\n\n const hasFilters = agentPresetFilter || agentStatusFilter || agentTagFilter || agentHostFilter\n\n function clearFilters() {\n set({ agentPresetFilter: '', agentStatusFilter: '', agentTagFilter: '', agentHostFilter: '' })\n }\n\n function toggleSortDir() {\n set({ agentSortDir: agentSortDir === 'asc' ? 'desc' : 'asc' })\n }\n\n return (\n <div className=\"space-y-4\">\n {/* Toolbar */}\n <div className=\"flex flex-wrap items-center gap-2\">\n <select\n value={agentPresetFilter}\n onChange={(e) => set({ agentPresetFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">All agents</option>\n <option value=\"active\">Active</option>\n {getKnownProviderIds().map((id) => <option key={id} value={id}>{getProviderLabel(id)}</option>)}\n <option value=\"paired\">Paired</option>\n <option value=\"unpaired\">Unpaired</option>\n <option value=\"offline_stale\">Offline / Stale</option>\n </select>\n\n <select\n value={agentStatusFilter}\n onChange={(e) => set({ agentStatusFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any status</option>\n <option value=\"online\">Online</option>\n <option value=\"idle\">Idle</option>\n <option value=\"busy\">Busy</option>\n <option value=\"offline\">Offline</option>\n <option value=\"starting\">Starting</option>\n </select>\n\n {uniqueTags.length > 0 && (\n <select\n value={agentTagFilter}\n onChange={(e) => set({ agentTagFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any tag</option>\n {uniqueTags.map((t) => <option key={t} value={t}>{t}</option>)}\n </select>\n )}\n\n {uniqueHosts.length > 1 && (\n <select\n value={agentHostFilter}\n onChange={(e) => set({ agentHostFilter: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"\">Any host</option>\n {uniqueHosts.map((h) => <option key={h} value={h}>{h}</option>)}\n </select>\n )}\n\n <select\n value={agentSort}\n onChange={(e) => set({ agentSort: e.target.value })}\n className=\"h-8 rounded-md border border-border bg-card text-sm px-2 text-foreground\"\n >\n <option value=\"status\">Sort: Status</option>\n <option value=\"name\">Sort: Name</option>\n <option value=\"lastSeen\">Sort: Last seen</option>\n <option value=\"created\">Sort: Created</option>\n </select>\n\n <Button size=\"icon\" variant=\"outline\" className=\"h-8 w-8\" title=\"Toggle sort direction\" onClick={toggleSortDir}>\n {agentSortDir === 'asc' ? <SortAsc className=\"w-3.5 h-3.5\" /> : <SortDesc className=\"w-3.5 h-3.5\" />}\n </Button>\n\n <label className=\"flex items-center gap-1.5 text-sm text-muted-foreground cursor-pointer select-none\">\n <input\n type=\"checkbox\"\n checked={showOffline}\n onChange={(e) => set({ showOffline: e.target.checked })}\n className=\"rounded\"\n />\n Show offline\n </label>\n\n {hasFilters && (\n <Button size=\"sm\" variant=\"ghost\" className=\"h-8 text-muted-foreground hover:text-foreground gap-1\" onClick={clearFilters}>\n <X className=\"w-3 h-3\" />\n Clear filters\n </Button>\n )}\n\n <div className=\"ml-auto\">\n <Button size=\"sm\" onClick={openAgentSpawn} className=\"gap-1\">\n <Plus className=\"w-3.5 h-3.5\" />\n Spawn\n </Button>\n </div>\n </div>\n\n {/* Agent grid */}\n {topLevelAgents.length === 0 ? (\n <div className=\"text-center py-16 text-muted-foreground text-sm\">\n No agents match the current filters.\n </div>\n ) : (\n <div className=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 gap-3\">\n {topLevelAgents.map((agent) => (\n <AgentCard\n key={agent.id}\n agent={agent}\n parentAgent={agent.spawnedBy ? agentsById[agent.spawnedBy] ?? null : null}\n childAgents={sortedLiveChildren(childrenByParent.get(agent.id) ?? [])}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{r as e}from"./chunk-CilyBKbf.js";import{L as t,Rn as n,gr as r,ir as i,o as a,rr as o,rt as s}from"./lucide-react-CoU_Xts2.js";import{t as c}from"./store-Dl9Z8YUS.js";import{t as l}from"./themes-DjSwmAZN.js";import{o as u,r as d,s as f,t as p}from"./card-C5XTIPvq.js";var m=e(r(),1);function h(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function _(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,M(r.key),r)}}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function b(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=P(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{L as t,Rn as n,gr as r,ir as i,o as a,rr as o,rt as s}from"./lucide-react-NXHPIMsX.js";import{t as c}from"./store-D-Frk_EC.js";import{t as l}from"./themes-DjSwmAZN.js";import{o as u,r as d,s as f,t as p}from"./card-BoqYxpVW.js";var m=e(r(),1);function h(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function _(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,M(r.key),r)}}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function b(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=P(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function x(e){var t=T();return function(){var n,r=C(e);if(t){var i=C(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){if(t&&(typeof t==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return g(e)}(this,n)}}function S(e,t,n){return(t=M(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},C(e)}function w(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,`prototype`,{writable:!1}),t&&O(e,t)}function T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(T=function(){return!!e})()}function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?E(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(e,t)||P(e,t)||function(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function A(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}(e)||P(e)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function M(e){var t=function(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}(e,`string`);return typeof t==`symbol`?t:t+``}function N(e){return N=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},N(e)}function P(e,t){if(e){if(typeof e==`string`)return h(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}var F=function(){function e(){_(this,e)}return y(e,[{key:`shadeRGBColor`,value:function(e,t){var n=t.split(`,`),r=e<0?0:255,i=e<0?-1*e:e,a=parseInt(n[0].slice(4),10),o=parseInt(n[1],10),s=parseInt(n[2],10);return`rgb(`+(Math.round((r-a)*i)+a)+`,`+(Math.round((r-o)*i)+o)+`,`+(Math.round((r-s)*i)+s)+`)`}},{key:`shadeHexColor`,value:function(e,t){var n=parseInt(t.slice(1),16),r=e<0?0:255,i=e<0?-1*e:e,a=n>>16,o=n>>8&255,s=255&n;return`#`+(16777216+65536*(Math.round((r-a)*i)+a)+256*(Math.round((r-o)*i)+o)+(Math.round((r-s)*i)+s)).toString(16).slice(1)}},{key:`shadeColor`,value:function(t,n){return e.isColorHex(n)?this.shadeHexColor(t,n):this.shadeRGBColor(t,n)}}],[{key:`bind`,value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:`isObject`,value:function(e){return e&&N(e)===`object`&&!Array.isArray(e)&&e!=null}},{key:`is`,value:function(e,t){return Object.prototype.toString.call(t)===`[object `+e+`]`}},{key:`isSafari`,value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:`listToArray`,value:function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n}},{key:`extend`,value:function(e,t){var n=this;typeof Object.assign!=`function`&&(Object.assign=function(e){if(e==null)throw TypeError(`Cannot convert undefined or null to object`);for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(r!=null)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t});var r=Object.assign({},e);return this.isObject(e)&&this.isObject(t)&&Object.keys(t).forEach((function(i){n.isObject(t[i])&&i in e?r[i]=n.extend(e[i],t[i]):Object.assign(r,S({},i,t[i]))})),r}},{key:`extendArray`,value:function(t,n){var r=[];return t.map((function(t){r.push(e.extend(n,t))})),t=r}},{key:`monthMod`,value:function(e){return e%12}},{key:`clone`,value:function(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new WeakMap;if(e===null||N(e)!==`object`)return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){t=[],n.set(e,t);for(var r=0;r<e.length;r++)t[r]=this.clone(e[r],n)}else if(e instanceof Date)t=new Date(e.getTime());else for(var i in t={},n.set(e,t),e)e.hasOwnProperty(i)&&(t[i]=this.clone(e[i],n));return t}},{key:`log10`,value:function(e){return Math.log(e)/Math.LN10}},{key:`roundToBase10`,value:function(e){return 10**Math.floor(Math.log10(e))}},{key:`roundToBase`,value:function(e,t){return t**+Math.floor(Math.log(e)/Math.log(t))}},{key:`parseNumber`,value:function(e){return e===null?e:parseFloat(e)}},{key:`stripNumber`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:`randomId`,value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:`noExponents`,value:function(e){return e.toString().includes(`e`)?Math.round(e):e}},{key:`elementExists`,value:function(e){return!(!e||!e.isConnected)}},{key:`getDimensions`,value:function(e){var t=getComputedStyle(e,null),n=e.clientHeight,r=e.clientWidth;return n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[r-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),n]}},{key:`getBoundingClientRect`,value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:`getLargestStringFromArr`,value:function(e){return e.reduce((function(e,t){return Array.isArray(t)&&(t=t.reduce((function(e,t){return e.length>t.length?e:t}))),e.length>t.length?e:t}),0)}},{key:`hexToRgba`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`#999999`,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!==`#`&&(e=`#999999`);var n=e.replace(`#`,``);n=n.match(RegExp(`(.{`+n.length/3+`})`,`g`));for(var r=0;r<n.length;r++)n[r]=parseInt(n[r].length===1?n[r]+n[r]:n[r],16);return t!==void 0&&n.push(t),`rgba(`+n.join(`,`)+`)`}},{key:`getOpacityFromRGBA`,value:function(e){return parseFloat(e.replace(/^.*,(.+)\)/,`$1`))}},{key:`rgb2hex`,value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&e.length===4?`#`+(`0`+parseInt(e[1],10).toString(16)).slice(-2)+(`0`+parseInt(e[2],10).toString(16)).slice(-2)+(`0`+parseInt(e[3],10).toString(16)).slice(-2):``}},{key:`isColorHex`,value:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(e)}},{key:`getPolygonPos`,value:function(e,t){for(var n=[],r=2*Math.PI/t,i=0;i<t;i++){var a={};a.x=e*Math.sin(i*r),a.y=-e*Math.cos(i*r),n.push(a)}return n}},{key:`polarToCartesian`,value:function(e,t,n,r){var i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}},{key:`escapeString`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`x`,n=e.toString().slice();return n=n.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:`negToZero`,value:function(e){return e<0?0:e}},{key:`moveIndexInArray`,value:function(e,t,n){if(n>=e.length)for(var r=n-e.length+1;r--;)e.push(void 0);return e.splice(n,0,e.splice(t,1)[0]),e}},{key:`extractNumber`,value:function(e){return parseFloat(e.replace(/[^\d.]*/g,``))}},{key:`findAncestor`,value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:`setELstyles`,value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style.key=t[n])}},{key:`preciseAddition`,value:function(e,t){var n=(String(e).split(`.`)[1]||``).length,r=(String(t).split(`.`)[1]||``).length,i=10**Math.max(n,r);return(Math.round(e*i)+Math.round(t*i))/i}},{key:`isNumber`,value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:`isFloat`,value:function(e){return Number(e)===e&&e%1!=0}},{key:`isMsEdge`,value:function(){var e=window.navigator.userAgent,t=e.indexOf(`Edge/`);return t>0&&parseInt(e.substring(t+5,e.indexOf(`.`,t)),10)}},{key:`getGCD`,value:function(e,t){var n=10**((arguments.length>2&&arguments[2]!==void 0?arguments[2]:7)-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*n),t=Math.round(Math.abs(t)*n);t;){var r=t;t=e%t,e=r}return e/n}},{key:`getPrimeFactors`,value:function(e){for(var t=[],n=2;e>=2;)e%n==0?(t.push(n),e/=n):n++;return t}},{key:`mod`,value:function(e,t){var n=10**((arguments.length>2&&arguments[2]!==void 0?arguments[2]:7)-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*n))%(t=Math.round(Math.abs(t)*n))/n}}]),e}(),I=function(){function e(t){_(this,e),this.ctx=t,this.w=t.w}return y(e,[{key:`animateLine`,value:function(e,t,n,r){e.attr(t).animate(r).attr(n)}},{key:`animateMarker`,value:function(e,t,n,r){e.attr({opacity:0}).animate(t).attr({opacity:1}).after((function(){r()}))}},{key:`animateRect`,value:function(e,t,n,r,i){e.attr(t).animate(r).attr(n).after((function(){return i()}))}},{key:`animatePathsGradually`,value:function(e){var t=e.el,n=e.realIndex,r=e.j,i=e.fill,a=e.pathFrom,o=e.pathTo,s=e.speed,c=e.delay,l=this.w,u=0;l.config.chart.animations.animateGradually.enabled&&(u=l.config.chart.animations.animateGradually.delay),l.config.chart.animations.dynamicAnimation.enabled&&l.globals.dataChanged&&l.config.chart.type!==`bar`&&(u=0),this.morphSVG(t,n,r,l.config.chart.type!==`line`||l.globals.comboCharts?i:`stroke`,a,o,s,c*u)}},{key:`showDelayedElements`,value:function(){this.w.globals.delayedElements.forEach((function(e){var t=e.el;t.classList.remove(`apexcharts-element-hidden`),t.classList.add(`apexcharts-hidden-element-shown`)}))}},{key:`animationCompleted`,value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd==`function`&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:`morphSVG`,value:function(e,t,n,r,i,a,o,s){var c=this,l=this.w;i||=e.attr(`pathFrom`),a||=e.attr(`pathTo`);var u=function(e){return l.config.chart.type===`radar`&&(o=1),`M 0 ${l.globals.gridHeight}`};(!i||i.indexOf(`undefined`)>-1||i.indexOf(`NaN`)>-1)&&(i=u()),(!a.trim()||a.indexOf(`undefined`)>-1||a.indexOf(`NaN`)>-1)&&(a=u()),l.globals.shouldAnimate||(o=1),e.plot(i).animate(1,s).plot(i).animate(o,s).plot(a).after((function(){F.isNumber(n)?n===l.globals.series[l.globals.maxValsInArrayIndex].length-2&&l.globals.shouldAnimate&&c.animationCompleted(e):r!==`none`&&l.globals.shouldAnimate&&(!l.globals.comboCharts&&t===l.globals.series.length-1||l.globals.comboCharts)&&c.animationCompleted(e),c.showDelayedElements()}))}}]),e}(),L={},ee=[];function R(e,t){if(Array.isArray(e))for(let n of e)R(n,t);else if(typeof e!=`object`)te(Object.getOwnPropertyNames(t)),L[e]=Object.assign(L[e]||{},t);else for(let t in e)R(t,e[t])}function z(e){return L[e]||{}}function te(e){ee.push(...e)}function ne(e,t){let n,r=e.length,i=[];for(n=0;n<r;n++)i.push(t(e[n]));return i}function re(e){return e%360*Math.PI/180}function ie(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ae(e,t,n,r){return t!=null&&n!=null||(r||=e.bbox(),t==null?t=r.width/r.height*n:n??=r.height/r.width*t),{width:t,height:n}}function oe(e,t){let n=e.origin,r=e.ox==null?e.originX==null?`center`:e.originX:e.ox,i=e.oy==null?e.originY==null?`center`:e.originY:e.oy;n!=null&&([r,i]=Array.isArray(n)?n:typeof n==`object`?[n.x,n.y]:[n,n]);let a=typeof r==`string`,o=typeof i==`string`;if(a||o){let{height:e,width:n,x:s,y:c}=t.bbox();a&&(r=r.includes(`left`)?s:r.includes(`right`)?s+n:s+n/2),o&&(i=i.includes(`top`)?c:i.includes(`bottom`)?c+e:c+e/2)}return[r,i]}var se=new Set([`desc`,`metadata`,`title`]),ce=e=>se.has(e.nodeName),le=(e,t,n={})=>{let r={...t};for(let e in r)r[e].valueOf()===n[e]&&delete r[e];Object.keys(r).length?e.node.setAttribute(`data-svgjs`,JSON.stringify(r)):(e.node.removeAttribute(`data-svgjs`),e.node.removeAttribute(`svgjs:data`))},ue=`http://www.w3.org/2000/svg`,de=`http://www.w3.org/2000/xmlns/`,fe=`http://www.w3.org/1999/xlink`,B={window:typeof window>`u`?null:window,document:typeof document>`u`?null:document};function pe(){return B.window}var me=class{},he={},ge=`___SYMBOL___ROOT___`;function _e(e,t=ue){return B.document.createElementNS(t,e)}function ve(e,t=!1){if(e instanceof me)return e;if(typeof e==`object`)return be(e);if(e==null)return new he[ge];if(typeof e==`string`&&e.charAt(0)!==`<`)return be(B.document.querySelector(e));let n=t?B.document.createElement(`div`):_e(`svg`);return n.innerHTML=e,e=be(n.firstChild),n.removeChild(n.firstChild),e}function V(e,t){return t&&(t instanceof B.window.Node||t.ownerDocument&&t instanceof t.ownerDocument.defaultView.Node)?t:_e(e)}function ye(e){if(!e)return null;if(e.instance instanceof me)return e.instance;if(e.nodeName===`#document-fragment`)return new he.Fragment(e);let t=ie(e.nodeName||`Dom`);return t===`LinearGradient`||t===`RadialGradient`?t=`Gradient`:he[t]||(t=`Dom`),new he[t](e)}var be=ye;function H(e,t=e.name,n=!1){return he[t]=e,n&&(he[ge]=e),te(Object.getOwnPropertyNames(e.prototype)),e}var xe=1e3;function Se(e){return`Svgjs`+ie(e)+ xe++}function Ce(e){for(let t=e.children.length-1;t>=0;t--)Ce(e.children[t]);return e.id&&=Se(e.nodeName),e}function U(e,t){let n,r;for(r=(e=Array.isArray(e)?e:[e]).length-1;r>=0;r--)for(n in t)e[r].prototype[n]=t[n]}function W(e){return function(...t){let n=t[t.length-1];return!n||n.constructor!==Object||n instanceof Array?e.apply(this,t):e.apply(this,t.slice(0,-1)).attr(n)}}R(`Dom`,{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){let e=this.position();return this.parent().add(this.remove(),e+1),this},backward:function(){let e=this.position();return this.parent().add(this.remove(),e?e-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(e){(e=ve(e)).remove();let t=this.position();return this.parent().add(e,t),this},after:function(e){(e=ve(e)).remove();let t=this.position();return this.parent().add(e,t+1),this},insertBefore:function(e){return(e=ve(e)).before(this),this},insertAfter:function(e){return(e=ve(e)).after(this),this}});var we=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,Te=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Ee=/rgb\((\d+),(\d+),(\d+)\)/,De=/(#[a-z_][a-z0-9\-_]*)/i,Oe=/\)\s*,?\s*/,ke=/\s/g,Ae=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,je=/^rgb\(/,Me=/^(\s+)?$/,Ne=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Pe=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,Fe=/[\s,]+/,Ie=/[MLHVCSQTAZ]/i;function Le(e){let t=Math.max(0,Math.min(255,Math.round(e))).toString(16);return t.length===1?`0`+t:t}function Re(e,t){for(let n=t.length;n--;)if(e[t[n]]==null)return!1;return!0}function ze(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}R(`Dom`,{classes:function(){let e=this.attr(`class`);return e==null?[]:e.trim().split(Fe)},hasClass:function(e){return this.classes().indexOf(e)!==-1},addClass:function(e){if(!this.hasClass(e)){let t=this.classes();t.push(e),this.attr(`class`,t.join(` `))}return this},removeClass:function(e){return this.hasClass(e)&&this.attr(`class`,this.classes().filter((function(t){return t!==e})).join(` `)),this},toggleClass:function(e){return this.hasClass(e)?this.removeClass(e):this.addClass(e)}}),R(`Dom`,{css:function(e,t){let n={};if(arguments.length===0)return this.node.style.cssText.split(/\s*;\s*/).filter((function(e){return!!e.length})).forEach((function(e){let t=e.split(/\s*:\s*/);n[t[0]]=t[1]})),n;if(arguments.length<2){if(Array.isArray(e)){for(let t of e){let e=t;n[t]=this.node.style.getPropertyValue(e)}return n}if(typeof e==`string`)return this.node.style.getPropertyValue(e);if(typeof e==`object`)for(let t in e)this.node.style.setProperty(t,e[t]==null||Me.test(e[t])?``:e[t])}return arguments.length===2&&this.node.style.setProperty(e,t==null||Me.test(t)?``:t),this},show:function(){return this.css(`display`,``)},hide:function(){return this.css(`display`,`none`)},visible:function(){return this.css(`display`)!==`none`}}),R(`Dom`,{data:function(e,t,n){if(e==null)return this.data(ne(function(e,t){let n,r=e.length,i=[];for(n=0;n<r;n++)t(e[n])&&i.push(e[n]);return i}(this.node.attributes,(e=>e.nodeName.indexOf(`data-`)===0)),(e=>e.nodeName.slice(5))));if(e instanceof Array){let t={};for(let n of e)t[n]=this.data(n);return t}if(typeof e==`object`)for(t in e)this.data(t,e[t]);else if(arguments.length<2)try{return JSON.parse(this.attr(`data-`+e))}catch{return this.attr(`data-`+e)}else this.attr(`data-`+e,t===null?null:!0===n||typeof t==`string`||typeof t==`number`?t:JSON.stringify(t));return this}}),R(`Dom`,{remember:function(e,t){if(typeof arguments[0]==`object`)for(let t in e)this.remember(t,e[t]);else{if(arguments.length===1)return this.memory()[e];this.memory()[e]=t}return this},forget:function(){if(arguments.length===0)this._memory={};else for(let e=arguments.length-1;e>=0;e--)delete this.memory()[arguments[e]];return this},memory:function(){return this._memory=this._memory||{}}});var Be=class e{constructor(...e){this.init(...e)}static isColor(t){return t&&(t instanceof e||this.isRgb(t)||this.test(t))}static isRgb(e){return e&&typeof e.r==`number`&&typeof e.g==`number`&&typeof e.b==`number`}static random(t=`vibrant`,n){let{random:r,round:i,sin:a,PI:o}=Math;if(t===`vibrant`)return new e(24*r()+57,38*r()+45,360*r(),`lch`);if(t===`sine`)return new e(i(80*a(2*o*(n??=r())/.5+.01)+150),i(50*a(2*o*n/.5+4.6)+200),i(100*a(2*o*n/.5+2.3)+150));if(t===`pastel`)return new e(8*r()+86,17*r()+9,360*r(),`lch`);if(t===`dark`)return new e(10+10*r(),50*r()+86,360*r(),`lch`);if(t===`rgb`)return new e(255*r(),255*r(),255*r());if(t===`lab`)return new e(100*r(),256*r()-128,256*r()-128,`lab`);if(t===`grey`){let t=255*r();return new e(t,t,t)}throw Error(`Unsupported random color mode`)}static test(e){return typeof e==`string`&&(Ae.test(e)||je.test(e))}cmyk(){let{_a:t,_b:n,_c:r}=this.rgb(),[i,a,o]=[t,n,r].map((e=>e/255)),s=Math.min(1-i,1-a,1-o);return s===1?new e(0,0,0,1,`cmyk`):new e((1-i-s)/(1-s),(1-a-s)/(1-s),(1-o-s)/(1-s),s,`cmyk`)}hsl(){let{_a:t,_b:n,_c:r}=this.rgb(),[i,a,o]=[t,n,r].map((e=>e/255)),s=Math.max(i,a,o),c=Math.min(i,a,o),l=(s+c)/2,u=s===c,d=s-c;return new e(360*(u?0:s===i?((a-o)/d+(a<o?6:0))/6:s===a?((o-i)/d+2)/6:s===o?((i-a)/d+4)/6:0),100*(u?0:l>.5?d/(2-s-c):d/(s+c)),100*l,`hsl`)}init(e=0,t=0,n=0,r=0,i=`rgb`){if(e||=0,this.space)for(let e in this.space)delete this[this.space[e]];if(typeof e==`number`)i=typeof r==`string`?r:i,r=typeof r==`string`?0:r,Object.assign(this,{_a:e,_b:t,_c:n,_d:r,space:i});else if(e instanceof Array)this.space=t||(typeof e[3]==`string`?e[3]:e[4])||`rgb`,Object.assign(this,{_a:e[0],_b:e[1],_c:e[2],_d:e[3]||0});else if(e instanceof Object){let n=function(e,t){let n=Re(e,`rgb`)?{_a:e.r,_b:e.g,_c:e.b,_d:0,space:`rgb`}:Re(e,`xyz`)?{_a:e.x,_b:e.y,_c:e.z,_d:0,space:`xyz`}:Re(e,`hsl`)?{_a:e.h,_b:e.s,_c:e.l,_d:0,space:`hsl`}:Re(e,`lab`)?{_a:e.l,_b:e.a,_c:e.b,_d:0,space:`lab`}:Re(e,`lch`)?{_a:e.l,_b:e.c,_c:e.h,_d:0,space:`lch`}:Re(e,`cmyk`)?{_a:e.c,_b:e.m,_c:e.y,_d:e.k,space:`cmyk`}:{_a:0,_b:0,_c:0,space:`rgb`};return n.space=t||n.space,n}(e,t);Object.assign(this,n)}else if(typeof e==`string`)if(je.test(e)){let t=e.replace(ke,``),[n,r,i]=Ee.exec(t).slice(1,4).map((e=>parseInt(e)));Object.assign(this,{_a:n,_b:r,_c:i,_d:0,space:`rgb`})}else{if(!Ae.test(e))throw Error(`Unsupported string format, can't construct Color`);{let[,t,n,r]=Te.exec(function(e){return e.length===4?[`#`,e.substring(1,2),e.substring(1,2),e.substring(2,3),e.substring(2,3),e.substring(3,4),e.substring(3,4)].join(``):e}(e)).map(e=>parseInt(e,16));Object.assign(this,{_a:t,_b:n,_c:r,_d:0,space:`rgb`})}}let{_a:a,_b:o,_c:s,_d:c}=this,l=this.space===`rgb`?{r:a,g:o,b:s}:this.space===`xyz`?{x:a,y:o,z:s}:this.space===`hsl`?{h:a,s:o,l:s}:this.space===`lab`?{l:a,a:o,b:s}:this.space===`lch`?{l:a,c:o,h:s}:this.space===`cmyk`?{c:a,m:o,y:s,k:c}:{};Object.assign(this,l)}lab(){let{x:t,y:n,z:r}=this.xyz();return new e(116*n-16,500*(t-n),200*(n-r),`lab`)}lch(){let{l:t,a:n,b:r}=this.lab(),i=Math.sqrt(n**2+r**2),a=180*Math.atan2(r,n)/Math.PI;return a<0&&(a*=-1,a=360-a),new e(t,i,a,`lch`)}rgb(){if(this.space===`rgb`)return this;if((t=this.space)===`lab`||t===`xyz`||t===`lch`){let{x:t,y:n,z:r}=this;if(this.space===`lab`||this.space===`lch`){let{l:e,a:i,b:a}=this;if(this.space===`lch`){let{c:e,h:t}=this,n=Math.PI/180;i=e*Math.cos(n*t),a=e*Math.sin(n*t)}let o=(e+16)/116,s=i/500+o,c=o-a/200,l=16/116,u=.008856,d=7.787;t=.95047*(s**3>u?s**3:(s-l)/d),n=1*(o**3>u?o**3:(o-l)/d),r=1.08883*(c**3>u?c**3:(c-l)/d)}let i=3.2406*t+-1.5372*n+-.4986*r,a=-.9689*t+1.8758*n+.0415*r,o=.0557*t+-.204*n+1.057*r,s=Math.pow,c=.0031308,l=i>c?1.055*s(i,1/2.4)-.055:12.92*i,u=a>c?1.055*s(a,1/2.4)-.055:12.92*a,d=o>c?1.055*s(o,1/2.4)-.055:12.92*o;return new e(255*l,255*u,255*d)}if(this.space===`hsl`){let{h:t,s:n,l:r}=this;if(t/=360,n/=100,r/=100,n===0)return r*=255,new e(r,r,r);let i=r<.5?r*(1+n):r+n-r*n,a=2*r-i;return new e(255*ze(a,i,t+1/3),255*ze(a,i,t),255*ze(a,i,t-1/3))}if(this.space===`cmyk`){let{c:t,m:n,y:r,k:i}=this;return new e(255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i)))}return this;var t}toArray(){let{_a:e,_b:t,_c:n,_d:r,space:i}=this;return[e,t,n,r,i]}toHex(){let[e,t,n]=this._clamped().map(Le);return`#${e}${t}${n}`}toRgb(){let[e,t,n]=this._clamped();return`rgb(${e},${t},${n})`}toString(){return this.toHex()}xyz(){let{_a:t,_b:n,_c:r}=this.rgb(),[i,a,o]=[t,n,r].map((e=>e/255)),s=i>.04045?((i+.055)/1.055)**2.4:i/12.92,c=a>.04045?((a+.055)/1.055)**2.4:a/12.92,l=o>.04045?((o+.055)/1.055)**2.4:o/12.92,u=(.4124*s+.3576*c+.1805*l)/.95047,d=(.2126*s+.7152*c+.0722*l)/1,f=(.0193*s+.1192*c+.9505*l)/1.08883;return new e(u>.008856?u**(1/3):7.787*u+16/116,d>.008856?d**(1/3):7.787*d+16/116,f>.008856?f**(1/3):7.787*f+16/116,`xyz`)}_clamped(){let{_a:e,_b:t,_c:n}=this.rgb(),{max:r,min:i,round:a}=Math;return[e,t,n].map((e=>r(0,i(a(e),255))))}},G=class e{constructor(...e){this.init(...e)}clone(){return new e(this)}init(e,t){let n=Array.isArray(e)?{x:e[0],y:e[1]}:typeof e==`object`?{x:e.x,y:e.y}:{x:e,y:t};return this.x=n.x==null?0:n.x,this.y=n.y==null?0:n.y,this}toArray(){return[this.x,this.y]}transform(e){return this.clone().transformO(e)}transformO(e){K.isMatrixLike(e)||(e=new K(e));let{x:t,y:n}=this;return this.x=e.a*t+e.c*n+e.e,this.y=e.b*t+e.d*n+e.f,this}};function Ve(e,t,n){return Math.abs(t-e)<(n||1e-6)}var K=class e{constructor(...e){this.init(...e)}static formatTransforms(e){let t=e.flip===`both`||!0===e.flip,n=e.flip&&(t||e.flip===`x`)?-1:1,r=e.flip&&(t||e.flip===`y`)?-1:1,i=e.skew&&e.skew.length?e.skew[0]:isFinite(e.skew)?e.skew:isFinite(e.skewX)?e.skewX:0,a=e.skew&&e.skew.length?e.skew[1]:isFinite(e.skew)?e.skew:isFinite(e.skewY)?e.skewY:0,o=e.scale&&e.scale.length?e.scale[0]*n:isFinite(e.scale)?e.scale*n:isFinite(e.scaleX)?e.scaleX*n:n,s=e.scale&&e.scale.length?e.scale[1]*r:isFinite(e.scale)?e.scale*r:isFinite(e.scaleY)?e.scaleY*r:r,c=e.shear||0,l=e.rotate||e.theta||0,u=new G(e.origin||e.around||e.ox||e.originX,e.oy||e.originY),d=u.x,f=u.y,p=new G(e.position||e.px||e.positionX||NaN,e.py||e.positionY||NaN),m=p.x,h=p.y,g=new G(e.translate||e.tx||e.translateX,e.ty||e.translateY),_=g.x,v=g.y,y=new G(e.relative||e.rx||e.relativeX,e.ry||e.relativeY);return{scaleX:o,scaleY:s,skewX:i,skewY:a,shear:c,theta:l,rx:y.x,ry:y.y,tx:_,ty:v,ox:d,oy:f,px:m,py:h}}static fromArray(e){return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}static isMatrixLike(e){return e.a!=null||e.b!=null||e.c!=null||e.d!=null||e.e!=null||e.f!=null}static matrixMultiply(e,t,n){let r=e.a*t.a+e.c*t.b,i=e.b*t.a+e.d*t.b,a=e.a*t.c+e.c*t.d,o=e.b*t.c+e.d*t.d,s=e.e+e.a*t.e+e.c*t.f,c=e.f+e.b*t.e+e.d*t.f;return n.a=r,n.b=i,n.c=a,n.d=o,n.e=s,n.f=c,n}around(e,t,n){return this.clone().aroundO(e,t,n)}aroundO(e,t,n){let r=e||0,i=t||0;return this.translateO(-r,-i).lmultiplyO(n).translateO(r,i)}clone(){return new e(this)}decompose(e=0,t=0){let n=this.a,r=this.b,i=this.c,a=this.d,o=this.e,s=this.f,c=n*a-r*i,l=c>0?1:-1,u=l*Math.sqrt(n*n+r*r),d=Math.atan2(l*r,l*n),f=180/Math.PI*d,p=Math.cos(d),m=Math.sin(d),h=(n*i+r*a)/c,g=i*u/(h*n-r)||a*u/(h*r+n);return{scaleX:u,scaleY:g,shear:h,rotate:f,translateX:o-e+e*p*u+t*(h*p*u-m*g),translateY:s-t+e*m*u+t*(h*m*u+p*g),originX:e,originY:t,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;let n=new e(t);return Ve(this.a,n.a)&&Ve(this.b,n.b)&&Ve(this.c,n.c)&&Ve(this.d,n.d)&&Ve(this.e,n.e)&&Ve(this.f,n.f)}flip(e,t){return this.clone().flipO(e,t)}flipO(e,t){return e===`x`?this.scaleO(-1,1,t,0):e===`y`?this.scaleO(1,-1,0,t):this.scaleO(-1,-1,e,t||e)}init(t){let n=e.fromArray([1,0,0,1,0,0]);return t=t instanceof ut?t.matrixify():typeof t==`string`?e.fromArray(t.split(Fe).map(parseFloat)):Array.isArray(t)?e.fromArray(t):typeof t==`object`&&e.isMatrixLike(t)?t:typeof t==`object`?new e().transform(t):arguments.length===6?e.fromArray([].slice.call(arguments)):n,this.a=t.a==null?n.a:t.a,this.b=t.b==null?n.b:t.b,this.c=t.c==null?n.c:t.c,this.d=t.d==null?n.d:t.d,this.e=t.e==null?n.e:t.e,this.f=t.f==null?n.f:t.f,this}inverse(){return this.clone().inverseO()}inverseO(){let e=this.a,t=this.b,n=this.c,r=this.d,i=this.e,a=this.f,o=e*r-t*n;if(!o)throw Error(`Cannot invert `+this);let s=r/o,c=-t/o,l=-n/o,u=e/o,d=-(s*i+l*a),f=-(c*i+u*a);return this.a=s,this.b=c,this.c=l,this.d=u,this.e=d,this.f=f,this}lmultiply(e){return this.clone().lmultiplyO(e)}lmultiplyO(t){let n=t instanceof e?t:new e(t);return e.matrixMultiply(n,this,this)}multiply(e){return this.clone().multiplyO(e)}multiplyO(t){let n=t instanceof e?t:new e(t);return e.matrixMultiply(this,n,this)}rotate(e,t,n){return this.clone().rotateO(e,t,n)}rotateO(e,t=0,n=0){e=re(e);let r=Math.cos(e),i=Math.sin(e),{a,b:o,c:s,d:c,e:l,f:u}=this;return this.a=a*r-o*i,this.b=o*r+a*i,this.c=s*r-c*i,this.d=c*r+s*i,this.e=l*r-u*i+n*i-t*r+t,this.f=u*r+l*i-t*i-n*r+n,this}scale(){return this.clone().scaleO(...arguments)}scaleO(e,t=e,n=0,r=0){arguments.length===3&&(r=n,n=t,t=e);let{a:i,b:a,c:o,d:s,e:c,f:l}=this;return this.a=i*e,this.b=a*t,this.c=o*e,this.d=s*t,this.e=c*e-n*e+n,this.f=l*t-r*t+r,this}shear(e,t,n){return this.clone().shearO(e,t,n)}shearO(e,t=0,n=0){let{a:r,b:i,c:a,d:o,e:s,f:c}=this;return this.a=r+i*e,this.c=a+o*e,this.e=s+c*e-n*e,this}skew(){return this.clone().skewO(...arguments)}skewO(e,t=e,n=0,r=0){arguments.length===3&&(r=n,n=t,t=e),e=re(e),t=re(t);let i=Math.tan(e),a=Math.tan(t),{a:o,b:s,c,d:l,e:u,f:d}=this;return this.a=o+s*i,this.b=s+o*a,this.c=c+l*i,this.d=l+c*a,this.e=u+d*i-r*i,this.f=d+u*a-n*a,this}skewX(e,t,n){return this.skew(e,0,t,n)}skewY(e,t,n){return this.skew(0,e,t,n)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return`matrix(`+this.a+`,`+this.b+`,`+this.c+`,`+this.d+`,`+this.e+`,`+this.f+`)`}transform(t){if(e.isMatrixLike(t))return new e(t).multiplyO(this);let n=e.formatTransforms(t),{x:r,y:i}=new G(n.ox,n.oy).transform(this),a=new e().translateO(n.rx,n.ry).lmultiplyO(this).translateO(-r,-i).scaleO(n.scaleX,n.scaleY).skewO(n.skewX,n.skewY).shearO(n.shear).rotateO(n.theta).translateO(r,i);if(isFinite(n.px)||isFinite(n.py)){let e=new G(r,i).transform(a),t=isFinite(n.px)?n.px-e.x:0,o=isFinite(n.py)?n.py-e.y:0;a.translateO(t,o)}return a.translateO(n.tx,n.ty),a}translate(e,t){return this.clone().translateO(e,t)}translateO(e,t){return this.e+=e||0,this.f+=t||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}};function He(){if(!He.nodes){let e=ve().size(2,0);e.node.style.cssText=[`opacity: 0`,`position: absolute`,`left: -100%`,`top: -100%`,`overflow: hidden`].join(`;`),e.attr(`focusable`,`false`),e.attr(`aria-hidden`,`true`),He.nodes={svg:e,path:e.path().node}}if(!He.nodes.svg.node.parentNode){let e=B.document.body||B.document.documentElement;He.nodes.svg.addTo(e)}return He.nodes}function Ue(e){return!(e.width||e.height||e.x||e.y)}H(K,`Matrix`);var q=class e{constructor(...e){this.init(...e)}addOffset(){return this.x+=B.window.pageXOffset,this.y+=B.window.pageYOffset,new e(this)}init(e){return e=typeof e==`string`?e.split(Fe).map(parseFloat):Array.isArray(e)?e:typeof e==`object`?[e.left==null?e.x:e.left,e.top==null?e.y:e.top,e.width,e.height]:arguments.length===4?[].slice.call(arguments):[0,0,0,0],this.x=e[0]||0,this.y=e[1]||0,this.width=this.w=e[2]||0,this.height=this.h=e[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return Ue(this)}merge(t){let n=Math.min(this.x,t.x),r=Math.min(this.y,t.y);return new e(n,r,Math.max(this.x+this.width,t.x+t.width)-n,Math.max(this.y+this.height,t.y+t.height)-r)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+` `+this.y+` `+this.width+` `+this.height}transform(t){t instanceof K||(t=new K(t));let n=1/0,r=-1/0,i=1/0,a=-1/0;return[new G(this.x,this.y),new G(this.x2,this.y),new G(this.x,this.y2),new G(this.x2,this.y2)].forEach((function(e){e=e.transform(t),n=Math.min(n,e.x),r=Math.max(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.y)})),new e(n,i,r-n,a-i)}};function We(e,t,n){let r;try{if(r=t(e.node),Ue(r)&&(i=e.node)!==B.document&&!(B.document.documentElement.contains||function(e){for(;e.parentNode;)e=e.parentNode;return e===B.document}).call(B.document.documentElement,i))throw Error(`Element not in the dom`)}catch{r=n(e)}var i;return r}R({viewbox:{viewbox(e,t,n,r){return e==null?new q(this.attr(`viewBox`)):this.attr(`viewBox`,new q(e,t,n,r))},zoom(e,t){let{width:n,height:r}=this.attr([`width`,`height`]);if((n||r)&&typeof n!=`string`&&typeof r!=`string`||(n=this.node.clientWidth,r=this.node.clientHeight),!n||!r)throw Error(`Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element`);let i=this.viewbox(),a=n/i.width,o=r/i.height,s=Math.min(a,o);if(e==null)return s;let c=s/e;c===1/0&&(c=(2**53-1)/100),t||=new G(n/2/a+i.x,r/2/o+i.y);let l=new q(i).transform(new K({scale:c,origin:t}));return this.viewbox(l)}}}),H(q,`Box`);var Ge=class extends Array{constructor(e=[],...t){if(super(e,...t),typeof e==`number`)return this;this.length=0,this.push(...e)}};U([Ge],{each(e,...t){return typeof e==`function`?this.map(((t,n,r)=>e.call(t,t,n,r))):this.map((n=>n[e](...t)))},toArray(){return Array.prototype.concat.apply([],this)}});var Ke=[`toArray`,`constructor`,`each`];function qe(e,t){return new Ge(ne((t||B.document).querySelectorAll(e),(function(e){return ye(e)})))}Ge.extend=function(e){e=e.reduce(((e,t)=>(Ke.includes(t)||t[0]===`_`||(t in Array.prototype&&(e[`$`+t]=Array.prototype[t]),e[t]=function(...e){return this.each(t,...e)}),e)),{}),U([Ge],e)};var Je=0,Ye={};function Xe(e){let t=e.getEventHolder();return t===B.window&&(t=Ye),t.events||={},t.events}function Ze(e){return e.getEventTarget()}function Qe(e,t,n,r,i){let a=n.bind(r||e),o=ve(e),s=Xe(o),c=Ze(o);t=Array.isArray(t)?t:t.split(Fe),n._svgjsListenerId||=++Je,t.forEach((function(e){let t=e.split(`.`)[0],r=e.split(`.`)[1]||`*`;s[t]=s[t]||{},s[t][r]=s[t][r]||{},s[t][r][n._svgjsListenerId]=a,c.addEventListener(t,a,i||!1)}))}function $e(e,t,n,r){let i=ve(e),a=Xe(i),o=Ze(i);(typeof n!=`function`||(n=n._svgjsListenerId))&&(t=Array.isArray(t)?t:(t||``).split(Fe)).forEach((function(e){let t=e&&e.split(`.`)[0],s=e&&e.split(`.`)[1],c,l;if(n)a[t]&&a[t][s||`*`]&&(o.removeEventListener(t,a[t][s||`*`][n],r||!1),delete a[t][s||`*`][n]);else if(t&&s){if(a[t]&&a[t][s]){for(l in a[t][s])$e(o,[t,s].join(`.`),l);delete a[t][s]}}else if(s)for(e in a)for(c in a[e])s===c&&$e(o,[e,s].join(`.`));else if(t){if(a[t]){for(c in a[t])$e(o,[t,c].join(`.`));delete a[t]}}else{for(e in a)$e(o,e);(function(e){let t=e.getEventHolder();t===B.window&&(t=Ye),t.events&&={}})(i)}}))}var et=class extends me{addEventListener(){}dispatch(e,t,n){return function(e,t,n,r){let i=Ze(e);return t instanceof B.window.Event||(t=new B.window.CustomEvent(t,{detail:n,cancelable:!0,...r})),i.dispatchEvent(t),t}(this,e,t,n)}dispatchEvent(e){let t=this.getEventHolder().events;if(!t)return!0;let n=t[e.type];for(let t in n)for(let r in n[t])n[t][r](e);return!e.defaultPrevented}fire(e,t,n){return this.dispatch(e,t,n),this}getEventHolder(){return this}getEventTarget(){return this}off(e,t,n){return $e(this,e,t,n),this}on(e,t,n,r){return Qe(this,e,t,n,r),this}removeEventListener(){}};function tt(){}H(et,`EventTarget`);var nt=400,rt=`>`,it=0,at={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":`miter`,"stroke-linecap":`butt`,fill:`#000000`,stroke:`#000000`,opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":`#000000`,"text-anchor":`start`},ot=class extends Array{constructor(...e){super(...e),this.init(...e)}clone(){return new this.constructor(this)}init(e){return typeof e==`number`||(this.length=0,this.push(...this.parse(e))),this}parse(e=[]){return e instanceof Array?e:e.trim().split(Fe).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(` `)}valueOf(){let e=[];return e.push(...this),e}},J=class e{constructor(...e){this.init(...e)}convert(t){return new e(this.value,t)}divide(t){return t=new e(t),new e(this/t,this.unit||t.unit)}init(t,n){return n=Array.isArray(t)?t[1]:n,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=n||``,typeof t==`number`?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:typeof t==`string`?(n=t.match(we))&&(this.value=parseFloat(n[1]),n[5]===`%`?this.value/=100:n[5]===`s`&&(this.value*=1e3),this.unit=n[5]):t instanceof e&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new e(t),new e(this-t,this.unit||t.unit)}plus(t){return t=new e(t),new e(this+t,this.unit||t.unit)}times(t){return t=new e(t),new e(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(this.unit===`%`?~~(1e8*this.value)/1e6:this.unit===`s`?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}},st=new Set([`fill`,`stroke`,`color`,`bgcolor`,`stop-color`,`flood-color`,`lighting-color`]),ct=[],lt=class e extends et{constructor(e,t){super(),this.node=e,this.type=e.nodeName,t&&e!==t&&this.attr(t)}add(e,t){return(e=ve(e)).removeNamespace&&this.node instanceof B.window.SVGElement&&e.removeNamespace(),t==null?this.node.appendChild(e.node):e.node!==this.node.childNodes[t]&&this.node.insertBefore(e.node,this.node.childNodes[t]),this}addTo(e,t){return ve(e).put(this,t)}children(){return new Ge(ne(this.node.children,(function(e){return ye(e)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(e=!0,t=!0){this.writeDataToDom();let n=this.node.cloneNode(e);return t&&(n=Ce(n)),new this.constructor(n)}each(e,t){let n=this.children(),r,i;for(r=0,i=n.length;r<i;r++)e.apply(n[r],[r,n]),t&&n[r].each(e,t);return this}element(t,n){return this.put(new e(_e(t),n))}first(){return ye(this.node.firstChild)}get(e){return ye(this.node.childNodes[e])}getEventHolder(){return this.node}getEventTarget(){return this.node}has(e){return this.index(e)>=0}html(e,t){return this.xml(e,t,`http://www.w3.org/1999/xhtml`)}id(e){return e!==void 0||this.node.id||(this.node.id=Se(this.type)),this.attr(`id`,e)}index(e){return[].slice.call(this.node.childNodes).indexOf(e.node)}last(){return ye(this.node.lastChild)}matches(e){let t=this.node,n=t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector||null;return n&&n.call(t,e)}parent(e){let t=this;if(!t.node.parentNode)return null;if(t=ye(t.node.parentNode),!e)return t;do if(typeof e==`string`?t.matches(e):t instanceof e)return t;while(t=ye(t.node.parentNode));return t}put(e,t){return e=ve(e),this.add(e,t),e}putIn(e,t){return ve(e).add(this,t)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(e){return this.node.removeChild(e.node),this}replace(e){return e=ve(e),this.node.parentNode&&this.node.parentNode.replaceChild(e.node,this.node),e}round(e=2,t=null){let n=10**e,r=this.attr(t);for(let e in r)typeof r[e]==`number`&&(r[e]=Math.round(r[e]*n)/n);return this.attr(r),this}svg(e,t){return this.xml(e,t,ue)}toString(){return this.id()}words(e){return this.node.textContent=e,this}wrap(e){let t=this.parent();if(!t)return this.addTo(e);let n=t.index(this);return t.put(e,n).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(e,t,n){if(typeof e==`boolean`&&(n=t,t=e,e=null),e==null||typeof e==`function`){t=t==null||t,this.writeDataToDom();let n=this;if(e!=null){if(n=ye(n.node.cloneNode(!0)),t){let t=e(n);if(n=t||n,!1===t)return``}n.each((function(){let t=e(this),n=t||this;!1===t?this.remove():t&&this!==n&&this.replace(n)}),!0)}return t?n.node.outerHTML:n.node.innerHTML}t=t!=null&&t;let r=_e(`wrapper`,n),i=B.document.createDocumentFragment();r.innerHTML=e;for(let e=r.children.length;e--;)i.appendChild(r.firstElementChild);let a=this.parent();return t?this.replace(i)&&a:this.add(i)}};U(lt,{attr:function(e,t,n){if(e==null){e={},t=this.node.attributes;for(let n of t)e[n.nodeName]=Ne.test(n.nodeValue)?parseFloat(n.nodeValue):n.nodeValue;return e}if(e instanceof Array)return e.reduce(((e,t)=>(e[t]=this.attr(t),e)),{});if(typeof e==`object`&&e.constructor===Object)for(t in e)this.attr(t,e[t]);else if(t===null)this.node.removeAttribute(e);else{if(t==null)return(t=this.node.getAttribute(e))==null?at[e]:Ne.test(t)?parseFloat(t):t;typeof(t=ct.reduce(((t,n)=>n(e,t,this)),t))==`number`?t=new J(t):st.has(e)&&Be.isColor(t)?t=new Be(t):t.constructor===Array&&(t=new ot(t)),e===`leading`?this.leading&&this.leading(t):typeof n==`string`?this.node.setAttributeNS(n,e,t.toString()):this.node.setAttribute(e,t.toString()),!this.rebuild||e!==`font-size`&&e!==`x`||this.rebuild()}return this},find:function(e){return qe(e,this.node)},findOne:function(e){return ye(this.node.querySelector(e))}}),H(lt,`Dom`);var ut=class extends lt{constructor(e,t){super(e,t),this.dom={},this.node.instance=this,(e.hasAttribute(`data-svgjs`)||e.hasAttribute(`svgjs:data`))&&this.setData(JSON.parse(e.getAttribute(`data-svgjs`))??JSON.parse(e.getAttribute(`svgjs:data`))??{})}center(e,t){return this.cx(e).cy(t)}cx(e){return e==null?this.x()+this.width()/2:this.x(e-this.width()/2)}cy(e){return e==null?this.y()+this.height()/2:this.y(e-this.height()/2)}defs(){let e=this.root();return e&&e.defs()}dmove(e,t){return this.dx(e).dy(t)}dx(e=0){return this.x(new J(e).plus(this.x()))}dy(e=0){return this.y(new J(e).plus(this.y()))}getEventHolder(){return this}height(e){return this.attr(`height`,e)}move(e,t){return this.x(e).y(t)}parents(e=this.root()){let t=typeof e==`string`;t||(e=ve(e));let n=new Ge,r=this;for(;(r=r.parent())&&r.node!==B.document&&r.nodeName!==`#document-fragment`&&(n.push(r),t||r.node!==e.node)&&(!t||!r.matches(e));)if(r.node===this.root().node)return null;return n}reference(e){if(!(e=this.attr(e)))return null;let t=(e+``).match(De);return t?ve(t[1]):null}root(){let e=this.parent(function(e){return he[e]}(ge));return e&&e.root()}setData(e){return this.dom=e,this}size(e,t){let n=ae(this,e,t);return this.width(new J(n.width)).height(new J(n.height))}width(e){return this.attr(`width`,e)}writeDataToDom(){return le(this,this.dom),super.writeDataToDom()}x(e){return this.attr(`x`,e)}y(e){return this.attr(`y`,e)}};U(ut,{bbox:function(){return new q(We(this,(e=>e.getBBox()),(e=>{try{let t=e.clone().addTo(He().svg).show(),n=t.node.getBBox();return t.remove(),n}catch(t){throw Error(`Getting bbox of element "${e.node.nodeName}" is not possible: ${t.toString()}`)}})))},rbox:function(e){let t=new q(We(this,(e=>e.getBoundingClientRect()),(e=>{throw Error(`Getting rbox of element "${e.node.nodeName}" is not possible`)})));return e?t.transform(e.screenCTM().inverseO()):t.addOffset()},inside:function(e,t){let n=this.bbox();return e>n.x&&t>n.y&&e<n.x+n.width&&t<n.y+n.height},point:function(e,t){return new G(e,t).transformO(this.screenCTM().inverseO())},ctm:function(){return new K(this.node.getCTM())},screenCTM:function(){try{if(typeof this.isRoot==`function`&&!this.isRoot()){let e=this.rect(1,1),t=e.node.getScreenCTM();return e.remove(),new K(t)}return new K(this.node.getScreenCTM())}catch{return console.warn(`Cannot get CTM from SVG node ${this.node.nodeName}. Is the element rendered?`),new K}}}),H(ut,`Element`);var dt={stroke:[`color`,`width`,`opacity`,`linecap`,`linejoin`,`miterlimit`,`dasharray`,`dashoffset`],fill:[`color`,`opacity`,`rule`],prefix:function(e,t){return t===`color`?e:e+`-`+t}};[`fill`,`stroke`].forEach((function(e){let t={},n;t[e]=function(t){if(t===void 0)return this.attr(e);if(typeof t==`string`||t instanceof Be||Be.isRgb(t)||t instanceof ut)this.attr(e,t);else for(n=dt[e].length-1;n>=0;n--)t[dt[e][n]]!=null&&this.attr(dt.prefix(e,dt[e][n]),t[dt[e][n]]);return this},R([`Element`,`Runner`],t)})),R([`Element`,`Runner`],{matrix:function(e,t,n,r,i,a){return e==null?new K(this):this.attr(`transform`,new K(e,t,n,r,i,a))},rotate:function(e,t,n){return this.transform({rotate:e,ox:t,oy:n},!0)},skew:function(e,t,n,r){return arguments.length===1||arguments.length===3?this.transform({skew:e,ox:t,oy:n},!0):this.transform({skew:[e,t],ox:n,oy:r},!0)},shear:function(e,t,n){return this.transform({shear:e,ox:t,oy:n},!0)},scale:function(e,t,n,r){return arguments.length===1||arguments.length===3?this.transform({scale:e,ox:t,oy:n},!0):this.transform({scale:[e,t],ox:n,oy:r},!0)},translate:function(e,t){return this.transform({translate:[e,t]},!0)},relative:function(e,t){return this.transform({relative:[e,t]},!0)},flip:function(e=`both`,t=`center`){return`xybothtrue`.indexOf(e)===-1&&(t=e,e=`both`),this.transform({flip:e,origin:t},!0)},opacity:function(e){return this.attr(`opacity`,e)}}),R(`radius`,{radius:function(e,t=e){return(this._element||this).type===`radialGradient`?this.attr(`r`,new J(e)):this.rx(e).ry(t)}}),R(`Path`,{length:function(){return this.node.getTotalLength()},pointAt:function(e){return new G(this.node.getPointAtLength(e))}}),R([`Element`,`Runner`],{font:function(e,t){if(typeof e==`object`){for(t in e)this.font(t,e[t]);return this}return e===`leading`?this.leading(t):e===`anchor`?this.attr(`text-anchor`,t):e===`size`||e===`family`||e===`weight`||e===`stretch`||e===`variant`||e===`style`?this.attr(`font-`+e,t):this.attr(e,t)}}),R(`Element`,[`click`,`dblclick`,`mousedown`,`mouseup`,`mouseover`,`mouseout`,`mousemove`,`mouseenter`,`mouseleave`,`touchstart`,`touchmove`,`touchleave`,`touchend`,`touchcancel`,`contextmenu`,`wheel`,`pointerdown`,`pointermove`,`pointerup`,`pointerleave`,`pointercancel`].reduce((function(e,t){return e[t]=function(e){return e===null?this.off(t):this.on(t,e),this},e}),{})),R(`Element`,{untransform:function(){return this.attr(`transform`,null)},matrixify:function(){return(this.attr(`transform`)||``).split(Oe).slice(0,-1).map((function(e){let t=e.trim().split(`(`);return[t[0],t[1].split(Fe).map((function(e){return parseFloat(e)}))]})).reverse().reduce((function(e,t){return t[0]===`matrix`?e.lmultiply(K.fromArray(t[1])):e[t[0]].apply(e,t[1])}),new K)},toParent:function(e,t){if(this===e)return this;if(ce(this.node))return this.addTo(e,t);let n=this.screenCTM(),r=e.screenCTM().inverse();return this.addTo(e,t).untransform().transform(r.multiply(n)),this},toRoot:function(e){return this.toParent(this.root(),e)},transform:function(e,t){if(e==null||typeof e==`string`){let t=new K(this).decompose();return e==null?t:t[e]}K.isMatrixLike(e)||(e={...e,origin:oe(e,this)});let n=new K(!0===t?this:t||!1).transform(e);return this.attr(`transform`,n)}});var ft=class e extends ut{flatten(){return this.each((function(){if(this instanceof e)return this.flatten().ungroup()})),this}ungroup(e=this.parent(),t=e.index(this)){return t=t===-1?e.children().length:t,this.each((function(n,r){return r[r.length-n-1].toParent(e,t)})),this.remove()}};H(ft,`Container`);var pt=class extends ft{constructor(e,t=e){super(V(`defs`,e),t)}flatten(){return this}ungroup(){return this}};H(pt,`Defs`);var mt=class extends ut{};function ht(e){return this.attr(`rx`,e)}function gt(e){return this.attr(`ry`,e)}function _t(e){return e==null?this.cx()-this.rx():this.cx(e+this.rx())}function vt(e){return e==null?this.cy()-this.ry():this.cy(e+this.ry())}function yt(e){return this.attr(`cx`,e)}function bt(e){return this.attr(`cy`,e)}function xt(e){return e==null?2*this.rx():this.rx(new J(e).divide(2))}function St(e){return e==null?2*this.ry():this.ry(new J(e).divide(2))}H(mt,`Shape`);var Ct=Object.freeze({__proto__:null,cx:yt,cy:bt,height:St,rx:ht,ry:gt,width:xt,x:_t,y:vt}),wt=class extends mt{constructor(e,t=e){super(V(`ellipse`,e),t)}size(e,t){let n=ae(this,e,t);return this.rx(new J(n.width).divide(2)).ry(new J(n.height).divide(2))}};U(wt,Ct),R(`Container`,{ellipse:W((function(e=0,t=e){return this.put(new wt).size(e,t).move(0,0)}))}),H(wt,`Ellipse`);var Tt=class extends lt{constructor(e=B.document.createDocumentFragment()){super(e)}xml(e,t,n){if(typeof e==`boolean`&&(n=t,t=e,e=null),e==null||typeof e==`function`){let e=new lt(_e(`wrapper`,n));return e.add(this.node.cloneNode(!0)),e.xml(!1,n)}return super.xml(e,!1,n)}};function Et(e,t){return(this._element||this).type===`radialGradient`?this.attr({fx:new J(e),fy:new J(t)}):this.attr({x1:new J(e),y1:new J(t)})}function Dt(e,t){return(this._element||this).type===`radialGradient`?this.attr({cx:new J(e),cy:new J(t)}):this.attr({x2:new J(e),y2:new J(t)})}H(Tt,`Fragment`);var Ot=Object.freeze({__proto__:null,from:Et,to:Dt}),kt=class extends ft{constructor(e,t){super(V(e+`Gradient`,typeof e==`string`?null:e),t)}attr(e,t,n){return e===`transform`&&(e=`gradientTransform`),super.attr(e,t,n)}bbox(){return new q}targets(){return qe(`svg [fill*=`+this.id()+`]`)}toString(){return this.url()}update(e){return this.clear(),typeof e==`function`&&e.call(this,this),this}url(){return`url(#`+this.id()+`)`}};U(kt,Ot),R({Container:{gradient(...e){return this.defs().gradient(...e)}},Defs:{gradient:W((function(e,t){return this.put(new kt(e)).update(t)}))}}),H(kt,`Gradient`);var At=class extends ft{constructor(e,t=e){super(V(`pattern`,e),t)}attr(e,t,n){return e===`transform`&&(e=`patternTransform`),super.attr(e,t,n)}bbox(){return new q}targets(){return qe(`svg [fill*=`+this.id()+`]`)}toString(){return this.url()}update(e){return this.clear(),typeof e==`function`&&e.call(this,this),this}url(){return`url(#`+this.id()+`)`}};R({Container:{pattern(...e){return this.defs().pattern(...e)}},Defs:{pattern:W((function(e,t,n){return this.put(new At).update(n).attr({x:0,y:0,width:e,height:t,patternUnits:`userSpaceOnUse`})}))}}),H(At,`Pattern`);var jt=class extends mt{constructor(e,t=e){super(V(`image`,e),t)}load(e,t){if(!e)return this;let n=new B.window.Image;return Qe(n,`load`,(function(e){let r=this.parent(At);this.width()===0&&this.height()===0&&this.size(n.width,n.height),r instanceof At&&r.width()===0&&r.height()===0&&r.size(this.width(),this.height()),typeof t==`function`&&t.call(this,e)}),this),Qe(n,`load error`,(function(){$e(n)})),this.attr(`href`,n.src=e,fe)}};ct.push(function(e,t,n){return e!==`fill`&&e!==`stroke`||Pe.test(t)&&(t=n.root().defs().image(t)),t instanceof jt&&(t=n.root().defs().pattern(0,0,(e=>{e.add(t)}))),t}),R({Container:{image:W((function(e,t){return this.put(new jt).size(0,0).load(e,t)}))}}),H(jt,`Image`);var Mt=class extends ot{bbox(){let e=-1/0,t=-1/0,n=1/0,r=1/0;return this.forEach((function(i){e=Math.max(i[0],e),t=Math.max(i[1],t),n=Math.min(i[0],n),r=Math.min(i[1],r)})),new q(n,r,e-n,t-r)}move(e,t){let n=this.bbox();if(e-=n.x,t-=n.y,!isNaN(e)&&!isNaN(t))for(let n=this.length-1;n>=0;n--)this[n]=[this[n][0]+e,this[n][1]+t];return this}parse(e=[0,0]){let t=[];(e=e instanceof Array?Array.prototype.concat.apply([],e):e.trim().split(Fe).map(parseFloat)).length%2!=0&&e.pop();for(let n=0,r=e.length;n<r;n+=2)t.push([e[n],e[n+1]]);return t}size(e,t){let n,r=this.bbox();for(n=this.length-1;n>=0;n--)r.width&&(this[n][0]=(this[n][0]-r.x)*e/r.width+r.x),r.height&&(this[n][1]=(this[n][1]-r.y)*t/r.height+r.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){let e=[];for(let t=0,n=this.length;t<n;t++)e.push(this[t].join(`,`));return e.join(` `)}transform(e){return this.clone().transformO(e)}transformO(e){K.isMatrixLike(e)||(e=new K(e));for(let t=this.length;t--;){let[n,r]=this[t];this[t][0]=e.a*n+e.c*r+e.e,this[t][1]=e.b*n+e.d*r+e.f}return this}},Nt=Object.freeze({__proto__:null,MorphArray:Mt,height:function(e){let t=this.bbox();return e==null?t.height:this.size(t.width,e)},width:function(e){let t=this.bbox();return e==null?t.width:this.size(e,t.height)},x:function(e){return e==null?this.bbox().x:this.move(e,this.bbox().y)},y:function(e){return e==null?this.bbox().y:this.move(this.bbox().x,e)}}),Pt=class extends mt{constructor(e,t=e){super(V(`line`,e),t)}array(){return new Mt([[this.attr(`x1`),this.attr(`y1`)],[this.attr(`x2`),this.attr(`y2`)]])}move(e,t){return this.attr(this.array().move(e,t).toLine())}plot(e,t,n,r){return e==null?this.array():(e=t===void 0?new Mt(e).toLine():{x1:e,y1:t,x2:n,y2:r},this.attr(e))}size(e,t){let n=ae(this,e,t);return this.attr(this.array().size(n.width,n.height).toLine())}};U(Pt,Nt),R({Container:{line:W((function(...e){return Pt.prototype.plot.apply(this.put(new Pt),e[0]==null?[0,0,0,0]:e)}))}}),H(Pt,`Line`);var Ft=class extends ft{constructor(e,t=e){super(V(`marker`,e),t)}height(e){return this.attr(`markerHeight`,e)}orient(e){return this.attr(`orient`,e)}ref(e,t){return this.attr(`refX`,e).attr(`refY`,t)}toString(){return`url(#`+this.id()+`)`}update(e){return this.clear(),typeof e==`function`&&e.call(this,this),this}width(e){return this.attr(`markerWidth`,e)}};function It(e,t){return function(n){return n==null?this[e]:(this[e]=n,t&&t.call(this),this)}}R({Container:{marker(...e){return this.defs().marker(...e)}},Defs:{marker:W((function(e,t,n){return this.put(new Ft).size(e,t).ref(e/2,t/2).viewbox(0,0,e,t).attr(`orient`,`auto`).update(n)}))},marker:{marker(e,t,n,r){let i=[`marker`];return e!==`all`&&i.push(e),i=i.join(`-`),e=arguments[1]instanceof Ft?arguments[1]:this.defs().marker(t,n,r),this.attr(i,e)}}}),H(Ft,`Marker`);var Lt={"-":function(e){return e},"<>":function(e){return-Math.cos(e*Math.PI)/2+.5},">":function(e){return Math.sin(e*Math.PI/2)},"<":function(e){return 1-Math.cos(e*Math.PI/2)},bezier:function(e,t,n,r){return function(i){return i<0?e>0?t/e*i:n>0?r/n*i:0:i>1?n<1?(1-r)/(1-n)*i+(r-n)/(1-n):e<1?(1-t)/(1-e)*i+(t-e)/(1-e):1:3*i*(1-i)**2*t+3*i**2*(1-i)*r+i**3}},steps:function(e,t=`end`){t=t.split(`-`).reverse()[0];let n=e;return t===`none`?--n:t===`both`&&++n,(r,i=!1)=>{let a=Math.floor(r*e),o=r*a%1==0;return t!==`start`&&t!==`both`||++a,i&&o&&--a,r>=0&&a<0&&(a=0),r<=1&&a>n&&(a=n),a/n}}},Rt=class{done(){return!1}},zt=class extends Rt{constructor(e=rt){super(),this.ease=Lt[e]||e}step(e,t,n){return typeof e==`number`?e+(t-e)*this.ease(n):n<1?e:t}},Bt=class extends Rt{constructor(e){super(),this.stepper=e}done(e){return e.done}step(e,t,n,r){return this.stepper(e,t,n,r)}};function Vt(){let e=(this._duration||500)/1e3,t=this._overshoot||0,n=Math.PI,r=Math.log(t/100+1e-10),i=-r/Math.sqrt(n*n+r*r),a=3.9/(i*e);this.d=2*i*a,this.k=a*a}U(class extends Bt{constructor(e=500,t=0){super(),this.duration(e).overshoot(t)}step(e,t,n,r){if(typeof e==`string`)return e;if(r.done=n===1/0,n===1/0)return t;if(n===0)return e;n>100&&(n=16),n/=1e3;let i=r.velocity||0,a=-this.d*i-this.k*(e-t),o=e+i*n+a*n*n/2;return r.velocity=i+a*n,r.done=Math.abs(t-o)+Math.abs(i)<.002,r.done?t:o}},{duration:It(`_duration`,Vt),overshoot:It(`_overshoot`,Vt)}),U(class extends Bt{constructor(e=.1,t=.01,n=0,r=1e3){super(),this.p(e).i(t).d(n).windup(r)}step(e,t,n,r){if(typeof e==`string`)return e;if(r.done=n===1/0,n===1/0)return t;if(n===0)return e;let i=t-e,a=(r.integral||0)+i*n,o=(i-(r.error||0))/n,s=this._windup;return!1!==s&&(a=Math.max(-s,Math.min(a,s))),r.error=i,r.integral=a,r.done=Math.abs(i)<.001,r.done?t:e+(this.P*i+this.I*a+this.D*o)}},{windup:It(`_windup`),p:It(`P`),i:It(`I`),d:It(`D`)});var Ht={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Ut={M:function(e,t,n){return t.x=n.x=e[0],t.y=n.y=e[1],[`M`,t.x,t.y]},L:function(e,t){return t.x=e[0],t.y=e[1],[`L`,e[0],e[1]]},H:function(e,t){return t.x=e[0],[`H`,e[0]]},V:function(e,t){return t.y=e[0],[`V`,e[0]]},C:function(e,t){return t.x=e[4],t.y=e[5],[`C`,e[0],e[1],e[2],e[3],e[4],e[5]]},S:function(e,t){return t.x=e[2],t.y=e[3],[`S`,e[0],e[1],e[2],e[3]]},Q:function(e,t){return t.x=e[2],t.y=e[3],[`Q`,e[0],e[1],e[2],e[3]]},T:function(e,t){return t.x=e[0],t.y=e[1],[`T`,e[0],e[1]]},Z:function(e,t,n){return t.x=n.x,t.y=n.y,[`Z`]},A:function(e,t){return t.x=e[5],t.y=e[6],[`A`,e[0],e[1],e[2],e[3],e[4],e[5],e[6]]}},Wt=`mlhvqtcsaz`.split(``);for(let e=0,t=Wt.length;e<t;++e)Ut[Wt[e]]=function(e){return function(t,n,r){if(e===`H`)t[0]+=n.x;else if(e===`V`)t[0]+=n.y;else if(e===`A`)t[5]+=n.x,t[6]+=n.y;else for(let e=0,r=t.length;e<r;++e)t[e]=t[e]+(e%2?n.y:n.x);return Ut[e](t,n,r)}}(Wt[e].toUpperCase());function Gt(e){return e.segment.length&&e.segment.length-1===Ht[e.segment[0].toUpperCase()]}function Kt(e,t){e.inNumber&&qt(e,!1);let n=Ie.test(t);if(n)e.segment=[t];else{let t=e.lastCommand,n=t.toLowerCase();e.segment=[n===`m`?t===n?`l`:`L`:t]}return e.inSegment=!0,e.lastCommand=e.segment[0],n}function qt(e,t){if(!e.inNumber)throw Error(`Parser Error`);e.number&&e.segment.push(parseFloat(e.number)),e.inNumber=t,e.number=``,e.pointSeen=!1,e.hasExponent=!1,Gt(e)&&Jt(e)}function Jt(e){e.inSegment=!1,e.absolute&&(e.segment=function(e){return Ut[e.segment[0]](e.segment.slice(1),e.p,e.p0)}(e)),e.segments.push(e.segment)}function Yt(e){if(!e.segment.length)return!1;let t=e.segment[0].toUpperCase()===`A`,n=e.segment.length;return t&&(n===4||n===5)}function Xt(e){return e.lastToken.toUpperCase()===`E`}var Zt=new Set([` `,`,`,` `,`
@@ -907,4 +907,4 @@ rect.legend-mouseover-inactive,
907
907
  .apexcharts-disable-transitions * {
908
908
  transition: none !important;
909
909
  }`;var c=e.opts.chart?.nonce||e.w.config.chart.nonce;c&&s.setAttribute(`nonce`,c),a?i.prepend(s):o.head.appendChild(s)}var l=e.create(e.w.config.series,{});if(!l)return t(e);e.mount(l).then((function(){typeof e.w.config.chart.events.mounted==`function`&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent(`mounted`,[e,e.w]),t(l)})).catch((function(e){n(e)}))}else n(Error(`Element not found`))}))}},{key:`create`,value:function(e,t){var n=this,r=this.w;new Ci(this).initModules();var i=this.w.globals;if(i.noData=!1,i.animationEnded=!1,!F.elementExists(this.el)||((this.responsive.checkResponsiveConfig(t),r.config.xaxis.convertedCatToNumeric)&&new tr(r.config).convertCatToNumericXaxis(r.config,this.ctx),this.core.setupElements(),r.config.chart.type===`treemap`&&(r.config.grid.show=!1,r.config.yaxis[0].show=!1),i.svgWidth===0))return i.animationEnded=!0,null;var a=e;e.forEach((function(e,t){e.hidden&&(a=n.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:t}))}));var o=Q.checkComboSeries(a,r.config.chart.type);i.comboCharts=o.comboCharts,i.comboBarCount=o.comboBarCount;var s=a.every((function(e){return e.data&&e.data.length===0}));(a.length===0||s&&i.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(a),this.theme.init(),new or(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),i.noData&&i.collapsedSeries.length!==i.series.length&&!r.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),i.axisCharts&&(this.core.coreCalculations(),r.config.xaxis.type!==`category`&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=r.globals.minX,this.ctx.toolbar.maxX=r.globals.maxX),this.formatters.heatmapLabelFormatters(),new Q(this).getLargestMarkerSize(),this.dimensions.plotCoords();var c=this.core.xySettings();this.grid.createGridMask();var l=this.core.plotChartType(a,c),u=new cr(this);return u.bringForward(),r.config.dataLabels.background.enabled&&u.dataLabelsBackground(),this.core.shiftGraphPosition(),r.globals.dataPoints>50&&r.globals.dom.elWrap.classList.add(`apexcharts-disable-transitions`),{elGraph:l,xyRatios:c,dimensions:{plot:{left:r.globals.translateX,top:r.globals.translateY,width:r.globals.gridWidth,height:r.globals.gridHeight}}}}},{key:`mount`,value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,n=this,r=n.w;return new Promise((function(i,a){if(n.el===null)return a(Error(`Not enough data to display or target element not found`));(t===null||r.globals.allSeriesCollapsed)&&n.series.handleNoData(),n.grid=new pr(n);var o,s,c=n.grid.drawGrid();if((n.annotations=new Qn(n),n.annotations.drawImageAnnos(),n.annotations.drawTextAnnos(),r.config.grid.position===`back`)&&(c&&r.globals.dom.elGraphical.add(c.el),c!=null&&(o=c.elGridBorders)!=null&&o.node&&r.globals.dom.elGraphical.add(c.elGridBorders)),Array.isArray(t.elGraph))for(var l=0;l<t.elGraph.length;l++)r.globals.dom.elGraphical.add(t.elGraph[l]);else r.globals.dom.elGraphical.add(t.elGraph);r.config.grid.position===`front`&&(c&&r.globals.dom.elGraphical.add(c.el),c!=null&&(s=c.elGridBorders)!=null&&s.node&&r.globals.dom.elGraphical.add(c.elGridBorders)),r.config.xaxis.crosshairs.position===`front`&&n.crosshairs.drawXCrosshairs(),r.config.yaxis[0].crosshairs.position===`front`&&n.crosshairs.drawYCrosshairs(),r.config.chart.type!==`treemap`&&n.axes.drawAxis(r.config.chart.type,c);var u=new fr(e.ctx,c),d=new gr(e.ctx,c);if(c!==null&&(u.xAxisLabelCorrections(c.xAxisTickWidth),d.setYAxisTextAlignments(),r.config.yaxis.map((function(e,t){r.globals.ignoreYAxisIndexes.indexOf(t)===-1&&d.yAxisTitleRotate(t,e.opposite)}))),n.annotations.drawAxesAnnotations(),!r.globals.noData){if(r.config.tooltip.enabled&&!r.globals.noData&&n.w.globals.tooltip.drawTooltip(t.xyRatios),r.globals.axisCharts&&(r.globals.isXNumeric||r.config.xaxis.convertedCatToNumeric||r.globals.isRangeBar))(r.config.chart.zoom.enabled||r.config.chart.selection&&r.config.chart.selection.enabled||r.config.chart.pan&&r.config.chart.pan.enabled)&&n.zoomPanSelection.init({xyRatios:t.xyRatios});else{var f=r.config.chart.toolbar.tools;[`zoom`,`zoomin`,`zoomout`,`selection`,`pan`,`reset`].forEach((function(e){f[e]=!1}))}r.config.chart.toolbar.show&&!r.globals.allSeriesCollapsed&&n.toolbar.createToolbar()}r.globals.memory.methodsToExec.length>0&&r.globals.memory.methodsToExec.forEach((function(e){e.method(e.params,!1,e.context)})),r.globals.axisCharts||r.globals.noData||n.core.resizeNonAxisCharts(),i(n)}))}},{key:`destroy`,value:function(){window.removeEventListener(`resize`,this.windowResizeHandler),function(e,t){var n=Ti.get(t);n&&(n.disconnect(),Ti.delete(t))}(this.el.parentNode,this.parentResizeHandler);var e=this.w.config.chart.id;e&&Apex._chartInstances.forEach((function(t,n){t.id===F.escapeString(e)&&Apex._chartInstances.splice(n,1)})),new wi(this.ctx).clear({isUpdating:!1})}},{key:`updateOptions`,value:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0&&arguments[1],r=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],i=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],a=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],o=this.w;return o.globals.selection=void 0,this.lastUpdateOptions&&JSON.stringify(this.lastUpdateOptions)===JSON.stringify(e)?this:(this.lastUpdateOptions=F.clone(e),e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map((function(e,n){return t.updateHelpers._extendSeries(e,n)}))),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,n,r,i,a))}},{key:`updateSeries`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,n)}},{key:`appendSeries`,value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],r=this.w.config.series.slice();return r.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(r,t,n)}},{key:`appendData`,value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=this;n.w.globals.dataChanged=!0,n.series.getPreviousPaths();for(var r=n.w.config.series.slice(),i=0;i<r.length;i++)if(e[i]!==null&&e[i]!==void 0)for(var a=0;a<e[i].data.length;a++)r[i].data.push(e[i].data[a]);return n.w.config.series=r,t&&(n.w.globals.initialSeries=F.clone(n.w.config.series)),this.update()}},{key:`update`,value:function(e){var t=this;return new Promise((function(n,r){if(t.lastUpdateOptions&&JSON.stringify(t.lastUpdateOptions)===JSON.stringify(e))return n(t);t.lastUpdateOptions=F.clone(e),new wi(t.ctx).clear({isUpdating:!0});var i=t.create(t.w.config.series,e);if(!i)return n(t);t.mount(i).then((function(){typeof t.w.config.chart.events.updated==`function`&&t.w.config.chart.events.updated(t,t.w),t.events.fireEvent(`updated`,[t,t.w]),t.w.globals.isDirty=!0,n(t)})).catch((function(e){r(e)}))}))}},{key:`getSyncedCharts`,value:function(){var e=this.getGroupedCharts(),t=[this];return e.length&&(t=[],e.forEach((function(e){t.push(e)}))),t}},{key:`getGroupedCharts`,value:function(){var e=this;return Apex._chartInstances.filter((function(e){if(e.group)return!0})).map((function(t){return e.w.config.chart.group===t.group?t.chart:e}))}},{key:`toggleSeries`,value:function(e){return this.series.toggleSeries(e)}},{key:`highlightSeriesOnLegendHover`,value:function(e,t){return this.series.toggleSeriesOnHover(e,t)}},{key:`showSeries`,value:function(e){this.series.showSeries(e)}},{key:`hideSeries`,value:function(e){this.series.hideSeries(e)}},{key:`highlightSeries`,value:function(e){this.series.highlightSeries(e)}},{key:`isSeriesHidden`,value:function(e){this.series.isSeriesHidden(e)}},{key:`resetSeries`,value:function(){var e=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:`addEventListener`,value:function(e,t){this.events.addEventListener(e,t)}},{key:`removeEventListener`,value:function(e,t){this.events.removeEventListener(e,t)}},{key:`addXaxisAnnotation`,value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,r=this;n&&(r=n),r.annotations.addXaxisAnnotationExternal(e,t,r)}},{key:`addYaxisAnnotation`,value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,r=this;n&&(r=n),r.annotations.addYaxisAnnotationExternal(e,t,r)}},{key:`addPointAnnotation`,value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,r=this;n&&(r=n),r.annotations.addPointAnnotationExternal(e,t,r)}},{key:`clearAnnotations`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:`removeAnnotation`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,n=this;t&&(n=t),n.annotations.removeAnnotation(n,e)}},{key:`getChartArea`,value:function(){return this.w.globals.dom.baseEl.querySelector(`.apexcharts-inner`)}},{key:`getSeriesTotalXRange`,value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:`getHighestValueInSeries`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new hr(this.ctx).getMinYMaxY(e).highestY}},{key:`getLowestValueInSeries`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new hr(this.ctx).getMinYMaxY(e).lowestY}},{key:`getSeriesTotal`,value:function(){return this.w.globals.seriesTotals}},{key:`toggleDataPointSelection`,value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:`zoomX`,value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:`setLocale`,value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:`dataURI`,value:function(e){return new dr(this.ctx).dataURI(e)}},{key:`getSvgString`,value:function(e){return new dr(this.ctx).getSvgString(e)}},{key:`exportToCSV`,value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new dr(this.ctx).exportToCSV(e)}},{key:`paper`,value:function(){return this.w.globals.dom.Paper}},{key:`_parentResizeCallback`,value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:`_windowResize`,value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()}),150)}},{key:`_windowResizeHandler`,value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e==`function`&&(e=e()),e&&this._windowResize()}}],[{key:`getChartByID`,value:function(e){var t=F.escapeString(e);if(Apex._chartInstances){var n=Apex._chartInstances.filter((function(e){return e.id===t}))[0];return n&&n.chart}}},{key:`initOnLoad`,value:function(){for(var t=document.querySelectorAll(`[data-apexcharts]`),n=0;n<t.length;n++)new e(t[n],JSON.parse(t[n].getAttribute(`data-options`))).render()}},{key:`exec`,value:function(e,t){var n=this.getChartByID(e);if(n){n.w.globals.isExecCalled=!0;var r=null;if(n.publicMethods.indexOf(t)!==-1){var i=[...arguments].slice(2);r=n[t].apply(n,i)}return r}}},{key:`merge`,value:function(e,t){return F.extend(e,t)}}]),e}(),$=o(),Di=[{id:`1h`,label:`1h`,ms:36e5},{id:`6h`,label:`6h`,ms:216e5},{id:`24h`,label:`24h`,ms:864e5},{id:`7d`,label:`7d`,ms:6048e5},{id:`14d`,label:`14d`,ms:12096e5},{id:`30d`,label:`30d`,ms:2592e6}];function Oi(e){return Di.find(t=>t.id===e)?.ms??864e5}var ki=[`Chat`,`Replies`,`Channel`,`Pair`,`Work items`],Ai={Chat:`#3b82f6`,Replies:`#06b6d4`,Channel:`#8b5cf6`,Pair:`#f59e0b`,"Work items":`#10b981`},ji=[`tool`,`reasoning`,`narration`,`response`],Mi={tool:`Tool calls`,reasoning:`Reasoning`,narration:`Narration`,response:`Responses`},Ni={tool:`#3b82f6`,reasoning:`#a855f7`,narration:`#f59e0b`,response:`#10b981`},Pi={claude:`#f97316`,codex:`#22c55e`},Fi=[`#3b82f6`,`#a855f7`,`#06b6d4`,`#ec4899`];function Ii(e,t){return Pi[e]??Fi[t%Fi.length]}function Li(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ri(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function zi(e){if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;if(t<10)return`${t.toFixed(1)}s`;if(t<60)return`${Math.round(t)}s`;let n=Math.floor(t/60),r=Math.round(t%60);return r?`${n}m ${r}s`:`${n}m`}function Bi(e,t){let n=Oi(t)<=864e5;return e.map(e=>{let t=new Date(e.start);return n?t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})})}function Vi({label:e,value:t,sub:n,icon:r,className:i}){return(0,$.jsx)(p,{children:(0,$.jsx)(d,{className:`pt-4`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`p-2 rounded-lg ${i}`,children:(0,$.jsx)(r,{className:`w-4 h-4`})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-2xl font-semibold tabular-nums leading-tight`,children:t}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground truncate`,children:e}),n&&(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground/70 truncate`,children:n})]})]})})})}function Hi({label:e,value:t,accent:n}){return(0,$.jsxs)(`div`,{className:`rounded-lg border border-border/60 bg-muted/30 p-3`,children:[(0,$.jsx)(`p`,{className:`text-xl font-semibold tabular-nums ${n??``}`,children:t}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground mt-0.5`,children:e})]})}function Ui(){let e=c(e=>e.analyticsPeriod),t=c(e=>e.setAnalyticsPeriod);return(0,$.jsx)(`div`,{className:`flex items-center gap-1 bg-muted rounded-lg p-1`,children:Di.map(n=>(0,$.jsx)(`button`,{onClick:()=>t(n.id),className:`px-3 py-1 rounded-md text-xs font-medium transition-colors ${e===n.id?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`}`,children:n.label},n.id))})}function Wi({height:e,children:t}){return(0,$.jsx)(`div`,{className:`flex items-center justify-center text-muted-foreground text-sm`,style:{height:e},children:t})}function Gi(e,t,n,r){let i=(0,m.useRef)(null);(0,m.useEffect)(()=>{let n=document.getElementById(e);if(!n)return;if(!r){i.current?.destroy(),i.current=null;return}let a=t();if(i.current)i.current.updateOptions(a,!1,!1);else{a.chart={...a.chart,animations:{enabled:!0,dynamicAnimation:{enabled:!0,speed:300}}};let e=new Ei(n,a);e.render(),i.current=e}},n),(0,m.useEffect)(()=>()=>{i.current?.destroy(),i.current=null},[])}function Ki(){let e=c(e=>e.analyticsData),r=c(e=>e.analyticsPeriod),o=c(e=>e.theme),h=l.find(e=>e.id===o)?.dark??!0,g=h?{text:`rgba(255,255,255,0.45)`,grid:`rgba(255,255,255,0.06)`,legend:`rgba(255,255,255,0.65)`}:{text:`rgba(0,0,0,0.45)`,grid:`rgba(0,0,0,0.08)`,legend:`rgba(0,0,0,0.65)`},_={chart:{background:`transparent`,toolbar:{show:!1},fontFamily:`inherit`},theme:{mode:h?`dark`:`light`},grid:{borderColor:g.grid,strokeDashArray:3},tooltip:{theme:h?`dark`:`light`},dataLabels:{enabled:!1}},[v,y]=(0,m.useState)({}),b=c(e=>e.connected);(0,m.useEffect)(()=>{if(!b)return;let e=!1,t=Date.now()-Oi(r);return Promise.all([`claude`,`codex`].map(e=>i(`GET`,`/provider-quotas/history?provider=${e}&sinceMs=${t}&limit=5000`).then(t=>({provider:e,snapshots:t})).catch(()=>({provider:e,snapshots:[]})))).then(t=>{if(e)return;let n={};for(let e of t)n[e.provider]=e.snapshots;y(n)}),()=>{e=!0}},[r,b]);let x=(0,m.useMemo)(()=>{let e=[],t=Object.keys(v).sort();for(let n=0;n<t.length;n++){let r=t[n],i=v[r],a=[];for(let e of i){if(!e.quota)continue;let t=e.quota.windows.find(e=>e.name===`five_hour`||e.name===`primary`);t&&a.push([e.capturedAt,Math.round(t.utilization*100)])}a.length>0&&e.push({name:`${Li(r)} 5h`,data:a,color:Ii(r,n)})}return e},[v]),S=(0,m.useMemo)(()=>Bi(e?.work.buckets??[],r),[e,r]),C=(0,m.useMemo)(()=>ji.flatMap(t=>{let n=(e?.work.buckets??[]).map(e=>e.counts[t]??0);return n.some(e=>e>0)?[{name:Mi[t],data:n,color:Ni[t]}]:[]}),[e]),w=(0,m.useMemo)(()=>ki.flatMap(t=>{let n=(e?.conversation.buckets??[]).map(e=>e.counts[t]??0);return n.some(e=>e>0)?[{name:t,data:n,color:Ai[t]}]:[]}),[e]),T=(0,m.useMemo)(()=>{let t=e?.work.totals,n=t?ji.filter(e=>(t[e]??0)>0):[];return{labels:n.map(e=>Mi[e]),values:n.map(e=>t[e]),colors:n.map(e=>Ni[e])}},[e]),E=(0,m.useMemo)(()=>[{name:`Prompts`,data:(e?.user.buckets??[]).map(e=>e.prompts),color:`#06b6d4`}],[e]),D=(0,m.useMemo)(()=>[{name:`Spawns`,data:(e?.fleet.buckets??[]).map(e=>e.registrations),color:`#8b5cf6`}],[e]),O=(0,m.useMemo)(()=>{let t=e?.heatmap??Array.from({length:7},()=>Array(24).fill(0));return[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`].map((e,n)=>({name:e,data:(t[n]??Array(24).fill(0)).map((e,t)=>({x:String(t).padStart(2,`0`),y:e}))}))},[e]),k={categories:S,labels:{style:{colors:g.text,fontSize:`11px`},rotate:-30,hideOverlappingLabels:!0},axisBorder:{show:!1},axisTicks:{show:!1}},A={labels:{style:{colors:g.text,fontSize:`11px`}}};Gi(`an-work`,()=>({..._,chart:{..._.chart,type:`area`,height:260,stacked:!0},series:C,colors:C.map(e=>e.color),xaxis:k,yaxis:A,fill:{type:`gradient`,gradient:{shadeIntensity:.8,opacityFrom:.65,opacityTo:.15,stops:[0,100]}},stroke:{curve:`smooth`,width:2},legend:{position:`top`,horizontalAlign:`left`,labels:{colors:g.legend},fontSize:`11px`}}),[C,S,h],C.length>0),Gi(`an-conversation`,()=>({..._,chart:{..._.chart,type:`area`,height:220,stacked:!0},series:w,colors:w.map(e=>e.color),xaxis:k,yaxis:A,fill:{type:`gradient`,gradient:{shadeIntensity:.8,opacityFrom:.6,opacityTo:.12,stops:[0,100]}},stroke:{curve:`smooth`,width:2},legend:{position:`top`,horizontalAlign:`left`,labels:{colors:g.legend},fontSize:`11px`}}),[w,S,h],w.length>0),Gi(`an-toptools`,()=>({..._,chart:{..._.chart,type:`bar`,height:260},series:[{name:`Calls`,data:(e?.work.topTools??[]).map(e=>e.count)}],colors:[`#3b82f6`],plotOptions:{bar:{horizontal:!0,borderRadius:3,barHeight:`70%`,distributed:!1}},xaxis:{categories:(e?.work.topTools??[]).map(e=>e.name),labels:{style:{colors:g.text,fontSize:`11px`}},axisBorder:{show:!1},axisTicks:{show:!1}},yaxis:{labels:{style:{colors:g.text,fontSize:`11px`},maxWidth:220}},dataLabels:{enabled:!0,style:{fontSize:`10px`,colors:[h?`#fff`:`#000`]},offsetX:24,formatter:e=>Ri(e)},tooltip:{..._.tooltip,y:{formatter:e=>`${e} calls`}}}),[e?.work.topTools,h],(e?.work.topTools.length??0)>0),Gi(`an-composition`,()=>({..._,chart:{..._.chart,type:`donut`,height:260},series:T.values,labels:T.labels,colors:T.colors,legend:{position:`bottom`,labels:{colors:g.legend},fontSize:`11px`},plotOptions:{pie:{donut:{size:`62%`}}},stroke:{width:0}}),[T,h],T.values.length>0),Gi(`an-prompts`,()=>({..._,chart:{..._.chart,type:`area`,height:120,sparkline:{enabled:!0}},series:E,colors:[`#06b6d4`],fill:{type:`gradient`,gradient:{opacityFrom:.45,opacityTo:.05}},stroke:{curve:`smooth`,width:2},tooltip:{..._.tooltip,x:{show:!1}}}),[E,h],(e?.user.prompts??0)>0),Gi(`an-spawns`,()=>({..._,chart:{..._.chart,type:`bar`,height:200},series:D,colors:[`#8b5cf6`],plotOptions:{bar:{borderRadius:3,columnWidth:`60%`}},xaxis:k,yaxis:{...A,labels:{...A.labels,formatter:e=>String(Math.round(e))}}}),[D,S,h],(e?.fleet.registrations??0)>0),Gi(`an-heatmap`,()=>({..._,chart:{..._.chart,type:`heatmap`,height:240},series:O,colors:[`#3b82f6`],xaxis:{labels:{style:{colors:g.text,fontSize:`10px`}},axisBorder:{show:!1},axisTicks:{show:!1}},yaxis:A,plotOptions:{heatmap:{radius:3,enableShades:!0,shadeIntensity:.6,colorScale:{ranges:[{from:0,to:0,color:h?`rgba(255,255,255,0.04)`:`rgba(0,0,0,0.04)`,name:`idle`}]}}}}),[O,h],(e?.conversation.total??0)+(e?.work.toolCalls??0)>0),Gi(`an-quota`,()=>({..._,chart:{..._.chart,type:`line`,height:240},series:x.map(e=>({name:e.name,data:e.data})),colors:x.map(e=>e.color),xaxis:{type:`datetime`,labels:{style:{colors:g.text,fontSize:`11px`},datetimeUTC:!1},axisBorder:{show:!1},axisTicks:{show:!1}},yaxis:{min:0,max:100,labels:{style:{colors:g.text,fontSize:`11px`},formatter:e=>`${Math.round(e)}%`}},stroke:{curve:`stepline`,width:2},legend:{position:`top`,horizontalAlign:`left`,labels:{colors:g.legend},fontSize:`11px`},tooltip:{..._.tooltip,x:{format:`MMM dd, HH:mm`},y:{formatter:e=>`${e}%`}},annotations:{yaxis:[{y:93,borderColor:g.grid,strokeDashArray:4,label:{text:`target (93%)`,style:{color:g.text,fontSize:`9px`,background:`transparent`},position:`left`}}]}}),[x,h],x.length>0);let M=e?.user,N=e?.fleet,P=N?.leaderboard??[],F=Math.max(1,...P.map(e=>e.toolCalls+e.messages));return(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4 flex-wrap`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold`,children:`Analytics`}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Fleet activity over the selected window — not point-in-time status`})]}),(0,$.jsx)(Ui,{})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 md:grid-cols-4 gap-4`,children:[(0,$.jsx)(Vi,{label:`Active agents`,sub:`sent activity this period`,value:N?.activeAgents??0,icon:n,className:`bg-emerald-500/10 text-emerald-400`}),(0,$.jsx)(Vi,{label:`Provider turns`,value:Ri(e?.work.turns??0),icon:t,className:`bg-blue-500/10 text-blue-400`}),(0,$.jsx)(Vi,{label:`Tool calls`,value:Ri(e?.work.toolCalls??0),icon:a,className:`bg-violet-500/10 text-violet-400`}),(0,$.jsx)(Vi,{label:`Human prompts`,sub:M&&M.prompts>0?`${Math.round(M.replyRate*100)}% replied`:void 0,value:Ri(M?.prompts??0),icon:s,className:`bg-cyan-500/10 text-cyan-400`})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Agent work over time`})}),(0,$.jsx)(d,{children:C.length===0?(0,$.jsx)(Wi,{height:260,children:`No agent activity in this period`}):(0,$.jsx)(`div`,{id:`an-work`})})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Quota utilization`})}),(0,$.jsx)(d,{children:x.length===0?(0,$.jsx)(Wi,{height:240,children:`No quota history in this period`}):(0,$.jsx)(`div`,{id:`an-quota`})})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 xl:grid-cols-2 gap-6`,children:[(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Top tools`})}),(0,$.jsx)(d,{children:(e?.work.topTools.length??0)===0?(0,$.jsx)(Wi,{height:260,children:`No tool calls in this period`}):(0,$.jsx)(`div`,{id:`an-toptools`})})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Turn composition`})}),(0,$.jsx)(d,{children:T.values.length===0?(0,$.jsx)(Wi,{height:260,children:`No agent activity in this period`}):(0,$.jsx)(`div`,{id:`an-composition`})})]})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 xl:grid-cols-2 gap-6`,children:[(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Conversation volume`})}),(0,$.jsx)(d,{children:w.length===0?(0,$.jsx)(Wi,{height:220,children:`No messages in this period`}):(0,$.jsx)(`div`,{id:`an-conversation`})})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`User interaction`})}),(0,$.jsxs)(d,{children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[(0,$.jsx)(Hi,{label:`Prompts`,value:Ri(M?.prompts??0),accent:`text-cyan-400`}),(0,$.jsx)(Hi,{label:`Reply rate`,value:M&&M.prompts>0?`${Math.round(M.replyRate*100)}%`:`—`}),(0,$.jsx)(Hi,{label:`Median reply`,value:M?.latencyMs?zi(M.latencyMs.median):`—`,accent:`text-emerald-400`}),(0,$.jsx)(Hi,{label:`Avg reply`,value:M?.latencyMs?zi(M.latencyMs.avg):`—`}),(0,$.jsx)(Hi,{label:`p90 reply`,value:M?.latencyMs?zi(M.latencyMs.p90):`—`}),(0,$.jsx)(Hi,{label:`Replied`,value:Ri(M?.replied??0)})]}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground mt-3 mb-1`,children:`Prompts over time`}),(M?.prompts??0)===0?(0,$.jsx)(Wi,{height:120,children:`No prompts in this period`}):(0,$.jsx)(`div`,{id:`an-prompts`})]})]})]}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 xl:grid-cols-2 gap-6`,children:[(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Fleet activity`})}),(0,$.jsxs)(d,{children:[(0,$.jsxs)(`div`,{className:`flex gap-6 mb-3 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`text-xl font-semibold tabular-nums`,children:N?.registrations??0}),` `,(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`spawns`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`text-xl font-semibold tabular-nums text-violet-400`,children:N?.spawnedByAgent??0}),` `,(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`by agents`})]})]}),(N?.registrations??0)===0?(0,$.jsx)(Wi,{height:200,children:`No agents started in this period`}):(0,$.jsx)(`div`,{id:`an-spawns`})]})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Busiest hours`})}),(0,$.jsx)(d,{children:(e?.conversation.total??0)+(e?.work.toolCalls??0)===0?(0,$.jsx)(Wi,{height:240,children:`No data for heatmap`}):(0,$.jsx)(`div`,{id:`an-heatmap`})})]})]}),(0,$.jsxs)(p,{children:[(0,$.jsx)(u,{children:(0,$.jsx)(f,{className:`text-sm`,children:`Most active agents`})}),(0,$.jsx)(d,{children:P.length===0?(0,$.jsx)(Wi,{height:120,children:`No agent activity in this period`}):(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto_auto_auto] gap-4 px-2 text-[11px] text-muted-foreground uppercase tracking-wide`,children:[(0,$.jsx)(`span`,{children:`Agent`}),(0,$.jsx)(`span`,{className:`text-right w-16`,children:`Turns`}),(0,$.jsx)(`span`,{className:`text-right w-16`,children:`Tools`}),(0,$.jsx)(`span`,{className:`text-right w-16`,children:`Msgs`})]}),P.map(e=>(0,$.jsxs)(`div`,{className:`relative grid grid-cols-[1fr_auto_auto_auto] gap-4 px-2 py-1.5 rounded-md overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`absolute inset-y-0 left-0 bg-blue-500/10`,style:{width:`${(e.toolCalls+e.messages)/F*100}%`}}),(0,$.jsx)(`span`,{className:`relative truncate text-sm font-medium`,children:e.label||e.id}),(0,$.jsx)(`span`,{className:`relative text-right w-16 tabular-nums text-sm`,children:Ri(e.turns)}),(0,$.jsx)(`span`,{className:`relative text-right w-16 tabular-nums text-sm text-violet-400`,children:Ri(e.toolCalls)}),(0,$.jsx)(`span`,{className:`relative text-right w-16 tabular-nums text-sm text-muted-foreground`,children:Ri(e.messages)})]},e.id))]})})]})]})}export{Ki as AnalyticsView};
910
- //# sourceMappingURL=analytics-YcY59Hv9.js.map
910
+ //# sourceMappingURL=analytics-BZtRycyL.js.map