@redocly/replay 0.28.0-next.8 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{replay-AiChatProvider--1WugvKf.js → replay-AiChatProvider-BRqjyy2W.js} +2 -2
- package/dist/{replay-AiChatProvider-BJdxRVOc.js → replay-AiChatProvider-DUVoLgY2.js} +128 -130
- package/dist/{replay-AiChatSqliteDBStorage-D9fgt_9s.js → replay-AiChatSqliteDBStorage-0evx56pl.js} +6 -6
- package/dist/{replay-AiChatSqliteDBStorage-DbGtw6xx.js → replay-AiChatSqliteDBStorage-C5AnRloD.js} +1 -1
- package/dist/{replay-AiPanel-BU8oG0pD.js → replay-AiPanel-CMjVD12K.js} +77 -77
- package/dist/{replay-AiPanel-BYOLZjQX.js → replay-AiPanel-PVgJioX3.js} +2 -2
- package/dist/replay-FileWatcher-CFYprlWN.js +364 -0
- package/dist/replay-FileWatcher-DGLwO5Kd.js +1 -0
- package/dist/{replay-HistorySqliteDBStorage-CtF6-vY8.js → replay-HistorySqliteDBStorage-Bi5vBQ2T.js} +2 -2
- package/dist/{replay-SemanticSearchService-DRDdGJkI.js → replay-SemanticSearchService-Bh5xYa91.js} +22 -26
- package/dist/replay-SemanticSearchService-CulKCCNl.js +1 -0
- package/dist/{replay-SqliteDBStorage-D9Oeu_XC.js → replay-SqliteDBStorage-Bz0muHEk.js} +49 -49
- package/dist/{replay-SqliteDBStorage-B3zO7RGD.js → replay-SqliteDBStorage-CVHRAsPD.js} +1 -1
- package/dist/{replay-StepContextSqliteDBStorage-BfAAKDwA.js → replay-StepContextSqliteDBStorage-BkB2NM27.js} +2 -2
- package/dist/replay-TauriFileSystemAdapter-B163-f2D.js +108 -0
- package/dist/replay-TauriFileSystemAdapter-D4bOmvzP.js +1 -0
- package/dist/{replay-TauriRootStorage-XIJpsp6_.js → replay-TauriRootStorage-2MPQE-3f.js} +159 -155
- package/dist/replay-TauriRootStorage-CjWUrnWz.js +1 -0
- package/dist/{replay-agent-loop-DxK1tiVw.js → replay-agent-loop-BgYyBo9e.js} +9 -9
- package/dist/{replay-agent-loop-IDavXm8f.js → replay-agent-loop-DYDFXAZj.js} +1 -1
- package/dist/{replay-ai-chat-mappers-B-_eSMi4.js → replay-ai-chat-mappers-BEwNRQPV.js} +3 -3
- package/dist/{replay-ai-chat-mappers-BmvAc4xt.js → replay-ai-chat-mappers-CMtNqQHX.js} +1 -1
- package/dist/{replay-ai-message-parts.schema-E9u9-nqr.js → replay-ai-message-parts.schema-DKLf0SiG.js} +1 -1
- package/dist/{replay-create-model-CscK0cT1.js → replay-create-model-B2ZsGTjs.js} +3 -3
- package/dist/{replay-create-model-CIY7WZ1P.js → replay-create-model-DPxfOEfv.js} +4 -4
- package/dist/{replay-db-e_3o5e3f.js → replay-db-C9iqyMet.js} +1 -1
- package/dist/{replay-db-C_cdHXEt.js → replay-db-D4-LmLRk.js} +5 -5
- package/dist/{replay-external-resolver-nuL3ajF5.js → replay-external-resolver-BXgVrfzk.js} +7 -7
- package/dist/{replay-external-resolver-BmOmF-DG.js → replay-external-resolver-CTUbNZGW.js} +1 -1
- package/dist/{replay-history.schema-5ce6X0R1.js → replay-history.schema-B0lLwmdG.js} +3 -3
- package/dist/{replay-index-DDt4LOBo.js → replay-index-4TEahAPK.js} +21968 -21367
- package/dist/{replay-index-DjdDUkfV.js → replay-index-B4U7iZuq.js} +46 -46
- package/dist/replay-index-B8O3wYqo.js +1 -0
- package/dist/{replay-index-etIeWhnn.js → replay-index-Bdg7noSD.js} +1 -1
- package/dist/replay-index-CG9VN2JQ.js +4 -0
- package/dist/{replay-index-E3Eu6_jY.js → replay-index-DcC173cC.js} +1 -1
- package/dist/{replay-index-B8Zfn7JD.js → replay-index-Nz5obVS5.js} +1139 -1141
- package/dist/{replay-index-DcbwI4wD.js → replay-index-q63USe25.js} +1 -1
- package/dist/{replay-indexes-CfsvVMi_.js → replay-indexes-B3PJtgeh.js} +43 -43
- package/dist/{replay-lint-DVAifLdU.js → replay-lint-4XFKTmSY.js} +97 -97
- package/dist/{replay-lint-graphql-U_VxwRr1.js → replay-lint-graphql-BsBWkZ6L.js} +1 -1
- package/dist/{replay-lint-graphql-D1qaeEmu.js → replay-lint-graphql-De2eDZnT.js} +1 -1
- package/dist/{replay-lint-BjrmIhuZ.js → replay-lint-s7ylMBWz.js} +6111 -6074
- package/dist/replay-periodic-revalidation-BMFP7f-u.js +1 -0
- package/dist/{replay-periodic-revalidation-BtEKdEKa.js → replay-periodic-revalidation-DJbblUef.js} +4 -5
- package/dist/{replay-resolve-C97SfUAB.js → replay-resolve-BtNxNrKo.js} +123 -123
- package/dist/{replay-resolve-BYJosLqD.js → replay-resolve-BueEsOnR.js} +1 -1
- package/dist/{replay-respect-run-CW5xFLKz.js → replay-respect-run-B_dJjlti.js} +1 -1
- package/dist/{replay-respect-run-3FHTVHvs.js → replay-respect-run-Dfpbcsns.js} +3 -3
- package/dist/replay-step-context.schema-BOprzd6Z.js +21 -0
- package/dist/{replay-tauri-path-CMpWmGvW.js → replay-tauri-path-Bht3XIt7.js} +1 -1
- package/dist/replay-tauri-path-CiuYXh_j.js +22 -0
- package/dist/replay-useAiChatQueries-02CRdEPJ.js +215 -0
- package/dist/{replay-useAiChatQueries-DhTcllVx.js → replay-useAiChatQueries-D2hh5omV.js} +1039 -996
- package/dist/{replay-validate-key-Dj_UT2WG.js → replay-validate-key-ALwOF1Ux.js} +1 -1
- package/dist/{replay-validate-key-DJ_1khxq.js → replay-validate-key-B7fbWbfv.js} +2 -2
- package/dist/replay.cjs +1 -1
- package/dist/replay.d.ts +5 -0
- package/dist/replay.js +15 -15
- package/package.json +6 -6
- package/dist/replay-FileWatcher-BrhE0AP6.js +0 -1
- package/dist/replay-FileWatcher-JoqPJECh.js +0 -360
- package/dist/replay-SemanticSearchService-BgQ1HMcT.js +0 -1
- package/dist/replay-TauriFileSystemAdapter-CxHFFCmk.js +0 -1
- package/dist/replay-TauriFileSystemAdapter-DJETGEY7.js +0 -99
- package/dist/replay-TauriRootStorage-BSQQcFgG.js +0 -1
- package/dist/replay-index-C_DfEx-H.js +0 -1
- package/dist/replay-index-Da2H-hpA.js +0 -25
- package/dist/replay-periodic-revalidation-C3eLm7Mw.js +0 -1
- package/dist/replay-step-context.schema-DBk4jufr.js +0 -21
- package/dist/replay-tauri-path-C-vLbl1V.js +0 -22
- package/dist/replay-useAiChatQueries-CEYDGx9f.js +0 -215
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("react/jsx-runtime"),i=require("react"),o=require("./replay-index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("react/jsx-runtime"),i=require("react"),o=require("./replay-index-Nz5obVS5.js"),te=require("./replay-create-model-B2ZsGTjs.js"),fe=require("./replay-agent-loop-DYDFXAZj.js"),pe=require("./replay-db-C9iqyMet.js"),v=require("./replay-useAiChatQueries-02CRdEPJ.js"),B=require("@tanstack/react-query"),Z=require("./replay-ai-chat-mappers-CMtNqQHX.js");class ge{handlers=new Map;middlewares;constructor(t){this.middlewares=t?.middlewares??[]}register(t){this.handlers.set(t.name,t)}getToolSet(){const t={};for(const[n,s]of this.handlers)t[n]=this.buildTool(s);return t}buildTool(t){return{...t.definition,execute:this.wrapExecutor(t)}}wrapExecutor(t){const n=(a,r)=>({isError:!0,error:{message:a,details:r}}),s=this.applyMiddlewares(t.name,t.execute);return(a,r)=>{if(r.abortSignal?.aborted)return n("Tool execution was aborted.");try{const l=s(a,r);return typeof l=="object"&&l!==null&&"then"in l?l.then(c=>c,c=>n(c instanceof Error?c.message:"Unknown tool execution error")):l}catch(l){return n(l instanceof Error?l.message:"Unknown tool execution error")}}}applyMiddlewares(t,n){return this.middlewares.length===0?n:this.middlewares.reduceRight((s,a)=>a(t,s),n)}}function ce(){const e=B.useQueryClient();return B.useMutation({async mutationFn(t){const n=Z.buildPersistableUiChat(t);await o.AiChatServiceFactory.getInstance().upsert(n)},onSuccess(){e.invalidateQueries({queryKey:o.aiChatKeys.all()})},onError(t){console.error("Failed to upsert ai chat item:",t)}})}function Ce(e){const t=B.useQueryClient(),n=o.aiChatKeys.detailTitle(e??"");return B.useMutation({mutationKey:n,async mutationFn(s){if(t.isMutating({mutationKey:n,exact:!0})>1)return;const a=Z.buildPersistableUiChat(s);await o.AiChatServiceFactory.getInstance().upsert(a)},onSuccess(){t.invalidateQueries({queryKey:o.aiChatKeys.all()})},onError(s){console.error("Failed to upsert ai chat item:",s)}})}function me(){const e=B.useQueryClient();return B.useMutation({async mutationFn(t){await o.AiChatServiceFactory.getInstance().remove(t)},onMutate:async t=>{await e.cancelQueries({queryKey:o.aiChatKeys.all()});const n=e.getQueryData(o.aiChatKeys.all());n&&e.setQueryData(o.aiChatKeys.all(),n.filter(s=>s.id!==t)),e.setQueryData(o.aiChatKeys.detail(t),null),e.setQueriesData({queryKey:o.aiChatKeys.infiniteHistories()},s=>s&&{...s,pages:s.pages.map(a=>({...a,items:a.items.filter(r=>r.id!==t)}))})},onError(t){console.error("Failed to remove ai chat:",t)},onSettled(){e.invalidateQueries({queryKey:o.aiChatKeys.all()})}})}var ee,oe;function ve(){if(oe)return ee;oe=1;function e(t,n){if(typeof t!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof t}\`.`);let s,a=0;return function(...l){clearTimeout(s);const c=Date.now(),p=c-a,h=n-p;h<=0?(a=c,t.apply(this,l)):s=setTimeout(()=>{a=Date.now(),t.apply(this,l)},h)}}return ee=e,ee}var we=ve();const Ie=o.getDefaultExportFromCjs(we);var ue=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},d=(e,t,n)=>(ue(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},R=(e,t,n,s)=>(ue(e,t,"write to private field"),t.set(e,n),n);function Te(e,t){return t!=null?Ie(e,t):e}var T,Y,J,j,Q,V,W,ne,se,ye=class{constructor(e=[]){A(this,T,void 0),A(this,Y,"ready"),A(this,J,void 0),A(this,j,new Set),A(this,Q,new Set),A(this,V,new Set),this.pushMessage=t=>{R(this,T,d(this,T).concat(t)),d(this,W).call(this)},this.popMessage=()=>{R(this,T,d(this,T).slice(0,-1)),d(this,W).call(this)},this.replaceMessage=(t,n)=>{R(this,T,[...d(this,T).slice(0,t),this.snapshot(n),...d(this,T).slice(t+1)]),d(this,W).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const s=n?Te(t,n):t;return d(this,j).add(s),()=>{d(this,j).delete(s)}},this["~registerStatusCallback"]=t=>(d(this,Q).add(t),()=>{d(this,Q).delete(t)}),this["~registerErrorCallback"]=t=>(d(this,V).add(t),()=>{d(this,V).delete(t)}),A(this,W,()=>{d(this,j).forEach(t=>t())}),A(this,ne,()=>{d(this,Q).forEach(t=>t())}),A(this,se,()=>{d(this,V).forEach(t=>t())}),R(this,T,e)}get status(){return d(this,Y)}set status(e){R(this,Y,e),d(this,ne).call(this)}get error(){return d(this,J)}set error(e){R(this,J,e),d(this,se).call(this)}get messages(){return d(this,T)}set messages(e){R(this,T,[...e]),d(this,W).call(this)}};T=new WeakMap;Y=new WeakMap;J=new WeakMap;j=new WeakMap;Q=new WeakMap;V=new WeakMap;W=new WeakMap;ne=new WeakMap;se=new WeakMap;var U,ae=class extends te.AbstractChat{constructor({messages:e,...t}){const n=new ye(e);super({...t,state:n}),A(this,U,void 0),this["~registerMessagesCallback"]=(s,a)=>d(this,U)["~registerMessagesCallback"](s,a),this["~registerStatusCallback"]=s=>d(this,U)["~registerStatusCallback"](s),this["~registerErrorCallback"]=s=>d(this,U)["~registerErrorCallback"](s),R(this,U,n)}};U=new WeakMap;function Ae({experimental_throttle:e,resume:t=!1,...n}={}){const s=i.useRef("chat"in n?{}:{onToolCall:n.onToolCall,onData:n.onData,onFinish:n.onFinish,onError:n.onError,sendAutomaticallyWhen:n.sendAutomaticallyWhen});"chat"in n||(s.current={onToolCall:n.onToolCall,onData:n.onData,onFinish:n.onFinish,onError:n.onError,sendAutomaticallyWhen:n.sendAutomaticallyWhen});const a={...n,onToolCall:u=>{var g,f;return(f=(g=s.current).onToolCall)==null?void 0:f.call(g,u)},onData:u=>{var g,f;return(f=(g=s.current).onData)==null?void 0:f.call(g,u)},onFinish:u=>{var g,f;return(f=(g=s.current).onFinish)==null?void 0:f.call(g,u)},onError:u=>{var g,f;return(f=(g=s.current).onError)==null?void 0:f.call(g,u)},sendAutomaticallyWhen:u=>{var g,f,_;return(_=(f=(g=s.current).sendAutomaticallyWhen)==null?void 0:f.call(g,u))!=null?_:!1}},r=i.useRef("chat"in n?n.chat:new ae(a));("chat"in n&&n.chat!==r.current||"id"in n&&n.id!=null&&r.current.id!==n.id)&&(r.current="chat"in n?n.chat:new ae(a));const c=i.useCallback(u=>r.current["~registerMessagesCallback"](u,e),[e,r.current.id]),p=i.useSyncExternalStore(c,()=>r.current.messages,()=>r.current.messages),h=i.useSyncExternalStore(r.current["~registerStatusCallback"],()=>r.current.status,()=>r.current.status),w=i.useSyncExternalStore(r.current["~registerErrorCallback"],()=>r.current.error,()=>r.current.error),I=i.useCallback(u=>{typeof u=="function"&&(u=u(r.current.messages)),r.current.messages=u},[r]);return i.useEffect(()=>{t&&r.current.resumeStream()},[t,r]),{id:r.current.id,messages:p,setMessages:I,sendMessage:r.current.sendMessage,regenerate:r.current.regenerate,clearError:r.current.clearError,stop:r.current.stop,error:w,resumeStream:r.current.resumeStream,status:h,addToolResult:r.current.addToolOutput,addToolOutput:r.current.addToolOutput,addToolApprovalResponse:r.current.addToolApprovalResponse}}const be=20;function Se(e){if(e.length===0)return"No OpenAPI specs loaded.";const t=e.slice(0,be),n=t.map(ke),s=e.length-t.length;return s>0&&n.push(` …and ${s} more API(s) not shown.`),[`Loaded APIs (${e.length}):`,...n].join(`
|
|
2
2
|
`)}function ke(e){return[` apiId="${e.apiId}"`,`title="${e.title}"`,e.version?`version="${e.version}"`:null,e.primaryServer?`server="${e.primaryServer}"`:null].filter(Boolean).join(" ")}const Ee=30;function Me(e){if(e.length===0)return"No Arazzo collections loaded.";const t=[`Arazzo collections (${e.length}):`];let n=Ee,s=0,a=0;for(const l of e){if(n<=0){s+=l.workflows.length,a++;continue}if(t.push(Re(l)),n--,l.workflows.length===0)t.push(" (no workflows)");else if(n>=2){t.push(` workflows (${l.workflows.length}):`),n--;for(const c of l.workflows)n>0?(t.push(` ${_e(c)}`),n--):s++}else s+=l.workflows.length}const r=[s>0?`${s} more workflow(s)`:null,a>0?`${a} more collection(s)`:null].filter(Boolean);return r.length>0&&t.push(` …and ${r.join(", plus ")} not shown.`),t.join(`
|
|
3
3
|
`)}function Re(e){const t=e.sourceApiIds.length>0?` apis=[${e.sourceApiIds.join(", ")}]`:"";return` collectionId="${e.collectionId}" title="${e.title}"${t}`}function _e(e){const t=`id="${e.workflowId}"`,n=e.summary?`label="${e.summary}"`:null,s=`[${e.stepCount} step${e.stepCount!==1?"s":""}]`;return[t,n,s].filter(Boolean).join(" ")}const Pe=20;function De(e){if(e.length===0)return"No environments configured.";const t=e.slice(0,Pe),n=t.map(xe),s=e.length-t.length;return s>0&&n.push(` …and ${s} more environment(s) not shown.`),[`Environments (${e.length}); * marks the active environment:`,...n].join(`
|
|
4
4
|
`)}function xe(e){return[`${e.isActive?"*":" "} name="${e.name}"`,`inputs=${e.inputCount}`,`servers=${e.serverCount}`].join(" ")}const $e=30;function Oe(e){if(e.length===0)return"No tabs are open.";const t=e.slice(0,$e),n=t.map(We),s=e.length-t.length;return s>0&&n.push(` …and ${s} more tab(s) not shown.`),[`Open tabs (${e.length}), listed by tabIndex; * marks the active (focused) tab:`,...n].join(`
|
|
5
5
|
`)}function We(e){const t=[e.collectionId?`collectionId="${e.collectionId}"`:null,e.workflowId?`workflowId="${e.workflowId}"`:null,e.stepId?`stepId="${e.stepId}"`:null,e.operationId?`operationId="${e.operationId}"`:null].filter(Boolean),n=[e.isPreview?"preview":null,e.isDraft?"draft":null,e.isHistory?"history":null].filter(Boolean);return[`${e.isActive?"*":" "} ${e.tabIndex}.`,`type="${e.type}"`,`label="${e.label}"`,...t,n.length>0?`(${n.join(", ")})`:null].filter(Boolean).join(" ")}const Ue="Auto-attached snapshot of the user's current Replay UI state. Generated by Replay before each step; not written by the user. It is a shallow summary — use tools to read detailed tab contents when needed.";function Be(e){const t=`
|
|
6
|
-
`.repeat(2),n=[Ue,t,Oe(e.tabs),t,Se(e.apis),t,Me(e.collections),t,De(e.environments)].join("");return pe.section("active_state",n)}function Le(e){return e.map(Fe)}function Fe(e){return{apiId:e.id,title:e.info?.title??"Untitled API",version:e.info?.version,primaryServer:e.servers?.[0]?.url}}function Ne(e){return e.map(qe)}function qe(e){const t=(e.workflows??[]).map(s=>({workflowId:s.workflowId,summary:s.summary,stepCount:s.steps?.length??0})),n=(e.sourceDescriptions??[]).map(s=>s.apiId).filter(Boolean);return{collectionId:e.id,title:e.info?.title??"Untitled Collection",workflows:t,sourceApiIds:n}}function Ke(e,t){return e.filter(n=>n.state!==o.ItemState.Draft).map(n=>({name:n.name,isActive:n.name===t,inputCount:n.inputs.length,serverCount:n.servers.length}))}function je(e,t,n){return e.map((s,a)=>Qe(n,s,a,a===t))}function Qe(e,t,n,s){const a={tabIndex:n,type:t.data.type,isActive:s,isPreview:t.state===o.TabState.Preview};switch(t.data.type){case o.TabDataType.Collection:{const{collectionId:r}=t.data;return{...a,label:Ve(e,r)??r,collectionId:r}}case o.TabDataType.Workflow:{const{collectionId:r,workflowId:l}=t.data;return{...a,label:l,collectionId:r,workflowId:l}}case o.TabDataType.WorkflowRun:{const{collectionId:r,workflowId:l,historyId:c,label:d}=t.data;return{...a,label:d??`${l} run`,collectionId:r,workflowId:l,isHistory:c!=null}}case o.TabDataType.Step:{const r=t.data;return{...a,label:He(r),collectionId:r.collectionId,workflowId:r.workflowId,stepId:r.stepId,operationId:r.draftStep?.operation?.operationId??null,isDraft:!r.collectionId&&!r.workflowId,isHistory:r.historyId!=null}}}}function Ve(e,t){return e.find(n=>n.id===t)?.info.title}function He(e){if(e.stepId)return e.stepId;if(e.draftStep){const t=[o.getStepMethod(e.draftStep),o.getStepUrl(e.draftStep)].filter(Boolean).join(" ");if(t)return t}return"New Request"}function Ge(e){const t=e.get(o.collectionsAtom);return{tabs:je(e.get(o.tabsAtom),e.get(o.activeTabIdxAtom),t),apis:Le(e.get(o.apisAtom)),collections:Ne(t),environments:Ke(e.get(o.environmentsAtom),e.get(o.activeEnvironmentIdAtom))}}function ze(){const e=o.useCollections(),{tab:t}=o.useActiveTab(),n=t?.data??null;return i.useMemo(()=>{if(!n)return null;switch(n.type){case o.TabDataType.Collection:const a=o.findCollection(e,n.collectionId);return{...n,collection:a};case o.TabDataType.Workflow:const r=o.findWorkflow(e,{collectionId:n.collectionId,workflowId:n.workflowId});return{...n,workflow:r};case o.TabDataType.Step:const l=o.findStep(e,{collectionId:n.collectionId,workflowId:n.workflowId,stepId:n.stepId});return{...n,step:l};case o.TabDataType.WorkflowRun:const c=o.findWorkflow(e,{collectionId:n.collectionId,workflowId:n.workflowId});return{...n,workflow:c}}},[n,e])}function Ye(e){if(!e||typeof e!="object"||!("changes"in e)||!Array.isArray(e.changes))return e;const t=e.changes.filter(s=>s&&typeof s=="object"&&"approved"in s&&s.approved===!0),n="meta"in e&&typeof e.meta=="object"?e.meta:{};return{...e,changes:t,meta:{...n,totalChanges:e.changes.length,approvedChanges:t.length}}}function Je(){return(e,t)=>(n,s)=>t(Ye(n),s)}function Xe(){const{getApiOperation:e}=o.useApiOperationGetter(),t=o.useTabHandlers();return i.useMemo(()=>({getApiOperation:e,...t}),[e,t])}function Ze(e){const{convertOperationToReplayValue:t}=o.useSettingsContext(),n=ze(),s=Xe(),a=o.useSettings(),r=o.useStore(),{attachApiToCollection:l}=o.useCollectionActions(),{handleCloseByDataId:c}=o.useTabHandlers(),d=o.useRunWorkflow(),p=i.useRef(n);return p.current=n,{tools:i.useMemo(()=>{const T=new ge({middlewares:[Je()]});return v.registerBuiltInTools(T,{[v.reportStatusBlueprint.name]:void 0,[v.runRequestBlueprint.name]:{settings:a,store:r},[v.runWorkflowBlueprint.name]:{store:r,runWorkflow:d},[v.updateSecurityBlueprint.name]:{store:r},[v.updateStepBlueprint.name]:{store:r},[v.manageCollectionBlueprint.name]:{store:r,attachApiToCollection:l,handleCloseByDataId:c,convertOperationToReplayValue:t},[v.manageEnvironmentBlueprint.name]:{store:r},[v.webSearchBlueprint.name]:{model:e},[v.searchBlueprint.name]:{store:r},[v.openTabBlueprint.name]:{store:r,context:s},[v.getCurrentTabBlueprint.name]:{getActiveTabDetailedData:()=>p.current},[v.getApiMetadataBlueprint.name]:{store:r}}),T.getToolSet()},[l,t,c,e,s,d,a,r])}}function et(e){const{children:t,chatId:n,model:s,initialMessages:a,onChatFinish:r,onChatMessagesUpdated:l}=e,c=o.useSettings(),{getReuniteAuth:d}=o.useSettingsContext(),{tools:p}=Ze(s),{sendEvent:I}=o.useTelemetry(),T=i.useRef(p),u=i.useRef(s),{isOpen:g,openPanel:f,closePanel:_}=o.useAiPanel(),P=i.useRef(void 0),L=o.useStore();T.current=p,u.current=s;const C=i.useMemo(()=>{P.current?.end();const E=o.trace.getTracer("replay-ai-chat").startSpan("ai.chat.session",{attributes:{conversation_id:n}});P.current=E;const M=o.trace.setSpan(o.context.active(),E);return new fe.AgentLoop({activeConversationId:n,model:u.current,tools:T.current,sendEvent:I,parentCtx:M,getActiveStateMessage:()=>Be(Ge(L))})},[n,I,L]);i.useEffect(()=>()=>P.current?.end(),[]);const x=i.useMemo(()=>{if(C)return new te.DirectChatTransport({agent:C.getAgent()})},[C]);i.useEffect(()=>{C.setModel(s)},[C,s]),i.useEffect(()=>{C.registerTools(p)},[C,p]);const{messages:S,setMessages:D,sendMessage:F,status:k,error:H,stop:$,addToolApprovalResponse:N}=Ae({id:n,messages:a,transport:x,sendAutomaticallyWhen:te.lastAssistantMessageIsCompleteWithApprovalResponses,onFinish(E){if(!r||!C)return;r({agentLoop:C,chat:this},E)}}),b=i.useMemo(()=>k==="streaming"||k==="submitted",[k]),q=i.useCallback(()=>{c.aiEnabled===!0&&f()},[f,c.aiEnabled]),K=i.useCallback(()=>{_()},[_]),G=i.useCallback(async E=>{const M=E.trim();if(!(!M||!x)){if(s.provider===o.REUNITE_AI_PROVIDER){const y=await d?.();y?.baseUrl&&y?.accessToken&&C.setModel({provider:o.REUNITE_AI_PROVIDER,baseUrl:y.baseUrl,accessToken:y.accessToken})}D(y=>v.hasPendingApprovalMessage(y)?v.denyPendingApprovals(y):y),F({text:M})}},[C,d,s.provider,F,D,x]),m=i.useCallback(()=>{b&&$()},[b,$]);i.useEffect(()=>()=>{$()},[n,$]);const O=i.useCallback(E=>{const M=E(S),y=M.map(z=>z.message),re=[...S];for(const z of M)re[z.index]=z.message;D(re),l?.(y)},[S,l,D]),de=i.useMemo(()=>({messages:S,isStreaming:b,chatStatus:k,chatError:H,sendMessage:G,updateMessages:O,stopGeneration:m,addToolApprovalResponse:N}),[N,H,b,S,G,k,m,O]),he=i.useMemo(()=>({isOpen:g,openPanel:q,closePanel:K}),[g,q,K]);return X.jsx(v.AiConversationContext.Provider,{value:de,children:X.jsx(o.AiPanelContext.Provider,{value:he,children:t})})}function tt(e){return e.slice(-2)}function nt(e,t){return!!(e||t<1)}function st(e){return i.useCallback(async(t,n)=>{if(nt(e,n.messages.length))return null;const s=n.messages[0],a=v.getMessageTextContent(s.parts);try{return(await t.agentLoop.generateTitle(a)).trim()}catch(r){return console.error("Unable to generate chat title",r),null}},[e])}function rt({chatId:e,model:t,existingTitle:n}){const{mutate:s}=Ce(e),a=st(n);return i.useCallback(async(...r)=>{const l=await a(...r);l!==null&&l.length!==0&&s({id:e,model:t,messages:[],title:l})},[a,t,e,s])}function ot({chatId:e,model:t}){const{mutate:n}=ce();return i.useCallback((s,a)=>{const r=tt(a.messages);n({id:e,model:t,messages:r})},[t,e,n])}function at({chatId:e,model:t}){const{mutate:n}=ce();return i.useCallback(s=>{s.length!==0&&n({id:e,model:t,messages:s})},[t,e,n])}function it(e){return i.useMemo(()=>{const t=[o.REUNITE_MODEL_OPTION];if(e){for(const[n,s]of Object.entries(e))if(s.enabled&&s.apiKey){const a=s.models.map(r=>({...r,provider:n}));t.push(...a)}}return t},[e])}function ie(e){return typeof e=="function"?e():e}function le(e,t){try{const n=globalThis.localStorage.getItem(e);return n===null?ie(t):n}catch{return ie(t)}}function lt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{console.error("Failed to write to localStorage",{key:e,value:t})}}function ct(e,t){const[n,s]=i.useState(()=>le(e,t)),a=i.useRef(t);a.current=t,i.useEffect(()=>{s(le(e,a.current))},[e]);const r=i.useCallback(l=>{s(c=>{const d=l instanceof Function?l(c):l;return lt(e,d),d})},[e]);return[n,r]}const ut="replay:ai:selectedModelId";function dt(e){const{availableModels:t,aiProviders:n,reuniteAuth:s}=e,[a,r]=ct(ut,o.REUNITE_MODEL_OPTION.id);return i.useEffect(()=>{t.find(d=>d.id===a)||r(o.REUNITE_MODEL_OPTION.id)},[t,a,r]),{model:i.useMemo(()=>{const c={provider:o.REUNITE_AI_PROVIDER,baseUrl:s.baseUrl,accessToken:s.accessToken},d=t.find(I=>I.id===a);if(!d||d.provider===o.REUNITE_AI_PROVIDER)return c;const p=n?.[d.provider];return!p||!p.apiKey||!p.enabled?c:{provider:d.provider,modelId:d.id,apiKey:p.apiKey}},[a,t,n,s]),selectedModelId:a,selectModel:r}}function ht(){const[e,t]=i.useState({baseUrl:"",accessToken:""}),{getReuniteAuth:n}=o.useSettingsContext();return i.useEffect(()=>{let s=!1;async function a(){const r=await n?.();s||t({baseUrl:r?.baseUrl??"",accessToken:r?.accessToken??""})}return a().catch(()=>{s||t({baseUrl:"",accessToken:""})}),()=>{s=!0}},[n]),e}function ft(e){const{children:t}=e,[n,s]=i.useState(Z.generateAiChatId),[a,r]=i.useState(n),[l,c]=i.useState(null),d=o.useSettings(),p=o.useSettingsContext(),{openPanel:I}=o.useAiPanel(),T=a!==n,u=i.useCallback(()=>{const m=Z.generateAiChatId();r(m),s(m)},[]),g=i.useCallback(m=>{r(m)},[]),{data:f}=v.useAiChat(a),_=ht(),P=it(p.aiProviders),{selectedModelId:L,model:C,selectModel:x}=dt({availableModels:P,aiProviders:p.aiProviders,reuniteAuth:_}),S=me(),D=ot({chatId:n,model:C}),F=at({chatId:n,model:C}),k=rt({chatId:n,model:C,existingTitle:f?.title}),H=i.useCallback((m,O)=>{O.isAbort||(D(m,O),k(m,O))},[D,k]),$=i.useCallback((...m)=>{F(...m)},[F]),N=i.useCallback(m=>{(a===m||n===m)&&u(),S.mutate(m)},[u,n,S,a]),b=f?.id;i.useEffect(()=>{b&&b!==n&&s(b)},[b,a,n]);const q=i.useCallback(()=>{c(null)},[]),K=i.useCallback(m=>{d.aiEnabled&&(u(),c(m),I())},[I,u,d.aiEnabled]),G=i.useMemo(()=>({chatId:n,model:C,availableModels:P,selectedModelId:L,selectModel:x,onSettingsOpen:p.onSettingsOpen,title:f?.title??o.defaultAiChatContextValue.title,isLoading:T,selectChat:g,removeChat:N,createNewChat:u,openAiChatWithPresetInput:K,pendingComposerPreset:l,clearPendingComposerPreset:q}),[n,P,f?.title,C,T,g,N,u,K,l,q,L,x,p.onSettingsOpen]);return X.jsx(o.AiChatContext.Provider,{value:G,children:X.jsx(et,{chatId:n,model:C,initialMessages:f?.messages,onChatFinish:H,onChatMessagesUpdated:$,children:t})})}exports.AiChatProvider=ft;
|
|
6
|
+
`.repeat(2),n=[Ue,t,Oe(e.tabs),t,Se(e.apis),t,Me(e.collections),t,De(e.environments)].join("");return pe.section("active_state",n)}function Le(e){return e.map(Fe)}function Fe(e){return{apiId:e.id,title:e.info?.title??"Untitled API",version:e.info?.version,primaryServer:e.servers?.[0]?.url}}function Ne(e){return e.map(qe)}function qe(e){const t=(e.workflows??[]).map(s=>({workflowId:s.workflowId,summary:s.summary,stepCount:s.steps?.length??0})),n=(e.sourceDescriptions??[]).map(s=>s.apiId).filter(Boolean);return{collectionId:e.id,title:e.info?.title??"Untitled Collection",workflows:t,sourceApiIds:n}}function Ke(e,t){return e.filter(n=>n.state!==o.ItemState.Draft).map(n=>({name:n.name,isActive:n.name===t,inputCount:n.inputs.length,serverCount:n.servers.length}))}function je(e,t,n){return e.map((s,a)=>Qe(n,s,a,a===t))}function Qe(e,t,n,s){const a={tabIndex:n,type:t.data.type,isActive:s,isPreview:t.state===o.TabState.Preview};switch(t.data.type){case o.TabDataType.Collection:{const{collectionId:r}=t.data;return{...a,label:Ve(e,r)??r,collectionId:r}}case o.TabDataType.Workflow:{const{collectionId:r,workflowId:l}=t.data;return{...a,label:l,collectionId:r,workflowId:l}}case o.TabDataType.WorkflowRun:{const{collectionId:r,workflowId:l,historyId:c,label:p}=t.data;return{...a,label:p??`${l} run`,collectionId:r,workflowId:l,isHistory:c!=null}}case o.TabDataType.Step:{const r=t.data;return{...a,label:He(r),collectionId:r.collectionId,workflowId:r.workflowId,stepId:r.stepId,operationId:r.draftStep?.operation?.operationId??null,isDraft:!r.collectionId&&!r.workflowId,isHistory:r.historyId!=null}}}}function Ve(e,t){return e.find(n=>n.id===t)?.info.title}function He(e){if(e.stepId)return e.stepId;if(e.draftStep){const t=[o.getStepMethod(e.draftStep),o.getStepUrl(e.draftStep)].filter(Boolean).join(" ");if(t)return t}return"New Request"}function Ge(e){const t=e.get(o.collectionsAtom);return{tabs:je(e.get(o.tabsAtom),e.get(o.activeTabIdxAtom),t),apis:Le(e.get(o.apisAtom)),collections:Ne(t),environments:Ke(e.get(o.environmentsAtom),e.get(o.activeEnvironmentIdAtom))}}function ze(){const e=o.useCollections(),{tab:t}=o.useActiveTab(),n=t?.data??null;return i.useMemo(()=>{if(!n)return null;switch(n.type){case o.TabDataType.Collection:const a=o.findCollection(e,n.collectionId);return{...n,collection:a};case o.TabDataType.Workflow:const r=o.findWorkflow(e,{collectionId:n.collectionId,workflowId:n.workflowId});return{...n,workflow:r};case o.TabDataType.Step:const l=o.findStep(e,{collectionId:n.collectionId,workflowId:n.workflowId,stepId:n.stepId});return{...n,step:l};case o.TabDataType.WorkflowRun:const c=o.findWorkflow(e,{collectionId:n.collectionId,workflowId:n.workflowId});return{...n,workflow:c}}},[n,e])}function Ye(e){if(!e||typeof e!="object"||!("changes"in e)||!Array.isArray(e.changes))return e;const t=e.changes.filter(s=>s&&typeof s=="object"&&"approved"in s&&s.approved===!0),n="meta"in e&&typeof e.meta=="object"?e.meta:{};return{...e,changes:t,meta:{...n,totalChanges:e.changes.length,approvedChanges:t.length}}}function Je(){return(e,t)=>(n,s)=>t(Ye(n),s)}function Xe(){const{getApiOperation:e}=o.useApiOperationGetter(),t=o.useTabHandlers();return i.useMemo(()=>({getApiOperation:e,...t}),[e,t])}function Ze(e){const{convertOperationToReplayValue:t}=o.useSettingsContext(),n=ze(),s=Xe(),a=o.useSettings(),r=o.useStore(),{attachApiToCollection:l}=o.useCollectionActions(),{handleCloseByDataId:c}=o.useTabHandlers(),p=o.useRunWorkflow(),h=i.useRef(n);return h.current=n,{tools:i.useMemo(()=>{const I=new ge({middlewares:[Je()]});return v.registerBuiltInTools(I,{[v.reportStatusBlueprint.name]:void 0,[v.runRequestBlueprint.name]:{settings:a,store:r},[v.runWorkflowBlueprint.name]:{store:r,runWorkflow:p},[v.updateSecurityBlueprint.name]:{store:r},[v.updateStepBlueprint.name]:{store:r},[v.manageCollectionBlueprint.name]:{store:r,attachApiToCollection:l,handleCloseByDataId:c,convertOperationToReplayValue:t},[v.manageEnvironmentBlueprint.name]:{store:r},[v.webSearchBlueprint.name]:{model:e},[v.searchBlueprint.name]:{store:r},[v.openTabBlueprint.name]:{store:r,context:s},[v.getCurrentTabBlueprint.name]:{getActiveTabDetailedData:()=>h.current},[v.getApiMetadataBlueprint.name]:{store:r}}),I.getToolSet()},[l,t,c,e,s,p,a,r])}}function et(e){const{children:t,chatId:n,model:s,initialMessages:a,onChatFinish:r,onChatMessagesUpdated:l}=e,c=o.useSettings(),{getReuniteAuth:p}=o.useSettingsContext(),{tools:h}=Ze(s),{sendEvent:w}=o.useTelemetry(),I=i.useRef(h),u=i.useRef(s),{isOpen:g,openPanel:f,closePanel:_}=o.useAiPanel(),P=i.useRef(void 0),L=o.useStore();I.current=h,u.current=s;const C=i.useMemo(()=>{P.current?.end();const E=o.trace.getTracer("replay-ai-chat").startSpan("ai.chat.session",{attributes:{conversation_id:n}});P.current=E;const M=o.trace.setSpan(o.context.active(),E);return new fe.AgentLoop({activeConversationId:n,model:u.current,tools:I.current,sendEvent:w,parentCtx:M,getActiveStateMessage:()=>Be(Ge(L))})},[n,w,L]);i.useEffect(()=>()=>P.current?.end(),[]);const x=i.useMemo(()=>{if(C)return new te.DirectChatTransport({agent:C.getAgent()})},[C]);i.useEffect(()=>{C.setModel(s)},[C,s]),i.useEffect(()=>{C.registerTools(h)},[C,h]);const{messages:S,setMessages:D,sendMessage:F,status:k,error:H,stop:$,addToolApprovalResponse:N}=Ae({id:n,messages:a,transport:x,sendAutomaticallyWhen:te.lastAssistantMessageIsCompleteWithApprovalResponses,onFinish(E){if(!r||!C)return;r({agentLoop:C,chat:this},E)}}),b=i.useMemo(()=>k==="streaming"||k==="submitted",[k]),q=i.useCallback(()=>{c.aiEnabled===!0&&f()},[f,c.aiEnabled]),K=i.useCallback(()=>{_()},[_]),G=i.useCallback(async E=>{const M=E.trim();if(!(!M||!x)){if(s.provider===o.REUNITE_AI_PROVIDER){const y=await p?.();y?.baseUrl&&y?.accessToken&&C.setModel({provider:o.REUNITE_AI_PROVIDER,baseUrl:y.baseUrl,accessToken:y.accessToken})}D(y=>v.hasPendingApprovalMessage(y)?v.denyPendingApprovals(y):y),F({text:M})}},[C,p,s.provider,F,D,x]),m=i.useCallback(()=>{b&&$()},[b,$]);i.useEffect(()=>()=>{$()},[n,$]);const O=i.useCallback(E=>{const M=E(S),y=M.map(z=>z.message),re=[...S];for(const z of M)re[z.index]=z.message;D(re),l?.(y)},[S,l,D]),de=i.useMemo(()=>({messages:S,isStreaming:b,chatStatus:k,chatError:H,sendMessage:G,updateMessages:O,stopGeneration:m,addToolApprovalResponse:N}),[N,H,b,S,G,k,m,O]),he=i.useMemo(()=>({isOpen:g,openPanel:q,closePanel:K}),[g,q,K]);return X.jsx(v.AiConversationContext.Provider,{value:de,children:X.jsx(o.AiPanelContext.Provider,{value:he,children:t})})}function tt(e){return e.slice(-2)}function nt(e,t){return!!(e||t<1)}function st(e){return i.useCallback(async(t,n)=>{if(nt(e,n.messages.length))return null;const s=n.messages[0],a=v.getMessageTextContent(s.parts);try{return(await t.agentLoop.generateTitle(a)).trim()}catch(r){return console.error("Unable to generate chat title",r),null}},[e])}function rt({chatId:e,model:t,existingTitle:n}){const{mutate:s}=Ce(e),a=st(n);return i.useCallback(async(...r)=>{const l=await a(...r);l!==null&&l.length!==0&&s({id:e,model:t,messages:[],title:l})},[a,t,e,s])}function ot({chatId:e,model:t}){const{mutate:n}=ce();return i.useCallback((s,a)=>{const r=tt(a.messages);n({id:e,model:t,messages:r})},[t,e,n])}function at({chatId:e,model:t}){const{mutate:n}=ce();return i.useCallback(s=>{s.length!==0&&n({id:e,model:t,messages:s})},[t,e,n])}function it(e){return i.useMemo(()=>{const t=[o.REUNITE_MODEL_OPTION];if(e){for(const[n,s]of Object.entries(e))if(s.enabled&&s.apiKey){const a=s.models.map(r=>({...r,provider:n}));t.push(...a)}}return t},[e])}function ie(e){return typeof e=="function"?e():e}function le(e,t){try{const n=globalThis.localStorage.getItem(e);return n===null?ie(t):n}catch{return ie(t)}}function lt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{console.error("Failed to write to localStorage",{key:e,value:t})}}function ct(e,t){const[n,s]=i.useState(()=>le(e,t)),a=i.useRef(t);a.current=t,i.useEffect(()=>{s(le(e,a.current))},[e]);const r=i.useCallback(l=>{s(c=>{const p=l instanceof Function?l(c):l;return lt(e,p),p})},[e]);return[n,r]}const ut="replay:ai:selectedModelId";function dt(e){const{availableModels:t,aiProviders:n,reuniteAuth:s}=e,[a,r]=ct(ut,o.REUNITE_MODEL_OPTION.id),l=t.some(p=>p.id===a)?a:o.REUNITE_MODEL_OPTION.id;return{model:i.useMemo(()=>{const p={provider:o.REUNITE_AI_PROVIDER,baseUrl:s.baseUrl,accessToken:s.accessToken},h=t.find(I=>I.id===l);if(!h||h.provider===o.REUNITE_AI_PROVIDER)return p;const w=n?.[h.provider];return!w||!w.apiKey||!w.enabled?p:{provider:h.provider,modelId:h.id,apiKey:w.apiKey}},[l,t,n,s]),selectedModelId:l,selectModel:r}}function ht(){const[e,t]=i.useState({baseUrl:"",accessToken:""}),{getReuniteAuth:n}=o.useSettingsContext();return i.useEffect(()=>{let s=!1;async function a(){const r=await n?.();s||t({baseUrl:r?.baseUrl??"",accessToken:r?.accessToken??""})}return a().catch(()=>{s||t({baseUrl:"",accessToken:""})}),()=>{s=!0}},[n]),e}function ft(e){const{children:t}=e,[n,s]=i.useState(Z.generateAiChatId),[a,r]=i.useState(n),[l,c]=i.useState(null),p=o.useSettings(),h=o.useSettingsContext(),{openPanel:w}=o.useAiPanel(),I=a!==n,u=i.useCallback(()=>{const m=Z.generateAiChatId();r(m),s(m)},[]),g=i.useCallback(m=>{r(m)},[]),{data:f}=v.useAiChat(a),_=ht(),P=it(h.aiProviders),{selectedModelId:L,model:C,selectModel:x}=dt({availableModels:P,aiProviders:h.aiProviders,reuniteAuth:_}),S=me(),D=ot({chatId:n,model:C}),F=at({chatId:n,model:C}),k=rt({chatId:n,model:C,existingTitle:f?.title}),H=i.useCallback((m,O)=>{O.isAbort||(D(m,O),k(m,O))},[D,k]),$=i.useCallback((...m)=>{F(...m)},[F]),N=i.useCallback(m=>{(a===m||n===m)&&u(),S.mutate(m)},[u,n,S,a]),b=f?.id;i.useEffect(()=>{b&&b!==n&&s(b)},[b,a,n]);const q=i.useCallback(()=>{c(null)},[]),K=i.useCallback(m=>{p.aiEnabled&&(u(),c(m),w())},[w,u,p.aiEnabled]),G=i.useMemo(()=>({chatId:n,model:C,availableModels:P,selectedModelId:L,selectModel:x,onSettingsOpen:h.onSettingsOpen,title:f?.title??o.defaultAiChatContextValue.title,isLoading:I,selectChat:g,removeChat:N,createNewChat:u,openAiChatWithPresetInput:K,pendingComposerPreset:l,clearPendingComposerPreset:q}),[n,P,f?.title,C,I,g,N,u,K,l,q,L,x,h.onSettingsOpen]);return X.jsx(o.AiChatContext.Provider,{value:G,children:X.jsx(et,{chatId:n,model:C,initialMessages:f?.messages,onChatFinish:H,onChatMessagesUpdated:$,children:t})})}exports.AiChatProvider=ft;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as te } from "react/jsx-runtime";
|
|
2
|
-
import { useRef as W, useCallback as f, useSyncExternalStore as re, useEffect as
|
|
3
|
-
import {
|
|
4
|
-
import { A as Xe, D as Ze, l as et } from "./replay-create-model-
|
|
5
|
-
import { AgentLoop as tt } from "./replay-agent-loop-
|
|
6
|
-
import { s as nt } from "./replay-db-
|
|
7
|
-
import { r as st, g as rt, a as ot, o as at, s as it, w as lt, m as ct, b as ut, u as dt, c as ht, d as pt, e as ft, f as gt, h as mt, i as vt, A as wt, j as Ct, k as It } from "./replay-useAiChatQueries-
|
|
2
|
+
import { useRef as W, useCallback as f, useSyncExternalStore as re, useEffect as R, useMemo as I, useState as z } from "react";
|
|
3
|
+
import { a0 as S, a1 as ce, K as _e, a2 as Re, a3 as $e, a4 as $, a5 as Pe, a6 as xe, c as De, a7 as We, a8 as Be, a as Oe, a9 as Ue, aa as Fe, ab as Le, ac as je, ad as fe, ae as Ne, af as Ke, ag as qe, ah as Ae, ai as se, aj as ue, ak as Te, al as Qe, am as Ve, an as Ge, ao as ye, z as ge, B as He, R as ne, ap as ze, aq as ae, ar as Ye, as as Je } from "./replay-index-4TEahAPK.js";
|
|
4
|
+
import { A as Xe, D as Ze, l as et } from "./replay-create-model-DPxfOEfv.js";
|
|
5
|
+
import { AgentLoop as tt } from "./replay-agent-loop-BgYyBo9e.js";
|
|
6
|
+
import { s as nt } from "./replay-db-D4-LmLRk.js";
|
|
7
|
+
import { r as st, g as rt, a as ot, o as at, s as it, w as lt, m as ct, b as ut, u as dt, c as ht, d as pt, e as ft, f as gt, h as mt, i as vt, A as wt, j as Ct, k as It } from "./replay-useAiChatQueries-D2hh5omV.js";
|
|
8
8
|
import { useQueryClient as de, useMutation as he } from "@tanstack/react-query";
|
|
9
|
-
import {
|
|
9
|
+
import { d as Se, g as me } from "./replay-ai-chat-mappers-BEwNRQPV.js";
|
|
10
10
|
class At {
|
|
11
11
|
handlers = /* @__PURE__ */ new Map();
|
|
12
12
|
middlewares;
|
|
@@ -128,10 +128,10 @@ function St() {
|
|
|
128
128
|
let s, o = 0;
|
|
129
129
|
return function(...a) {
|
|
130
130
|
clearTimeout(s);
|
|
131
|
-
const i = Date.now(),
|
|
132
|
-
|
|
131
|
+
const i = Date.now(), h = i - o, u = n - h;
|
|
132
|
+
u <= 0 ? (o = i, t.apply(this, a)) : s = setTimeout(() => {
|
|
133
133
|
o = Date.now(), t.apply(this, a);
|
|
134
|
-
},
|
|
134
|
+
}, u);
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
return oe = e, oe;
|
|
@@ -141,64 +141,64 @@ const bt = /* @__PURE__ */ _e(kt);
|
|
|
141
141
|
var be = (e, t, n) => {
|
|
142
142
|
if (!t.has(e))
|
|
143
143
|
throw TypeError("Cannot " + n);
|
|
144
|
-
},
|
|
144
|
+
}, c = (e, t, n) => (be(e, t, "read from private field"), n ? n.call(e) : t.get(e)), T = (e, t, n) => {
|
|
145
145
|
if (t.has(e))
|
|
146
146
|
throw TypeError("Cannot add the same private member more than once");
|
|
147
147
|
t instanceof WeakSet ? t.add(e) : t.set(e, n);
|
|
148
|
-
},
|
|
149
|
-
function
|
|
148
|
+
}, _ = (e, t, n, s) => (be(e, t, "write to private field"), t.set(e, n), n);
|
|
149
|
+
function Mt(e, t) {
|
|
150
150
|
return t != null ? bt(e, t) : e;
|
|
151
151
|
}
|
|
152
|
-
var
|
|
152
|
+
var C, Z, ee, V, G, H, F, ie, le, Et = class {
|
|
153
153
|
constructor(e = []) {
|
|
154
|
-
T(this,
|
|
155
|
-
|
|
154
|
+
T(this, C, void 0), T(this, Z, "ready"), T(this, ee, void 0), T(this, V, /* @__PURE__ */ new Set()), T(this, G, /* @__PURE__ */ new Set()), T(this, H, /* @__PURE__ */ new Set()), this.pushMessage = (t) => {
|
|
155
|
+
_(this, C, c(this, C).concat(t)), c(this, F).call(this);
|
|
156
156
|
}, this.popMessage = () => {
|
|
157
|
-
|
|
157
|
+
_(this, C, c(this, C).slice(0, -1)), c(this, F).call(this);
|
|
158
158
|
}, this.replaceMessage = (t, n) => {
|
|
159
|
-
|
|
160
|
-
...
|
|
159
|
+
_(this, C, [
|
|
160
|
+
...c(this, C).slice(0, t),
|
|
161
161
|
// We deep clone the message here to ensure the new React Compiler (currently in RC) detects deeply nested parts/metadata changes:
|
|
162
162
|
this.snapshot(n),
|
|
163
|
-
...
|
|
164
|
-
]),
|
|
163
|
+
...c(this, C).slice(t + 1)
|
|
164
|
+
]), c(this, F).call(this);
|
|
165
165
|
}, this.snapshot = (t) => structuredClone(t), this["~registerMessagesCallback"] = (t, n) => {
|
|
166
|
-
const s = n ?
|
|
167
|
-
return
|
|
168
|
-
|
|
166
|
+
const s = n ? Mt(t, n) : t;
|
|
167
|
+
return c(this, V).add(s), () => {
|
|
168
|
+
c(this, V).delete(s);
|
|
169
169
|
};
|
|
170
|
-
}, this["~registerStatusCallback"] = (t) => (
|
|
171
|
-
|
|
172
|
-
}), this["~registerErrorCallback"] = (t) => (
|
|
173
|
-
|
|
170
|
+
}, this["~registerStatusCallback"] = (t) => (c(this, G).add(t), () => {
|
|
171
|
+
c(this, G).delete(t);
|
|
172
|
+
}), this["~registerErrorCallback"] = (t) => (c(this, H).add(t), () => {
|
|
173
|
+
c(this, H).delete(t);
|
|
174
174
|
}), T(this, F, () => {
|
|
175
|
-
|
|
175
|
+
c(this, V).forEach((t) => t());
|
|
176
176
|
}), T(this, ie, () => {
|
|
177
|
-
|
|
177
|
+
c(this, G).forEach((t) => t());
|
|
178
178
|
}), T(this, le, () => {
|
|
179
|
-
|
|
180
|
-
}),
|
|
179
|
+
c(this, H).forEach((t) => t());
|
|
180
|
+
}), _(this, C, e);
|
|
181
181
|
}
|
|
182
182
|
get status() {
|
|
183
|
-
return
|
|
183
|
+
return c(this, Z);
|
|
184
184
|
}
|
|
185
185
|
set status(e) {
|
|
186
|
-
|
|
186
|
+
_(this, Z, e), c(this, ie).call(this);
|
|
187
187
|
}
|
|
188
188
|
get error() {
|
|
189
|
-
return
|
|
189
|
+
return c(this, ee);
|
|
190
190
|
}
|
|
191
191
|
set error(e) {
|
|
192
|
-
|
|
192
|
+
_(this, ee, e), c(this, le).call(this);
|
|
193
193
|
}
|
|
194
194
|
get messages() {
|
|
195
|
-
return
|
|
195
|
+
return c(this, C);
|
|
196
196
|
}
|
|
197
197
|
set messages(e) {
|
|
198
|
-
|
|
198
|
+
_(this, C, [...e]), c(this, F).call(this);
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
|
|
201
|
+
C = /* @__PURE__ */ new WeakMap();
|
|
202
202
|
Z = /* @__PURE__ */ new WeakMap();
|
|
203
203
|
ee = /* @__PURE__ */ new WeakMap();
|
|
204
204
|
V = /* @__PURE__ */ new WeakMap();
|
|
@@ -209,8 +209,8 @@ ie = /* @__PURE__ */ new WeakMap();
|
|
|
209
209
|
le = /* @__PURE__ */ new WeakMap();
|
|
210
210
|
var L, we = class extends Xe {
|
|
211
211
|
constructor({ messages: e, ...t }) {
|
|
212
|
-
const n = new
|
|
213
|
-
super({ ...t, state: n }), T(this, L, void 0), this["~registerMessagesCallback"] = (s, o) =>
|
|
212
|
+
const n = new Et(e);
|
|
213
|
+
super({ ...t, state: n }), T(this, L, void 0), this["~registerMessagesCallback"] = (s, o) => c(this, L)["~registerMessagesCallback"](s, o), this["~registerStatusCallback"] = (s) => c(this, L)["~registerStatusCallback"](s), this["~registerErrorCallback"] = (s) => c(this, L)["~registerErrorCallback"](s), _(this, L, n);
|
|
214
214
|
}
|
|
215
215
|
};
|
|
216
216
|
L = /* @__PURE__ */ new WeakMap();
|
|
@@ -266,37 +266,37 @@ function _t({
|
|
|
266
266
|
// `chatRef.current.id` is required to trigger re-subscription when the chat ID changes
|
|
267
267
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
268
268
|
[e, r.current.id]
|
|
269
|
-
),
|
|
269
|
+
), h = re(
|
|
270
270
|
i,
|
|
271
271
|
() => r.current.messages,
|
|
272
272
|
() => r.current.messages
|
|
273
|
-
),
|
|
273
|
+
), u = re(
|
|
274
274
|
r.current["~registerStatusCallback"],
|
|
275
275
|
() => r.current.status,
|
|
276
276
|
() => r.current.status
|
|
277
|
-
),
|
|
277
|
+
), v = re(
|
|
278
278
|
r.current["~registerErrorCallback"],
|
|
279
279
|
() => r.current.error,
|
|
280
280
|
() => r.current.error
|
|
281
|
-
),
|
|
281
|
+
), w = f(
|
|
282
282
|
(l) => {
|
|
283
283
|
typeof l == "function" && (l = l(r.current.messages)), r.current.messages = l;
|
|
284
284
|
},
|
|
285
285
|
[r]
|
|
286
286
|
);
|
|
287
|
-
return
|
|
287
|
+
return R(() => {
|
|
288
288
|
t && r.current.resumeStream();
|
|
289
289
|
}, [t, r]), {
|
|
290
290
|
id: r.current.id,
|
|
291
|
-
messages:
|
|
292
|
-
setMessages:
|
|
291
|
+
messages: h,
|
|
292
|
+
setMessages: w,
|
|
293
293
|
sendMessage: r.current.sendMessage,
|
|
294
294
|
regenerate: r.current.regenerate,
|
|
295
295
|
clearError: r.current.clearError,
|
|
296
296
|
stop: r.current.stop,
|
|
297
|
-
error:
|
|
297
|
+
error: v,
|
|
298
298
|
resumeStream: r.current.resumeStream,
|
|
299
|
-
status:
|
|
299
|
+
status: u,
|
|
300
300
|
/**
|
|
301
301
|
* @deprecated Use `addToolOutput` instead.
|
|
302
302
|
*/
|
|
@@ -480,10 +480,10 @@ function Jt(e, t, n, s) {
|
|
|
480
480
|
return { ...o, label: a, collectionId: r, workflowId: a };
|
|
481
481
|
}
|
|
482
482
|
case $.WorkflowRun: {
|
|
483
|
-
const { collectionId: r, workflowId: a, historyId: i, label:
|
|
483
|
+
const { collectionId: r, workflowId: a, historyId: i, label: h } = t.data;
|
|
484
484
|
return {
|
|
485
485
|
...o,
|
|
486
|
-
label:
|
|
486
|
+
label: h ?? `${a} run`,
|
|
487
487
|
collectionId: r,
|
|
488
488
|
workflowId: a,
|
|
489
489
|
isHistory: i != null
|
|
@@ -531,7 +531,7 @@ function en(e) {
|
|
|
531
531
|
}
|
|
532
532
|
function tn() {
|
|
533
533
|
const e = Le(), { tab: t } = je(), n = t?.data ?? null;
|
|
534
|
-
return
|
|
534
|
+
return I(() => {
|
|
535
535
|
if (!n)
|
|
536
536
|
return null;
|
|
537
537
|
switch (n.type) {
|
|
@@ -593,7 +593,7 @@ function sn() {
|
|
|
593
593
|
}
|
|
594
594
|
function rn() {
|
|
595
595
|
const { getApiOperation: e } = qe(), t = Ae();
|
|
596
|
-
return
|
|
596
|
+
return I(
|
|
597
597
|
() => ({
|
|
598
598
|
getApiOperation: e,
|
|
599
599
|
...t
|
|
@@ -602,15 +602,15 @@ function rn() {
|
|
|
602
602
|
);
|
|
603
603
|
}
|
|
604
604
|
function on(e) {
|
|
605
|
-
const { convertOperationToReplayValue: t } = se(), n = tn(), s = rn(), o = ue(), r = Te(), { attachApiToCollection: a } = Qe(), { handleCloseByDataId: i } = Ae(),
|
|
606
|
-
return
|
|
607
|
-
const
|
|
605
|
+
const { convertOperationToReplayValue: t } = se(), n = tn(), s = rn(), o = ue(), r = Te(), { attachApiToCollection: a } = Qe(), { handleCloseByDataId: i } = Ae(), h = Ve(), u = W(n);
|
|
606
|
+
return u.current = n, { tools: I(() => {
|
|
607
|
+
const w = new At({
|
|
608
608
|
middlewares: [sn()]
|
|
609
609
|
});
|
|
610
|
-
return st(
|
|
610
|
+
return st(w, {
|
|
611
611
|
[gt.name]: void 0,
|
|
612
612
|
[ft.name]: { settings: o, store: r },
|
|
613
|
-
[pt.name]: { store: r, runWorkflow:
|
|
613
|
+
[pt.name]: { store: r, runWorkflow: h },
|
|
614
614
|
[ht.name]: { store: r },
|
|
615
615
|
[dt.name]: { store: r },
|
|
616
616
|
[ut.name]: {
|
|
@@ -624,53 +624,53 @@ function on(e) {
|
|
|
624
624
|
[it.name]: { store: r },
|
|
625
625
|
[at.name]: { store: r, context: s },
|
|
626
626
|
[ot.name]: {
|
|
627
|
-
getActiveTabDetailedData: () =>
|
|
627
|
+
getActiveTabDetailedData: () => u.current
|
|
628
628
|
},
|
|
629
629
|
[rt.name]: { store: r }
|
|
630
|
-
}),
|
|
630
|
+
}), w.getToolSet();
|
|
631
631
|
}, [
|
|
632
632
|
a,
|
|
633
633
|
t,
|
|
634
634
|
i,
|
|
635
635
|
e,
|
|
636
636
|
s,
|
|
637
|
-
|
|
637
|
+
h,
|
|
638
638
|
o,
|
|
639
639
|
r
|
|
640
640
|
]) };
|
|
641
641
|
}
|
|
642
642
|
function an(e) {
|
|
643
|
-
const { children: t, chatId: n, model: s, initialMessages: o, onChatFinish: r, onChatMessagesUpdated: a } = e, i = ue(), { getReuniteAuth:
|
|
644
|
-
|
|
645
|
-
const g =
|
|
643
|
+
const { children: t, chatId: n, model: s, initialMessages: o, onChatFinish: r, onChatMessagesUpdated: a } = e, i = ue(), { getReuniteAuth: h } = se(), { tools: u } = on(s), { sendEvent: v } = Ge(), w = W(u), l = W(s), { isOpen: p, openPanel: d, closePanel: P } = ye(), x = W(void 0), j = Te();
|
|
644
|
+
w.current = u, l.current = s;
|
|
645
|
+
const g = I(() => {
|
|
646
646
|
x.current?.end();
|
|
647
647
|
const M = ge.getTracer("replay-ai-chat").startSpan("ai.chat.session", { attributes: { conversation_id: n } });
|
|
648
648
|
x.current = M;
|
|
649
|
-
const
|
|
649
|
+
const E = ge.setSpan(He.active(), M);
|
|
650
650
|
return new tt({
|
|
651
651
|
activeConversationId: n,
|
|
652
652
|
model: l.current,
|
|
653
|
-
tools:
|
|
654
|
-
sendEvent:
|
|
655
|
-
parentCtx:
|
|
653
|
+
tools: w.current,
|
|
654
|
+
sendEvent: v,
|
|
655
|
+
parentCtx: E,
|
|
656
656
|
getActiveStateMessage: () => qt(en(j))
|
|
657
657
|
});
|
|
658
|
-
}, [n,
|
|
659
|
-
|
|
660
|
-
const B =
|
|
658
|
+
}, [n, v, j]);
|
|
659
|
+
R(() => () => x.current?.end(), []);
|
|
660
|
+
const B = I(() => {
|
|
661
661
|
if (g)
|
|
662
662
|
return new Ze({ agent: g.getAgent() });
|
|
663
663
|
}, [g]);
|
|
664
|
-
|
|
664
|
+
R(() => {
|
|
665
665
|
g.setModel(s);
|
|
666
|
-
}, [g, s]),
|
|
667
|
-
g.registerTools(
|
|
668
|
-
}, [g,
|
|
666
|
+
}, [g, s]), R(() => {
|
|
667
|
+
g.registerTools(u);
|
|
668
|
+
}, [g, u]);
|
|
669
669
|
const {
|
|
670
|
-
messages:
|
|
670
|
+
messages: k,
|
|
671
671
|
setMessages: D,
|
|
672
672
|
sendMessage: N,
|
|
673
|
-
status:
|
|
673
|
+
status: b,
|
|
674
674
|
error: Y,
|
|
675
675
|
stop: O,
|
|
676
676
|
addToolApprovalResponse: K
|
|
@@ -683,16 +683,16 @@ function an(e) {
|
|
|
683
683
|
if (!r || !g) return;
|
|
684
684
|
r({ agentLoop: g, chat: this }, M);
|
|
685
685
|
}
|
|
686
|
-
}), y =
|
|
686
|
+
}), y = I(() => b === "streaming" || b === "submitted", [b]), q = f(() => {
|
|
687
687
|
i.aiEnabled === !0 && d();
|
|
688
688
|
}, [d, i.aiEnabled]), Q = f(() => {
|
|
689
689
|
P();
|
|
690
690
|
}, [P]), J = f(
|
|
691
691
|
async (M) => {
|
|
692
|
-
const
|
|
693
|
-
if (!(!
|
|
692
|
+
const E = M.trim();
|
|
693
|
+
if (!(!E || !B)) {
|
|
694
694
|
if (s.provider === ne) {
|
|
695
|
-
const A = await
|
|
695
|
+
const A = await h?.();
|
|
696
696
|
A?.baseUrl && A?.accessToken && g.setModel({
|
|
697
697
|
provider: ne,
|
|
698
698
|
baseUrl: A.baseUrl,
|
|
@@ -701,29 +701,29 @@ function an(e) {
|
|
|
701
701
|
}
|
|
702
702
|
D(
|
|
703
703
|
(A) => mt(A) ? vt(A) : A
|
|
704
|
-
), N({ text:
|
|
704
|
+
), N({ text: E });
|
|
705
705
|
}
|
|
706
706
|
},
|
|
707
|
-
[g,
|
|
707
|
+
[g, h, s.provider, N, D, B]
|
|
708
708
|
), m = f(() => {
|
|
709
709
|
y && O();
|
|
710
710
|
}, [y, O]);
|
|
711
|
-
|
|
711
|
+
R(() => () => {
|
|
712
712
|
O();
|
|
713
713
|
}, [n, O]);
|
|
714
714
|
const U = f(
|
|
715
715
|
(M) => {
|
|
716
|
-
const
|
|
717
|
-
for (const X of
|
|
716
|
+
const E = M(k), A = E.map((X) => X.message), pe = [...k];
|
|
717
|
+
for (const X of E)
|
|
718
718
|
pe[X.index] = X.message;
|
|
719
719
|
D(pe), a?.(A);
|
|
720
720
|
},
|
|
721
|
-
[
|
|
722
|
-
),
|
|
721
|
+
[k, a, D]
|
|
722
|
+
), Me = I(
|
|
723
723
|
() => ({
|
|
724
|
-
messages:
|
|
724
|
+
messages: k,
|
|
725
725
|
isStreaming: y,
|
|
726
|
-
chatStatus:
|
|
726
|
+
chatStatus: b,
|
|
727
727
|
chatError: Y,
|
|
728
728
|
sendMessage: J,
|
|
729
729
|
updateMessages: U,
|
|
@@ -734,13 +734,13 @@ function an(e) {
|
|
|
734
734
|
K,
|
|
735
735
|
Y,
|
|
736
736
|
y,
|
|
737
|
-
|
|
737
|
+
k,
|
|
738
738
|
J,
|
|
739
|
-
|
|
739
|
+
b,
|
|
740
740
|
m,
|
|
741
741
|
U
|
|
742
742
|
]
|
|
743
|
-
),
|
|
743
|
+
), Ee = I(
|
|
744
744
|
() => ({
|
|
745
745
|
isOpen: p,
|
|
746
746
|
openPanel: q,
|
|
@@ -748,7 +748,7 @@ function an(e) {
|
|
|
748
748
|
}),
|
|
749
749
|
[p, q, Q]
|
|
750
750
|
);
|
|
751
|
-
return /* @__PURE__ */ te(wt.Provider, { value:
|
|
751
|
+
return /* @__PURE__ */ te(wt.Provider, { value: Me, children: /* @__PURE__ */ te(ze.Provider, { value: Ee, children: t }) });
|
|
752
752
|
}
|
|
753
753
|
function ln(e) {
|
|
754
754
|
return e.slice(-2);
|
|
@@ -820,7 +820,7 @@ function pn({ chatId: e, model: t }) {
|
|
|
820
820
|
);
|
|
821
821
|
}
|
|
822
822
|
function fn(e) {
|
|
823
|
-
return
|
|
823
|
+
return I(() => {
|
|
824
824
|
const t = [ae];
|
|
825
825
|
if (e) {
|
|
826
826
|
for (const [n, s] of Object.entries(e))
|
|
@@ -855,14 +855,14 @@ function gn(e, t) {
|
|
|
855
855
|
}
|
|
856
856
|
function mn(e, t) {
|
|
857
857
|
const [n, s] = z(() => Ie(e, t)), o = W(t);
|
|
858
|
-
o.current = t,
|
|
858
|
+
o.current = t, R(() => {
|
|
859
859
|
s(Ie(e, o.current));
|
|
860
860
|
}, [e]);
|
|
861
861
|
const r = f(
|
|
862
862
|
(a) => {
|
|
863
863
|
s((i) => {
|
|
864
|
-
const
|
|
865
|
-
return gn(e,
|
|
864
|
+
const h = a instanceof Function ? a(i) : a;
|
|
865
|
+
return gn(e, h), h;
|
|
866
866
|
});
|
|
867
867
|
},
|
|
868
868
|
[e]
|
|
@@ -874,31 +874,29 @@ function wn(e) {
|
|
|
874
874
|
const { availableModels: t, aiProviders: n, reuniteAuth: s } = e, [o, r] = mn(
|
|
875
875
|
vn,
|
|
876
876
|
ae.id
|
|
877
|
-
);
|
|
878
|
-
return
|
|
879
|
-
|
|
880
|
-
}, [t, o, r]), { model: w(() => {
|
|
881
|
-
const i = {
|
|
877
|
+
), a = t.some((h) => h.id === o) ? o : ae.id;
|
|
878
|
+
return { model: I(() => {
|
|
879
|
+
const h = {
|
|
882
880
|
provider: ne,
|
|
883
881
|
baseUrl: s.baseUrl,
|
|
884
882
|
accessToken: s.accessToken
|
|
885
|
-
},
|
|
886
|
-
if (!
|
|
887
|
-
return
|
|
888
|
-
const
|
|
889
|
-
return !
|
|
890
|
-
provider:
|
|
891
|
-
modelId:
|
|
892
|
-
apiKey:
|
|
883
|
+
}, u = t.find((w) => w.id === a);
|
|
884
|
+
if (!u || u.provider === ne)
|
|
885
|
+
return h;
|
|
886
|
+
const v = n?.[u.provider];
|
|
887
|
+
return !v || !v.apiKey || !v.enabled ? h : {
|
|
888
|
+
provider: u.provider,
|
|
889
|
+
modelId: u.id,
|
|
890
|
+
apiKey: v.apiKey
|
|
893
891
|
};
|
|
894
|
-
}, [
|
|
892
|
+
}, [a, t, n, s]), selectedModelId: a, selectModel: r };
|
|
895
893
|
}
|
|
896
894
|
function Cn() {
|
|
897
895
|
const [e, t] = z({
|
|
898
896
|
baseUrl: "",
|
|
899
897
|
accessToken: ""
|
|
900
898
|
}), { getReuniteAuth: n } = se();
|
|
901
|
-
return
|
|
899
|
+
return R(() => {
|
|
902
900
|
let s = !1;
|
|
903
901
|
async function o() {
|
|
904
902
|
const r = await n?.();
|
|
@@ -918,24 +916,24 @@ function Cn() {
|
|
|
918
916
|
}, [n]), e;
|
|
919
917
|
}
|
|
920
918
|
function _n(e) {
|
|
921
|
-
const { children: t } = e, [n, s] = z(me), [o, r] = z(n), [a, i] = z(null),
|
|
919
|
+
const { children: t } = e, [n, s] = z(me), [o, r] = z(n), [a, i] = z(null), h = ue(), u = se(), { openPanel: v } = ye(), w = o !== n, l = f(() => {
|
|
922
920
|
const m = me();
|
|
923
921
|
r(m), s(m);
|
|
924
922
|
}, []), p = f((m) => {
|
|
925
923
|
r(m);
|
|
926
|
-
}, []), { data: d } = It(o), P = Cn(), x = fn(
|
|
924
|
+
}, []), { data: d } = It(o), P = Cn(), x = fn(u.aiProviders), { selectedModelId: j, model: g, selectModel: B } = wn({
|
|
927
925
|
availableModels: x,
|
|
928
|
-
aiProviders:
|
|
926
|
+
aiProviders: u.aiProviders,
|
|
929
927
|
reuniteAuth: P
|
|
930
|
-
}),
|
|
928
|
+
}), k = yt(), D = hn({ chatId: n, model: g }), N = pn({ chatId: n, model: g }), b = dn({
|
|
931
929
|
chatId: n,
|
|
932
930
|
model: g,
|
|
933
931
|
existingTitle: d?.title
|
|
934
932
|
}), Y = f(
|
|
935
933
|
(m, U) => {
|
|
936
|
-
U.isAbort || (D(m, U),
|
|
934
|
+
U.isAbort || (D(m, U), b(m, U));
|
|
937
935
|
},
|
|
938
|
-
[D,
|
|
936
|
+
[D, b]
|
|
939
937
|
), O = f(
|
|
940
938
|
(...m) => {
|
|
941
939
|
N(...m);
|
|
@@ -943,30 +941,30 @@ function _n(e) {
|
|
|
943
941
|
[N]
|
|
944
942
|
), K = f(
|
|
945
943
|
(m) => {
|
|
946
|
-
(o === m || n === m) && l(),
|
|
944
|
+
(o === m || n === m) && l(), k.mutate(m);
|
|
947
945
|
},
|
|
948
|
-
[l, n,
|
|
946
|
+
[l, n, k, o]
|
|
949
947
|
), y = d?.id;
|
|
950
|
-
|
|
948
|
+
R(() => {
|
|
951
949
|
y && y !== n && s(y);
|
|
952
950
|
}, [y, o, n]);
|
|
953
951
|
const q = f(() => {
|
|
954
952
|
i(null);
|
|
955
953
|
}, []), Q = f(
|
|
956
954
|
(m) => {
|
|
957
|
-
|
|
955
|
+
h.aiEnabled && (l(), i(m), v());
|
|
958
956
|
},
|
|
959
|
-
[
|
|
960
|
-
), J =
|
|
957
|
+
[v, l, h.aiEnabled]
|
|
958
|
+
), J = I(
|
|
961
959
|
() => ({
|
|
962
960
|
chatId: n,
|
|
963
961
|
model: g,
|
|
964
962
|
availableModels: x,
|
|
965
963
|
selectedModelId: j,
|
|
966
964
|
selectModel: B,
|
|
967
|
-
onSettingsOpen:
|
|
965
|
+
onSettingsOpen: u.onSettingsOpen,
|
|
968
966
|
title: d?.title ?? Ye.title,
|
|
969
|
-
isLoading:
|
|
967
|
+
isLoading: w,
|
|
970
968
|
selectChat: p,
|
|
971
969
|
removeChat: K,
|
|
972
970
|
createNewChat: l,
|
|
@@ -979,7 +977,7 @@ function _n(e) {
|
|
|
979
977
|
x,
|
|
980
978
|
d?.title,
|
|
981
979
|
g,
|
|
982
|
-
|
|
980
|
+
w,
|
|
983
981
|
p,
|
|
984
982
|
K,
|
|
985
983
|
l,
|
|
@@ -988,7 +986,7 @@ function _n(e) {
|
|
|
988
986
|
q,
|
|
989
987
|
j,
|
|
990
988
|
B,
|
|
991
|
-
|
|
989
|
+
u.onSettingsOpen
|
|
992
990
|
]
|
|
993
991
|
);
|
|
994
992
|
return /* @__PURE__ */ te(Je.Provider, { value: J, children: /* @__PURE__ */ te(
|