ordify-chat-widget 1.0.11 → 1.0.12
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.
|
@@ -16,5 +16,6 @@ export declare function useOrdifyConfig(config: OrdifyConfig): {
|
|
|
16
16
|
onMessage: ((message: import('../types').Message) => void) | undefined;
|
|
17
17
|
onError: ((error: Error) => void) | undefined;
|
|
18
18
|
onClose: (() => void) | undefined;
|
|
19
|
+
onSessionCreated: ((sessionId: string) => void) | undefined;
|
|
19
20
|
};
|
|
20
21
|
//# sourceMappingURL=useOrdifyConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOrdifyConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrdifyConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"useOrdifyConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrdifyConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;EAkCnD"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -28,7 +28,7 @@ Check the top-level render call using <`+x+">.")}return p}}function Sr(o,p){{if(
|
|
|
28
28
|
React keys must be passed directly to JSX without using spread:
|
|
29
29
|
let props = %s;
|
|
30
30
|
<%s key={someKey} {...props} />`,Ot,Ce,bo,Ce),Cr[Ce+Ot]=!0}}return o===n?ho(Y):po(Y),Y}}function mo(o,p,x){return $r(o,p,x,!0)}function go(o,p,x){return $r(o,p,x,!1)}var yo=go,vo=mo;Ge.Fragment=n,Ge.jsx=yo,Ge.jsxs=vo}()),Ge}process.env.NODE_ENV==="production"?Ut.exports=Eo():Ut.exports=Co();var y=Ut.exports;function Bt(){return Math.random().toString(36).substr(2,9)}function gt(e){return new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}).format(e)}function $o(e,t){let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>e(...n),t)}}function Ro(e,t){let r;return(...n)=>{r||(e(...n),r=!0,setTimeout(()=>r=!1,t))}}class un{constructor(t){Rr(this,"config");this.config=t}async sendMessage(t,r){const n=`${this.config.apiBaseUrl}/chat/agents/${this.config.agentId}`,s={message:t,sessionId:r},l=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json","api-key":this.config.apiKey,accept:"application/json"},body:JSON.stringify(s)});if(!l.ok){const d=await l.json();throw new Error(`API Error: ${d.detail}`)}if(!l.body)throw new Error("No response body");return l.body}async createSession(){const t=`${this.config.apiBaseUrl}/sessions`,r=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json","api-key":this.config.apiKey,accept:"application/json"},body:JSON.stringify({name:"Chat Session",agentConfig:{type:"chat",settings:null}})});if(!r.ok){const n=await r.json();throw new Error(`API Error: ${n.detail}`)}return r.json()}async getAgents(){const t=`${this.config.apiBaseUrl}/chat/agents`,r=await fetch(t,{method:"GET",headers:{"api-key":this.config.apiKey,accept:"application/json"}});if(!r.ok){const s=await r.json();throw new Error(`API Error: ${s.detail}`)}return(await r.json()).agents||[]}async getSessions(){const t=`${this.config.apiBaseUrl}/sessions`,r=await fetch(t,{method:"GET",headers:{"api-key":this.config.apiKey,accept:"application/json"}});if(!r.ok){const n=await r.json();throw new Error(`API Error: ${n.detail}`)}return r.json()}}function dn(e){try{if(e.startsWith("data: ")){const t=e.slice(6);return t==="[DONE]"?{text:"",sessionId:"",type:"done"}:JSON.parse(t)}}catch(t){console.warn("Failed to parse streaming response:",t)}return null}function fn(e){const[t,r]=O.useState([]),[n,s]=O.useState(!1),[l,d]=O.useState(null),[u,f]=O.useState(null),[k,v]=O.useState(!1),m=O.useRef(null);m.current||(m.current=new un({apiKey:e.apiKey,apiBaseUrl:e.apiBaseUrl||"https://api.ordify.ai",agentId:e.agentId}));const E=O.useCallback(()=>{d(null)},[]),S=O.useCallback(async R=>{if(!(!R.trim()||n)){s(!0),d(null);try{const C={id:Bt(),content:R.trim(),role:"user",timestamp:new Date,sessionId:u||void 0};r(h=>[...h,C]);let j=u;j?console.log("♻️ Using existing session ID:",j):(console.log("🔧 Creating new session..."),j=(await m.current.createSession()).id,console.log("✅ Session created with ID:",j),f(j),e.onSessionCreated?(console.log("📞 Calling onSessionCreated callback with ID:",j),e.onSessionCreated(j)):console.log("⚠️ No onSessionCreated callback provided"));const c=(await m.current.sendMessage(R.trim(),j)).getReader(),i=new TextDecoder;let g={id:Bt(),content:"",role:"assistant",timestamp:new Date,sessionId:j};for(r(h=>[...h,g]);;){const{done:h,value:b}=await c.read();if(h)break;const N=i.decode(b,{stream:!0}).split(`
|
|
31
|
-
`);for(const M of N){const U=dn(M);if(U){if(U.type==="stream"&&U.text)r(D=>D.map(V=>V.id===g.id?{...V,content:V.content+U.text}:V));else if(U.type==="done")break}}}e.onMessage&&e.onMessage(g)}catch(C){const j=C instanceof Error?C.message:"Failed to send message";d(j),e.onError&&e.onError(C instanceof Error?C:new Error(j))}finally{s(!1)}}},[e,n,u]);return{messages:t,sendMessage:S,isLoading:n,error:l,clearError:E,sessionId:u,isOpen:k,setIsOpen:v}}function pn(e){return O.useMemo(()=>{const t=e.agentId||process.env.ORDIFY_AGENT_ID,r=e.apiKey||process.env.ORDIFY_API_KEY,n=e.apiBaseUrl||process.env.ORDIFY_API_BASE_URL||"https://r.ordify.ai";if(!t)throw new Error("Ordify agent ID is required. Provide agentId prop or set ORDIFY_AGENT_ID environment variable.");if(!r)throw new Error("Ordify API key is required. Provide apiKey prop or set ORDIFY_API_KEY environment variable.");return{agentId:t,apiKey:r,apiBaseUrl:n,mode:e.mode||"floating",position:e.position||"bottom-right",theme:e.theme||"light",placeholder:e.placeholder||"Type a message...",height:e.height||"500px",className:e.className||"",buttonStyle:e.buttonStyle||{},chatWindowStyle:e.chatWindowStyle||{},showHeader:e.showHeader!==!1,onMessage:e.onMessage,onError:e.onError,onClose:e.onClose}},[e])}function $e(){return $e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},$e.apply(this,arguments)}const _o=["children","options"],Or=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((e,t)=>(e[t.toLowerCase()]=t,e),{class:"className",for:"htmlFor"}),Tr={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},jo=["style","script","pre"],Oo=["src","href","data","formAction","srcDoc","action"],To=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,Po=/mailto:/i,Ao=/\n{2,}$/,Pr=/^(\s*>[\s\S]*?)(?=\n\n|$)/,Io=/^ *> ?/gm,No=/^(?:\[!([^\]]*)\]\n)?([\s\S]*)/,Do=/^ {2,}\n/,Mo=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,Ar=/^(?: {1,3})?(`{3,}|~{3,}) *(\S+)? *([^\n]*?)?\n([\s\S]*?)(?:\1\n?|$)/,Ir=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,Fo=/^(`+)((?:\\`|(?!\1)`|[^`])+)\1/,Lo=/^(?:\n *)*\n/,zo=/\r\n?/g,Uo=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,Bo=/^\[\^([^\]]+)]/,Vo=/\f/g,Wo=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,Yo=/^\s*?\[(x|\s)\]/,Nr=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,Dr=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,Mr=/^([^\n]+)\n *(=|-){3,} *\n/,Tt=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,Ho=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,Fr=/^<!--[\s\S]*?(?:-->)/,Ko=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,Pt=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,Go=/^\{.*\}$/,qo=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,Jo=/^<([^ >]+@[^ >]+)>/,Xo=/^<([^ >]+:\/[^ >]+)>/,Zo=/-([a-z])?/gi,Lr=/^(\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,Qo=/^[^\n]+(?: \n|\n{2,})/,ea=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,ta=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,ra=/^\[([^\]]*)\] ?\[([^\]]*)\]/,na=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,oa=/\t/g,aa=/(^ *\||\| *$)/g,sa=/^ *:-+: *$/,ia=/^ *:-+ *$/,ca=/^ *-+: *$/,yt=e=>`(?=[\\s\\S]+?\\1${e?"\\1":""})`,vt="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\1|[\\s\\S])+?)",la=RegExp(`^([*_])\\1${yt(1)}${vt}\\1\\1(?!\\1)`),ua=RegExp(`^([*_])${yt(0)}${vt}\\1(?!\\1)`),da=RegExp(`^(==)${yt(0)}${vt}\\1`),fa=RegExp(`^(~~)${yt(0)}${vt}\\1`),pa=/^(:[a-zA-Z0-9-_]+:)/,ha=/^\\([^0-9A-Za-z\s])/,ma=/\\([^0-9A-Za-z\s])/g,ga=/^[\s\S](?:(?! \n|[0-9]\.|http)[^=*_~\-\n:<`\\\[!])*/,ya=/^\n+/,va=/^([ \t]*)/,ba=/(?:^|\n)( *)$/,Zt="(?:\\d+\\.)",Qt="(?:[*+-])";function hn(e){return"( *)("+(e===1?Zt:Qt)+") +"}const mn=hn(1),gn=hn(2);function yn(e){return RegExp("^"+(e===1?mn:gn))}const xa=yn(1),wa=yn(2);function vn(e){return RegExp("^"+(e===1?mn:gn)+"[^\\n]*(?:\\n(?!\\1"+(e===1?Zt:Qt)+" )[^\\n]*)*(\\n|$)","gm")}const ka=vn(1),Sa=vn(2);function bn(e){const t=e===1?Zt:Qt;return RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const xn=bn(1),wn=bn(2);function zr(e,t){const r=t===1,n=r?xn:wn,s=r?ka:Sa,l=r?xa:wa;return{t:d=>l.test(d),o:De(function(d,u){const f=ba.exec(u.prevCapture);return f&&(u.list||!u.inline&&!u.simple)?n.exec(d=f[1]+d):null}),i:1,u(d,u,f){const k=r?+d[2]:void 0,v=d[0].replace(Ao,`
|
|
31
|
+
`);for(const M of N){const U=dn(M);if(U){if(U.type==="stream"&&U.text)r(D=>D.map(V=>V.id===g.id?{...V,content:V.content+U.text}:V));else if(U.type==="done")break}}}e.onMessage&&e.onMessage(g)}catch(C){const j=C instanceof Error?C.message:"Failed to send message";d(j),e.onError&&e.onError(C instanceof Error?C:new Error(j))}finally{s(!1)}}},[e,n,u]);return{messages:t,sendMessage:S,isLoading:n,error:l,clearError:E,sessionId:u,isOpen:k,setIsOpen:v}}function pn(e){return O.useMemo(()=>{const t=e.agentId||process.env.ORDIFY_AGENT_ID,r=e.apiKey||process.env.ORDIFY_API_KEY,n=e.apiBaseUrl||process.env.ORDIFY_API_BASE_URL||"https://r.ordify.ai";if(!t)throw new Error("Ordify agent ID is required. Provide agentId prop or set ORDIFY_AGENT_ID environment variable.");if(!r)throw new Error("Ordify API key is required. Provide apiKey prop or set ORDIFY_API_KEY environment variable.");return{agentId:t,apiKey:r,apiBaseUrl:n,mode:e.mode||"floating",position:e.position||"bottom-right",theme:e.theme||"light",placeholder:e.placeholder||"Type a message...",height:e.height||"500px",className:e.className||"",buttonStyle:e.buttonStyle||{},chatWindowStyle:e.chatWindowStyle||{},showHeader:e.showHeader!==!1,onMessage:e.onMessage,onError:e.onError,onClose:e.onClose,onSessionCreated:e.onSessionCreated}},[e])}function $e(){return $e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},$e.apply(this,arguments)}const _o=["children","options"],Or=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((e,t)=>(e[t.toLowerCase()]=t,e),{class:"className",for:"htmlFor"}),Tr={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:"“"},jo=["style","script","pre"],Oo=["src","href","data","formAction","srcDoc","action"],To=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,Po=/mailto:/i,Ao=/\n{2,}$/,Pr=/^(\s*>[\s\S]*?)(?=\n\n|$)/,Io=/^ *> ?/gm,No=/^(?:\[!([^\]]*)\]\n)?([\s\S]*)/,Do=/^ {2,}\n/,Mo=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,Ar=/^(?: {1,3})?(`{3,}|~{3,}) *(\S+)? *([^\n]*?)?\n([\s\S]*?)(?:\1\n?|$)/,Ir=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,Fo=/^(`+)((?:\\`|(?!\1)`|[^`])+)\1/,Lo=/^(?:\n *)*\n/,zo=/\r\n?/g,Uo=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,Bo=/^\[\^([^\]]+)]/,Vo=/\f/g,Wo=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,Yo=/^\s*?\[(x|\s)\]/,Nr=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,Dr=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,Mr=/^([^\n]+)\n *(=|-){3,} *\n/,Tt=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,Ho=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,Fr=/^<!--[\s\S]*?(?:-->)/,Ko=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,Pt=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,Go=/^\{.*\}$/,qo=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,Jo=/^<([^ >]+@[^ >]+)>/,Xo=/^<([^ >]+:\/[^ >]+)>/,Zo=/-([a-z])?/gi,Lr=/^(\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,Qo=/^[^\n]+(?: \n|\n{2,})/,ea=/^\[([^\]]*)\]:\s+<?([^\s>]+)>?\s*("([^"]*)")?/,ta=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,ra=/^\[([^\]]*)\] ?\[([^\]]*)\]/,na=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,oa=/\t/g,aa=/(^ *\||\| *$)/g,sa=/^ *:-+: *$/,ia=/^ *:-+ *$/,ca=/^ *-+: *$/,yt=e=>`(?=[\\s\\S]+?\\1${e?"\\1":""})`,vt="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\1|[\\s\\S])+?)",la=RegExp(`^([*_])\\1${yt(1)}${vt}\\1\\1(?!\\1)`),ua=RegExp(`^([*_])${yt(0)}${vt}\\1(?!\\1)`),da=RegExp(`^(==)${yt(0)}${vt}\\1`),fa=RegExp(`^(~~)${yt(0)}${vt}\\1`),pa=/^(:[a-zA-Z0-9-_]+:)/,ha=/^\\([^0-9A-Za-z\s])/,ma=/\\([^0-9A-Za-z\s])/g,ga=/^[\s\S](?:(?! \n|[0-9]\.|http)[^=*_~\-\n:<`\\\[!])*/,ya=/^\n+/,va=/^([ \t]*)/,ba=/(?:^|\n)( *)$/,Zt="(?:\\d+\\.)",Qt="(?:[*+-])";function hn(e){return"( *)("+(e===1?Zt:Qt)+") +"}const mn=hn(1),gn=hn(2);function yn(e){return RegExp("^"+(e===1?mn:gn))}const xa=yn(1),wa=yn(2);function vn(e){return RegExp("^"+(e===1?mn:gn)+"[^\\n]*(?:\\n(?!\\1"+(e===1?Zt:Qt)+" )[^\\n]*)*(\\n|$)","gm")}const ka=vn(1),Sa=vn(2);function bn(e){const t=e===1?Zt:Qt;return RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const xn=bn(1),wn=bn(2);function zr(e,t){const r=t===1,n=r?xn:wn,s=r?ka:Sa,l=r?xa:wa;return{t:d=>l.test(d),o:De(function(d,u){const f=ba.exec(u.prevCapture);return f&&(u.list||!u.inline&&!u.simple)?n.exec(d=f[1]+d):null}),i:1,u(d,u,f){const k=r?+d[2]:void 0,v=d[0].replace(Ao,`
|
|
32
32
|
`).match(s);let m=!1;return{items:v.map(function(E,S){const R=l.exec(E)[0].length,C=RegExp("^ {1,"+R+"}","gm"),j=E.replace(C,"").replace(l,""),a=S===v.length-1,c=j.indexOf(`
|
|
33
33
|
|
|
34
34
|
`)!==-1||a&&m;m=c;const i=f.inline,g=f.list;let h;f.list=!0,c?(f.inline=!1,h=Xe(j)+`
|
package/dist/index.esm.js
CHANGED
package/package.json
CHANGED