@urun-sh/react 0.1.37 → 0.1.39
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/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ae=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var et=Object.prototype.hasOwnProperty;var tt=(t,e)=>{for(var r in e)ae(t,r,{get:e[r],enumerable:!0})},rt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ye(e))!et.call(t,s)&&s!==r&&ae(t,s,{get:()=>e[s],enumerable:!(n=Qe(e,s))||n.enumerable});return t};var nt=t=>rt(ae({},"__esModule",{value:!0}),t);var ct={};tt(ct,{ComponentRenderer:()=>Be,ImageFrame:()=>ze,ImageFrameSchema:()=>je,MetricsPanel:()=>Je,MetricsPanelSchema:()=>He,ProgressCard:()=>De,ProgressCardSchema:()=>Le,StatusBadge:()=>Ve,StatusBadgeSchema:()=>Fe,TextStream:()=>$e,TextStreamSchema:()=>Xe,UrunAuthProvider:()=>ue,UrunErrorBoundary:()=>B,UrunJwtProvider:()=>Te,UrunProvider:()=>ke,authMode:()=>H,registerComponent:()=>Me,urunPublicEnv:()=>E,useApp:()=>Ee,useChat:()=>Ie,useCompletion:()=>we,useImageFrame:()=>he,useMetricsPanel:()=>Se,useProgressCard:()=>me,useRequest:()=>_e,useStatusBadge:()=>fe,useTextStream:()=>ge,useUrunAuth:()=>ee,usesWorkOSAuth:()=>ye});module.exports=nt(ct);var D=require("react");var Ce=require("react"),z=require("react/jsx-runtime"),B=class extends Ce.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,r){console.error("[urun] Error caught by UrunErrorBoundary:",e,r)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||(0,z.jsxs)("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[(0,z.jsx)("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),(0,z.jsx)("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};var ve=require("react"),Y=(0,ve.createContext)(null);function N(t){return t&&t.trim()?t.trim():void 0}function E(t){switch(t){case"NEXT_PUBLIC_AUTH_MODE":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return N(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return N(typeof process<"u"?process.env?.[t]:void 0)}}function H(){let t=E("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return t==="jwt"||t==="customer-jwt"||t==="test-jwt"?"jwt":t==="workos"||E("VERCEL_ENV")==="production"?"workos":E("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function ye(){return H()==="workos"}var L=require("react"),xe=require("react/jsx-runtime"),Pe=(0,L.createContext)(null);function ue({getAccessToken:t,children:e}){let r=(0,L.useMemo)(()=>({getAccessToken:t}),[t]);return(0,xe.jsx)(Pe.Provider,{value:r,children:e})}var Te=ue;function ee(){return(0,L.useContext)(Pe)}var te=require("react/jsx-runtime");function ke({baseUrl:t,orgId:e,appId:r,jwt:n,authProvider:s,fallback:o,children:i}){let[k,a]=(0,D.useState)(),d=ee(),g=E("NEXT_PUBLIC_SESSION_TOKEN")??E("NEXT_PUBLIC_URUN_JWT"),u=H(),c=u==="workos"&&!n,C=n??(u==="jwt"?g:void 0)??k,T=s??E("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),h=c&&!C,R=(0,D.useMemo)(()=>({appId:r,baseUrl:t,orgId:e,jwt:C,getAccessToken:c?d?.getAccessToken:void 0,authProvider:T}),[r,d,t,T,C,e,c]);return(0,D.useEffect)(()=>{if(!c||!d)return;let S=!1,v=d;async function f(){try{let b=await v.getAccessToken();S||a(b??void 0)}catch{S||a(void 0)}}f();let y=window.setInterval(()=>{f()},6e4);return()=>{S=!0,window.clearInterval(y)}},[d,c]),(0,te.jsx)(B,{fallback:o,children:h?(0,te.jsx)("div",{role:"status","aria-live":"polite",children:"Signing in..."}):(0,te.jsx)(Y.Provider,{value:R,children:i})})}var _=require("react"),be=require("@urun-sh/core");function st(t,e){return`${t}:${JSON.stringify(e??{})}`}var ce=class{constructor(e,r){this._doc=e;this._notify=r;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,r){return this._doc.get(e,r)}set(e){this._doc.set(e),this._notify()}on(e,r){return this._doc.on(e,n=>r(n))}text(e){let r=this._doc.text(e),n=this._notify;return{append(s){r.append(s),n()},toString:()=>r.toString(),get length(){return r.length},on:(s,o)=>r.on(s,i=>{o(i),n()})}}dispose(){this._unsubscribeChange()}},pe=class{constructor(e,r){this._stream=e;this._notify=r;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,r){return this._stream.on(e,r)}dispose(){this._unsubscribeTrack()}},de=class{constructor(e,r){this._session=e;this._notify=r;this._unsubscribePhase=this._session.onPhase(()=>this._notify())}_session;_notify;_docs=new Map;_streams=new Map;_unsubscribePhase;get id(){return this._session.id}get phase(){return this._session.phase}onPhase(e){return this._session.onPhase(e)}request(e,r){return this._session.request(e,r)}requestStream(e,r){return this._session.requestStream(e,r)}doc(e){let r=this._docs.get(e);return r||(r=new ce(this._session.doc(e),this._notify),this._docs.set(e,r)),r}stream(e){let r=this._streams.get(e);return r||(r=new pe(this._session.stream(e),this._notify),this._streams.set(e,r)),r}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._unsubscribePhase(),this._session.disconnect(),this._notify()}};function Ee(){let t=(0,_.useContext)(Y);if(!t)throw new Error("useApp must be used within <UrunProvider>");if(!t.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=(0,_.useReducer)(s=>s+1,0),r=(0,_.useRef)(new Map),n=(0,_.useMemo)(()=>(0,be.App)(t.appId,{baseUrl:t.baseUrl,orgId:t.orgId,jwt:t.jwt,getAccessToken:t.getAccessToken,authProvider:t.authProvider}),[t.appId,t.baseUrl,t.orgId,t.jwt,t.getAccessToken,t.authProvider]);return(0,_.useMemo)(()=>new Proxy({},{get(s,o){if(typeof o=="string")return i=>{let k=st(o,i),a=r.current.get(k);if(a)return a;let d=new de(n[o](i),e);return r.current.set(k,d),d}}}),[n])}var l=require("react");function F(t){let e=t;if(!e||typeof e.request!="function"||typeof e.requestStream!="function")throw new Error("This session does not support request/requestStream. Upgrade @urun-sh/core to a version that ships the request/response primitive.");return e}function ot(t){return t instanceof Error?t:new Error(String(t))}function _e(t,e){let r=(0,l.useMemo)(()=>F(t),[t]),[n,s]=(0,l.useState)(void 0),[o,i]=(0,l.useState)(null),[k,a]=(0,l.useState)(!1),d=(0,l.useRef)(e);d.current=e;let g=(0,l.useRef)(0),u=(0,l.useRef)(null),c=(0,l.useRef)(!0);(0,l.useEffect)(()=>(c.current=!0,()=>{c.current=!1,u.current?.abort()}),[]);let C=(0,l.useCallback)(async R=>{u.current?.abort();let S=new AbortController;u.current=S;let v=++g.current,f=()=>c.current&&g.current===v;f()&&(a(!0),i(null));try{let y=await r.request(R,{...d.current,signal:S.signal});return f()&&(s(y),a(!1),d.current?.onSuccess?.(y)),y}catch(y){let b=ot(y);throw f()&&(i(b),a(!1),d.current?.onError?.(b)),b}},[r]),T=(0,l.useCallback)(R=>{C(R).catch(()=>{})},[C]),h=(0,l.useCallback)(()=>{g.current++,u.current?.abort(),u.current=null,s(void 0),i(null),a(!1)},[]);return{mutate:T,mutateAsync:C,data:n,error:o,isPending:k,reset:h}}var m=require("react");function Ue(t){return t instanceof Error?t:new Error(String(t))}var it=t=>typeof t=="string"?t:String(t);function we(t,e){let r=(0,m.useMemo)(()=>F(t),[t]),[n,s]=(0,m.useState)(""),[o,i]=(0,m.useState)(!1),[k,a]=(0,m.useState)(null),d=(0,m.useRef)(e);d.current=e;let g=(0,m.useRef)(0),u=(0,m.useRef)(null),c=(0,m.useRef)(!0);(0,m.useEffect)(()=>(c.current=!0,()=>{c.current=!1,u.current?.cancel(),u.current=null}),[]);let C=(0,m.useCallback)(()=>{g.current++,u.current?.cancel(),u.current=null,c.current&&i(!1)},[]),T=(0,m.useCallback)(async h=>{u.current?.cancel();let R=++g.current,S=()=>c.current&&g.current===R,v=d.current,f=v?.parseChunk??it,y=v?.buildPayload??(x=>({prompt:x}));S()&&(s(""),a(null),i(!0));let{parseChunk:b,buildPayload:We,onFinish:se,onError:$,...w}=v??{},j="",A;try{A=r.requestStream(y(h),w),u.current=A}catch(x){let q=Ue(x);S()&&(a(q),i(!1),v?.onError?.(q));return}try{for await(let x of A){if(g.current!==R)break;j+=f(x),S()&&s(j)}S()&&(i(!1),v?.onFinish?.(j))}catch(x){let q=Ue(x);S()&&(a(q),i(!1),v?.onError?.(q))}finally{u.current===A&&(u.current=null)}},[r]);return{completion:n,complete:T,stop:C,isStreaming:o,error:k}}var p=require("react");function Ae(t){return t instanceof Error?t:new Error(String(t))}var at=t=>typeof t=="string"?t:String(t),qe=0;function le(t){return qe+=1,`${t}-${qe}`}function Ie(t,e){let r=(0,p.useMemo)(()=>F(t),[t]),[n,s]=(0,p.useState)(()=>(e?.initialMessages??[]).map(f=>({id:f.id??le("msg"),role:f.role,content:f.content}))),[o,i]=(0,p.useState)(""),[k,a]=(0,p.useState)(!1),[d,g]=(0,p.useState)(null),u=(0,p.useRef)(e);u.current=e;let c=(0,p.useRef)(n);c.current=n;let C=(0,p.useRef)(o);C.current=o;let T=(0,p.useRef)(0),h=(0,p.useRef)(null),R=(0,p.useRef)(!0);(0,p.useEffect)(()=>(R.current=!0,()=>{R.current=!1,h.current?.cancel(),h.current=null}),[]);let S=(0,p.useCallback)(()=>{T.current++,h.current?.cancel(),h.current=null,R.current&&a(!1)},[]),v=(0,p.useCallback)(async f=>{let y=f===void 0,b=(y?C.current:f)??"";if(!b.trim())return;h.current?.cancel();let se=++T.current,$=()=>R.current&&T.current===se,w=u.current,j=w?.parseChunk??at,A={id:le("msg"),role:"user",content:b},x={id:le("msg"),role:"assistant",content:""},q=[...c.current,A].map(P=>({role:P.role,content:P.content})),Re=[...c.current,A,x];c.current=Re,s(Re),y&&i(""),g(null),a(!0);let Ke=w?.buildPayload??(P=>({messages:P})),{initialMessages:pt,parseChunk:dt,buildPayload:lt,onFinish:mt,onError:ft,...Ze}=w??{},Ge=P=>{s(I=>I.map(ie=>ie.id===x.id?{...ie,content:P}:ie))},oe="",Q;try{Q=r.requestStream(Ke(q),Ze),h.current=Q}catch(P){let I=Ae(P);$()&&(g(I),a(!1),w?.onError?.(I));return}try{for await(let P of Q){if(T.current!==se)break;oe+=j(P),$()&&Ge(oe)}$()&&(a(!1),w?.onFinish?.({...x,content:oe}))}catch(P){let I=Ae(P);$()&&(g(I),a(!1),w?.onError?.(I))}finally{h.current===Q&&(h.current=null)}},[r]);return{messages:n,input:o,setInput:i,sendMessage:v,stop:S,isStreaming:k,error:d}}var Ne=new Map;function Me(t,e,r){if(!r||typeof r.safeParse!="function")throw new Error(`registerComponent("${t}"): schema must be a valid Zod schema`);Ne.set(t,{component:e,schema:r})}function Oe(t,e){let r=Ne.get(t);if(!r)return{error:`Unknown component: "${t}"`};let n=r.schema.safeParse(e);return n.success?{Component:r.component,validatedProps:n.data}:{error:`Validation failed for "${t}": ${n.error.message}`}}var M=require("react/jsx-runtime");function Be({name:t,props:e,fallback:r}){let n=Oe(t,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),r?(0,M.jsx)(M.Fragment,{children:r}):(0,M.jsx)("div",{className:"urun-component-error",role:"alert",children:(0,M.jsx)("span",{className:"urun-component-error-text",children:n.error})});let s=n.Component;return(0,M.jsx)(s,{...n.validatedProps})}var V=require("zod"),O=require("react/jsx-runtime"),Le=V.z.object({step:V.z.number().min(0),total:V.z.number().min(1),label:V.z.string().optional(),variant:V.z.enum(["default","success","error"]).default("default")});function me(t){let{step:e,total:r,label:n,variant:s="default"}=t,o=Math.min(e/r*100,100),i=e>=r;return{step:e,total:r,label:n,variant:s,percentage:o,isComplete:i}}function De(t){let{step:e,total:r,label:n,variant:s,percentage:o}=me(t);return(0,O.jsxs)("div",{className:"urun-progress-card","data-variant":s,children:[n&&(0,O.jsx)("div",{className:"urun-progress-label",children:n}),(0,O.jsx)("div",{className:"urun-progress-bar",children:(0,O.jsx)("div",{className:"urun-progress-fill",style:{width:`${o}%`}})}),(0,O.jsxs)("div",{className:"urun-progress-text",children:[e,"/",r]})]})}var re=require("zod"),J=require("react/jsx-runtime"),Fe=re.z.object({state:re.z.enum(["thinking","generating","idle","error"]),message:re.z.string().optional()}),ut={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function fe(t){let{state:e,message:r}=t,n=e==="thinking"||e==="generating",s=r??ut[e]??e;return{state:e,message:s,isActive:n}}function Ve(t){let{state:e,message:r,isActive:n}=fe(t);return(0,J.jsxs)("span",{className:"urun-status-badge","data-state":e,children:[(0,J.jsx)("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),(0,J.jsx)("span",{className:"urun-status-message",children:r})]})}var W=require("react"),ne=require("zod"),K=require("react/jsx-runtime"),Xe=ne.z.object({text:ne.z.string(),streaming:ne.z.boolean().default(!1)});function ge(t){let{text:e,streaming:r=!1}=t,n=e.length===0;return{text:e,streaming:r,isEmpty:n}}function $e(t){let{text:e,streaming:r}=ge(t),n=(0,W.useRef)(null),s=(0,W.useRef)(0);return(0,W.useEffect)(()=>{let o=n.current;o&&e.length!==s.current&&(o.textContent=e,s.current=e.length)},[e]),(0,K.jsxs)("div",{className:"urun-text-stream",children:[(0,K.jsx)("span",{ref:n,className:"urun-text-content"}),r&&(0,K.jsx)("span",{className:"urun-text-cursor"})]})}var Z=require("zod"),G=require("react/jsx-runtime"),je=Z.z.object({src:Z.z.string().url(),alt:Z.z.string().optional(),caption:Z.z.string().optional()});function he(t){let{src:e,alt:r,caption:n}=t;return{src:e,alt:r??"",caption:n}}function ze(t){let{src:e,alt:r,caption:n}=he(t);return(0,G.jsxs)("figure",{className:"urun-image-frame",children:[(0,G.jsx)("img",{className:"urun-image",src:e,alt:r}),n&&(0,G.jsx)("figcaption",{className:"urun-image-caption",children:n})]})}var U=require("zod"),X=require("react/jsx-runtime"),He=U.z.object({metrics:U.z.array(U.z.object({label:U.z.string(),value:U.z.union([U.z.string(),U.z.number()]),unit:U.z.string().optional()}))});function Se(t){return{metrics:t.metrics.map(r=>({...r,displayValue:r.unit?`${r.value} ${r.unit}`:String(r.value)}))}}function Je(t){let{metrics:e}=Se(t);return(0,X.jsx)("div",{className:"urun-metrics-panel",children:e.map((r,n)=>(0,X.jsxs)("div",{className:"urun-metric-card",children:[(0,X.jsx)("div",{className:"urun-metric-label",children:r.label}),(0,X.jsx)("div",{className:"urun-metric-value",children:r.displayValue})]},n))})}0&&(module.exports={ComponentRenderer,ImageFrame,ImageFrameSchema,MetricsPanel,MetricsPanelSchema,ProgressCard,ProgressCardSchema,StatusBadge,StatusBadgeSchema,TextStream,TextStreamSchema,UrunAuthProvider,UrunErrorBoundary,UrunJwtProvider,UrunProvider,authMode,registerComponent,urunPublicEnv,useApp,useChat,useCompletion,useImageFrame,useMetricsPanel,useProgressCard,useRequest,useStatusBadge,useTextStream,useUrunAuth,usesWorkOSAuth});
|
|
1
|
+
"use strict";var ae=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var et=Object.prototype.hasOwnProperty;var tt=(t,e)=>{for(var r in e)ae(t,r,{get:e[r],enumerable:!0})},rt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ye(e))!et.call(t,s)&&s!==r&&ae(t,s,{get:()=>e[s],enumerable:!(n=Qe(e,s))||n.enumerable});return t};var nt=t=>rt(ae({},"__esModule",{value:!0}),t);var ct={};tt(ct,{ComponentRenderer:()=>Be,ImageFrame:()=>ze,ImageFrameSchema:()=>je,MetricsPanel:()=>Je,MetricsPanelSchema:()=>He,ProgressCard:()=>De,ProgressCardSchema:()=>Le,StatusBadge:()=>Fe,StatusBadgeSchema:()=>Ve,TextStream:()=>$e,TextStreamSchema:()=>Xe,UrunAuthProvider:()=>ue,UrunErrorBoundary:()=>B,UrunJwtProvider:()=>Te,UrunProvider:()=>xe,authMode:()=>H,registerComponent:()=>Me,urunPublicEnv:()=>E,useApp:()=>Ee,useChat:()=>Ie,useCompletion:()=>we,useImageFrame:()=>he,useMetricsPanel:()=>Se,useProgressCard:()=>me,useRequest:()=>_e,useStatusBadge:()=>fe,useTextStream:()=>ge,useUrunAuth:()=>ee,usesWorkOSAuth:()=>ye});module.exports=nt(ct);var D=require("react");var Ce=require("react"),z=require("react/jsx-runtime"),B=class extends Ce.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,r){console.error("[urun] Error caught by UrunErrorBoundary:",e,r)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||(0,z.jsxs)("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[(0,z.jsx)("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),(0,z.jsx)("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};var ve=require("react"),Y=(0,ve.createContext)(null);function N(t){return t&&t.trim()?t.trim():void 0}function E(t){switch(t){case"NEXT_PUBLIC_AUTH_MODE":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return N(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return N(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return N(typeof process<"u"?process.env?.[t]:void 0)}}function H(){let t=E("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return t==="jwt"||t==="customer-jwt"||t==="test-jwt"?"jwt":t==="workos"||E("VERCEL_ENV")==="production"?"workos":E("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function ye(){return H()==="workos"}var L=require("react"),ke=require("react/jsx-runtime"),Pe=(0,L.createContext)(null);function ue({getAccessToken:t,children:e}){let r=(0,L.useMemo)(()=>({getAccessToken:t}),[t]);return(0,ke.jsx)(Pe.Provider,{value:r,children:e})}var Te=ue;function ee(){return(0,L.useContext)(Pe)}var te=require("react/jsx-runtime");function xe({baseUrl:t,orgId:e,appId:r,jwt:n,authProvider:s,fallback:o,children:i}){let[x,a]=(0,D.useState)(),d=ee(),g=E("NEXT_PUBLIC_SESSION_TOKEN")??E("NEXT_PUBLIC_URUN_JWT"),u=H(),c=u==="workos"&&!n,C=n??(u==="jwt"?g:void 0)??x,T=s??E("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),h=c&&!C,R=(0,D.useMemo)(()=>({appId:r,baseUrl:t,orgId:e,jwt:C,getAccessToken:c?d?.getAccessToken:void 0,authProvider:T}),[r,d,t,T,C,e,c]);return(0,D.useEffect)(()=>{if(!c||!d)return;let S=!1,v=d;async function f(){try{let b=await v.getAccessToken();S||a(b??void 0)}catch{S||a(void 0)}}f();let y=window.setInterval(()=>{f()},6e4);return()=>{S=!0,window.clearInterval(y)}},[d,c]),(0,te.jsx)(B,{fallback:o,children:h?(0,te.jsx)("div",{role:"status","aria-live":"polite",children:"Signing in..."}):(0,te.jsx)(Y.Provider,{value:R,children:i})})}var _=require("react"),be=require("@urun-sh/core");function st(t,e){return`${t}:${JSON.stringify(e??{})}`}var ce=class{constructor(e,r){this._doc=e;this._notify=r;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,r){return this._doc.get(e,r)}set(e){this._doc.set(e),this._notify()}on(e,r){return this._doc.on(e,n=>r(n))}text(e){let r=this._doc.text(e),n=this._notify;return{append(s){r.append(s),n()},toString:()=>r.toString(),get length(){return r.length},on:(s,o)=>r.on(s,i=>{o(i),n()})}}dispose(){this._unsubscribeChange()}},pe=class{constructor(e,r){this._stream=e;this._notify=r;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}attachVideo(e){return this._stream.attachVideo(e)}detach(){return this._stream.detach()}detachVideo(){return this._stream.detachVideo()}seek(e){return this._stream.seek(e)}on(e,r){return this._stream.on(e,r)}messages(){return this._stream.messages()}dispose(){this._unsubscribeTrack()}},de=class{constructor(e,r){this._session=e;this._notify=r;this._unsubscribePhase=this._session.onPhase(()=>this._notify())}_session;_notify;_docs=new Map;_streams=new Map;_unsubscribePhase;get id(){return this._session.id}get phase(){return this._session.phase}onPhase(e){return this._session.onPhase(e)}request(e,r){return this._session.request(e,r)}requestStream(e,r){return this._session.requestStream(e,r)}complete(e,r){return this._session.complete(e,r)}doc(e){let r=this._docs.get(e);return r||(r=new ce(this._session.doc(e),this._notify),this._docs.set(e,r)),r}stream(e){let r=this._streams.get(e);return r||(r=new pe(this._session.stream(e),this._notify),this._streams.set(e,r)),r}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._unsubscribePhase(),this._session.disconnect(),this._notify()}};function Ee(){let t=(0,_.useContext)(Y);if(!t)throw new Error("useApp must be used within <UrunProvider>");if(!t.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=(0,_.useReducer)(s=>s+1,0),r=(0,_.useRef)(new Map),n=(0,_.useMemo)(()=>(0,be.App)(t.appId,{baseUrl:t.baseUrl,orgId:t.orgId,jwt:t.jwt,getAccessToken:t.getAccessToken,authProvider:t.authProvider}),[t.appId,t.baseUrl,t.orgId,t.jwt,t.getAccessToken,t.authProvider]);return(0,_.useMemo)(()=>new Proxy({},{get(s,o){if(typeof o=="string")return i=>{let x=st(o,i),a=r.current.get(x);if(a)return a;let d=new de(n[o](i),e);return r.current.set(x,d),d}}}),[n])}var l=require("react");function V(t){let e=t;if(!e||typeof e.request!="function"||typeof e.requestStream!="function")throw new Error("This session does not support request/requestStream. Upgrade @urun-sh/core to a version that ships the request/response primitive.");return e}function ot(t){return t instanceof Error?t:new Error(String(t))}function _e(t,e){let r=(0,l.useMemo)(()=>V(t),[t]),[n,s]=(0,l.useState)(void 0),[o,i]=(0,l.useState)(null),[x,a]=(0,l.useState)(!1),d=(0,l.useRef)(e);d.current=e;let g=(0,l.useRef)(0),u=(0,l.useRef)(null),c=(0,l.useRef)(!0);(0,l.useEffect)(()=>(c.current=!0,()=>{c.current=!1,u.current?.abort()}),[]);let C=(0,l.useCallback)(async R=>{u.current?.abort();let S=new AbortController;u.current=S;let v=++g.current,f=()=>c.current&&g.current===v;f()&&(a(!0),i(null));try{let y=await r.request(R,{...d.current,signal:S.signal});return f()&&(s(y),a(!1),d.current?.onSuccess?.(y)),y}catch(y){let b=ot(y);throw f()&&(i(b),a(!1),d.current?.onError?.(b)),b}},[r]),T=(0,l.useCallback)(R=>{C(R).catch(()=>{})},[C]),h=(0,l.useCallback)(()=>{g.current++,u.current?.abort(),u.current=null,s(void 0),i(null),a(!1)},[]);return{mutate:T,mutateAsync:C,data:n,error:o,isPending:x,reset:h}}var m=require("react");function Ue(t){return t instanceof Error?t:new Error(String(t))}var it=t=>typeof t=="string"?t:String(t);function we(t,e){let r=(0,m.useMemo)(()=>V(t),[t]),[n,s]=(0,m.useState)(""),[o,i]=(0,m.useState)(!1),[x,a]=(0,m.useState)(null),d=(0,m.useRef)(e);d.current=e;let g=(0,m.useRef)(0),u=(0,m.useRef)(null),c=(0,m.useRef)(!0);(0,m.useEffect)(()=>(c.current=!0,()=>{c.current=!1,u.current?.cancel(),u.current=null}),[]);let C=(0,m.useCallback)(()=>{g.current++,u.current?.cancel(),u.current=null,c.current&&i(!1)},[]),T=(0,m.useCallback)(async h=>{u.current?.cancel();let R=++g.current,S=()=>c.current&&g.current===R,v=d.current,f=v?.parseChunk??it,y=v?.buildPayload??(k=>({prompt:k}));S()&&(s(""),a(null),i(!0));let{parseChunk:b,buildPayload:We,onFinish:se,onError:$,...w}=v??{},j="",A;try{A=r.requestStream(y(h),w),u.current=A}catch(k){let q=Ue(k);S()&&(a(q),i(!1),v?.onError?.(q));return}try{for await(let k of A){if(g.current!==R)break;j+=f(k),S()&&s(j)}S()&&(i(!1),v?.onFinish?.(j))}catch(k){let q=Ue(k);S()&&(a(q),i(!1),v?.onError?.(q))}finally{u.current===A&&(u.current=null)}},[r]);return{completion:n,complete:T,stop:C,isStreaming:o,error:x}}var p=require("react");function Ae(t){return t instanceof Error?t:new Error(String(t))}var at=t=>typeof t=="string"?t:String(t),qe=0;function le(t){return qe+=1,`${t}-${qe}`}function Ie(t,e){let r=(0,p.useMemo)(()=>V(t),[t]),[n,s]=(0,p.useState)(()=>(e?.initialMessages??[]).map(f=>({id:f.id??le("msg"),role:f.role,content:f.content}))),[o,i]=(0,p.useState)(""),[x,a]=(0,p.useState)(!1),[d,g]=(0,p.useState)(null),u=(0,p.useRef)(e);u.current=e;let c=(0,p.useRef)(n);c.current=n;let C=(0,p.useRef)(o);C.current=o;let T=(0,p.useRef)(0),h=(0,p.useRef)(null),R=(0,p.useRef)(!0);(0,p.useEffect)(()=>(R.current=!0,()=>{R.current=!1,h.current?.cancel(),h.current=null}),[]);let S=(0,p.useCallback)(()=>{T.current++,h.current?.cancel(),h.current=null,R.current&&a(!1)},[]),v=(0,p.useCallback)(async f=>{let y=f===void 0,b=(y?C.current:f)??"";if(!b.trim())return;h.current?.cancel();let se=++T.current,$=()=>R.current&&T.current===se,w=u.current,j=w?.parseChunk??at,A={id:le("msg"),role:"user",content:b},k={id:le("msg"),role:"assistant",content:""},q=[...c.current,A].map(P=>({role:P.role,content:P.content})),Re=[...c.current,A,k];c.current=Re,s(Re),y&&i(""),g(null),a(!0);let Ke=w?.buildPayload??(P=>({messages:P})),{initialMessages:pt,parseChunk:dt,buildPayload:lt,onFinish:mt,onError:ft,...Ze}=w??{},Ge=P=>{s(I=>I.map(ie=>ie.id===k.id?{...ie,content:P}:ie))},oe="",Q;try{Q=r.requestStream(Ke(q),Ze),h.current=Q}catch(P){let I=Ae(P);$()&&(g(I),a(!1),w?.onError?.(I));return}try{for await(let P of Q){if(T.current!==se)break;oe+=j(P),$()&&Ge(oe)}$()&&(a(!1),w?.onFinish?.({...k,content:oe}))}catch(P){let I=Ae(P);$()&&(g(I),a(!1),w?.onError?.(I))}finally{h.current===Q&&(h.current=null)}},[r]);return{messages:n,input:o,setInput:i,sendMessage:v,stop:S,isStreaming:x,error:d}}var Ne=new Map;function Me(t,e,r){if(!r||typeof r.safeParse!="function")throw new Error(`registerComponent("${t}"): schema must be a valid Zod schema`);Ne.set(t,{component:e,schema:r})}function Oe(t,e){let r=Ne.get(t);if(!r)return{error:`Unknown component: "${t}"`};let n=r.schema.safeParse(e);return n.success?{Component:r.component,validatedProps:n.data}:{error:`Validation failed for "${t}": ${n.error.message}`}}var M=require("react/jsx-runtime");function Be({name:t,props:e,fallback:r}){let n=Oe(t,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),r?(0,M.jsx)(M.Fragment,{children:r}):(0,M.jsx)("div",{className:"urun-component-error",role:"alert",children:(0,M.jsx)("span",{className:"urun-component-error-text",children:n.error})});let s=n.Component;return(0,M.jsx)(s,{...n.validatedProps})}var F=require("zod"),O=require("react/jsx-runtime"),Le=F.z.object({step:F.z.number().min(0),total:F.z.number().min(1),label:F.z.string().optional(),variant:F.z.enum(["default","success","error"]).default("default")});function me(t){let{step:e,total:r,label:n,variant:s="default"}=t,o=Math.min(e/r*100,100),i=e>=r;return{step:e,total:r,label:n,variant:s,percentage:o,isComplete:i}}function De(t){let{step:e,total:r,label:n,variant:s,percentage:o}=me(t);return(0,O.jsxs)("div",{className:"urun-progress-card","data-variant":s,children:[n&&(0,O.jsx)("div",{className:"urun-progress-label",children:n}),(0,O.jsx)("div",{className:"urun-progress-bar",children:(0,O.jsx)("div",{className:"urun-progress-fill",style:{width:`${o}%`}})}),(0,O.jsxs)("div",{className:"urun-progress-text",children:[e,"/",r]})]})}var re=require("zod"),J=require("react/jsx-runtime"),Ve=re.z.object({state:re.z.enum(["thinking","generating","idle","error"]),message:re.z.string().optional()}),ut={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function fe(t){let{state:e,message:r}=t,n=e==="thinking"||e==="generating",s=r??ut[e]??e;return{state:e,message:s,isActive:n}}function Fe(t){let{state:e,message:r,isActive:n}=fe(t);return(0,J.jsxs)("span",{className:"urun-status-badge","data-state":e,children:[(0,J.jsx)("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),(0,J.jsx)("span",{className:"urun-status-message",children:r})]})}var W=require("react"),ne=require("zod"),K=require("react/jsx-runtime"),Xe=ne.z.object({text:ne.z.string(),streaming:ne.z.boolean().default(!1)});function ge(t){let{text:e,streaming:r=!1}=t,n=e.length===0;return{text:e,streaming:r,isEmpty:n}}function $e(t){let{text:e,streaming:r}=ge(t),n=(0,W.useRef)(null),s=(0,W.useRef)(0);return(0,W.useEffect)(()=>{let o=n.current;o&&e.length!==s.current&&(o.textContent=e,s.current=e.length)},[e]),(0,K.jsxs)("div",{className:"urun-text-stream",children:[(0,K.jsx)("span",{ref:n,className:"urun-text-content"}),r&&(0,K.jsx)("span",{className:"urun-text-cursor"})]})}var Z=require("zod"),G=require("react/jsx-runtime"),je=Z.z.object({src:Z.z.string().url(),alt:Z.z.string().optional(),caption:Z.z.string().optional()});function he(t){let{src:e,alt:r,caption:n}=t;return{src:e,alt:r??"",caption:n}}function ze(t){let{src:e,alt:r,caption:n}=he(t);return(0,G.jsxs)("figure",{className:"urun-image-frame",children:[(0,G.jsx)("img",{className:"urun-image",src:e,alt:r}),n&&(0,G.jsx)("figcaption",{className:"urun-image-caption",children:n})]})}var U=require("zod"),X=require("react/jsx-runtime"),He=U.z.object({metrics:U.z.array(U.z.object({label:U.z.string(),value:U.z.union([U.z.string(),U.z.number()]),unit:U.z.string().optional()}))});function Se(t){return{metrics:t.metrics.map(r=>({...r,displayValue:r.unit?`${r.value} ${r.unit}`:String(r.value)}))}}function Je(t){let{metrics:e}=Se(t);return(0,X.jsx)("div",{className:"urun-metrics-panel",children:e.map((r,n)=>(0,X.jsxs)("div",{className:"urun-metric-card",children:[(0,X.jsx)("div",{className:"urun-metric-label",children:r.label}),(0,X.jsx)("div",{className:"urun-metric-value",children:r.displayValue})]},n))})}0&&(module.exports={ComponentRenderer,ImageFrame,ImageFrameSchema,MetricsPanel,MetricsPanelSchema,ProgressCard,ProgressCardSchema,StatusBadge,StatusBadgeSchema,TextStream,TextStreamSchema,UrunAuthProvider,UrunErrorBoundary,UrunJwtProvider,UrunProvider,authMode,registerComponent,urunPublicEnv,useApp,useChat,useCompletion,useImageFrame,useMetricsPanel,useProgressCard,useRequest,useStatusBadge,useTextStream,useUrunAuth,usesWorkOSAuth});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as qe,b as Ae,c as W}from"./chunk-QAEWAWV4.mjs";import{useEffect as Be,useMemo as Le,useState as De}from"react";import{Component as Ie}from"react";import{jsx as ue,jsxs as Ne}from"react/jsx-runtime";var M=class extends Ie{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,r){console.error("[urun] Error caught by UrunErrorBoundary:",e,r)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||Ne("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[ue("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),ue("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};import{createContext as Me}from"react";var L=Me(null);function U(t){return t&&t.trim()?t.trim():void 0}function x(t){switch(t){case"NEXT_PUBLIC_AUTH_MODE":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return U(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return U(typeof process<"u"?process.env?.[t]:void 0)}}function D(){let t=x("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return t==="jwt"||t==="customer-jwt"||t==="test-jwt"?"jwt":t==="workos"||x("VERCEL_ENV")==="production"?"workos":x("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function Oe(){return D()==="workos"}import{jsx as K}from"react/jsx-runtime";function Fe({baseUrl:t,orgId:e,appId:r,jwt:n,authProvider:s,fallback:o,children:i}){let[P,a]=De(),p=W(),l=x("NEXT_PUBLIC_SESSION_TOKEN")??x("NEXT_PUBLIC_URUN_JWT"),u=D(),c=u==="workos"&&!n,h=n??(u==="jwt"?l:void 0)??P,y=s??x("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),m=c&&!h,g=Le(()=>({appId:r,baseUrl:t,orgId:e,jwt:h,getAccessToken:c?p?.getAccessToken:void 0,authProvider:y}),[r,p,t,y,h,e,c]);return Be(()=>{if(!c||!p)return;let f=!1,S=p;async function d(){try{let T=await S.getAccessToken();f||a(T??void 0)}catch{f||a(void 0)}}d();let R=window.setInterval(()=>{d()},6e4);return()=>{f=!0,window.clearInterval(R)}},[p,c]),K(M,{fallback:o,children:m?K("div",{role:"status","aria-live":"polite",children:"Signing in..."}):K(L.Provider,{value:g,children:i})})}import{useContext as Ve,useMemo as ce,useReducer as Xe,useRef as je}from"react";import{App as $e}from"@urun-sh/core";function ze(t,e){return`${t}:${JSON.stringify(e??{})}`}var Z=class{constructor(e,r){this._doc=e;this._notify=r;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,r){return this._doc.get(e,r)}set(e){this._doc.set(e),this._notify()}on(e,r){return this._doc.on(e,n=>r(n))}text(e){let r=this._doc.text(e),n=this._notify;return{append(s){r.append(s),n()},toString:()=>r.toString(),get length(){return r.length},on:(s,o)=>r.on(s,i=>{o(i),n()})}}dispose(){this._unsubscribeChange()}},G=class{constructor(e,r){this._stream=e;this._notify=r;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}detach(){return this._stream.detach()}seek(e){return this._stream.seek(e)}on(e,r){return this._stream.on(e,r)}dispose(){this._unsubscribeTrack()}},Q=class{constructor(e,r){this._session=e;this._notify=r;this._unsubscribePhase=this._session.onPhase(()=>this._notify())}_session;_notify;_docs=new Map;_streams=new Map;_unsubscribePhase;get id(){return this._session.id}get phase(){return this._session.phase}onPhase(e){return this._session.onPhase(e)}request(e,r){return this._session.request(e,r)}requestStream(e,r){return this._session.requestStream(e,r)}doc(e){let r=this._docs.get(e);return r||(r=new Z(this._session.doc(e),this._notify),this._docs.set(e,r)),r}stream(e){let r=this._streams.get(e);return r||(r=new G(this._session.stream(e),this._notify),this._streams.set(e,r)),r}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._unsubscribePhase(),this._session.disconnect(),this._notify()}};function He(){let t=Ve(L);if(!t)throw new Error("useApp must be used within <UrunProvider>");if(!t.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=Xe(s=>s+1,0),r=je(new Map),n=ce(()=>$e(t.appId,{baseUrl:t.baseUrl,orgId:t.orgId,jwt:t.jwt,getAccessToken:t.getAccessToken,authProvider:t.authProvider}),[t.appId,t.baseUrl,t.orgId,t.jwt,t.getAccessToken,t.authProvider]);return ce(()=>new Proxy({},{get(s,o){if(typeof o=="string")return i=>{let P=ze(o,i),a=r.current.get(P);if(a)return a;let p=new Q(n[o](i),e);return r.current.set(P,p),p}}}),[n])}import{useCallback as Y,useEffect as Je,useMemo as We,useRef as F,useState as ee}from"react";function q(t){let e=t;if(!e||typeof e.request!="function"||typeof e.requestStream!="function")throw new Error("This session does not support request/requestStream. Upgrade @urun-sh/core to a version that ships the request/response primitive.");return e}function Ke(t){return t instanceof Error?t:new Error(String(t))}function Ze(t,e){let r=We(()=>q(t),[t]),[n,s]=ee(void 0),[o,i]=ee(null),[P,a]=ee(!1),p=F(e);p.current=e;let l=F(0),u=F(null),c=F(!0);Je(()=>(c.current=!0,()=>{c.current=!1,u.current?.abort()}),[]);let h=Y(async g=>{u.current?.abort();let f=new AbortController;u.current=f;let S=++l.current,d=()=>c.current&&l.current===S;d()&&(a(!0),i(null));try{let R=await r.request(g,{...p.current,signal:f.signal});return d()&&(s(R),a(!1),p.current?.onSuccess?.(R)),R}catch(R){let T=Ke(R);throw d()&&(i(T),a(!1),p.current?.onError?.(T)),T}},[r]),y=Y(g=>{h(g).catch(()=>{})},[h]),m=Y(()=>{l.current++,u.current?.abort(),u.current=null,s(void 0),i(null),a(!1)},[]);return{mutate:y,mutateAsync:h,data:n,error:o,isPending:P,reset:m}}import{useCallback as pe,useEffect as Ge,useMemo as Qe,useRef as V,useState as te}from"react";function de(t){return t instanceof Error?t:new Error(String(t))}var Ye=t=>typeof t=="string"?t:String(t);function et(t,e){let r=Qe(()=>q(t),[t]),[n,s]=te(""),[o,i]=te(!1),[P,a]=te(null),p=V(e);p.current=e;let l=V(0),u=V(null),c=V(!0);Ge(()=>(c.current=!0,()=>{c.current=!1,u.current?.cancel(),u.current=null}),[]);let h=pe(()=>{l.current++,u.current?.cancel(),u.current=null,c.current&&i(!1)},[]),y=pe(async m=>{u.current?.cancel();let g=++l.current,f=()=>c.current&&l.current===g,S=p.current,d=S?.parseChunk??Ye,R=S?.buildPayload??(v=>({prompt:v}));f()&&(s(""),a(null),i(!0));let{parseChunk:T,buildPayload:be,onFinish:z,onError:I,...k}=S??{},N="",b;try{b=r.requestStream(R(m),k),u.current=b}catch(v){let _=de(v);f()&&(a(_),i(!1),S?.onError?.(_));return}try{for await(let v of b){if(l.current!==g)break;N+=d(v),f()&&s(N)}f()&&(i(!1),S?.onFinish?.(N))}catch(v){let _=de(v);f()&&(a(_),i(!1),S?.onError?.(_))}finally{u.current===b&&(u.current=null)}},[r]);return{completion:n,complete:y,stop:h,isStreaming:o,error:P}}import{useCallback as le,useEffect as tt,useMemo as rt,useRef as A,useState as X}from"react";function me(t){return t instanceof Error?t:new Error(String(t))}var nt=t=>typeof t=="string"?t:String(t),fe=0;function re(t){return fe+=1,`${t}-${fe}`}function st(t,e){let r=rt(()=>q(t),[t]),[n,s]=X(()=>(e?.initialMessages??[]).map(d=>({id:d.id??re("msg"),role:d.role,content:d.content}))),[o,i]=X(""),[P,a]=X(!1),[p,l]=X(null),u=A(e);u.current=e;let c=A(n);c.current=n;let h=A(o);h.current=o;let y=A(0),m=A(null),g=A(!0);tt(()=>(g.current=!0,()=>{g.current=!1,m.current?.cancel(),m.current=null}),[]);let f=le(()=>{y.current++,m.current?.cancel(),m.current=null,g.current&&a(!1)},[]),S=le(async d=>{let R=d===void 0,T=(R?h.current:d)??"";if(!T.trim())return;m.current?.cancel();let z=++y.current,I=()=>g.current&&y.current===z,k=u.current,N=k?.parseChunk??nt,b={id:re("msg"),role:"user",content:T},v={id:re("msg"),role:"assistant",content:""},_=[...c.current,b].map(C=>({role:C.role,content:C.content})),ae=[...c.current,b,v];c.current=ae,s(ae),R&&i(""),l(null),a(!0);let _e=k?.buildPayload??(C=>({messages:C})),{initialMessages:kt,parseChunk:xt,buildPayload:Et,onFinish:bt,onError:_t,...we}=k??{},Ue=C=>{s(w=>w.map(J=>J.id===v.id?{...J,content:C}:J))},H="",B;try{B=r.requestStream(_e(_),we),m.current=B}catch(C){let w=me(C);I()&&(l(w),a(!1),k?.onError?.(w));return}try{for await(let C of B){if(y.current!==z)break;H+=N(C),I()&&Ue(H)}I()&&(a(!1),k?.onFinish?.({...v,content:H}))}catch(C){let w=me(C);I()&&(l(w),a(!1),k?.onError?.(w))}finally{m.current===B&&(m.current=null)}},[r]);return{messages:n,input:o,setInput:i,sendMessage:S,stop:f,isStreaming:P,error:p}}var ge=new Map;function ot(t,e,r){if(!r||typeof r.safeParse!="function")throw new Error(`registerComponent("${t}"): schema must be a valid Zod schema`);ge.set(t,{component:e,schema:r})}function he(t,e){let r=ge.get(t);if(!r)return{error:`Unknown component: "${t}"`};let n=r.schema.safeParse(e);return n.success?{Component:r.component,validatedProps:n.data}:{error:`Validation failed for "${t}": ${n.error.message}`}}import{Fragment as at,jsx as j}from"react/jsx-runtime";function it({name:t,props:e,fallback:r}){let n=he(t,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),r?j(at,{children:r}):j("div",{className:"urun-component-error",role:"alert",children:j("span",{className:"urun-component-error-text",children:n.error})});let s=n.Component;return j(s,{...n.validatedProps})}import{z as O}from"zod";import{jsx as ne,jsxs as Se}from"react/jsx-runtime";var ut=O.object({step:O.number().min(0),total:O.number().min(1),label:O.string().optional(),variant:O.enum(["default","success","error"]).default("default")});function Re(t){let{step:e,total:r,label:n,variant:s="default"}=t,o=Math.min(e/r*100,100),i=e>=r;return{step:e,total:r,label:n,variant:s,percentage:o,isComplete:i}}function ct(t){let{step:e,total:r,label:n,variant:s,percentage:o}=Re(t);return Se("div",{className:"urun-progress-card","data-variant":s,children:[n&&ne("div",{className:"urun-progress-label",children:n}),ne("div",{className:"urun-progress-bar",children:ne("div",{className:"urun-progress-fill",style:{width:`${o}%`}})}),Se("div",{className:"urun-progress-text",children:[e,"/",r]})]})}import{z as se}from"zod";import{jsx as Ce,jsxs as mt}from"react/jsx-runtime";var pt=se.object({state:se.enum(["thinking","generating","idle","error"]),message:se.string().optional()}),dt={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function ye(t){let{state:e,message:r}=t,n=e==="thinking"||e==="generating",s=r??dt[e]??e;return{state:e,message:s,isActive:n}}function lt(t){let{state:e,message:r,isActive:n}=ye(t);return mt("span",{className:"urun-status-badge","data-state":e,children:[Ce("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),Ce("span",{className:"urun-status-message",children:r})]})}import{useRef as ve,useEffect as ft}from"react";import{z as oe}from"zod";import{jsx as Pe,jsxs as St}from"react/jsx-runtime";var gt=oe.object({text:oe.string(),streaming:oe.boolean().default(!1)});function Te(t){let{text:e,streaming:r=!1}=t,n=e.length===0;return{text:e,streaming:r,isEmpty:n}}function ht(t){let{text:e,streaming:r}=Te(t),n=ve(null),s=ve(0);return ft(()=>{let o=n.current;o&&e.length!==s.current&&(o.textContent=e,s.current=e.length)},[e]),St("div",{className:"urun-text-stream",children:[Pe("span",{ref:n,className:"urun-text-content"}),r&&Pe("span",{className:"urun-text-cursor"})]})}import{z as $}from"zod";import{jsx as ke,jsxs as yt}from"react/jsx-runtime";var Rt=$.object({src:$.string().url(),alt:$.string().optional(),caption:$.string().optional()});function xe(t){let{src:e,alt:r,caption:n}=t;return{src:e,alt:r??"",caption:n}}function Ct(t){let{src:e,alt:r,caption:n}=xe(t);return yt("figure",{className:"urun-image-frame",children:[ke("img",{className:"urun-image",src:e,alt:r}),n&&ke("figcaption",{className:"urun-image-caption",children:n})]})}import{z as E}from"zod";import{jsx as ie,jsxs as Tt}from"react/jsx-runtime";var vt=E.object({metrics:E.array(E.object({label:E.string(),value:E.union([E.string(),E.number()]),unit:E.string().optional()}))});function Ee(t){return{metrics:t.metrics.map(r=>({...r,displayValue:r.unit?`${r.value} ${r.unit}`:String(r.value)}))}}function Pt(t){let{metrics:e}=Ee(t);return ie("div",{className:"urun-metrics-panel",children:e.map((r,n)=>Tt("div",{className:"urun-metric-card",children:[ie("div",{className:"urun-metric-label",children:r.label}),ie("div",{className:"urun-metric-value",children:r.displayValue})]},n))})}export{it as ComponentRenderer,Ct as ImageFrame,Rt as ImageFrameSchema,Pt as MetricsPanel,vt as MetricsPanelSchema,ct as ProgressCard,ut as ProgressCardSchema,lt as StatusBadge,pt as StatusBadgeSchema,ht as TextStream,gt as TextStreamSchema,qe as UrunAuthProvider,M as UrunErrorBoundary,Ae as UrunJwtProvider,Fe as UrunProvider,D as authMode,ot as registerComponent,x as urunPublicEnv,He as useApp,st as useChat,et as useCompletion,xe as useImageFrame,Ee as useMetricsPanel,Re as useProgressCard,Ze as useRequest,ye as useStatusBadge,Te as useTextStream,W as useUrunAuth,Oe as usesWorkOSAuth};
|
|
1
|
+
import{a as qe,b as Ae,c as W}from"./chunk-QAEWAWV4.mjs";import{useEffect as Be,useMemo as Le,useState as De}from"react";import{Component as Ie}from"react";import{jsx as ue,jsxs as Ne}from"react/jsx-runtime";var M=class extends Ie{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,r){console.error("[urun] Error caught by UrunErrorBoundary:",e,r)}render(){if(this.state.error){let{fallback:e}=this.props;return typeof e=="function"?e(this.state.error):e||Ne("div",{role:"status","aria-live":"polite",style:{padding:"16px",border:"1px solid rgba(17, 24, 39, 0.12)",borderRadius:"8px",background:"#ffffff",color:"#111827",fontFamily:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',maxWidth:"360px"},children:[ue("p",{style:{margin:0,fontWeight:600},children:"Connection interrupted"}),ue("p",{style:{margin:"6px 0 0",color:"#4b5563"},children:"Reconnecting automatically."})]})}return this.props.children}};import{createContext as Me}from"react";var L=Me(null);function U(t){return t&&t.trim()?t.trim():void 0}function x(t){switch(t){case"NEXT_PUBLIC_AUTH_MODE":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_MODE:void 0);case"NEXT_PUBLIC_AUTH_ENABLED":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_AUTH_ENABLED:void 0);case"NEXT_PUBLIC_SESSION_AUTH_PROVIDER":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_AUTH_PROVIDER:void 0);case"NEXT_PUBLIC_SESSION_TOKEN":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_SESSION_TOKEN:void 0);case"NEXT_PUBLIC_URUN_JWT":return U(typeof process<"u"?process.env?.NEXT_PUBLIC_URUN_JWT:void 0);case"VERCEL_ENV":return U(typeof process<"u"?process.env?.VERCEL_ENV:void 0);default:return U(typeof process<"u"?process.env?.[t]:void 0)}}function D(){let t=x("NEXT_PUBLIC_AUTH_MODE")?.toLowerCase();return t==="jwt"||t==="customer-jwt"||t==="test-jwt"?"jwt":t==="workos"||x("VERCEL_ENV")==="production"?"workos":x("NEXT_PUBLIC_AUTH_ENABLED")==="false"?"jwt":"workos"}function Oe(){return D()==="workos"}import{jsx as K}from"react/jsx-runtime";function Fe({baseUrl:t,orgId:e,appId:r,jwt:n,authProvider:s,fallback:o,children:i}){let[P,a]=De(),p=W(),l=x("NEXT_PUBLIC_SESSION_TOKEN")??x("NEXT_PUBLIC_URUN_JWT"),u=D(),c=u==="workos"&&!n,h=n??(u==="jwt"?l:void 0)??P,y=s??x("NEXT_PUBLIC_SESSION_AUTH_PROVIDER"),m=c&&!h,g=Le(()=>({appId:r,baseUrl:t,orgId:e,jwt:h,getAccessToken:c?p?.getAccessToken:void 0,authProvider:y}),[r,p,t,y,h,e,c]);return Be(()=>{if(!c||!p)return;let f=!1,S=p;async function d(){try{let T=await S.getAccessToken();f||a(T??void 0)}catch{f||a(void 0)}}d();let R=window.setInterval(()=>{d()},6e4);return()=>{f=!0,window.clearInterval(R)}},[p,c]),K(M,{fallback:o,children:m?K("div",{role:"status","aria-live":"polite",children:"Signing in..."}):K(L.Provider,{value:g,children:i})})}import{useContext as Ve,useMemo as ce,useReducer as Xe,useRef as je}from"react";import{App as $e}from"@urun-sh/core";function ze(t,e){return`${t}:${JSON.stringify(e??{})}`}var Z=class{constructor(e,r){this._doc=e;this._notify=r;this._unsubscribeChange=this._doc.on("change",()=>this._notify())}_doc;_notify;_unsubscribeChange;get(e,r){return this._doc.get(e,r)}set(e){this._doc.set(e),this._notify()}on(e,r){return this._doc.on(e,n=>r(n))}text(e){let r=this._doc.text(e),n=this._notify;return{append(s){r.append(s),n()},toString:()=>r.toString(),get length(){return r.length},on:(s,o)=>r.on(s,i=>{o(i),n()})}}dispose(){this._unsubscribeChange()}},G=class{constructor(e,r){this._stream=e;this._notify=r;this._unsubscribeTrack=this._stream.on("track",()=>this._notify())}_stream;_notify;_unsubscribeTrack;get track(){return this._stream.track}attach(e){return this._stream.attach(e)}attachVideo(e){return this._stream.attachVideo(e)}detach(){return this._stream.detach()}detachVideo(){return this._stream.detachVideo()}seek(e){return this._stream.seek(e)}on(e,r){return this._stream.on(e,r)}messages(){return this._stream.messages()}dispose(){this._unsubscribeTrack()}},Q=class{constructor(e,r){this._session=e;this._notify=r;this._unsubscribePhase=this._session.onPhase(()=>this._notify())}_session;_notify;_docs=new Map;_streams=new Map;_unsubscribePhase;get id(){return this._session.id}get phase(){return this._session.phase}onPhase(e){return this._session.onPhase(e)}request(e,r){return this._session.request(e,r)}requestStream(e,r){return this._session.requestStream(e,r)}complete(e,r){return this._session.complete(e,r)}doc(e){let r=this._docs.get(e);return r||(r=new Z(this._session.doc(e),this._notify),this._docs.set(e,r)),r}stream(e){let r=this._streams.get(e);return r||(r=new G(this._session.stream(e),this._notify),this._streams.set(e,r)),r}disconnect(){for(let e of this._docs.values())e.dispose();for(let e of this._streams.values())e.dispose();this._docs.clear(),this._streams.clear(),this._unsubscribePhase(),this._session.disconnect(),this._notify()}};function He(){let t=Ve(L);if(!t)throw new Error("useApp must be used within <UrunProvider>");if(!t.appId)throw new Error('useApp requires <UrunProvider appId="...">');let[,e]=Xe(s=>s+1,0),r=je(new Map),n=ce(()=>$e(t.appId,{baseUrl:t.baseUrl,orgId:t.orgId,jwt:t.jwt,getAccessToken:t.getAccessToken,authProvider:t.authProvider}),[t.appId,t.baseUrl,t.orgId,t.jwt,t.getAccessToken,t.authProvider]);return ce(()=>new Proxy({},{get(s,o){if(typeof o=="string")return i=>{let P=ze(o,i),a=r.current.get(P);if(a)return a;let p=new Q(n[o](i),e);return r.current.set(P,p),p}}}),[n])}import{useCallback as Y,useEffect as Je,useMemo as We,useRef as F,useState as ee}from"react";function q(t){let e=t;if(!e||typeof e.request!="function"||typeof e.requestStream!="function")throw new Error("This session does not support request/requestStream. Upgrade @urun-sh/core to a version that ships the request/response primitive.");return e}function Ke(t){return t instanceof Error?t:new Error(String(t))}function Ze(t,e){let r=We(()=>q(t),[t]),[n,s]=ee(void 0),[o,i]=ee(null),[P,a]=ee(!1),p=F(e);p.current=e;let l=F(0),u=F(null),c=F(!0);Je(()=>(c.current=!0,()=>{c.current=!1,u.current?.abort()}),[]);let h=Y(async g=>{u.current?.abort();let f=new AbortController;u.current=f;let S=++l.current,d=()=>c.current&&l.current===S;d()&&(a(!0),i(null));try{let R=await r.request(g,{...p.current,signal:f.signal});return d()&&(s(R),a(!1),p.current?.onSuccess?.(R)),R}catch(R){let T=Ke(R);throw d()&&(i(T),a(!1),p.current?.onError?.(T)),T}},[r]),y=Y(g=>{h(g).catch(()=>{})},[h]),m=Y(()=>{l.current++,u.current?.abort(),u.current=null,s(void 0),i(null),a(!1)},[]);return{mutate:y,mutateAsync:h,data:n,error:o,isPending:P,reset:m}}import{useCallback as pe,useEffect as Ge,useMemo as Qe,useRef as V,useState as te}from"react";function de(t){return t instanceof Error?t:new Error(String(t))}var Ye=t=>typeof t=="string"?t:String(t);function et(t,e){let r=Qe(()=>q(t),[t]),[n,s]=te(""),[o,i]=te(!1),[P,a]=te(null),p=V(e);p.current=e;let l=V(0),u=V(null),c=V(!0);Ge(()=>(c.current=!0,()=>{c.current=!1,u.current?.cancel(),u.current=null}),[]);let h=pe(()=>{l.current++,u.current?.cancel(),u.current=null,c.current&&i(!1)},[]),y=pe(async m=>{u.current?.cancel();let g=++l.current,f=()=>c.current&&l.current===g,S=p.current,d=S?.parseChunk??Ye,R=S?.buildPayload??(v=>({prompt:v}));f()&&(s(""),a(null),i(!0));let{parseChunk:T,buildPayload:Ee,onFinish:z,onError:I,...k}=S??{},N="",E;try{E=r.requestStream(R(m),k),u.current=E}catch(v){let _=de(v);f()&&(a(_),i(!1),S?.onError?.(_));return}try{for await(let v of E){if(l.current!==g)break;N+=d(v),f()&&s(N)}f()&&(i(!1),S?.onFinish?.(N))}catch(v){let _=de(v);f()&&(a(_),i(!1),S?.onError?.(_))}finally{u.current===E&&(u.current=null)}},[r]);return{completion:n,complete:y,stop:h,isStreaming:o,error:P}}import{useCallback as le,useEffect as tt,useMemo as rt,useRef as A,useState as X}from"react";function me(t){return t instanceof Error?t:new Error(String(t))}var nt=t=>typeof t=="string"?t:String(t),fe=0;function re(t){return fe+=1,`${t}-${fe}`}function st(t,e){let r=rt(()=>q(t),[t]),[n,s]=X(()=>(e?.initialMessages??[]).map(d=>({id:d.id??re("msg"),role:d.role,content:d.content}))),[o,i]=X(""),[P,a]=X(!1),[p,l]=X(null),u=A(e);u.current=e;let c=A(n);c.current=n;let h=A(o);h.current=o;let y=A(0),m=A(null),g=A(!0);tt(()=>(g.current=!0,()=>{g.current=!1,m.current?.cancel(),m.current=null}),[]);let f=le(()=>{y.current++,m.current?.cancel(),m.current=null,g.current&&a(!1)},[]),S=le(async d=>{let R=d===void 0,T=(R?h.current:d)??"";if(!T.trim())return;m.current?.cancel();let z=++y.current,I=()=>g.current&&y.current===z,k=u.current,N=k?.parseChunk??nt,E={id:re("msg"),role:"user",content:T},v={id:re("msg"),role:"assistant",content:""},_=[...c.current,E].map(C=>({role:C.role,content:C.content})),ae=[...c.current,E,v];c.current=ae,s(ae),R&&i(""),l(null),a(!0);let _e=k?.buildPayload??(C=>({messages:C})),{initialMessages:kt,parseChunk:xt,buildPayload:bt,onFinish:Et,onError:_t,...we}=k??{},Ue=C=>{s(w=>w.map(J=>J.id===v.id?{...J,content:C}:J))},H="",B;try{B=r.requestStream(_e(_),we),m.current=B}catch(C){let w=me(C);I()&&(l(w),a(!1),k?.onError?.(w));return}try{for await(let C of B){if(y.current!==z)break;H+=N(C),I()&&Ue(H)}I()&&(a(!1),k?.onFinish?.({...v,content:H}))}catch(C){let w=me(C);I()&&(l(w),a(!1),k?.onError?.(w))}finally{m.current===B&&(m.current=null)}},[r]);return{messages:n,input:o,setInput:i,sendMessage:S,stop:f,isStreaming:P,error:p}}var ge=new Map;function ot(t,e,r){if(!r||typeof r.safeParse!="function")throw new Error(`registerComponent("${t}"): schema must be a valid Zod schema`);ge.set(t,{component:e,schema:r})}function he(t,e){let r=ge.get(t);if(!r)return{error:`Unknown component: "${t}"`};let n=r.schema.safeParse(e);return n.success?{Component:r.component,validatedProps:n.data}:{error:`Validation failed for "${t}": ${n.error.message}`}}import{Fragment as at,jsx as j}from"react/jsx-runtime";function it({name:t,props:e,fallback:r}){let n=he(t,e);if(n.error)return console.warn(`[urun] ComponentRenderer: ${n.error}`),r?j(at,{children:r}):j("div",{className:"urun-component-error",role:"alert",children:j("span",{className:"urun-component-error-text",children:n.error})});let s=n.Component;return j(s,{...n.validatedProps})}import{z as O}from"zod";import{jsx as ne,jsxs as Se}from"react/jsx-runtime";var ut=O.object({step:O.number().min(0),total:O.number().min(1),label:O.string().optional(),variant:O.enum(["default","success","error"]).default("default")});function Re(t){let{step:e,total:r,label:n,variant:s="default"}=t,o=Math.min(e/r*100,100),i=e>=r;return{step:e,total:r,label:n,variant:s,percentage:o,isComplete:i}}function ct(t){let{step:e,total:r,label:n,variant:s,percentage:o}=Re(t);return Se("div",{className:"urun-progress-card","data-variant":s,children:[n&&ne("div",{className:"urun-progress-label",children:n}),ne("div",{className:"urun-progress-bar",children:ne("div",{className:"urun-progress-fill",style:{width:`${o}%`}})}),Se("div",{className:"urun-progress-text",children:[e,"/",r]})]})}import{z as se}from"zod";import{jsx as Ce,jsxs as mt}from"react/jsx-runtime";var pt=se.object({state:se.enum(["thinking","generating","idle","error"]),message:se.string().optional()}),dt={thinking:"Thinking...",generating:"Generating...",idle:"Idle",error:"Error"};function ye(t){let{state:e,message:r}=t,n=e==="thinking"||e==="generating",s=r??dt[e]??e;return{state:e,message:s,isActive:n}}function lt(t){let{state:e,message:r,isActive:n}=ye(t);return mt("span",{className:"urun-status-badge","data-state":e,children:[Ce("span",{className:`urun-status-indicator${n?" urun-status-pulse":""}`}),Ce("span",{className:"urun-status-message",children:r})]})}import{useRef as ve,useEffect as ft}from"react";import{z as oe}from"zod";import{jsx as Pe,jsxs as St}from"react/jsx-runtime";var gt=oe.object({text:oe.string(),streaming:oe.boolean().default(!1)});function Te(t){let{text:e,streaming:r=!1}=t,n=e.length===0;return{text:e,streaming:r,isEmpty:n}}function ht(t){let{text:e,streaming:r}=Te(t),n=ve(null),s=ve(0);return ft(()=>{let o=n.current;o&&e.length!==s.current&&(o.textContent=e,s.current=e.length)},[e]),St("div",{className:"urun-text-stream",children:[Pe("span",{ref:n,className:"urun-text-content"}),r&&Pe("span",{className:"urun-text-cursor"})]})}import{z as $}from"zod";import{jsx as ke,jsxs as yt}from"react/jsx-runtime";var Rt=$.object({src:$.string().url(),alt:$.string().optional(),caption:$.string().optional()});function xe(t){let{src:e,alt:r,caption:n}=t;return{src:e,alt:r??"",caption:n}}function Ct(t){let{src:e,alt:r,caption:n}=xe(t);return yt("figure",{className:"urun-image-frame",children:[ke("img",{className:"urun-image",src:e,alt:r}),n&&ke("figcaption",{className:"urun-image-caption",children:n})]})}import{z as b}from"zod";import{jsx as ie,jsxs as Tt}from"react/jsx-runtime";var vt=b.object({metrics:b.array(b.object({label:b.string(),value:b.union([b.string(),b.number()]),unit:b.string().optional()}))});function be(t){return{metrics:t.metrics.map(r=>({...r,displayValue:r.unit?`${r.value} ${r.unit}`:String(r.value)}))}}function Pt(t){let{metrics:e}=be(t);return ie("div",{className:"urun-metrics-panel",children:e.map((r,n)=>Tt("div",{className:"urun-metric-card",children:[ie("div",{className:"urun-metric-label",children:r.label}),ie("div",{className:"urun-metric-value",children:r.displayValue})]},n))})}export{it as ComponentRenderer,Ct as ImageFrame,Rt as ImageFrameSchema,Pt as MetricsPanel,vt as MetricsPanelSchema,ct as ProgressCard,ut as ProgressCardSchema,lt as StatusBadge,pt as StatusBadgeSchema,ht as TextStream,gt as TextStreamSchema,qe as UrunAuthProvider,M as UrunErrorBoundary,Ae as UrunJwtProvider,Fe as UrunProvider,D as authMode,ot as registerComponent,x as urunPublicEnv,He as useApp,st as useChat,et as useCompletion,xe as useImageFrame,be as useMetricsPanel,Re as useProgressCard,Ze as useRequest,ye as useStatusBadge,Te as useTextStream,W as useUrunAuth,Oe as usesWorkOSAuth};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@urun-sh/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.39",
|
|
4
4
|
"description": "React bindings for the urun TypeScript SDK",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": "^18.2.0 || ^19.0.0",
|
|
49
|
-
"@urun-sh/core": "^0.1.
|
|
49
|
+
"@urun-sh/core": "^0.1.39",
|
|
50
50
|
"@workos-inc/authkit-react": "^0.15.0 || ^0.16.0",
|
|
51
51
|
"@workos-inc/authkit-nextjs": "^3.0.0",
|
|
52
52
|
"next": "^15.0.0 || ^16.0.0"
|