PageSourceSearch

https://chatgpt-demo-tawny-one.vercel.app/_astro/Send.d2abbcde.js

js chatgpt-demo-tawny-one.vercel.app collected 2026-10-03 06:25:41 UTC 6,281 bytes, 1 lines download raw bytes

1import{o as A,f as Q,h as V,j as X,k as Y,l as R,c as Z,m as ee,d as te,n as re,g as w,i as E,e as g,p as T,q as B,t as S,M as _,S as ne,r as I,u as se}from"./web.7cd7f0a9.js";import{f as m}from"./index.39500d19.js";import{a as M,m as x,s as D,b as ae,c as oe,l as ie}from"./streams.385b746b.js";import{c as P,i as C,s as le}from"./ui.cad2fc3e.js";import{g as de,d as W,e as q,b as ce,u as ue,p as K,f as fe,c as pe,a as ge,h as me}from"./conversation.c8fbc3c2.js";function H(e,r=V()){let n=0,s,i;return()=>(n++,A(()=>{n--,queueMicrotask(()=>{!n&&i&&(i(),i=s=void 0)})}),i||Q(t=>s=e(i=t),r),s)}function L(e,r){for(let n=e.length-1;n>=0;n--){const s=r.slice(0,n+1);if(!M(e[n],s))return!1}return!0}var U=H(()=>{const[e,r]=R([]),[n,s]=R(null),i=()=>r([]);return x(window,"keydown",t=>{if(t.repeat||typeof t.key!="string")return;const a=t.key.toUpperCase();e().includes(a)||ee(()=>{s(t),r(o=>[...o,a])})}),x(window,"keyup",t=>{if(typeof t.key!="string")return;const a=t.key.toUpperCase();r(o=>o.filter(c=>c!==a))}),x(window,"blur",i),x(window,"contextmenu",t=>{t.defaultPrevented||i()}),[e,{event:n}]}),he=H(()=>{const[e]=U();return Z(r=>e().length===0?[]:[...r,e()],[])});function ve(e,r,n={}){if(!e.length)return;e=e.map(l=>l.toUpperCase());const{preventDefault:s=!0,requireReset:i=!1}=n,[,{event:t}]=U(),a=he();let o=!1;X(Y(a,i?l=>{if(!l.length)return o=!1;if(o)return;const u=t();l.length<e.length?L(l,e.slice(0,l.length))?s&&u.preventDefault():o=!0:(o=!0,L(l,e)&&(s&&u.preventDefault(),r(u)))}:l=>{const u=l.at(-1);if(!u)return;const v=t();if(s&&u.length<e.length){M(u,e.slice(0,e.length-1))&&v.preventDefault();return}if(M(u,e)){const f=l.at(-2);(!f||M(f,e.slice(0,e.length-1)))&&(s&&v.preventDefault(),r(v))}}))}const be=async(e,r)=>{const n=de(),s=W(e?.providerId);if(!s)return;const i=q(e.id);e.conversationType!=="continuous"&&ce(e.id),!i.length&&!e.name&&ue(e.id,{name:r}),K(e.id,{id:`${e.id}:user:${Date.now()}`,role:"user",content:r,dateTime:new Date().getTime()}),D(e.id,!0);let t;try{const a={conversationMeta:{id:e.id,conversationType:e.conversationType},globalSettings:fe(e.providerId),providerId:e.providerId,prompt:r,historyMessages:q(e.id)};let o=n.requestWithBackend?"backend":"frontend";(s.supportCallMethod==="frontend"||s.supportCallMethod==="backend")&&(o=s.supportCallMethod),t=await ye(o,a)}catch(a){const o=a,c=o?.cause;console.error(a),P.set({code:c?.code||"provider_error",message:c?.message||o.message||"Unknown error"})}if(t){const a=`${e.id}:assistant:${Date.now()}`;t instanceof ReadableStream&&ae(e.id,{messageId:a,stream:t}),K(e.id,{id:a,role:"assistant",content:typeof t=="string"?t:"",stream:t instanceof ReadableStream,dateTime:new Date().getTime()})}D(e.id,!1)},ye=async(e,r)=>{if(e==="frontend")return we(r);{const n=await fetch("/api/handle",{method:"POST",body:JSON.stringify(r)});if(!n.ok){const s=await n.json();throw new Error("Request failed",{cause:s?.error})}return n.headers.get("content-type")?.includes("text/plain")?n.text():n.body}},we=async e=>{console.log("callProviderHandler",e);const{conversationMeta:r,providerId:n,prompt:s,historyMessages:i}=e,t=W(n);if(!t)return;let a;const o={conversationId:r.id,globalSettings:e.globalSettings,conversationSettings:{},systemRole:"",mockMessages:[]};if(r.conversationType==="single")a=await t.handleSinglePrompt?.(s,o);else if(r.conversationType==="continuous"){const c=i.map(h=>({role:h.role,content:h.content}));a=await t.handleContinuousPrompt?.(c,o)}else r.conversationType==="image"&&(a=await t.handleImagePrompt?.(s,o));return a},Se=S('<div class="max-w-base h-full fi flex-row gap-2"><div class="flex-1 op-30">Enter Something...</div><div class="i-carbon-send op-50 text-xl">'),$e=S('<div class="h-full relative"><textarea placeholder="Enter something..." autocomplete="off" class="absolute inset-0 py-4 px-[calc(max(1.5rem,(100%-48rem)/2))] resize-none scroll-pa-4 input-base"></textarea><div><div class="i-carbon-send op-80 dark:op-70 text-xl cursor-pointer">'),xe=S('<div class="max-w-base h-full flex items-end flex-col justify-between gap-8 sm:flex-row sm:items-center py-4 text-error text-sm"><div class="flex-1 w-full"><div class="fi gap-0.5 mb-1"><span i-carbon-warning></span><span class="font-semibold"></div><div></div></div><div class="border border-error px-2 py-1 rounded-md hv-base hover:bg-white">Dismiss'),Ce=S('<div class="max-w-base h-full fi flex-row gap-2"><div class="progress-bg"></div><div class="flex-1 op-50">Thinking...'),Me=S("<div>"),Pe=()=>{let e;const r=m(pe),n=m(ge),s=m(C),i=m(P),t=m(oe),a=m(ie),[o,c]=R(""),h=()=>o()||s(),l=()=>r()[n()],u=()=>!!t()[n()],v=()=>!!a()[n()];re(()=>{ve(["Control","Enter"],()=>{s()&&k()})});const f=()=>i()?"error":v()||u()?"loading":h()?"editing":"normal",j=()=>(()=>{const d=w(Se);return d.$$click=()=>{C.set(!0),e.focus()},I(),d})(),N=()=>(()=>{const d=w($e),p=d.firstChild,b=p.nextSibling;p.$$keydown=y=>{y.key==="Enter"&&!y.isComposing&&!y.shiftKey&&k()},p.$$input=()=>{c(e.value)},p.addEventListener("blur",()=>{C.set(!1)});const $=e;return typeof $=="function"?se($,p):e=p,b.$$click=k,T(()=>B(b,`absolute right-[calc(max(1.5rem,(100%-48rem)/2)-0.5rem)] bottom-3 bg-base-100 border border-base p-2 rounded-md hv-base ${o()&&"bg-teal-600 dar
1k:bg-teal-700 b-none hover:bg-teal-700 dark:hover:bg-teal-800 text-white"}`)),I(),d})(),O=()=>(()=>{const d=w(xe),p=d.firstChild,b=p.firstChild,$=b.firstChild,y=$.nextSibling,G=b.nextSibling,J=p.nextSibling;return E(y,()=>i()?.code),E(G,()=>i()?.message),J.$$click=()=>{P.set(null)},I(),d})(),F=()=>w(Ce),k=()=>{e.value&&(l()||me(),be(l(),e.value),c(""),e.value="",C.set(!1),le().scrollToBottom())},z=()=>f()==="normal"?"px-6 h-14 bg-base-100 hv-base":f()==="error"?"px-6 bg-red/8":f()==="loading"?"px-6 h-14 bg-base-100":f()==="editing"?"h-40 bg-base-100":"";return(()=>{const d=w(Me);return E(d,g(ne,{get fallback(){return g(j,{})},get children(){return[g(_,{get when(){return f()==="error"},get children(){return g(O,{})}}),g(_,{get when(){return f()==="loading"},get children(){return g(F,{})}}),g(_,{get when(){return f()==="editing"},get children(){return g(N,{})}})]}})),T(()=>B(d,`relative shrink-0 border-t border-base transition transition-property-[background-color,height] transition-240 ${z()}`)),d})()};te(["click","input","keydown"]);export{Pe as default};

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.