@axiom-lattice/gateway 4.9.2 → 4.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embed/{embed-page-AgentDetailSideApp-WQAMMDXN.js → embed-page-AgentDetailSideApp-2M4MLVQQ.js} +1 -1
- package/dist/embed/{embed-page-AgentGovernanceWorkbench-VKD4IZIO.js → embed-page-AgentGovernanceWorkbench-KEVBIQP6.js} +1 -1
- package/dist/embed/{embed-page-MessageGraph-C4EJWY3E.js → embed-page-MessageGraph-PRBUQINR.js} +1 -1
- package/dist/embed/{embed-page-ReactChart-TNT4TT4C.js → embed-page-ReactChart-V6JJXCEV.js} +1 -1
- package/dist/embed/{embed-page-SkillFlow-WWRDU6GS.js → embed-page-SkillFlow-6LPE2VG3.js} +1 -1
- package/dist/embed/{embed-page-TasksSideApp-73SJLGRY.js → embed-page-TasksSideApp-OFZI54MF.js} +1 -1
- package/dist/embed/{embed-page-TeamWorkspace-6E4HAH7L.js → embed-page-TeamWorkspace-QSSAF3AA.js} +1 -1
- package/dist/embed/{embed-page-TopologyRuntimeView-SXUNRFT4.js → embed-page-TopologyRuntimeView-PHULW2NG.js} +1 -1
- package/dist/embed/{embed-page-WorkflowAutomationView-I4VN6YY2.js → embed-page-WorkflowAutomationView-LQS6H7X6.js} +1 -1
- package/dist/embed/{embed-page-chunk-TEIHYMTL.js → embed-page-chunk-7PNQFZMK.js} +7 -7
- package/dist/embed/{embed-page-chunk-G5NEOKZK.js → embed-page-chunk-D5EY6ASK.js} +1 -1
- package/dist/embed/{embed-page-chunk-YZMHK63X.js → embed-page-chunk-IJ2YWGKU.js} +1 -1
- package/dist/embed/{embed-page-chunk-WUOHF2QZ.js → embed-page-chunk-O44JEYLD.js} +7 -7
- package/dist/embed/embed-page-chunk-PFCR6CFL.js +2 -0
- package/dist/embed/{embed-page-chunk-L7HKGCDN.js → embed-page-chunk-SSWDAKQU.js} +1 -1
- package/dist/embed/{embed-page-chunk-IM57IYUL.js → embed-page-chunk-YNHKD2CY.js} +1 -1
- package/dist/embed/{embed-page-en-GE4GI4D3.js → embed-page-en-ICVL5QAC.js} +1 -1
- package/dist/embed/{embed-page-zh-KC2E7UVY.js → embed-page-zh-FPYCTKQK.js} +1 -1
- package/dist/embed/embed-page.js +1 -1
- package/dist/index.js +342 -140
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +287 -86
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -7
- package/dist/embed/embed-page-chunk-RQXI6NQX.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{M as G,a as pe,b as ce,r as me,sb as he,ta as fe,tb as be,ua as q,wa as Ae,ya as ge}from"./embed-page-chunk-7PNQFZMK.js";import{B as ue,a as S,e as v,f as ne,g as oe,n as ae,r as L,s as ie,t as se,u as de,x as le}from"./embed-page-chunk-O44JEYLD.js";import{a as M}from"./embed-page-chunk-QV7QAJ4N.js";import{i as Q,j as Ne,k as Oe,l as je,m as Fe}from"./embed-page-chunk-QULNM5O2.js";import{M as te,va as re}from"./embed-page-chunk-MHGVD4EV.js";import{a as ee}from"./embed-page-chunk-R5QL57JJ.js";import{c as T,f as R}from"./embed-page-chunk-QBTAJ2YI.js";var Ie=T(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.default=void 0;var it={items_per_page:"\u6761/\u9875",jump_to:"\u8DF3\u81F3",jump_to_confirm:"\u786E\u5B9A",page:"\u9875",prev_page:"\u4E0A\u4E00\u9875",next_page:"\u4E0B\u4E00\u9875",prev_5:"\u5411\u524D 5 \u9875",next_5:"\u5411\u540E 5 \u9875",prev_3:"\u5411\u524D 3 \u9875",next_3:"\u5411\u540E 3 \u9875",page_size:"\u9875\u7801"},Qt=O.default=it});var _e=T(j=>{"use strict";var st=Ne().default;Object.defineProperty(j,"__esModule",{value:!0});j.default=void 0;var Pe=st(Oe()),dt=je(),lt=(0,Pe.default)((0,Pe.default)({},dt.commonLocale),{},{locale:"zh_CN",today:"\u4ECA\u5929",now:"\u6B64\u523B",backToToday:"\u8FD4\u56DE\u4ECA\u5929",ok:"\u786E\u5B9A",timeSelect:"\u9009\u62E9\u65F6\u95F4",dateSelect:"\u9009\u62E9\u65E5\u671F",weekSelect:"\u9009\u62E9\u5468",clear:"\u6E05\u9664",week:"\u5468",month:"\u6708",year:"\u5E74",previousMonth:"\u4E0A\u4E2A\u6708 (\u7FFB\u9875\u4E0A\u952E)",nextMonth:"\u4E0B\u4E2A\u6708 (\u7FFB\u9875\u4E0B\u952E)",monthSelect:"\u9009\u62E9\u6708\u4EFD",yearSelect:"\u9009\u62E9\u5E74\u4EFD",decadeSelect:"\u9009\u62E9\u5E74\u4EE3",previousYear:"\u4E0A\u4E00\u5E74 (Control\u952E\u52A0\u5DE6\u65B9\u5411\u952E)",nextYear:"\u4E0B\u4E00\u5E74 (Control\u952E\u52A0\u53F3\u65B9\u5411\u952E)",previousDecade:"\u4E0A\u4E00\u5E74\u4EE3",nextDecade:"\u4E0B\u4E00\u5E74\u4EE3",previousCentury:"\u4E0A\u4E00\u4E16\u7EAA",nextCentury:"\u4E0B\u4E00\u4E16\u7EAA",yearFormat:"YYYY\u5E74",cellDateFormat:"D",monthBeforeYear:!1}),Yt=j.default=lt});var V=T(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.default=void 0;var pt={placeholder:"\u8BF7\u9009\u62E9\u65F6\u95F4",rangePlaceholder:["\u5F00\u59CB\u65F6\u95F4","\u7ED3\u675F\u65F6\u95F4"]},Zt=F.default=pt});var Y=T(H=>{"use strict";var We=Q().default;Object.defineProperty(H,"__esModule",{value:!0});H.default=void 0;var ct=We(_e()),ut=We(V()),Le={lang:Object.assign({placeholder:"\u8BF7\u9009\u62E9\u65E5\u671F",yearPlaceholder:"\u8BF7\u9009\u62E9\u5E74\u4EFD",quarterPlaceholder:"\u8BF7\u9009\u62E9\u5B63\u5EA6",monthPlaceholder:"\u8BF7\u9009\u62E9\u6708\u4EFD",weekPlaceholder:"\u8BF7\u9009\u62E9\u5468",rangePlaceholder:["\u5F00\u59CB\u65E5\u671F","\u7ED3\u675F\u65E5\u671F"],rangeYearPlaceholder:["\u5F00\u59CB\u5E74\u4EFD","\u7ED3\u675F\u5E74\u4EFD"],rangeMonthPlaceholder:["\u5F00\u59CB\u6708\u4EFD","\u7ED3\u675F\u6708\u4EFD"],rangeQuarterPlaceholder:["\u5F00\u59CB\u5B63\u5EA6","\u7ED3\u675F\u5B63\u5EA6"],rangeWeekPlaceholder:["\u5F00\u59CB\u5468","\u7ED3\u675F\u5468"]},ct.default),timePickerLocale:Object.assign({},ut.default)};Le.lang.ok="\u786E\u5B9A";var tr=H.default=Le});var xe=T(B=>{"use strict";var mt=Q().default;Object.defineProperty(B,"__esModule",{value:!0});B.default=void 0;var ft=mt(Y()),nr=B.default=ft.default});var ve=T(X=>{"use strict";var z=Q().default;Object.defineProperty(X,"__esModule",{value:!0});X.default=void 0;var At=z(Ie()),gt=z(xe()),ht=z(Y()),bt=z(V()),y="${label}\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684${type}",yt={locale:"zh-cn",Pagination:At.default,DatePicker:ht.default,TimePicker:bt.default,Calendar:gt.default,global:{placeholder:"\u8BF7\u9009\u62E9",close:"\u5173\u95ED"},Table:{filterTitle:"\u7B5B\u9009",filterConfirm:"\u786E\u5B9A",filterReset:"\u91CD\u7F6E",filterEmptyText:"\u65E0\u7B5B\u9009\u9879",filterCheckAll:"\u5168\u9009",filterSearchPlaceholder:"\u5728\u7B5B\u9009\u9879\u4E2D\u641C\u7D22",emptyText:"\u6682\u65E0\u6570\u636E",selectAll:"\u5168\u9009\u5F53\u9875",selectInvert:"\u53CD\u9009\u5F53\u9875",selectNone:"\u6E05\u7A7A\u6240\u6709",selectionAll:"\u5168\u9009\u6240\u6709",sortTitle:"\u6392\u5E8F",expand:"\u5C55\u5F00\u884C",collapse:"\u5173\u95ED\u884C",triggerDesc:"\u70B9\u51FB\u964D\u5E8F",triggerAsc:"\u70B9\u51FB\u5347\u5E8F",cancelSort:"\u53D6\u6D88\u6392\u5E8F"},Modal:{okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",justOkText:"\u77E5\u9053\u4E86"},Tour:{Next:"\u4E0B\u4E00\u6B65",Previous:"\u4E0A\u4E00\u6B65",Finish:"\u7ED3\u675F\u5BFC\u89C8"},Popconfirm:{cancelText:"\u53D6\u6D88",okText:"\u786E\u5B9A"},Transfer:{titles:["",""],searchPlaceholder:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9",itemUnit:"\u9879",itemsUnit:"\u9879",remove:"\u5220\u9664",selectCurrent:"\u5168\u9009\u5F53\u9875",removeCurrent:"\u5220\u9664\u5F53\u9875",selectAll:"\u5168\u9009\u6240\u6709",deselectAll:"\u53D6\u6D88\u5168\u9009",removeAll:"\u5220\u9664\u5168\u90E8",selectInvert:"\u53CD\u9009\u5F53\u9875"},Upload:{uploading:"\u6587\u4EF6\u4E0A\u4F20\u4E2D",removeFile:"\u5220\u9664\u6587\u4EF6",uploadError:"\u4E0A\u4F20\u9519\u8BEF",previewFile:"\u9884\u89C8\u6587\u4EF6",downloadFile:"\u4E0B\u8F7D\u6587\u4EF6"},Empty:{description:"\u6682\u65E0\u6570\u636E"},Icon:{icon:"\u56FE\u6807"},Text:{edit:"\u7F16\u8F91",copy:"\u590D\u5236",copied:"\u590D\u5236\u6210\u529F",expand:"\u5C55\u5F00",collapse:"\u6536\u8D77"},Form:{optional:"\uFF08\u53EF\u9009\uFF09",defaultValidateMessages:{default:"\u5B57\u6BB5\u9A8C\u8BC1\u9519\u8BEF${label}",required:"\u8BF7\u8F93\u5165${label}",enum:"${label}\u5FC5\u987B\u662F\u5176\u4E2D\u4E00\u4E2A[${enum}]",whitespace:"${label}\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26",date:{format:"${label}\u65E5\u671F\u683C\u5F0F\u65E0\u6548",parse:"${label}\u4E0D\u80FD\u8F6C\u6362\u4E3A\u65E5\u671F",invalid:"${label}\u662F\u4E00\u4E2A\u65E0\u6548\u65E5\u671F"},types:{string:y,method:y,array:y,object:y,number:y,date:y,boolean:y,integer:y,float:y,regexp:y,email:y,url:y,hex:y},string:{len:"${label}\u987B\u4E3A${len}\u4E2A\u5B57\u7B26",min:"${label}\u6700\u5C11${min}\u4E2A\u5B57\u7B26",max:"${label}\u6700\u591A${max}\u4E2A\u5B57\u7B26",range:"${label}\u987B\u5728${min}-${max}\u5B57\u7B26\u4E4B\u95F4"},number:{len:"${label}\u5FC5\u987B\u7B49\u4E8E${len}",min:"${label}\u6700\u5C0F\u503C\u4E3A${min}",max:"${label}\u6700\u5927\u503C\u4E3A${max}",range:"${label}\u987B\u5728${min}-${max}\u4E4B\u95F4"},array:{len:"\u987B\u4E3A${len}\u4E2A${label}",min:"\u6700\u5C11${min}\u4E2A${label}",max:"\u6700\u591A${max}\u4E2A${label}",range:"${label}\u6570\u91CF\u987B\u5728${min}-${max}\u4E4B\u95F4"},pattern:{mismatch:"${label}\u4E0E\u6A21\u5F0F\u4E0D\u5339\u914D${pattern}"}}},Image:{preview:"\u9884\u89C8"},QRCode:{expired:"\u4E8C\u7EF4\u7801\u8FC7\u671F",refresh:"\u70B9\u51FB\u5237\u65B0",scanned:"\u5DF2\u626B\u63CF"},ColorPicker:{presetEmpty:"\u6682\u65E0",transparent:"\u65E0\u8272",singleColor:"\u5355\u8272",gradientColor:"\u6E10\u53D8\u8272"}},ar=X.default=yt});var qe=T((sr,Me)=>{"use strict";Me.exports=ve()});var u=R(ee());var g=class extends Error{code;retryable;status;constructor(r,t,n,a){super(t),this.name="AgentWebAppRuntimeClientError",this.code=r,this.retryable=n,this.status=a}};function k(){return new g("STREAM_FAILED","Stream failed",!0)}var He=new Set(["WEB_APP_NOT_FOUND","WEB_APP_DISABLED","USER_ID_REQUIRED","INVALID_USER_ID","PROJECT_NOT_ALLOWED","PROJECT_SELECTOR_DISABLED","MODEL_NOT_ALLOWED","FEATURE_DISABLED","THREAD_NOT_FOUND","STREAM_CONFLICT","STREAM_FAILED","INVALID_REQUEST","INTERNAL_ERROR"]);function I(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function w(e,r){return Object.keys(e).length===r.length&&r.every(n=>n in e)}function Be(e){return I(e)&&w(e,["code","message","retryable"])&&typeof e.code=="string"&&He.has(e.code)&&typeof e.message=="string"&&typeof e.retryable=="boolean"}function ze(e){if(!I(e))return!1;let r=e.data===void 0?["id","type","prompt"]:["id","type","prompt","data"];return w(e,r)&&typeof e.id=="string"&&typeof e.type=="string"&&typeof e.prompt=="string"&&(e.data===void 0||I(e.data))}var Xe=new Set([S.HUMAN,S.AI,S.TOOL,S.INTERRUPT,S.MESSAGE_COMPLETED,S.MESSAGE_FAILED,S.THREAD_IDLE]);function Ke(e,r){let t;try{t=JSON.parse(e)}catch{throw k()}if(!I(t)||typeof t.type!="string")throw k();if(Xe.has(t.type)||t.type==="error"&&I(t.data)&&!I(t.error)){let n=oe(t,r);return n.length===0?[]:n}switch(t.type){case"message.delta":if(w(t,["type","text"])&&typeof t.text=="string")return[t];break;case"message.completed":if(w(t,["type","messageId"])&&typeof t.messageId=="string")return[t];break;case"tool.started":if(w(t,["type","id","name"])&&typeof t.id=="string"&&typeof t.name=="string")return[t];break;case"tool.completed":if(w(t,["type","id"])&&typeof t.id=="string")return[t];break;case"interrupt.created":if(w(t,["type","interrupt"])&&ze(t.interrupt))return[t];break;case"genui.render":if(w(t,["type","block"])&&v(t.block))return[t];break;case"error":if(w(t,["type","error"])&&Be(t.error))return[t];break;case"stream.completed":if(w(t,["type"]))return[t];break}throw k()}function Ge(e){return e instanceof Error&&e.name==="AbortError"}async function ye(e,r){let t=ne({allowGenUI:!0,allowInterrupts:!0}),n=e.getReader(),a=new TextDecoder,o="",i=!1,d=!1;try{for(;!i;){let l;try{l=await n.read()}catch(p){if(Ge(p))return;throw k()}l.done&&(d=!0);try{o+=a.decode(l.value,{stream:!l.done})}catch{throw k()}let C=o.split(/\r?\n\r?\n/);o=l.done?"":C.pop()??"";for(let p of C){let A=p.split(/\r?\n/).filter(m=>m==="data"||m.startsWith("data:")).map(m=>m==="data"?"":m.slice(5).replace(/^ /,""));if(A.length!==0){for(let m of Ke(A.join(`
|
|
2
|
+
`),t))if(await r(m),i=m.type==="stream.completed",i)break;if(i)break}}if(l.done)break}if(!i)throw k()}finally{if(!d)try{await n.cancel()}catch{}n.releaseLock()}}var Qe=new Set(["WEB_APP_NOT_FOUND","WEB_APP_DISABLED","USER_ID_REQUIRED","INVALID_USER_ID","PROJECT_NOT_ALLOWED","PROJECT_SELECTOR_DISABLED","MODEL_NOT_ALLOWED","FEATURE_DISABLED","THREAD_NOT_FOUND","STREAM_CONFLICT","STREAM_FAILED","INVALID_REQUEST","INTERNAL_ERROR"]);function f(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function h(e,r,t=[]){let n=Object.keys(e);return r.every(a=>a in e)&&n.every(a=>r.includes(a)||t.includes(a))}function s(e){return typeof e=="string"}function D(e){if(!f(e)||!h(e,["id","projectId","createdAt","updatedAt"],["label"])||!s(e.id)||!s(e.projectId)||e.label!==void 0&&!s(e.label)||!s(e.createdAt)||!s(e.updatedAt))return;let r=new Date(e.createdAt),t=new Date(e.updatedAt);if(!(Number.isNaN(r.getTime())||Number.isNaN(t.getTime())))return{id:e.id,projectId:e.projectId,...e.label===void 0?{}:{label:e.label},createdAt:r,updatedAt:t}}function Ce(e){if(!f(e)||e.success!==!1||!f(e.error))return!1;let r=e.error;return h(e,["success","error"])&&h(r,["code","message","retryable"])&&typeof r.code=="string"&&Qe.has(r.code)&&typeof r.message=="string"&&typeof r.retryable=="boolean"}function Ve(e){if(!f(e))return!1;let r=["projectSelector","modelSelector","threadManagement","attachments","hitl","genUI"];return h(e,r,["files"])&&r.every(t=>typeof e[t]=="boolean")&&(e.files===void 0||typeof e.files=="boolean")}function Ye(e){return Array.isArray(e)&&e.length<=6&&e.every(r=>f(r)&&h(r,["label","text"])&&s(r.label)&&r.label.length>=1&&r.label.length<=40&&s(r.text)&&r.text.length>=1&&r.text.length<=500)}function Je(e){return f(e)&&h(e,[],["title","welcomeMessage","primaryColor","quickPrompts"])&&(e.title===void 0||s(e.title))&&(e.welcomeMessage===void 0||s(e.welcomeMessage))&&(e.primaryColor===void 0||s(e.primaryColor))&&(e.quickPrompts===void 0||Ye(e.quickPrompts))}function Ze(e){if(!f(e)||!h(e,["webApp","projects","models"],["thread"])||!f(e.webApp))return;let r=e.webApp;if(!h(r,["id","name","assistant","defaultProjectId","features","appearance","identityAssurance"],["description","defaultModelKey"])||!s(r.id)||!s(r.name)||!s(r.defaultProjectId)||r.description!==void 0&&!s(r.description)||r.defaultModelKey!==void 0&&!s(r.defaultModelKey)||r.identityAssurance!=="unverified"||!f(r.assistant)||!h(r.assistant,["id","name"],["description"])||!s(r.assistant.id)||!s(r.assistant.name)||r.assistant.description!==void 0&&!s(r.assistant.description)||!Ve(r.features)||!Je(r.appearance)||!Array.isArray(e.projects)||!e.projects.every(n=>f(n)&&h(n,["id","name"])&&s(n.id)&&s(n.name))||!Array.isArray(e.models)||!e.models.every(n=>f(n)&&h(n,["key","label"])&&s(n.key)&&s(n.label)))return;let t=e.thread===void 0?void 0:D(e.thread);if(!(e.thread!==void 0&&!t))return{...e,...t?{thread:t}:{}}}function et(e){if(!f(e)||!h(e,["records","total"])||!Array.isArray(e.records)||typeof e.total!="number")return;let r=e.records.map(D);return r.every(t=>t!==void 0)?{records:r,total:e.total}:void 0}function tt(e){return f(e)&&s(e.id)&&(e.role==="human"||e.role==="ai")&&(e.content===void 0||s(e.content)||Array.isArray(e.content)&&e.content.every(r=>v(r)!==void 0))}function rt(e){return f(e)&&h(e,["messages"])&&Array.isArray(e.messages)&&e.messages.every(tt)?e:void 0}function nt(e){return f(e)&&h(e,["ref","name","mimeType","size"])&&s(e.ref)&&s(e.name)&&s(e.mimeType)&&typeof e.size=="number"?e:void 0}function we(e,r){return t=>f(t)&&h(t,e)&&r(t)?t:void 0}var U=class{constructor(r){this.options=r;this.baseUrl=`${r.gatewayUrl.replace(/\/+$/,"")}/api/web-apps/${encodeURIComponent(r.webAppId)}/runtime`,this.fetchImplementation=r.fetch??globalThis.fetch.bind(globalThis),this.translate=r.translate}baseUrl;fetchImplementation;translate;async bootstrap(r={},t){return this.request("bootstrap",Ze,{query:r,signal:t})}async listThreads(r={},t){return this.request("threads",et,{query:r,signal:t})}async createThread(r={},t){return this.request("threads",D,{method:"POST",body:r,signal:t})}async updateThread(r,t,n){return this.request(`threads/${encodeURIComponent(r)}`,D,{method:"PATCH",body:t,signal:n})}async deleteThread(r,t={},n){await this.request(`threads/${encodeURIComponent(r)}`,we(["id"],a=>s(a.id)),{method:"DELETE",query:t,signal:n})}async getMessages(r,t={},n){return this.request(`threads/${encodeURIComponent(r)}/messages`,rt,{query:t,signal:n})}async streamMessage(r,t,n,a){return this.streamRequest(`threads/${encodeURIComponent(r)}/messages/stream`,t,n,a)}async resumeInterrupt(r,t,n,a,o){return this.streamRequest(`threads/${encodeURIComponent(r)}/interrupts/${encodeURIComponent(t)}/resume`,n,a,o)}async streamRequest(r,t,n,a){let o;try{o=await this.fetchRequest(r,{method:"POST",body:t,signal:a})}catch(i){throw Ee(i)||i instanceof g?i:new g("STREAM_FAILED",this.translate?.("integration.error.streamFailed")??"Stream failed",!0)}if(o.ok||await this.throwResponseError(o),!o.body||!o.headers.get("content-type")?.toLowerCase().includes("text/event-stream")){if(o.body)try{await o.body.cancel()}catch{}throw new g("STREAM_FAILED",this.translate?.("integration.error.streamFailed")??"Stream failed",!0,o.status)}await ye(o.body,n)}async abort(r,t={},n){await this.request(`threads/${encodeURIComponent(r)}/abort`,we(["aborted"],a=>typeof a.aborted=="boolean"),{method:"POST",query:t,signal:n})}async uploadAttachment(r,t,n={},a){let o=new FormData,i=typeof File<"u"&&t instanceof File?t.name:"attachment";return o.append("file",t,i),this.request(`threads/${encodeURIComponent(r)}/attachments`,nt,{method:"POST",query:n,body:o,signal:a})}async request(r,t,n={}){let a;try{a=await this.fetchRequest(r,n)}catch(d){throw Ee(d)||d instanceof g?d:new g("INTERNAL_ERROR",this.translate?.("integration.error.requestFailed")??"Request failed",!0)}let o;try{o=await a.json()}catch{throw this.internalError(a.status)}if(Ce(o))throw new g(o.error.code,o.error.message,o.error.retryable,a.status);if(!a.ok||!f(o)||!h(o,["success","data"])||o.success!==!0)throw this.internalError(a.status);let i=t(o.data);if(i===void 0)throw this.internalError(a.status);return i}async fetchRequest(r,t){let n=await this.options.identityProvider.getIdentity(t.signal),a=new URL(`${this.baseUrl}/${r}`);for(let[d,l]of Object.entries(t.query??{}))l!==void 0&&a.searchParams.set(d,l);let o=new Headers;n.bearerToken!==void 0?o.set("Authorization",`Bearer ${n.bearerToken}`):o.set("X-Axiom-External-User-Id",n.externalUserId??"");let i;return t.body instanceof FormData?i=t.body:t.body!==void 0&&(o.set("Content-Type","application/json"),i=JSON.stringify(t.body)),this.fetchImplementation(a,{method:t.method??"GET",headers:o,body:i,signal:t.signal,credentials:"omit"})}async throwResponseError(r){let t;try{t=await r.json()}catch{throw this.internalError(r.status)}throw Ce(t)?new g(t.error.code,t.error.message,t.error.retryable,r.status):this.internalError(r.status)}internalError(r){return new g("INTERNAL_ERROR",this.translate?.("integration.error.invalidServerResponse")??"Invalid server response",!1,r)}};function Ee(e){return typeof e=="object"&&e!==null&&"name"in e&&e.name==="AbortError"}var $=R(ee());var P=R(M());function Re(){let e=L(),{createThread:r}=q(),{menuCollapsed:t,setMenuCollapsed:n}=Ae();(0,$.useEffect)(()=>{t===void 0&&n(!0)},[t,n]);let a=(0,$.useCallback)(async()=>{try{await r(e("integration.sidebar.newThread"))}catch(p){console.error("Failed to create new thread:",p)}},[r,e]),o=t??!0,i={id:"new-analysis",builtin:"new-analysis",type:"action",name:e("integration.sidebar.newThread"),icon:(0,P.jsx)(me,{size:20}),order:0},d={id:"thread-history-toggle",type:"action",name:e("integration.sidebar.history"),icon:(0,P.jsx)(G,{size:20}),order:1},l={id:"thread-history",builtin:"thread-history",type:"drawer",name:e("integration.sidebar.history"),icon:(0,P.jsx)(G,{size:20}),order:1,title:e("integration.sidebar.historyTitle"),width:320,inline:!0,inlineDefaultExpanded:!0,content:(0,P.jsx)(he,{})},C=[i,...o?[d]:[l]];return(0,P.jsx)(ge,{items:C,showBranding:!1,showToggle:!0,showNewAnalysis:!1,defaultExpanded:!o,collapsed:o,onCollapsedChange:n,onNewAnalysis:a,onItemClick:p=>{p.type==="action"&&p.builtin==="new-analysis"?a():p.type==="action"&&p.id==="thread-history-toggle"&&n(!1)}},o?"agent-chat-sidebar-collapsed":"agent-chat-sidebar-expanded")}function Se(e){if(typeof window>"u"||typeof XMLHttpRequest>"u")return()=>{};let r=`${e.gatewayUrl.replace(/\/+$/,"")}/api/web-apps/${encodeURIComponent(e.webAppId)}/runtime/`,t=XMLHttpRequest.prototype.open,n=XMLHttpRequest.prototype.send,a=new WeakMap;return XMLHttpRequest.prototype.open=function(i,d){a.set(this,String(d)),t.call(this,i,d,!0)},XMLHttpRequest.prototype.send=function(i){let d=a.get(this)??"";if(!d.startsWith(r)||!/\/sandbox\/uploadfile$/.test(d)){n.call(this,i);return}if(e.identity.mode==="unverified"){this.setRequestHeader("X-Axiom-External-User-Id",e.identity.userId),n.call(this,i);return}e.identity.tokenProvider().then(l=>{this.setRequestHeader("Authorization",`Bearer ${l}`),n.call(this,i)}).catch(()=>{n.call(this,i)})},()=>{XMLHttpRequest.prototype.open=t,XMLHttpRequest.prototype.send=n}}var ot=/^#[0-9A-Fa-f]{6}$/;function at(e){return typeof e=="string"&&ot.test(e)}function Te(e){return at(e)?e:void 0}function N(e,r){let t=parseInt(e.replace("#",""),16),n=Math.round(2.55*r),a=(t>>16)+n,o=(t>>8&255)+n,i=(t&255)+n;return"#"+(16777216+(a<255?a<1?0:a:255)*65536+(o<255?o<1?0:o:255)*256+(i<255?i<1?0:i:255)).toString(16).slice(1)}function ke(e){if(e!==void 0)return{token:{colorPrimary:e,colorPrimaryHover:N(e,20),colorPrimaryActive:N(e,-15),colorPrimaryBg:N(e,45)+"20"}}}var De=R(Fe()),Ue=R(qe()),c=R(M()),Ct={"en-US":De.default,"zh-CN":Ue.default};function wt(e,r){let t=J(e.welcome),n=J(r.title),a=t??J(r.welcomeMessage),o=e.quickPrompts??r.quickPrompts??[],i=Te(r.primaryColor);return{...n!==void 0?{title:n}:{},...a!==void 0?{welcome:a}:{},quickPrompts:o,...i!==void 0?{primaryColor:i}:{}}}function J(e){return typeof e=="string"&&e.length>0?e:void 0}function Et(e){if(!e.gatewayUrl.trim())throw new Error("AgentChatApp requires gatewayUrl");try{new URL(e.gatewayUrl)}catch{throw new Error("AgentChatApp gatewayUrl must be a valid URL")}if(!e.webAppId.trim())throw new Error("AgentChatApp requires webAppId");if(e.identity.mode==="unverified"){if(!e.identity.userId.trim())throw new Error("AgentChatApp requires identity.userId")}else if(typeof e.identity.tokenProvider!="function")throw new Error("AgentChatApp requires identity.tokenProvider");if(!e.fetch&&typeof globalThis.fetch!="function")throw new Error("AgentChatApp requires a fetch implementation")}function Rt(e,r){return e instanceof g?e:new g("INTERNAL_ERROR",r("integration.error.requestFailed"),!0)}function St(e){return e.mode==="unverified"?`unverified:${e.userId}`:"verified:token"}function Tr(e){Et(e);let r=`${e.gatewayUrl}\0${e.webAppId}\0${St(e.identity)}`,t=e.storageKey??ie,n=(0,u.useMemo)(()=>e.locale??se(t)??"en-US",[e.locale,t]);return(0,c.jsx)(de,{locale:n,storageKey:t,onLocaleChange:e.onLocaleChange,children:(0,c.jsx)(Tt,{...e,locale:n},r)})}function Tt({gatewayUrl:e,webAppId:r,identity:t,onError:n,onChatReady:a,onChatMessage:o,fetch:i,className:d,welcome:l,quickPrompts:C,locale:p="en-US"}){let A=L(),[m,E]=(0,u.useState)({status:"loading"}),x=(0,u.useRef)(t);x.current=t;let _=(0,u.useRef)(n);_.current=n;let W=(0,u.useRef)();return W.current||(W.current=new U({gatewayUrl:e,webAppId:r,identityProvider:{getIdentity:async()=>{let b=x.current;if(b.mode!=="verified")return{externalUserId:b.userId};try{return{bearerToken:await b.tokenProvider()}}catch{throw new g("USER_ID_REQUIRED",A("integration.error.identityTokenFailed"),!0)}}},translate:A,...i?{fetch:i}:{}})),(0,u.useEffect)(()=>Se({gatewayUrl:e,webAppId:r,identity:t}),[e,r,t]),(0,u.useEffect)(()=>{let b=!1,$e=W.current;return(async()=>{try{let K=await $e.bootstrap({});if(b)return;E({status:"ready",bootstrap:K})}catch(K){if(b)return;let Z=Rt(K,A);E({status:"error",error:Z}),_.current?.(Z)}})(),()=>{b=!0}},[]),m.status==="loading"?(0,c.jsx)("div",{className:d}):m.status==="error"?(0,c.jsxs)("div",{className:d,role:"alert",children:[(0,c.jsx)("strong",{children:A("integration.chat.loadFailed")}),(0,c.jsx)("div",{children:m.error.code}),(0,c.jsx)("button",{type:"button",onClick:()=>E({status:"loading"}),children:A("common.retry")})]}):(0,c.jsx)(It,{className:d,gatewayUrl:e,webAppId:r,identity:t,bootstrap:m.bootstrap,onChatReady:a,onChatMessage:o,welcome:l,quickPrompts:C,locale:p})}function kt(e){return{id:e.id,name:e.name,...e.description!==void 0?{description:e.description}:{},graphDefinition:void 0,createdAt:new Date(0),updatedAt:new Date(0)}}function It({gatewayUrl:e,webAppId:r,identity:t,bootstrap:n,onChatReady:a,onChatMessage:o,className:i,welcome:d,quickPrompts:l,locale:C="en-US"}){let p=(0,u.useMemo)(()=>kt(n.webApp.assistant),[n.webApp.assistant]),A=(0,u.useMemo)(()=>wt({welcome:d,quickPrompts:l},n.webApp.appearance),[d,l,n.webApp.appearance]),m=(0,u.useMemo)(()=>ke(A.primaryColor),[A.primaryColor]),E=(0,u.useMemo)(()=>t.mode==="unverified"?{mode:"unverified",userId:t.userId}:{mode:"verified",tokenProvider:t.tokenProvider},[t]),x=(0,u.useCallback)(b=>new ae({gatewayUrl:e,webAppId:r,identity:E,assistantId:b.assistantId,transport:b.transport,...b.timeout!==void 0?{timeout:b.timeout}:{},...b.headers!==void 0?{headers:b.headers}:{}}),[e,r,E]),_=(0,u.useMemo)(()=>({baseURL:`${e.replace(/\/$/,"")}/api/web-apps/${r}/runtime`,apiKey:"",transport:"sse",assistantId:p.id,enableSkillSlot:!1,enableDatabaseSlot:!1,enableAgentSlot:!1,enableMetricsDataSourceSlot:!1,enableModelSelector:!1,enableWorkspace:!1,enableCustomMenu:!1,showSideMenu:!1,enableAssistantCreation:!1,enableAssistantEditing:!1,enableThreadCreation:!0,enableThreadList:!0}),[p.id,e,r]),W=(0,u.useMemo)(()=>({assistants:[p],currentAssistant:p,isLoading:!1,error:null,listAssistants:async()=>{},getAssistant:async()=>p,createAssistant:async()=>{throw new Error("Not implemented in a Web App")},updateAssistant:async()=>{throw new Error("Not implemented in a Web App")},deleteAssistant:async()=>{},selectAssistant:async()=>{},clearCurrentAssistant:()=>{},refresh:async()=>{}}),[p]);return(0,c.jsx)(te,{theme:m,locale:Ct[C],children:(0,c.jsx)(le,{config:{baseURL:_.baseURL,apiKey:"",assistantId:"__BASE__",transport:"sse"},createClient:x,children:(0,c.jsx)(ue,{initialConfig:_,persistToLocalStorage:!1,children:(0,c.jsx)(pe.Provider,{value:W,children:(0,c.jsx)(fe,{children:(0,c.jsx)(Pt,{className:i,onChatReady:a,onChatMessage:o,title:A.title,welcome:A.welcome,quickPrompts:A.quickPrompts})})})})})})}function Pt({className:e,onChatReady:r,onChatMessage:t,title:n,welcome:a,quickPrompts:o=[]}){let i=L(),{threadId:d}=q(),{currentAssistant:l}=ce();if(!l)return null;let C=d??"";if(!C)return(0,c.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:(0,c.jsx)(re,{tip:i("integration.chat.creatingConversation")})});let p=n??a,A=n!==void 0&&a!==void 0?a:"";return(0,c.jsx)("div",{className:e,children:(0,c.jsx)(be,{thread_id:C,assistant_id:l.id,name:l.name,description:l.description,menu:(0,c.jsx)(Re,{}),showProjectSelector:!1,showSkillSlot:!1,showDatabaseSlot:!1,showAgentSlot:!1,showMetricsDataSourceSlot:!1,headerRight:null,emptyStateGreeting:p?(0,c.jsx)("span",{children:p}):void 0,emptyStateQuestion:A,senderPromptsItems:o.length>0?o.map((m,E)=>({key:`quick-${E}`,label:m.label,description:m.text})):void 0,showSkillPrompts:!1,showQuickAnalysis:!1,onChatReady:r,onChatMessage:t})})}export{ot as a,Tr as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as sn,c as an,d as En}from"./embed-page-chunk-WTOAQDQN.js";import{a as cn,b as Ae,e as ke,f as vn,h as Cn,i as _n}from"./embed-page-chunk-V2GBFWLG.js";import{Fa as ln,H as wn,R as Sn,U as bn,fa as An,la as kn,o as Oe,oa as Tn,q as yn,t as xn,u as Me,v as Fe}from"./embed-page-chunk-TEIHYMTL.js";import{r as _e}from"./embed-page-chunk-WUOHF2QZ.js";import{a as Ve}from"./embed-page-chunk-QV7QAJ4N.js";import{Ia as se,La as Xe,Z as dn,aa as Te,ba as gn,fa as hn,va as mn}from"./embed-page-chunk-MHGVD4EV.js";import{a as lr}from"./embed-page-chunk-R5QL57JJ.js";import{f as Re}from"./embed-page-chunk-QBTAJ2YI.js";var ie=Re(lr());var E=Re(Ve());if(typeof document<"u"){let u="workflow-node-spin-keyframes";if(!document.getElementById(u)){let o=document.createElement("style");o.id=u,o.textContent="@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }",document.head.appendChild(o)}}var{Text:ae}=Xe,Qe={opacity:0},De={running:{color:"#1677ff",icon:(0,E.jsx)(bn,{size:14,style:{animation:"spin 1s linear infinite"}})},completed:{color:"#52c41a",icon:(0,E.jsx)(Oe,{size:14})},failed:{color:"#ff4d4f",icon:(0,E.jsx)(Me,{size:14})},interrupted:{color:"#faad14",icon:(0,E.jsx)(yn,{size:14})},skipped:{color:"#8c8c8c",icon:(0,E.jsx)(Fe,{size:14})}},Nn={running:"chatWorkspace.workflowNode.stepStatus.running",completed:"chatWorkspace.workflowNode.stepStatus.completed",failed:"chatWorkspace.workflowNode.stepStatus.failed",interrupted:"chatWorkspace.workflowNode.stepStatus.interrupted",skipped:"chatWorkspace.workflowNode.stepStatus.skipped"},In={color:"#d9d9d9",icon:(0,E.jsx)(Fe,{size:14})},Ln={agent:{color:"#6366f1",bg:"#EEF2FF",border:"#6366f1"},map:{color:"#10b981",bg:"#ECFDF5",border:"#10b981"},terminal:{color:"#64748b",bg:"#F8FAFC",border:"#94a3b8"}},Rn={success:{color:"#22c55e",bg:"#F0FDF4",label:"chatWorkspace.workflowNode.terminal.success"},failed:{color:"#ef4444",bg:"#FEF2F2",label:"chatWorkspace.workflowNode.terminal.failed"},__default:{color:"#94a3b8",bg:"#F8FAFC",label:"chatWorkspace.workflowNode.terminal.stop"}};function cr(u){return(u||"?").split(/[\s_-]+/).filter(Boolean).map(o=>o[0]).join("").toUpperCase().slice(0,2)}function un({schema:u,t:o}){let p=u;if(!p||typeof p!="object")return(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowNode.noSchema")});let m=p.properties,S=p.required||[],I=p.items,g=a=>a==="string"?"green":a==="number"||a==="integer"?"orange":a==="boolean"?"purple":a==="array"?"cyan":a==="object"?"blue":"default",c=a=>{let s=a.type;if(s==="array"&&a.items){let h=a.items.type;return h?`Array<${h}>`:"Array"}return s||"any"};return(0,E.jsxs)("div",{style:{maxWidth:340,maxHeight:360,overflow:"auto",fontSize:12},children:[m&&(0,E.jsxs)("div",{children:[(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5,display:"block",marginBottom:6},children:o("chatWorkspace.workflowNode.properties")}),Object.entries(m).map(([a,s])=>{let h=S.includes(a),r=s.description,l=c(s),A=s.properties,O=s.items,D=!!(A||O);return(0,E.jsx)(Te,{title:D?(0,E.jsx)(un,{t:o,schema:D?A?s:O:void 0}):r||void 0,placement:"left",overlayStyle:{maxWidth:360},children:(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 6px",borderRadius:4,marginBottom:2,background:h?"rgba(99,102,241,0.04)":"transparent",cursor:D?"pointer":"default"},children:[(0,E.jsx)(ae,{style:{fontSize:11,fontWeight:h?600:400,fontFamily:"monospace"},children:a}),h&&(0,E.jsx)("span",{style:{color:"#ef4444",fontSize:9},children:"*"}),r&&!D&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),(0,E.jsx)(se,{color:g(l),style:{margin:0,fontSize:9,padding:"0 4px",lineHeight:"16px",marginLeft:"auto"},children:l})]})},a)})]}),!m&&I&&(0,E.jsxs)("div",{children:[(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5,display:"block",marginBottom:4},children:o("chatWorkspace.workflowNode.items")}),(0,E.jsx)(un,{t:o,schema:I})]})]})}var On=72,sr=3,ar=({data:u})=>{let o=_e();if(!u)return null;let{nodeType:p,name:m,description:S,ref:I,refAgentName:g,refAgentType:c,refDeleted:a,outputKey:s,nodeSchema:h,config:r,status:l,source:A,innerRef:O,inputTemplate:D,ask:Z,condition:j,runState:N,pending:B}=u,C=Ln[p]||Ln.agent,W=Rn[l||""]||Rn.__default,P=N?De[N.status]||De.running:null,z=P?.color,U=P?.icon,q=l==="success"?(0,E.jsx)(Oe,{size:14,color:"#22c55e"}):l==="failed"?(0,E.jsx)(Me,{size:14,color:"#ef4444"}):(0,E.jsx)(Fe,{size:14,color:"#94a3b8"}),fe=l==="success"?(0,E.jsx)(Oe,{size:32,color:W.color}):l==="failed"?(0,E.jsx)(Me,{size:32,color:W.color}):(0,E.jsx)(xn,{size:32,color:W.color}),ue=r?.title,oe=r?.maxRetries,J=r?.timeout,te=r?.batchSize,X=r?.maxConcurrency,G=r?.innerConcurrency,ee=N?.selected,_=!!N||B;function de(V){return V==null?"-":V<1e3?`${V}ms`:`${(V/1e3).toFixed(1)}s`}if(p==="terminal"){let V=W.color,ne=W.bg,pe=o(W.label),ce=fe;_&&(N?(V=z||V,pe=N.status,ce=(0,E.jsx)("span",{style:{fontSize:18},children:U})):B&&(V=In.color,ne="#fafafa",pe=o("chatWorkspace.workflowNode.pending"),ce=(0,E.jsx)(Fe,{size:18,style:{color:In.color}})));let me=ee&&z?`0 4px 16px ${z}30`:"0 2px 8px rgba(0,0,0,0.06)";return(0,E.jsxs)("div",{style:{padding:4,display:"flex",flexDirection:"column",alignItems:"center",opacity:B?.5:1},children:[(0,E.jsx)(ke,{type:"target",position:Ae.Top,style:Qe}),(0,E.jsx)(Te,{title:_&&N?o(Nn[N.status]):m,children:(0,E.jsx)("div",{style:{width:On,height:On,borderRadius:"50%",background:ne,border:`${sr}px solid ${B?`${V}80`:V}`,borderStyle:B?"dashed":"solid",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:me,transition:"all 0.2s ease",cursor:"default"},onMouseEnter:B?void 0:K=>{K.currentTarget.style.transform="scale(1.08)",K.currentTarget.style.boxShadow=`0 4px 16px ${V}30`},onMouseLeave:B?void 0:K=>{K.currentTarget.style.transform="scale(1)",K.currentTarget.style.boxShadow=me},children:ce})}),(0,E.jsx)(ae,{style:{fontSize:11,color:V,marginTop:6,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.5px"},children:pe}),(0,E.jsx)(ke,{type:"source",position:Ae.Bottom,style:Qe})]})}let le=_&&z?z:C.border,Ee=_&&z?z:C.color,he=p==="agent"?(0,E.jsx)(Tn,{size:14}):p==="map"?(0,E.jsx)(An,{size:14}):cr(m),ve=N?de(N.durationMs):null,Se=ee&&z?`0 4px 14px ${z}20`:"0 1px 6px rgba(0,0,0,0.08)",be=_&&z?z:C.color;return(0,E.jsxs)("div",{style:{padding:4},children:[(0,E.jsx)(ke,{type:"target",position:Ae.Top,style:Qe}),(0,E.jsxs)("div",{style:{width:260,minHeight:90,boxSizing:"border-box",background:"#fff",borderRadius:12,boxShadow:Se,border:"1px solid #e5e7eb",borderLeft:`3px solid ${le}`,borderStyle:I?"dashed":"solid",overflow:"hidden",transition:"all 0.2s ease",...B?{opacity:.5,borderStyle:"dashed"}:{}},onMouseEnter:B?void 0:V=>{V.currentTarget.style.transform="translateY(-2px)",V.currentTarget.style.boxShadow=`0 4px 12px ${be}20`},onMouseLeave:B?void 0:V=>{V.currentTarget.style.transform="translateY(0)",V.currentTarget.style.boxShadow=Se},children:[(0,E.jsxs)("div",{style:{background:C.bg,padding:"6px 12px",display:"flex",alignItems:"center",gap:6,borderBottom:"1px solid #f1f5f9"},children:[(0,E.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",backgroundColor:Ee,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,fontWeight:600,flexShrink:0},children:he}),(0,E.jsx)("div",{style:{flex:1,minWidth:0},children:(0,E.jsx)(ae,{strong:!0,style:{fontSize:12,color:C.color},ellipsis:{tooltip:m},children:m})}),_&&U&&(0,E.jsx)(Te,{title:N?o(Nn[N.status]):void 0,children:(0,E.jsx)("span",{style:{color:z,fontSize:12,display:"flex",flexShrink:0},children:U})})]}),(0,E.jsxs)("div",{style:{padding:"10px 12px"},children:[S&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:2,lineHeight:1.4},ellipsis:{tooltip:S},children:S}),p==="map"&&A&&(0,E.jsxs)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:4,lineHeight:1.4,color:C.color,background:C.bg,padding:"2px 6px",borderRadius:4,maxHeight:32,overflow:"hidden"},ellipsis:{tooltip:A},children:["\u2190 ",A]}),p!=="map"&&D&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:4,lineHeight:1.4,color:C.color,background:C.bg,padding:"2px 6px",borderRadius:4,maxHeight:32,overflow:"hidden"},ellipsis:{tooltip:D},children:D}),(0,E.jsxs)("div",{style:{display:"flex",gap:4,marginTop:6,flexWrap:"wrap"},children:[!_&&p==="agent"&&I&&(0,E.jsx)(Te,{title:a?o("chatWorkspace.workflowNode.refDeleted",{ref:I}):o("chatWorkspace.workflowNode.refDelegated",{name:g??I}),children:(0,E.jsx)(se,{color:a?"red":"purple",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},icon:(0,E.jsx)(Sn,{size:10}),children:a?o("chatWorkspace.workflowNode.refDeletedTag",{ref:I}):`\u2192 ${g??I}`})}),!_&&p==="agent"&&!I&&(0,E.jsx)(se,{color:"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:o("chatWorkspace.workflowNode.inline")}),Z&&(0,E.jsx)(Te,{title:o("chatWorkspace.workflowNode.askTooltip"),children:(0,E.jsx)("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:"#fff7e6",border:"1px solid #ffd591",cursor:"default"},children:(0,E.jsx)(kn,{size:12,style:{color:"#fa8c16"}})})}),j&&(0,E.jsx)(Te,{title:o("chatWorkspace.workflowNode.when",{condition:j}),children:(0,E.jsx)("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:"#f0f5ff",border:"1px solid #adc6ff",cursor:"default"},children:(0,E.jsx)(wn,{size:12,style:{color:"#2f54eb"}})})}),!_&&p==="map"&&O&&(0,E.jsx)(se,{color:"purple",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:O}),!_&&p==="map"&&D&&(0,E.jsx)(se,{color:"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px",maxWidth:120},title:D,children:D.length>20?D.slice(0,18)+"\u2026":D}),!_&&p==="map"&&(te||X||G)&&(0,E.jsxs)(se,{color:"cyan",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:[te??50,"\xD7",X??10,"\xD7",G??5]}),!_&&oe?(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:["\u21BB ",oe]}):null,!_&&J?(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:["\u23F1 ",J,"s"]}):null,ve&&(0,E.jsx)(se,{color:N?"blue":"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:ve}),s&&(0,E.jsx)("span",{style:{marginLeft:"auto"}}),s&&(0,E.jsx)(gn,{trigger:"hover",placement:"right",mouseEnterDelay:.2,title:(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,E.jsx)(ae,{strong:!0,style:{fontSize:12},children:o("chatWorkspace.workflowNode.output")}),(0,E.jsx)(ae,{style:{fontSize:11,fontFamily:"monospace",color:"#6366f1"},children:s})]}),content:h?(0,E.jsx)(un,{t:o,schema:h}):(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowNode.noSchema")}),children:(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px",flexShrink:0,cursor:"default"},children:["\u2192 ",s]})})]})]})]}),(0,E.jsx)(ke,{type:"source",position:Ae.Bottom,style:Qe})]})},Mn=ar;var H=Re(Ve()),{Text:ge}=Xe;function Fn(u){return new Date(u).toLocaleString()}function ur(u){return u.input?typeof u.input.rendered=="string"?u.input.rendered:typeof u.input.description=="string"?u.input.description:JSON.stringify(u.input,null,2):null}function pr(u){return u.output?typeof u.output.result=="string"?u.output.result:typeof u.output=="object"?JSON.stringify(u.output,null,2):String(u.output):null}function fr({step:u}){let o=_e(),p=ur(u),m=pr(u),S=De[u.status]||De.running,I=[{key:"io",label:o("chatWorkspace.workflowCanvas.tabIo"),children:(0,H.jsxs)(H.Fragment,{children:[p&&(0,H.jsxs)("div",{style:{marginBottom:m?12:0},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5},children:o("chatWorkspace.workflowCanvas.input")}),(0,H.jsx)("div",{style:{background:"rgba(0,0,0,0.02)",borderRadius:8,padding:"8px 10px",marginTop:4,maxHeight:200,overflow:"auto"},children:u.input?.description?(0,H.jsx)(ln,{content:p}):(0,H.jsx)("pre",{style:{margin:0,fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace"},children:p})})]}),m&&(0,H.jsxs)("div",{children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5},children:o("chatWorkspace.workflowCanvas.output")}),(0,H.jsx)("div",{style:{background:"linear-gradient(135deg, rgba(99,102,241,0.04) 0%, rgba(99,102,241,0.01) 100%)",borderRadius:8,padding:"8px 10px",marginTop:4,maxHeight:200,overflow:"auto"},children:u.output?.result?(0,H.jsx)(ln,{content:m}):(0,H.jsx)("pre",{style:{margin:0,fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace"},children:m})})]}),!p&&!m&&(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowCanvas.noIo")})]})}];return(0,H.jsxs)("div",{style:{maxWidth:480},children:[(0,H.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12},children:[(0,H.jsx)("span",{style:{color:S.color,fontSize:14},children:S.icon}),(0,H.jsx)(ge,{strong:!0,style:{fontSize:14},children:u.stepName}),(0,H.jsx)(se,{color:"purple",style:{fontSize:11},children:u.stepType})]}),u.edgePurpose&&(0,H.jsx)("div",{style:{marginBottom:10},children:(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowCanvas.purpose",{purpose:u.edgePurpose})})}),u.errorMessage&&(0,H.jsx)("div",{style:{background:"#FEF2F2",border:"1px solid #FECACA",borderRadius:8,padding:"8px 12px",marginBottom:12,overflow:"hidden"},children:(0,H.jsx)(ge,{type:"danger",style:{fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:u.errorMessage})}),(0,H.jsx)(hn,{activeKey:"io",items:I,size:"small",style:{marginBottom:-8}}),(0,H.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:12,paddingTop:8,borderTop:"1px solid #f0f0f0"},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10},children:o("chatWorkspace.workflowCanvas.started",{time:Fn(u.startedAt)})}),u.completedAt&&(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10},children:o("chatWorkspace.workflowCanvas.ended",{time:Fn(u.completedAt)})})]})]})}function Pe(u,o){return u.find(p=>p.stepName===o.name)??null}function Ze(u,o,p,m){let S=u.ref&&m?m.get(u.ref):void 0;return{nodeType:u.type,name:u.name,description:u.description,ref:u.ref,refAgentName:S?.name,refAgentType:S?.type,refDeleted:u.ref&&m?!S:void 0,outputKey:u.output?.key,nodeSchema:u.output?.schema,config:u.config,status:u.status,source:u.source,innerRef:u.node?.ref,inputTemplate:u.input?.template,ask:u.ask,condition:u.condition,runState:o,pending:p}}function Dn(u){let o=new Map;for(let p of u)if(p.parentGroup&&p.type!=="terminal"){let m=o.get(p.parentGroup)||[];m.push(p.id),o.set(p.parentGroup,m)}return Array.from(o.entries()).map(([p,m])=>({sourceId:p,childIds:m}))}function dr(){let u=_e();return(0,H.jsxs)("div",{style:{width:"100%",height:"100%",position:"relative",pointerEvents:"none"},children:[(0,H.jsx)(ke,{type:"target",position:Ae.Top,style:{opacity:0}}),(0,H.jsx)(ke,{type:"source",position:Ae.Bottom,style:{opacity:0}}),(0,H.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,border:"2px dashed #a78bfa",borderRadius:12,background:"rgba(167, 139, 250, 0.04)"}}),(0,H.jsx)("div",{style:{position:"absolute",top:8,left:12,fontSize:12,fontWeight:600,color:"#7c3aed",padding:"2px 8px",background:"rgba(167, 139, 250, 0.08)",borderRadius:6,whiteSpace:"nowrap",zIndex:2},children:u("chatWorkspace.workflowCanvas.parallel")})]})}function gr(u,o){let p=u.nodes,m=u.edges,S=Dn(p),I=new Set(S.map(N=>N.sourceId)),g=new Set(S.flatMap(N=>N.childIds)),c=268,a=100,s=40;for(let N of S){let B=p.find(C=>C.id===N.sourceId);if(B){let C=N.childIds.length;B.width=C*c+(C-1)*s+40,B.height=a+100}}let h=p.filter(N=>!g.has(N.id)),r=an(h,m,{nodeWidth:c,nodeHeight:a,ranksep:120}),l=h.find(N=>!I.has(N.id)&&N.type!=="terminal"),A=l?r.get(l.id):void 0,O=l?l.width??c:c,D=A?A.x+O/2:0;for(let N of h){if(I.has(N.id))continue;let B=r.get(N.id);if(!B)continue;let C=N.width??c;B.x=D-C/2}let Z=h.filter(N=>r.has(N.id)&&!I.has(N.id)&&N.type!=="terminal").map(N=>{let B=r.get(N.id);return{id:N.id,type:"workflow",position:B,data:{...Ze(N,void 0,void 0,o)}}});for(let N of S){let B=p.find(J=>J.id===N.sourceId),C=r.get(N.sourceId);if(!B||!C)continue;let W=B.width,P=B.height,z=N.childIds.length,U=D-W/2,q=z*c+(z-1)*s,fe=D-q/2,ue=C.y+(P-a)/2;for(let J=0;J<z;J++){let te=N.childIds[J],X=p.find(G=>G.id===te);X&&Z.push({id:X.id,type:"workflow",position:{x:fe+J*(c+s),y:ue},data:{...Ze(X,void 0,void 0,o),parallelGroup:!0},style:{zIndex:2}})}let oe=`group_${N.sourceId}`;Z.push({id:oe,type:"groupLabel",position:{x:U,y:C.y},data:{},selectable:!1,draggable:!1,style:{zIndex:0,width:W,height:P}})}let j=[];for(let N of m){let B=sn(N);for(let C of B){let W=p.find(U=>U.id===C);if(W?.type==="terminal"&&W.name==="__end"||I.has(N.from)&&p.find(q=>q.id===C)?.parentGroup===N.from)continue;let P=I.has(N.from)?`group_${N.from}`:N.from,z=I.has(C)?`group_${C}`:C;j.push({id:`${P}-${z}`,source:P,target:z,type:"straight",markerEnd:{type:cn.ArrowClosed}})}}return{nodes:Z,edges:j}}function hr(u,o,p,m){let S=u.nodes,I=u.edges,g=Dn(S),c=new Set(g.map(C=>C.sourceId)),a=new Set(g.flatMap(C=>C.childIds)),s=268,h=100,r=40;for(let C of g){let W=S.find(P=>P.id===C.sourceId);if(W){let P=C.childIds.length;W.width=P*s+(P-1)*r+40,W.height=h+100}}let l=S.filter(C=>!a.has(C.id)),A=an(l,I,{nodeWidth:s,nodeHeight:h,ranksep:120}),O=l.find(C=>!c.has(C.id)&&C.type!=="terminal"),D=O?A.get(O.id):void 0,Z=O?O.width??s:s,j=D?D.x+Z/2:0;for(let C of l){if(c.has(C.id))continue;let W=A.get(C.id);if(!W)continue;let P=C.width??s;W.x=j-P/2}let N=l.filter(C=>A.has(C.id)&&!c.has(C.id)).map(C=>{let W=A.get(C.id),P=Pe(o,C),z=C.type==="terminal",U=P&&(!z||P.status!=="running")?{status:P.status,stepType:P.stepType,durationMs:P.durationMs,selected:!1}:void 0;return{id:C.id,type:"workflow",position:W,style:z?{width:s,height:h}:void 0,data:Ze(C,U,!P&&!z,m)}});for(let C of g){let W=S.find(X=>X.id===C.sourceId),P=A.get(C.sourceId);if(!W||!P)continue;let z=W.width,U=W.height,q=C.childIds.length,fe=q*s+(q-1)*r,ue=j-fe/2,oe=P.y+(U-h)/2;for(let X=0;X<q;X++){let G=C.childIds[X],ee=S.find(le=>le.id===G);if(!ee)continue;let _=Pe(o,ee),de=_?{status:_.status,stepType:_.stepType,durationMs:_.durationMs,selected:!1}:void 0;N.push({id:ee.id,type:"workflow",position:{x:ue+X*(s+r),y:oe},data:{...Ze(ee,de,!_,m),parallelGroup:!0},style:{zIndex:2}})}let J=j-z/2,te=`group_${C.sourceId}`;N.push({id:te,type:"groupLabel",position:{x:J,y:P.y},data:{},selectable:!1,draggable:!1,style:{zIndex:0,width:z,height:U}})}let B=[];for(let C of I){let W=sn(C);for(let P of W){if(c.has(C.from)&&S.find(_=>_.id===P)?.parentGroup===C.from)continue;let z=c.has(C.from)?`group_${C.from}`:C.from,U=c.has(P)?`group_${P}`:P,q=S.find(ee=>ee.id===C.from),ue=(q?Pe(o,q):void 0)!==void 0,oe=S.find(ee=>ee.id===P),te=(oe?Pe(o,oe):void 0)!==void 0,X=ue&&te,G=X?"#6366f1":"#d9d9d9";B.push({id:`${z}-${U}`,source:z,target:U,type:"straight",animated:X,style:X?{stroke:G,strokeWidth:2}:{stroke:G,strokeWidth:2,strokeDasharray:"6 4",opacity:.25},markerEnd:{type:cn.ArrowClosed,color:G,width:20,height:20}})}}return{nodes:N,edges:B}}var mr=({dsl:u,steps:o,assistantId:p,agentNameMap:m,onNodeClick:S,height:I="100%"})=>{let g=_e(),c=!!o,a=(0,ie.useMemo)(()=>({workflow:Mn,groupLabel:dr}),[]),{nodes:s,edges:h}=(0,ie.useMemo)(()=>c?hr(u,o,void 0,m):gr(u,m),[u,o,c,m]),[r,l,A]=Cn(s),[O,D,Z]=_n(h),[j,N]=(0,ie.useState)(null),B=(0,ie.useMemo)(()=>{if(!c||!j)return null;let U=u.nodes.find(q=>q.id===j);return U?Pe(o,U):null},[u.nodes,o,j,c]);(0,ie.useEffect)(()=>{l(s),D(h)},[s,h,l,D]);let C=(0,ie.useCallback)(()=>{l(U=>U.map(q=>({...q,data:{...q.data,runState:q.data.runState?{...q.data.runState,selected:!1}:void 0}})))},[l]);(0,ie.useEffect)(()=>{c&&l(U=>U.map(q=>({...q,data:{...q.data,runState:q.data.runState?{...q.data.runState,selected:q.id===j}:void 0}})))},[j,l,c]);let W=(0,ie.useCallback)((U,q)=>{c?N(q.id):S?.(q.id)},[c,S]),P=(0,ie.useCallback)(()=>{c&&(C(),N(null))},[c,C]),z=(0,ie.useCallback)(()=>{C(),N(null)},[C]);return!u.nodes||u.nodes.length===0?c?(0,H.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300},children:(0,H.jsx)(mn,{size:"large"})}):(0,H.jsx)(dn,{description:g("chatWorkspace.workflowCanvas.noNodes")}):(0,H.jsx)(vn,{children:(0,H.jsx)(En,{nodes:r,edges:O,nodeTypes:a,onNodesChange:A,onEdgesChange:Z,onNodeClick:W,onPaneClick:c?P:void 0,height:I,fitView:!0,fitViewOptions:c?{padding:.3}:void 0,minZoom:c?.3:void 0,maxZoom:c?1.5:void 0,nodesDraggable:!1,nodesConnectable:c?!1:void 0,defaultEdgeOptions:c?void 0:{style:{strokeWidth:2}},backgroundGap:c?20:void 0,miniMap:c?{nodeStrokeWidth:3,pannable:!0,zoomable:!0,style:{backgroundColor:"#f5f5f5"}}:void 0,children:c&&B&&j&&(0,H.jsxs)("div",{style:{position:"absolute",right:24,top:24,width:460,maxHeight:"calc(100% - 48px)",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.12)",border:"1px solid #e5e7eb",zIndex:10,overflow:"auto",padding:20},children:[(0,H.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11,textTransform:"uppercase",letterSpacing:.5},children:g("chatWorkspace.workflowCanvas.stepDetail")}),(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11,cursor:"pointer"},onClick:z,children:g("common.close")})]}),(0,H.jsx)(fr,{step:B})]})})})},Gr=mr;var yr=Object.create,Pn=Object.defineProperty,xr=Object.getOwnPropertyDescriptor,wr=Object.getOwnPropertyNames,Sr=Object.getPrototypeOf,br=Object.prototype.hasOwnProperty,$=(u,o)=>()=>(o||(u((o={exports:{}}).exports,o),u=null),o.exports),Ar=(u,o,p,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(var S=wr(o),I=0,g=S.length,c;I<g;I++)c=S[I],!br.call(u,c)&&c!==p&&Pn(u,c,{get:(a=>o[a]).bind(null,c),enumerable:!(m=xr(o,c))||m.enumerable});return u},kr=(u,o,p)=>(p=u!=null?yr(Sr(u)):{},Ar(o||!u||!u.__esModule?Pn(p,"default",{value:u,enumerable:!0}):p,u)),We=$(((u,o)=>{function p(a){return typeof a>"u"||a===null}function m(a){return typeof a=="object"&&a!==null}function S(a){return Array.isArray(a)?a:p(a)?[]:[a]}function I(a,s){if(s){let h=Object.keys(s);for(let r=0,l=h.length;r<l;r+=1){let A=h[r];a[A]=s[A]}}return a}function g(a,s){let h="";for(let r=0;r<s;r+=1)h+=a;return h}function c(a){return a===0&&Number.NEGATIVE_INFINITY===1/a}o.exports.isNothing=p,o.exports.isObject=m,o.exports.toArray=S,o.exports.repeat=g,o.exports.isNegativeZero=c,o.exports.extend=I})),He=$(((u,o)=>{function p(S,I){let g="",c=S.reason||"(unknown reason)";return S.mark?(S.mark.name&&(g+='in "'+S.mark.name+'" '),g+="("+(S.mark.line+1)+":"+(S.mark.column+1)+")",!I&&S.mark.snippet&&(g+=`
|
|
1
|
+
import{b as sn,c as an,d as En}from"./embed-page-chunk-WTOAQDQN.js";import{a as cn,b as Ae,e as ke,f as vn,h as Cn,i as _n}from"./embed-page-chunk-V2GBFWLG.js";import{Fa as ln,H as wn,R as Sn,U as bn,fa as An,la as kn,o as Oe,oa as Tn,q as yn,t as xn,u as Me,v as Fe}from"./embed-page-chunk-7PNQFZMK.js";import{r as _e}from"./embed-page-chunk-O44JEYLD.js";import{a as Ve}from"./embed-page-chunk-QV7QAJ4N.js";import{Ia as se,La as Xe,Z as dn,aa as Te,ba as gn,fa as hn,va as mn}from"./embed-page-chunk-MHGVD4EV.js";import{a as lr}from"./embed-page-chunk-R5QL57JJ.js";import{f as Re}from"./embed-page-chunk-QBTAJ2YI.js";var ie=Re(lr());var E=Re(Ve());if(typeof document<"u"){let u="workflow-node-spin-keyframes";if(!document.getElementById(u)){let o=document.createElement("style");o.id=u,o.textContent="@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }",document.head.appendChild(o)}}var{Text:ae}=Xe,Qe={opacity:0},De={running:{color:"#1677ff",icon:(0,E.jsx)(bn,{size:14,style:{animation:"spin 1s linear infinite"}})},completed:{color:"#52c41a",icon:(0,E.jsx)(Oe,{size:14})},failed:{color:"#ff4d4f",icon:(0,E.jsx)(Me,{size:14})},interrupted:{color:"#faad14",icon:(0,E.jsx)(yn,{size:14})},skipped:{color:"#8c8c8c",icon:(0,E.jsx)(Fe,{size:14})}},Nn={running:"chatWorkspace.workflowNode.stepStatus.running",completed:"chatWorkspace.workflowNode.stepStatus.completed",failed:"chatWorkspace.workflowNode.stepStatus.failed",interrupted:"chatWorkspace.workflowNode.stepStatus.interrupted",skipped:"chatWorkspace.workflowNode.stepStatus.skipped"},In={color:"#d9d9d9",icon:(0,E.jsx)(Fe,{size:14})},Ln={agent:{color:"#6366f1",bg:"#EEF2FF",border:"#6366f1"},map:{color:"#10b981",bg:"#ECFDF5",border:"#10b981"},terminal:{color:"#64748b",bg:"#F8FAFC",border:"#94a3b8"}},Rn={success:{color:"#22c55e",bg:"#F0FDF4",label:"chatWorkspace.workflowNode.terminal.success"},failed:{color:"#ef4444",bg:"#FEF2F2",label:"chatWorkspace.workflowNode.terminal.failed"},__default:{color:"#94a3b8",bg:"#F8FAFC",label:"chatWorkspace.workflowNode.terminal.stop"}};function cr(u){return(u||"?").split(/[\s_-]+/).filter(Boolean).map(o=>o[0]).join("").toUpperCase().slice(0,2)}function un({schema:u,t:o}){let p=u;if(!p||typeof p!="object")return(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowNode.noSchema")});let m=p.properties,S=p.required||[],I=p.items,g=a=>a==="string"?"green":a==="number"||a==="integer"?"orange":a==="boolean"?"purple":a==="array"?"cyan":a==="object"?"blue":"default",c=a=>{let s=a.type;if(s==="array"&&a.items){let h=a.items.type;return h?`Array<${h}>`:"Array"}return s||"any"};return(0,E.jsxs)("div",{style:{maxWidth:340,maxHeight:360,overflow:"auto",fontSize:12},children:[m&&(0,E.jsxs)("div",{children:[(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5,display:"block",marginBottom:6},children:o("chatWorkspace.workflowNode.properties")}),Object.entries(m).map(([a,s])=>{let h=S.includes(a),r=s.description,l=c(s),A=s.properties,O=s.items,D=!!(A||O);return(0,E.jsx)(Te,{title:D?(0,E.jsx)(un,{t:o,schema:D?A?s:O:void 0}):r||void 0,placement:"left",overlayStyle:{maxWidth:360},children:(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 6px",borderRadius:4,marginBottom:2,background:h?"rgba(99,102,241,0.04)":"transparent",cursor:D?"pointer":"default"},children:[(0,E.jsx)(ae,{style:{fontSize:11,fontWeight:h?600:400,fontFamily:"monospace"},children:a}),h&&(0,E.jsx)("span",{style:{color:"#ef4444",fontSize:9},children:"*"}),r&&!D&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),(0,E.jsx)(se,{color:g(l),style:{margin:0,fontSize:9,padding:"0 4px",lineHeight:"16px",marginLeft:"auto"},children:l})]})},a)})]}),!m&&I&&(0,E.jsxs)("div",{children:[(0,E.jsx)(ae,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5,display:"block",marginBottom:4},children:o("chatWorkspace.workflowNode.items")}),(0,E.jsx)(un,{t:o,schema:I})]})]})}var On=72,sr=3,ar=({data:u})=>{let o=_e();if(!u)return null;let{nodeType:p,name:m,description:S,ref:I,refAgentName:g,refAgentType:c,refDeleted:a,outputKey:s,nodeSchema:h,config:r,status:l,source:A,innerRef:O,inputTemplate:D,ask:Z,condition:j,runState:N,pending:B}=u,C=Ln[p]||Ln.agent,W=Rn[l||""]||Rn.__default,P=N?De[N.status]||De.running:null,z=P?.color,U=P?.icon,q=l==="success"?(0,E.jsx)(Oe,{size:14,color:"#22c55e"}):l==="failed"?(0,E.jsx)(Me,{size:14,color:"#ef4444"}):(0,E.jsx)(Fe,{size:14,color:"#94a3b8"}),fe=l==="success"?(0,E.jsx)(Oe,{size:32,color:W.color}):l==="failed"?(0,E.jsx)(Me,{size:32,color:W.color}):(0,E.jsx)(xn,{size:32,color:W.color}),ue=r?.title,oe=r?.maxRetries,J=r?.timeout,te=r?.batchSize,X=r?.maxConcurrency,G=r?.innerConcurrency,ee=N?.selected,_=!!N||B;function de(V){return V==null?"-":V<1e3?`${V}ms`:`${(V/1e3).toFixed(1)}s`}if(p==="terminal"){let V=W.color,ne=W.bg,pe=o(W.label),ce=fe;_&&(N?(V=z||V,pe=N.status,ce=(0,E.jsx)("span",{style:{fontSize:18},children:U})):B&&(V=In.color,ne="#fafafa",pe=o("chatWorkspace.workflowNode.pending"),ce=(0,E.jsx)(Fe,{size:18,style:{color:In.color}})));let me=ee&&z?`0 4px 16px ${z}30`:"0 2px 8px rgba(0,0,0,0.06)";return(0,E.jsxs)("div",{style:{padding:4,display:"flex",flexDirection:"column",alignItems:"center",opacity:B?.5:1},children:[(0,E.jsx)(ke,{type:"target",position:Ae.Top,style:Qe}),(0,E.jsx)(Te,{title:_&&N?o(Nn[N.status]):m,children:(0,E.jsx)("div",{style:{width:On,height:On,borderRadius:"50%",background:ne,border:`${sr}px solid ${B?`${V}80`:V}`,borderStyle:B?"dashed":"solid",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:me,transition:"all 0.2s ease",cursor:"default"},onMouseEnter:B?void 0:K=>{K.currentTarget.style.transform="scale(1.08)",K.currentTarget.style.boxShadow=`0 4px 16px ${V}30`},onMouseLeave:B?void 0:K=>{K.currentTarget.style.transform="scale(1)",K.currentTarget.style.boxShadow=me},children:ce})}),(0,E.jsx)(ae,{style:{fontSize:11,color:V,marginTop:6,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.5px"},children:pe}),(0,E.jsx)(ke,{type:"source",position:Ae.Bottom,style:Qe})]})}let le=_&&z?z:C.border,Ee=_&&z?z:C.color,he=p==="agent"?(0,E.jsx)(Tn,{size:14}):p==="map"?(0,E.jsx)(An,{size:14}):cr(m),ve=N?de(N.durationMs):null,Se=ee&&z?`0 4px 14px ${z}20`:"0 1px 6px rgba(0,0,0,0.08)",be=_&&z?z:C.color;return(0,E.jsxs)("div",{style:{padding:4},children:[(0,E.jsx)(ke,{type:"target",position:Ae.Top,style:Qe}),(0,E.jsxs)("div",{style:{width:260,minHeight:90,boxSizing:"border-box",background:"#fff",borderRadius:12,boxShadow:Se,border:"1px solid #e5e7eb",borderLeft:`3px solid ${le}`,borderStyle:I?"dashed":"solid",overflow:"hidden",transition:"all 0.2s ease",...B?{opacity:.5,borderStyle:"dashed"}:{}},onMouseEnter:B?void 0:V=>{V.currentTarget.style.transform="translateY(-2px)",V.currentTarget.style.boxShadow=`0 4px 12px ${be}20`},onMouseLeave:B?void 0:V=>{V.currentTarget.style.transform="translateY(0)",V.currentTarget.style.boxShadow=Se},children:[(0,E.jsxs)("div",{style:{background:C.bg,padding:"6px 12px",display:"flex",alignItems:"center",gap:6,borderBottom:"1px solid #f1f5f9"},children:[(0,E.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",backgroundColor:Ee,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,fontWeight:600,flexShrink:0},children:he}),(0,E.jsx)("div",{style:{flex:1,minWidth:0},children:(0,E.jsx)(ae,{strong:!0,style:{fontSize:12,color:C.color},ellipsis:{tooltip:m},children:m})}),_&&U&&(0,E.jsx)(Te,{title:N?o(Nn[N.status]):void 0,children:(0,E.jsx)("span",{style:{color:z,fontSize:12,display:"flex",flexShrink:0},children:U})})]}),(0,E.jsxs)("div",{style:{padding:"10px 12px"},children:[S&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:2,lineHeight:1.4},ellipsis:{tooltip:S},children:S}),p==="map"&&A&&(0,E.jsxs)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:4,lineHeight:1.4,color:C.color,background:C.bg,padding:"2px 6px",borderRadius:4,maxHeight:32,overflow:"hidden"},ellipsis:{tooltip:A},children:["\u2190 ",A]}),p!=="map"&&D&&(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11,display:"block",marginTop:4,lineHeight:1.4,color:C.color,background:C.bg,padding:"2px 6px",borderRadius:4,maxHeight:32,overflow:"hidden"},ellipsis:{tooltip:D},children:D}),(0,E.jsxs)("div",{style:{display:"flex",gap:4,marginTop:6,flexWrap:"wrap"},children:[!_&&p==="agent"&&I&&(0,E.jsx)(Te,{title:a?o("chatWorkspace.workflowNode.refDeleted",{ref:I}):o("chatWorkspace.workflowNode.refDelegated",{name:g??I}),children:(0,E.jsx)(se,{color:a?"red":"purple",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},icon:(0,E.jsx)(Sn,{size:10}),children:a?o("chatWorkspace.workflowNode.refDeletedTag",{ref:I}):`\u2192 ${g??I}`})}),!_&&p==="agent"&&!I&&(0,E.jsx)(se,{color:"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:o("chatWorkspace.workflowNode.inline")}),Z&&(0,E.jsx)(Te,{title:o("chatWorkspace.workflowNode.askTooltip"),children:(0,E.jsx)("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:"#fff7e6",border:"1px solid #ffd591",cursor:"default"},children:(0,E.jsx)(kn,{size:12,style:{color:"#fa8c16"}})})}),j&&(0,E.jsx)(Te,{title:o("chatWorkspace.workflowNode.when",{condition:j}),children:(0,E.jsx)("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,borderRadius:"50%",background:"#f0f5ff",border:"1px solid #adc6ff",cursor:"default"},children:(0,E.jsx)(wn,{size:12,style:{color:"#2f54eb"}})})}),!_&&p==="map"&&O&&(0,E.jsx)(se,{color:"purple",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:O}),!_&&p==="map"&&D&&(0,E.jsx)(se,{color:"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px",maxWidth:120},title:D,children:D.length>20?D.slice(0,18)+"\u2026":D}),!_&&p==="map"&&(te||X||G)&&(0,E.jsxs)(se,{color:"cyan",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:[te??50,"\xD7",X??10,"\xD7",G??5]}),!_&&oe?(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:["\u21BB ",oe]}):null,!_&&J?(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:["\u23F1 ",J,"s"]}):null,ve&&(0,E.jsx)(se,{color:N?"blue":"default",style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px"},children:ve}),s&&(0,E.jsx)("span",{style:{marginLeft:"auto"}}),s&&(0,E.jsx)(gn,{trigger:"hover",placement:"right",mouseEnterDelay:.2,title:(0,E.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,E.jsx)(ae,{strong:!0,style:{fontSize:12},children:o("chatWorkspace.workflowNode.output")}),(0,E.jsx)(ae,{style:{fontSize:11,fontFamily:"monospace",color:"#6366f1"},children:s})]}),content:h?(0,E.jsx)(un,{t:o,schema:h}):(0,E.jsx)(ae,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowNode.noSchema")}),children:(0,E.jsxs)(se,{style:{margin:0,fontSize:10,padding:"0 5px",lineHeight:"16px",flexShrink:0,cursor:"default"},children:["\u2192 ",s]})})]})]})]}),(0,E.jsx)(ke,{type:"source",position:Ae.Bottom,style:Qe})]})},Mn=ar;var H=Re(Ve()),{Text:ge}=Xe;function Fn(u){return new Date(u).toLocaleString()}function ur(u){return u.input?typeof u.input.rendered=="string"?u.input.rendered:typeof u.input.description=="string"?u.input.description:JSON.stringify(u.input,null,2):null}function pr(u){return u.output?typeof u.output.result=="string"?u.output.result:typeof u.output=="object"?JSON.stringify(u.output,null,2):String(u.output):null}function fr({step:u}){let o=_e(),p=ur(u),m=pr(u),S=De[u.status]||De.running,I=[{key:"io",label:o("chatWorkspace.workflowCanvas.tabIo"),children:(0,H.jsxs)(H.Fragment,{children:[p&&(0,H.jsxs)("div",{style:{marginBottom:m?12:0},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5},children:o("chatWorkspace.workflowCanvas.input")}),(0,H.jsx)("div",{style:{background:"rgba(0,0,0,0.02)",borderRadius:8,padding:"8px 10px",marginTop:4,maxHeight:200,overflow:"auto"},children:u.input?.description?(0,H.jsx)(ln,{content:p}):(0,H.jsx)("pre",{style:{margin:0,fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace"},children:p})})]}),m&&(0,H.jsxs)("div",{children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10,textTransform:"uppercase",letterSpacing:.5},children:o("chatWorkspace.workflowCanvas.output")}),(0,H.jsx)("div",{style:{background:"linear-gradient(135deg, rgba(99,102,241,0.04) 0%, rgba(99,102,241,0.01) 100%)",borderRadius:8,padding:"8px 10px",marginTop:4,maxHeight:200,overflow:"auto"},children:u.output?.result?(0,H.jsx)(ln,{content:m}):(0,H.jsx)("pre",{style:{margin:0,fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"monospace"},children:m})})]}),!p&&!m&&(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowCanvas.noIo")})]})}];return(0,H.jsxs)("div",{style:{maxWidth:480},children:[(0,H.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12},children:[(0,H.jsx)("span",{style:{color:S.color,fontSize:14},children:S.icon}),(0,H.jsx)(ge,{strong:!0,style:{fontSize:14},children:u.stepName}),(0,H.jsx)(se,{color:"purple",style:{fontSize:11},children:u.stepType})]}),u.edgePurpose&&(0,H.jsx)("div",{style:{marginBottom:10},children:(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11},children:o("chatWorkspace.workflowCanvas.purpose",{purpose:u.edgePurpose})})}),u.errorMessage&&(0,H.jsx)("div",{style:{background:"#FEF2F2",border:"1px solid #FECACA",borderRadius:8,padding:"8px 12px",marginBottom:12,overflow:"hidden"},children:(0,H.jsx)(ge,{type:"danger",style:{fontSize:11,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:u.errorMessage})}),(0,H.jsx)(hn,{activeKey:"io",items:I,size:"small",style:{marginBottom:-8}}),(0,H.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:12,paddingTop:8,borderTop:"1px solid #f0f0f0"},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10},children:o("chatWorkspace.workflowCanvas.started",{time:Fn(u.startedAt)})}),u.completedAt&&(0,H.jsx)(ge,{type:"secondary",style:{fontSize:10},children:o("chatWorkspace.workflowCanvas.ended",{time:Fn(u.completedAt)})})]})]})}function Pe(u,o){return u.find(p=>p.stepName===o.name)??null}function Ze(u,o,p,m){let S=u.ref&&m?m.get(u.ref):void 0;return{nodeType:u.type,name:u.name,description:u.description,ref:u.ref,refAgentName:S?.name,refAgentType:S?.type,refDeleted:u.ref&&m?!S:void 0,outputKey:u.output?.key,nodeSchema:u.output?.schema,config:u.config,status:u.status,source:u.source,innerRef:u.node?.ref,inputTemplate:u.input?.template,ask:u.ask,condition:u.condition,runState:o,pending:p}}function Dn(u){let o=new Map;for(let p of u)if(p.parentGroup&&p.type!=="terminal"){let m=o.get(p.parentGroup)||[];m.push(p.id),o.set(p.parentGroup,m)}return Array.from(o.entries()).map(([p,m])=>({sourceId:p,childIds:m}))}function dr(){let u=_e();return(0,H.jsxs)("div",{style:{width:"100%",height:"100%",position:"relative",pointerEvents:"none"},children:[(0,H.jsx)(ke,{type:"target",position:Ae.Top,style:{opacity:0}}),(0,H.jsx)(ke,{type:"source",position:Ae.Bottom,style:{opacity:0}}),(0,H.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,border:"2px dashed #a78bfa",borderRadius:12,background:"rgba(167, 139, 250, 0.04)"}}),(0,H.jsx)("div",{style:{position:"absolute",top:8,left:12,fontSize:12,fontWeight:600,color:"#7c3aed",padding:"2px 8px",background:"rgba(167, 139, 250, 0.08)",borderRadius:6,whiteSpace:"nowrap",zIndex:2},children:u("chatWorkspace.workflowCanvas.parallel")})]})}function gr(u,o){let p=u.nodes,m=u.edges,S=Dn(p),I=new Set(S.map(N=>N.sourceId)),g=new Set(S.flatMap(N=>N.childIds)),c=268,a=100,s=40;for(let N of S){let B=p.find(C=>C.id===N.sourceId);if(B){let C=N.childIds.length;B.width=C*c+(C-1)*s+40,B.height=a+100}}let h=p.filter(N=>!g.has(N.id)),r=an(h,m,{nodeWidth:c,nodeHeight:a,ranksep:120}),l=h.find(N=>!I.has(N.id)&&N.type!=="terminal"),A=l?r.get(l.id):void 0,O=l?l.width??c:c,D=A?A.x+O/2:0;for(let N of h){if(I.has(N.id))continue;let B=r.get(N.id);if(!B)continue;let C=N.width??c;B.x=D-C/2}let Z=h.filter(N=>r.has(N.id)&&!I.has(N.id)&&N.type!=="terminal").map(N=>{let B=r.get(N.id);return{id:N.id,type:"workflow",position:B,data:{...Ze(N,void 0,void 0,o)}}});for(let N of S){let B=p.find(J=>J.id===N.sourceId),C=r.get(N.sourceId);if(!B||!C)continue;let W=B.width,P=B.height,z=N.childIds.length,U=D-W/2,q=z*c+(z-1)*s,fe=D-q/2,ue=C.y+(P-a)/2;for(let J=0;J<z;J++){let te=N.childIds[J],X=p.find(G=>G.id===te);X&&Z.push({id:X.id,type:"workflow",position:{x:fe+J*(c+s),y:ue},data:{...Ze(X,void 0,void 0,o),parallelGroup:!0},style:{zIndex:2}})}let oe=`group_${N.sourceId}`;Z.push({id:oe,type:"groupLabel",position:{x:U,y:C.y},data:{},selectable:!1,draggable:!1,style:{zIndex:0,width:W,height:P}})}let j=[];for(let N of m){let B=sn(N);for(let C of B){let W=p.find(U=>U.id===C);if(W?.type==="terminal"&&W.name==="__end"||I.has(N.from)&&p.find(q=>q.id===C)?.parentGroup===N.from)continue;let P=I.has(N.from)?`group_${N.from}`:N.from,z=I.has(C)?`group_${C}`:C;j.push({id:`${P}-${z}`,source:P,target:z,type:"straight",markerEnd:{type:cn.ArrowClosed}})}}return{nodes:Z,edges:j}}function hr(u,o,p,m){let S=u.nodes,I=u.edges,g=Dn(S),c=new Set(g.map(C=>C.sourceId)),a=new Set(g.flatMap(C=>C.childIds)),s=268,h=100,r=40;for(let C of g){let W=S.find(P=>P.id===C.sourceId);if(W){let P=C.childIds.length;W.width=P*s+(P-1)*r+40,W.height=h+100}}let l=S.filter(C=>!a.has(C.id)),A=an(l,I,{nodeWidth:s,nodeHeight:h,ranksep:120}),O=l.find(C=>!c.has(C.id)&&C.type!=="terminal"),D=O?A.get(O.id):void 0,Z=O?O.width??s:s,j=D?D.x+Z/2:0;for(let C of l){if(c.has(C.id))continue;let W=A.get(C.id);if(!W)continue;let P=C.width??s;W.x=j-P/2}let N=l.filter(C=>A.has(C.id)&&!c.has(C.id)).map(C=>{let W=A.get(C.id),P=Pe(o,C),z=C.type==="terminal",U=P&&(!z||P.status!=="running")?{status:P.status,stepType:P.stepType,durationMs:P.durationMs,selected:!1}:void 0;return{id:C.id,type:"workflow",position:W,style:z?{width:s,height:h}:void 0,data:Ze(C,U,!P&&!z,m)}});for(let C of g){let W=S.find(X=>X.id===C.sourceId),P=A.get(C.sourceId);if(!W||!P)continue;let z=W.width,U=W.height,q=C.childIds.length,fe=q*s+(q-1)*r,ue=j-fe/2,oe=P.y+(U-h)/2;for(let X=0;X<q;X++){let G=C.childIds[X],ee=S.find(le=>le.id===G);if(!ee)continue;let _=Pe(o,ee),de=_?{status:_.status,stepType:_.stepType,durationMs:_.durationMs,selected:!1}:void 0;N.push({id:ee.id,type:"workflow",position:{x:ue+X*(s+r),y:oe},data:{...Ze(ee,de,!_,m),parallelGroup:!0},style:{zIndex:2}})}let J=j-z/2,te=`group_${C.sourceId}`;N.push({id:te,type:"groupLabel",position:{x:J,y:P.y},data:{},selectable:!1,draggable:!1,style:{zIndex:0,width:z,height:U}})}let B=[];for(let C of I){let W=sn(C);for(let P of W){if(c.has(C.from)&&S.find(_=>_.id===P)?.parentGroup===C.from)continue;let z=c.has(C.from)?`group_${C.from}`:C.from,U=c.has(P)?`group_${P}`:P,q=S.find(ee=>ee.id===C.from),ue=(q?Pe(o,q):void 0)!==void 0,oe=S.find(ee=>ee.id===P),te=(oe?Pe(o,oe):void 0)!==void 0,X=ue&&te,G=X?"#6366f1":"#d9d9d9";B.push({id:`${z}-${U}`,source:z,target:U,type:"straight",animated:X,style:X?{stroke:G,strokeWidth:2}:{stroke:G,strokeWidth:2,strokeDasharray:"6 4",opacity:.25},markerEnd:{type:cn.ArrowClosed,color:G,width:20,height:20}})}}return{nodes:N,edges:B}}var mr=({dsl:u,steps:o,assistantId:p,agentNameMap:m,onNodeClick:S,height:I="100%"})=>{let g=_e(),c=!!o,a=(0,ie.useMemo)(()=>({workflow:Mn,groupLabel:dr}),[]),{nodes:s,edges:h}=(0,ie.useMemo)(()=>c?hr(u,o,void 0,m):gr(u,m),[u,o,c,m]),[r,l,A]=Cn(s),[O,D,Z]=_n(h),[j,N]=(0,ie.useState)(null),B=(0,ie.useMemo)(()=>{if(!c||!j)return null;let U=u.nodes.find(q=>q.id===j);return U?Pe(o,U):null},[u.nodes,o,j,c]);(0,ie.useEffect)(()=>{l(s),D(h)},[s,h,l,D]);let C=(0,ie.useCallback)(()=>{l(U=>U.map(q=>({...q,data:{...q.data,runState:q.data.runState?{...q.data.runState,selected:!1}:void 0}})))},[l]);(0,ie.useEffect)(()=>{c&&l(U=>U.map(q=>({...q,data:{...q.data,runState:q.data.runState?{...q.data.runState,selected:q.id===j}:void 0}})))},[j,l,c]);let W=(0,ie.useCallback)((U,q)=>{c?N(q.id):S?.(q.id)},[c,S]),P=(0,ie.useCallback)(()=>{c&&(C(),N(null))},[c,C]),z=(0,ie.useCallback)(()=>{C(),N(null)},[C]);return!u.nodes||u.nodes.length===0?c?(0,H.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300},children:(0,H.jsx)(mn,{size:"large"})}):(0,H.jsx)(dn,{description:g("chatWorkspace.workflowCanvas.noNodes")}):(0,H.jsx)(vn,{children:(0,H.jsx)(En,{nodes:r,edges:O,nodeTypes:a,onNodesChange:A,onEdgesChange:Z,onNodeClick:W,onPaneClick:c?P:void 0,height:I,fitView:!0,fitViewOptions:c?{padding:.3}:void 0,minZoom:c?.3:void 0,maxZoom:c?1.5:void 0,nodesDraggable:!1,nodesConnectable:c?!1:void 0,defaultEdgeOptions:c?void 0:{style:{strokeWidth:2}},backgroundGap:c?20:void 0,miniMap:c?{nodeStrokeWidth:3,pannable:!0,zoomable:!0,style:{backgroundColor:"#f5f5f5"}}:void 0,children:c&&B&&j&&(0,H.jsxs)("div",{style:{position:"absolute",right:24,top:24,width:460,maxHeight:"calc(100% - 48px)",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.12)",border:"1px solid #e5e7eb",zIndex:10,overflow:"auto",padding:20},children:[(0,H.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11,textTransform:"uppercase",letterSpacing:.5},children:g("chatWorkspace.workflowCanvas.stepDetail")}),(0,H.jsx)(ge,{type:"secondary",style:{fontSize:11,cursor:"pointer"},onClick:z,children:g("common.close")})]}),(0,H.jsx)(fr,{step:B})]})})})},Gr=mr;var yr=Object.create,Pn=Object.defineProperty,xr=Object.getOwnPropertyDescriptor,wr=Object.getOwnPropertyNames,Sr=Object.getPrototypeOf,br=Object.prototype.hasOwnProperty,$=(u,o)=>()=>(o||(u((o={exports:{}}).exports,o),u=null),o.exports),Ar=(u,o,p,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(var S=wr(o),I=0,g=S.length,c;I<g;I++)c=S[I],!br.call(u,c)&&c!==p&&Pn(u,c,{get:(a=>o[a]).bind(null,c),enumerable:!(m=xr(o,c))||m.enumerable});return u},kr=(u,o,p)=>(p=u!=null?yr(Sr(u)):{},Ar(o||!u||!u.__esModule?Pn(p,"default",{value:u,enumerable:!0}):p,u)),We=$(((u,o)=>{function p(a){return typeof a>"u"||a===null}function m(a){return typeof a=="object"&&a!==null}function S(a){return Array.isArray(a)?a:p(a)?[]:[a]}function I(a,s){if(s){let h=Object.keys(s);for(let r=0,l=h.length;r<l;r+=1){let A=h[r];a[A]=s[A]}}return a}function g(a,s){let h="";for(let r=0;r<s;r+=1)h+=a;return h}function c(a){return a===0&&Number.NEGATIVE_INFINITY===1/a}o.exports.isNothing=p,o.exports.isObject=m,o.exports.toArray=S,o.exports.repeat=g,o.exports.isNegativeZero=c,o.exports.extend=I})),He=$(((u,o)=>{function p(S,I){let g="",c=S.reason||"(unknown reason)";return S.mark?(S.mark.name&&(g+='in "'+S.mark.name+'" '),g+="("+(S.mark.line+1)+":"+(S.mark.column+1)+")",!I&&S.mark.snippet&&(g+=`
|
|
2
2
|
|
|
3
3
|
`+S.mark.snippet),c+" "+g):c}function m(S,I){Error.call(this),this.name="YAMLException",this.reason=S,this.mark=I,this.message=p(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}m.prototype=Object.create(Error.prototype),m.prototype.constructor=m,m.prototype.toString=function(I){return this.name+": "+p(this,I)},o.exports=m})),Tr=$(((u,o)=>{var p=We();function m(g,c,a,s,h){let r="",l="",A=Math.floor(h/2)-1;return s-c>A&&(r=" ... ",c=s-A+r.length),a-s>A&&(l=" ...",a=s+A-l.length),{str:r+g.slice(c,a).replace(/\t/g,"\u2192")+l,pos:s-c+r.length}}function S(g,c){return p.repeat(" ",c-g.length)+g}function I(g,c){if(c=Object.create(c||null),!g.buffer)return null;c.maxLength||(c.maxLength=79),typeof c.indent!="number"&&(c.indent=1),typeof c.linesBefore!="number"&&(c.linesBefore=3),typeof c.linesAfter!="number"&&(c.linesAfter=2);let a=/\r?\n|\r|\0/g,s=[0],h=[],r,l=-1;for(;r=a.exec(g.buffer);)h.push(r.index),s.push(r.index+r[0].length),g.position<=r.index&&l<0&&(l=s.length-2);l<0&&(l=s.length-1);let A="",O=Math.min(g.line+c.linesAfter,h.length).toString().length,D=c.maxLength-(c.indent+O+3);for(let j=1;j<=c.linesBefore&&!(l-j<0);j++){let N=m(g.buffer,s[l-j],h[l-j],g.position-(s[l]-s[l-j]),D);A=p.repeat(" ",c.indent)+S((g.line-j+1).toString(),O)+" | "+N.str+`
|
|
4
4
|
`+A}let Z=m(g.buffer,s[l],h[l],g.position,D);A+=p.repeat(" ",c.indent)+S((g.line+1).toString(),O)+" | "+Z.str+`
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Pa as T,Xa as C,Ya as j,va as S}from"./embed-page-chunk-
|
|
1
|
+
import{Pa as T,Xa as C,Ya as j,va as S}from"./embed-page-chunk-7PNQFZMK.js";import{r as d,y as x}from"./embed-page-chunk-O44JEYLD.js";import{a as p}from"./embed-page-chunk-QV7QAJ4N.js";import{La as I,U as v,W as b,lb as P}from"./embed-page-chunk-MHGVD4EV.js";import{a as M}from"./embed-page-chunk-R5QL57JJ.js";import{f as a}from"./embed-page-chunk-QBTAJ2YI.js";var h=a(M());var t=a(p()),{Text:c}=I,_=({workflowContext:e,onClose:g,onToolCompleted:m,initialMessageRequest:n,onInitialMessageSubmitted:u,attemptedInitialMessageRequestIdsRef:f,rawInitialMessage:o,showHeader:s=!0})=>{let r=d(),$=x("agent-architect"),y=e?.id?`${$.tenantId}:${e.id}`:null,A=(0,h.useMemo)(()=>{if(e?.id&&e?.name)return e.type==="agent"?`[Context: You're viewing agent "${e.name}" (assistant: ${e.id})]`:`[Context: You're viewing workflow "${e.name}" (agent: ${e.id})]`},[e]),L=(0,h.useMemo)(()=>{if(!n||!e?.id)return null;if(o)return n;let l;return e.type==="workflow"?l=[`Purpose: ${n.content.trim()}`,"",`Workflow "${e.id}" has been created with an empty YAML DSL. Based on the purpose above, load the 'create-workflow' skill, design the workflow using the YAML needs+if DSL, and update it via update_workflow. Make sure to include a descriptive name.`].join(`
|
|
2
2
|
`):l=[`Purpose: ${n.content.trim()}`,"",`Configure the topology for workflow "${e.id}" based on this purpose. Create sub-agents, set up the processing pipeline, and wire them together with topology edges.`,"The current name is a placeholder \u2014 feel free to update it via update_processing_agent if you have a better one."].join(`
|
|
3
3
|
`),{...n,content:l}},[n?.requestId,n?.content,e?.id,e?.type,o]);return(0,t.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",borderLeft:"1px solid #f0f0f0",background:"rgba(255, 255, 255, 0.92)"},children:[s&&(0,t.jsxs)("div",{style:{padding:"12px 12px",borderBottom:"1px solid #f0f0f0",display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c,{strong:!0,children:r("chat.copilot.agentBuilder")}),e&&(0,t.jsx)("div",{children:(0,t.jsx)(c,{type:"secondary",style:{fontSize:12},children:r("chat.copilot.viewing",{name:e.name})})})]}),g&&(0,t.jsx)(b,{type:"text",size:"small","aria-label":r("chat.copilot.close"),icon:(0,t.jsx)(P,{}),onClick:g})]}),y?(0,t.jsxs)(S,{threadId:y,assistantId:"agent-architect",options:{streaming:!0},onToolCompleted:m,children:[(0,t.jsx)(C,{request:L,onSubmitted:u,attemptedRequestIdsRef:f}),(0,t.jsx)(j,{showHeader:!1,showEmptyState:!1,showDatabaseSlot:!1,showSkillSlot:!1,showAgentSlot:!1,showMetricsDataSourceSlot:!1,systemContext:A})]}):(0,t.jsxs)("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",textAlign:"center",gap:4,padding:"0 8px"},children:[(0,t.jsx)(c,{strong:!0,children:r("chat.copilot.agentBuilder")}),(0,t.jsx)(c,{type:"secondary",children:r("chat.copilot.selectWorkflow")})]})]})};var i=a(p()),O=({project:e,projects:g,value:m,onChange:n,selectable:u=!0,loading:f})=>{let o=d();return e?(0,i.jsxs)("div",{"data-testid":"training-context-card",style:{display:"flex",alignItems:"center",gap:8},children:[(0,i.jsx)("span",{style:{fontSize:12,color:"rgba(0,0,0,0.45)",flexShrink:0},children:o("governance.learning.projectLabel")}),u?(0,i.jsx)(T,{kind:"training",value:m??e.id,onChange:s=>{s&&n?.(s)},style:{minWidth:0}}):(0,i.jsx)("span",{style:{fontSize:12,fontWeight:500},children:e.name})]}):f?null:(0,i.jsx)(v,{type:"warning",showIcon:!0,message:o("governance.learning.noProject"),description:o("governance.learning.noProjectDescription")})};export{O as a,_ as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./embed-page-chunk-QBTAJ2YI.js";var n={"chatConfig.field.name":"Name","chatConfig.field.description":"Description","chatConfig.field.displayName":"Display Name","chatConfig.field.connectionKey":"Connection Key","chatConfig.field.host":"Host","chatConfig.field.port":"Port","chatConfig.field.username":"Username","chatConfig.field.password":"Password","chatConfig.field.serverUrl":"Server URL","chatConfig.field.apiKey":"API Key","chatConfig.field.optionalDescription":"Optional description","chatConfig.config.updated":"Configuration updated","chatConfig.config.created":"Configuration created","chatConfig.config.deleted":"Configuration deleted","chatConfig.config.deleteFailed":"Failed to delete configuration","chatConfig.config.saveFailed":"Failed to save configuration","chatConfig.config.missingId":"Cannot delete: configuration id is missing","chatConfig.agentType.executor":"Executor","chatConfig.agentType.orchestrator":"Orchestrator","chatConfig.agentType.team":"Team","chatConfig.agentType.workflow":"Workflow","chatConfig.agentType.a2aRemote":"A2A Remote","chatConfig.keyValue.key":"Key","chatConfig.keyValue.value":"Value","chatConfig.keyValue.add":"Add","chatConfig.keyValue.removeEntry":"Remove entry","chatConfig.connectionList.empty":'No "{{type}}" connections',"chatConfig.connectionList.selectAll":"Select All","chatConfig.connectionList.deselectAll":"Deselect All","chatConfig.connectionList.clear":"Clear","chatConfig.connectionsHub.title":"Plugins","chatConfig.connectionsHub.tab.all":"All ({{count}})","chatConfig.connectionsHub.tab.connections":"Connections ({{count}})","chatConfig.connectionsHub.tab.tools":"Tools ({{count}})","chatConfig.connectionsHub.empty.connections.title":"No connection plugins","chatConfig.connectionsHub.empty.connections.description":"No plugins with connection management registered","chatConfig.connectionsHub.empty.tools.title":"No tool plugins","chatConfig.connectionsHub.empty.tools.description":"No tool-only plugins registered","chatConfig.connectionsHub.empty.all.title":"No plugins","chatConfig.connectionsHub.empty.all.description":"No plugins registered","chatConfig.connectionsHub.capability.test":"test","chatConfig.connectionsHub.capability.discover":"discover","chatConfig.connectionsHub.capability.connection":"connection","chatConfig.connectionsHub.capability.tool":"tool","chatConfig.subAgentInherit.hint":"Choose how to handle each sub-agent from the parent:","chatConfig.subAgentInherit.clone":"Clone as new","chatConfig.subAgentInherit.reuse":"Reuse","chatConfig.subAgentInherit.cloneKeyPlaceholder":"Enter key for the cloned agent","chatConfig.project.create.title":"New Project","chatConfig.project.field.name":"Project name","chatConfig.project.field.namePlaceholder":"Enter project name","chatConfig.project.validation.nameRequired":"Please enter a project name","chatConfig.project.validation.nameMax":"Project name must be less than 50 characters","chatConfig.project.field.visibility":"Visibility","chatConfig.project.kind.business":"Business","chatConfig.project.kind.business.description":"Only invited members can see it.","chatConfig.project.kind.public":"Public","chatConfig.project.kind.public.description":"Visible to everyone in this workspace.","chatConfig.project.field.description":"Description (optional)","chatConfig.project.field.descriptionPlaceholder":"Enter project description","chatConfig.workflow.create.title":"New Workflow","chatConfig.workflow.create.titleProcessing":"New Processing Workflow","chatConfig.workflow.field.purpose":"Purpose","chatConfig.workflow.field.purposePlaceholder":"Describe what this workflow should do. Name and key will be generated automatically.","chatConfig.workflow.validation.purposeRequired":"Please describe the workflow purpose","chatConfig.workflow.middleware.topologyName":"Topology","chatConfig.workflow.middleware.topologyDescription":"Workflow topology","chatConfig.skill.create.title":"Create New Skill","chatConfig.skill.edit.title":"Edit Skill","chatConfig.skill.created":"Skill created successfully","chatConfig.skill.updated":"Skill updated successfully","chatConfig.skill.createFailed":"Failed to create skill","chatConfig.skill.updateFailed":"Failed to update skill","chatConfig.skill.createError":"An error occurred while creating the skill","chatConfig.skill.updateError":"An error occurred while updating the skill","chatConfig.skill.field.name":"Name","chatConfig.skill.field.description":"Description","chatConfig.skill.field.license":"License","chatConfig.skill.field.compatibility":"Compatibility","chatConfig.skill.field.metadata":"Metadata","chatConfig.skill.field.content":"Content","chatConfig.skill.placeholder.description":"Description","chatConfig.skill.placeholder.license":"License","chatConfig.skill.placeholder.compatibility":"Compatibility","chatConfig.skill.placeholder.content":"Content","chatConfig.skill.validation.nameRequired":"Please enter skill name","chatConfig.skill.validation.namePattern":"Name must be lowercase alphanumeric with single hyphens (e.g., 'my-skill')","chatConfig.skill.validation.nameLength":"Name must be 1-64 characters","chatConfig.skill.validation.descriptionRequired":"Please enter skill description","chatConfig.skill.metadata.add":"Add","chatConfig.skill.metadata.empty":"No metadata yet. Use Add to create one.","chatConfig.skill.metadata.row":"Meta {{index}}","chatConfig.skill.action.save":"Save Changes","chatConfig.skill.action.create":"Create Skill","chatConfig.skillPicker.title":"Skills","chatConfig.skillPicker.selectTitle":"Select Skills","chatConfig.skillPicker.empty":"No skills available","chatConfig.databasePicker.title":"Database","chatConfig.databasePicker.selectTitle":"Select Database","chatConfig.databasePicker.empty":"No databases available","chatConfig.channelInstall.title":"Channel Installations","chatConfig.channelInstall.add":"Add Installation","chatConfig.channelInstall.editTitle":"Edit Installation","chatConfig.channelInstall.addTitle":"Add Installation","chatConfig.channelInstall.empty.title":"No channel installations","chatConfig.channelInstall.empty.description":'Click "Add Installation" to create one',"chatConfig.channelInstall.unsupported":"Unsupported channel configuration UI","chatConfig.channelInstall.loadFailed":"Failed to load channel installations","chatConfig.channelInstall.deleted":"Installation deleted","chatConfig.channelInstall.deleteFailed":"Failed to delete installation","chatConfig.channelInstall.updated":"Installation updated","chatConfig.channelInstall.updateFailed":"Failed to update installation","chatConfig.channelInstall.created":"Installation created","chatConfig.channelInstall.createFailed":"Failed to create installation","chatConfig.channelInstall.delete.title":"Delete Channel Installation","chatConfig.channelInstall.delete.description":'Are you sure you want to delete "{{name}}"?',"chatConfig.channelInstall.field.channel":"Channel","chatConfig.channelInstall.field.name":"Name","chatConfig.channelInstall.field.appId":"App ID","chatConfig.channelInstall.field.appSecret":"App Secret","chatConfig.channelInstall.field.verificationToken":"Verification Token","chatConfig.channelInstall.field.encryptKey":"Encrypt Key","chatConfig.channelInstall.validation.appIdRequired":"App ID is required","chatConfig.channelInstall.validation.appSecretRequired":"App Secret is required","chatConfig.connection.loadFailed":"Failed to load connections","chatConfig.connection.testPassed":"Connection test passed: {{message}}","chatConfig.connection.testFailed":"Connection test failed","chatConfig.connection.testError":"Failed to test connection","chatConfig.connection.missingKey":"Cannot delete: connection key is missing","chatConfig.connection.deleted":"Connection deleted","chatConfig.connection.deleteFailed":"Failed to delete connection","chatConfig.connection.noSchema.title":"No connection schema defined","chatConfig.connection.noSchema.description":"This plugin type does not support connection management","chatConfig.connection.action.test":"Test","chatConfig.connection.status.online":"Online","chatConfig.connection.status.offline":"Offline","chatConfig.connection.updated":"Updated {{date}}","chatConfig.connection.add":"Add Connection","chatConfig.connection.empty.title":"No connections configured","chatConfig.connection.empty.description":'Click "Add Connection" to create one',"chatConfig.connection.delete.title":"Delete Connection","chatConfig.connection.delete.confirm":'Delete "{{name}}"?',"chatConfig.connectionForm.testRequestFailed":"Test request failed","chatConfig.connectionForm.keyRequired":"Connection key is required","chatConfig.connectionForm.updated":"Connection updated","chatConfig.connectionForm.created":"Connection created","chatConfig.connectionForm.saveFailed":"Failed to save connection","chatConfig.connectionForm.selectPlaceholder":"Select {{title}}","chatConfig.connectionForm.enterPlaceholder":"Enter {{title}}","chatConfig.connectionForm.step.details":"Connection Details","chatConfig.connectionForm.step.verify":"Verify","chatConfig.connectionForm.editTitle":"Edit {{type}} Connection","chatConfig.connectionForm.addTitle":"Add {{type}} Connection","chatConfig.connectionForm.save":"Save Changes","chatConfig.connectionForm.finish":"Finish","chatConfig.connectionForm.testing":"Testing connection...","chatConfig.connectionForm.availableResources":"Available Resources","chatConfig.connectionForm.selectedCount":" ({{count}} selected)","chatConfig.connectionForm.retryTest":"Retry Test","chatConfig.database.title":"Database Connections","chatConfig.database.loadFailed":"Failed to load database configurations","chatConfig.database.testSuccess":"Successfully connected to {{host}} ({{latency}}ms)","chatConfig.database.connectionFailed":"Connection failed: {{error}}","chatConfig.database.empty.title":"No database configurations","chatConfig.database.keyAndId":"Key: {{key}} | ID: {{id}}","chatConfig.database.connectionStringMode":"Connection String Mode","chatConfig.database.testing":"Testing...","chatConfig.database.editTitle":"Edit Database Configuration","chatConfig.database.addTitle":"Add Database Configuration","chatConfig.database.field.type":"Database Type","chatConfig.database.field.connectionString":"Connection String","chatConfig.database.priorityMode":"Priority Mode","chatConfig.database.note.important":"Important:","chatConfig.database.note.whenProvided":"When connection string is provided, it takes","chatConfig.database.note.priorityOver":"priority over","chatConfig.database.note.suffix":"all individual connection parameters below. The backend implements the same priority logic.","chatConfig.database.field.individualParams":"Individual Connection Parameters","chatConfig.database.ignoredWhenString":"Ignored when connection string is set","chatConfig.database.field.name":"Database Name","chatConfig.database.delete.title":"Delete Database Configuration","chatConfig.database.delete.description":'Are you sure you want to delete "{{name}}"?',"chatConfig.metrics.title":"Metrics Server Connections","chatConfig.metrics.loadFailed":"Failed to load metrics configurations","chatConfig.metrics.testSuccess":"Successfully connected to {{serverUrl}} ({{latency}}ms)","chatConfig.metrics.empty.title":"No metrics configurations","chatConfig.metrics.delete.title":"Delete Metrics Configuration","chatConfig.metrics.step.basic":"Basic Info","chatConfig.metrics.step.dataSources":"Select Data Sources","chatConfig.metrics.serverUrlRequired":"Please enter the server URL","chatConfig.metrics.fetchDataSourcesFailed":"Failed to fetch data sources","chatConfig.metrics.editTitle":"Edit Metrics Configuration","chatConfig.metrics.addTitle":"Add Metrics Configuration","chatConfig.metrics.field.serverType":"Server Type","chatConfig.metrics.field.authentication":"Authentication","chatConfig.metrics.optional":"Optional","chatConfig.metrics.placeholder.apiKey":"Optional API key for authentication","chatConfig.metrics.placeholder.username":"Optional username for basic auth","chatConfig.metrics.placeholder.password":"Optional password for basic auth","chatConfig.metrics.fetchingDataSources":"Fetching data sources...","chatConfig.metrics.field.dataSources":"Data Sources","chatConfig.metrics.selectedCount":"Selected: {{count}}","chatConfig.metrics.connected":"Connected","chatConfig.metrics.metricsAvailable":"{{count}} metrics available","chatConfig.metrics.loadingMetrics":"Loading metrics...","chatConfig.metrics.loadMetricsFailed":"Failed to load metrics","chatConfig.metrics.selectDataSourceHint":"Click a data source on the left to view its metrics","chatConfig.metrics.previous":"Previous","chatConfig.metrics.save":"Save Changes","chatConfig.metrics.type.semantic":"Semantic","chatConfig.metricsDataSource.select":"Select Data Source","chatConfig.metricsDataSource.noneAvailable":"No data sources available","chatConfig.metricsDataSource.title":"Select Metrics Data Source","chatConfig.metricsDataSource.empty":"No Metrics Data Sources Available","chatConfig.metricsDataSource.disconnected":"Disconnected","chatConfig.metricsDataSource.selected":"Selected","chatConfig.mcp.title":"MCP Server Connections","chatConfig.mcp.loadFailed":"Failed to load MCP server configurations","chatConfig.mcp.testSuccess":"Successfully connected ({{latency}}ms)","chatConfig.mcp.disconnected":"{{name}} disconnected","chatConfig.mcp.connected":"{{name}} connected","chatConfig.mcp.connectFailed":"Failed to connect","chatConfig.mcp.toggleFailed":"Failed to toggle connection","chatConfig.mcp.action.test":"Test Connection","chatConfig.mcp.toolsCount":"{{count}} tools","chatConfig.mcp.empty.title":"No MCP server configurations","chatConfig.mcp.delete.title":"Delete MCP Server Configuration","chatConfig.mcp.step.connection":"Connection","chatConfig.mcp.step.tools":"Select Tools","chatConfig.mcp.commandRequired":"Please enter the command for stdio transport","chatConfig.mcp.urlRequired":"Please enter the URL for HTTP/SSE transport","chatConfig.mcp.fetchToolsFailed":"Failed to fetch tools","chatConfig.mcp.fetchToolsError":"Failed to fetch tools from MCP server","chatConfig.mcp.editTitle":"Edit MCP Server Configuration","chatConfig.mcp.addTitle":"Add MCP Server Configuration","chatConfig.mcp.field.transport":"Transport Type","chatConfig.mcp.transport.stdio":"STDIO (Command)","chatConfig.mcp.transport.http":"HTTP","chatConfig.mcp.transport.sse":"SSE (Server-Sent Events)","chatConfig.mcp.field.command":"Command","chatConfig.mcp.field.args":"Arguments (one per line)","chatConfig.mcp.field.env":"Environment Variables","chatConfig.mcp.envHint":"Passed to the server process (e.g. API tokens). Values are stored encrypted.","chatConfig.mcp.addVariable":"Add Variable","chatConfig.mcp.sseDeprecated":"SSE is deprecated by the MCP specification \u2014 prefer Streamable HTTP (HTTP) for new servers.","chatConfig.mcp.field.headers":"Headers","chatConfig.mcp.headersHint":"Sent with every request (e.g. Authorization for authentication). Values are stored encrypted.","chatConfig.mcp.addHeader":"Add Header","chatConfig.mcp.advanced":"Advanced Options","chatConfig.mcp.field.timeout":"Timeout (ms)","chatConfig.mcp.field.retryAttempts":"Retry Attempts","chatConfig.mcp.connecting":"Connecting to MCP server and fetching tools...","chatConfig.mcp.noTools":"No tools available. Please check your connection settings.","chatConfig.mcp.availableTools":"Available Tools","chatConfig.mcp.selectedTools":"Selected: {{selected}} / {{total}}","chatConfig.mcp.parameters":"Parameters: {{list}}","chatConfig.mcp.previous":"Previous","chatConfig.mcp.save":"Save Changes","chatConfig.midForm.selectAll":"Select All","chatConfig.midForm.clear":"Clear","chatConfig.midForm.selectedOfTotal":"{{selected}} / {{total}} selected","chatConfig.midForm.tools":"Tools","chatConfig.midForm.skills.title":"Skill Library","chatConfig.midForm.skills.search":"Search skills\u2026","chatConfig.midForm.skills.empty":"No skills available","chatConfig.midForm.databases.title":"Databases","chatConfig.midForm.databases.search":"Search databases\u2026","chatConfig.midForm.databases.empty":"No databases available","chatConfig.midForm.metrics.title":"Metrics Servers","chatConfig.midForm.metrics.search":"Search servers\u2026","chatConfig.midForm.metrics.empty":"No servers available","chatConfig.midForm.collections.title":"Collections","chatConfig.midForm.collections.search":"Search collections\u2026","chatConfig.midForm.collections.empty":"No collections available","chatConfig.midForm.topology.title":"Dependencies","chatConfig.midForm.topology.edges":"{{count}} edges","chatConfig.midForm.topology.empty":"No dependencies defined yet","chatConfig.midForm.topology.addTitle":"Add Dependency","chatConfig.midForm.topology.fromPlaceholder":"Source Agent ID","chatConfig.midForm.topology.toPlaceholder":"Target Agent ID","chatConfig.midForm.topology.purposePlaceholder":"Purpose (e.g. classify invoice fields)","chatConfig.midForm.topology.addEdge":"Add Edge","chatConfig.midForm.connections.title":"Connections","chatConfig.midForm.section.config":"Config","chatConfig.midForm.section.resources":"Resources Permission","chatConfig.midForm.section.tools":"Tools Permission","chatConfig.midForm.enabled":"Enabled","chatConfig.midForm.disabled":"Disabled","chatConfig.midForm.scope.global":"Global","chatConfig.midForm.scope.agent":"Agent","chatConfig.midForm.scope.project":"Project","chatConfig.agentModal.title":"Configure Agent","chatConfig.agentModal.tab.basic":"Basic","chatConfig.agentModal.tab.tools":"Tools","chatConfig.agentModal.tab.skills":"Skills","chatConfig.agentModal.tab.subAgents":"Sub-Agents","chatConfig.agentModal.field.agentType":"Agent Type","chatConfig.agentModal.field.systemPrompt":"System Prompt","chatConfig.agentModal.systemPromptPlaceholder":"Enter the system prompt for this agent...","chatConfig.agentModal.systemPromptHint":"Define the agent's behavior, capabilities, and constraints","chatConfig.agentModal.selectedOfTotal":"{{selected}} of {{total}} selected","chatConfig.agentModal.selectAll":"Select All","chatConfig.agentModal.deselectAll":"Deselect All","chatConfig.agentModal.noTools":"No tools available","chatConfig.agentModal.noSkills":"No skills available","chatConfig.agentModal.noOtherAgents":"No other agents available","chatConfig.agentModal.approve":"Approve","chatConfig.agentModal.noDescription":"No description","chatConfig.agentModal.hierarchy":"Agent Hierarchy","chatConfig.agentModal.currentAgent":"Current Agent","chatConfig.agentModal.currentTag":"Current","chatConfig.agentModal.type.react":"React","chatConfig.agentModal.type.deepAgent":"Deep Agent","chatConfig.agentModal.type.workflow":"Workflow","chatConfig.agentModal.toolsCount":"{{count}} tools","chatConfig.agentModal.skillsCount":"{{count}} skills","chatConfig.agentModal.subAgentsCount":"{{count}} sub-agents","chatConfig.agentModal.structureTree":"Structure Tree","chatConfig.agentModal.tip":"Tip","chatConfig.agentModal.tipBody":"Deep Agent type allows you to delegate tasks to sub-agents. Select agents from the Sub-Agents tab to build your hierarchy.","chatConfig.agentModal.changesHint":"Changes will update the agent configuration","chatConfig.agentModal.saveConfiguration":"Save Configuration","chatConfig.agentPanel.category.data":"Data & Knowledge","chatConfig.agentPanel.category.execution":"Execution & Interaction","chatConfig.agentPanel.category.workflow":"Workflow & Orchestration","chatConfig.agentPanel.category.assistant":"Assistant & Evaluation","chatConfig.agentPanel.category.other":"Other","chatConfig.agentPanel.nav.basic":"Basic Info","chatConfig.agentPanel.nav.prompt":"System Prompt","chatConfig.agentPanel.nav.tools":"Common Tools","chatConfig.agentPanel.nav.capabilities":"Capabilities","chatConfig.agentPanel.nav.subAgents":"Sub-Agents","chatConfig.agentPanel.navAriaLabel":"Agent configuration sections","chatConfig.agentPanel.basic.title":"Basic Info","chatConfig.agentPanel.basic.desc":"Core identity and behavior of this agent","chatConfig.agentPanel.field.name":"Name","chatConfig.agentPanel.field.agentType":"Agent Type","chatConfig.agentPanel.field.description":"Description","chatConfig.agentPanel.validation.nameRequired":"Please enter agent name","chatConfig.agentPanel.validation.descriptionRequired":"Please enter agent description","chatConfig.agentPanel.placeholder.name":"Enter agent name\u2026","chatConfig.agentPanel.placeholder.description":"Enter agent description\u2026","chatConfig.agentPanel.typeDesc.react":"Executor: Executes tasks directly using tools. Best for single-step operations like search, code execution, and data retrieval.","chatConfig.agentPanel.typeDesc.deepAgent":"Orchestrator: Maintains a todo list to plan and delegate tasks to sub-agents. Best for structured multi-step workflows.","chatConfig.agentPanel.typeDesc.team":"Team: Creates tasks with dependencies and dynamically spawns teammates who communicate via mailbox. Best for exploration and divergent thinking.","chatConfig.agentPanel.typeDesc.processing":"Workflow: Delegates to sub-agents in a predefined topology order. Best for deterministic multi-step processes.","chatConfig.agentPanel.prompt.title":"System Prompt","chatConfig.agentPanel.prompt.desc":"Define the agent's behavior, capabilities, and constraints","chatConfig.agentPanel.prompt.expand":"Expand","chatConfig.agentPanel.prompt.placeholder":"Enter the system prompt for this agent\u2026","chatConfig.agentPanel.prompt.chars":"{{count}} chars","chatConfig.agentPanel.tools.title":"Common Tools","chatConfig.agentPanel.tools.desc":"Choose the tools this agent can call directly","chatConfig.agentPanel.tools.search":"Search tools\u2026","chatConfig.agentPanel.tools.selected":"Selected {{selected}} / {{total}}","chatConfig.agentPanel.subAgents.title":"Sub-Agents","chatConfig.agentPanel.subAgents.desc":"Choose sub-agents this agent can delegate to","chatConfig.agentPanel.subAgents.search":"Search sub-agents\u2026","chatConfig.agentPanel.subAgents.selected":"Selected {{selected}} / {{total}}","chatConfig.agentPanel.noTools":"No tools available","chatConfig.agentPanel.noCapabilities":"No capabilities available","chatConfig.agentPanel.noOtherAgents":"No other agents available","chatConfig.agentPanel.noMatching":"No matching results","chatConfig.agentPanel.selectAll":"Select All","chatConfig.agentPanel.clear":"Clear","chatConfig.agentPanel.approve":"Approve","chatConfig.agentPanel.noDescription":"No description","chatConfig.agentPanel.configWorkbench":"Config Workbench","chatConfig.agentPanel.deleteAgent":"Delete Agent","chatConfig.agentPanel.loadingConfig":"Loading agent configuration...","chatConfig.agentPanel.footer.saveHint":"Changes will be saved to this agent","chatConfig.agentPanel.footer.viewing":"Viewing agent configuration","chatConfig.agentPanel.done":"Done","chatConfig.agentPanel.delete.title":"Delete Agent","chatConfig.agentPanel.delete.confirmPrefix":"Are you sure you want to delete","chatConfig.agentPanel.delete.confirmSuffix":"? This action cannot be undone.","chatConfig.agentPanel.deleteFailed":"Failed to delete assistant","chatConfig.createAssistant.title":"Create New Assistant","chatConfig.createAssistant.createExtend":"Create (Extend)","chatConfig.createAssistant.startLearning":"Start Learning","chatConfig.createAssistant.parentAgent":"Parent Agent","chatConfig.createAssistant.inheritHint":"Fields left unchanged will be inherited from the parent agent.","chatConfig.createAssistant.learnHint":"Describe what the agent should do.","chatConfig.createAssistant.referenceFiles":"Reference Files","chatConfig.createAssistant.referenceFilesHint":"Optional \u2014 uploaded to the shared training workspace and attached to the learning round; the architect reads them as round material.","chatConfig.createAssistant.field.key":"Key (ID)","chatConfig.createAssistant.field.name":"Name","chatConfig.createAssistant.field.description":"Description","chatConfig.createAssistant.field.agentType":"Agent Type","chatConfig.createAssistant.field.connectionMode":"Connection Mode","chatConfig.createAssistant.mode.remoteUrl":"Remote URL","chatConfig.createAssistant.mode.localManaged":"Local Managed","chatConfig.createAssistant.field.template":"Template","chatConfig.createAssistant.templatePlaceholder":"Choose a template...","chatConfig.createAssistant.noTemplates":'No templates. Use "Custom Command" below.',"chatConfig.createAssistant.customCommand":"+ Custom Command","chatConfig.createAssistant.hideCustomCommand":"- Hide Custom Command","chatConfig.createAssistant.field.executable":"Executable","chatConfig.createAssistant.field.arguments":"Arguments","chatConfig.createAssistant.field.workingDirectory":"Working directory","chatConfig.createAssistant.field.agentCardUrl":"Agent Card URL","chatConfig.createAssistant.field.apiKeyOptional":"API Key (optional)","chatConfig.createAssistant.apiKeyPlaceholder":"API key for authentication","chatConfig.createAssistant.field.timeout":"Timeout (ms)","chatConfig.createAssistant.field.systemPrompt":"System Prompt","chatConfig.createAssistant.field.systemPromptInherit":"System Prompt (leave unchanged to inherit from parent)","chatConfig.createAssistant.systemPromptInheritPlaceholder":"Leave empty to inherit parent's prompt, or enter a new prompt to override...","chatConfig.createAssistant.systemPromptPlaceholder":"Enter the system prompt for this agent...","chatConfig.createAssistant.subAgents":"Sub-Agents","chatConfig.createAssistant.descriptionPlaceholder":"Enter a description for this assistant...","chatConfig.createAssistant.typeDesc.react":"Executor: Directly executes tasks using tools. Best for single-step operations like search, code execution, and data retrieval.","chatConfig.createAssistant.typeDesc.deepAgent":"Orchestrator: Manages a sequential todo list to plan and assign todo items to sub-agents. Best for structured multi-step workflows.","chatConfig.createAssistant.typeDesc.team":"Team: Creates tasks with dependencies and dynamically spawns teammates. Like a swarm, teammates communicate via mailbox. Best for tasks requiring exploration and divergent thinking.","chatConfig.createAssistant.typeDesc.processing":"Workflow: Enforces a fixed workflow topology by delegating to sub-agents in a predefined order. Best for deterministic multi-step processes with validated delegation paths.","chatConfig.createAssistant.typeDesc.a2aRemote":"A2A Remote: Delegates to an external A2A-compatible agent server. Use for local CLI tools (Claude Code, Codex, OpenCode) or remote agents.","chatConfig.createAssistant.validation.keyRequired":"Please enter a unique key","chatConfig.createAssistant.validation.keyPattern":"Key must start with a letter and contain only letters, numbers, underscores, or hyphens","chatConfig.createAssistant.validation.nameRequired":"Please enter a name","chatConfig.createAssistant.validation.descriptionRequired":"Please enter a description","chatConfig.createAssistant.validation.systemPromptRequired":"Please enter a system prompt","chatConfig.createAssistant.validation.urlRequired":"Please enter the A2A server URL","chatConfig.createAssistant.validation.executableRequired":"Executable is required","chatConfig.createAssistant.a2aUrlWarning":"Please enter an A2A server URL first","chatConfig.createAssistant.connectedTo":'Connected to "{{name}}"',"chatConfig.createAssistant.connectionFailed":"Connection failed","chatConfig.createAssistant.connectionTestFailed":"Connection test failed","chatConfig.createAssistant.trainingGoalRequired":"Please describe the training goal","chatConfig.createAssistant.noTrainingProject":"No shared training project available","chatConfig.createAssistant.agentCreated":"Agent created \u2014 architect started building","chatConfig.createAssistant.createdByExtending":'Assistant created by extending "{{name}}"',"chatConfig.createAssistant.created":"Assistant created successfully","chatConfig.createAssistant.createFailed":"Failed to create assistant","chatConfig.createAssistant.createError":"An error occurred while creating the assistant","chatConfig.createAssistant.requiredFields":"Please complete the required fields: {{fields}}","chatConfig.createAssistant.requiredFieldsGeneric":"Please complete the required fields","chatConfig.createAssistant.noParentAgent":"No parent agent selected","chatConfig.createAssistant.agentCreateFailed":"Failed to create agent","chatConfig.createAssistant.cloneFetchFailed":'Failed to fetch sub-agent "{{key}}" for cloning',"chatConfig.createAssistant.cloneFailed":'Failed to clone sub-agent "{{key}}"',"chatConfig.createAssistant.cloneKeyRequired":'Please provide a key for the cloned sub-agent "{{key}}"',"chatConfig.createAssistant.cloneKeyInvalid":'Invalid key "{{key}}" for cloned sub-agent "{{originalKey}}". Key must start with a letter and contain only letters, numbers, underscores, or hyphens.',"chatConfig.parentAgent.selectPlaceholder":"Select a parent agent to extend...","chatConfig.settings.defaultConnectionName":"Default","chatConfig.settings.serverNamePlaceholder":"e.g., Production Server","chatConfig.settings.title":"Settings","chatConfig.settings.menu.environment":"Environment Variables","chatConfig.settings.menu.models":"Model Configuration","chatConfig.settings.menu.environment.desc":"Manage environment variables for the gateway server","chatConfig.settings.menu.models.desc":"Configure the gateway-wide default model registry","chatConfig.settings.saveConfiguration":"Save Configuration","chatConfig.settings.addServer":"Add Server","chatConfig.settings.addNewServer":"Add New Server","chatConfig.settings.serverName":"Server Name","chatConfig.settings.serverNameHint":"Optional: Leave empty to use URL as name","chatConfig.settings.serverUrl":"Server URL *","chatConfig.settings.serverUrlHint":"Enter the full URL of the gateway server","chatConfig.settings.apiKey":"API Key","chatConfig.settings.apiKeyPlaceholder":"Optional: Enter API key for authentication","chatConfig.settings.apiKeyHint":"Optional: API key for server authentication","chatConfig.settings.pleaseEnterServerUrl":"Please enter a server URL","chatConfig.settings.serverAdded":"Server added successfully","chatConfig.settings.serverDeleted":"Server deleted","chatConfig.settings.connectFirst":"Please connect to a server first","chatConfig.settings.loadConfigFailed":"Failed to load current configuration","chatConfig.settings.saveFailed":"Failed to save configuration","chatConfig.settings.restartWarning":"Configuration saved. Please restart the server for {{services}} to take effect.","chatConfig.settings.savedApplied":"Configuration saved and applied successfully","chatConfig.settings.modelSaved":"Model configuration saved and registered successfully","chatConfig.settings.modelSaveFailed":"Failed to save model configuration","chatConfig.settings.alert.title":"Configuration Effect","chatConfig.settings.alert.immediate":"Immediately effective:","chatConfig.settings.alert.restart":"Requires restart:","chatConfig.settings.alert.restartDetail":"PORT (server must be restarted to change port)","chatConfig.settings.envHint":"Configure environment variables in .env format (key=value). One variable per line. Leave password fields empty to keep current values.","chatConfig.settings.modelsHint":"Configure model lattices. Each model will be registered with the provided key and can be used by agents.","chatConfig.settings.model":"Model {{index}}","chatConfig.settings.remove":"Remove","chatConfig.settings.field.key":"Key *","chatConfig.settings.field.keyHint":"Unique identifier for this model","chatConfig.settings.field.provider":"Provider *","chatConfig.settings.field.modelName":"Model Name *","chatConfig.settings.field.apiKeyHintStored":"A key is stored on the server and is never sent back. Leave blank to keep it, or type a new one to replace it.","chatConfig.settings.field.apiKeyHintNew":"API key for the model provider. Leave empty to use environment variable.","chatConfig.settings.apiKeyPlaceholderConfigured":"Configured \u2014 leave blank to keep","chatConfig.settings.apiKeyPlaceholderNew":"Enter your API key","chatConfig.settings.field.baseUrl":"Base URL","chatConfig.settings.field.baseUrlHint":"Optional custom base URL for the API","chatConfig.settings.field.streaming":"Enable Streaming","chatConfig.settings.field.maxTokens":"Max Tokens","chatConfig.settings.field.temperature":"Temperature","chatConfig.settings.addModel":"+ Add Model","chatConfig.settings.connecting":"Connecting...","chatConfig.settings.connectingTo":"Connecting to {{url}}","chatConfig.settings.notConnected":"Not Connected","chatConfig.settings.connectFailedDetail":"Failed to connect to {{url}}. Please check the server URL and try again.","chatConfig.settings.clickReconnect":'Click "Reconnect" to connect to {{url}}',"chatConfig.settings.reconnect":"Reconnect","chatConfig.settings.error.serverError":"Server returned an error","chatConfig.settings.error.timeout":"Connection timeout","chatConfig.settings.error.connectFailed":"Failed to connect to server","chatConfig.paChannel.title":"Connect Channels","chatConfig.paChannel.channels":"Channels","chatConfig.paChannel.noChannels":"No channels yet","chatConfig.paChannel.connect":"Connect","chatConfig.paChannel.selectHint":"Select a channel from the left or add a new one","chatConfig.paChannel.chooseType":"Choose Channel Type","chatConfig.paChannel.editChannel":"Edit Channel","chatConfig.paChannel.newChannel":"New {{channel}}","chatConfig.paChannel.channel.lark":"Feishu / Lark","chatConfig.paChannel.channel.wechat":"WeChat / \u5FAE\u4FE1","chatConfig.paChannel.wechatBot":"WeChat Bot","chatConfig.paChannel.feishuBot":"Feishu Bot","chatConfig.paChannel.field.channelType":"Channel Type","chatConfig.paChannel.field.displayName":"Display Name","chatConfig.paChannel.field.appId":"App ID","chatConfig.paChannel.field.appSecret":"App Secret","chatConfig.paChannel.field.verificationToken":"Verification Token","chatConfig.paChannel.field.encryptKey":"Encrypt Key","chatConfig.paChannel.field.botToken":"Bot Token","chatConfig.paChannel.field.uin":"UIN","chatConfig.paChannel.enabled":"Enabled","chatConfig.paChannel.listenerActive":"Listener service is active","chatConfig.paChannel.listenerStopped":"Listener service is stopped","chatConfig.paChannel.anyoneCanMessage":"Anyone can message","chatConfig.paChannel.anyoneCanMessageHint":"When enabled, anyone with access to this channel can chat with your assistant","chatConfig.paChannel.whoCanChat":"Who can chat","chatConfig.paChannel.whoCanChatHint":"Only people you add here can message your assistant","chatConfig.paChannel.noContacts":"No contacts added yet","chatConfig.paChannel.addContact":"Add Contact","chatConfig.paChannel.add":"Add","chatConfig.paChannel.required":"Required","chatConfig.paChannel.placeholder.wechatOpenId":"WeChat Open ID","chatConfig.paChannel.placeholder.feishuOpenId":"Feishu Open ID","chatConfig.paChannel.placeholder.displayName":"Display name (optional)","chatConfig.paChannel.placeholder.appSecret":"Your app secret","chatConfig.paChannel.placeholder.optional":"Optional","chatConfig.paChannel.placeholder.botToken":"Auto-filled after QR scan","chatConfig.paChannel.placeholder.uin":"Auto-filled from QR login","chatConfig.paChannel.addBindingHint":"Once saved, come back here to add the people you'd like to chat with.","chatConfig.paChannel.removeChannel":"Remove this channel?","chatConfig.paChannel.removeChannelDesc":"All bindings for this installation will also be lost.","chatConfig.paChannel.save":"Save","chatConfig.paChannel.bindingAdded":"Binding added","chatConfig.paChannel.bindingAddFailed":"Failed to add binding","chatConfig.paChannel.bindingRemoved":"Binding removed","chatConfig.paChannel.bindingRemoveFailed":"Failed to remove binding","chatConfig.paChannel.bindingsLoadFailed":"Failed to load bindings","chatConfig.paChannel.installationsLoadFailed":"Failed to load channel installations","chatConfig.paChannel.channelEnabled":"Channel enabled","chatConfig.paChannel.channelDisabled":"Channel disabled","chatConfig.paChannel.toggleFailed":"Failed to toggle channel","chatConfig.paChannel.installationUpdated":"Installation updated","chatConfig.paChannel.installationUpdateFailed":"Failed to update installation","chatConfig.paChannel.installationCreated":"Installation created","chatConfig.paChannel.installationCreateFailed":"Failed to create installation","chatConfig.paChannel.installationSaveFailed":"Failed to save installation","chatConfig.paChannel.installationDeleted":"Installation deleted","chatConfig.paChannel.installationDeleteFailed":"Failed to delete installation","chatConfig.paChannel.addUsersHint":"Now add users who can access this channel","chatConfig.paChannel.validation.appIdRequired":"App ID is required","chatConfig.paChannel.validation.appSecretRequired":"App Secret is required","chatConfig.paChannel.validation.botTokenRequired":"Bot Token is required","chatConfig.paChannel.qr.hint":"Scan the QR code with WeChat to get a bot token","chatConfig.paChannel.qr.get":"Get QR Code","chatConfig.paChannel.qr.generating":"Generating QR code...","chatConfig.paChannel.qr.scan":"Scan with WeChat","chatConfig.paChannel.qr.scanned":"Scanned! Confirm on your phone...","chatConfig.paChannel.qr.expiresIn":"Expires in {{time}}","chatConfig.paChannel.qr.expired":"QR code expired","chatConfig.paChannel.qr.refreshStatus":"Refresh Status","chatConfig.paChannel.qr.loginConfirmed":"Login confirmed!","chatConfig.paChannel.qr.tokenFilled":"Bot token has been filled automatically","chatConfig.paChannel.qr.expiredGetNew":"QR code expired. Get a new one.","chatConfig.paChannel.qr.retry":"Retry","chatConfig.paChannel.qr.loadFailed":"Failed to load QR code","chatConfig.paChannel.qr.getFailed":"Failed to get QR code","chatConfig.paChannel.qr.statusFailed":"Failed to check QR status"},a={messages:n};export{a as default,n as messages};
|
|
1
|
+
import"./embed-page-chunk-QBTAJ2YI.js";var n={"chatConfig.field.name":"Name","chatConfig.field.description":"Description","chatConfig.field.displayName":"Display Name","chatConfig.field.connectionKey":"Connection Key","chatConfig.field.host":"Host","chatConfig.field.port":"Port","chatConfig.field.username":"Username","chatConfig.field.password":"Password","chatConfig.field.serverUrl":"Server URL","chatConfig.field.apiKey":"API Key","chatConfig.field.optionalDescription":"Optional description","chatConfig.config.updated":"Configuration updated","chatConfig.config.created":"Configuration created","chatConfig.config.deleted":"Configuration deleted","chatConfig.config.deleteFailed":"Failed to delete configuration","chatConfig.config.saveFailed":"Failed to save configuration","chatConfig.config.missingId":"Cannot delete: configuration id is missing","chatConfig.agentType.executor":"Executor","chatConfig.agentType.orchestrator":"Orchestrator","chatConfig.agentType.team":"Team","chatConfig.agentType.workflow":"Workflow","chatConfig.agentType.a2aRemote":"A2A Remote","chatConfig.keyValue.key":"Key","chatConfig.keyValue.value":"Value","chatConfig.keyValue.add":"Add","chatConfig.keyValue.removeEntry":"Remove entry","chatConfig.connectionList.empty":'No "{{type}}" connections',"chatConfig.connectionList.selectAll":"Select All","chatConfig.connectionList.deselectAll":"Deselect All","chatConfig.connectionList.clear":"Clear","chatConfig.connectionsHub.title":"Plugins","chatConfig.connectionsHub.tab.all":"All ({{count}})","chatConfig.connectionsHub.tab.connections":"Connections ({{count}})","chatConfig.connectionsHub.tab.tools":"Tools ({{count}})","chatConfig.connectionsHub.empty.connections.title":"No connection plugins","chatConfig.connectionsHub.empty.connections.description":"No plugins with connection management registered","chatConfig.connectionsHub.empty.tools.title":"No tool plugins","chatConfig.connectionsHub.empty.tools.description":"No tool-only plugins registered","chatConfig.connectionsHub.empty.all.title":"No plugins","chatConfig.connectionsHub.empty.all.description":"No plugins registered","chatConfig.connectionsHub.capability.test":"test","chatConfig.connectionsHub.capability.discover":"discover","chatConfig.connectionsHub.capability.connection":"connection","chatConfig.connectionsHub.capability.tool":"tool","chatConfig.subAgentInherit.hint":"Choose how to handle each sub-agent from the parent:","chatConfig.subAgentInherit.clone":"Clone as new","chatConfig.subAgentInherit.reuse":"Reuse","chatConfig.subAgentInherit.cloneKeyPlaceholder":"Enter key for the cloned agent","chatConfig.project.create.title":"New Project","chatConfig.project.field.name":"Project name","chatConfig.project.field.namePlaceholder":"Enter project name","chatConfig.project.validation.nameRequired":"Please enter a project name","chatConfig.project.validation.nameMax":"Project name must be less than 50 characters","chatConfig.project.field.visibility":"Visibility","chatConfig.project.kind.business":"Business","chatConfig.project.kind.business.description":"Only invited members can see it.","chatConfig.project.kind.public":"Public","chatConfig.project.kind.public.description":"Visible to everyone in this workspace.","chatConfig.project.field.description":"Description (optional)","chatConfig.project.field.descriptionPlaceholder":"Enter project description","chatConfig.workflow.create.title":"New Workflow","chatConfig.workflow.create.titleProcessing":"New Processing Workflow","chatConfig.workflow.field.purpose":"Purpose","chatConfig.workflow.field.purposePlaceholder":"Describe what this workflow should do. Name and key will be generated automatically.","chatConfig.workflow.validation.purposeRequired":"Please describe the workflow purpose","chatConfig.workflow.middleware.topologyName":"Topology","chatConfig.workflow.middleware.topologyDescription":"Workflow topology","chatConfig.skill.create.title":"Create New Skill","chatConfig.skill.edit.title":"Edit Skill","chatConfig.skill.created":"Skill created successfully","chatConfig.skill.updated":"Skill updated successfully","chatConfig.skill.createFailed":"Failed to create skill","chatConfig.skill.updateFailed":"Failed to update skill","chatConfig.skill.createError":"An error occurred while creating the skill","chatConfig.skill.updateError":"An error occurred while updating the skill","chatConfig.skill.field.name":"Name","chatConfig.skill.field.description":"Description","chatConfig.skill.field.license":"License","chatConfig.skill.field.compatibility":"Compatibility","chatConfig.skill.field.metadata":"Metadata","chatConfig.skill.field.content":"Content","chatConfig.skill.placeholder.description":"Description","chatConfig.skill.placeholder.license":"License","chatConfig.skill.placeholder.compatibility":"Compatibility","chatConfig.skill.placeholder.content":"Content","chatConfig.skill.validation.nameRequired":"Please enter skill name","chatConfig.skill.validation.namePattern":"Name must be lowercase alphanumeric with single hyphens (e.g., 'my-skill')","chatConfig.skill.validation.nameLength":"Name must be 1-64 characters","chatConfig.skill.validation.descriptionRequired":"Please enter skill description","chatConfig.skill.metadata.add":"Add","chatConfig.skill.metadata.empty":"No metadata yet. Use Add to create one.","chatConfig.skill.metadata.row":"Meta {{index}}","chatConfig.skill.action.save":"Save Changes","chatConfig.skill.action.create":"Create Skill","chatConfig.skillPicker.title":"Skills","chatConfig.skillPicker.selectTitle":"Select Skills","chatConfig.skillPicker.empty":"No skills available","chatConfig.databasePicker.title":"Database","chatConfig.databasePicker.selectTitle":"Select Database","chatConfig.databasePicker.empty":"No databases available","chatConfig.channelInstall.title":"Channel Installations","chatConfig.channelInstall.add":"Add Installation","chatConfig.channelInstall.editTitle":"Edit Installation","chatConfig.channelInstall.addTitle":"Add Installation","chatConfig.channelInstall.empty.title":"No channel installations","chatConfig.channelInstall.empty.description":'Click "Add Installation" to create one',"chatConfig.channelInstall.unsupported":"Unsupported channel configuration UI","chatConfig.channelInstall.loadFailed":"Failed to load channel installations","chatConfig.channelInstall.deleted":"Installation deleted","chatConfig.channelInstall.deleteFailed":"Failed to delete installation","chatConfig.channelInstall.updated":"Installation updated","chatConfig.channelInstall.updateFailed":"Failed to update installation","chatConfig.channelInstall.created":"Installation created","chatConfig.channelInstall.createFailed":"Failed to create installation","chatConfig.channelInstall.delete.title":"Delete Channel Installation","chatConfig.channelInstall.delete.description":'Are you sure you want to delete "{{name}}"?',"chatConfig.channelInstall.field.channel":"Channel","chatConfig.channelInstall.field.name":"Name","chatConfig.channelInstall.field.appId":"App ID","chatConfig.channelInstall.field.appSecret":"App Secret","chatConfig.channelInstall.field.verificationToken":"Verification Token","chatConfig.channelInstall.field.encryptKey":"Encrypt Key","chatConfig.channelInstall.validation.appIdRequired":"App ID is required","chatConfig.channelInstall.validation.appSecretRequired":"App Secret is required","chatConfig.connection.loadFailed":"Failed to load connections","chatConfig.connection.testPassed":"Connection test passed: {{message}}","chatConfig.connection.testFailed":"Connection test failed","chatConfig.connection.testError":"Failed to test connection","chatConfig.connection.missingKey":"Cannot delete: connection key is missing","chatConfig.connection.deleted":"Connection deleted","chatConfig.connection.deleteFailed":"Failed to delete connection","chatConfig.connection.noSchema.title":"No connection schema defined","chatConfig.connection.noSchema.description":"This plugin type does not support connection management","chatConfig.connection.action.test":"Test","chatConfig.connection.status.online":"Online","chatConfig.connection.status.offline":"Offline","chatConfig.connection.updated":"Updated {{date}}","chatConfig.connection.add":"Add Connection","chatConfig.connection.empty.title":"No connections configured","chatConfig.connection.empty.description":'Click "Add Connection" to create one',"chatConfig.connection.delete.title":"Delete Connection","chatConfig.connection.delete.confirm":'Delete "{{name}}"?',"chatConfig.connectionForm.testRequestFailed":"Test request failed","chatConfig.connectionForm.keyRequired":"Connection key is required","chatConfig.connectionForm.updated":"Connection updated","chatConfig.connectionForm.created":"Connection created","chatConfig.connectionForm.saveFailed":"Failed to save connection","chatConfig.connectionForm.selectPlaceholder":"Select {{title}}","chatConfig.connectionForm.enterPlaceholder":"Enter {{title}}","chatConfig.connectionForm.step.details":"Connection Details","chatConfig.connectionForm.step.verify":"Verify","chatConfig.connectionForm.editTitle":"Edit {{type}} Connection","chatConfig.connectionForm.addTitle":"Add {{type}} Connection","chatConfig.connectionForm.save":"Save Changes","chatConfig.connectionForm.finish":"Finish","chatConfig.connectionForm.testing":"Testing connection...","chatConfig.connectionForm.availableResources":"Available Resources","chatConfig.connectionForm.selectedCount":" ({{count}} selected)","chatConfig.connectionForm.retryTest":"Retry Test","chatConfig.database.title":"Database Connections","chatConfig.database.loadFailed":"Failed to load database configurations","chatConfig.database.testSuccess":"Successfully connected to {{host}} ({{latency}}ms)","chatConfig.database.connectionFailed":"Connection failed: {{error}}","chatConfig.database.empty.title":"No database configurations","chatConfig.database.keyAndId":"Key: {{key}} | ID: {{id}}","chatConfig.database.connectionStringMode":"Connection String Mode","chatConfig.database.testing":"Testing...","chatConfig.database.editTitle":"Edit Database Configuration","chatConfig.database.addTitle":"Add Database Configuration","chatConfig.database.field.type":"Database Type","chatConfig.database.field.connectionString":"Connection String","chatConfig.database.priorityMode":"Priority Mode","chatConfig.database.note.important":"Important:","chatConfig.database.note.whenProvided":"When connection string is provided, it takes","chatConfig.database.note.priorityOver":"priority over","chatConfig.database.note.suffix":"all individual connection parameters below. The backend implements the same priority logic.","chatConfig.database.field.individualParams":"Individual Connection Parameters","chatConfig.database.ignoredWhenString":"Ignored when connection string is set","chatConfig.database.field.name":"Database Name","chatConfig.database.delete.title":"Delete Database Configuration","chatConfig.database.delete.description":'Are you sure you want to delete "{{name}}"?',"chatConfig.metrics.title":"Metrics Server Connections","chatConfig.metrics.loadFailed":"Failed to load metrics configurations","chatConfig.metrics.testSuccess":"Successfully connected to {{serverUrl}} ({{latency}}ms)","chatConfig.metrics.empty.title":"No metrics configurations","chatConfig.metrics.delete.title":"Delete Metrics Configuration","chatConfig.metrics.step.basic":"Basic Info","chatConfig.metrics.step.dataSources":"Select Data Sources","chatConfig.metrics.serverUrlRequired":"Please enter the server URL","chatConfig.metrics.fetchDataSourcesFailed":"Failed to fetch data sources","chatConfig.metrics.editTitle":"Edit Metrics Configuration","chatConfig.metrics.addTitle":"Add Metrics Configuration","chatConfig.metrics.field.serverType":"Server Type","chatConfig.metrics.field.authentication":"Authentication","chatConfig.metrics.optional":"Optional","chatConfig.metrics.placeholder.apiKey":"Optional API key for authentication","chatConfig.metrics.placeholder.username":"Optional username for basic auth","chatConfig.metrics.placeholder.password":"Optional password for basic auth","chatConfig.metrics.fetchingDataSources":"Fetching data sources...","chatConfig.metrics.field.dataSources":"Data Sources","chatConfig.metrics.selectedCount":"Selected: {{count}}","chatConfig.metrics.connected":"Connected","chatConfig.metrics.metricsAvailable":"{{count}} metrics available","chatConfig.metrics.loadingMetrics":"Loading metrics...","chatConfig.metrics.loadMetricsFailed":"Failed to load metrics","chatConfig.metrics.selectDataSourceHint":"Click a data source on the left to view its metrics","chatConfig.metrics.previous":"Previous","chatConfig.metrics.save":"Save Changes","chatConfig.metrics.type.semantic":"Semantic","chatConfig.metricsDataSource.select":"Select Data Source","chatConfig.metricsDataSource.noneAvailable":"No data sources available","chatConfig.metricsDataSource.title":"Select Metrics Data Source","chatConfig.metricsDataSource.empty":"No Metrics Data Sources Available","chatConfig.metricsDataSource.disconnected":"Disconnected","chatConfig.metricsDataSource.selected":"Selected","chatConfig.mcp.title":"MCP Server Connections","chatConfig.mcp.loadFailed":"Failed to load MCP server configurations","chatConfig.mcp.testSuccess":"Successfully connected ({{latency}}ms)","chatConfig.mcp.disconnected":"{{name}} disconnected","chatConfig.mcp.connected":"{{name}} connected","chatConfig.mcp.connectFailed":"Failed to connect","chatConfig.mcp.toggleFailed":"Failed to toggle connection","chatConfig.mcp.action.test":"Test Connection","chatConfig.mcp.toolsCount":"{{count}} tools","chatConfig.mcp.empty.title":"No MCP server configurations","chatConfig.mcp.delete.title":"Delete MCP Server Configuration","chatConfig.mcp.step.connection":"Connection","chatConfig.mcp.step.tools":"Select Tools","chatConfig.mcp.commandRequired":"Please enter the command for stdio transport","chatConfig.mcp.urlRequired":"Please enter the URL for HTTP/SSE transport","chatConfig.mcp.fetchToolsFailed":"Failed to fetch tools","chatConfig.mcp.fetchToolsError":"Failed to fetch tools from MCP server","chatConfig.mcp.editTitle":"Edit MCP Server Configuration","chatConfig.mcp.addTitle":"Add MCP Server Configuration","chatConfig.mcp.field.transport":"Transport Type","chatConfig.mcp.transport.stdio":"STDIO (Command)","chatConfig.mcp.transport.http":"HTTP","chatConfig.mcp.transport.sse":"SSE (Server-Sent Events)","chatConfig.mcp.field.command":"Command","chatConfig.mcp.field.args":"Arguments (one per line)","chatConfig.mcp.field.env":"Environment Variables","chatConfig.mcp.envHint":"Passed to the server process (e.g. API tokens). Values are stored encrypted.","chatConfig.mcp.addVariable":"Add Variable","chatConfig.mcp.sseDeprecated":"SSE is deprecated by the MCP specification \u2014 prefer Streamable HTTP (HTTP) for new servers.","chatConfig.mcp.field.headers":"Headers","chatConfig.mcp.headersHint":"Sent with every request (e.g. Authorization for authentication). Values are stored encrypted.","chatConfig.mcp.addHeader":"Add Header","chatConfig.mcp.advanced":"Advanced Options","chatConfig.mcp.field.timeout":"Timeout (ms)","chatConfig.mcp.field.retryAttempts":"Retry Attempts","chatConfig.mcp.connecting":"Connecting to MCP server and fetching tools...","chatConfig.mcp.noTools":"No tools available. Please check your connection settings.","chatConfig.mcp.availableTools":"Available Tools","chatConfig.mcp.selectedTools":"Selected: {{selected}} / {{total}}","chatConfig.mcp.parameters":"Parameters: {{list}}","chatConfig.mcp.previous":"Previous","chatConfig.mcp.save":"Save Changes","chatConfig.midForm.selectAll":"Select All","chatConfig.midForm.clear":"Clear","chatConfig.midForm.selectedOfTotal":"{{selected}} / {{total}} selected","chatConfig.midForm.tools":"Tools","chatConfig.midForm.skills.title":"Skill Library","chatConfig.midForm.skills.search":"Search skills\u2026","chatConfig.midForm.skills.empty":"No skills available","chatConfig.midForm.databases.title":"Databases","chatConfig.midForm.databases.search":"Search databases\u2026","chatConfig.midForm.databases.empty":"No databases available","chatConfig.midForm.metrics.title":"Metrics Servers","chatConfig.midForm.metrics.search":"Search servers\u2026","chatConfig.midForm.metrics.empty":"No servers available","chatConfig.midForm.collections.title":"Collections","chatConfig.midForm.collections.search":"Search collections\u2026","chatConfig.midForm.collections.empty":"No collections available","chatConfig.midForm.topology.title":"Dependencies","chatConfig.midForm.topology.edges":"{{count}} edges","chatConfig.midForm.topology.empty":"No dependencies defined yet","chatConfig.midForm.topology.addTitle":"Add Dependency","chatConfig.midForm.topology.fromPlaceholder":"Source Agent ID","chatConfig.midForm.topology.toPlaceholder":"Target Agent ID","chatConfig.midForm.topology.purposePlaceholder":"Purpose (e.g. classify invoice fields)","chatConfig.midForm.topology.addEdge":"Add Edge","chatConfig.midForm.connections.title":"Connections","chatConfig.midForm.section.config":"Config","chatConfig.midForm.section.resources":"Resources Permission","chatConfig.midForm.section.tools":"Tools Permission","chatConfig.midForm.enabled":"Enabled","chatConfig.midForm.disabled":"Disabled","chatConfig.midForm.scope.global":"Global","chatConfig.midForm.scope.agent":"Agent","chatConfig.midForm.scope.project":"Project","chatConfig.agentModal.title":"Configure Agent","chatConfig.agentModal.tab.basic":"Basic","chatConfig.agentModal.tab.tools":"Tools","chatConfig.agentModal.tab.skills":"Skills","chatConfig.agentModal.tab.subAgents":"Sub-Agents","chatConfig.agentModal.field.agentType":"Agent Type","chatConfig.agentModal.field.systemPrompt":"System Prompt","chatConfig.agentModal.systemPromptPlaceholder":"Enter the system prompt for this agent...","chatConfig.agentModal.systemPromptHint":"Define the agent's behavior, capabilities, and constraints","chatConfig.agentModal.selectedOfTotal":"{{selected}} of {{total}} selected","chatConfig.agentModal.selectAll":"Select All","chatConfig.agentModal.deselectAll":"Deselect All","chatConfig.agentModal.noTools":"No tools available","chatConfig.agentModal.noSkills":"No skills available","chatConfig.agentModal.noOtherAgents":"No other agents available","chatConfig.agentModal.approve":"Approve","chatConfig.agentModal.noDescription":"No description","chatConfig.agentModal.hierarchy":"Agent Hierarchy","chatConfig.agentModal.currentAgent":"Current Agent","chatConfig.agentModal.currentTag":"Current","chatConfig.agentModal.type.react":"React","chatConfig.agentModal.type.deepAgent":"Deep Agent","chatConfig.agentModal.type.workflow":"Workflow","chatConfig.agentModal.toolsCount":"{{count}} tools","chatConfig.agentModal.skillsCount":"{{count}} skills","chatConfig.agentModal.subAgentsCount":"{{count}} sub-agents","chatConfig.agentModal.structureTree":"Structure Tree","chatConfig.agentModal.tip":"Tip","chatConfig.agentModal.tipBody":"Deep Agent type allows you to delegate tasks to sub-agents. Select agents from the Sub-Agents tab to build your hierarchy.","chatConfig.agentModal.changesHint":"Changes will update the agent configuration","chatConfig.agentModal.saveConfiguration":"Save Configuration","chatConfig.agentPanel.category.data":"Data & Knowledge","chatConfig.agentPanel.category.execution":"Execution & Interaction","chatConfig.agentPanel.category.workflow":"Workflow & Orchestration","chatConfig.agentPanel.category.assistant":"Assistant & Evaluation","chatConfig.agentPanel.category.other":"Other","chatConfig.agentPanel.nav.basic":"Basic Info","chatConfig.agentPanel.nav.prompt":"System Prompt","chatConfig.agentPanel.nav.tools":"Common Tools","chatConfig.agentPanel.nav.capabilities":"Capabilities","chatConfig.agentPanel.nav.subAgents":"Sub-Agents","chatConfig.agentPanel.navAriaLabel":"Agent configuration sections","chatConfig.agentPanel.basic.title":"Basic Info","chatConfig.agentPanel.basic.desc":"Core identity and behavior of this agent","chatConfig.agentPanel.field.name":"Name","chatConfig.agentPanel.field.agentType":"Agent Type","chatConfig.agentPanel.field.description":"Description","chatConfig.agentPanel.validation.nameRequired":"Please enter agent name","chatConfig.agentPanel.validation.descriptionRequired":"Please enter agent description","chatConfig.agentPanel.placeholder.name":"Enter agent name\u2026","chatConfig.agentPanel.placeholder.description":"Enter agent description\u2026","chatConfig.agentPanel.typeDesc.react":"Executor: Executes tasks directly using tools. Best for single-step operations like search, code execution, and data retrieval.","chatConfig.agentPanel.typeDesc.deepAgent":"Orchestrator: Maintains a todo list to plan and delegate tasks to sub-agents. Best for structured multi-step workflows.","chatConfig.agentPanel.typeDesc.team":"Team: Creates tasks with dependencies and dynamically spawns teammates who communicate via mailbox. Best for exploration and divergent thinking.","chatConfig.agentPanel.typeDesc.processing":"Workflow: Delegates to sub-agents in a predefined topology order. Best for deterministic multi-step processes.","chatConfig.agentPanel.prompt.title":"System Prompt","chatConfig.agentPanel.prompt.desc":"Define the agent's behavior, capabilities, and constraints","chatConfig.agentPanel.prompt.expand":"Expand","chatConfig.agentPanel.prompt.placeholder":"Enter the system prompt for this agent\u2026","chatConfig.agentPanel.prompt.chars":"{{count}} chars","chatConfig.agentPanel.tools.title":"Common Tools","chatConfig.agentPanel.tools.desc":"Choose the tools this agent can call directly","chatConfig.agentPanel.tools.search":"Search tools\u2026","chatConfig.agentPanel.tools.selected":"Selected {{selected}} / {{total}}","chatConfig.agentPanel.subAgents.title":"Sub-Agents","chatConfig.agentPanel.subAgents.desc":"Choose sub-agents this agent can delegate to","chatConfig.agentPanel.subAgents.search":"Search sub-agents\u2026","chatConfig.agentPanel.subAgents.selected":"Selected {{selected}} / {{total}}","chatConfig.agentPanel.noTools":"No tools available","chatConfig.agentPanel.noCapabilities":"No capabilities available","chatConfig.agentPanel.noOtherAgents":"No other agents available","chatConfig.agentPanel.noMatching":"No matching results","chatConfig.agentPanel.selectAll":"Select All","chatConfig.agentPanel.clear":"Clear","chatConfig.agentPanel.approve":"Approve","chatConfig.agentPanel.noDescription":"No description","chatConfig.agentPanel.configWorkbench":"Config Workbench","chatConfig.agentPanel.deleteAgent":"Delete Agent","chatConfig.agentPanel.loadingConfig":"Loading agent configuration...","chatConfig.agentPanel.footer.saveHint":"Changes will be saved to this agent","chatConfig.agentPanel.footer.viewing":"Viewing agent configuration","chatConfig.agentPanel.done":"Done","chatConfig.agentPanel.delete.title":"Delete Agent","chatConfig.agentPanel.delete.confirmPrefix":"Are you sure you want to delete","chatConfig.agentPanel.delete.confirmSuffix":"? This action cannot be undone.","chatConfig.agentPanel.deleteFailed":"Failed to delete assistant","chatConfig.createAssistant.title":"Create New Assistant","chatConfig.createAssistant.createExtend":"Create (Extend)","chatConfig.createAssistant.startLearning":"Start Learning","chatConfig.createAssistant.parentAgent":"Parent Agent","chatConfig.createAssistant.inheritHint":"Fields left unchanged will be inherited from the parent agent.","chatConfig.createAssistant.learnHint":"Describe what the agent should do.","chatConfig.createAssistant.referenceFiles":"Reference Files","chatConfig.createAssistant.referenceFilesHint":"Optional \u2014 uploaded to the shared training workspace and attached to the learning round; the architect reads them as round material.","chatConfig.createAssistant.field.key":"Key (ID)","chatConfig.createAssistant.field.name":"Name","chatConfig.createAssistant.field.description":"Description","chatConfig.createAssistant.field.agentType":"Agent Type","chatConfig.createAssistant.field.connectionMode":"Connection Mode","chatConfig.createAssistant.mode.remoteUrl":"Remote URL","chatConfig.createAssistant.mode.localManaged":"Local Managed","chatConfig.createAssistant.field.template":"Template","chatConfig.createAssistant.templatePlaceholder":"Choose a template...","chatConfig.createAssistant.noTemplates":'No templates. Use "Custom Command" below.',"chatConfig.createAssistant.customCommand":"+ Custom Command","chatConfig.createAssistant.hideCustomCommand":"- Hide Custom Command","chatConfig.createAssistant.field.executable":"Executable","chatConfig.createAssistant.field.arguments":"Arguments","chatConfig.createAssistant.field.workingDirectory":"Working directory","chatConfig.createAssistant.field.agentCardUrl":"Agent Card URL","chatConfig.createAssistant.field.apiKeyOptional":"API Key (optional)","chatConfig.createAssistant.apiKeyPlaceholder":"API key for authentication","chatConfig.createAssistant.field.timeout":"Timeout (ms)","chatConfig.createAssistant.field.systemPrompt":"System Prompt","chatConfig.createAssistant.field.systemPromptInherit":"System Prompt (leave unchanged to inherit from parent)","chatConfig.createAssistant.systemPromptInheritPlaceholder":"Leave empty to inherit parent's prompt, or enter a new prompt to override...","chatConfig.createAssistant.systemPromptPlaceholder":"Enter the system prompt for this agent...","chatConfig.createAssistant.subAgents":"Sub-Agents","chatConfig.createAssistant.descriptionPlaceholder":"Enter a description for this assistant...","chatConfig.createAssistant.typeDesc.react":"Executor: Directly executes tasks using tools. Best for single-step operations like search, code execution, and data retrieval.","chatConfig.createAssistant.typeDesc.deepAgent":"Orchestrator: Manages a sequential todo list to plan and assign todo items to sub-agents. Best for structured multi-step workflows.","chatConfig.createAssistant.typeDesc.team":"Team: Creates tasks with dependencies and dynamically spawns teammates. Like a swarm, teammates communicate via mailbox. Best for tasks requiring exploration and divergent thinking.","chatConfig.createAssistant.typeDesc.processing":"Workflow: Enforces a fixed workflow topology by delegating to sub-agents in a predefined order. Best for deterministic multi-step processes with validated delegation paths.","chatConfig.createAssistant.typeDesc.a2aRemote":"A2A Remote: Delegates to an external A2A-compatible agent server. Use for local CLI tools (Claude Code, Codex, OpenCode) or remote agents.","chatConfig.createAssistant.validation.keyRequired":"Please enter a unique key","chatConfig.createAssistant.validation.keyPattern":"Key must start with a letter and contain only letters, numbers, underscores, or hyphens","chatConfig.createAssistant.validation.nameRequired":"Please enter a name","chatConfig.createAssistant.validation.descriptionRequired":"Please enter a description","chatConfig.createAssistant.validation.systemPromptRequired":"Please enter a system prompt","chatConfig.createAssistant.validation.urlRequired":"Please enter the A2A server URL","chatConfig.createAssistant.validation.executableRequired":"Executable is required","chatConfig.createAssistant.a2aUrlWarning":"Please enter an A2A server URL first","chatConfig.createAssistant.connectedTo":'Connected to "{{name}}"',"chatConfig.createAssistant.connectionFailed":"Connection failed","chatConfig.createAssistant.connectionTestFailed":"Connection test failed","chatConfig.createAssistant.trainingGoalRequired":"Please describe the training goal","chatConfig.createAssistant.noTrainingProject":"No shared training project available","chatConfig.createAssistant.agentCreated":"Agent created \u2014 architect started building","chatConfig.createAssistant.createdByExtending":'Assistant created by extending "{{name}}"',"chatConfig.createAssistant.created":"Assistant created successfully","chatConfig.createAssistant.createFailed":"Failed to create assistant","chatConfig.createAssistant.createError":"An error occurred while creating the assistant","chatConfig.createAssistant.requiredFields":"Please complete the required fields: {{fields}}","chatConfig.createAssistant.requiredFieldsGeneric":"Please complete the required fields","chatConfig.createAssistant.noParentAgent":"No parent agent selected","chatConfig.createAssistant.agentCreateFailed":"Failed to create agent","chatConfig.createAssistant.cloneFetchFailed":'Failed to fetch sub-agent "{{key}}" for cloning',"chatConfig.createAssistant.cloneFailed":'Failed to clone sub-agent "{{key}}"',"chatConfig.createAssistant.cloneKeyRequired":'Please provide a key for the cloned sub-agent "{{key}}"',"chatConfig.createAssistant.cloneKeyInvalid":'Invalid key "{{key}}" for cloned sub-agent "{{originalKey}}". Key must start with a letter and contain only letters, numbers, underscores, or hyphens.',"chatConfig.parentAgent.selectPlaceholder":"Select a parent agent to extend...","chatConfig.settings.defaultConnectionName":"Default","chatConfig.settings.serverNamePlaceholder":"e.g., Production Server","chatConfig.settings.title":"Settings","chatConfig.settings.menu.environment":"Environment Variables","chatConfig.settings.menu.models":"Model Configuration","chatConfig.settings.menu.environment.desc":"Manage environment variables for the gateway server","chatConfig.settings.menu.models.desc":"Configure the gateway-wide default model registry","chatConfig.settings.saveConfiguration":"Save Configuration","chatConfig.settings.addServer":"Add Server","chatConfig.settings.addNewServer":"Add New Server","chatConfig.settings.serverName":"Server Name","chatConfig.settings.serverNameHint":"Optional: Leave empty to use URL as name","chatConfig.settings.serverUrl":"Server URL *","chatConfig.settings.serverUrlHint":"Enter the full URL of the gateway server","chatConfig.settings.apiKey":"API Key","chatConfig.settings.apiKeyPlaceholder":"Optional: Enter API key for authentication","chatConfig.settings.apiKeyHint":"Optional: API key for server authentication","chatConfig.settings.pleaseEnterServerUrl":"Please enter a server URL","chatConfig.settings.serverAdded":"Server added successfully","chatConfig.settings.serverDeleted":"Server deleted","chatConfig.settings.connectFirst":"Please connect to a server first","chatConfig.settings.loadConfigFailed":"Failed to load current configuration","chatConfig.settings.saveFailed":"Failed to save configuration","chatConfig.settings.restartWarning":"Configuration saved. Please restart the server for {{services}} to take effect.","chatConfig.settings.savedApplied":"Configuration saved and applied successfully","chatConfig.settings.modelSaved":"Model configuration saved and registered successfully","chatConfig.settings.modelSaveFailed":"Failed to save model configuration","chatConfig.settings.alert.title":"Configuration Effect","chatConfig.settings.alert.immediate":"Immediately effective:","chatConfig.settings.alert.restart":"Requires restart:","chatConfig.settings.alert.restartDetail":"PORT (server must be restarted to change port)","chatConfig.settings.envHint":"Configure environment variables in .env format (key=value). One variable per line. Leave password fields empty to keep current values.","chatConfig.settings.modelsHint":"Configure model lattices. Each model will be registered with the provided key and can be used by agents.","chatConfig.settings.model":"Model {{index}}","chatConfig.settings.remove":"Remove","chatConfig.settings.field.key":"Key *","chatConfig.settings.field.keyHint":"Unique identifier for this model","chatConfig.settings.field.provider":"Provider *","chatConfig.settings.field.modelName":"Model Name *","chatConfig.settings.field.apiKeyHintStored":"A key is stored on the server and is never sent back. Leave blank to keep it, or type a new one to replace it.","chatConfig.settings.field.apiKeyHintNew":"API key for the model provider. Leave empty to use environment variable.","chatConfig.settings.apiKeyPlaceholderConfigured":"Configured \u2014 leave blank to keep","chatConfig.settings.apiKeyPlaceholderNew":"Enter your API key","chatConfig.settings.field.baseUrl":"Base URL","chatConfig.settings.field.baseUrlHint":"Optional custom base URL for the API","chatConfig.settings.field.streaming":"Enable Streaming","chatConfig.settings.field.maxTokens":"Max Tokens","chatConfig.settings.field.temperature":"Temperature","chatConfig.settings.addModel":"+ Add Model","chatConfig.settings.connecting":"Connecting...","chatConfig.settings.connectingTo":"Connecting to {{url}}","chatConfig.settings.notConnected":"Not Connected","chatConfig.settings.connectFailedDetail":"Failed to connect to {{url}}. Please check the server URL and try again.","chatConfig.settings.clickReconnect":'Click "Reconnect" to connect to {{url}}',"chatConfig.settings.reconnect":"Reconnect","chatConfig.settings.error.serverError":"Server returned an error","chatConfig.settings.error.timeout":"Connection timeout","chatConfig.settings.error.connectFailed":"Failed to connect to server","chatConfig.paChannel.title":"Connect Channels","chatConfig.paChannel.channels":"Channels","chatConfig.paChannel.noChannels":"No channels yet","chatConfig.paChannel.connect":"Connect","chatConfig.paChannel.selectHint":"Select a channel from the left or add a new one","chatConfig.paChannel.chooseType":"Choose Channel Type","chatConfig.paChannel.editChannel":"Edit Channel","chatConfig.paChannel.newChannel":"New {{channel}}","chatConfig.paChannel.channel.lark":"Feishu","chatConfig.paChannel.channel.wechat":"WeChat","chatConfig.paChannel.channel.wecom":"WeCom","chatConfig.paChannel.wechatBot":"WeChat Bot","chatConfig.paChannel.feishuBot":"Feishu Bot","chatConfig.paChannel.wecomBot":"WeCom Bot","chatConfig.paChannel.field.botId":"Bot ID","chatConfig.paChannel.field.secret":"Secret","chatConfig.paChannel.placeholder.botId":"Bot ID from the WeCom admin console","chatConfig.paChannel.placeholder.secret":"Long-connection Secret from the WeCom admin console","chatConfig.paChannel.wecomConnectHint":"Uses the smart-bot long-connection (API) mode \u2014 no public callback URL; the gateway maintains the connection.","chatConfig.paChannel.validation.botIdRequired":"Bot ID is required","chatConfig.paChannel.validation.secretRequired":"Secret is required","chatConfig.paChannel.field.channelType":"Channel Type","chatConfig.paChannel.field.displayName":"Display Name","chatConfig.paChannel.field.appId":"App ID","chatConfig.paChannel.field.appSecret":"App Secret","chatConfig.paChannel.field.verificationToken":"Verification Token","chatConfig.paChannel.field.encryptKey":"Encrypt Key","chatConfig.paChannel.field.botToken":"Bot Token","chatConfig.paChannel.field.uin":"UIN","chatConfig.paChannel.enabled":"Enabled","chatConfig.paChannel.listenerActive":"Listener service is active","chatConfig.paChannel.listenerStopped":"Listener service is stopped","chatConfig.paChannel.anyoneCanMessage":"Anyone can message","chatConfig.paChannel.anyoneCanMessageHint":"When enabled, anyone with access to this channel can chat with your assistant","chatConfig.paChannel.whoCanChat":"Who can chat","chatConfig.paChannel.whoCanChatHint":"Only people you add here can message your assistant","chatConfig.paChannel.noContacts":"No contacts added yet","chatConfig.paChannel.addContact":"Add Contact","chatConfig.paChannel.add":"Add","chatConfig.paChannel.required":"Required","chatConfig.paChannel.placeholder.wechatOpenId":"WeChat Open ID","chatConfig.paChannel.placeholder.feishuOpenId":"Feishu Open ID","chatConfig.paChannel.placeholder.wecomUserId":"WeCom User ID","chatConfig.paChannel.placeholder.displayName":"Display name (optional)","chatConfig.paChannel.placeholder.appSecret":"Your app secret","chatConfig.paChannel.placeholder.optional":"Optional","chatConfig.paChannel.placeholder.botToken":"Auto-filled after QR scan","chatConfig.paChannel.placeholder.uin":"Auto-filled from QR login","chatConfig.paChannel.addBindingHint":"Once saved, come back here to add the people you'd like to chat with.","chatConfig.paChannel.removeChannel":"Remove this channel?","chatConfig.paChannel.removeChannelDesc":"All bindings for this installation will also be lost.","chatConfig.paChannel.save":"Save","chatConfig.paChannel.bindingAdded":"Binding added","chatConfig.paChannel.bindingAddFailed":"Failed to add binding","chatConfig.paChannel.bindingRemoved":"Binding removed","chatConfig.paChannel.bindingRemoveFailed":"Failed to remove binding","chatConfig.paChannel.bindingsLoadFailed":"Failed to load bindings","chatConfig.paChannel.installationsLoadFailed":"Failed to load channel installations","chatConfig.paChannel.channelEnabled":"Channel enabled","chatConfig.paChannel.channelDisabled":"Channel disabled","chatConfig.paChannel.toggleFailed":"Failed to toggle channel","chatConfig.paChannel.installationUpdated":"Installation updated","chatConfig.paChannel.installationUpdateFailed":"Failed to update installation","chatConfig.paChannel.installationCreated":"Installation created","chatConfig.paChannel.installationCreateFailed":"Failed to create installation","chatConfig.paChannel.installationSaveFailed":"Failed to save installation","chatConfig.paChannel.installationDeleted":"Installation deleted","chatConfig.paChannel.installationDeleteFailed":"Failed to delete installation","chatConfig.paChannel.addUsersHint":"Now add users who can access this channel","chatConfig.paChannel.validation.appIdRequired":"App ID is required","chatConfig.paChannel.validation.appSecretRequired":"App Secret is required","chatConfig.paChannel.validation.botTokenRequired":"Bot Token is required","chatConfig.paChannel.qr.hint":"Scan the QR code with WeChat to get a bot token","chatConfig.paChannel.qr.get":"Get QR Code","chatConfig.paChannel.qr.generating":"Generating QR code...","chatConfig.paChannel.qr.scan":"Scan with WeChat","chatConfig.paChannel.qr.scanned":"Scanned! Confirm on your phone...","chatConfig.paChannel.qr.expiresIn":"Expires in {{time}}","chatConfig.paChannel.qr.expired":"QR code expired","chatConfig.paChannel.qr.refreshStatus":"Refresh Status","chatConfig.paChannel.qr.loginConfirmed":"Login confirmed!","chatConfig.paChannel.qr.tokenFilled":"Bot token has been filled automatically","chatConfig.paChannel.qr.expiredGetNew":"QR code expired. Get a new one.","chatConfig.paChannel.qr.retry":"Retry","chatConfig.paChannel.qr.loadFailed":"Failed to load QR code","chatConfig.paChannel.qr.getFailed":"Failed to get QR code","chatConfig.paChannel.qr.statusFailed":"Failed to check QR status"},a={messages:n};export{a as default,n as messages};
|