@axiom-lattice/gateway 4.4.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/{a2a-standard-RWR5JTMH.mjs → a2a-standard-PIOKEHPS.mjs} +1 -1
  2. package/dist/a2a-standard-PIOKEHPS.mjs.map +1 -0
  3. package/dist/embed/{embed-page-AgentDetailSideApp-2BDEWFQ6.js → embed-page-AgentDetailSideApp-I4ZT3MQQ.js} +1 -1
  4. package/dist/embed/{embed-page-AgentGovernanceWorkbench-WG7E3G5T.js → embed-page-AgentGovernanceWorkbench-HVFB6EPY.js} +1 -1
  5. package/dist/embed/{embed-page-MessageGraph-5SWPEQ4V.js → embed-page-MessageGraph-CZQROEO7.js} +1 -1
  6. package/dist/embed/{embed-page-ReactChart-ZYWRXIMC.js → embed-page-ReactChart-WMWBSL54.js} +1 -1
  7. package/dist/embed/{embed-page-SkillFlow-TKBMB5VV.js → embed-page-SkillFlow-5JLJ5R57.js} +1 -1
  8. package/dist/embed/embed-page-TasksSideApp-5BYTO4KT.js +254 -0
  9. package/dist/embed/{embed-page-TeamWorkspace-XNZM7AV7.js → embed-page-TeamWorkspace-5KN7ZZWQ.js} +1 -1
  10. package/dist/embed/{embed-page-TopologyRuntimeView-DGSHSTIU.js → embed-page-TopologyRuntimeView-S6XAQHDF.js} +1 -1
  11. package/dist/embed/{embed-page-WorkflowAutomationView-BHIRIWV3.js → embed-page-WorkflowAutomationView-E6G446HW.js} +1 -1
  12. package/dist/embed/embed-page-chunk-2JOGNXZT.js +245 -0
  13. package/dist/embed/embed-page-chunk-7GAD6Q52.js +6986 -0
  14. package/dist/embed/{embed-page-chunk-JMZ7OODN.js → embed-page-chunk-DSQ4DIQY.js} +1 -1
  15. package/dist/embed/{embed-page-chunk-YCX5YZRP.js → embed-page-chunk-KDWA6VOG.js} +1 -1
  16. package/dist/embed/embed-page-chunk-MUE3GWJV.js +153 -0
  17. package/dist/embed/{embed-page-chunk-HMTKPZ5B.js → embed-page-chunk-QU52HUXW.js} +1 -1
  18. package/dist/embed/{embed-page-chunk-XUXEGF3S.js → embed-page-chunk-YQ3BA27D.js} +1 -1
  19. package/dist/embed/embed-page.js +1 -1
  20. package/dist/index.d.mts +210 -2
  21. package/dist/index.d.ts +210 -2
  22. package/dist/index.js +5757 -5237
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.mjs +5765 -5247
  25. package/dist/index.mjs.map +1 -1
  26. package/package.json +7 -7
  27. package/dist/a2a-standard-RWR5JTMH.mjs.map +0 -1
  28. package/dist/embed/embed-page-TasksSideApp-X6255GEF.js +0 -241
  29. package/dist/embed/embed-page-chunk-DEDTYRZE.js +0 -245
  30. package/dist/embed/embed-page-chunk-HEO7X7LH.js +0 -153
  31. package/dist/embed/embed-page-chunk-SPC4BYNU.js +0 -6974
