dexto 1.2.0 → 1.2.2
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/README.md +5 -3
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +1 -2
- package/dist/webui/.next/{static/chunks/656-5a9f6405badf66a8.js → standalone/.next/static/chunks/369-7a58b346e80ec351.js} +2 -2
- package/dist/webui/.next/standalone/.next/static/chunks/419-6d7f485f58886e5b.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/560-551d60414365cdc4.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/854-7ae94d6609222f8e.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-df2b9ed4c466c348.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/layout-f4d136d139162fab.js +1 -0
- package/dist/webui/.next/standalone/.next/static/chunks/app/page-d0ab5e22f0d14271.js +1 -0
- package/dist/webui/.next/standalone/package.json +3 -2
- package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +13 -10
- package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
- package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page.js +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/chat/[sessionId]/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js +3 -3
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page.js.nft.json +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/1.js +4 -4
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/695.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/{426.js → 710.js} +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
- package/dist/webui/.next/standalone/{.next/static/chunks/656-5a9f6405badf66a8.js → packages/webui/.next/static/chunks/369-7a58b346e80ec351.js} +2 -2
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-6d7f485f58886e5b.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/560-551d60414365cdc4.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-7ae94d6609222f8e.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-df2b9ed4c466c348.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/layout-f4d136d139162fab.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d0ab5e22f0d14271.js +1 -0
- package/dist/webui/.next/standalone/packages/webui/package.json +3 -1
- package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
- package/dist/webui/.next/{standalone/packages/webui/.next/static/chunks/656-5a9f6405badf66a8.js → static/chunks/369-7a58b346e80ec351.js} +2 -2
- package/dist/webui/.next/static/chunks/419-6d7f485f58886e5b.js +1 -0
- package/dist/webui/.next/static/chunks/560-551d60414365cdc4.js +1 -0
- package/dist/webui/.next/static/chunks/854-7ae94d6609222f8e.js +1 -0
- package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-df2b9ed4c466c348.js +1 -0
- package/dist/webui/.next/static/chunks/app/layout-f4d136d139162fab.js +1 -0
- package/dist/webui/.next/static/chunks/app/page-d0ab5e22f0d14271.js +1 -0
- package/dist/webui/package.json +3 -1
- package/package.json +3 -3
- package/dist/webui/.next/standalone/.next/static/chunks/419-6d449dcb2b056299.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/854-232126f3c77e6c0b.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +0 -1
- package/dist/webui/.next/standalone/.next/static/chunks/app/page-d1f127a0cac96246.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/419-6d449dcb2b056299.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/854-232126f3c77e6c0b.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +0 -1
- package/dist/webui/.next/standalone/packages/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +0 -1
- package/dist/webui/.next/static/chunks/419-6d449dcb2b056299.js +0 -1
- package/dist/webui/.next/static/chunks/854-232126f3c77e6c0b.js +0 -1
- package/dist/webui/.next/static/chunks/app/chat/[sessionId]/page-a695b09e6bac5274.js +0 -1
- package/dist/webui/.next/static/chunks/app/layout-f4a6ee5a028899d1.js +0 -1
- package/dist/webui/.next/static/chunks/app/page-d1f127a0cac96246.js +0 -1
- /package/dist/webui/.next/standalone/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_buildManifest.js +0 -0
- /package/dist/webui/.next/standalone/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_ssgManifest.js +0 -0
- /package/dist/webui/.next/standalone/packages/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_buildManifest.js +0 -0
- /package/dist/webui/.next/standalone/packages/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_ssgManifest.js +0 -0
- /package/dist/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_buildManifest.js +0 -0
- /package/dist/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[854],{1236:(e,t,o)=>{o.d(t,{kz:()=>m,EQ:()=>g,j0:()=>f,PI:()=>p,P2:()=>d,KU:()=>u,Y_:()=>v});var n=o(5789);let r=["apikey","api_key","token","access_token","refresh_token","password","secret"],s=["base64","filedata","file_data","imagedata","image_data","audiodata","audio_data","data"],a=[/\bsk-[A-Za-z0-9]{20,}\b/g,/\bBearer\s+[A-Za-z0-9\-_.=]+\b/gi,/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*/g],i="[REDACTED]",l="[REDACTED_CIRCULAR]";function c(e){return e instanceof Error?e:e&&"object"==typeof e?"message"in e&&"string"==typeof e.message?Error(e.message,{cause:e}):"error"in e&&"string"==typeof e.error?Error(e.error,{cause:e}):"details"in e&&"string"==typeof e.details?Error(e.details,{cause:e}):"description"in e&&"string"==typeof e.description?Error(e.description,{cause:e}):Error(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;try{if("bigint"==typeof e)return e.toString();let o=function e(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakSet;if("string"==typeof t){let e=t;for(let t of a)e=e.replace(t,i);return e}if(Array.isArray(t))return o.has(t)?l:(o.add(t),t.map(t=>e(t,o)));if(t&&"object"==typeof t){if(o.has(t))return l;o.add(t);let n={};for(let[a,l]of Object.entries(t))if(r.includes(a.toLowerCase()))n[a]=i;else{let r=function(e,t,o){var n;if("string"!=typeof e)return e;let r=t.toLowerCase();return(s.includes(r)||"data"===r&&o&&("mimeType"in o||"filename"in o||"fileName"in o))&&(n=e).length>1e3&&/^[A-Za-z0-9+/=]{1000,}$/.test(n.substring(0,1e3))?"".concat("[FILE_DATA_TRUNCATED]"," (").concat(e.length," chars)"):e}(l,a,t);n[a]=e(r,o)}return n}return t}(e),n=JSON.stringify(o,(e,t)=>t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"bigint"==typeof t?t.toString():t),c="…(truncated)",u=Number.isFinite(t)&&t>0?Math.floor(t):1e3;if("string"==typeof n){if(n.length<=u)return n;let e=Math.max(0,u-c.length);return"".concat(n.slice(0,e)).concat(c)}return String(e)}catch(t){try{return String(e)}catch(e){return"[Unserializable value]"}}}(e)):"string"==typeof e?Error(e,{cause:e}):Error(String(e),{cause:e})}function u(e){return"object"==typeof e&&null!==e&&"error"in e}function d(e){return"object"==typeof e&&null!==e&&"content"in e&&Array.isArray(e.content)}function p(e){return"object"==typeof e&&null!==e&&"type"in e&&"text"===e.type}function f(e){return"object"==typeof e&&null!==e&&"type"in e&&"image"===e.type}function m(e){return"object"==typeof e&&null!==e&&"type"in e&&"audio"===e.type}function g(e){return"object"==typeof e&&null!==e&&"type"in e&&"file"===e.type}let y=()=>"msg-".concat(Date.now(),"-").concat(Math.random().toString(36).substring(2,9));function v(e,t){let o=(0,n.useRef)(null),[r,s]=(0,n.useState)([]),a=(0,n.useRef)(null),[i,l]=(0,n.useState)("connecting"),[u,d]=(0,n.useState)(!1),[p,f]=(0,n.useState)(null),m=(0,n.useRef)(!1),g=(0,n.useRef)(new Map),v=(0,n.useRef)(t);(0,n.useEffect)(()=>{v.current=t},[t]);let h=(0,n.useCallback)(e=>{if(!e)return!1;let t=v.current,o=t?t():null;return!!o&&e===o},[]);(0,n.useEffect)(()=>{let t=new globalThis.WebSocket(e);return o.current=t,t.onopen=()=>l("open"),t.onclose=()=>l("closed"),t.onerror=e=>{l("closed"),f({id:y(),message:"Connection error. Please try again.",timestamp:Date.now(),context:"websocket"})},t.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch(t){let e=c(t);console.error("[useChat] WebSocket message parse error: ".concat(e.message),{error:e});return}let o=t.data||{};switch(t.event){case"chunk":{if(!h(o.sessionId))return;d(!0);let e="string"==typeof o.content?o.content:"";if(!e)break;let t=o.type;s(o=>{if("reasoning"===t){let t=o[o.length-1];if(t&&"assistant"===t.role){let n={...t,reasoning:(t.reasoning||"")+e,createdAt:Date.now()};return[...o.slice(0,-1),n]}return[...o,{id:y(),role:"assistant",content:"",reasoning:e,createdAt:Date.now()}]}{let t=o[o.length-1];if(t&&"assistant"===t.role){let n="string"==typeof t.content?t.content:"",r={...t,content:n+e,createdAt:Date.now()};return[...o.slice(0,-1),r]}return[...o,{id:y(),role:"assistant",content:e,createdAt:Date.now()}]}});break}case"response":{if(!h(o.sessionId))return;d(!1);let e="string"==typeof o.text?o.text:"",t="string"==typeof o.reasoning?o.reasoning:void 0,n=o&&"object"==typeof o.tokenUsage?o.tokenUsage:void 0,r="string"==typeof o.model?o.model:void 0,a="string"==typeof o.provider?o.provider:void 0,i="string"==typeof o.router?o.router:void 0,l="string"==typeof o.sessionId?o.sessionId:void 0;s(o=>{let s=o[o.length-1];if(s&&"assistant"===s.role){let c="string"==typeof e?e:"",u={...s,content:c,tokenUsage:n,reasoning:t,model:r,provider:a,router:i,createdAt:Date.now(),sessionId:null!=l?l:s.sessionId};return[...o.slice(0,-1),u]}return[...o,{id:y(),role:"assistant",content:e,createdAt:Date.now(),tokenUsage:n,reasoning:t,model:r,provider:a,router:i,sessionId:l}]}),window.dispatchEvent(new CustomEvent("dexto:response",{detail:{text:e,sessionId:l,reasoning:t,tokenUsage:n,model:r,timestamp:Date.now()}}));break}case"conversationReset":if(!h(o.sessionId))return;d(!1),s([]),a.current=null,g.current.clear();break;case"toolCall":{if(!h(o.sessionId))return;let e=o.toolName,t=o.args,n=o.callId;s(o=>{let r=o.length,s=[...o,{id:y(),role:"tool",content:null,toolName:e,toolArgs:t,toolCallId:n,createdAt:Date.now()}];return n&&g.current.set(n,r),s});break}case"toolResult":{var n,r,i,l;if(!h(o.sessionId))return;let e=o.toolName,t=o.sanitized,a=null!=(l=null!=(i=null!=(r=null==t||null==(n=t.meta)?void 0:n.toolCallId)?r:"string"==typeof o.toolCallId?o.toolCallId:void 0)?i:"string"==typeof o.callId?o.callId:void 0)?l:"string"==typeof o.id?o.id:void 0,c=o.rawResult,u="boolean"==typeof o.success?o.success:void 0,d=null!=t?t:c,p=d,f=e=>{var t,o,n,r,s,a;if("object"==typeof e&&null!==e&&"image"===e.type){let r=null!=(n=null!=(o=null!=(t=e.data)?t:e.base64)?o:e.image)?n:e.url;if(r)return{type:"image",image:r,...e.mimeType?{mimeType:e.mimeType}:{}}}if("object"==typeof e&&null!==e&&"audio"===e.type){let t=null!=(a=null!=(s=null!=(r=e.data)?r:e.base64)?s:e.audio)?a:e.url;if(t&&e.mimeType)return{type:"file",data:t,mimeType:e.mimeType,...e.filename?{filename:e.filename}:{}}}if("object"==typeof e&&null!==e&&"resource"===e.type){let t=e.resource;if((null==t?void 0:t.text)&&t.mimeType)return t.mimeType.startsWith("image/")?{type:"image",image:t.text,mimeType:t.mimeType}:{type:"file",data:t.text,mimeType:t.mimeType,...t.title?{filename:t.title}:{}}}return"object"==typeof e&&null!==e&&"file"===e.type?{type:"file",data:e.data,mimeType:e.mimeType,...e.filename?{filename:e.filename}:{}}:"object"==typeof e&&null!==e&&"text"===e.type?{type:"text",text:e.text}:"string"==typeof e?{type:"text",text:e}:{type:"text",text:JSON.stringify(e)}};if(t&&Array.isArray(t.content)&&!1!==u){let e=t.content.map(f);p={...t,content:e}}else if(d&&Array.isArray(d.content)){let e=d.content.map(f);p={...d,content:e}}!1===u&&c&&(p=c),s(o=>{let n=-1;if(a&&g.current.has(a)?(n=g.current.get(a),g.current.delete(a)):n=o.findIndex(t=>"tool"===t.role&&void 0===t.toolResult&&t.toolName===e),-1!==n&&n<o.length){let e={...o[n],toolResult:p,toolResultMeta:null==t?void 0:t.meta,toolResultSuccess:u};return[...o.slice(0,n),e,...o.slice(n+1)]}return console.warn("No matching tool call found for result of ".concat(e).concat(a?" (callId: ".concat(a,")"):"")),o});break}case"toolConfirmationResponse":break;case"error":{let e;if(!h(o.sessionId))return;if(d(!1),m.current){m.current=!1;break}if((null==o?void 0:o.context)==="user_cancelled")break;let t=c(o).message;if(o.context){if("string"==typeof o.context)e=o.context;else if("object"==typeof o.context){let t=o.context;e=t.plugin?"plugin:".concat(t.plugin):t.scope?String(t.scope):"error"}}f({id:y(),message:t,timestamp:Date.now(),context:e,recoverable:o.recoverable,sessionId:o.sessionId,anchorMessageId:a.current||void 0,detailedIssues:Array.isArray(o.issues)?o.issues:[]});break}case"resourceCacheInvalidated":console.log("\uD83D\uDCBE Resource cache invalidated via WebSocket:",o),window.dispatchEvent(new CustomEvent("dexto:resourceCacheInvalidated",{detail:{resourceUri:o.resourceUri,serverName:o.serverName,action:o.action,timestamp:Date.now()}}));break;case"mcpPromptsListChanged":console.log("✨ Prompts list changed via WebSocket:",o),window.dispatchEvent(new CustomEvent("dexto:mcpPromptsListChanged",{detail:{serverName:o.serverName,prompts:o.prompts,timestamp:Date.now()}}));break;case"mcpToolsListChanged":console.log("\uD83D\uDD27 Tools list changed via WebSocket:",o),window.dispatchEvent(new CustomEvent("dexto:mcpToolsListChanged",{detail:{serverName:o.serverName,tools:o.tools,timestamp:Date.now()}}));break;case"mcpResourceUpdated":console.log("\uD83D\uDCCB Resource updated via WebSocket:",o),window.dispatchEvent(new CustomEvent("dexto:mcpResourceUpdated",{detail:{serverName:o.serverName,resourceUri:o.resourceUri,timestamp:Date.now()}}));break;case"sessionTitleUpdated":{let e=e=>"object"==typeof e&&null!==e,t=e(o)&&"string"==typeof o.sessionId?o.sessionId:void 0,n=e(o)&&"string"==typeof o.title?o.title:void 0;t&&n&&window.dispatchEvent(new CustomEvent("dexto:sessionTitleUpdated",{detail:{sessionId:t,title:n,timestamp:Date.now()}}))}}},()=>{t.close()}},[e]);let w=(0,n.useCallback)(function(e,t,n,r){var i;let l=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if((null==(i=o.current)?void 0:i.readyState)===globalThis.WebSocket.OPEN){o.current.send(JSON.stringify({type:"message",content:e,imageData:t,fileData:n,sessionId:r,stream:l})),d(!0);let i=y();a.current=i,s(o=>[...o,{id:i,role:"user",content:e,createdAt:Date.now(),sessionId:r,imageData:t,fileData:n}]),window.dispatchEvent(new CustomEvent("dexto:message",{detail:{content:e,sessionId:r,timestamp:Date.now()}}))}else f({id:y(),message:"Cannot send message: connection is not open",timestamp:Date.now(),context:"websocket",recoverable:!0})},[]),b=(0,n.useCallback)(e=>{var t;(null==(t=o.current)?void 0:t.readyState)===globalThis.WebSocket.OPEN&&o.current.send(JSON.stringify({type:"reset",sessionId:e})),s([]),f(null),a.current=null,g.current.clear(),d(!1)},[]),E=(0,n.useCallback)(e=>{var t;(null==(t=o.current)?void 0:t.readyState)===globalThis.WebSocket.OPEN&&o.current.send(JSON.stringify({type:"cancel",sessionId:e})),d(!1),g.current.clear(),m.current=!0},[]),k=(0,n.useCallback)(()=>{f(null)},[]);return{messages:r,status:i,sendMessage:w,reset:b,setMessages:s,websocket:o.current,processing:u,cancel:E,activeError:p,clearError:k}}},9401:(e,t,o)=>{function n(){let e=parseInt(window.location.port||"3000",10),t=window.__DEXTO_API_PORT__?parseInt(window.__DEXTO_API_PORT__,10):e+1,o="https:"===window.location.protocol?"https:":"http:";return"".concat(o,"//").concat(window.location.hostname,":").concat(t)}function r(){let e=parseInt(window.location.port||"3000",10),t=window.__DEXTO_API_PORT__?parseInt(window.__DEXTO_API_PORT__,10):e+1,o="https:"===window.location.protocol?"wss:":"ws:";return"".concat(o,"//").concat(window.location.hostname,":").concat(t)}o.d(t,{e:()=>n,m:()=>r})},9752:(e,t,o)=>{function n(e){return(null==e?void 0:e.startsWith("audio/"))?"audio":(null==e?void 0:e.startsWith("video/"))?"video":"binary"}function r(e){return(null==e?void 0:e.startsWith("image/"))?"image":(null==e?void 0:e.startsWith("audio/"))?"audio":(null==e?void 0:e.startsWith("video/"))?"video":"binary"}o.d(t,{h:()=>r,t:()=>n})},9854:(e,t,o)=>{o.d(t,{ChatProvider:()=>u,v:()=>d});var n=o(5801),r=o(5789),s=o(826),a=o(1236),i=o(9401),l=o(9752);let c=(0,r.createContext)(void 0);function u(e){let{children:t}=e,o=(0,s.useRouter)(),u=(0,i.m)(),[d,p]=(0,r.useState)(null),[f,m]=(0,r.useState)(!0),[g,y]=(0,r.useState)(!0),[v,h]=(0,r.useState)(!1),[w,b]=(0,r.useState)(!1),{messages:E,sendMessage:k,status:C,reset:S,setMessages:x,websocket:I,activeError:T,clearError:A,processing:_,cancel:R}=(0,a.Y_)(u,()=>d),[N,D]=(0,r.useState)(null),j=(0,r.useCallback)(async e=>{try{let t=void 0!==e?e:d,o=t?"".concat((0,i.e)(),"/api/llm/current?sessionId=").concat(t):"".concat((0,i.e)(),"/api/llm/current"),n=await fetch(o);if(n.ok){let e=await n.json(),t=e.config||e;D({provider:t.provider,model:t.model,displayName:t.displayName,router:t.router,baseURL:t.baseURL})}}catch(e){}},[d]);(0,r.useEffect)(()=>{N||j()},[N,j]);let{greeting:O}=function(e){let[t,o]=(0,r.useState)(null),[n,s]=(0,r.useState)(!1),[a,l]=(0,r.useState)(null),[c,u]=(0,r.useState)(0),d=(0,r.useCallback)(async t=>{s(!0),l(null);try{var n;let r=e?"".concat((0,i.e)(),"/api/greeting?sessionId=").concat(encodeURIComponent(e)):"".concat((0,i.e)(),"/api/greeting"),s=await fetch(r,{signal:t});if(!s.ok){let e="Failed to fetch greeting: HTTP ".concat(s.status," ").concat(s.statusText);o(null),l(e);return}let a=await s.json();o(null!=(n=a.greeting)?n:null)}catch(t){if((null==t?void 0:t.name)==="AbortError")return;let e=t instanceof Error?t.message:"Failed to fetch greeting";l(e),console.error("Error fetching greeting: ".concat(e))}finally{s(!1)}},[e]);return(0,r.useEffect)(()=>{let e=new AbortController,{signal:t}=e;return d(t),()=>e.abort()},[d,c]),(0,r.useEffect)(()=>{let e=()=>{u(e=>e+1)};return window.addEventListener("dexto:agentSwitched",e),()=>{window.removeEventListener("dexto:agentSwitched",e)}},[]),{greeting:t,isLoading:n,error:a}}(d),L=(0,r.useCallback)(async()=>{var e;let t,o=await fetch("".concat((0,i.e)(),"/api/sessions"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!o.ok)throw Error("Failed to create session: ".concat(o.status," ").concat(o.statusText));let n=await o.text();if(!n.trim())throw Error("Empty response from session creation");try{t=JSON.parse(n)}catch(e){throw console.error("Failed to parse session creation response:",e),Error("Invalid response from session creation")}if(!(null==(e=t.session)?void 0:e.id))throw Error("Session ID not found in server response");return t.session.id},[]),P=(0,r.useCallback)(async(e,t,n)=>{let r=d;if(!r&&f){if(w)return;try{b(!0),r=await L(),p(r),m(!1),o.replace("/chat/".concat(r)),await j(r)}catch(e){console.error("Failed to create session:",e);return}finally{b(!1)}}r?k(e,t,n,r,g):console.error("No session available for sending message")},[k,d,f,w,L,g,j,o]),U=(0,r.useCallback)(()=>{d&&S(d)},[S,d]),W=(0,r.useCallback)(async e=>{try{let t,o=await fetch("".concat((0,i.e)(),"/api/sessions/").concat(e,"/history"));if(!o.ok){if(404===o.status)return void x([]);throw Error("Failed to load session history")}let n=await o.text();if(!n.trim())return void x(t=>t.some(t=>t.sessionId===e)?t:[]);try{t=JSON.parse(n)}catch(e){console.error("Failed to parse session history response:",e),x([]);return}let r=t.history||[],s=[],a=new Map;for(let t=0;t<r.length;t++){let o=r[t],n={id:"session-".concat(e,"-").concat(t),role:o.role,content:o.content,createdAt:Date.now()-(r.length-t)*1e3,sessionId:e,tokenUsage:o.tokenUsage,reasoning:o.reasoning,model:o.model,router:o.router,provider:o.provider},i=e=>{let t=[];for(let r of e){var o,n;if("image"===r.type&&"string"==typeof r.image&&r.image.startsWith("@blob:")){let e=r.image.substring(1);t.push({uri:e,kind:"image",mimeType:null!=(o=r.mimeType)?o:"image/jpeg"})}if("file"===r.type&&"string"==typeof r.data&&r.data.startsWith("@blob:")){let e=r.data.substring(1),o=null!=(n=r.mimeType)?n:"application/octet-stream",s=(0,l.h)(o);t.push({uri:e,kind:s,mimeType:o,...r.filename?{filename:r.filename}:{}})}}return t.length>0?t:void 0};if("assistant"===o.role){o.content&&s.push(n),o.toolCalls&&o.toolCalls.length>0&&o.toolCalls.forEach((o,n)=>{var i,l;let c={};if(null==o?void 0:o.function)try{c=JSON.parse(o.function.arguments||"{}")}catch(e){console.warn("Failed to parse toolCall arguments for ".concat((null==(l=o.function)?void 0:l.name)||"unknown",": ").concat(e)),c={}}let u=(null==(i=o.function)?void 0:i.name)||"unknown",d={id:"session-".concat(e,"-").concat(t,"-tool-").concat(n),role:"tool",content:null,createdAt:Date.now()-(r.length-t)*1e3+n,sessionId:e,toolName:u,toolArgs:c,toolResult:void 0,toolResultMeta:void 0,toolResultSuccess:void 0};"string"==typeof o.id&&o.id.length>0&&a.set(o.id,s.length),s.push(d)});continue}if("tool"===o.role){let e="string"==typeof o.toolCallId?o.toolCallId:void 0,r="string"==typeof o.name?o.name:"unknown",l=Array.isArray(o.content)?o.content:"string"==typeof o.content?[{type:"text",text:o.content}]:[],c=i(l),u={content:l,...c?{resources:c}:{},meta:{toolName:r,toolCallId:null!=e?e:"tool-".concat(t),..."boolean"==typeof o.success?{success:o.success}:{}}};if(e&&a.has(e)){let t=a.get(e);s[t]={...s[t],toolResult:u,toolResultMeta:u.meta,toolResultSuccess:"boolean"==typeof o.success?o.success:void 0}}else s.push({...n,role:"tool",content:null,toolName:r,toolArgs:"object"==typeof o.args?o.args:void 0,toolResult:u,toolResultMeta:u.meta,toolResultSuccess:"boolean"==typeof o.success?o.success:void 0});continue}s.push(n)}x(t=>t.some(t=>t.sessionId===e)?t:s)}catch(e){console.error("Error loading session history:",e),x([])}},[x,j]),z=(0,r.useCallback)(async e=>{if(e!==d&&!v){h(!0);try{p(e),m(!1),await W(e),await j(e)}catch(e){throw console.error("Error switching session:",e),e}finally{h(!1)}}},[d,v,W,j]),M=(0,r.useCallback)(()=>{p(null),m(!0),x([])},[x]);return(0,r.useEffect)(()=>{let e=e=>{var t;let o=(null==e?void 0:e.detail)||{};if(null==(t=o.config)?void 0:t.llm){let e=o.config.llm;D({provider:e.provider,model:e.model,router:e.router,baseURL:e.baseURL})}},t=e=>{console.log("Servers changed:",e.detail)},o=e=>{let{sessionId:t}=e.detail||{};t===d&&x([])};return window.addEventListener("dexto:configChanged",e),window.addEventListener("dexto:serversChanged",t),window.addEventListener("dexto:conversationReset",o),()=>{window.removeEventListener("dexto:configChanged",e),window.removeEventListener("dexto:serversChanged",t),window.removeEventListener("dexto:conversationReset",o)}},[d,x]),(0,n.jsx)(c.Provider,{value:{messages:E,sendMessage:P,status:C,reset:U,currentSessionId:d,switchSession:z,loadSessionHistory:W,isWelcomeState:f,returnToWelcome:M,isStreaming:g,setStreaming:y,websocket:I,currentLLM:N,refreshCurrentLLM:j,processing:_,cancel:R,activeError:T,clearError:A,greeting:O},children:t})}function d(){let e=(0,r.useContext)(c);if(!e)throw Error("useChatContext must be used within a ChatProvider");return e}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[827],{},_=>{_.O(0,[614,656,854,804,419,760,845,358],()=>_(_.s=9419)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{94:()=>{},191:(e,t,n)=>{"use strict";n.d(t,{SpeechReset:()=>s});var i=n(5789);function s(){return(0,i.useEffect)(()=>{let e=()=>{try{"speechSynthesis"in window&&window.speechSynthesis.cancel()}catch(e){}};e();let t=()=>{"hidden"===document.visibilityState&&e()};return window.addEventListener("pagehide",e),window.addEventListener("beforeunload",e),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("pagehide",e),window.removeEventListener("beforeunload",e),document.removeEventListener("visibilitychange",t)}},[]),null}},826:(e,t,n)=>{"use strict";var i=n(5438);n.o(i,"useRouter")&&n.d(t,{useRouter:function(){return i.useRouter}})},3145:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},4009:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,6819,23)),Promise.resolve().then(n.t.bind(n,3145,23)),Promise.resolve().then(n.t.bind(n,94,23)),Promise.resolve().then(n.bind(n,9854)),Promise.resolve().then(n.bind(n,191))},6819:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}}},e=>{e.O(0,[137,33,854,760,845,358],()=>e(e.s=4009)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{},_=>{_.O(0,[614,656,854,804,419,760,845,358],()=>_(_.s=9419)),_N_E=_.O()}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_buildManifest.js
RENAMED
|
File without changes
|
/package/dist/webui/.next/static/{uqfH8SY_uhwdc0ZkpMwCO → IXh4cVyOAx6rg0D8ivJp6}/_ssgManifest.js
RENAMED
|
File without changes
|