@hotmeshio/long-tail 0.3.2 → 0.4.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.
- package/build/api/agents.d.ts +1 -1
- package/build/api/agents.js +1 -1
- package/build/api/controlplane.d.ts +33 -0
- package/build/api/controlplane.js +46 -0
- package/build/bin/ltc.js +16 -0
- package/build/lib/cli/commands/streams.d.ts +20 -0
- package/build/lib/cli/commands/streams.js +134 -0
- package/build/lib/db/schemas/003_agents.sql +1 -2
- package/build/lib/db/schemas/004_agent_subscriptions.sql +1 -1
- package/build/routes/agents.js +3 -3
- package/build/routes/controlplane.js +28 -0
- package/build/sdk/index.d.ts +1 -0
- package/build/sdk/index.js +1 -0
- package/build/services/agent/index.d.ts +2 -3
- package/build/services/agent/index.js +5 -12
- package/build/services/agent/sql.d.ts +3 -4
- package/build/services/agent/sql.js +16 -20
- package/build/services/agent/subscription-sql.d.ts +1 -1
- package/build/services/agent/subscription-sql.js +1 -1
- package/build/services/agent/trigger-registry.js +1 -1
- package/build/services/controlplane/index.d.ts +9 -1
- package/build/services/controlplane/index.js +39 -0
- package/build/services/controlplane/stream-messages-sql.d.ts +21 -0
- package/build/services/controlplane/stream-messages-sql.js +108 -0
- package/build/services/controlplane/types.d.ts +44 -0
- package/build/services/cron/index.js +5 -5
- package/build/services/export/post-process.js +14 -6
- package/build/services/mcp-runs/execution-builder.js +9 -4
- package/build/services/topics/index.js +1 -4
- package/build/services/topics/sql.d.ts +2 -2
- package/build/services/topics/sql.js +9 -2
- package/build/services/topics/system-topics.js +2 -3
- package/build/start/workers.js +11 -14
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/agent.d.ts +1 -1
- package/dashboard/dist/assets/AdminDashboard-CR0FtTE6.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-CbeSejVX.js.map → AdminDashboard-CR0FtTE6.js.map} +1 -1
- package/dashboard/dist/assets/AgentConfigPage-BVypgq9m.js +13 -0
- package/dashboard/dist/assets/AgentConfigPage-BVypgq9m.js.map +1 -0
- package/dashboard/dist/assets/AgentDetailPage-D64ath8c.js +4 -0
- package/dashboard/dist/assets/AgentDetailPage-D64ath8c.js.map +1 -0
- package/dashboard/dist/assets/AgentsPage-j-zblMNR.js +2 -0
- package/dashboard/dist/assets/AgentsPage-j-zblMNR.js.map +1 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-DmUid1h0.js +2 -0
- package/dashboard/dist/assets/{AvailableEscalationsPage-DdrzePy4.js.map → AvailableEscalationsPage-DmUid1h0.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-DCScT8BN.js +2 -0
- package/dashboard/dist/assets/{BotPicker-kKBifD1w.js.map → BotPicker-DCScT8BN.js.map} +1 -1
- package/dashboard/dist/assets/CapabilitiesPage-g5iUvHRL.js +2 -0
- package/dashboard/dist/assets/{CapabilitiesPage-Ch5qY0I7.js.map → CapabilitiesPage-g5iUvHRL.js.map} +1 -1
- package/dashboard/dist/assets/CollapsibleSection-Dj1YOsVG.js +2 -0
- package/dashboard/dist/assets/{CollapsibleSection-kYTBL7dT.js.map → CollapsibleSection-Dj1YOsVG.js.map} +1 -1
- package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
- package/dashboard/dist/assets/{ConfirmDeleteModal-CcaAapMl.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
- package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
- package/dashboard/dist/assets/{CopyableId-B4CL12pv.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-Dvb4QelY.js +2 -0
- package/dashboard/dist/assets/{CredentialsPage-D1VAlwid.js.map → CredentialsPage-Dvb4QelY.js.map} +1 -1
- package/dashboard/dist/assets/CronLabel-sk1BkcJd.js +2 -0
- package/dashboard/dist/assets/{CronLabel-DRmO5rH0.js.map → CronLabel-sk1BkcJd.js.map} +1 -1
- package/dashboard/dist/assets/CustomDurationPicker-C0MV2Q06.js +2 -0
- package/dashboard/dist/assets/{CustomDurationPicker-C06QDDir.js.map → CustomDurationPicker-C0MV2Q06.js.map} +1 -1
- package/dashboard/dist/assets/DataTable-D9yuBv0w.js +2 -0
- package/dashboard/dist/assets/{DataTable-J5R6mepB.js.map → DataTable-D9yuBv0w.js.map} +1 -1
- package/dashboard/dist/assets/DropZone-DN8uwUtf.js +2 -0
- package/dashboard/dist/assets/{DropZone-DwNj3GiG.js.map → DropZone-DN8uwUtf.js.map} +1 -1
- package/dashboard/dist/assets/ElapsedCell-CFXhhKKc.js +2 -0
- package/dashboard/dist/assets/{ElapsedCell-ChyMzl9n.js.map → ElapsedCell-CFXhhKKc.js.map} +1 -1
- package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
- package/dashboard/dist/assets/{EmptyState-BXGvOADa.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
- package/dashboard/dist/assets/EscalationsOverview-BEuUFGwC.js +2 -0
- package/dashboard/dist/assets/{EscalationsOverview-DM6zmE4g.js.map → EscalationsOverview-BEuUFGwC.js.map} +1 -1
- package/dashboard/dist/assets/EventTable-DcwVWOKb.js +2 -0
- package/dashboard/dist/assets/{EventTable-CvJ98E8s.js.map → EventTable-DcwVWOKb.js.map} +1 -1
- package/dashboard/dist/assets/EventTopicPill-CWCP1v1O.js +2 -0
- package/dashboard/dist/assets/{EventTopicPill-CB_rIGlL.js.map → EventTopicPill-CWCP1v1O.js.map} +1 -1
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
- package/dashboard/dist/assets/{FilterBar-Bdssa-Xn.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
- package/dashboard/dist/assets/HomePage-BH-F5ws9.js +2 -0
- package/dashboard/dist/assets/HomePage-BH-F5ws9.js.map +1 -0
- package/dashboard/dist/assets/ListToolbar-CUxJlz__.js +2 -0
- package/dashboard/dist/assets/{ListToolbar-jy8NL6ll.js.map → ListToolbar-CUxJlz__.js.map} +1 -1
- package/dashboard/dist/assets/McpOverview-O8XrOzy0.js +2 -0
- package/dashboard/dist/assets/{McpOverview-xkaKuHbX.js.map → McpOverview-O8XrOzy0.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-DhiR0Xrx.js +5 -0
- package/dashboard/dist/assets/{McpQueryDetailPage-D5ICn6cR.js.map → McpQueryDetailPage-DhiR0Xrx.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryPage-Czot0nfl.js +2 -0
- package/dashboard/dist/assets/{McpQueryPage-C46fzfm5.js.map → McpQueryPage-Czot0nfl.js.map} +1 -1
- package/dashboard/dist/assets/McpRunDetailPage-B1kNnD_t.js +2 -0
- package/dashboard/dist/assets/{McpRunDetailPage-Znsl4Yc-.js.map → McpRunDetailPage-B1kNnD_t.js.map} +1 -1
- package/dashboard/dist/assets/McpRunsPage-QUY3pWp9.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-QUY3pWp9.js.map +1 -0
- package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
- package/dashboard/dist/assets/{Modal-C6k6_5KB.js.map → Modal-DEODGeqx.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-BG1Q9qZk.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-e5N3_dVl.js.map → OperatorDashboard-BG1Q9qZk.js.map} +1 -1
- package/dashboard/dist/assets/PageHeader-DlzOOM4Y.js +2 -0
- package/dashboard/dist/assets/{PageHeader-COcgWWf-.js.map → PageHeader-DlzOOM4Y.js.map} +1 -1
- package/dashboard/dist/assets/PageHeaderWithStats-C5cZ3IOO.js +2 -0
- package/dashboard/dist/assets/{PageHeaderWithStats-C0PCY3aJ.js.map → PageHeaderWithStats-C5cZ3IOO.js.map} +1 -1
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
- package/dashboard/dist/assets/{PriorityBadge-BQCsYMpM.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-DS1AwTso.js +2 -0
- package/dashboard/dist/assets/{ProcessDetailPage-C03LOgI0.js.map → ProcessDetailPage-DS1AwTso.js.map} +1 -1
- package/dashboard/dist/assets/ProcessesListPage-CAmVcn1P.js +2 -0
- package/dashboard/dist/assets/{ProcessesListPage-iyPsmlhm.js.map → ProcessesListPage-CAmVcn1P.js.map} +1 -1
- package/dashboard/dist/assets/RolePill-BZaUpkHg.js +2 -0
- package/dashboard/dist/assets/{RolePill-CHwys1f9.js.map → RolePill-BZaUpkHg.js.map} +1 -1
- package/dashboard/dist/assets/RolesPage-CFdIXfmv.js +2 -0
- package/dashboard/dist/assets/{RolesPage-Bmc3XaUk.js.map → RolesPage-CFdIXfmv.js.map} +1 -1
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
- package/dashboard/dist/assets/{RowActions-Bs4PF-Gd.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
- package/dashboard/dist/assets/RunAsSelector-BGww9lta.js +2 -0
- package/dashboard/dist/assets/{RunAsSelector-DXzAr2WW.js.map → RunAsSelector-BGww9lta.js.map} +1 -1
- package/dashboard/dist/assets/ServerName-DfS3pfon.js +2 -0
- package/dashboard/dist/assets/{ServerName-BIdLC1Ay.js.map → ServerName-DfS3pfon.js.map} +1 -1
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
- package/dashboard/dist/assets/{StatCard-OKzRSSx4.js.map → StatCard-DlgF0CJC.js.map} +1 -1
- package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
- package/dashboard/dist/assets/{StatusBadge-CQlF46RR.js.map → StatusBadge-XQlNFwmH.js.map} +1 -1
- package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
- package/dashboard/dist/assets/{StepIndicator-CP7eycjI.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
- package/dashboard/dist/assets/{StickyPagination-CGk8VAKt.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
- package/dashboard/dist/assets/SwimlaneTimeline-C2hGjy0V.js +2 -0
- package/dashboard/dist/assets/{SwimlaneTimeline-MEUPc3yJ.js.map → SwimlaneTimeline-C2hGjy0V.js.map} +1 -1
- package/dashboard/dist/assets/TagInput-D21mrQx6.js +2 -0
- package/dashboard/dist/assets/{TagInput-BGxXKiWD.js.map → TagInput-D21mrQx6.js.map} +1 -1
- package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-D8UMH1rd.js +2 -0
- package/dashboard/dist/assets/{TaskQueuePill-bw8ieKsf.js.map → TaskQueuePill-D8UMH1rd.js.map} +1 -1
- package/dashboard/dist/assets/TasksListPage-CJB-EvKX.js +2 -0
- package/dashboard/dist/assets/{TasksListPage-D1INzcrA.js.map → TasksListPage-CJB-EvKX.js.map} +1 -1
- package/dashboard/dist/assets/TimeAgo-CnjY3XDt.js +2 -0
- package/dashboard/dist/assets/{TimeAgo-CywLVIBA.js.map → TimeAgo-CnjY3XDt.js.map} +1 -1
- package/dashboard/dist/assets/TimestampCell-u1YA8eA3.js +2 -0
- package/dashboard/dist/assets/{TimestampCell-B4Pc6f3A.js.map → TimestampCell-u1YA8eA3.js.map} +1 -1
- package/dashboard/dist/assets/ToolPill-Dmcwmqh2.js +2 -0
- package/dashboard/dist/assets/{ToolPill-DdLN3JOT.js.map → ToolPill-Dmcwmqh2.js.map} +1 -1
- package/dashboard/dist/assets/ToolTestPanel-B1T4Hk0t.js +2 -0
- package/dashboard/dist/assets/{ToolTestPanel-DusbUka5.js.map → ToolTestPanel-B1T4Hk0t.js.map} +1 -1
- package/dashboard/dist/assets/TopicDetailPage-ClibbST4.js +9 -0
- package/dashboard/dist/assets/TopicDetailPage-ClibbST4.js.map +1 -0
- package/dashboard/dist/assets/TopicsPage-KjODhitc.js +2 -0
- package/dashboard/dist/assets/{TopicsPage-DbtrnQON.js.map → TopicsPage-KjODhitc.js.map} +1 -1
- package/dashboard/dist/assets/UserName-DVqimwsO.js +2 -0
- package/dashboard/dist/assets/{UserName-CLbusknU.js.map → UserName-DVqimwsO.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-DYNPy7Gk.js +2 -0
- package/dashboard/dist/assets/{WorkflowExecutionPage-C61R-3Gg.js.map → WorkflowExecutionPage-DYNPy7Gk.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-h43nlUmM.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-7vt2F6wR.js.map → WorkflowPill-h43nlUmM.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-DdJm6X7x.js +2 -0
- package/dashboard/dist/assets/{WorkflowsDashboard-BWiUNvyl.js.map → WorkflowsDashboard-DdJm6X7x.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsOverview-CBOYkfpD.js +2 -0
- package/dashboard/dist/assets/{WorkflowsOverview-DA2ZOs7D.js.map → WorkflowsOverview-CBOYkfpD.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-BZnD_hMw.js +2 -0
- package/dashboard/dist/assets/{YamlWorkflowsPage-CLebf2eL.js.map → YamlWorkflowsPage-BZnD_hMw.js.map} +1 -1
- package/dashboard/dist/assets/{agents-Dga6NU7U.js → agents-oHMkS1GD.js} +2 -2
- package/dashboard/dist/assets/agents-oHMkS1GD.js.map +1 -0
- package/dashboard/dist/assets/{bots-CtU4i4OQ.js → bots-BispbsY3.js} +2 -2
- package/dashboard/dist/assets/{bots-CtU4i4OQ.js.map → bots-BispbsY3.js.map} +1 -1
- package/dashboard/dist/assets/{controlplane-BVoALhbL.js → controlplane-CIbrx5rX.js} +2 -2
- package/dashboard/dist/assets/{controlplane-BVoALhbL.js.map → controlplane-CIbrx5rX.js.map} +1 -1
- package/dashboard/dist/assets/escalation-columns-Dh_0iVTH.js +2 -0
- package/dashboard/dist/assets/{escalation-columns-CoTmTpHp.js.map → escalation-columns-Dh_0iVTH.js.map} +1 -1
- package/dashboard/dist/assets/escalation-qhj4TxA3.js +2 -0
- package/dashboard/dist/assets/{escalation-_N5GfuIi.js.map → escalation-qhj4TxA3.js.map} +1 -1
- package/dashboard/dist/assets/helpers-BYw1qqKV.js +2 -0
- package/dashboard/dist/assets/{helpers-Dz2U3Ctb.js.map → helpers-BYw1qqKV.js.map} +1 -1
- package/dashboard/dist/assets/index-B9t_vpam.js +2 -0
- package/dashboard/dist/assets/{index-Dpjguclc.js.map → index-B9t_vpam.js.map} +1 -1
- package/dashboard/dist/assets/index-Bh9g-EOF.js +2 -0
- package/dashboard/dist/assets/{index-CS61sh5q.js.map → index-Bh9g-EOF.js.map} +1 -1
- package/dashboard/dist/assets/index-BhhWCADo.js +63 -0
- package/dashboard/dist/assets/index-BhhWCADo.js.map +1 -0
- package/dashboard/dist/assets/index-Bn-VSH41.js +2 -0
- package/dashboard/dist/assets/index-Bn-VSH41.js.map +1 -0
- package/dashboard/dist/assets/index-C2yJWps6.js +6 -0
- package/dashboard/dist/assets/{index-B9ealjkt.js.map → index-C2yJWps6.js.map} +1 -1
- package/dashboard/dist/assets/index-C4W1_Rfk.js +5 -0
- package/dashboard/dist/assets/{index-CtbG3UN-.js.map → index-C4W1_Rfk.js.map} +1 -1
- package/dashboard/dist/assets/index-CEF3Idec.js +2 -0
- package/dashboard/dist/assets/{index-6Kd78p_v.js.map → index-CEF3Idec.js.map} +1 -1
- package/dashboard/dist/assets/index-CHxvfc97.css +1 -0
- package/dashboard/dist/assets/index-CVRVw3g_.js +2 -0
- package/dashboard/dist/assets/{index-dM-OgCY3.js.map → index-CVRVw3g_.js.map} +1 -1
- package/dashboard/dist/assets/index-CY3EhrEA.js +2 -0
- package/dashboard/dist/assets/{index-QicYdUsl.js.map → index-CY3EhrEA.js.map} +1 -1
- package/dashboard/dist/assets/index-D-q2lzup.js +2 -0
- package/dashboard/dist/assets/{index-DWUunWxh.js.map → index-D-q2lzup.js.map} +1 -1
- package/dashboard/dist/assets/index-D6YjH5uG.js +15 -0
- package/dashboard/dist/assets/{index-BYwPVJv0.js.map → index-D6YjH5uG.js.map} +1 -1
- package/dashboard/dist/assets/index-ht5r_7jQ.js +2 -0
- package/dashboard/dist/assets/index-ht5r_7jQ.js.map +1 -0
- package/dashboard/dist/assets/index-zHicKKh9.js +2 -0
- package/dashboard/dist/assets/{index-D_H_Prht.js.map → index-zHicKKh9.js.map} +1 -1
- package/dashboard/dist/assets/{knowledge-DJlebU82.js → knowledge-B23TU6JN.js} +2 -2
- package/dashboard/dist/assets/{knowledge-DJlebU82.js.map → knowledge-B23TU6JN.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-CsLJ5SRm.js → mcp-Cew_Sb-Q.js} +2 -2
- package/dashboard/dist/assets/{mcp-CsLJ5SRm.js.map → mcp-Cew_Sb-Q.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-WNK1ItRV.js → mcp-query-So0Oz5Lx.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-WNK1ItRV.js.map → mcp-query-So0Oz5Lx.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-runs-DtTTsuPH.js → mcp-runs-4176y3SA.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-DtTTsuPH.js.map → mcp-runs-4176y3SA.js.map} +1 -1
- package/dashboard/dist/assets/namespaces-CqBbWsJx.js +2 -0
- package/dashboard/dist/assets/{namespaces-iRejH3_A.js.map → namespaces-CqBbWsJx.js.map} +1 -1
- package/dashboard/dist/assets/{roles-3Jm5KtKc.js → roles-BTxMgLE6.js} +2 -2
- package/dashboard/dist/assets/{roles-3Jm5KtKc.js.map → roles-BTxMgLE6.js.map} +1 -1
- package/dashboard/dist/assets/settings-CtQNxacL.js +2 -0
- package/dashboard/dist/assets/{settings-DmN2I-c6.js.map → settings-CtQNxacL.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-Cc-QoITQ.js → tasks-CIRlUTbo.js} +2 -2
- package/dashboard/dist/assets/{tasks-Cc-QoITQ.js.map → tasks-CIRlUTbo.js.map} +1 -1
- package/dashboard/dist/assets/{topics-p8anbgi0.js → topics-C8YmK_j2.js} +2 -2
- package/dashboard/dist/assets/topics-C8YmK_j2.js.map +1 -0
- package/dashboard/dist/assets/{useEventHooks-VaJ52jMm.js → useEventHooks-BvMUy36X.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-VaJ52jMm.js.map → useEventHooks-BvMUy36X.js.map} +1 -1
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
- package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
- package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-BU4Uhksl.js → useYamlActivityEvents-DLEzqv-z.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-BU4Uhksl.js.map → useYamlActivityEvents-DLEzqv-z.js.map} +1 -1
- package/dashboard/dist/assets/{users-oXOlnold.js → users-C_bD6mzW.js} +2 -2
- package/dashboard/dist/assets/{users-oXOlnold.js.map → users-C_bD6mzW.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-CBOM6Es0.js → vendor-icons-DY1ctJgc.js} +111 -101
- package/dashboard/dist/assets/vendor-icons-DY1ctJgc.js.map +1 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
- package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
- package/dashboard/dist/assets/{workflows-Yq7cK-vR.js → workflows-DFR0-hI3.js} +2 -2
- package/dashboard/dist/assets/{workflows-Yq7cK-vR.js.map → workflows-DFR0-hI3.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-Ch53yD43.js → yaml-workflows-wXURdyjP.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-Ch53yD43.js.map → yaml-workflows-wXURdyjP.js.map} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/docs/agents.md +1 -1
- package/docs/api/http/agents.md +5 -7
- package/docs/api/http/controlplane.md +193 -0
- package/docs/api/sdk/agents.md +5 -5
- package/docs/api/sdk/controlplane.md +36 -0
- package/docs/dashboard.md +13 -0
- package/package.json +2 -2
- package/dashboard/dist/assets/AdminDashboard-CbeSejVX.js +0 -2
- package/dashboard/dist/assets/AgentConfigPage-CFJNOrlg.js +0 -13
- package/dashboard/dist/assets/AgentConfigPage-CFJNOrlg.js.map +0 -1
- package/dashboard/dist/assets/AgentDetailPage-Dbx2t-Uk.js +0 -4
- package/dashboard/dist/assets/AgentDetailPage-Dbx2t-Uk.js.map +0 -1
- package/dashboard/dist/assets/AgentsPage-Bz61Nl-x.js +0 -2
- package/dashboard/dist/assets/AgentsPage-Bz61Nl-x.js.map +0 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-DdrzePy4.js +0 -2
- package/dashboard/dist/assets/BotPicker-kKBifD1w.js +0 -2
- package/dashboard/dist/assets/CapabilitiesPage-Ch5qY0I7.js +0 -2
- package/dashboard/dist/assets/CollapsibleSection-kYTBL7dT.js +0 -2
- package/dashboard/dist/assets/ConfirmDeleteModal-CcaAapMl.js +0 -2
- package/dashboard/dist/assets/CopyableId-B4CL12pv.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-D1VAlwid.js +0 -2
- package/dashboard/dist/assets/CronLabel-DRmO5rH0.js +0 -2
- package/dashboard/dist/assets/CustomDurationPicker-C06QDDir.js +0 -2
- package/dashboard/dist/assets/DataTable-J5R6mepB.js +0 -2
- package/dashboard/dist/assets/DropZone-DwNj3GiG.js +0 -2
- package/dashboard/dist/assets/ElapsedCell-ChyMzl9n.js +0 -2
- package/dashboard/dist/assets/EmptyState-BXGvOADa.js +0 -2
- package/dashboard/dist/assets/EscalationsOverview-DM6zmE4g.js +0 -2
- package/dashboard/dist/assets/EventTable-CvJ98E8s.js +0 -2
- package/dashboard/dist/assets/EventTopicPill-CB_rIGlL.js +0 -2
- package/dashboard/dist/assets/FilterBar-Bdssa-Xn.js +0 -2
- package/dashboard/dist/assets/HomePage-BuZkdXZt.js +0 -2
- package/dashboard/dist/assets/HomePage-BuZkdXZt.js.map +0 -1
- package/dashboard/dist/assets/ListToolbar-jy8NL6ll.js +0 -2
- package/dashboard/dist/assets/McpOverview-xkaKuHbX.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-D5ICn6cR.js +0 -5
- package/dashboard/dist/assets/McpQueryPage-C46fzfm5.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-Znsl4Yc-.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-DT-armx5.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-DT-armx5.js.map +0 -1
- package/dashboard/dist/assets/Modal-C6k6_5KB.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-e5N3_dVl.js +0 -2
- package/dashboard/dist/assets/PageHeader-COcgWWf-.js +0 -2
- package/dashboard/dist/assets/PageHeaderWithStats-C0PCY3aJ.js +0 -2
- package/dashboard/dist/assets/PriorityBadge-BQCsYMpM.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-C03LOgI0.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-iyPsmlhm.js +0 -2
- package/dashboard/dist/assets/RolePill-CHwys1f9.js +0 -2
- package/dashboard/dist/assets/RolesPage-Bmc3XaUk.js +0 -2
- package/dashboard/dist/assets/RowActions-Bs4PF-Gd.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-DXzAr2WW.js +0 -2
- package/dashboard/dist/assets/ServerName-BIdLC1Ay.js +0 -2
- package/dashboard/dist/assets/StatCard-OKzRSSx4.js +0 -2
- package/dashboard/dist/assets/StatusBadge-CQlF46RR.js +0 -2
- package/dashboard/dist/assets/StepIndicator-CP7eycjI.js +0 -2
- package/dashboard/dist/assets/StickyPagination-CGk8VAKt.js +0 -2
- package/dashboard/dist/assets/SwimlaneTimeline-MEUPc3yJ.js +0 -2
- package/dashboard/dist/assets/TagInput-BGxXKiWD.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-pN5BXzYA.js +0 -2
- package/dashboard/dist/assets/TaskDetailPage-pN5BXzYA.js.map +0 -1
- package/dashboard/dist/assets/TaskQueuePill-bw8ieKsf.js +0 -2
- package/dashboard/dist/assets/TasksListPage-D1INzcrA.js +0 -2
- package/dashboard/dist/assets/TimeAgo-CywLVIBA.js +0 -2
- package/dashboard/dist/assets/TimestampCell-B4Pc6f3A.js +0 -2
- package/dashboard/dist/assets/ToolPill-DdLN3JOT.js +0 -2
- package/dashboard/dist/assets/ToolTestPanel-DusbUka5.js +0 -2
- package/dashboard/dist/assets/TopicDetailPage-DadwM52Y.js +0 -9
- package/dashboard/dist/assets/TopicDetailPage-DadwM52Y.js.map +0 -1
- package/dashboard/dist/assets/TopicsPage-DbtrnQON.js +0 -2
- package/dashboard/dist/assets/UserName-CLbusknU.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-C61R-3Gg.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-7vt2F6wR.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-BWiUNvyl.js +0 -2
- package/dashboard/dist/assets/WorkflowsOverview-DA2ZOs7D.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-CLebf2eL.js +0 -2
- package/dashboard/dist/assets/agents-Dga6NU7U.js.map +0 -1
- package/dashboard/dist/assets/escalation-_N5GfuIi.js +0 -2
- package/dashboard/dist/assets/escalation-columns-CoTmTpHp.js +0 -2
- package/dashboard/dist/assets/helpers-Dz2U3Ctb.js +0 -2
- package/dashboard/dist/assets/index-6Kd78p_v.js +0 -2
- package/dashboard/dist/assets/index-B9ealjkt.js +0 -6
- package/dashboard/dist/assets/index-BIUHY2Jz.css +0 -1
- package/dashboard/dist/assets/index-BWHDW_CF.js +0 -2
- package/dashboard/dist/assets/index-BWHDW_CF.js.map +0 -1
- package/dashboard/dist/assets/index-BYwPVJv0.js +0 -15
- package/dashboard/dist/assets/index-CCOSf1PY.js +0 -281
- package/dashboard/dist/assets/index-CCOSf1PY.js.map +0 -1
- package/dashboard/dist/assets/index-CS61sh5q.js +0 -2
- package/dashboard/dist/assets/index-CtbG3UN-.js +0 -5
- package/dashboard/dist/assets/index-DWUunWxh.js +0 -2
- package/dashboard/dist/assets/index-D_H_Prht.js +0 -2
- package/dashboard/dist/assets/index-Dpjguclc.js +0 -2
- package/dashboard/dist/assets/index-QicYdUsl.js +0 -2
- package/dashboard/dist/assets/index-dM-OgCY3.js +0 -2
- package/dashboard/dist/assets/namespaces-iRejH3_A.js +0 -2
- package/dashboard/dist/assets/settings-DmN2I-c6.js +0 -2
- package/dashboard/dist/assets/topics-p8anbgi0.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-CBOM6Es0.js.map +0 -1
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
- package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
- package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskDetailPage-pN5BXzYA.js","sources":["../../src/components/common/data/Field.tsx","../../src/components/common/display/Timeline.tsx","../../src/pages/workflows/TaskDetailPage.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { SectionLabel } from '../layout/SectionLabel';\n\ninterface FieldProps {\n label: string;\n value: ReactNode;\n}\n\nexport function Field({ label, value }: FieldProps) {\n return (\n <div>\n <SectionLabel className=\"mb-1\">{label}</SectionLabel>\n <div className=\"text-sm text-text-primary\">{value ?? '—'}</div>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\n\nexport interface TimelineItem {\n id: string | number;\n label: string;\n timestamp?: string;\n detail?: ReactNode;\n category?: 'system' | 'user';\n}\n\nexport function Timeline({ items }: { items: TimelineItem[] }) {\n if (items.length === 0) return null;\n\n return (\n <div className=\"relative\">\n {/* Vertical line */}\n <div className=\"absolute left-[7px] top-3 bottom-3 w-px bg-surface-border\" />\n\n <div className=\"space-y-0\">\n {items.map((item) => (\n <div key={item.id} className=\"relative flex gap-4 py-3\">\n {/* Dot */}\n <div className=\"relative z-10 mt-1\">\n <div\n className={`w-[15px] h-[15px] rounded-full border-2 ${\n item.category === 'system'\n ? 'border-accent-muted bg-surface-raised'\n : 'border-accent bg-accent'\n }`}\n />\n </div>\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-baseline gap-3\">\n <p className=\"text-sm text-text-primary\">{item.label}</p>\n {item.timestamp && (\n <time className=\"text-[10px] text-text-tertiary font-mono shrink-0\">\n {new Date(item.timestamp).toLocaleTimeString()}\n </time>\n )}\n </div>\n {item.detail && <div className=\"mt-1\">{item.detail}</div>}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n","import { useParams, Link } from 'react-router-dom';\nimport { useTask } from '../../api/tasks';\nimport { StatusBadge } from '../../components/common/display/StatusBadge';\nimport { PriorityBadge } from '../../components/common/display/PriorityBadge';\nimport { Field } from '../../components/common/data/Field';\nimport { JsonViewer } from '../../components/common/data/JsonViewer';\nimport { PageHeader } from '../../components/common/layout/PageHeader';\nimport { SectionLabel } from '../../components/common/layout/SectionLabel';\nimport { Timeline, type TimelineItem } from '../../components/common/display/Timeline';\n\nexport function TaskDetailPage() {\n const { id } = useParams<{ id: string }>();\n const { data: task, isLoading } = useTask(id!);\n\n if (isLoading) {\n return (\n <div className=\"animate-pulse space-y-4\">\n <div className=\"h-8 bg-surface-sunken rounded w-48\" />\n <div className=\"h-40 bg-surface-sunken rounded\" />\n </div>\n );\n }\n\n if (!task) {\n return <p className=\"text-sm text-text-secondary\">Task not found.</p>;\n }\n\n const milestoneItems: TimelineItem[] = (task.milestones ?? []).map((m, i) => ({\n id: i,\n label: m.name,\n timestamp: m.created_at,\n detail: (\n <span className=\"text-xs text-text-secondary font-mono\">\n {typeof m.value === 'object' ? JSON.stringify(m.value) : String(m.value)}\n </span>\n ),\n category: 'user' as const,\n }));\n\n return (\n <div>\n <PageHeader title=\"Task Detail\" />\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-12\">\n {/* Left column — metadata */}\n <div className=\"lg:col-span-2 space-y-10\">\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-6\">\n <Field label=\"Status\" value={<StatusBadge status={task.status} />} />\n <Field label=\"Priority\" value={<PriorityBadge priority={task.priority} />} />\n <Field label=\"Workflow Type\" value={<span className=\"font-mono text-xs\">{task.workflow_type}</span>} />\n <Field label=\"LT Type\" value={<span className=\"font-mono text-xs\">{task.lt_type}</span>} />\n <Field label=\"Task Queue\" value={<span className=\"font-mono text-xs\">{task.task_queue}</span>} />\n <Field label=\"Workflow ID\" value={<span className=\"font-mono text-xs break-all\">{task.workflow_id}</span>} />\n <Field label=\"Started\" value={task.started_at ? new Date(task.started_at).toLocaleString() : '—'} />\n <Field label=\"Completed\" value={task.completed_at ? new Date(task.completed_at).toLocaleString() : '—'} />\n <Field label=\"Signal ID\" value={<span className=\"font-mono text-xs break-all\">{task.signal_id}</span>} />\n </div>\n\n {task.error && (\n <div>\n <SectionLabel className=\"mb-2 text-status-error\">Error</SectionLabel>\n <p className=\"text-sm text-text-primary font-mono\">{task.error}</p>\n </div>\n )}\n\n {milestoneItems.length > 0 && (\n <div>\n <SectionLabel className=\"mb-4\">Milestones</SectionLabel>\n <Timeline items={milestoneItems} />\n </div>\n )}\n\n <Link\n to={`/workflows/executions/${task.workflow_id}`}\n className=\"btn-secondary inline-block text-xs\"\n >\n View Workflow Execution\n </Link>\n </div>\n\n {/* Right column — payloads */}\n <div className=\"space-y-8\">\n <JsonViewer data={task.envelope} label=\"Envelope\" />\n {task.metadata && <JsonViewer data={task.metadata} label=\"Metadata\" />}\n {task.data && <JsonViewer data={task.data} label=\"Result Data\" />}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["Field","label","value","jsxDEV","SectionLabel","Timeline","items","item","TaskDetailPage","id","useParams","task","isLoading","useTask","milestoneItems","m","i","PageHeader","StatusBadge","PriorityBadge","Link","JsonViewer"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s}from"./index-CCOSf1PY.js";import{R as r}from"./vendor-icons-CBOM6Es0.js";function i({queue:o,size:e="sm"}){const a=e==="md"?"px-2.5 py-0.5 text-[11px] gap-1.5":"px-2 py-0.5 text-[10px] gap-1",t=e==="md"?"w-3 h-3":"w-2.5 h-2.5";return s.jsxDEV("span",{className:`inline-flex items-center ${a} font-mono border-y border-surface-border/50 text-text-secondary`,children:[s.jsxDEV(r,{className:`${t} shrink-0 text-accent/75`},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/TaskQueuePill.tsx",lineNumber:16,columnNumber:7},this),o]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/TaskQueuePill.tsx",lineNumber:15,columnNumber:5},this)}export{i as T};
|
|
2
|
-
//# sourceMappingURL=TaskQueuePill-bw8ieKsf.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s}from"./index-CCOSf1PY.js";import{c as u}from"./tasks-Cc-QoITQ.js";import{u as g}from"./workflows-Yq7cK-vR.js";import{u as w}from"./useFilterParams-CGRYFw_A.js";import{D as b}from"./DataTable-J5R6mepB.js";import{S as c}from"./StatusBadge-CQlF46RR.js";import{P as k}from"./PriorityBadge-BQCsYMpM.js";import{T as n}from"./TimeAgo-CywLVIBA.js";import{S as N}from"./StickyPagination-CGk8VAKt.js";import{F as x,b as m}from"./FilterBar-Bdssa-Xn.js";import{P as y}from"./PageHeader-COcgWWf-.js";import{W as P}from"./WorkflowPill-7vt2F6wR.js";import{c as v}from"./vendor-react-Co3Y8ikm.js";import"./vendor-query-DLp59M9_.js";import"./vendor-icons-CBOM6Es0.js";import"./EmptyState-BXGvOADa.js";const h=[{value:"pending",label:"Pending"},{value:"in_progress",label:"In Progress"},{value:"completed",label:"Completed"},{value:"needs_intervention",label:"Needs Intervention"},{value:"cancelled",label:"Cancelled"}],T=[{key:"status",label:"Status",render:e=>s.jsxDEV(c,{status:e.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:27,columnNumber:22},void 0),className:"w-40"},{key:"workflow_type",label:"Workflow Type",render:e=>s.jsxDEV(P,{type:e.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:33,columnNumber:22},void 0)},{key:"lt_type",label:"LT Type",render:e=>s.jsxDEV("span",{className:"text-text-secondary text-xs",children:e.lt_type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:39,columnNumber:7},void 0)},{key:"priority",label:"Priority",render:e=>s.jsxDEV(k,{priority:e.priority},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:45,columnNumber:22},void 0),className:"w-20"},{key:"started_at",label:"Started",render:e=>s.jsxDEV(n,{date:e.started_at},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:51,columnNumber:22},void 0),className:"w-28"},{key:"updated_at",label:"Updated",render:e=>s.jsxDEV(n,{date:e.updated_at},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:57,columnNumber:22},void 0),className:"w-28"}];function M(){const e=v(),{filters:r,setFilter:l,pagination:o}=w({filters:{status:"",workflow_type:""}}),{data:p}=g(),d=[...new Set((p??[]).map(a=>a.workflow_type))].sort(),{data:t,isLoading:f}=u({status:r.status||void 0,workflow_type:r.workflow_type||void 0,limit:o.pageSize,offset:o.offset}),i=(t==null?void 0:t.total)??0;return s.jsxDEV("div",{children:[s.jsxDEV(y,{title:"Tasks"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:82,columnNumber:7},this),s.jsxDEV(x,{children:[s.jsxDEV(m,{label:"Status",value:r.status,onChange:a=>l("status",a),options:h},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:85,columnNumber:9},this),s.jsxDEV(m,{label:"Workflow Type",value:r.workflow_type,onChange:a=>l("workflow_type",a),options:d.map(a=>({value:a,label:a}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:91,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:84,columnNumber:7},this),s.jsxDEV(b,{columns:T,data:(t==null?void 0:t.tasks)??[],keyFn:a=>a.id,onRowClick:a=>e(`/workflows/tasks/detail/${a.id}`),isLoading:f,emptyMessage:"No tasks found"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:99,columnNumber:7},this),s.jsxDEV(N,{page:o.page,totalPages:o.totalPages(i),onPageChange:o.setPage,total:i,pageSize:o.pageSize,onPageSizeChange:o.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:108,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/TasksListPage.tsx",lineNumber:81,columnNumber:5},this)}export{M as TasksListPage};
|
|
2
|
-
//# sourceMappingURL=TasksListPage-D1INzcrA.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a,c as m}from"./index-CCOSf1PY.js";function r({date:e,className:o=""}){return a.jsxDEV(m,{date:e,format:"relative",className:o},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/TimeAgo.tsx",lineNumber:8,columnNumber:10},this)}export{r as T};
|
|
2
|
-
//# sourceMappingURL=TimeAgo-CywLVIBA.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,c as s}from"./index-CCOSf1PY.js";function a({date:m}){return e.jsxDEV("div",{children:[e.jsxDEV(s,{date:m,format:"relative"},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/TimestampCell.tsx",lineNumber:14,columnNumber:7},this),e.jsxDEV("p",{className:"text-[9px] font-mono text-text-secondary mt-0.5 whitespace-nowrap",children:[new Date(m).toISOString().replace("T"," ").slice(0,19)," UTC"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/TimestampCell.tsx",lineNumber:15,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/TimestampCell.tsx",lineNumber:13,columnNumber:5},this)}export{a as T};
|
|
2
|
-
//# sourceMappingURL=TimestampCell-B4Pc6f3A.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as r}from"./index-CCOSf1PY.js";import{f as a}from"./vendor-icons-CBOM6Es0.js";const m=["Describe","Discover","Compile","Deploy","Test","Verify"];function c(t){return t?t.status==="completed"?"completed":t.status==="failed"?"failed":"in_progress":"pending"}function f(t){const e=t.match(/```json\s*([\s\S]*?)```/)||t.match(/\{[\s\S]*?\n\}/);if(!e)return null;try{return JSON.parse((e[1]??e[0]).trim())}catch{return null}}const l=new Set(["token","authorization","bearer_token","access_token","api_token"]);function d(t){if(!(t!=null&&t.properties))return{};const e={},o=sessionStorage.getItem("lt_token")||"";for(const[s,i]of Object.entries(t.properties)){const n=i;n.default!==void 0?e[s]=n.default:l.has(s.toLowerCase())&&n.type==="string"?e[s]=o:n.type==="string"?e[s]="":n.type==="number"||n.type==="integer"?e[s]=n.minimum??0:n.type==="boolean"?e[s]=!1:n.type==="object"?e[s]={}:n.type==="array"?e[s]=[]:e[s]=null}return e}function x({name:t,size:e="sm"}){const o=e==="md"?"px-2 py-0.5 text-[12px] gap-1.5":"px-1.5 py-px text-[11px] gap-1",s=e==="md"?"w-2.5 h-2.5":"w-2 h-2";return r.jsxDEV("span",{className:`inline-flex items-center ${o} font-mono text-text-secondary bg-surface-sunken/50 rounded-md`,children:[r.jsxDEV(a,{className:`${s} shrink-0 text-text-quaternary`,strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/ToolPill.tsx",lineNumber:20,columnNumber:7},this),t]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/ToolPill.tsx",lineNumber:19,columnNumber:5},this)}export{m as S,x as T,d as b,f as e,c as m};
|
|
2
|
-
//# sourceMappingURL=ToolPill-DdLN3JOT.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,J as O}from"./index-CCOSf1PY.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{h as q}from"./mcp-CsLJ5SRm.js";import{R as k}from"./RunAsSelector-DXzAr2WW.js";import{b as A,T as L}from"./ToolPill-DdLN3JOT.js";import{S as z}from"./ServerName-BIdLC1Ay.js";import{X as F,a7 as I,P as M,a0 as g,a4 as _}from"./vendor-icons-CBOM6Es0.js";import{L as y}from"./vendor-react-Co3Y8ikm.js";function B({error:o}){const n=o instanceof Error?o.message:"";return n.startsWith("No credential found for provider")?e.jsxDEV("div",{className:"bg-status-warning/10 border border-status-warning/30 rounded-md px-3 py-2 flex items-start gap-2",children:[e.jsxDEV(_,{size:14,className:"text-status-warning mt-0.5 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:17,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[11px] font-medium text-text-primary mb-0.5",children:"Credential required"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:19,columnNumber:11},this),e.jsxDEV("p",{className:"text-[11px] text-text-secondary mb-1",children:n},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:20,columnNumber:11},this),e.jsxDEV(y,{to:"/credentials",className:"text-[11px] text-accent hover:underline inline-flex items-center gap-1",children:["Go to Credentials ",e.jsxDEV(g,{size:10},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:22,columnNumber:31},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:21,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:18,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:16,columnNumber:7},this):e.jsxDEV("div",{className:"bg-status-error/10 border border-status-error/20 rounded-md px-3 py-2",children:e.jsxDEV("p",{className:"text-[11px] text-status-error",children:n||"Tool call failed"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:29,columnNumber:5},this)}function U({data:o}){const n=o==null?void 0:o.result,a=n==null?void 0:n.job_id,p=(n==null?void 0:n.namespace)||"longtail";return a?e.jsxDEV(y,{to:`/mcp/executions/${encodeURIComponent(a)}?namespace=${encodeURIComponent(p)}`,className:"inline-flex items-center gap-1.5 text-xs text-accent hover:underline",children:[e.jsxDEV(g,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:45,columnNumber:7},this),"View Execution"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:41,columnNumber:5},this):null}const b="input text-xs",V="label";function $({value:o,onChange:n,className:a}){const[p,t]=u.useState(o.join(", ")),i=()=>n(p.split(",").map(l=>l.trim()).filter(Boolean));return u.useEffect(()=>{t(o.join(", "))},[JSON.stringify(o)]),e.jsxDEV("input",{type:"text",value:p,onChange:l=>t(l.target.value),onBlur:i,onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),i())},placeholder:"comma-separated values",className:a},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:68,columnNumber:5},this)}function ee({serverId:o,serverName:n,tool:a,onClose:p}){const t=q(),[i,l]=u.useState(!1),[c,N]=u.useState({}),[x,h]=u.useState(""),[v,f]=u.useState(""),[T,S]=u.useState("");u.useEffect(()=>{const s=A(a.inputSchema);N(s),h(JSON.stringify(s,null,2)),l(!1),f(""),t.reset()},[a.name,o]);const C=!!t.data||!!t.error,w=()=>{if(!i)h(JSON.stringify(c,null,2));else try{N(JSON.parse(x))}catch{}l(!i)},R=()=>{f(""),t.reset();let s;if(i)try{s=JSON.parse(x)}catch{f("Invalid JSON");return}else s={...c};t.mutate({serverId:o,toolName:a.name,arguments:s,...T?{execute_as:T}:{}})};return e.jsxDEV("div",{className:"border-l border-surface-border bg-surface-raised",children:[e.jsxDEV("div",{className:"flex items-start justify-between px-4 py-3 border-b border-surface-border/50 shrink-0",children:[e.jsxDEV("div",{className:"min-w-0 space-y-1",children:[e.jsxDEV(z,{name:n,serverId:o,short:!1},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:130,columnNumber:11},this),e.jsxDEV("div",{children:e.jsxDEV(L,{name:a.name,size:"md"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:131,columnNumber:16},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:131,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:129,columnNumber:9},this),e.jsxDEV("button",{onClick:p,className:"p-1 text-text-quaternary hover:text-text-primary shrink-0 ml-2",children:e.jsxDEV(F,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:128,columnNumber:7},this),e.jsxDEV("div",{className:"px-4 py-4 space-y-5",children:[a.description&&e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1",children:e.jsxDEV("p",{className:"text-[11px] text-text-secondary leading-relaxed italic",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:142,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:141,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:V,children:"run as"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:148,columnNumber:11},this),e.jsxDEV(k,{selected:T,onChange:S},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:149,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:147,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-2",children:[e.jsxDEV("span",{className:"text-[10px] text-text-quaternary",children:"Parameters"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:155,columnNumber:13},this),e.jsxDEV("button",{onClick:w,className:"text-[10px] text-accent/70 hover:text-accent transition-colors",children:i?"Form view":"JSON view"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:156,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:154,columnNumber:11},this),i?e.jsxDEV("textarea",{value:x,onChange:s=>h(s.target.value),className:"input-json w-full",rows:6,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:162,columnNumber:13},this):e.jsxDEV("div",{className:"space-y-3",children:[Object.entries(c).map(([s,m])=>{var E,P,D;const r=(P=(E=a.inputSchema)==null?void 0:E.properties)==null?void 0:P[s],j=r==null?void 0:r.description,J=(((D=a.inputSchema)==null?void 0:D.required)??[]).includes(s);return e.jsxDEV("div",{children:[e.jsxDEV("label",{className:V,children:[s,J&&e.jsxDEV("span",{className:"text-accent/50 ml-0.5",children:"*"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:179,columnNumber:38},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:177,columnNumber:21},this),typeof m=="boolean"?e.jsxDEV("select",{value:String(m),onChange:d=>N({...c,[s]:d.target.value==="true"}),className:b,children:[e.jsxDEV("option",{value:"true",children:"true"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:187,columnNumber:25},this),e.jsxDEV("option",{value:"false",children:"false"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:188,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:182,columnNumber:23},this):Array.isArray(m)?e.jsxDEV($,{value:m,onChange:d=>N({...c,[s]:d}),className:b},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:191,columnNumber:23},this):typeof m=="object"&&m!==null?e.jsxDEV("textarea",{value:JSON.stringify(m,null,2),onChange:d=>{try{N({...c,[s]:JSON.parse(d.target.value)})}catch{}},className:`${b} min-h-[48px] font-mono resize-y`},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:197,columnNumber:23},this):e.jsxDEV("input",{type:typeof m=="number"?"number":"text",value:String(m??""),onChange:d=>N({...c,[s]:typeof m=="number"?Number(d.target.value):d.target.value}),className:b,placeholder:(r==null?void 0:r.type)==="string"&&(r==null?void 0:r.example)||""},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:203,columnNumber:23},this),j&&e.jsxDEV("p",{className:"text-[9px] text-text-quaternary/70 mt-0.5 leading-snug",children:j},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:211,columnNumber:30},this)]},s,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:176,columnNumber:19},this)}),Object.keys(c).length===0&&e.jsxDEV("p",{className:"text-[11px] text-text-quaternary",children:"No parameters"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:216,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:170,columnNumber:13},this),v&&e.jsxDEV("p",{className:"text-[11px] text-status-error mt-1",children:v},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:220,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:153,columnNumber:9},this),e.jsxDEV("button",{onClick:R,disabled:t.isPending,className:"btn-primary text-xs disabled:opacity-50 inline-flex items-center gap-1.5",children:t.isPending?"Running...":C?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(I,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:232,columnNumber:15},this)," Re-run"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:232,columnNumber:13},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(M,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:234,columnNumber:15},this)," Run"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:234,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:224,columnNumber:9},this),t.isPending&&e.jsxDEV("div",{className:"animate-pulse",children:[e.jsxDEV("p",{className:"text-[10px] text-text-quaternary mb-1",children:"Response"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:241,columnNumber:13},this),e.jsxDEV("div",{className:"h-20 bg-surface-sunken/50 rounded-md"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:242,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:240,columnNumber:11},this),t.data?e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(O,{data:t.data,label:"Response",defaultCollapsed:!0},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:247,columnNumber:13},this),e.jsxDEV(U,{data:t.data},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:248,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:246,columnNumber:11},this):null,t.error?e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] text-text-quaternary mb-1",children:"Response"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:253,columnNumber:13},this),e.jsxDEV(B,{error:t.error},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:254,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:252,columnNumber:11},this):null]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:139,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/ToolTestPanel.tsx",lineNumber:126,columnNumber:5},this)}export{ee as T};
|
|
2
|
-
//# sourceMappingURL=ToolTestPanel-DusbUka5.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{j as e,c as b,J as V}from"./index-CCOSf1PY.js";import{a as i}from"./vendor-query-DLp59M9_.js";import{a as F,b as I,c as U}from"./topics-p8anbgi0.js";import{L as $}from"./ListToolbar-jy8NL6ll.js";import{R as o,B,D as L,m as z,aI as A,X as M,T as G,a as y}from"./vendor-icons-CBOM6Es0.js";import{e as H,c as K}from"./vendor-react-Co3Y8ikm.js";const X={task:"bg-blue-400/15 text-blue-400",workflow:"bg-accent/15 text-accent",escalation:"bg-amber-400/15 text-amber-400",activity:"bg-cyan-400/15 text-cyan-400",knowledge:"bg-violet-400/15 text-violet-400",agent:"bg-emerald-400/15 text-emerald-400",app:"bg-rose-400/15 text-rose-400",milestone:"bg-violet-400/15 text-violet-400"};function p({icon:r,color:m,children:c}){return e.jsxDEV("div",{className:"flex items-center gap-2 mb-3 pb-2 border-b border-surface-border",children:[e.jsxDEV(r,{className:`w-4 h-4 ${m}`,strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:23,columnNumber:7},this),e.jsxDEV("h2",{className:"text-xs font-semibold uppercase tracking-widest text-accent/80",children:c},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:24,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:22,columnNumber:5},this)}function te(){var E,P,j;const{topic:r}=H(),m=r?decodeURIComponent(r):null,c=K(),{data:a,isLoading:w,refetch:N,isFetching:S}=F(m),h=I(),k=U(),[t,n]=i.useState(!1),[x,g]=i.useState(""),[f,D]=i.useState(""),[d,v]=i.useState(""),[T,l]=i.useState("");if(w)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:44,columnNumber:53},this),e.jsxDEV("div",{className:"h-40 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:44,columnNumber:107},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:44,columnNumber:12},this);if(!a)return e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsxDEV(o,{className:"w-12 h-12 text-text-quaternary mb-4",strokeWidth:1},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:50,columnNumber:9},this),e.jsxDEV("h2",{className:"text-lg font-medium text-text-primary mb-2",children:"Topic not found"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:51,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:49,columnNumber:7},this);const C=a.source==="system",_=X[a.category]??"bg-zinc-400/15 text-zinc-400",q=()=>{g(a.description??""),D((a.tags??[]).join(", ")),v(a.payload_schema?JSON.stringify(a.payload_schema,null,2):""),l(""),n(!0)},O=()=>n(!1),R=()=>{const s=f.split(",").map(J=>J.trim()).filter(Boolean);let u;if(d.trim())try{u=JSON.parse(d),l("")}catch{l("Invalid JSON");return}h.mutate({topic:a.topic,description:x,tags:s,...u!==void 0?{payload_schema:u}:{}},{onSuccess:()=>{n(!1),N()}})},W=()=>{confirm(`Delete topic "${a.topic}"?
|
|
2
|
-
|
|
3
|
-
This removes it from the catalog. Active subscriptions are not affected.`)&&k.mutate(a.topic,{onSuccess:()=>c("/topics")})};return e.jsxDEV("div",{className:"max-w-3xl",children:[e.jsxDEV("div",{className:"flex items-start justify-between mb-6",children:[e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center gap-3 mb-2",children:[e.jsxDEV(o,{className:"w-5 h-5 text-accent",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:99,columnNumber:13},this),e.jsxDEV("h1",{className:"text-lg font-mono font-medium text-text-primary",children:a.topic},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:100,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:topics.md"},className:"text-text-quaternary hover:text-accent transition-colors",title:"Topic docs",children:e.jsxDEV(B,{className:"w-4 h-4",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:102,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:101,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:98,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-[10px] font-medium ${_}`,children:a.category},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:106,columnNumber:13},this),e.jsxDEV("span",{className:"text-[10px] font-mono text-text-quaternary",children:["source: ",a.source]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:107,columnNumber:13},this),a.last_seen_at&&e.jsxDEV("span",{className:"text-[10px] text-text-quaternary",children:["last seen ",e.jsxDEV(b,{date:a.last_seen_at},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:109,columnNumber:76},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:109,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:105,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:97,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV($,{onRefresh:()=>N(),isFetching:S,apiPath:`/topics/by-name/${encodeURIComponent(a.topic)}`},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:115,columnNumber:11},this),!t&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("button",{onClick:q,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors",children:[e.jsxDEV(L,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:123,columnNumber:17},this)," Edit"]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:122,columnNumber:15},this),!C&&e.jsxDEV("button",{onClick:W,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-red-400/60 hover:text-red-400 hover:bg-red-600/10 transition-colors",children:[e.jsxDEV(z,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:127,columnNumber:19},this)," Delete"]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:126,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:121,columnNumber:13},this),t&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("button",{onClick:R,disabled:h.isPending,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors",children:[e.jsxDEV(A,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:135,columnNumber:17},this)," Save"]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:134,columnNumber:15},this),e.jsxDEV("button",{onClick:O,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-text-tertiary hover:text-text-primary hover:bg-surface-hover transition-colors",children:[e.jsxDEV(M,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:138,columnNumber:17},this)," Cancel"]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:137,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:133,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:114,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:96,columnNumber:7},this),e.jsxDEV("div",{className:"mb-8",children:t?e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"section-header",children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:149,columnNumber:13},this),e.jsxDEV("textarea",{value:x,onChange:s=>g(s.target.value),rows:3,className:"input resize-none",placeholder:"What this topic represents"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:150,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:148,columnNumber:11},this):a.description?e.jsxDEV("p",{className:"text-sm text-text-secondary leading-relaxed",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:160,columnNumber:15},this):e.jsxDEV("p",{className:"text-sm text-text-quaternary italic",children:"No description"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:161,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:146,columnNumber:7},this),e.jsxDEV("div",{className:"mb-8",children:t?e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"section-header",children:"Tags"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:169,columnNumber:13},this),e.jsxDEV("input",{type:"text",value:f,onChange:s=>D(s.target.value),placeholder:"lifecycle, core, error",className:"input font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:170,columnNumber:13},this),e.jsxDEV("p",{className:"hint",children:"Comma-separated. Used for filtering in the catalog."},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:177,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:168,columnNumber:11},this):((E=a.tags)==null?void 0:E.length)>0?e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(G,{className:"w-3 h-3 text-text-quaternary",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:181,columnNumber:13},this),a.tags.map(s=>e.jsxDEV("span",{className:"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-mono text-text-tertiary bg-surface-sunken",children:s},s,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:183,columnNumber:15},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:180,columnNumber:11},this):null},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:166,columnNumber:7},this),e.jsxDEV("div",{className:"mb-8",children:t?e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"section-header",children:"Payload Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:195,columnNumber:13},this),e.jsxDEV("textarea",{value:d,onChange:s=>{v(s.target.value),l("")},rows:12,className:"input-json w-full",placeholder:`{
|
|
4
|
-
"type": "object",
|
|
5
|
-
"properties": {
|
|
6
|
-
"orderId": { "type": "string" }
|
|
7
|
-
}
|
|
8
|
-
}`},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:196,columnNumber:13},this),T&&e.jsxDEV("p",{className:"text-[10px] text-red-400 mt-1",children:T},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:203,columnNumber:29},this),e.jsxDEV("p",{className:"hint",children:"JSON Schema describing the event.data shape. Shown in subscription editor as field reference."},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:204,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:194,columnNumber:11},this):a.payload_schema?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(p,{icon:o,color:"text-accent",children:"Payload Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:208,columnNumber:13},this),e.jsxDEV(V,{data:a.payload_schema},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:209,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:207,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(p,{icon:o,color:"text-accent",children:"Payload Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:213,columnNumber:13},this),e.jsxDEV("p",{className:"text-[11px] text-text-quaternary",children:"No schema defined. Click Edit to add one."},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:214,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:212,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:192,columnNumber:7},this),a.example_payload&&e.jsxDEV("div",{className:"mb-8",children:[e.jsxDEV(p,{icon:o,color:"text-cyan-400",children:"Example Payload"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:222,columnNumber:11},this),e.jsxDEV(V,{data:a.example_payload},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:223,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:221,columnNumber:9},this),e.jsxDEV("div",{className:"mb-8",children:[e.jsxDEV(p,{icon:y,color:"text-emerald-400",children:["Subscribers (",((P=a.subscribers)==null?void 0:P.length)??0,")"]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:229,columnNumber:9},this),(j=a.subscribers)!=null&&j.length?e.jsxDEV("div",{className:"space-y-1",children:a.subscribers.map(s=>e.jsxDEV("div",{className:"flex items-center justify-between py-2 px-3 rounded-md hover:bg-surface-hover transition-colors",children:[e.jsxDEV("button",{onClick:()=>c(`/agents/${s.agent_id}`),className:"flex items-center gap-2 text-left min-w-0",children:[e.jsxDEV(y,{className:"w-3 h-3 text-emerald-400 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:240,columnNumber:19},this),e.jsxDEV("span",{className:"text-xs text-text-primary hover:text-accent transition-colors",children:s.agent_name},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:241,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:236,columnNumber:17},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:"text-[10px] font-mono text-text-quaternary",children:s.topic},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:244,columnNumber:19},this),e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:s.reaction_type},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:245,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:243,columnNumber:17},this)]},s.id,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:235,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:233,columnNumber:11},this):e.jsxDEV("p",{className:"text-[11px] text-text-quaternary py-2",children:"No agents are subscribed to this topic."},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:251,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:228,columnNumber:7},this),e.jsxDEV("div",{className:"text-[10px] text-text-quaternary space-y-1 pt-4 border-t border-surface-border",children:[e.jsxDEV("p",{children:["Created ",e.jsxDEV(b,{date:a.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:257,columnNumber:20},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:257,columnNumber:9},this),e.jsxDEV("p",{children:["Updated ",e.jsxDEV(b,{date:a.updated_at},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:258,columnNumber:20},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:258,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:256,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicDetailPage.tsx",lineNumber:94,columnNumber:5},this)}export{te as TopicDetailPage};
|
|
9
|
-
//# sourceMappingURL=TopicDetailPage-DadwM52Y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TopicDetailPage-DadwM52Y.js","sources":["../../src/pages/topics/TopicDetailPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport { Radio, Bot, Tag, Pencil, Trash2, Save, X, BookOpen } from 'lucide-react';\nimport { useTopic, useUpdateTopic, useDeleteTopic } from '../../api/topics';\nimport { JsonViewer } from '../../components/common/data/JsonViewer';\nimport { DateValue } from '../../components/common/display/DateValue';\nimport { ListToolbar } from '../../components/common/data/ListToolbar';\n\nconst CATEGORY_COLORS: Record<string, string> = {\n task: 'bg-blue-400/15 text-blue-400',\n workflow: 'bg-accent/15 text-accent',\n escalation: 'bg-amber-400/15 text-amber-400',\n activity: 'bg-cyan-400/15 text-cyan-400',\n knowledge: 'bg-violet-400/15 text-violet-400',\n agent: 'bg-emerald-400/15 text-emerald-400',\n app: 'bg-rose-400/15 text-rose-400',\n milestone: 'bg-violet-400/15 text-violet-400',\n};\n\nfunction SectionHeader({ icon: Icon, color, children }: { icon: React.ElementType; color: string; children: React.ReactNode }) {\n return (\n <div className=\"flex items-center gap-2 mb-3 pb-2 border-b border-surface-border\">\n <Icon className={`w-4 h-4 ${color}`} strokeWidth={1.5} />\n <h2 className=\"text-xs font-semibold uppercase tracking-widest text-accent/80\">{children}</h2>\n </div>\n );\n}\n\nexport function TopicDetailPage() {\n const { topic: encodedTopic } = useParams<{ topic: string }>();\n const topicKey = encodedTopic ? decodeURIComponent(encodedTopic) : null;\n const navigate = useNavigate();\n const { data: topic, isLoading, refetch, isFetching } = useTopic(topicKey);\n const updateMutation = useUpdateTopic();\n const deleteMutation = useDeleteTopic();\n\n const [editing, setEditing] = useState(false);\n const [editDescription, setEditDescription] = useState('');\n const [editTags, setEditTags] = useState('');\n const [editSchema, setEditSchema] = useState('');\n const [schemaError, setSchemaError] = useState('');\n\n if (isLoading) {\n return <div className=\"animate-pulse space-y-4\"><div className=\"h-8 bg-surface-sunken rounded w-48\" /><div className=\"h-40 bg-surface-sunken rounded\" /></div>;\n }\n\n if (!topic) {\n return (\n <div className=\"flex flex-col items-center justify-center py-20 text-center\">\n <Radio className=\"w-12 h-12 text-text-quaternary mb-4\" strokeWidth={1} />\n <h2 className=\"text-lg font-medium text-text-primary mb-2\">Topic not found</h2>\n </div>\n );\n }\n\n const isSystem = topic.source === 'system';\n const categoryPillCls = CATEGORY_COLORS[topic.category] ?? 'bg-zinc-400/15 text-zinc-400';\n\n const startEdit = () => {\n setEditDescription(topic.description ?? '');\n setEditTags((topic.tags ?? []).join(', '));\n setEditSchema(topic.payload_schema ? JSON.stringify(topic.payload_schema, null, 2) : '');\n setSchemaError('');\n setEditing(true);\n };\n\n const cancelEdit = () => setEditing(false);\n\n const saveEdit = () => {\n const tags = editTags.split(',').map((t) => t.trim()).filter(Boolean);\n let payload_schema: Record<string, any> | undefined;\n if (editSchema.trim()) {\n try {\n payload_schema = JSON.parse(editSchema);\n setSchemaError('');\n } catch {\n setSchemaError('Invalid JSON');\n return;\n }\n }\n updateMutation.mutate(\n { topic: topic.topic, description: editDescription, tags, ...(payload_schema !== undefined ? { payload_schema } : {}) },\n { onSuccess: () => { setEditing(false); refetch(); } },\n );\n };\n\n const handleDelete = () => {\n if (confirm(`Delete topic \"${topic.topic}\"?\\n\\nThis removes it from the catalog. Active subscriptions are not affected.`)) {\n deleteMutation.mutate(topic.topic, { onSuccess: () => navigate('/topics') });\n }\n };\n\n return (\n <div className=\"max-w-3xl\">\n {/* Header */}\n <div className=\"flex items-start justify-between mb-6\">\n <div>\n <div className=\"flex items-center gap-3 mb-2\">\n <Radio className=\"w-5 h-5 text-accent\" strokeWidth={1.5} />\n <h1 className=\"text-lg font-mono font-medium text-text-primary\">{topic.topic}</h1>\n <button onClick={() => { window.location.hash = '#docs:topics.md'; }} className=\"text-text-quaternary hover:text-accent transition-colors\" title=\"Topic docs\">\n <BookOpen className=\"w-4 h-4\" strokeWidth={1.5} />\n </button>\n </div>\n <div className=\"flex items-center gap-3\">\n <span className={`inline-flex items-center px-2 py-0.5 rounded text-[10px] font-medium ${categoryPillCls}`}>{topic.category}</span>\n <span className=\"text-[10px] font-mono text-text-quaternary\">source: {topic.source}</span>\n {topic.last_seen_at && (\n <span className=\"text-[10px] text-text-quaternary\">last seen <DateValue date={topic.last_seen_at} /></span>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <ListToolbar\n onRefresh={() => refetch()}\n isFetching={isFetching}\n apiPath={`/topics/by-name/${encodeURIComponent(topic.topic)}`}\n />\n {!editing && (\n <>\n <button onClick={startEdit} className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors\">\n <Pencil className=\"w-3 h-3\" /> Edit\n </button>\n {!isSystem && (\n <button onClick={handleDelete} className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-red-400/60 hover:text-red-400 hover:bg-red-600/10 transition-colors\">\n <Trash2 className=\"w-3 h-3\" /> Delete\n </button>\n )}\n </>\n )}\n {editing && (\n <>\n <button onClick={saveEdit} disabled={updateMutation.isPending} className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors\">\n <Save className=\"w-3 h-3\" /> Save\n </button>\n <button onClick={cancelEdit} className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-text-tertiary hover:text-text-primary hover:bg-surface-hover transition-colors\">\n <X className=\"w-3 h-3\" /> Cancel\n </button>\n </>\n )}\n </div>\n </div>\n\n {/* Description */}\n <div className=\"mb-8\">\n {editing ? (\n <div>\n <label className=\"section-header\">Description</label>\n <textarea\n value={editDescription}\n onChange={(e) => setEditDescription(e.target.value)}\n rows={3}\n className=\"input resize-none\"\n placeholder=\"What this topic represents\"\n />\n </div>\n ) : (\n topic.description\n ? <p className=\"text-sm text-text-secondary leading-relaxed\">{topic.description}</p>\n : <p className=\"text-sm text-text-quaternary italic\">No description</p>\n )}\n </div>\n\n {/* Tags */}\n <div className=\"mb-8\">\n {editing ? (\n <div>\n <label className=\"section-header\">Tags</label>\n <input\n type=\"text\"\n value={editTags}\n onChange={(e) => setEditTags(e.target.value)}\n placeholder=\"lifecycle, core, error\"\n className=\"input font-mono\"\n />\n <p className=\"hint\">Comma-separated. Used for filtering in the catalog.</p>\n </div>\n ) : topic.tags?.length > 0 ? (\n <div className=\"flex items-center gap-2\">\n <Tag className=\"w-3 h-3 text-text-quaternary\" strokeWidth={1.5} />\n {topic.tags.map((tag) => (\n <span key={tag} className=\"inline-flex items-center px-2 py-0.5 rounded text-[10px] font-mono text-text-tertiary bg-surface-sunken\">\n {tag}\n </span>\n ))}\n </div>\n ) : null}\n </div>\n\n {/* Payload Schema */}\n <div className=\"mb-8\">\n {editing ? (\n <div>\n <label className=\"section-header\">Payload Schema</label>\n <textarea\n value={editSchema}\n onChange={(e) => { setEditSchema(e.target.value); setSchemaError(''); }}\n rows={12}\n className=\"input-json w-full\"\n placeholder={'{\\n \"type\": \"object\",\\n \"properties\": {\\n \"orderId\": { \"type\": \"string\" }\\n }\\n}'}\n />\n {schemaError && <p className=\"text-[10px] text-red-400 mt-1\">{schemaError}</p>}\n <p className=\"hint\">JSON Schema describing the event.data shape. Shown in subscription editor as field reference.</p>\n </div>\n ) : topic.payload_schema ? (\n <>\n <SectionHeader icon={Radio} color=\"text-accent\">Payload Schema</SectionHeader>\n <JsonViewer data={topic.payload_schema} />\n </>\n ) : (\n <>\n <SectionHeader icon={Radio} color=\"text-accent\">Payload Schema</SectionHeader>\n <p className=\"text-[11px] text-text-quaternary\">No schema defined. Click Edit to add one.</p>\n </>\n )}\n </div>\n\n {/* Example Payload */}\n {topic.example_payload && (\n <div className=\"mb-8\">\n <SectionHeader icon={Radio} color=\"text-cyan-400\">Example Payload</SectionHeader>\n <JsonViewer data={topic.example_payload} />\n </div>\n )}\n\n {/* Subscribers */}\n <div className=\"mb-8\">\n <SectionHeader icon={Bot} color=\"text-emerald-400\">\n Subscribers ({topic.subscribers?.length ?? 0})\n </SectionHeader>\n {topic.subscribers?.length ? (\n <div className=\"space-y-1\">\n {topic.subscribers.map((sub) => (\n <div key={sub.id} className=\"flex items-center justify-between py-2 px-3 rounded-md hover:bg-surface-hover transition-colors\">\n <button\n onClick={() => navigate(`/agents/${sub.agent_id}`)}\n className=\"flex items-center gap-2 text-left min-w-0\"\n >\n <Bot className=\"w-3 h-3 text-emerald-400 shrink-0\" strokeWidth={1.5} />\n <span className=\"text-xs text-text-primary hover:text-accent transition-colors\">{sub.agent_name}</span>\n </button>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-[10px] font-mono text-text-quaternary\">{sub.topic}</span>\n <span className=\"text-[10px] text-text-tertiary\">{sub.reaction_type}</span>\n </div>\n </div>\n ))}\n </div>\n ) : (\n <p className=\"text-[11px] text-text-quaternary py-2\">No agents are subscribed to this topic.</p>\n )}\n </div>\n\n {/* Metadata */}\n <div className=\"text-[10px] text-text-quaternary space-y-1 pt-4 border-t border-surface-border\">\n <p>Created <DateValue date={topic.created_at} /></p>\n <p>Updated <DateValue date={topic.updated_at} /></p>\n </div>\n </div>\n );\n}\n"],"names":["CATEGORY_COLORS","SectionHeader","Icon","color","children","jsxDEV","TopicDetailPage","encodedTopic","useParams","topicKey","navigate","useNavigate","topic","isLoading","refetch","isFetching","useTopic","updateMutation","useUpdateTopic","deleteMutation","useDeleteTopic","editing","setEditing","useState","editDescription","setEditDescription","editTags","setEditTags","editSchema","setEditSchema","schemaError","setSchemaError","Radio","isSystem","categoryPillCls","startEdit","cancelEdit","saveEdit","tags","t","payload_schema","handleDelete","BookOpen","DateValue","ListToolbar","Fragment","Pencil","Trash2","Save","X","e","_a","Tag","tag","JsonViewer","Bot","_b","_c","sub"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,c as m}from"./index-CCOSf1PY.js";import{u as d}from"./topics-p8anbgi0.js";import{u}from"./useFilterParams-CGRYFw_A.js";import{D as b}from"./DataTable-J5R6mepB.js";import{S as g}from"./StickyPagination-CGk8VAKt.js";import{F as f,b as x}from"./FilterBar-Bdssa-Xn.js";import{P as N}from"./PageHeader-COcgWWf-.js";import{L as h}from"./ListToolbar-jy8NL6ll.js";import{R as v}from"./vendor-icons-CBOM6Es0.js";import{c as y}from"./vendor-react-Co3Y8ikm.js";import"./vendor-query-DLp59M9_.js";import"./EmptyState-BXGvOADa.js";const P={task:"bg-blue-400/15 text-blue-400",workflow:"bg-accent/15 text-accent",escalation:"bg-amber-400/15 text-amber-400",activity:"bg-cyan-400/15 text-cyan-400",knowledge:"bg-violet-400/15 text-violet-400",agent:"bg-emerald-400/15 text-emerald-400",app:"bg-rose-400/15 text-rose-400",milestone:"bg-violet-400/15 text-violet-400"},T=[{value:"task",label:"Task"},{value:"workflow",label:"Workflow"},{value:"escalation",label:"Escalation"},{value:"activity",label:"Activity"},{value:"knowledge",label:"Knowledge"},{value:"agent",label:"Agent"},{value:"app",label:"App"},{value:"milestone",label:"Milestone"}];function D({category:a}){const s=P[a]??"bg-zinc-400/15 text-zinc-400";return e.jsxDEV("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-[10px] font-medium ${s}`,children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:37,columnNumber:5},this)}const E=[{key:"topic",label:"Topic",render:a=>e.jsxDEV("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsxDEV(v,{className:"w-3 h-3 shrink-0 text-text-quaternary",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:49,columnNumber:9},void 0),e.jsxDEV("span",{className:"text-xs font-mono text-text-primary truncate",children:a.topic},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:50,columnNumber:9},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:48,columnNumber:7},void 0)},{key:"category",label:"Category",render:a=>e.jsxDEV(D,{category:a.category},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:57,columnNumber:22},void 0),className:"w-28"},{key:"description",label:"Description",render:a=>a.description?e.jsxDEV("span",{className:"text-[11px] text-text-secondary truncate block max-w-xs",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:64,columnNumber:9},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:65,columnNumber:9},void 0)},{key:"source",label:"Source",render:a=>e.jsxDEV("span",{className:"text-[10px] font-mono text-text-tertiary",children:a.source},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:71,columnNumber:7},void 0),className:"w-24"},{key:"subscriber_count",label:"Subscribers",render:a=>{const s=a.subscriber_count??0;return s?e.jsxDEV("span",{className:"inline-flex items-center justify-center min-w-[20px] px-1.5 py-0.5 rounded-full text-[10px] font-medium bg-accent/15 text-accent",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:82,columnNumber:9},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:80,columnNumber:26},void 0)},className:"w-24 text-center"},{key:"last_seen_at",label:"Last Seen",render:a=>a.last_seen_at?e.jsxDEV("span",{className:"whitespace-nowrap",children:e.jsxDEV(m,{date:a.last_seen_at},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:93,columnNumber:45},void 0)},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:93,columnNumber:9},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:94,columnNumber:9},void 0),className:"w-28"}];function A(){const a=y(),{filters:s,setFilter:l,pagination:t}=u({filters:{category:""}}),{data:i,isLoading:c,refetch:n,isFetching:p}=d({category:s.category||void 0,limit:t.pageSize,offset:t.offset}),r=(i==null?void 0:i.total)??0;return e.jsxDEV("div",{children:[e.jsxDEV(N,{title:"Topic Catalog",docsHash:"#docs:topics.md"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:116,columnNumber:7},this),e.jsxDEV(f,{actions:e.jsxDEV(h,{onRefresh:()=>n(),isFetching:p,apiPath:`/topics?limit=${t.pageSize}&offset=${t.offset}${s.category?`&category=${s.category}`:""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:119,columnNumber:9},this),children:e.jsxDEV(x,{label:"Category",value:s.category,onChange:o=>l("category",o),options:T},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:125,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:118,columnNumber:7},this),e.jsxDEV(b,{columns:E,data:(i==null?void 0:i.topics)??[],keyFn:o=>o.topic,onRowClick:o=>a(`/topics/${encodeURIComponent(o.topic)}`),isLoading:c,emptyMessage:"No topics registered yet"},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:133,columnNumber:7},this),e.jsxDEV(g,{page:t.page,totalPages:t.totalPages(r),onPageChange:t.setPage,total:r,pageSize:t.pageSize,onPageSizeChange:t.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:142,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/topics/TopicsPage.tsx",lineNumber:115,columnNumber:5},this)}export{A as TopicsPage};
|
|
2
|
-
//# sourceMappingURL=TopicsPage-DbtrnQON.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s}from"./index-CCOSf1PY.js";import{a as m}from"./users-oXOlnold.js";function i({userId:a,fallback:r}){const{data:e}=m(a);return e?s.jsxDEV(s.Fragment,{children:e.display_name||e.email||e.external_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/UserName.tsx",lineNumber:11,columnNumber:12},this):s.jsxDEV(s.Fragment,{children:r??`${a.slice(0,8)}…`},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/UserName.tsx",lineNumber:15,columnNumber:10},this)}export{i as U};
|
|
2
|
-
//# sourceMappingURL=UserName-CLbusknU.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,c as v,D as T,J as D,d as C}from"./index-CCOSf1PY.js";import{a as k}from"./vendor-query-DLp59M9_.js";import{a as I,g as R}from"./workflows-Yq7cK-vR.js";import{h as S}from"./useEventHooks-VaJ52jMm.js";import{u as $,E as L}from"./EventTable-CvJ98E8s.js";import{b as A,e as K}from"./tasks-Cc-QoITQ.js";import{P as Q}from"./PageHeader-COcgWWf-.js";import{C as g}from"./CollapsibleSection-kYTBL7dT.js";import{L as z}from"./ListToolbar-jy8NL6ll.js";import{S as j}from"./StatusBadge-CQlF46RR.js";import{L as f,e as B,u as J,c as M}from"./vendor-react-Co3Y8ikm.js";import{S as O}from"./SwimlaneTimeline-MEUPc3yJ.js";import"./vendor-icons-CBOM6Es0.js";import"./FilterBar-Bdssa-Xn.js";function m({label:s,value:t,mono:a,truncate:o,children:r}){return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:22,columnNumber:7},this),r||e.jsxDEV("p",{className:`text-xs text-text-primary ${a?"font-mono":""} ${o?"truncate":""}`,title:o?t:void 0,children:t},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:21,columnNumber:5},this)}function F(s){const t=s.lastIndexOf("-");return t<=0?{taskQueue:s,workflowType:s}:{taskQueue:s.substring(0,t),workflowType:s.substring(t+1)}}function U({execution:s,task:t,escalations:a}){const r=t&&t.workflow_id===s.workflow_id?t.parent_workflow_id:null,{taskQueue:l,workflowType:d}=F(s.workflow_type);return e.jsxDEV("div",{className:"px-6 py-6 mb-6",children:[e.jsxDEV("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-y-4 gap-x-8",children:[e.jsxDEV(m,{label:"Workflow Type",value:d,mono:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:69,columnNumber:9},this),e.jsxDEV(m,{label:"Task Queue",value:l,mono:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:70,columnNumber:9},this),e.jsxDEV(m,{label:"Start Time",children:s.start_time?e.jsxDEV(v,{date:s.start_time,format:"datetime",className:"text-text-primary"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:73,columnNumber:15},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"--"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:74,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:71,columnNumber:9},this),e.jsxDEV(m,{label:"End Time",children:s.close_time?e.jsxDEV(v,{date:s.close_time,format:"datetime",className:"text-text-primary"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:78,columnNumber:15},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"--"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:79,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:76,columnNumber:9},this),e.jsxDEV(m,{label:"Duration",children:e.jsxDEV(T,{ms:s.duration_ms,className:"font-mono text-text-primary"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:81,columnNumber:9},this),e.jsxDEV(m,{label:"History Size",value:`${s.summary.total_events} events`},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:84,columnNumber:9},this),e.jsxDEV(m,{label:"Activities",value:`${s.summary.activities.completed} / ${s.summary.activities.total}`},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:88,columnNumber:9},this),e.jsxDEV(m,{label:"Run ID",value:s.workflow_id,mono:!0,truncate:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:92,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:68,columnNumber:7},this),(r||t||a&&a.length>0)&&e.jsxDEV("div",{className:"mt-5 pt-4 border-t border-surface-border space-y-3",children:[r&&e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary shrink-0",children:"Parent"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:106,columnNumber:15},this),e.jsxDEV(f,{to:`/workflows/executions/${r}`,className:"text-xs font-mono text-accent hover:underline truncate",title:r,children:r},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:109,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:105,columnNumber:13},this),!1,a&&a.length>0&&e.jsxDEV("div",{className:"flex items-start gap-2",children:[e.jsxDEV("span",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary shrink-0 mt-0.5",children:a.length===1?"Escalation":"Escalations"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:137,columnNumber:15},this),e.jsxDEV("div",{className:"flex flex-wrap gap-x-4 gap-y-1",children:a.map(n=>e.jsxDEV(f,{to:`/escalations/detail/${n.id}`,className:"inline-flex items-center gap-1.5 text-xs font-mono text-accent hover:underline",children:[e.jsxDEV("span",{children:n.type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:147,columnNumber:21},this),e.jsxDEV(j,{status:n.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:148,columnNumber:21},this)]},n.id,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:142,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:140,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:136,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:102,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionHeader.tsx",lineNumber:66,columnNumber:5},this)}function q(s){var o;const t=s.events.find(r=>r.event_type==="workflow_execution_started"),a=(o=t==null?void 0:t.attributes)==null?void 0:o.input;return a&&typeof a=="object"?a:null}function Z({execution:s}){const t=q(s),a=s.result,o=(a==null?void 0:a.data)??a??null;return!t&&!o?null:e.jsxDEV("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-6",children:[t!==null&&e.jsxDEV("div",{children:e.jsxDEV(D,{data:t,label:"Input Envelope"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionInputResult.tsx",lineNumber:34,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionInputResult.tsx",lineNumber:33,columnNumber:9},this),o!==null&&e.jsxDEV("div",{children:e.jsxDEV(D,{data:o,label:"Result"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionInputResult.tsx",lineNumber:39,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionInputResult.tsx",lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/workflow-execution/ExecutionInputResult.tsx",lineNumber:31,columnNumber:5},this)}function G({isRunning:s,hasToolCalls:t,workflowId:a,onAction:o}){const[r,l]=k.useState(!1),d=k.useRef(null);return k.useEffect(()=>{if(!r)return;const n=x=>{d.current&&!d.current.contains(x.target)&&l(!1)};return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[r]),e.jsxDEV("div",{className:"relative",ref:d,children:[e.jsxDEV("button",{onClick:()=>l(!r),className:"btn-primary text-xs",children:"Actions"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:39,columnNumber:7},this),r&&e.jsxDEV("div",{className:"absolute right-0 mt-1 w-44 bg-surface-raised border border-surface-border rounded-md shadow-lg z-10",children:[e.jsxDEV("button",{onClick:()=>{o("restart"),l(!1)},className:"block w-full text-left px-4 py-2 text-xs text-text-secondary hover:bg-surface-hover",children:"Restart Workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:44,columnNumber:11},this),s&&e.jsxDEV("button",{onClick:()=>{o("terminate"),l(!1)},className:"block w-full text-left px-4 py-2 text-xs text-status-error hover:bg-surface-hover",children:"Terminate"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:51,columnNumber:13},this),t&&e.jsxDEV(f,{to:`/mcp/queries/${a}?step=3`,className:"block w-full text-left px-4 py-2 text-xs text-accent hover:bg-surface-hover",onClick:()=>l(!1),children:"Compile into Pipeline"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:59,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:38,columnNumber:5},this)}function de(){const{workflowId:s}=B(),{pathname:t}=J();S(s);const a=(t.startsWith("/workflows/durable/"),"Durable Execution"),{data:o,isLoading:r,error:l,refetch:d,isFetching:n}=I(s),{data:x}=A(s),{data:u}=K(s),{data:p}=C(s),V=M(),w=R(),{isCollapsed:b,toggle:N}=$("workflow-execution"),y=c=>{var i;if(c==="terminate")confirm("Are you sure you want to terminate this workflow?")&&w.mutate(s);else if(c==="restart"&&o){const H=o.workflow_id.replace(/-[A-Za-z0-9_-]{20,}$/,""),h=o.events.find(_=>_.event_type==="workflow_execution_started"),E=(i=h==null?void 0:h.attributes)==null?void 0:i.input;E&&sessionStorage.setItem("lt:invoke:prefill",JSON.stringify(E)),V(`/workflows/start?type=${encodeURIComponent(H)}&mode=now`)}};if(r)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-64"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:110,columnNumber:9},this),e.jsxDEV("div",{className:"h-60 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:111,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:109,columnNumber:7},this);if(l||!o){const c=(l==null?void 0:l.message)??"",i=c.includes("expired")||c.includes("no longer available");return e.jsxDEV("div",{children:[e.jsxDEV(f,{to:"/workflows/executions",className:"text-xs text-text-tertiary hover:text-text-primary",children:"← Workflows"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:122,columnNumber:9},this),e.jsxDEV("div",{className:"mt-4 text-center py-8",children:[e.jsxDEV("p",{className:"text-sm text-text-primary mb-1",children:i?"Execution data is no longer available":l?"Unable to load execution":"Execution not found"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:126,columnNumber:11},this),e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:i?"This workflow's underlying job has expired. The task record is preserved, but the execution timeline has been cleaned up.":c||"The workflow could not be resolved."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:133,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:125,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:121,columnNumber:7},this)}const W=o.status!=="completed"&&o.status!=="failed",P=o.status==="completed"&&o.events.some(c=>{if(c.event_type!=="activity_task_completed")return!1;const i=c.attributes.activity_type;return i==="callDbTool"||i==="callVisionTool"||i==="callMcpTool"||(i==null?void 0:i.startsWith("mcp_"))});return e.jsxDEV("div",{children:[e.jsxDEV(Q,{title:a,actions:e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV(z,{onRefresh:()=>d(),isFetching:n,apiPath:`/workflow-states/${s}/execution`},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:158,columnNumber:13},this),e.jsxDEV(j,{status:o.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:163,columnNumber:13},this),e.jsxDEV(G,{isRunning:W,hasToolCalls:P,workflowId:s,onAction:y},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:164,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:157,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:154,columnNumber:7},this),e.jsxDEV(U,{execution:o,task:x,childTasks:u==null?void 0:u.tasks,escalations:p==null?void 0:p.escalations},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:174,columnNumber:7},this),w.error&&e.jsxDEV("div",{className:"py-3 mb-6",children:e.jsxDEV("p",{className:"text-xs text-status-error",children:["Terminate failed: ",w.error.message]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:183,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:182,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV(g,{title:"Details",sectionKey:"details",isCollapsed:b("details"),onToggle:N,contentClassName:"mt-4 ml-9",children:e.jsxDEV(Z,{execution:o},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:192,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:191,columnNumber:9},this),e.jsxDEV(g,{title:"Execution Timeline",sectionKey:"timeline",isCollapsed:b("timeline"),onToggle:N,contentClassName:"mt-4 ml-9",children:e.jsxDEV(O,{events:o.events,childTasks:u==null?void 0:u.tasks},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:196,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:195,columnNumber:9},this),e.jsxDEV(g,{title:"Events",sectionKey:"events",isCollapsed:b("events"),onToggle:N,contentClassName:"mt-4 ml-9",children:e.jsxDEV(L,{events:o.events,childTasks:u==null?void 0:u.tasks},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:203,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:202,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:190,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowExecutionPage.tsx",lineNumber:153,columnNumber:5},this)}export{de as WorkflowExecutionPage};
|
|
2
|
-
//# sourceMappingURL=WorkflowExecutionPage-C61R-3Gg.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as r}from"./index-CCOSf1PY.js";import{c as m,W as d,S as u,a6 as f}from"./vendor-icons-CBOM6Es0.js";const b=[{text:"text-rose-400",bg:"bg-rose-400/[0.08]"},{text:"text-pink-400",bg:"bg-pink-400/[0.08]"},{text:"text-fuchsia-400",bg:"bg-fuchsia-400/[0.08]"},{text:"text-purple-400",bg:"bg-purple-400/[0.08]"},{text:"text-violet-400",bg:"bg-violet-400/[0.08]"},{text:"text-indigo-400",bg:"bg-indigo-400/[0.08]"},{text:"text-blue-400",bg:"bg-blue-400/[0.08]"},{text:"text-sky-400",bg:"bg-sky-400/[0.08]"},{text:"text-cyan-400",bg:"bg-cyan-400/[0.08]"},{text:"text-teal-400",bg:"bg-teal-400/[0.08]"},{text:"text-emerald-400",bg:"bg-emerald-400/[0.08]"},{text:"text-green-400",bg:"bg-green-400/[0.08]"},{text:"text-lime-400",bg:"bg-lime-400/[0.08]"},{text:"text-yellow-400",bg:"bg-yellow-400/[0.08]"},{text:"text-amber-400",bg:"bg-amber-400/[0.08]"},{text:"text-orange-400",bg:"bg-orange-400/[0.08]"},{text:"text-red-400",bg:"bg-red-400/[0.08]"},{text:"text-stone-400",bg:"bg-stone-400/[0.08]"},{text:"text-rose-300",bg:"bg-rose-300/[0.08]"},{text:"text-violet-300",bg:"bg-violet-300/[0.08]"},{text:"text-sky-300",bg:"bg-sky-300/[0.08]"},{text:"text-teal-300",bg:"bg-teal-300/[0.08]"},{text:"text-amber-300",bg:"bg-amber-300/[0.08]"},{text:"text-pink-300",bg:"bg-pink-300/[0.08]"}];function h(e){let t=0;for(let o=0;o<e.length;o++)t=(t<<5)-t+e.charCodeAt(o)|0;return Math.abs(t)}function k(e){return b[h(e)%b.length]}const y={certified:f,configured:u,pipeline:d,durable:m},N={certified:"text-status-success",configured:"text-status-info"};function v({type:e,size:t="sm",certified:o,variant:g}){const l=t==="md"?"px-2.5 py-0.5 gap-1.5":t==="xs"?"px-1 py-px gap-0.5":"px-1.5 py-px gap-1",a=t==="md"?"13px":t==="xs"?"9px":"11px",i=t==="md"?"w-3.5 h-3.5":t==="xs"?"w-2 h-2":"w-2.5 h-2.5",s=g??(o?"certified":"durable"),c=y[s],n=N[s],x=n?null:k(e),p=n||((x==null?void 0:x.text)??"text-accent/75");return r.jsxDEV("span",{className:`inline-flex items-center ${l} font-mono text-text-secondary border border-surface-border rounded-lg`,style:{fontSize:a,lineHeight:1.1},children:[r.jsxDEV(c,{className:`${i} shrink-0 ${p}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/WorkflowPill.tsx",lineNumber:46,columnNumber:7},this),e]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/WorkflowPill.tsx",lineNumber:45,columnNumber:5},this)}export{v as W};
|
|
2
|
-
//# sourceMappingURL=WorkflowPill-7vt2F6wR.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as $,j as a}from"./index-CCOSf1PY.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{T as k}from"./TimestampCell-B4Pc6f3A.js";import{E as T}from"./ElapsedCell-ChyMzl9n.js";import{u as P,e as F,b as R}from"./workflows-Yq7cK-vR.js";import{b as z}from"./useEventHooks-VaJ52jMm.js";import{u as A}from"./useFilterParams-CGRYFw_A.js";import{D as L}from"./DataTable-J5R6mepB.js";import{W as M}from"./WorkflowPill-7vt2F6wR.js";import{P as I}from"./PageHeader-COcgWWf-.js";import{F as U,b as p}from"./FilterBar-Bdssa-Xn.js";import{S as O}from"./StickyPagination-CGk8VAKt.js";import{L as B}from"./ListToolbar-jy8NL6ll.js";import{R as H,a as g}from"./RowActions-Bs4PF-Gd.js";import{q,S as G}from"./vendor-icons-CBOM6Es0.js";import{c as J}from"./vendor-react-Co3Y8ikm.js";import"./EmptyState-BXGvOADa.js";const K={running:"in_progress",completed:"completed",failed:"failed"},Q={in_progress:"bg-status-active",completed:"bg-status-success",failed:"bg-status-error"},X={running:"text-status-active",completed:"text-status-success",failed:"text-status-error"};function Y(m,i,c,o,r){return[{key:"workflow_id",label:"Workflow ID / Type",render:e=>{const t=Q[K[e.status]??e.status]??"bg-status-pending",f=e.status==="running"?" animate-pulse":"";return a.jsxDEV("div",{className:"flex items-start gap-2 min-w-0",children:[a.jsxDEV("span",{className:`w-1.5 h-1.5 shrink-0 rounded-full mt-1.5 ${t}${f}`,title:e.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:55,columnNumber:13},this),a.jsxDEV("div",{className:"min-w-0",children:[a.jsxDEV("span",{className:"font-mono text-xs text-text-primary truncate block",children:e.workflow_id},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:57,columnNumber:15},this),a.jsxDEV("div",{className:"mt-0.5",children:a.jsxDEV(M,{type:e.entity,variant:r.get(e.entity)??"durable",size:"xs"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:61,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:60,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:56,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:54,columnNumber:11},this)}},{key:"created_at",label:"Created",render:e=>a.jsxDEV(k,{date:e.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:71,columnNumber:24},this),className:"w-40",sortable:!0},{key:"updated_at",label:"Updated",render:e=>a.jsxDEV(k,{date:e.updated_at},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:78,columnNumber:24},this),className:"w-40",sortable:!0},{key:"duration",label:"Duration",render:e=>a.jsxDEV(T,{startDate:e.created_at,endDate:e.status==="running"?null:e.updated_at,isLive:e.status==="running"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:86,columnNumber:9},this),className:"w-28"},{key:"actions",label:"",render:e=>a.jsxDEV(H,{children:[a.jsxDEV(g,{icon:q,title:`Filter by ${e.entity}`,onClick:()=>m(e.entity)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:99,columnNumber:11},this),a.jsxDEV("button",{onClick:t=>{t.stopPropagation(),i(e.status)},className:"opacity-0 group-hover/row:opacity-100 transition-opacity",title:`Filter by ${e.status}`,children:a.jsxDEV("svg",{className:`w-[18px] h-[18px] ${X[e.status]??"text-text-tertiary"} hover:opacity-70`,viewBox:"0 0 24 24",fill:"currentColor",children:a.jsxDEV("circle",{cx:"12",cy:"12",r:"6"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:110,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:109,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:104,columnNumber:11},this),c&&a.jsxDEV(g,{icon:G,title:"View config",onClick:()=>o(`/workflows/registry/${encodeURIComponent(e.entity)}`)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:114,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:98,columnNumber:9},this),className:"w-24 text-right"}]}function he({tier:m="all"}){z();const i=J(),{isSuperAdmin:c}=$(),{filters:o,setFilter:r,pagination:e,sort:t,setSort:f}=A({filters:{search:"",entity:"",status:"",tier:m}}),n=o.tier||"all",x=n==="certified"?"true":n==="durable"?"false":void 0,{data:b}=P(),{data:h}=F(),v=u.useMemo(()=>{const s=new Map;for(const N of h??[])s.set(N.workflow_type,N.tier??"durable");return s},[h]),D=Y(s=>r("entity",s),s=>r("status",s),c,i,v),[d,y]=u.useState(o.search);u.useEffect(()=>{if(d===o.search)return;const s=setTimeout(()=>r("search",d),300);return()=>clearTimeout(s)},[d,r,o.search]);const{data:l,isLoading:E,refetch:W,isFetching:j}=R({limit:e.pageSize,offset:e.offset,entity:o.entity||void 0,search:o.search||void 0,status:o.status||void 0,sort_by:t.sort_by||void 0,order:t.sort_by?t.order:void 0,registered:x}),w=(l==null?void 0:l.total)??0,V=(l==null?void 0:l.jobs)??[],S=u.useMemo(()=>[...new Set((b??[]).map(s=>s.workflow_type))].sort(),[b]),C="Durable Executions",_=n==="certified"?"No certified workflow executions found":n==="durable"?"No durable workflow executions found":"No workflow executions found";return a.jsxDEV("div",{children:[a.jsxDEV(I,{title:C,docsHash:"#docs:dashboard.md:durable-executions"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:197,columnNumber:7},this),a.jsxDEV(U,{actions:a.jsxDEV(B,{onRefresh:()=>W(),isFetching:j,apiPath:`/workflow-states/jobs?limit=${e.pageSize}&offset=${e.offset}${o.entity?`&entity=${o.entity}`:""}${o.search?`&search=${o.search}`:""}${o.status?`&status=${o.status}`:""}${t.sort_by?`&sort_by=${t.sort_by}&order=${t.order}`:""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:200,columnNumber:9},this),children:[a.jsxDEV("input",{type:"text",placeholder:"Search workflow ID...",value:d,onChange:s=>y(s.target.value),className:"input text-[11px] py-1 px-2 w-56"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:206,columnNumber:9},this),a.jsxDEV(p,{label:"Type",value:o.entity,onChange:s=>r("entity",s),options:S.map(s=>({value:s,label:s}))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:213,columnNumber:9},this),a.jsxDEV(p,{label:"Status",value:o.status,onChange:s=>r("status",s),options:[{value:"running",label:"Running"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:219,columnNumber:9},this),a.jsxDEV(p,{label:"Tier",value:o.tier==="all"?"":o.tier,onChange:s=>r("tier",s||"all"),options:[{value:"certified",label:"Certified"},{value:"durable",label:"Durable"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:229,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:199,columnNumber:7},this),a.jsxDEV(L,{columns:D,data:V,keyFn:s=>s.workflow_id,onRowClick:s=>i(`/workflows/executions/${s.workflow_id}`),isLoading:E,emptyMessage:_,sort:t,onSort:f},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:240,columnNumber:7},this),a.jsxDEV(O,{page:e.page,totalPages:e.totalPages(w),onPageChange:e.setPage,total:w,pageSize:e.pageSize,onPageSizeChange:e.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:251,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsDashboard.tsx",lineNumber:196,columnNumber:5},this)}export{he as WorkflowsDashboard};
|
|
2
|
-
//# sourceMappingURL=WorkflowsDashboard-BWiUNvyl.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./index-CCOSf1PY.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{b as D,u as j}from"./workflows-Yq7cK-vR.js";import{b as W}from"./useEventHooks-VaJ52jMm.js";import{P as E}from"./PageHeader-COcgWWf-.js";import{S as p}from"./StatCard-OKzRSSx4.js";import{c as O}from"./vendor-react-Co3Y8ikm.js";import"./vendor-icons-CBOM6Es0.js";const k=[{label:"1h",ms:36e5},{label:"24h",ms:864e5},{label:"7d",ms:6048e5},{label:"30d",ms:2592e6}];function V(o){return o<1e3?`${Math.round(o)}ms`:o<6e4?`${(o/1e3).toFixed(1)}s`:o<36e5?`${(o/6e4).toFixed(1)}m`:`${(o/36e5).toFixed(1)}h`}function w({value:o,colorClass:n,onClick:b}){return o===0?e.jsxDEV("span",{className:"text-text-tertiary",children:"0"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:49,columnNumber:12},this):e.jsxDEV("button",{onClick:b,className:`${n} hover:underline tabular-nums font-medium`,children:o},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:52,columnNumber:5},this)}function L(){W();const o=O(),[n,b]=u.useState("24h"),{data:m}=D({limit:500}),{data:h}=j(),N=u.useMemo(()=>{const s=k.find(i=>i.label===n);return Date.now()-s.ms},[n]),l=u.useMemo(()=>((m==null?void 0:m.jobs)??[]).filter(s=>new Date(s.created_at).getTime()>=N),[m==null?void 0:m.jobs,N]),v=u.useMemo(()=>{const s=new Map;for(const t of l){const r=s.get(t.entity)??{total:0,running:0,completed:0,failed:0,durations:[]};if(r.total++,t.status==="running"&&r.running++,t.status==="completed"){r.completed++;const f=new Date(t.updated_at).getTime()-new Date(t.created_at).getTime();f>0&&r.durations.push(f)}t.status==="failed"&&r.failed++,s.set(t.entity,r)}const i=[];for(const[t,r]of s)i.push({type:t,...r,avgDuration:r.durations.length>0?r.durations.reduce((f,g)=>f+g,0)/r.durations.length:null});return i.sort((t,r)=>r.total-t.total)},[l]),c=u.useMemo(()=>({total:l.length,running:l.filter(s=>s.status==="running").length,completed:l.filter(s=>s.status==="completed").length,failed:l.filter(s=>s.status==="failed").length}),[l]),x=(h==null?void 0:h.length)??0,a=(s,i)=>{const t=new URLSearchParams;s&&t.set("entity",s),i&&t.set("status",i);const r=t.toString();o(`/workflows/executions${r?`?${r}`:""}`)},d="pb-2 text-[10px] font-semibold uppercase tracking-widest text-text-tertiary";return e.jsxDEV("div",{children:[e.jsxDEV(E,{title:"Workflows",actions:e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:[x," certified type",x!==1?"s":""]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:131,columnNumber:7},this),e.jsxDEV("div",{className:"flex items-center gap-1 mb-6",children:k.map(s=>e.jsxDEV("button",{onClick:()=>b(s.label),className:`px-3 py-1 text-xs rounded-full transition-colors ${n===s.label?"bg-accent text-text-inverse":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:s.label},s.label,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:143,columnNumber:11},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:141,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-4 gap-4 mb-8",children:[e.jsxDEV(p,{label:"Total",value:c.total,onClick:()=>a()},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:159,columnNumber:9},this),e.jsxDEV(p,{label:"Running",value:c.running,colorClass:"text-status-active",onClick:()=>a(void 0,"running")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:160,columnNumber:9},this),e.jsxDEV(p,{label:"Completed",value:c.completed,colorClass:"text-status-success",onClick:()=>a(void 0,"completed")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:161,columnNumber:9},this),e.jsxDEV(p,{label:"Failed",value:c.failed,colorClass:"text-status-error",onClick:()=>a(void 0,"failed")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:162,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:158,columnNumber:7},this),v.length>0&&e.jsxDEV("table",{className:"w-full text-left",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"border-b border-surface-border",children:[e.jsxDEV("th",{className:d,children:"Type"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:170,columnNumber:15},this),e.jsxDEV("th",{className:`${d} text-right w-20`,children:"Total"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:171,columnNumber:15},this),e.jsxDEV("th",{className:`${d} text-right w-20`,children:"Running"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:172,columnNumber:15},this),e.jsxDEV("th",{className:`${d} text-right w-24`,children:"Completed"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:173,columnNumber:15},this),e.jsxDEV("th",{className:`${d} text-right w-20`,children:"Failed"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:174,columnNumber:15},this),e.jsxDEV("th",{className:`${d} text-right w-28`,children:"Avg Duration"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:175,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:169,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:168,columnNumber:11},this),e.jsxDEV("tbody",{children:v.map(s=>e.jsxDEV("tr",{className:"border-b border-surface-border last:border-b-0",children:[e.jsxDEV("td",{className:"py-3 text-sm font-mono text-text-primary",children:e.jsxDEV("button",{onClick:()=>a(s.type),className:"hover:text-accent hover:underline",children:s.type},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:182,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:181,columnNumber:17},this),e.jsxDEV("td",{className:"py-3 text-sm text-right",children:e.jsxDEV(w,{value:s.total,colorClass:"text-text-secondary",onClick:()=>a(s.type)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:190,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:189,columnNumber:17},this),e.jsxDEV("td",{className:"py-3 text-sm text-right",children:e.jsxDEV(w,{value:s.running,colorClass:"text-status-active",onClick:()=>a(s.type,"running")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:193,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:192,columnNumber:17},this),e.jsxDEV("td",{className:"py-3 text-sm text-right",children:e.jsxDEV(w,{value:s.completed,colorClass:"text-status-success",onClick:()=>a(s.type,"completed")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:196,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:195,columnNumber:17},this),e.jsxDEV("td",{className:"py-3 text-sm text-right",children:e.jsxDEV(w,{value:s.failed,colorClass:"text-status-error",onClick:()=>a(s.type,"failed")},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:199,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:198,columnNumber:17},this),e.jsxDEV("td",{className:"py-3 text-sm font-mono text-text-secondary text-right",children:s.avgDuration!==null?V(s.avgDuration):"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:201,columnNumber:17},this)]},s.type,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:180,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:178,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:167,columnNumber:9},this),v.length===0&&e.jsxDEV("div",{className:"py-16 text-center",children:e.jsxDEV("p",{className:"text-sm text-text-tertiary",children:["No workflow activity in the last ",n]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:212,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:211,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/WorkflowsOverview.tsx",lineNumber:130,columnNumber:5},this)}export{L as WorkflowsOverview};
|
|
2
|
-
//# sourceMappingURL=WorkflowsOverview-DA2ZOs7D.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,S as D}from"./index-CCOSf1PY.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{l as J,n as A,o as L,u as R}from"./yaml-workflows-Ch53yD43.js";import{a as z,d as $}from"./useYamlActivityEvents-BU4Uhksl.js";import{u as F}from"./useFilterParams-CGRYFw_A.js";import{u as q}from"./useExpandedRows-Cg9iq6Vy.js";import{P}from"./PageHeader-COcgWWf-.js";import{F as B,a as H,b as C}from"./FilterBar-Bdssa-Xn.js";import{E as U}from"./EmptyState-BXGvOADa.js";import{R as T}from"./RunAsSelector-DXzAr2WW.js";import{b as _,T as G}from"./ToolPill-DdLN3JOT.js";import{X as Y,a0 as X,a7 as K,P as O,l as Q,f as Z,a1 as ee,W as se}from"./vendor-icons-CBOM6Es0.js";import{L as oe,c as re}from"./vendor-react-Co3Y8ikm.js";import{d as W,C as te}from"./helpers-Dz2U3Ctb.js";import{S as M}from"./StatusBadge-CQlF46RR.js";import{S as ae}from"./ServerName-BIdLC1Ay.js";import"./BotPicker-kKBifD1w.js";import"./bots-CtU4i4OQ.js";import"./TimeAgo-CywLVIBA.js";const S={mcp:{border:"border-blue-500",text:"text-blue-500",icon:"MCP"},db:{border:"border-blue-500",text:"text-blue-500",icon:"DB"},llm:{border:"border-violet-500",text:"text-violet-500",icon:"LLM"},transform:{border:"border-emerald-500",text:"text-emerald-500",icon:"Map"}};function le({steps:s,manifest:n,isComplete:r}){const t=n.filter(o=>o.type==="worker"),d=t.length,l=t.map(o=>{const m=s.find(c=>c.activityId===o.activity_id),p=o.tool_source||"mcp",x=S[p]||S.mcp;return{activityId:o.activity_id,title:o.title||o.mcp_tool_name||o.activity_id,toolName:o.mcp_tool_name,colors:x,status:(m==null?void 0:m.status)||"pending",error:m==null?void 0:m.error}});return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[11px] text-text-secondary mb-3",children:r?`All ${d} steps completed`:`Running step ${l.filter(o=>o.status==="completed").length+1} of ${d}...`},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:41,columnNumber:7},this),e.jsxDEV("div",{className:"space-y-0",children:l.map((o,m)=>{const p=m===l.length-1;return e.jsxDEV("div",{className:"flex items-stretch gap-2",children:[e.jsxDEV("div",{className:"flex flex-col items-center w-4 shrink-0",children:[e.jsxDEV("span",{className:`w-2.5 h-2.5 rounded-full shrink-0 border-2 transition-colors ${o.status==="completed"?"bg-status-success border-status-success":o.status==="running"?`${o.colors.border} bg-transparent animate-pulse`:o.status==="failed"?"bg-status-error border-status-error":"bg-surface-sunken border-surface-border"}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:52,columnNumber:17},this),!p&&e.jsxDEV("span",{className:`w-px flex-1 transition-colors ${o.status==="completed"?"bg-status-success/30":"bg-surface-border"}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:59,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:51,columnNumber:15},this),e.jsxDEV("div",{className:p?"":"pb-3",children:[e.jsxDEV("p",{className:`text-[11px] font-medium ${o.status==="running"?"text-text-primary":o.status==="completed"?"text-text-secondary":o.status==="failed"?"text-status-error":"text-text-tertiary"}`,children:o.title},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:65,columnNumber:17},this),o.toolName&&e.jsxDEV("span",{className:"text-[9px] text-text-tertiary font-mono",children:o.toolName},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:72,columnNumber:19},this),o.error&&e.jsxDEV("p",{className:"text-[9px] text-status-error mt-0.5",children:o.error},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:75,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:64,columnNumber:15},this)]},o.activityId,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:50,columnNumber:13},this)})},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:46,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:40,columnNumber:5},this)}function ne({workflow:s,onClose:n}){const r=J(),[t,d]=u.useState(!1),[l,o]=u.useState({}),[m,p]=u.useState(""),[x,c]=u.useState(""),[f,w]=u.useState(""),[N,v]=u.useState(null),[k,g]=u.useState(null),{steps:j,isComplete:a}=z(N);u.useEffect(()=>{v(null),g(null),c(""),r.reset();const b=_(s.input_schema);o(b),p(JSON.stringify(b,null,2)),d(!1)},[s.id]),u.useEffect(()=>{if(a&&N){const b=N,h=setTimeout(()=>{g({jobId:b}),v(null)},800);return()=>clearTimeout(h)}},[a,N]);const i=()=>{if(!t)p(JSON.stringify(l,null,2));else try{o(JSON.parse(m))}catch{}d(!t)},y=async()=>{c(""),g(null);let b;if(t)try{b=JSON.parse(m)}catch{c("Invalid JSON");return}else b={...l};try{const h=await r.mutateAsync({id:s.id,data:b,sync:!1,...f?{execute_as:f}:{}});h.job_id&&v(h.job_id)}catch{}},V=!!N,I=s.app_id||"longtail";return e.jsxDEV("div",{className:"border-l border-surface-border bg-surface-raised flex flex-col h-full",children:[e.jsxDEV("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border shrink-0",children:[e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV("p",{className:"text-xs font-medium text-text-primary truncate",children:s.app_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:161,columnNumber:11},this),e.jsxDEV("code",{className:"text-[11px] font-mono text-accent truncate block",children:s.graph_topic},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:162,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:160,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{V||n()},className:"p-1 text-text-tertiary hover:text-text-primary shrink-0 ml-2",children:e.jsxDEV(Y,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:164,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:159,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-4",children:V?e.jsxDEV(le,{steps:j,manifest:s.activity_manifest,isComplete:a},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:172,columnNumber:11},this):k?e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("svg",{className:"w-4 h-4 text-status-success",viewBox:"0 0 16 16",fill:"currentColor",children:e.jsxDEV("path",{d:"M8 1a7 7 0 110 14A7 7 0 018 1zm3.36 4.65a.5.5 0 00-.72 0L7 9.29 5.36 7.65a.5.5 0 10-.72.7l2 2a.5.5 0 00.72 0l4-4a.5.5 0 000-.7z"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:177,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:176,columnNumber:15},this),e.jsxDEV("p",{className:"text-xs font-medium text-status-success",children:"Workflow completed"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:179,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:175,columnNumber:13},this),e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV(oe,{to:`/mcp/executions/${encodeURIComponent(k.jobId)}?namespace=${encodeURIComponent(I)}`,className:"inline-flex items-center gap-1.5 text-xs text-accent hover:underline",children:[e.jsxDEV(X,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:186,columnNumber:17},this)," View execution"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:182,columnNumber:15},this),e.jsxDEV("button",{onClick:()=>g(null),className:"btn-primary text-xs inline-flex items-center gap-1.5",children:[e.jsxDEV(K,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:192,columnNumber:17},this)," Run again"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:188,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:181,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:174,columnNumber:11},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(T,{selected:f,onChange:w},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:198,columnNumber:13},this),s.description&&e.jsxDEV("p",{className:"text-[11px] text-text-secondary leading-relaxed",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:201,columnNumber:15},this),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-1",children:[e.jsxDEV("label",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Input"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:207,columnNumber:17},this),e.jsxDEV("button",{onClick:i,className:"text-[10px] text-accent hover:underline",children:t?"Form view":"JSON view"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:208,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:206,columnNumber:15},this),t?e.jsxDEV("textarea",{value:m,onChange:b=>p(b.target.value),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-2 font-mono text-[11px] text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary resize-y",rows:6,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:214,columnNumber:17},this):e.jsxDEV("div",{className:"space-y-3 max-h-[300px] overflow-y-auto",children:[Object.entries(l).map(([b,h])=>e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:b},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:225,columnNumber:23},this),typeof h=="boolean"?e.jsxDEV("select",{value:String(h),onChange:E=>o({...l,[b]:E.target.value==="true"}),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-1.5 text-xs text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary",children:[e.jsxDEV("option",{value:"true",children:"true"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:232,columnNumber:27},this),e.jsxDEV("option",{value:"false",children:"false"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:233,columnNumber:27},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:227,columnNumber:25},this):typeof h=="object"?e.jsxDEV("textarea",{value:JSON.stringify(h,null,2),onChange:E=>{try{o({...l,[b]:JSON.parse(E.target.value)})}catch{}},className:"w-full min-h-[60px] px-3 py-1.5 bg-surface-sunken border border-surface-border rounded-md font-mono text-xs text-text-primary resize-y focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:236,columnNumber:25},this):e.jsxDEV("input",{type:typeof h=="number"?"number":"text",value:String(h??""),onChange:E=>o({...l,[b]:typeof h=="number"?Number(E.target.value):E.target.value}),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-1.5 text-xs text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:242,columnNumber:25},this)]},b,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:224,columnNumber:21},this)),Object.keys(l).length===0&&e.jsxDEV("p",{className:"text-[11px] text-text-tertiary italic",children:"No input fields defined"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:252,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:222,columnNumber:17},this),x&&e.jsxDEV("p",{className:"text-[11px] text-status-error mt-1",children:x},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:256,columnNumber:29},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:205,columnNumber:13},this),r.isError&&e.jsxDEV("div",{className:"bg-status-error/10 border border-status-error/20 rounded-md px-3 py-2",children:e.jsxDEV("p",{className:"text-[11px] text-status-error",children:r.error instanceof Error?r.error.message:"Invocation failed"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:261,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:260,columnNumber:15},this),e.jsxDEV("button",{onClick:y,disabled:r.isPending,className:"btn-primary text-xs disabled:opacity-50 inline-flex items-center gap-1.5",children:r.isPending?"Starting...":e.jsxDEV(e.Fragment,{children:[e.jsxDEV(O,{size:12},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:271,columnNumber:61},this)," Run"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:271,columnNumber:59},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:266,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:170,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/WorkflowTestPanel.tsx",lineNumber:157,columnNumber:5},this)}function ie({cronInput:s,setCronInput:n,setCron:r,hasCronSchedule:t,onSave:d,onClear:l}){return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{children:[e.jsxDEV(D,{className:"mb-3",children:"Schedule"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:24,columnNumber:9},this),e.jsxDEV("div",{className:"flex gap-3 items-start",children:[e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV("input",{type:"text",value:s,onChange:o=>{n(o.target.value),r.reset()},placeholder:"0 */6 * * *",className:"input-json w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:27,columnNumber:13},this),s.trim()&&W(s.trim())&&e.jsxDEV("p",{className:"text-xs text-text-secondary mt-1.5",children:W(s.trim())},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:38,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:26,columnNumber:11},this),e.jsxDEV("button",{onClick:d,disabled:r.isPending,className:"btn-primary text-xs shrink-0",children:r.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:43,columnNumber:11},this),t&&e.jsxDEV("button",{onClick:l,disabled:r.isPending,className:"btn-ghost text-xs text-status-error shrink-0",children:"Clear"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:51,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:25,columnNumber:9},this),r.isSuccess&&e.jsxDEV("p",{className:"text-[10px] text-status-success mt-2",children:"Schedule updated"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:62,columnNumber:11},this),r.error&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-2",children:r.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:65,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:23,columnNumber:7},this),e.jsxDEV("div",{className:"bg-surface-sunken rounded-lg p-4",children:[e.jsxDEV(D,{className:"mb-2",children:"Common Patterns"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:71,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-1.5",children:te.map(([o,m])=>e.jsxDEV("button",{type:"button",onClick:()=>{n(o),r.reset()},className:"flex items-center gap-2 text-left py-0.5 group",children:[e.jsxDEV("code",{className:"font-mono text-[11px] text-accent group-hover:text-accent-hover",children:o},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:83,columnNumber:15},this),e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:m},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:86,columnNumber:15},this)]},o,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:74,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:72,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:70,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/cron/CronScheduleEditor.tsx",lineNumber:22,columnNumber:5},this)}function me({workflow:s,onClose:n}){const r=A(),t=L(),[d,l]=u.useState(""),[o,m]=u.useState(""),[p,x]=u.useState(!1),[c,f]=u.useState({}),[w,N]=u.useState("{}");u.useEffect(()=>{l(s.cron_schedule??""),m(s.execute_as??""),r.reset(),t.reset();const a=s.cron_envelope||{},i=Object.keys(a).length>0?a:_(s.input_schema);f(i),N(JSON.stringify(i,null,2)),x(!1)},[s.id]);const v=()=>{if(!p)N(JSON.stringify(c,null,2));else try{f(JSON.parse(w))}catch{}x(!p)},k=()=>{let a;if(p)try{a=JSON.parse(w)}catch{return}else a={...c};r.mutate({id:s.id,cron_schedule:d.trim(),cron_envelope:Object.keys(a).length>0?a:null,execute_as:o||null})},g=()=>{t.mutate(s.id,{onSuccess:()=>{l("")}})},j={isPending:r.isPending||t.isPending,isSuccess:r.isSuccess||t.isSuccess,error:r.error||t.error,reset:()=>{r.reset(),t.reset()}};return e.jsxDEV("div",{className:"border-l border-surface-border bg-surface-raised flex flex-col h-full",children:[e.jsxDEV("div",{className:"flex items-center justify-between px-4 py-3 border-b border-surface-border shrink-0",children:[e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV("p",{className:"text-xs font-medium text-text-primary truncate",children:"Cron Schedule"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:87,columnNumber:11},this),e.jsxDEV("code",{className:"text-[11px] font-mono text-accent truncate block",children:s.graph_topic},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:86,columnNumber:9},this),e.jsxDEV("button",{onClick:n,className:"p-1 text-text-tertiary hover:text-text-primary shrink-0 ml-2",children:e.jsxDEV(Y,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:91,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:90,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:85,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-4",children:[e.jsxDEV(T,{selected:o,onChange:m},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:97,columnNumber:9},this),e.jsxDEV(ie,{cronInput:d,setCronInput:l,setCron:j,hasCronSchedule:!!s.cron_schedule,onSave:k,onClear:g},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:99,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-1",children:[e.jsxDEV(D,{children:"Default Input"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:111,columnNumber:13},this),e.jsxDEV("button",{onClick:v,className:"text-[10px] text-accent hover:underline",children:p?"Form view":"JSON view"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:112,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:110,columnNumber:11},this),p?e.jsxDEV("textarea",{value:w,onChange:a=>N(a.target.value),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-2 font-mono text-[11px] text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary resize-y",rows:6,spellCheck:!1},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:118,columnNumber:13},this):e.jsxDEV("div",{className:"space-y-3 max-h-[200px] overflow-y-auto",children:[Object.entries(c).map(([a,i])=>e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:a},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:129,columnNumber:19},this),typeof i=="boolean"?e.jsxDEV("select",{value:String(i),onChange:y=>f({...c,[a]:y.target.value==="true"}),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-1.5 text-xs text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary",children:[e.jsxDEV("option",{value:"true",children:"true"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:136,columnNumber:23},this),e.jsxDEV("option",{value:"false",children:"false"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:137,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:131,columnNumber:21},this):typeof i=="object"?e.jsxDEV("textarea",{value:JSON.stringify(i,null,2),onChange:y=>{try{f({...c,[a]:JSON.parse(y.target.value)})}catch{}},className:"w-full min-h-[60px] px-3 py-1.5 bg-surface-sunken border border-surface-border rounded-md font-mono text-xs text-text-primary resize-y focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:140,columnNumber:21},this):e.jsxDEV("input",{type:typeof i=="number"?"number":"text",value:String(i??""),onChange:y=>f({...c,[a]:typeof i=="number"?Number(y.target.value):y.target.value}),className:"w-full bg-surface-sunken border border-surface-border rounded-md px-3 py-1.5 text-xs text-text-primary focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent-primary"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:146,columnNumber:21},this)]},a,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:128,columnNumber:17},this)),Object.keys(c).length===0&&e.jsxDEV("p",{className:"text-[11px] text-text-tertiary italic",children:"No input fields defined"},void 0,!1,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:156,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:126,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:109,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:96,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/test/CronPanel.tsx",lineNumber:83,columnNumber:5},this)}function ce(s){const n=new Map;for(const r of s){const t=n.get(r.app_id)??[];t.push(r),n.set(r.app_id,t)}return[...n.entries()].map(([r,t])=>{var x;const d={active:0,deployed:1,draft:2,archived:3},l=t.reduce((c,f)=>(d[f.status]??9)<(d[c]??9)?f.status:c,t[0].status),o=t.reduce((c,f)=>f.updated_at>c?f.updated_at:c,t[0].updated_at),m=t.reduce((c,f)=>{const w=parseInt(f.app_version||"0",10);return w>c?w:c},0),p=((x=t.find(c=>c.set_id))==null?void 0:x.set_id)||null;return{appId:r,workflows:t,toolCount:t.length,status:l,updatedAt:o,appVersion:String(m),setId:p}})}function de(s,n){if(!n)return!0;const r=n.toLowerCase();return s.appId.toLowerCase().includes(r)?!0:s.workflows.some(t=>{var d,l;return t.graph_topic.toLowerCase().includes(r)||((d=t.name)==null?void 0:d.toLowerCase().includes(r))||((l=t.description)==null?void 0:l.toLowerCase().includes(r))})}function ue(s,n){if(!n)return s;const r=n.toLowerCase();return s.filter(t=>{var d,l;return t.graph_topic.toLowerCase().includes(r)||((d=t.name)==null?void 0:d.toLowerCase().includes(r))||((l=t.description)==null?void 0:l.toLowerCase().includes(r))})}function pe({wf:s,onTry:n,onCron:r}){const t=s.status==="active",d=!!s.cron_schedule;return e.jsxDEV("tr",{onClick:t?n:void 0,className:`group/row hover:bg-surface-hover/50 transition-colors border-b border-surface-border/15 ${t?"cursor-pointer":""}`,children:[e.jsxDEV("td",{className:"pl-14 pr-6 py-2.5",children:[e.jsxDEV(G,{name:s.graph_topic,size:"md"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:25,columnNumber:9},this),s.description&&e.jsxDEV("p",{className:"text-[11px] leading-snug text-text-quaternary mt-0.5",children:s.description},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:24,columnNumber:7},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-20 text-[10px] text-text-quaternary font-mono whitespace-nowrap",children:["v",s.content_version]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:32,columnNumber:7},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-28 whitespace-nowrap",children:e.jsxDEV(M,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:38,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:37,columnNumber:7},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-16",children:e.jsxDEV("div",{className:"flex items-center justify-end gap-1.5",children:[t&&e.jsxDEV("button",{onClick:l=>{l.stopPropagation(),n()},className:"opacity-0 group-hover/row:opacity-100 transition-opacity text-text-tertiary hover:text-accent",title:"Test tool",children:e.jsxDEV(O,{className:"w-3.5 h-3.5",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:50,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:45,columnNumber:13},this),e.jsxDEV("button",{onClick:l=>{l.stopPropagation(),r()},className:d?"text-status-success":"opacity-0 group-hover/row:opacity-100 transition-opacity text-text-tertiary hover:text-accent",title:d?`Cron: ${s.cron_schedule}`:"Schedule cron",children:e.jsxDEV(ee,{className:"w-3.5 h-3.5",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:60,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:53,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:43,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:19,columnNumber:5},this)}function fe({server:s,expanded:n,onToggle:r,onTryTool:t,onWorkbench:d,onCron:l,visibleTools:o}){return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("tr",{onClick:r,className:"group/row border-b border-surface-border/50 transition-colors duration-100 cursor-pointer row-hover",children:[e.jsxDEV("td",{className:"px-6 py-2.5",children:e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:`transition-transform duration-150 ${n?"rotate-90":""} text-text-tertiary`,children:e.jsxDEV(Q,{size:14},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:97,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:96,columnNumber:13},this),e.jsxDEV("span",{className:"flex items-center gap-1.5",children:[e.jsxDEV(ae,{name:s.appId,short:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:100,columnNumber:15},this),e.jsxDEV("sup",{className:"text-[9px] font-normal text-accent/70",children:s.toolCount},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:101,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:99,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:95,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:94,columnNumber:9},this),e.jsxDEV("td",{className:"px-4 py-2.5 text-[10px] text-text-quaternary font-mono whitespace-nowrap",children:["v",s.appVersion]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:107,columnNumber:9},this),e.jsxDEV("td",{className:"px-4 py-2.5 whitespace-nowrap",children:e.jsxDEV(M,{status:s.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:113,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:112,columnNumber:9},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-16",children:e.jsxDEV("div",{className:"flex items-center justify-end gap-1.5",children:s.setId&&e.jsxDEV("button",{onClick:m=>{m.stopPropagation(),d()},className:"opacity-0 group-hover/row:opacity-100 transition-opacity text-text-tertiary hover:text-accent",title:"Open workbench",children:e.jsxDEV(Z,{className:"w-3.5 h-3.5",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:125,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:120,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:118,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:117,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:89,columnNumber:7},this),n&&o.map(m=>e.jsxDEV(pe,{wf:m,onTry:()=>t(m),onCron:()=>l(m)},m.id,!1,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:133,columnNumber:9},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/yaml-workflow-rows.tsx",lineNumber:88,columnNumber:5},this)}function Ye(){const s=re(),{filters:n,setFilter:r}=F({filters:{status:"",server:"",search:""}}),{data:t,isLoading:d}=R({status:n.status||void 0,app_id:n.server||void 0,search:n.search||void 0,limit:200,offset:0}),l=(t==null?void 0:t.workflows)??[],{data:o}=$({limit:100}),m=u.useMemo(()=>{const a=new Map;for(const i of(o==null?void 0:o.sets)??[])i.source_workflow_id&&a.set(i.id,i.source_workflow_id);return a},[o==null?void 0:o.sets]),p=u.useMemo(()=>ce(l),[l]),x=u.useMemo(()=>[...new Set(l.map(i=>i.app_id))].sort().map(i=>({value:i,label:i})),[l]),c=u.useMemo(()=>n.search?p.filter(a=>de(a,n.search)):p,[p,n.search]),{expandedIds:f,toggle:w}=q("lt:expanded:yaml-workflows"),[N,v]=u.useState(null),[k,g]=u.useState(null),j=N||k;return d?e.jsxDEV("div",{children:[e.jsxDEV(P,{title:"MCP Pipeline Tools",docsHash:"#docs:dashboard.md:mcp-pipeline-tools"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:71,columnNumber:9},this),e.jsxDEV("div",{className:"animate-pulse space-y-0",children:Array.from({length:4}).map((a,i)=>e.jsxDEV("div",{className:"h-14 border-b last:border-b-0 px-6 flex items-center",children:e.jsxDEV("div",{className:"h-3 bg-surface-sunken rounded w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:75,columnNumber:15},this)},i,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:74,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:72,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:70,columnNumber:7},this):e.jsxDEV("div",{children:[e.jsxDEV(P,{title:"MCP Pipeline Tools",docsHash:"#docs:dashboard.md:mcp-pipeline-tools",actions:e.jsxDEV("button",{onClick:()=>s("/mcp/queries/new"),className:"btn-primary text-xs",children:"Design Pipeline"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:89,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:85,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm text-text-secondary mb-6 max-w-2xl leading-relaxed",children:"Deterministic tools compiled from dynamic MCP executions. Each tool is a YAML DAG that the router discovers and invokes automatically."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:95,columnNumber:7},this),e.jsxDEV(B,{children:[e.jsxDEV(H,{label:"Search",value:n.search,onChange:a=>r("search",a),placeholder:"Server or tool name…"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:100,columnNumber:9},this),x.length>1&&e.jsxDEV(C,{label:"Server",value:n.server,onChange:a=>r("server",a),options:x},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:107,columnNumber:11},this),e.jsxDEV(C,{label:"Status",value:n.status,onChange:a=>r("status",a),options:[{value:"draft",label:"Draft"},{value:"deployed",label:"Deployed"},{value:"active",label:"Active"},{value:"archived",label:"Archived"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:114,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:99,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-0",children:[e.jsxDEV("div",{className:`${j?"flex-1 min-w-0":"w-full"} transition-all`,children:c.length===0?e.jsxDEV("div",{className:"cursor-pointer",onClick:()=>s("/mcp/queries/new"),children:e.jsxDEV(U,{icon:se,title:"No pipelines yet",description:"Click to open the MCP Tool Designer and create your first deterministic tool."},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:131,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:130,columnNumber:13},this):e.jsxDEV("table",{className:"w-full",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"border-b",children:[e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface px-6 py-3 text-left text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Server / Tool"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:137,columnNumber:19},this),e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface px-4 py-3 text-left text-[10px] font-semibold uppercase tracking-widest text-text-tertiary w-20",children:"Version"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:140,columnNumber:19},this),e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface px-4 py-3 text-left text-[10px] font-semibold uppercase tracking-widest text-text-tertiary w-28",children:"Status"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:143,columnNumber:19},this),e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface w-16"},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:146,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:136,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:135,columnNumber:15},this),e.jsxDEV("tbody",{children:c.map(a=>e.jsxDEV(fe,{server:a,expanded:f.has(a.appId),onToggle:()=>w(a.appId),onTryTool:i=>{g(null),v(i)},onWorkbench:()=>{if(a.setId){const i=m.get(a.setId);i&&s(`/mcp/queries/${i}?mode=plan&set_id=${a.setId}&step=2`)}},onCron:i=>{v(null),g(i)},visibleTools:ue(a.workflows,n.search)},a.appId,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:151,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:149,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:134,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:128,columnNumber:9},this),N&&e.jsxDEV("div",{className:"w-[380px] shrink-0 sticky top-0 max-h-screen overflow-y-auto",children:e.jsxDEV(ne,{workflow:N,onClose:()=>v(null)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:176,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:175,columnNumber:11},this),k&&e.jsxDEV("div",{className:"w-[380px] shrink-0 sticky top-0 max-h-screen overflow-y-auto",children:e.jsxDEV(me,{workflow:k,onClose:()=>g(null)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:185,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:184,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:127,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/workflows/YamlWorkflowsPage.tsx",lineNumber:84,columnNumber:5},this)}export{Ye as YamlWorkflowsPage};
|
|
2
|
-
//# sourceMappingURL=YamlWorkflowsPage-CLebf2eL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-Dga6NU7U.js","sources":["../../src/api/agents.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\n\nexport interface AgentCapability {\n serverId: string;\n toolNames?: string[];\n}\n\nexport interface AgentTrigger {\n event: string;\n filter?: Record<string, any>;\n}\n\nexport interface AgentSchedule {\n cron: string;\n workflow_type: string;\n envelope?: Record<string, any>;\n execute_as?: string;\n}\n\nexport interface AgentBehaviors {\n cron?: string;\n triggers?: AgentTrigger[];\n schedules?: AgentSchedule[];\n escalationRules?: Record<string, any>;\n}\n\nexport interface Agent {\n id: string;\n name: string;\n description?: string;\n status: 'inactive' | 'active' | 'paused' | 'error';\n user_id?: string;\n knowledge_domain?: string;\n capabilities: AgentCapability[];\n behaviors: AgentBehaviors;\n goals?: string;\n rules?: string;\n workflow_type?: string;\n pipeline_id?: string;\n metadata: Record<string, any>;\n last_run_at?: string;\n subscription_count?: number;\n sub_topics?: string[];\n created_at: string;\n updated_at: string;\n stats?: {\n knowledge_count: number;\n escalation_count: number;\n last_execution_at?: string;\n };\n}\n\ninterface AgentListResponse {\n agents: Agent[];\n total: number;\n}\n\ninterface AgentFilters {\n status?: string;\n knowledge_domain?: string;\n limit?: number;\n offset?: number;\n}\n\nexport function useAgents(filters: AgentFilters = {}) {\n const params = new URLSearchParams();\n if (filters.status) params.set('status', filters.status);\n if (filters.knowledge_domain) params.set('knowledge_domain', filters.knowledge_domain);\n if (filters.limit != null) params.set('limit', String(filters.limit));\n if (filters.offset != null) params.set('offset', String(filters.offset));\n const qs = params.toString();\n\n return useQuery<AgentListResponse>({\n queryKey: ['agents', filters],\n queryFn: () => apiFetch(`/agents${qs ? `?${qs}` : ''}`),\n });\n}\n\nexport function useAgent(id: string | null) {\n return useQuery<Agent>({\n queryKey: ['agents', id],\n queryFn: () => apiFetch(`/agents/${id}`),\n enabled: !!id,\n });\n}\n\nexport function useCreateAgent() {\n const queryClient = useQueryClient();\n return useMutation<Agent, Error, Partial<Agent> & { name: string }>({\n mutationFn: (body) =>\n apiFetch('/agents', {\n method: 'POST',\n body: JSON.stringify(body),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['agents'] });\n },\n });\n}\n\nexport function useUpdateAgent() {\n const queryClient = useQueryClient();\n return useMutation<Agent, Error, { id: string } & Partial<Agent>>({\n mutationFn: ({ id, ...body }) =>\n apiFetch(`/agents/${id}`, {\n method: 'PUT',\n body: JSON.stringify(body),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['agents'] });\n },\n });\n}\n\nexport function useDeleteAgent() {\n const queryClient = useQueryClient();\n return useMutation<{ deleted: boolean }, Error, string>({\n mutationFn: (id) =>\n apiFetch(`/agents/${id}`, { method: 'DELETE' }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['agents'] });\n },\n });\n}\n"],"names":["useAgents","filters","params","qs","useQuery","apiFetch","useAgent","id","useCreateAgent","queryClient","useQueryClient","useMutation","body","useUpdateAgent","useDeleteAgent"],"mappings":"qGAiEO,SAASA,EAAUC,EAAwB,GAAI,CACpD,MAAMC,EAAS,IAAI,gBACfD,EAAQ,QAAQC,EAAO,IAAI,SAAUD,EAAQ,MAAM,EACnDA,EAAQ,kBAAkBC,EAAO,IAAI,mBAAoBD,EAAQ,gBAAgB,EACjFA,EAAQ,OAAS,MAAMC,EAAO,IAAI,QAAS,OAAOD,EAAQ,KAAK,CAAC,EAChEA,EAAQ,QAAU,MAAMC,EAAO,IAAI,SAAU,OAAOD,EAAQ,MAAM,CAAC,EACvE,MAAME,EAAKD,EAAO,SAAA,EAElB,OAAOE,EAA4B,CACjC,SAAU,CAAC,SAAUH,CAAO,EAC5B,QAAS,IAAMI,EAAS,UAAUF,EAAK,IAAIA,CAAE,GAAK,EAAE,EAAE,CAAA,CACvD,CACH,CAEO,SAASG,EAASC,EAAmB,CAC1C,OAAOH,EAAgB,CACrB,SAAU,CAAC,SAAUG,CAAE,EACvB,QAAS,IAAMF,EAAS,WAAWE,CAAE,EAAE,EACvC,QAAS,CAAC,CAACA,CAAA,CACZ,CACH,CAEO,SAASC,GAAiB,CAC/B,MAAMC,EAAcC,EAAA,EACpB,OAAOC,EAA6D,CAClE,WAAaC,GACXP,EAAS,UAAW,CAClB,OAAQ,OACR,KAAM,KAAK,UAAUO,CAAI,CAAA,CAC1B,EACH,UAAW,IAAM,CACfH,EAAY,kBAAkB,CAAE,SAAU,CAAC,QAAQ,EAAG,CACxD,CAAA,CACD,CACH,CAEO,SAASI,GAAiB,CAC/B,MAAMJ,EAAcC,EAAA,EACpB,OAAOC,EAA2D,CAChE,WAAY,CAAC,CAAE,GAAAJ,EAAI,GAAGK,KACpBP,EAAS,WAAWE,CAAE,GAAI,CACxB,OAAQ,MACR,KAAM,KAAK,UAAUK,CAAI,CAAA,CAC1B,EACH,UAAW,IAAM,CACfH,EAAY,kBAAkB,CAAE,SAAU,CAAC,QAAQ,EAAG,CACxD,CAAA,CACD,CACH,CAEO,SAASK,GAAiB,CAC/B,MAAML,EAAcC,EAAA,EACpB,OAAOC,EAAiD,CACtD,WAAaJ,GACXF,EAAS,WAAWE,CAAE,GAAI,CAAE,OAAQ,SAAU,EAChD,UAAW,IAAM,CACfE,EAAY,kBAAkB,CAAE,SAAU,CAAC,QAAQ,EAAG,CACxD,CAAA,CACD,CACH"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{w as l,j as s,x as m,y as c}from"./index-CCOSf1PY.js";import{a}from"./vendor-query-DLp59M9_.js";const n=[{maxMs:0,color:"text-status-error"},{maxMs:300*1e3,color:"text-status-error"},{maxMs:900*1e3,color:"text-status-warning"},{maxMs:1/0,color:"text-text-secondary"}];function u(e){if(e<=0)return n[0].color;for(const t of n)if(e<t.maxMs)return t.color;return n[n.length-1].color}function d({until:e}){const[t,r]=a.useState(()=>new Date(e).getTime()-Date.now());a.useEffect(()=>{const o=setInterval(()=>{r(new Date(e).getTime()-Date.now())},1e3);return()=>clearInterval(o)},[e]);const i=a.useMemo(()=>{const o=new Date(e);return[{label:"ms",value:String(Math.max(0,t))},{label:"until",value:o.toISOString()},{label:"local",value:l(o,"MMM d, yyyy h:mm:ss a")}]},[e,t]);return s.jsxDEV(m,{options:i,children:s.jsxDEV("span",{className:`text-xs font-mono ${u(t)}`,children:c(t)},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/CountdownTimer.tsx",lineNumber:42,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/CountdownTimer.tsx",lineNumber:41,columnNumber:5},this)}function p(e){return!!(e.assigned_to&&e.assigned_until&&new Date(e.assigned_until)>new Date)}function w(e){return!e.workflow_type}export{d as C,p as a,w as i};
|
|
2
|
-
//# sourceMappingURL=escalation-_N5GfuIi.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a}from"./index-CCOSf1PY.js";import{F as c,b as r}from"./FilterBar-Bdssa-Xn.js";import{P as u}from"./PriorityBadge-BQCsYMpM.js";import{R as p}from"./RolePill-CHwys1f9.js";import{W as d}from"./WorkflowPill-7vt2F6wR.js";import{T as b}from"./TimestampCell-B4Pc6f3A.js";import{C as N,i as f,a as x}from"./escalation-_N5GfuIi.js";import{a0 as h,a1 as v,a2 as g,a3 as t}from"./vendor-icons-CBOM6Es0.js";import{L as y}from"./vendor-react-Co3Y8ikm.js";function E({row:e}){if(f(e)){const l=e.status==="resolved"?"text-status-success":"text-text-tertiary";return a.jsxDEV(g,{className:`w-3 h-3 shrink-0 ${l}`},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:17,columnNumber:12},this)}return e.status==="resolved"?a.jsxDEV(t,{className:"w-2.5 h-2.5 shrink-0 fill-status-success text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:20,columnNumber:12},this):e.status==="cancelled"?a.jsxDEV(t,{className:"w-2.5 h-2.5 shrink-0 fill-status-error text-status-error"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:23,columnNumber:12},this):x(e)?a.jsxDEV(t,{className:"w-2.5 h-2.5 shrink-0 fill-status-warning text-status-warning"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:26,columnNumber:12},this):a.jsxDEV(t,{className:"w-2.5 h-2.5 shrink-0 fill-status-active text-status-active"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:29,columnNumber:10},this)}const R=[{key:"description",label:"Summary",render:e=>a.jsxDEV("div",{className:"flex items-start gap-2 overflow-hidden",children:[a.jsxDEV("span",{className:"mt-1 shrink-0",children:a.jsxDEV(E,{row:e},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:39,columnNumber:41},void 0)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:39,columnNumber:9},void 0),a.jsxDEV("div",{className:"min-w-0 overflow-hidden",children:[a.jsxDEV("p",{className:"text-xs text-text-primary truncate",children:e.description||e.type},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:41,columnNumber:11},void 0),a.jsxDEV("div",{className:"flex items-center gap-2 mt-0.5",children:[a.jsxDEV(d,{type:e.type},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:43,columnNumber:13},void 0),e.subtype&&e.subtype!==e.type&&a.jsxDEV("span",{className:"text-[10px] text-text-tertiary whitespace-nowrap",children:e.subtype},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:45,columnNumber:15},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:42,columnNumber:11},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:40,columnNumber:9},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:38,columnNumber:7},void 0),className:"max-w-0"},{key:"task_id",label:"Task",render:e=>e.task_id?a.jsxDEV(y,{to:`/workflows/tasks/detail/${e.task_id}`,onClick:l=>l.stopPropagation(),className:"group/task inline-flex items-center gap-1 text-xs font-mono text-text-secondary hover:text-accent transition-colors",children:[e.task_id.slice(0,12),"…",a.jsxDEV(h,{size:10,className:"opacity-0 group-hover/task:opacity-100 transition-opacity"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:64,columnNumber:11},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:58,columnNumber:9},void 0):a.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:67,columnNumber:9},void 0),className:"w-36 whitespace-nowrap"},{key:"role",label:"Role",render:e=>a.jsxDEV(p,{role:e.role},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:74,columnNumber:22},void 0),className:"w-28"},{key:"priority",label:"Priority",render:e=>a.jsxDEV(u,{priority:e.priority},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:80,columnNumber:22},void 0),className:"w-20",sortable:!0},{key:"created_at",label:"Created",render:e=>a.jsxDEV(b,{date:e.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:87,columnNumber:22},void 0),className:"w-40",sortable:!0}],L={key:"expires",label:a.jsxDEV(v,{className:"w-3.5 h-3.5 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:96,columnNumber:11},void 0),render:e=>e.assigned_until?a.jsxDEV(N,{until:e.assigned_until},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:99,columnNumber:7},void 0):a.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:101,columnNumber:7},void 0),className:"w-16 whitespace-nowrap"},j=[{value:"1",label:"P1"},{value:"2",label:"P2"},{value:"3",label:"P3"},{value:"4",label:"P4"}],D=[{value:"available",label:"Available"},{value:"claimed",label:"Claimed"},{value:"resolved",label:"Resolved"}];function I({filters:e,setFilter:l,roles:o,types:i,showStatus:n=!1,actions:m}){return a.jsxDEV(c,{actions:m,children:[n&&a.jsxDEV(r,{label:"Status",value:e.status??"",onChange:s=>l("status",s),options:D},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:172,columnNumber:9},this),a.jsxDEV(r,{label:"Role",value:e.role,onChange:s=>l("role",s),options:o.map(s=>({value:s,label:s}))},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:179,columnNumber:7},this),a.jsxDEV(r,{label:"Type",value:e.type,onChange:s=>l("type",s),options:i.map(s=>({value:s,label:s}))},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:185,columnNumber:7},this),a.jsxDEV(r,{label:"Priority",value:e.priority,onChange:s=>l("priority",s),options:j},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:191,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/escalation-columns.tsx",lineNumber:170,columnNumber:5},this)}export{R as E,L as T,I as a};
|
|
2
|
-
//# sourceMappingURL=escalation-columns-CoTmTpHp.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as n}from"./index-CCOSf1PY.js";import{T as o}from"./TimeAgo-CywLVIBA.js";import{S as l}from"./StatusBadge-CQlF46RR.js";const i={"* * * * *":"Every minute","*/5 * * * *":"Every 5 minutes","*/15 * * * *":"Every 15 minutes","*/30 * * * *":"Every 30 minutes","0 * * * *":"Every hour","0 */2 * * *":"Every 2 hours","0 */6 * * *":"Every 6 hours","0 */12 * * *":"Every 12 hours","0 0 * * *":"Daily at midnight","0 9 * * *":"Daily at 9 AM","0 9 * * 1-5":"Weekdays at 9 AM","0 0 * * 0":"Weekly (Sunday midnight)","0 0 1 * *":"Monthly (1st at midnight)","0 2 * * *":"Daily at 2 AM"};function c(e){return i[e]??""}const f=[["*/15 * * * *","Every 15 min"],["0 * * * *","Every hour"],["0 */6 * * *","Every 6 hours"],["0 9 * * *","Daily 9 AM"],["0 9 * * 1-5","Weekdays 9 AM"],["0 0 * * 0","Weekly (Sun)"]];function p(e){const t=e==null?void 0:e.data;if(!t||typeof t!="object"||Array.isArray(t))return null;const a=Object.entries(t);return a.length===0||!a.every(([,r])=>typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null)?null:a.map(([r,s])=>({key:r,value:s===null?"":String(s),type:s===null?"string":typeof s}))}const h=[{key:"workflow_id",label:"Workflow ID",render:e=>n.jsxDEV("span",{className:"font-mono text-[11px] text-text-secondary",children:e.workflow_id.length>40?`${e.workflow_id.slice(0,40)}...`:e.workflow_id},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/helpers.tsx",lineNumber:69,columnNumber:7},void 0)},{key:"status",label:"Status",render:e=>n.jsxDEV(l,{status:e.status},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/helpers.tsx",lineNumber:79,columnNumber:22},void 0),className:"w-28"},{key:"created_at",label:"Started",render:e=>n.jsxDEV(o,{date:e.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/workflows/cron/helpers.tsx",lineNumber:85,columnNumber:22},void 0),className:"w-32"}];export{f as C,c as d,p as e,h as j};
|
|
2
|
-
//# sourceMappingURL=helpers-Dz2U3Ctb.js.map
|