@@ -0,0 +1,254 @@
1
+ import{a as Je}from"./embed-page-chunk-MUE3GWJV.js";import{c as Ge,d as We}from"./embed-page-chunk-KEL6XU6R.js";import{b as be,e as Ce,h as _e,i as Fe}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{C as ze,Qa as He,ab as Ve,bb as qe,cb as pe,db as Ne,eb as Ke,fb as Ue,ga as de,gb as Ye,ib as Qe,jb as Xe,k as le,kb as Ze,lb as et,qa as ce,va as G,wa as Oe}from"./embed-page-chunk-7GAD6Q52.js";import{j as Me,m as Ee}from"./embed-page-chunk-QU52HUXW.js";import{a as $}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Fa as ae,Ia as De,La as se,W as ne,Y as Ae,Z as Be,_ as we,la as je,ra as F,ta as Te,va as Y,ya as Le}from"./embed-page-chunk-O4QK5LWZ.js";import{a as ie}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as v}from"./embed-page-chunk-6Y3UYJ6Z.js";var i=v(ie());var ot=v(ie());var a=v($()),vt=[{key:"pending",label:"Pending",color:"#7A7A7A"},{key:"in_progress",label:"In Progress",color:"#3b82f6"},{key:"review",label:"Review",color:"#f59e0b"},{key:"failed",label:"Failed",color:"#ef4444"},{key:"interrupted",label:"Interrupted",color:"#8b5cf6"},{key:"completed",label:"Completed",color:"#22c55e"}],tt={high:{label:"High",color:"#ef4444"},medium:{label:"Medium",color:"#f59e0b"},low:{label:"Low",color:"#22c55e"}};function wt(e){let o=typeof e=="string"?new Date(e):e,u=new Date().getTime()-o.getTime(),n=Math.floor(u/1e3),g=Math.floor(n/60),s=Math.floor(g/60),r=Math.floor(s/24);return n<60?"just now":g<60?`${g}m ago`:s<24?`${s}h ago`:r<30?`${r}d ago`:o.toLocaleDateString("en-US")}var Tt=G(({css:e,token:o})=>({container:e`
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ padding: 24px;
6
+ `,header:e`
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: space-between;
10
+ margin-bottom: 20px;
11
+ `,title:e`
12
+ margin: 0;
13
+ font-size: 24px;
14
+ font-weight: 600;
15
+ color: ${o.colorText};
16
+ `,createButton:e`
17
+ display: inline-flex;
18
+ align-items: center;
19
+ gap: 6px;
20
+ height: 36px;
21
+ padding: 0 16px;
22
+ background: ${o.colorPrimary};
23
+ color: #fff;
24
+ border: none;
25
+ border-radius: ${o.borderRadius}px;
26
+ font-size: 14px;
27
+ font-weight: 500;
28
+ cursor: pointer;
29
+ transition: background 0.15s ease;
30
+
31
+ &:hover {
32
+ background: ${o.colorPrimaryHover};
33
+ }
34
+ `,board:e`
35
+ display: flex;
36
+ gap: 16px;
37
+ `,column:e`
38
+ display: flex;
39
+ flex-direction: column;
40
+ gap: 12px;
41
+ min-width: 280px;
42
+ max-width: 280px;
43
+ flex-shrink: 0;
44
+ `,columnHeader:e`
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ padding: 0 4px;
49
+ `,columnTitle:e`
50
+ display: flex;
51
+ align-items: center;
52
+ gap: 8px;
53
+ font-size: 14px;
54
+ font-weight: 600;
55
+ color: ${o.colorText};
56
+ `,statusDot:e`
57
+ width: 8px;
58
+ height: 8px;
59
+ border-radius: 50%;
60
+ flex-shrink: 0;
61
+ `,columnCount:e`
62
+ font-size: 12px;
63
+ color: ${o.colorTextSecondary};
64
+ background: ${o.colorFillSecondary};
65
+ padding: 1px 8px;
66
+ border-radius: 10px;
67
+ `,columnBody:e`
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 8px;
71
+ `,card:e`
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 8px;
75
+ padding: 12px 14px;
76
+ background: ${o.colorBgContainer};
77
+ border: 1px solid ${o.colorBorderSecondary};
78
+ border-radius: ${o.borderRadius}px;
79
+ cursor: pointer;
80
+ transition: box-shadow 0.15s ease, border-color 0.15s ease;
81
+
82
+ &:hover {
83
+ border-color: ${o.colorPrimary};
84
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
85
+ }
86
+ `,cardTitle:e`
87
+ font-size: 14px;
88
+ font-weight: 500;
89
+ color: ${o.colorText};
90
+ line-height: 1.4;
91
+ word-break: break-word;
92
+ `,originDot:e`
93
+ display: inline-block;
94
+ width: 7px;
95
+ height: 7px;
96
+ margin-right: 6px;
97
+ vertical-align: middle;
98
+ border-radius: 50%;
99
+ flex-shrink: 0;
100
+ `,cardHeader:e`
101
+ display: flex;
102
+ align-items: flex-start;
103
+ justify-content: space-between;
104
+ gap: 6px;
105
+ `,cardMeta:e`
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 8px;
109
+ `,priorityBadge:e`
110
+ display: inline-flex;
111
+ align-items: center;
112
+ padding: 1px 6px;
113
+ border-radius: 4px;
114
+ font-size: 11px;
115
+ font-weight: 500;
116
+ `,metaItem:e`
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 3px;
120
+ font-size: 12px;
121
+ color: ${o.colorTextTertiary};
122
+ `,emptyColumn:e`
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ min-height: 100px;
127
+ border: 1px dashed ${o.colorBorder};
128
+ border-radius: ${o.borderRadius}px;
129
+ color: ${o.colorTextQuaternary};
130
+ font-size: 13px;
131
+ `,spinner:e`
132
+ flex: 1;
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ `})),rt=({tasks:e,loading:o,onRun:T,onTaskClick:u,onCreateClick:n,getOwnerLabel:g,showHeader:s=!0})=>{let{styles:r}=Tt(),b=(0,ot.useMemo)(()=>{let f={pending:[],in_progress:[],review:[],failed:[],interrupted:[],completed:[]};return e.forEach(m=>{let d=m.status;f[d]&&f[d].push(m)}),f},[e]);return o?(0,a.jsxs)("div",{className:r.container,children:[s&&(0,a.jsx)("div",{className:r.header,children:(0,a.jsx)("h1",{className:r.title,children:"Tasks"})}),(0,a.jsx)("div",{className:r.spinner,children:(0,a.jsx)(Y,{size:"large"})})]}):(0,a.jsxs)("div",{className:r.container,children:[s&&(0,a.jsxs)("div",{className:r.header,children:[(0,a.jsx)("h1",{className:r.title,children:"Tasks"}),(0,a.jsxs)("button",{className:r.createButton,onClick:n,children:[(0,a.jsx)(de,{size:16}),"New Task"]})]}),(0,a.jsx)("div",{className:r.board,children:vt.map(f=>{let m=b[f.key];return(0,a.jsxs)("div",{className:r.column,children:[(0,a.jsxs)("div",{className:r.columnHeader,children:[(0,a.jsxs)("div",{className:r.columnTitle,children:[(0,a.jsx)("span",{className:r.statusDot,style:{background:f.color}}),f.label]}),(0,a.jsx)("span",{className:r.columnCount,children:m.length})]}),(0,a.jsx)("div",{className:r.columnBody,children:m.length===0?(0,a.jsx)("div",{className:r.emptyColumn,children:"No tasks"}):m.map(d=>{let L=tt[d.priority]||tt.medium,D=Ye(d),k=T?(M,Q)=>T(d,M,Q):void 0,I=(0,a.jsxs)("div",{"data-testid":"task-card",className:r.card,onClick:()=>u(d),children:[(0,a.jsxs)("div",{className:r.cardHeader,children:[(0,a.jsxs)("div",{className:r.cardTitle,children:[(0,a.jsx)("span",{"data-testid":"task-origin",className:r.originDot,style:{background:D.color},title:D.label}),d.title]}),k&&(0,a.jsx)(Ve,{task:d,onRun:k})]}),(0,a.jsxs)("div",{className:r.cardMeta,children:[(0,a.jsx)("span",{className:r.priorityBadge,style:{background:`${L.color}18`,color:L.color},children:L.label}),(0,a.jsxs)("span",{className:r.metaItem,children:[d.ownerType==="agent"?(0,a.jsx)(le,{size:12}):(0,a.jsx)(ce,{size:12}),g?g(d.ownerType,d.ownerId):d.ownerType==="agent"?"Agent":"User"]}),(0,a.jsxs)("span",{className:r.metaItem,children:[(0,a.jsx)(ze,{size:12}),wt(d.createdAt)]})]})]},d.id);return k?(0,a.jsx)(qe,{task:d,onRun:k,children:I},d.id):I})})]},f.key)})})]})};var W=v(ie());var w=v($()),{Text:bt}=se,Ct=({data:e})=>{if(!e)return null;let{task:o,getOwnerLabel:T}=e,u=pe[o.status]??pe.pending,n=Ne[o.priority]??Ne.medium,g=T?T(o.ownerType,o.ownerId):o.ownerType==="agent"?"Agent":"User";return(0,w.jsxs)("div",{style:{padding:4},children:[(0,w.jsx)(Ce,{type:"target",position:be.Top}),(0,w.jsx)("div",{style:{width:240,background:"#fff",borderRadius:12,boxShadow:"0 1px 6px rgba(0,0,0,0.08)",border:"1px solid #e5e7eb",borderLeft:`4px solid ${u}`,overflow:"hidden",cursor:"pointer",transition:"all 0.2s ease"},children:(0,w.jsxs)("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:6},children:[(0,w.jsx)(bt,{strong:!0,style:{fontSize:13,lineHeight:1.4,display:"block"},ellipsis:{tooltip:o.title},children:o.title}),(0,w.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,w.jsx)(De,{style:{margin:0,fontSize:11,padding:"0 6px",lineHeight:"18px",background:`${n.color}18`,color:n.color,border:"none"},children:n.label}),(0,w.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:12,color:"#9ca3af"},children:[o.ownerType==="agent"?(0,w.jsx)(le,{size:12}):(0,w.jsx)(ce,{size:12}),(0,w.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:140},children:g})]})]})]})}),(0,w.jsx)(Ce,{type:"source",position:be.Bottom})]})},it=Ct;var R=v($()),{Text:Nt}=se,It={taskNode:it},Rt=G(({css:e})=>({root:e`
137
+ display: flex;
138
+ flex-direction: column;
139
+ height: 100%;
140
+ `,toolbar:e`
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: flex-end;
144
+ gap: 8px;
145
+ padding: 0 0 12px;
146
+ flex-shrink: 0;
147
+ `,canvas:e`
148
+ flex: 1;
149
+ min-height: 0;
150
+ position: relative;
151
+ `,spinner:e`
152
+ flex: 1;
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ `,empty:e`
157
+ flex: 1;
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: center;
161
+ `})),nt=({tasks:e,loading:o,onTaskClick:T,getOwnerLabel:u,hideCompleted:n=!1,onHideCompletedChange:g})=>{let{styles:s}=Rt(),{nodes:r,edges:b}=(0,W.useMemo)(()=>Qe(e,{hideCompleted:n}),[e,n]),f=(0,W.useMemo)(()=>{let y=Ge(r.map(h=>({id:h.id})),b.map(h=>({from:h.from,to:h.to})),{nodeWidth:Ke,nodeHeight:Ue,nodesep:50,ranksep:70});return r.map(h=>{let c=y.get(h.id);return{id:h.id,type:"taskNode",position:c??{x:0,y:0},data:{task:h.task,getOwnerLabel:u}}})},[r,b,u]),m=(0,W.useMemo)(()=>b.map(y=>({id:`${y.from}->${y.to}:${y.kind}`,source:y.from,target:y.to,style:y.kind==="dependency"?{stroke:"#6366f1",strokeWidth:1.5}:{stroke:"#9ca3af",strokeWidth:1,strokeDasharray:"5 5"}})),[b]),[d,L,D]=_e(f),[k,I,M]=Fe(m);(0,W.useEffect)(()=>{L(y=>{let h=new Map(y.map(C=>[C.id,C])),c=[...h.keys()].sort().join("|"),S=f.map(C=>C.id).sort().join("|");return c===S?f.map(C=>{let A=h.get(C.id);return A?{...C,position:A.position}:C}):f}),I(m)},[f,m,L,I]);let Q=(0,W.useCallback)((y,h)=>{let c=h.data?.task;c&&T(c)},[T]);return o?(0,R.jsx)("div",{className:s.spinner,children:(0,R.jsx)(Y,{size:"large"})}):(0,R.jsxs)("div",{className:s.root,children:[(0,R.jsxs)("div",{className:s.toolbar,children:[(0,R.jsx)(ae,{size:"small",checked:n,onChange:y=>g?.(y),"aria-label":"Hide completed"}),(0,R.jsx)(Nt,{type:"secondary",style:{fontSize:13},children:"Hide completed"})]}),d.length===0?(0,R.jsx)("div",{className:s.empty,children:(0,R.jsx)(Be,{description:"No tasks"})}):(0,R.jsx)("div",{className:s.canvas,children:(0,R.jsx)(We,{nodes:d,edges:k,nodeTypes:It,onNodesChange:D,onEdgesChange:M,onNodeClick:Q,fitView:!0,fitViewOptions:{padding:.15},nodesDraggable:!0,nodesConnectable:!1,miniMap:!0,attributionPosition:"bottom-right"})},String(n))]})};var me=v(ie());var x=v($()),St=G(({token:e,css:o})=>({switchRow:o`
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: space-between;
165
+ padding: 4px 0;
166
+ `,switchLabel:o`
167
+ font-size: 14px;
168
+ color: ${e.colorText};
169
+ `})),at=({visible:e,onClose:o,projects:T,initialProjectId:u,onCreate:n})=>{let{styles:g}=St(),[s]=F.useForm(),[r,b]=(0,me.useState)(!1);return(0,me.useEffect)(()=>{e&&(s.resetFields(),u&&s.setFieldsValue({projectId:u}))},[e,s,u]),(0,x.jsx)(Le,{title:"New Task",open:e,onCancel:o,onOk:async()=>{try{let m=await s.validateFields();b(!0),n({title:m.title,description:m.description||void 0,requireReview:m.requireReview||!1,priority:m.priority||"medium",projectId:m.projectId}),s.resetFields(),o()}catch{}finally{b(!1)}},confirmLoading:r,okText:"Create",cancelText:"Cancel",destroyOnClose:!0,children:(0,x.jsxs)(F,{form:s,layout:"vertical",initialValues:{priority:"medium",requireReview:!1,projectId:u},children:[(0,x.jsx)(F.Item,{name:"projectId",label:"Project",rules:[{required:!0,message:"Please select a project"}],children:(0,x.jsx)(we,{placeholder:"Select a project",options:T.map(m=>({value:m.id,label:m.name}))})}),(0,x.jsx)(F.Item,{name:"title",label:"Task Title",rules:[{required:!0,message:"Please enter task title"}],children:(0,x.jsx)(Te,{placeholder:"Enter task title"})}),(0,x.jsx)(F.Item,{name:"description",label:"Description",children:(0,x.jsx)(Te.TextArea,{rows:4,placeholder:"Enter description (optional)"})}),(0,x.jsx)(F.Item,{name:"priority",label:"Priority",children:(0,x.jsx)(we,{options:[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}]})}),(0,x.jsxs)("div",{className:g.switchRow,children:[(0,x.jsx)("span",{className:g.switchLabel,children:"Require Review"}),(0,x.jsx)(F.Item,{name:"requireReview",valuePropName:"checked",noStyle:!0,children:(0,x.jsx)(ae,{})})]})]})})};var p=v($()),Pt=G(({css:e,token:o})=>({root:e`
170
+ display: flex;
171
+ flex-direction: column;
172
+ height: 100%;
173
+ min-width: 0;
174
+ overflow: hidden;
175
+ `,header:e`
176
+ display: flex;
177
+ flex-direction: column;
178
+ gap: 4px;
179
+ padding: 20px 24px 12px 24px;
180
+ border-bottom: 1px solid ${o.colorBorderSecondary};
181
+ flex-shrink: 0;
182
+
183
+ @media (max-width: 600px) {
184
+ padding: 12px;
185
+ }
186
+ `,content:e`
187
+ flex: 1;
188
+ overflow: auto;
189
+ padding: 16px 24px;
190
+ `,headerRow:e`
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: space-between;
194
+ gap: 12px;
195
+
196
+ @media (max-width: 600px) {
197
+ flex-direction: column;
198
+ align-items: stretch;
199
+ }
200
+ `,headerTitle:e`
201
+ margin: 0;
202
+ font-size: 20px;
203
+ font-weight: 600;
204
+ color: ${o.colorText};
205
+ `,filterRow:e`
206
+ display: flex;
207
+ align-items: center;
208
+ gap: 8px;
209
+ margin-top: 8px;
210
+ `,headerActions:e`
211
+ display: flex;
212
+ align-items: center;
213
+ gap: 8px;
214
+ min-width: 0;
215
+
216
+ @media (max-width: 600px) {
217
+ width: 100%;
218
+ flex-wrap: wrap;
219
+ }
220
+ `,viewSwitcher:e`
221
+ min-width: 0;
222
+
223
+ @media (max-width: 600px) {
224
+ flex: 1 1 200px;
225
+ max-width: 100%;
226
+
227
+ .ant-segmented-group {
228
+ width: 100%;
229
+ }
230
+
231
+ .ant-segmented-item {
232
+ min-width: 0;
233
+ flex: 1;
234
+ }
235
+ }
236
+ `,createButton:e`
237
+ flex: 0 0 auto;
238
+ `,fullBleedContent:e`
239
+ height: 100%;
240
+ overflow: hidden;
241
+ padding: 0;
242
+ `,spinner:e`
243
+ flex: 1;
244
+ display: flex;
245
+ align-items: center;
246
+ justify-content: center;
247
+ `,error:e`
248
+ margin: 16px 24px 0;
249
+ padding: 12px;
250
+ border: 1px solid ${o.colorErrorBorder};
251
+ border-radius: ${o.borderRadius}px;
252
+ color: ${o.colorErrorText};
253
+ background: ${o.colorErrorBg};
254
+ `})),ko=({statusFilter:e,getOwnerLabel:o,showProjectFilter:T=!0,initialTask:u})=>{let{styles:n}=Pt(),{message:g}=Ae.useApp(),s=Ee("__GLOBAL__"),{user:r}=Me(),{projectId:b,projects:f,workspaceId:m}=Oe(),[d,L]=(0,i.useState)(u?.projectId!=null?String(u.projectId):b?String(b):null),D=(0,i.useMemo)(()=>o??((t,l)=>t==="user"&&l===r?.id?r.name||"Me":t==="agent"?"Agent":"User"),[o,r]),[k,I]=(0,i.useState)("board"),[M,Q]=(0,i.useState)("board"),[y,h]=(0,i.useState)(!1),[c,S]=(0,i.useState)(null),[C,A]=(0,i.useState)([]),[B,Ie]=(0,i.useState)([]),[X,ue]=(0,i.useState)(),[st,E]=(0,i.useState)([]),[lt,z]=(0,i.useState)(),[dt,Re]=(0,i.useState)(!0),[ct,J]=(0,i.useState)(!1),[pt,Z]=(0,i.useState)(!1),V=(0,i.useRef)(0),ee=(0,i.useRef)(0),N=(0,i.useRef)(null),fe=(0,i.useRef)("board"),ge=(0,i.useRef)([]),O=(0,i.useRef)(d),ye=(0,i.useRef)(null);O.current=d;let q=(0,i.useCallback)(async(t=O.current)=>{if(O.current!==t)return;let l=++ee.current;Re(!0);try{let j=await s.tasks.list(t?{projectId:t}:void 0);if(l!==ee.current||O.current!==t)return;ye.current=t,ge.current=j,Ie(j),ue(void 0);let te=N.current;if(te){let oe=new Map(j.map(U=>[U.id,U])),re=oe.get(te);if(!re){N.current=null,V.current+=1,S(null),A([]),E([]),z(void 0),J(!1),I(fe.current);return}S(re),A(U=>U.flatMap(ve=>{let _=oe.get(ve.id);return _?[_]:[]}))}}catch{l===ee.current&&O.current===t&&ue(ge.current.length>0?"Tasks could not be refreshed. Your current tasks are still available.":"Tasks could not be loaded. Please try again.")}finally{l===ee.current&&O.current===t&&Re(!1)}},[s]),H=(0,i.useCallback)(async t=>{let l=++V.current;J(!0),z(void 0);try{let j=await s.tasks.workItems.list(t);l===V.current&&N.current===t&&E(j)}catch{l===V.current&&N.current===t&&(E([]),z("Activity could not be loaded. Please try again shortly."))}finally{l===V.current&&N.current===t&&J(!1)}},[s]),{run:K,pending:mt}=et({onSettled:()=>{q(O.current),N.current&&H(N.current)}});(0,i.useEffect)(()=>{q(d)},[q,d]),(0,i.useEffect)(()=>{u?.id&&(N.current=u.id,S(u),I("detail"),H(u.id))},[]);let ut=(0,i.useCallback)(t=>{let l=t?String(t):null;O.current=l,ye.current!==l&&(ye.current=l,ge.current=[],Ie([]),ue(void 0),N.current=null,V.current+=1,S(null),A([]),E([]),z(void 0),J(!1),I(fe.current)),L(l)},[]),he=(0,i.useCallback)(t=>{N.current=t.id,E([]),z(void 0),S(t),A([]);let l=k==="detail"?M:k;fe.current=l,Q(l),I("detail"),H(t.id)},[H,k,M]),xe=(0,i.useCallback)(t=>{N.current=t.id,E([]),z(void 0),A(l=>c?[...l,c]:l),S(t),H(t.id)},[H,c]),ft=(0,i.useCallback)(()=>{if(C.length>0){let t=C[C.length-1];N.current=t.id,E([]),z(void 0),A(l=>l.slice(0,-1)),S(t),H(t.id);return}N.current=null,V.current+=1,I(M),S(null),E([]),z(void 0),J(!1)},[C,M,H]),gt=(0,i.useCallback)(async t=>{try{await s.tasks.create({title:t.title,description:t.description,requireReview:t.requireReview,priority:t.priority||"medium",projectId:t.projectId}),g.success("Task created"),q(),Z(!1)}catch{g.error("Operation failed, please retry")}},[s,q,g]),Se=(0,i.useCallback)((t,l,j)=>{K(t,l,j)},[K]),yt=(0,i.useCallback)((t,l)=>{c&&K(c,t,l)},[K,c]),ht=(0,i.useCallback)(t=>{if(c)return K(c,"comment",{content:t})},[K,c]),xt=Ze(c),ke=c?!!mt[c.id]:!1,[Pe,$e]=(0,i.useState)({});(0,i.useEffect)(()=>{let t=c?.projectId;if(!t){$e({});return}let l=!1,j=s.projectRooms?.members?.list(t)??Promise.resolve([]),te=s.projectRooms?.bots?.list(t)??Promise.resolve([]),oe=m?s.workspaceMembers?.list(m)??Promise.resolve([]):Promise.resolve([]);return Promise.all([j.catch(()=>[]),te.catch(()=>[]),oe.catch(()=>[])]).then(([re,U,ve])=>{if(l)return;let _={};r?.id&&(_[`user:${r.id}`]=r.name||r.id);for(let P of ve)_[`user:${P.userId}`]=P.name;for(let P of re)P.name&&(_[`user:${P.userId}`]=P.name);for(let P of U)_[`agent:${P.assistantId}`]=P.mentionName||P.title;$e(_)}),()=>{l=!0}},[s,c?.projectId,m,r?.id,r?.name]);let kt=(0,i.useCallback)(t=>Pe[t],[Pe]);return k==="detail"&&c?(0,p.jsxs)("div",{className:n.root,children:[X&&(0,p.jsxs)("div",{className:n.error,role:"alert",children:[X," ",(0,p.jsx)(ne,{type:"default",size:"small",onClick:()=>void q(),children:"Retry"})]}),(0,p.jsx)(Xe,{task:c,relatedTasks:B,onRelatedTaskClick:xe,workItems:st,loading:ct,activityError:lt,commandPending:ke,onRun:yt,onComment:ht,commentPending:ke,resolveActorLabel:kt,onViewChat:xt,onBack:ft,focusKey:`${c.id}:${ke?"updating":c.status}`,subtasks:B.filter(t=>t.parentId===c.id),onSubtaskClick:xe,parent:B.find(t=>t.id===c.parentId)??null,onParentClick:xe})]}):(0,p.jsxs)("div",{className:n.root,children:[(0,p.jsxs)("div",{className:`${n.header} tasks-side-app__header`,children:[(0,p.jsxs)("div",{className:`${n.headerRow} tasks-side-app__header-row`,children:[(0,p.jsx)("h2",{className:n.headerTitle,children:e?"Inbox":"Tasks"}),(0,p.jsxs)("div",{className:`${n.headerActions} tasks-side-app__header-actions`,children:[(0,p.jsx)(je,{className:n.viewSwitcher,size:"small",value:k,options:[{value:"board",label:"Board"},{value:"list",label:"List"},{value:"graph",label:"Graph"}],onChange:t=>I(t)}),(0,p.jsx)(ne,{className:n.createButton,type:"primary",size:"small",icon:(0,p.jsx)(de,{size:14}),onClick:()=>Z(!0),children:"New Task"})]})]}),T&&(0,p.jsx)("div",{className:n.filterRow,children:(0,p.jsx)(He,{style:{width:160},value:d,onChange:ut,allLabel:"All Projects",options:f.map(t=>({value:t.id,label:t.name}))})})]}),X&&(0,p.jsxs)("div",{className:n.error,role:"alert",children:[X," ",(0,p.jsx)(ne,{type:"default",size:"small",onClick:()=>void q(),children:"Retry"})]}),dt?(0,p.jsx)("div",{className:n.spinner,children:(0,p.jsx)(Y,{size:"large"})}):k==="list"?(0,p.jsx)("div",{className:`${n.content} ${n.fullBleedContent}`,children:(0,p.jsx)(Je,{tasks:e?B.filter(t=>e.includes(t.status)):B,loading:!1,onTaskClick:he,onRun:Se,getOwnerLabel:D,hideCompleted:y,onHideCompletedChange:h})}):k==="graph"?(0,p.jsx)("div",{className:`${n.content} ${n.fullBleedContent}`,children:(0,p.jsx)(nt,{tasks:e?B.filter(t=>e.includes(t.status)):B,loading:!1,onTaskClick:he,getOwnerLabel:D,hideCompleted:y,onHideCompletedChange:h})}):(0,p.jsx)("div",{className:n.content,children:(0,p.jsx)(rt,{tasks:e?B.filter(t=>e.includes(t.status)):B,loading:!1,onTaskClick:he,onRun:Se,onCreateClick:()=>Z(!0),getOwnerLabel:D,showHeader:!1})}),(0,p.jsx)(at,{visible:pt,onClose:()=>Z(!1),projects:f,initialProjectId:d??b??void 0,onCreate:gt})]})};export{ko as TasksSideApp};
@@ -1,4 +1,4 @@
1
- import{d as Pe,f as Ge,g as Be,h as _e,i as Fe,l as We,m as je}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{$ as Ae,$a as He,A as ye,C as Z,Ga as Ee,I as Ce,N as Se,R as $e,T as Ne,U as Ie,W as we,X as Me,Y as B,Z as oe,_ as De,_a as Oe,g as he,ia as Le,n as J,o as ve,p as Te,q as Q,qa as se,r as O,ra as Re,t as G,va as I,z as be,za as ze}from"./embed-page-chunk-SPC4BYNU.js";import"./embed-page-chunk-HMTKPZ5B.js";import{a as N}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Da as re,Ea as V,Ia as E,Ka as xe,La as R,W as ce,Z as X,aa as z,da as K,fa as me,ga as W,ja as j,ka as pe,oa as q,ua as ge,va as fe,ya as ue}from"./embed-page-chunk-O4QK5LWZ.js";import{a as H}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as h}from"./embed-page-chunk-6Y3UYJ6Z.js";var ie=h(H());var ee=h(H());var f=h(N()),pt=I(({token:e,css:t})=>({container:t`
1
+ import{d as Pe,f as Ge,g as Be,h as _e,i as Fe,l as We,m as je}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{$ as Ae,$a as He,A as ye,C as Z,Ga as Ee,I as Ce,N as Se,R as $e,T as Ne,U as Ie,W as we,X as Me,Y as B,Z as oe,_ as De,_a as Oe,g as he,ia as Le,n as J,o as ve,p as Te,q as Q,qa as se,r as O,ra as Re,t as G,va as I,z as be,za as ze}from"./embed-page-chunk-7GAD6Q52.js";import"./embed-page-chunk-QU52HUXW.js";import{a as N}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Da as re,Ea as V,Ia as E,Ka as xe,La as R,W as ce,Z as X,aa as z,da as K,fa as me,ga as W,ja as j,ka as pe,oa as q,ua as ge,va as fe,ya as ue}from"./embed-page-chunk-O4QK5LWZ.js";import{a as H}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as h}from"./embed-page-chunk-6Y3UYJ6Z.js";var ie=h(H());var ee=h(H());var f=h(N()),pt=I(({token:e,css:t})=>({container:t`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  height: 100%;
@@ -1,4 +1,4 @@
1
- import{a as ce,c as pe}from"./embed-page-chunk-XUXEGF3S.js";import{a as xe}from"./embed-page-chunk-KEL6XU6R.js";import{a as ne,b as O,e as j,f as G,g as oe,h as ie,i as re,k as se,l as ae,m as le,n as de}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{Fa as H,Y as L,h as Q,pa as te,s as F,u as ee,y as M}from"./embed-page-chunk-SPC4BYNU.js";import{r as $}from"./embed-page-chunk-HMTKPZ5B.js";import{a as I}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Aa as J,Bc as K,Fa as Z,Ia as D,La as X,Z as E,aa as P,na as _,oa as A,tb as q,va as B,wa as Y}from"./embed-page-chunk-O4QK5LWZ.js";import{a as U}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as k}from"./embed-page-chunk-6Y3UYJ6Z.js";var r=k(U());var V=k(xe());var ue=k(U());var ge=k(I()),fe=({steps:t,graphDefinition:o,assistantId:n})=>{let l=(0,ue.useMemo)(()=>pe(o),[o]);return(0,ge.jsx)(ce,{dsl:l,steps:t,assistantId:n})};var e=k(I()),ve=`
1
+ import{a as ce,c as pe}from"./embed-page-chunk-YQ3BA27D.js";import{a as xe}from"./embed-page-chunk-KEL6XU6R.js";import{a as ne,b as O,e as j,f as G,g as oe,h as ie,i as re,k as se,l as ae,m as le,n as de}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{Fa as H,Y as L,h as Q,pa as te,s as F,u as ee,y as M}from"./embed-page-chunk-7GAD6Q52.js";import{r as $}from"./embed-page-chunk-QU52HUXW.js";import{a as I}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Aa as J,Bc as K,Fa as Z,Ia as D,La as X,Z as E,aa as P,na as _,oa as A,tb as q,va as B,wa as Y}from"./embed-page-chunk-O4QK5LWZ.js";import{a as U}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as k}from"./embed-page-chunk-6Y3UYJ6Z.js";var r=k(U());var V=k(xe());var ue=k(U());var ge=k(I()),fe=({steps:t,graphDefinition:o,assistantId:n})=>{let l=(0,ue.useMemo)(()=>pe(o),[o]);return(0,ge.jsx)(ce,{dsl:l,steps:t,assistantId:n})};var e=k(I()),ve=`
2
2
  @keyframes spin {
3
3
  from { transform: rotate(0deg); }
4
4
  to { transform: rotate(360deg); }
@@ -1,3 +1,3 @@
1
- import{a as Fe,b as qe}from"./embed-page-chunk-YCX5YZRP.js";import{b as He,c as fe}from"./embed-page-chunk-XUXEGF3S.js";import"./embed-page-chunk-KEL6XU6R.js";import{f as _e}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{C as ae,F as le,Fa as Ne,K as Te,M as de,O as ce,S as De,W as Le,_ as Pe,ha as je,i as Me,ib as Be,l as se,la as _,m as Ae,ma as ge,na as Oe,ra as pe,sa as X,ta as Ee,wa as J}from"./embed-page-chunk-SPC4BYNU.js";import{r as V}from"./embed-page-chunk-HMTKPZ5B.js";import{a as P}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Aa as Se,Gc as We,La as U,W as q,Z as H,aa as Y,fc as ze,ga as Ce,pc as Ie,ra as $,ta as K,tb as Re,va as re,ya as G,yc as ie}from"./embed-page-chunk-O4QK5LWZ.js";import{a as oe}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as W}from"./embed-page-chunk-6Y3UYJ6Z.js";var i=W(oe());var Q=W(oe());var L=W(P());function st(o){let s=o.split(/[\n\r.。;;!!??]+/).filter(Boolean)[0]?.trim()||"";return s=s.replace(/[,,]+$/,"").trim(),s.length>50&&(s=s.slice(0,50)),s||(s=o.slice(0,50).trim()),s}function at(o){let e=5381;for(let s=0;s<o.length;s++)e=(e<<5)+e+o.charCodeAt(s)>>>0;return e.toString(36).slice(0,6)}var ue=({open:o,onCancel:e,onCreated:s,type:m="processing"})=>{let{post:d}=V(),{trainingProjects:p,loading:b}=J(),[f,M]=(0,Q.useState)(null),[y]=$.useForm(),u=p.find(w=>w.id===f)??p[0]??null;return(0,Q.useEffect)(()=>{o&&(y.resetFields(),M(null))},[o,y]),(0,L.jsx)(G,{title:m==="workflow"?"New Workflow":"New Processing Workflow",open:o,onCancel:e,onOk:async()=>{if(m==="workflow"&&!u)return;let x=((await y.validateFields()).purpose||"").trim(),z=st(x),I=`wf-${at(x+Date.now())}`,g=m==="workflow"?{key:I,name:z,description:x,type:"workflow",prompt:"Complete the assigned task accurately and concisely.",metadata:{trainingProjectId:u?.id},workflowYaml:`name: ${I}
1
+ import{a as Fe,b as qe}from"./embed-page-chunk-KDWA6VOG.js";import{b as He,c as fe}from"./embed-page-chunk-YQ3BA27D.js";import"./embed-page-chunk-KEL6XU6R.js";import{f as _e}from"./embed-page-chunk-AC6X2XRH.js";import"./embed-page-chunk-S4XZPBRM.js";import{C as ae,F as le,Fa as Ne,K as Te,M as de,O as ce,S as De,W as Le,_ as Pe,ha as je,i as Me,l as se,la as _,m as Ae,ma as ge,na as Oe,qb as Be,ra as pe,sa as X,ta as Ee,wa as J}from"./embed-page-chunk-7GAD6Q52.js";import{r as V}from"./embed-page-chunk-QU52HUXW.js";import{a as P}from"./embed-page-chunk-MB65DZAX.js";import"./embed-page-chunk-VW3NF5NT.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-Z7USDLHI.js";import{Aa as Se,Gc as We,La as U,W as q,Z as H,aa as Y,fc as ze,ga as Ce,pc as Ie,ra as $,ta as K,tb as Re,va as re,ya as G,yc as ie}from"./embed-page-chunk-O4QK5LWZ.js";import{a as oe}from"./embed-page-chunk-4BKXE5ON.js";import"./embed-page-chunk-IX4WLWCY.js";import"./embed-page-chunk-EUOOO2LS.js";import{e as W}from"./embed-page-chunk-6Y3UYJ6Z.js";var i=W(oe());var Q=W(oe());var L=W(P());function st(o){let s=o.split(/[\n\r.。;;!!??]+/).filter(Boolean)[0]?.trim()||"";return s=s.replace(/[,,]+$/,"").trim(),s.length>50&&(s=s.slice(0,50)),s||(s=o.slice(0,50).trim()),s}function at(o){let e=5381;for(let s=0;s<o.length;s++)e=(e<<5)+e+o.charCodeAt(s)>>>0;return e.toString(36).slice(0,6)}var ue=({open:o,onCancel:e,onCreated:s,type:m="processing"})=>{let{post:d}=V(),{trainingProjects:p,loading:b}=J(),[f,M]=(0,Q.useState)(null),[y]=$.useForm(),u=p.find(w=>w.id===f)??p[0]??null;return(0,Q.useEffect)(()=>{o&&(y.resetFields(),M(null))},[o,y]),(0,L.jsx)(G,{title:m==="workflow"?"New Workflow":"New Processing Workflow",open:o,onCancel:e,onOk:async()=>{if(m==="workflow"&&!u)return;let x=((await y.validateFields()).purpose||"").trim(),z=st(x),I=`wf-${at(x+Date.now())}`,g=m==="workflow"?{key:I,name:z,description:x,type:"workflow",prompt:"Complete the assigned task accurately and concisely.",metadata:{trainingProjectId:u?.id},workflowYaml:`name: ${I}
2
2
  steps: []
3
3
  `}:{key:I,name:z,description:x,type:"processing",prompt:`You are the orchestrator for workflow "${z}". Purpose: ${x}. Follow the topology to delegate tasks to sub-agents.`,tools:[],skills:[],subAgents:[],middleware:[{id:"topology",type:"topology",name:"Topology",description:"Workflow topology",enabled:!0,config:{edges:[]}}]};await d("/api/assistants",{id:I,name:z,description:x,graphDefinition:g}),y.resetFields(),s(I,x,m==="workflow"?u?.id:void 0)},okText:"Create",okButtonProps:{disabled:m==="workflow"&&(b||!u)},destroyOnClose:!0,children:(0,L.jsxs)($,{form:y,layout:"vertical",initialValues:{purpose:""},children:[(0,L.jsx)($.Item,{name:"purpose",label:"Purpose",rules:[{required:!0,message:"Please describe the workflow purpose"}],children:(0,L.jsx)(K.TextArea,{placeholder:"Describe what this workflow should do. Name and key will be generated automatically.",rows:4})}),m==="workflow"&&(0,L.jsx)(Fe,{project:u,projects:p,value:u?.id??null,onChange:M,loading:b})]})})};var Ke=W(oe());var t=W(P()),{Text:be}=U;function lt(o){if(!o||typeof o!="object")return null;let e=o;return{modelKey:e.modelKey||e.model||void 0,tools:Array.isArray(e.tools)?e.tools:[],middleware:Array.isArray(e.middleware)?e.middleware.filter(s=>s&&typeof s=="object"&&s.type):[],subAgents:Array.isArray(e.subAgents)?e.subAgents:[],skillCategories:Array.isArray(e.skillCategories)?e.skillCategories:[],runConfig:e.runConfig&&typeof e.runConfig=="object"?e.runConfig:void 0}}var dt={filesystem:(0,t.jsx)(Te,{size:12}),code_eval:(0,t.jsx)(Oe,{size:12}),browser:(0,t.jsx)(ce,{size:12}),sql:(0,t.jsx)(le,{size:12}),skill:(0,t.jsx)(ge,{size:12}),http:(0,t.jsx)(Le,{size:12}),scheduler:(0,t.jsx)(ae,{size:12}),metrics:(0,t.jsx)(Me,{size:12}),topology:(0,t.jsx)(de,{size:12}),ask_user_to_clarify:(0,t.jsx)(Pe,{size:12}),widget:(0,t.jsx)(se,{size:12}),date:(0,t.jsx)(Ae,{size:12}),task:(0,t.jsx)(de,{size:12}),custom:(0,t.jsx)(je,{size:12}),claw:(0,t.jsx)(_,{size:12}),collection:(0,t.jsx)(De,{size:12})},ct={filesystem:{bg:"rgba(34,197,94,0.08)",text:"#16a34a",border:"rgba(34,197,94,0.2)"},code_eval:{bg:"rgba(99,102,241,0.08)",text:"#4f46e5",border:"rgba(99,102,241,0.2)"},browser:{bg:"rgba(59,130,246,0.08)",text:"#2563eb",border:"rgba(59,130,246,0.2)"},sql:{bg:"rgba(249,115,22,0.08)",text:"#ea580c",border:"rgba(249,115,22,0.2)"},skill:{bg:"rgba(168,85,247,0.08)",text:"#9333ea",border:"rgba(168,85,247,0.2)"},http:{bg:"rgba(20,184,166,0.08)",text:"#0d9488",border:"rgba(20,184,166,0.2)"},scheduler:{bg:"rgba(245,158,11,0.08)",text:"#d97706",border:"rgba(245,158,11,0.2)"},metrics:{bg:"rgba(236,72,153,0.08)",text:"#db2777",border:"rgba(236,72,153,0.2)"},topology:{bg:"rgba(99,102,241,0.08)",text:"#4f46e5",border:"rgba(99,102,241,0.2)"},ask_user_to_clarify:{bg:"rgba(245,158,11,0.08)",text:"#d97706",border:"rgba(245,158,11,0.2)"},widget:{bg:"rgba(20,184,166,0.08)",text:"#0d9488",border:"rgba(20,184,166,0.2)"},date:{bg:"rgba(139,92,246,0.08)",text:"#7c3aed",border:"rgba(139,92,246,0.2)"},task:{bg:"rgba(99,102,241,0.08)",text:"#4f46e5",border:"rgba(99,102,241,0.2)"},custom:{bg:"rgba(107,114,128,0.08)",text:"#4b5563",border:"rgba(107,114,128,0.2)"},claw:{bg:"rgba(107,114,128,0.08)",text:"#4b5563",border:"rgba(107,114,128,0.2)"},collection:{bg:"rgba(6,182,212,0.08)",text:"#0891b2",border:"rgba(6,182,212,0.2)"}},gt={bg:"rgba(107,114,128,0.08)",text:"#4b5563",border:"rgba(107,114,128,0.2)"};function pt(o){let e=o.split(/[_-]+/).filter(Boolean);return e.length===1?e[0].slice(0,2).toUpperCase():e.map(s=>s[0]).join("").toUpperCase().slice(0,2)}var Ye=[{bg:"rgba(99,102,241,0.1)",text:"#6366f1"},{bg:"rgba(34,197,94,0.1)",text:"#22c55e"},{bg:"rgba(245,158,11,0.1)",text:"#f59e0b"},{bg:"rgba(59,130,246,0.1)",text:"#3b82f6"},{bg:"rgba(239,68,68,0.1)",text:"#ef4444"},{bg:"rgba(168,85,247,0.1)",text:"#a855f7"},{bg:"rgba(20,184,166,0.1)",text:"#14b8a6"},{bg:"rgba(236,72,153,0.1)",text:"#ec4899"}];function $e(o){return Ye[o%Ye.length]}var B=({icon:o,label:e,count:s,children:m})=>(0,t.jsxs)("div",{style:{marginBottom:10},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,t.jsx)("span",{style:{color:"#6366f1",display:"flex",alignItems:"center"},children:o}),(0,t.jsx)(be,{strong:!0,style:{fontSize:11,color:"#52525b",textTransform:"uppercase",letterSpacing:"0.3px"},children:e}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:600,color:"#a1a1aa",background:"rgba(0,0,0,0.04)",borderRadius:8,padding:"1px 6px",lineHeight:"16px"},children:s})]}),m]}),Ge=({graphDef:o})=>{let e=(0,Ke.useMemo)(()=>lt(o),[o]);if(!e)return null;let s=e.middleware.filter(d=>d.enabled!==!1),m=!1;return e.tools.length===0&&s.length===0&&e.subAgents.length===0?null:(0,t.jsx)("div",{style:{pointerEvents:"auto"},children:(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.5)",borderRadius:8,width:250,transition:"all 0.25s ease",overflow:"hidden"},children:[(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(99,102,241,0.02)",borderBottom:"1px solid rgba(0,0,0,0.03)"},children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,t.jsx)("div",{style:{width:24,height:24,borderRadius:6,background:"rgba(99,102,241,0.05)",display:"flex",alignItems:"center",justifyContent:"center",color:"#6366f1"},children:(0,t.jsx)(_,{size:13})}),(0,t.jsx)(be,{strong:!0,style:{fontSize:12,color:"#1a1a1a"},children:"Environment"})]})}),(0,t.jsxs)("div",{style:{padding:"10px 12px 12px",maxHeight:"calc(60vh - 48px)",overflowY:"auto"},children:[e.tools.length>0&&(0,t.jsx)(B,{icon:(0,t.jsx)(Ee,{size:12}),label:"Tools",count:e.tools.length,children:(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:e.tools.map((d,p)=>{let b=$e(p);return(0,t.jsx)(Y,{title:d,placement:"top",children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:b.text,background:b.bg,cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[(0,t.jsx)("span",{style:{fontWeight:700,fontSize:9,opacity:.7},children:pt(d)}),(0,t.jsx)("span",{children:d})]})},d)})})}),s.length>0&&(0,t.jsx)(B,{icon:(0,t.jsx)(se,{size:12}),label:"Capabilities",count:s.length,children:(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:s.map(d=>{let p=ct[d.type]||gt,b=dt[d.type]||(0,t.jsx)(_,{size:12});return(0,t.jsx)(Y,{title:d.name||d.type,placement:"top",children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:p.text,background:p.bg,border:`1px solid ${p.border}`,cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[b,(0,t.jsx)("span",{children:d.name||d.type})]})},d.type)})})}),e.subAgents.length>0&&(0,t.jsx)(B,{icon:(0,t.jsx)(pe,{size:12}),label:"Sub-agents",count:e.subAgents.length,children:(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:e.subAgents.map((d,p)=>{let b=$e(p+3);return(0,t.jsx)(Y,{title:d,placement:"top",children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:b.text,background:b.bg,cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[(0,t.jsx)(pe,{size:10}),(0,t.jsx)("span",{children:d})]})},d)})})}),(e.modelKey||e.runConfig)&&(0,t.jsx)(B,{icon:(0,t.jsx)(ae,{size:12}),label:"Runtime",count:e.modelKey?1:0,children:(0,t.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[e.modelKey&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:"#4f46e5",background:"rgba(99,102,241,0.08)",border:"1px solid rgba(99,102,241,0.2)",cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[(0,t.jsx)(_,{size:10}),(0,t.jsxs)("span",{children:["Model: ",e.modelKey]})]}),!!e.runConfig?.databaseKey&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:"#ea580c",background:"rgba(249,115,22,0.08)",border:"1px solid rgba(249,115,22,0.2)",cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[(0,t.jsx)(le,{size:10}),(0,t.jsxs)("span",{children:["DB: ",String(e.runConfig?.databaseKey)]})]}),e.skillCategories&&e.skillCategories.length>0&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",borderRadius:6,fontSize:10,fontWeight:500,color:"#9333ea",background:"rgba(168,85,247,0.08)",border:"1px solid rgba(168,85,247,0.2)",cursor:"default",whiteSpace:"nowrap",lineHeight:"16px"},children:[(0,t.jsx)(ge,{size:10}),(0,t.jsxs)("span",{children:["Skills: ",e.skillCategories.join(", ")]})]})]})}),m&&(0,t.jsx)(B,{icon:(0,t.jsx)(ce,{size:12}),label:"Channels",count:0,children:(0,t.jsx)(be,{type:"secondary",style:{fontSize:10,fontStyle:"italic"},children:"No channels configured"})})]})]})})};var n=W(P()),{Text:F}=U;function Ue(o){if(typeof o=="string")try{let e=JSON.parse(o);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}return o&&typeof o=="object"&&!Array.isArray(o)?o:null}function ft(o){let e=null;if(typeof o=="string")try{e=JSON.parse(o)}catch{return null}else o&&typeof o=="object"&&(e=o);if(!e)return null;if(e.type!=="workflow")return console.warn("[extractDSL] type is not 'workflow':",e.type),null;if(typeof e.workflowYaml!="string")return console.warn("[extractDSL] workflowYaml not found or not a string, keys:",Object.keys(e)),null;try{return fe(e.workflowYaml)}catch(s){return console.error("[extractDSL] expandWorkflow failed:",s.message,s),null}}function ut({workflows:o,selectedId:e,onSelect:s,onCreate:m,onDelete:d,dsl:p,agentNameMap:b,onSpecClick:f,environmentConfig:M}){let y=o.find(g=>g.id===e),[u,S]=(0,i.useState)(!0),[w,x]=(0,i.useState)(""),z=(0,i.useMemo)(()=>{let g=w.trim().toLowerCase();return g?o.filter(h=>h.name.toLowerCase().includes(g)||h.description.toLowerCase().includes(g)):o},[o,w]);(0,i.useEffect)(()=>{e?S(!1):(S(!0),x(""))},[e]);let I=g=>{s(g),S(!1)};return(0,n.jsx)("div",{style:{display:"flex",height:"100%",width:"100%"},children:(0,n.jsxs)("div",{style:{flex:1,position:"relative"},children:[y?(0,n.jsxs)(n.Fragment,{children:[p?(0,n.jsx)(He,{dsl:p,agentNameMap:b}):(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,n.jsx)(re,{tip:"Loading workflow DSL..."})}),!u&&(0,n.jsx)("div",{style:{position:"absolute",top:12,left:12,zIndex:10},children:(0,n.jsx)(q,{type:"default",icon:(0,n.jsx)(Ie,{}),onClick:()=>S(!0),style:{width:32,height:32,borderRadius:10,boxShadow:"0 2px 12px rgba(0,0,0,0.08)",border:"1px solid #f0f0f0",background:"rgba(255,255,255,0.95)",color:"#6366f1",display:"flex",alignItems:"center",justifyContent:"center"}})}),(0,n.jsxs)("div",{style:{position:"absolute",top:12,left:u?12:56,zIndex:10,display:"flex",alignItems:"center",gap:6,height:32,padding:"0 14px",background:"rgba(255,255,255,0.95)",borderRadius:10,boxShadow:"0 2px 12px rgba(0,0,0,0.08)",border:"1px solid #f0f0f0"},children:[(0,n.jsx)(X,{size:16,color:"#6366f1"}),(0,n.jsx)(F,{strong:!0,style:{fontSize:13},children:y.name}),(0,n.jsx)(ze,{style:{color:"#6366f1",cursor:"pointer",fontSize:15},onClick:f})]}),(0,n.jsx)("div",{style:{position:"absolute",top:12,right:12,zIndex:10,display:"flex",alignItems:"center",height:32,padding:"0 14px",background:"rgba(255,255,255,0.95)",borderRadius:10,boxShadow:"0 2px 12px rgba(0,0,0,0.08)",border:"1px solid #f0f0f0"},children:(0,n.jsx)(Se,{title:"Delete workflow",description:"This will permanently delete this workflow agent.",onConfirm:()=>d(y.id),okText:"Delete",cancelText:"Cancel",okButtonProps:{danger:!0},children:(0,n.jsx)(Re,{style:{color:"#ff4d4f",cursor:"pointer",fontSize:15}})})}),!u&&(0,n.jsx)("div",{style:{position:"absolute",top:52,left:u?12:56,zIndex:20},children:(0,n.jsx)(Ge,{graphDef:M},y.id)})]}):(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,n.jsx)(H,{description:"Select a workflow to view its graph"})}),u&&(0,n.jsxs)(n.Fragment,{children:[e&&(0,n.jsx)("div",{onClick:()=>S(!1),style:{position:"absolute",inset:0,zIndex:25,background:"transparent"}}),(0,n.jsxs)(Ce,{size:"small",title:(0,n.jsx)(F,{strong:!0,style:{fontSize:15,color:"#1a1a1a"},children:"Workflows"}),extra:(0,n.jsx)(q,{type:"text",size:"small",icon:(0,n.jsx)(ie,{}),onClick:m,style:{color:"#6366f1"}}),styles:{body:{padding:"12px 16px 16px"},header:{padding:"14px 16px 10px",borderBottom:"1px solid rgba(0,0,0,0.04)"}},style:{position:"absolute",left:16,top:e?56:48,bottom:16,width:300,zIndex:30,borderRadius:16,boxShadow:"0 4px 24px rgba(0,0,0,0.12)",border:"1px solid #f0f0f0",overflow:"auto",background:"rgba(255, 255, 255, 0.92)"},children:[(0,n.jsx)("div",{style:{marginBottom:12},children:(0,n.jsx)(K,{prefix:(0,n.jsx)(We,{style:{color:"#bbb"}}),placeholder:"Filter workflows...",value:w,onChange:g=>x(g.target.value),allowClear:!0,size:"small",style:{borderRadius:10,border:"1px solid rgba(0,0,0,0.06)"}})}),z.length===0?(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"32px 16px",color:"#bbb"},children:[(0,n.jsx)(X,{size:28,style:{marginBottom:10,opacity:.4}}),(0,n.jsx)(F,{type:"secondary",style:{fontSize:13},children:w.trim()?"No workflows match your search":"No workflows yet"})]}):z.map(g=>{let h=e===g.id;return(0,n.jsxs)("div",{onClick:()=>I(g.id),style:{display:"flex",alignItems:"center",gap:12,padding:"13px 15px",borderRadius:12,cursor:"pointer",transition:"all 0.2s ease",background:h?"rgba(99, 102, 241, 0.07)":"rgba(255, 255, 255, 0.5)",border:h?"1px solid rgba(99, 102, 241, 0.25)":"1px solid transparent",marginBottom:6},onMouseEnter:C=>{h||(C.currentTarget.style.background="rgba(255, 255, 255, 0.92)",C.currentTarget.style.boxShadow="0 2px 8px rgba(0,0,0,0.05)",C.currentTarget.style.transform="translateY(-1px)",C.currentTarget.style.borderColor="rgba(0,0,0,0.06)")},onMouseLeave:C=>{h||(C.currentTarget.style.background="rgba(255, 255, 255, 0.5)",C.currentTarget.style.boxShadow="none",C.currentTarget.style.transform="translateY(0)",C.currentTarget.style.borderColor="transparent")},children:[(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:38,height:38,borderRadius:10,background:h?"rgba(99, 102, 241, 0.12)":"rgba(0, 0, 0, 0.04)",flexShrink:0,transition:"background 0.2s ease"},children:(0,n.jsx)(X,{size:18,color:h?"#6366f1":"#888"})}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)(F,{strong:!0,ellipsis:{tooltip:g.name},style:{fontSize:14,color:h?"#6366f1":"#1a1a1a",transition:"color 0.2s ease"},children:g.name}),g.description&&(0,n.jsx)("div",{style:{fontSize:12,color:"#999",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:3,lineHeight:"18px"},children:g.description})]})]},g.id)})]})]})]})})}var bt=()=>{let{get:o,del:e}=V(),{workspaceId:s,trainingProjects:m,loading:d}=J(),[p,b]=(0,i.useState)([]),[f,M]=(0,i.useState)(null),[y,u]=(0,i.useState)(null),[S,w]=(0,i.useState)(null),[x,z]=(0,i.useState)([]),[I,g]=(0,i.useState)(new Map),h=(0,i.useCallback)(async()=>{try{let r=await o("/api/assistants");if(r.success&&r.data?.records){let c=[],a=new Map;for(let l of r.data.records){if(l.id&&l.name){let k=typeof l.graphDefinition=="object"&&l.graphDefinition!==null?l.graphDefinition:void 0;a.set(l.id,{name:l.name,type:k?.type??"unknown"})}if(l.graphDefinition)if(typeof l.graphDefinition=="string")try{c.push(JSON.parse(l.graphDefinition))}catch{}else typeof l.graphDefinition=="object"&&c.push(l.graphDefinition)}z(c),g(a)}}catch{}},[o]),[C,me]=(0,i.useState)(!0),[Z,Xe]=(0,i.useState)(420),j=(0,i.useRef)(null),[Je,Ve]=(0,i.useState)(!0),[ye,we]=(0,i.useState)(null),[Qe,xe]=(0,i.useState)(!1),[he,O]=(0,i.useState)(!1),[Ze,ke]=(0,i.useState)(null),et=(0,i.useMemo)(()=>["create_workflow","update_workflow","validate_workflow","create_agent","update_agent","delete_agent"],[]),T=(0,i.useCallback)(async()=>{let r=await o("/api/assistants");if(r.success&&r.data?.records){let c=r.data.records.filter(a=>(Ue(a.graphDefinition)??void 0)?.type==="workflow").map(a=>{let l=Ue(a.graphDefinition)??void 0,k=typeof l?.workflowYaml=="string"?l.workflowYaml:"",E=l?.metadata,N=0;try{N=fe(k).nodes.filter(R=>R.type!=="terminal").length}catch{}return{id:a.id,name:a.name,description:a.description||"",type:"workflow",stepCount:N,trainingProjectId:typeof E?.trainingProjectId=="string"?E.trainingProjectId:void 0}});b(c)}we(null)},[o]),ee=(0,i.useCallback)(async r=>{try{let c=await o(`/api/assistants/${r}`);if(c.success&&c.data){let a=c.data.graphDefinition,l=ft(a);if(u(l),!a)w(null);else if(typeof a=="string")try{w(JSON.parse(a))}catch{w(null)}else w(typeof a=="object"?a:null)}}catch{u(null),w(null)}},[o]);(0,i.useEffect)(()=>{let r=!1;return(async()=>{try{await T(),await h()}catch(a){r||we(a instanceof Error?a.message:"Failed to load workflows")}finally{r||Ve(!1)}})(),()=>{r=!0}},[T]),(0,i.useEffect)(()=>{f?ee(f):u(null)},[f,ee]);let tt=(0,i.useCallback)(r=>{r.preventDefault(),j.current={startX:r.clientX,startWidth:Z}},[Z]);(0,i.useEffect)(()=>{let r=a=>{if(!j.current)return;let l=j.current.startX-a.clientX,k=Math.min(900,Math.max(400,j.current.startWidth+l));Xe(k)},c=()=>{j.current=null};return window.addEventListener("mousemove",r),window.addEventListener("mouseup",c),()=>{window.removeEventListener("mousemove",r),window.removeEventListener("mouseup",c)}},[]);let nt=(0,i.useCallback)(r=>{M(r)},[]),ve=(0,i.useCallback)((r,c,a)=>{O(!1),T().then(()=>{M(r),a&&b(l=>l.map(k=>k.id===r?{...k,trainingProjectId:a}:k)),c&&ke({requestId:r,content:c})})},[T]),ot=(0,i.useCallback)(async r=>{await e(`/api/assistants/${r}`),f===r&&M(null),await T()},[e,T,f]),D=(0,i.useMemo)(()=>p.find(r=>r.id===f)||null,[p,f]),te=D?.trainingProjectId??m[0]?.id??null,rt=(0,i.useMemo)(()=>f&&D?{id:f,name:D.name,type:"workflow"}:null,[f,D]),it=(0,i.useMemo)(()=>{let r=y?.nodes.filter(v=>v.type!=="terminal"&&v.ref).map(v=>v.ref).filter((v,R,A)=>A.indexOf(v)===R)??[];if(r.length===0)return S;let c=x.filter(v=>{let R=v.key;return R&&r.includes(R)});if(c.length===0)return S;let a={...S??{}},l=new Set(a.tools??[]),k=[...a.middleware??[]],E=new Set(a.subAgents??[]),N=new Set(k.map(v=>v.type).filter(Boolean));for(let v of c){let R=v;for(let A of R.tools??[])l.add(A);for(let A of R.middleware??[]){let ne=A.type;ne&&!N.has(ne)&&(k.push(A),N.add(ne))}for(let A of R.subAgents??[])E.add(A)}return a.tools=Array.from(l),a.middleware=k,a.subAgents=Array.from(E),a},[y,S,x]);return Je?(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,n.jsx)(re,{size:"large",tip:"Loading workflows..."})}):ye?(0,n.jsx)(H,{description:ye}):p.length===0?(0,n.jsxs)("div",{style:{width:"100%",height:"100%"},children:[(0,n.jsx)(ue,{open:he,onCancel:()=>O(!1),onCreated:ve,type:"workflow"}),(0,n.jsx)(H,{description:"No workflow definitions found.",children:(0,n.jsx)(q,{type:"primary",icon:(0,n.jsx)(ie,{}),onClick:()=>O(!0),children:"Create Workflow"})})]}):(0,n.jsxs)("div",{style:{width:"100%",height:"100%"},children:[(0,n.jsx)(ue,{open:he,onCancel:()=>O(!1),onCreated:ve,type:"workflow"}),(0,n.jsx)(G,{title:D?.name,open:Qe,onCancel:()=>xe(!1),footer:null,width:"85vw",centered:!0,styles:{body:{maxHeight:"calc(85vh - 120px)",overflow:"auto",padding:"12px 24px 24px"}},children:D?.description?(0,n.jsx)(Ne,{content:D.description}):(0,n.jsx)(F,{type:"secondary",children:"No description set."})}),(0,n.jsx)(_e,{children:(0,n.jsxs)("div",{style:{height:"100%",width:"100%",position:"relative",overflow:"hidden"},children:[(0,n.jsx)(ut,{workflows:p,selectedId:f,onSelect:nt,onCreate:()=>O(!0),onDelete:ot,dsl:y,agentNameMap:I,onSpecClick:()=>xe(!0),environmentConfig:it}),!C&&f&&(0,n.jsx)("div",{style:{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",zIndex:20},children:(0,n.jsx)("div",{onClick:()=>me(!0),style:{writingMode:"vertical-rl",textOrientation:"mixed",padding:"16px 8px",background:"#6366f1",color:"#fff",borderRadius:"8px 0 0 8px",cursor:"pointer",fontSize:12,fontWeight:500,userSelect:"none"},children:"Copilot"})}),C&&f&&te&&!d&&(0,n.jsxs)("div",{style:{position:"absolute",right:16,top:48,bottom:12,zIndex:15,width:Z,borderRadius:16,overflow:"hidden",boxShadow:"0 4px 24px rgba(0,0,0,0.12)"},children:[(0,n.jsx)("div",{onMouseDown:tt,style:{position:"absolute",left:0,top:0,bottom:0,width:6,cursor:"ew-resize",zIndex:2,background:"transparent"}}),(0,n.jsx)(Be,{defaultWorkspaceId:s??void 0,defaultProjectId:te??void 0,children:(0,n.jsx)(qe,{workflowContext:rt,onClose:()=>me(!1),onToolCompleted:r=>{et.includes(r)&&(T(),f&&ee(f))},initialMessageRequest:Ze,onInitialMessageSubmitted:r=>ke(c=>c?.requestId===r?null:c)})},`${s??"default"}:${te??"default"}`)]})]})})]})},qt=bt;export{bt as WorkflowAutomationView,qt as default};