PageSourceSearch

https://manuworks.ai/chunk-UJNOM5VD.js

js manuworks.ai collected 2026-10-05 12:14:42 UTC 3,572 bytes, 2 lines download raw bytes

1import{a as D}from"./chunk-3GTGYMYP.js";import"./chunk-WMIEOQJS.js";import"./chunk-U2GRYO37.js";import"./chunk-FCR7NAJU.js";import{a as S}from"./chunk-MEURMK5P.js";import{a as I}from"./chunk-TN6VYXT2.js";import{$ as h,Aa as C,D as l,Ld as _,Md as w,O as n,S as y,_ as g,bb as b,ea as p,fa as r,ga as o,ha as c,hd as M,kb as v,ma as x,oa as f,t as u,za as d}from"./chunk-3Y7XFJKS.js";import"./chunk-JGDRNPQP.js";function k(e,i){e&1&&(r(0,"div",6),c(1,"div",10),d(2,` Loading chat\u2026
2`),o())}function J(e,i){if(e&1&&(r(0,"div",7)(1,"div",11)(2,"p",12),d(3,"Unable to load"),o(),r(4,"p",3),d(5),o()()()),e&2){let a=f();n(5),C(a.error())}}function T(e,i){if(e&1&&c(0,"app-chat-message-area",8),e&2){let a=f();p("displayedItems",a.displayedItems())("readonly",!0)}}var N=class e{route=u(v);api=u(I);RotateCcwIcon=M;sessionId=l("");displayedItems=l([]);loading=l(!0);refreshing=l(!1);error=l("");async ngOnInit(){let i=this.route.snapshot.paramMap.get("sessionId");if(!i){this.error.set("Invalid session link."),this.loading.set(!1);return}this.sessionId.set(i),await this.loadMessages()}async refresh(){this.refreshing.set(!0),await this.loadMessages(),this.refreshing.set(!1)}async loadMessages(){let i=this.sessionId();try{let t=((await this.api.get(`/api/workflowhistory/public/session/${i}/messages`)).messages??[]).map(s=>({kind:"message",msg:{channelName:s.messageJson.channelName,sessionId:s.messageJson.sessionId,action:s.messageJson.action,text:s.messageJson.text,fileList:(s.messageJson.fileList??[]).map(m=>({filename:m.filename??"",url:m.fileUrl??"",size:m.size??"",mimeType:m.mimeType??"",source:m.source})),sources:s.messageJson.sources,status:s.messageJson.status,timestamp:s.messageJson.timestamp,resultClass:s.messageJson.resultClass??""}}));this.displayedItems.set(t),this.error.set("")}catch{this.error.set("Failed to load shared chat. The link may be invalid or expired.")}finally{this.loading.set(!1)}}static \u0275fac=function(a){return new(a||e)};static \u0275cmp=y({type:e,selectors:[["app-shared-chat"]],hostAttrs:[1,"flex","flex-col","flex-1","min-h-0"],decls:13,vars:8,consts:[[1,"flex","items-center","gap-3","px-6","py-3","border-b","border-gray-100","bg-white","flex-shrink-0"],[1,"flex-1"],[1,"text-base","font-bold","text-gray-900"],[1,"text-sm","text-gray-400"],["type","button",1,"flex","items-center","gap-1.5","text-sm","text-gray-500","hover:text-primary-600","border","border-gray-200","hover:border-primary-300","rounded-lg","px-2.5","py-1.5","transition-colors",3,"click","disabled"],[3,"img","size","ngClass"],[1,"flex-1","flex","items-center","justify-center","gap-2","text-gray-400","text-base"],[1,"flex-1","flex","items-center","justify-center"],[1,"flex-1","min-h-0",3,"displayedItems","readonly"],[3,"static"],[1,"w-4","h-4","border-2","border-gray-300","border-t-primary-500","rounded-full","animate-spin"],[1,"text-center"],[1,"text-base","font-medium","text-red-600","mb-1"]],template:function(a,t){a&1&&(r(0,"header",0)(1,"div",1)(2,"h1",2),d(3,"Manuworks"),o(),r(4,"p",3),d(5,"Shared Chat Session"),o()(),r(6,"button",4),x("click",function(){return t.refresh()}),c(7,"lucide-icon",5),d(8," Refresh "),o()(),g(9,k,3,0,"div",6),g(10,J,6,1,"div",7),g(11,T,1,2,"app-chat-message-area",8),c(12,"app-copyright-bar",9)),a&2&&(n(6),p("disabled",t.refreshing()),n(),p("img",t.RotateCcwIcon)("size",12)("ngClass",t.refreshing()?"animate-spin":""),n(2),h(t.loading()?9:-1),n(),h(t.error()?10:-1),n(),h(!t.loading()&&!t.error()?11:-1),n(),p("static",!0))},dependencies:[D,w,_,b,S],encapsulation:2})};export{N as SharedChatComponent};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.