ordify-chat-widget 1.0.13 → 1.0.15
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOrdifyChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrdifyChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKpE,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useOrdifyChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrdifyChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKpE,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAsIvE"}
|
|
@@ -17,5 +17,6 @@ export declare function useOrdifyConfig(config: OrdifyConfig): {
|
|
|
17
17
|
onError: ((error: Error) => void) | undefined;
|
|
18
18
|
onClose: (() => void) | undefined;
|
|
19
19
|
onSessionCreated: ((sessionId: string) => void) | undefined;
|
|
20
|
+
initialMessage: string | undefined;
|
|
20
21
|
};
|
|
21
22
|
//# 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;;;;;;;;;;;;;;;;;;EAmCnD"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -28,7 +28,7 @@ Check the top-level render call using <`+k+">.")}return p}}function Sr(a,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 a===n?ho(Y):po(Y),Y}}function mo(a,p,k){return $r(a,p,k,!0)}function go(a,p,k){return $r(a,p,k,!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 b=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]=_.useState([]),[n,s]=_.useState(!1),[l,d]=_.useState(null),[u,f]=_.useState(null),[S,x]=_.useState(!1),[m,E]=_.useState(!1),w=_.useRef(null);w.current||(w.current=new un({apiKey:e.apiKey,apiBaseUrl:e.apiBaseUrl||"https://api.ordify.ai",agentId:e.agentId}));const j=_.useCallback(()=>{d(null)},[]),C=_.useCallback(async N=>{if(!(!N.trim()||n)){s(!0),d(null);try{const o={id:Bt(),content:N.trim(),role:"user",timestamp:new Date,sessionId:u||void 0};r(y=>[...y,o]);let i=u;i||(i=(await w.current.createSession()).id,f(i),e.onSessionCreated&&e.onSessionCreated(i));const g=(await w.current.sendMessage(N.trim(),i)).getReader(),h=new TextDecoder;let v={id:Bt(),content:"",role:"assistant",timestamp:new Date,sessionId:i};for(r(y=>[...y,v]);;){const{done:y,value:D}=await g.read();if(y)break;const W=h.decode(D,{stream:!0}).split(`
|
|
31
|
-
`);for(const M of W){const U=dn(M);if(U){if(U.type==="stream"&&U.text)r(I=>I.map(G=>G.id===v.id?{...G,content:G.content+U.text}:G));else if(U.type==="done")break}}}e.onMessage&&e.onMessage(v)}catch(o){const i=o instanceof Error?o.message:"Failed to send message";d(i),e.onError&&e.onError(o instanceof Error?o:new Error(i))}finally{s(!1)}}},[e,n,u]);return _.useEffect(()=>{e.initialMessage&&!m&&!n&&(console.log("🚀 Auto-sending initial message:",e.initialMessage),E(!0),C(e.initialMessage))},[e.initialMessage,m,n
|
|
31
|
+
`);for(const M of W){const U=dn(M);if(U){if(U.type==="stream"&&U.text)r(I=>I.map(G=>G.id===v.id?{...G,content:G.content+U.text}:G));else if(U.type==="done")break}}}e.onMessage&&e.onMessage(v)}catch(o){const i=o instanceof Error?o.message:"Failed to send message";d(i),e.onError&&e.onError(o instanceof Error?o:new Error(i))}finally{s(!1)}}},[e,n,u]);return _.useEffect(()=>{e.initialMessage&&!m&&!n&&(console.log("🚀 Auto-sending initial message:",e.initialMessage),E(!0),setTimeout(()=>{C(e.initialMessage)},0))},[e.initialMessage,m,n]),{messages:t,sendMessage:C,isLoading:n,error:l,clearError:j,sessionId:u,isOpen:S,setIsOpen:x}}function pn(e){return _.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,initialMessage:e.initialMessage}},[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 S=r?+d[2]:void 0,x=d[0].replace(Ao,`
|
|
32
32
|
`).match(s);let m=!1;return{items:x.map(function(E,w){const j=l.exec(E)[0].length,C=RegExp("^ {1,"+j+"}","gm"),N=E.replace(C,"").replace(l,""),o=w===x.length-1,i=N.indexOf(`
|
|
33
33
|
|
|
34
34
|
`)!==-1||o&&m;m=i;const c=f.inline,g=f.list;let h;f.list=!0,i?(f.inline=!1,h=Xe(N)+`
|
package/dist/index.esm.js
CHANGED
|
@@ -799,8 +799,10 @@ function To(e) {
|
|
|
799
799
|
}
|
|
800
800
|
}, [e, n, u]);
|
|
801
801
|
return Eo(() => {
|
|
802
|
-
e.initialMessage && !m && !n && (console.log("🚀 Auto-sending initial message:", e.initialMessage), E(!0),
|
|
803
|
-
|
|
802
|
+
e.initialMessage && !m && !n && (console.log("🚀 Auto-sending initial message:", e.initialMessage), E(!0), setTimeout(() => {
|
|
803
|
+
C(e.initialMessage);
|
|
804
|
+
}, 0));
|
|
805
|
+
}, [e.initialMessage, m, n]), {
|
|
804
806
|
messages: t,
|
|
805
807
|
sendMessage: C,
|
|
806
808
|
isLoading: n,
|
|
@@ -834,7 +836,8 @@ function Po(e) {
|
|
|
834
836
|
onMessage: e.onMessage,
|
|
835
837
|
onError: e.onError,
|
|
836
838
|
onClose: e.onClose,
|
|
837
|
-
onSessionCreated: e.onSessionCreated
|
|
839
|
+
onSessionCreated: e.onSessionCreated,
|
|
840
|
+
initialMessage: e.initialMessage
|
|
838
841
|
};
|
|
839
842
|
}, [e]);
|
|
840
843
|
}
|
package/package.json
CHANGED