@plucky-ai/chat-sdk 0.4.0 → 0.5.0

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.cjs CHANGED
@@ -91,6 +91,11 @@ function runIfLoaded(fn) {
91
91
  if (isAttachedToWindow()) fn(window.Plucky);
92
92
  else console.warn("Window is not defined");
93
93
  }
94
+ function unmount() {
95
+ runIfLoaded((Plucky$1) => {
96
+ Plucky$1("unmount");
97
+ });
98
+ }
94
99
 
95
100
  //#endregion
96
101
  exports.Plucky = Plucky;
@@ -105,5 +110,6 @@ exports.sendMessage = sendMessage;
105
110
  exports.setFullscreen = setFullscreen;
106
111
  exports.setWidth = setWidth;
107
112
  exports.toggle = toggle;
113
+ exports.unmount = unmount;
108
114
  exports.updateSettings = updateSettings;
109
115
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/Plucky.ts","../src/index.ts"],"sourcesContent":["import { type PluckySettingsParams } from '@plucky-ai/loader-types'\n\nlet attached = false\n\nexport function Plucky(options: PluckySettingsParams) {\n if (attached) return\n attached = true\n if (!document.getElementById('plucky-settings')) {\n const settingScript = document.createElement('script')\n settingScript.id = 'plucky-settings'\n settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`\n document.head.appendChild(settingScript)\n }\n\n if (!document.getElementById('plucky-init')) {\n const initScript = document.createElement('script')\n initScript.id = 'plucky-init'\n initScript.textContent = `(function(){var w=window;var ic=w.Plucky;if(typeof ic===\"function\"){ic('update',w.pluckySettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Plucky=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src=(window.pluckySettings.baseUrl||'https://widget.plucky.ai')+'/loader/'+window.pluckySettings.appId;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();`\n document.head.appendChild(initScript)\n }\n}\n","import { PluckySettingsParams, ToolConfig } from '@plucky-ai/loader-types'\nimport { PluckyFunction } from './types'\n\nexport type { ToolConfig } from '@plucky-ai/loader-types'\nexport { Plucky } from './Plucky'\n\nexport function updateSettings(settings: {\n user?: PluckySettingsParams['user']\n}) {\n runIfLoaded((Plucky) => {\n Plucky('update', settings)\n })\n}\n\nexport function sendMessage(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('sendMessage', args)\n })\n}\n\nexport function addTools(tools: ToolConfig[]) {\n runIfLoaded((Plucky) => {\n Plucky('addTools', tools)\n })\n}\n\nexport function removeTools(tools: string[]) {\n runIfLoaded((Plucky) => {\n Plucky('removeTools', tools)\n })\n}\n\nexport function setWidth(px: number) {\n runIfLoaded((Plucky) => {\n Plucky('setWidth', px)\n })\n}\n\nexport function setFullscreen(fullscreen: boolean) {\n runIfLoaded((Plucky) => {\n Plucky('setFullscreen', { fullscreen })\n })\n}\n\nexport function toggle() {\n runIfLoaded((Plucky) => {\n Plucky('toggle')\n })\n}\n\nexport function open() {\n runIfLoaded((Plucky) => {\n Plucky('open')\n })\n}\nexport function close() {\n runIfLoaded((Plucky) => {\n Plucky('close')\n })\n}\n\nexport function isReady() {\n return isAttachedToWindow() && window.Plucky('isReady')\n}\n\nexport function addEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('addEventListener', { event, listener })\n })\n}\n\nexport function removeEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('removeEventListener', { event, listener })\n })\n}\nfunction isAttachedToWindow() {\n return (\n typeof window !== 'undefined' &&\n window.Plucky &&\n typeof window.Plucky === 'function'\n )\n}\n\nfunction runIfLoaded(fn: (arg: PluckyFunction) => void) {\n if (isAttachedToWindow()) {\n fn(window.Plucky)\n } else {\n console.warn('Window is not defined')\n }\n}\n"],"mappings":";;AAEA,IAAI,WAAW;AAEf,SAAgB,OAAO,SAA+B;AACpD,KAAI,SAAU;AACd,YAAW;AACX,KAAI,CAAC,SAAS,eAAe,kBAAkB,EAAE;EAC/C,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,gBAAc,KAAK;AACnB,gBAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,WAAS,KAAK,YAAY,cAAc;;AAG1C,KAAI,CAAC,SAAS,eAAe,cAAc,EAAE;EAC3C,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,aAAW,KAAK;AAChB,aAAW,cAAc;AACzB,WAAS,KAAK,YAAY,WAAW;;;;;;ACZzC,SAAgB,eAAe,UAE5B;AACD,cAAa,aAAW;AACtB,WAAO,UAAU,SAAS;GAC1B;;AAGJ,SAAgB,YAAY,MAAiD;AAC3E,cAAa,aAAW;AACtB,WAAO,eAAe,KAAK;GAC3B;;AAGJ,SAAgB,SAAS,OAAqB;AAC5C,cAAa,aAAW;AACtB,WAAO,YAAY,MAAM;GACzB;;AAGJ,SAAgB,YAAY,OAAiB;AAC3C,cAAa,aAAW;AACtB,WAAO,eAAe,MAAM;GAC5B;;AAGJ,SAAgB,SAAS,IAAY;AACnC,cAAa,aAAW;AACtB,WAAO,YAAY,GAAG;GACtB;;AAGJ,SAAgB,cAAc,YAAqB;AACjD,cAAa,aAAW;AACtB,WAAO,iBAAiB,EAAE,YAAY,CAAC;GACvC;;AAGJ,SAAgB,SAAS;AACvB,cAAa,aAAW;AACtB,WAAO,SAAS;GAChB;;AAGJ,SAAgB,OAAO;AACrB,cAAa,aAAW;AACtB,WAAO,OAAO;GACd;;AAEJ,SAAgB,QAAQ;AACtB,cAAa,aAAW;AACtB,WAAO,QAAQ;GACf;;AAGJ,SAAgB,UAAU;AACxB,QAAO,oBAAoB,IAAI,OAAO,OAAO,UAAU;;AAGzD,SAAgB,iBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,oBAAoB;GAAE;GAAO;GAAU,CAAC;GAC/C;;AAGJ,SAAgB,oBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,uBAAuB;GAAE;GAAO;GAAU,CAAC;GAClD;;AAEJ,SAAS,qBAAqB;AAC5B,QACE,OAAO,WAAW,eAClB,OAAO,UACP,OAAO,OAAO,WAAW;;AAI7B,SAAS,YAAY,IAAmC;AACtD,KAAI,oBAAoB,CACtB,IAAG,OAAO,OAAO;KAEjB,SAAQ,KAAK,wBAAwB"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/Plucky.ts","../src/index.ts"],"sourcesContent":["import { type PluckySettingsParams } from '@plucky-ai/loader-types'\n\nlet attached = false\n\nexport function Plucky(options: PluckySettingsParams) {\n if (attached) return\n attached = true\n if (!document.getElementById('plucky-settings')) {\n const settingScript = document.createElement('script')\n settingScript.id = 'plucky-settings'\n settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`\n document.head.appendChild(settingScript)\n }\n\n if (!document.getElementById('plucky-init')) {\n const initScript = document.createElement('script')\n initScript.id = 'plucky-init'\n initScript.textContent = `(function(){var w=window;var ic=w.Plucky;if(typeof ic===\"function\"){ic('update',w.pluckySettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Plucky=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src=(window.pluckySettings.baseUrl||'https://widget.plucky.ai')+'/loader/'+window.pluckySettings.appId;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();`\n document.head.appendChild(initScript)\n }\n}\n","import { PluckySettingsParams, ToolConfig } from '@plucky-ai/loader-types'\nimport { PluckyFunction } from './types'\n\nexport type { ToolConfig } from '@plucky-ai/loader-types'\nexport { Plucky } from './Plucky'\n\nexport function updateSettings(settings: {\n user?: PluckySettingsParams['user']\n}) {\n runIfLoaded((Plucky) => {\n Plucky('update', settings)\n })\n}\n\nexport function sendMessage(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('sendMessage', args)\n })\n}\n\nexport function addTools(tools: ToolConfig[]) {\n runIfLoaded((Plucky) => {\n Plucky('addTools', tools)\n })\n}\n\nexport function removeTools(tools: string[]) {\n runIfLoaded((Plucky) => {\n Plucky('removeTools', tools)\n })\n}\n\nexport function setWidth(px: number) {\n runIfLoaded((Plucky) => {\n Plucky('setWidth', px)\n })\n}\n\nexport function setFullscreen(fullscreen: boolean) {\n runIfLoaded((Plucky) => {\n Plucky('setFullscreen', { fullscreen })\n })\n}\n\nexport function toggle() {\n runIfLoaded((Plucky) => {\n Plucky('toggle')\n })\n}\n\nexport function open() {\n runIfLoaded((Plucky) => {\n Plucky('open')\n })\n}\nexport function close() {\n runIfLoaded((Plucky) => {\n Plucky('close')\n })\n}\n\nexport function isReady() {\n return isAttachedToWindow() && window.Plucky('isReady')\n}\n\nexport function addEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('addEventListener', { event, listener })\n })\n}\n\nexport function removeEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('removeEventListener', { event, listener })\n })\n}\nfunction isAttachedToWindow() {\n return (\n typeof window !== 'undefined' &&\n window.Plucky &&\n typeof window.Plucky === 'function'\n )\n}\n\nfunction runIfLoaded(fn: (arg: PluckyFunction) => void) {\n if (isAttachedToWindow()) {\n fn(window.Plucky)\n } else {\n console.warn('Window is not defined')\n }\n}\n\nexport function unmount() {\n runIfLoaded((Plucky) => {\n Plucky('unmount')\n })\n}\n"],"mappings":";;AAEA,IAAI,WAAW;AAEf,SAAgB,OAAO,SAA+B;AACpD,KAAI,SAAU;AACd,YAAW;AACX,KAAI,CAAC,SAAS,eAAe,kBAAkB,EAAE;EAC/C,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,gBAAc,KAAK;AACnB,gBAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,WAAS,KAAK,YAAY,cAAc;;AAG1C,KAAI,CAAC,SAAS,eAAe,cAAc,EAAE;EAC3C,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,aAAW,KAAK;AAChB,aAAW,cAAc;AACzB,WAAS,KAAK,YAAY,WAAW;;;;;;ACZzC,SAAgB,eAAe,UAE5B;AACD,cAAa,aAAW;AACtB,WAAO,UAAU,SAAS;GAC1B;;AAGJ,SAAgB,YAAY,MAAiD;AAC3E,cAAa,aAAW;AACtB,WAAO,eAAe,KAAK;GAC3B;;AAGJ,SAAgB,SAAS,OAAqB;AAC5C,cAAa,aAAW;AACtB,WAAO,YAAY,MAAM;GACzB;;AAGJ,SAAgB,YAAY,OAAiB;AAC3C,cAAa,aAAW;AACtB,WAAO,eAAe,MAAM;GAC5B;;AAGJ,SAAgB,SAAS,IAAY;AACnC,cAAa,aAAW;AACtB,WAAO,YAAY,GAAG;GACtB;;AAGJ,SAAgB,cAAc,YAAqB;AACjD,cAAa,aAAW;AACtB,WAAO,iBAAiB,EAAE,YAAY,CAAC;GACvC;;AAGJ,SAAgB,SAAS;AACvB,cAAa,aAAW;AACtB,WAAO,SAAS;GAChB;;AAGJ,SAAgB,OAAO;AACrB,cAAa,aAAW;AACtB,WAAO,OAAO;GACd;;AAEJ,SAAgB,QAAQ;AACtB,cAAa,aAAW;AACtB,WAAO,QAAQ;GACf;;AAGJ,SAAgB,UAAU;AACxB,QAAO,oBAAoB,IAAI,OAAO,OAAO,UAAU;;AAGzD,SAAgB,iBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,oBAAoB;GAAE;GAAO;GAAU,CAAC;GAC/C;;AAGJ,SAAgB,oBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,uBAAuB;GAAE;GAAO;GAAU,CAAC;GAClD;;AAEJ,SAAS,qBAAqB;AAC5B,QACE,OAAO,WAAW,eAClB,OAAO,UACP,OAAO,OAAO,WAAW;;AAI7B,SAAS,YAAY,IAAmC;AACtD,KAAI,oBAAoB,CACtB,IAAG,OAAO,OAAO;KAEjB,SAAQ,KAAK,wBAAwB;;AAIzC,SAAgB,UAAU;AACxB,cAAa,aAAW;AACtB,WAAO,UAAU;GACjB"}
package/dist/index.d.cts CHANGED
@@ -21,6 +21,7 @@ declare function close(): void;
21
21
  declare function isReady(): any;
22
22
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
23
23
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
24
+ declare function unmount(): void;
24
25
  //#endregion
25
- export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
26
+ export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, unmount, updateSettings };
26
27
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ declare function close(): void;
21
21
  declare function isReady(): any;
22
22
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
23
23
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
24
+ declare function unmount(): void;
24
25
  //#endregion
25
- export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
26
+ export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, unmount, updateSettings };
26
27
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -90,7 +90,12 @@ function runIfLoaded(fn) {
90
90
  if (isAttachedToWindow()) fn(window.Plucky);
91
91
  else console.warn("Window is not defined");
92
92
  }
93
+ function unmount() {
94
+ runIfLoaded((Plucky$1) => {
95
+ Plucky$1("unmount");
96
+ });
97
+ }
93
98
 
94
99
  //#endregion
95
- export { Plucky, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
100
+ export { Plucky, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, unmount, updateSettings };
96
101
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/Plucky.ts","../src/index.ts"],"sourcesContent":["import { type PluckySettingsParams } from '@plucky-ai/loader-types'\n\nlet attached = false\n\nexport function Plucky(options: PluckySettingsParams) {\n if (attached) return\n attached = true\n if (!document.getElementById('plucky-settings')) {\n const settingScript = document.createElement('script')\n settingScript.id = 'plucky-settings'\n settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`\n document.head.appendChild(settingScript)\n }\n\n if (!document.getElementById('plucky-init')) {\n const initScript = document.createElement('script')\n initScript.id = 'plucky-init'\n initScript.textContent = `(function(){var w=window;var ic=w.Plucky;if(typeof ic===\"function\"){ic('update',w.pluckySettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Plucky=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src=(window.pluckySettings.baseUrl||'https://widget.plucky.ai')+'/loader/'+window.pluckySettings.appId;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();`\n document.head.appendChild(initScript)\n }\n}\n","import { PluckySettingsParams, ToolConfig } from '@plucky-ai/loader-types'\nimport { PluckyFunction } from './types'\n\nexport type { ToolConfig } from '@plucky-ai/loader-types'\nexport { Plucky } from './Plucky'\n\nexport function updateSettings(settings: {\n user?: PluckySettingsParams['user']\n}) {\n runIfLoaded((Plucky) => {\n Plucky('update', settings)\n })\n}\n\nexport function sendMessage(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('sendMessage', args)\n })\n}\n\nexport function addTools(tools: ToolConfig[]) {\n runIfLoaded((Plucky) => {\n Plucky('addTools', tools)\n })\n}\n\nexport function removeTools(tools: string[]) {\n runIfLoaded((Plucky) => {\n Plucky('removeTools', tools)\n })\n}\n\nexport function setWidth(px: number) {\n runIfLoaded((Plucky) => {\n Plucky('setWidth', px)\n })\n}\n\nexport function setFullscreen(fullscreen: boolean) {\n runIfLoaded((Plucky) => {\n Plucky('setFullscreen', { fullscreen })\n })\n}\n\nexport function toggle() {\n runIfLoaded((Plucky) => {\n Plucky('toggle')\n })\n}\n\nexport function open() {\n runIfLoaded((Plucky) => {\n Plucky('open')\n })\n}\nexport function close() {\n runIfLoaded((Plucky) => {\n Plucky('close')\n })\n}\n\nexport function isReady() {\n return isAttachedToWindow() && window.Plucky('isReady')\n}\n\nexport function addEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('addEventListener', { event, listener })\n })\n}\n\nexport function removeEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('removeEventListener', { event, listener })\n })\n}\nfunction isAttachedToWindow() {\n return (\n typeof window !== 'undefined' &&\n window.Plucky &&\n typeof window.Plucky === 'function'\n )\n}\n\nfunction runIfLoaded(fn: (arg: PluckyFunction) => void) {\n if (isAttachedToWindow()) {\n fn(window.Plucky)\n } else {\n console.warn('Window is not defined')\n }\n}\n"],"mappings":";AAEA,IAAI,WAAW;AAEf,SAAgB,OAAO,SAA+B;AACpD,KAAI,SAAU;AACd,YAAW;AACX,KAAI,CAAC,SAAS,eAAe,kBAAkB,EAAE;EAC/C,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,gBAAc,KAAK;AACnB,gBAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,WAAS,KAAK,YAAY,cAAc;;AAG1C,KAAI,CAAC,SAAS,eAAe,cAAc,EAAE;EAC3C,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,aAAW,KAAK;AAChB,aAAW,cAAc;AACzB,WAAS,KAAK,YAAY,WAAW;;;;;;ACZzC,SAAgB,eAAe,UAE5B;AACD,cAAa,aAAW;AACtB,WAAO,UAAU,SAAS;GAC1B;;AAGJ,SAAgB,YAAY,MAAiD;AAC3E,cAAa,aAAW;AACtB,WAAO,eAAe,KAAK;GAC3B;;AAGJ,SAAgB,SAAS,OAAqB;AAC5C,cAAa,aAAW;AACtB,WAAO,YAAY,MAAM;GACzB;;AAGJ,SAAgB,YAAY,OAAiB;AAC3C,cAAa,aAAW;AACtB,WAAO,eAAe,MAAM;GAC5B;;AAGJ,SAAgB,SAAS,IAAY;AACnC,cAAa,aAAW;AACtB,WAAO,YAAY,GAAG;GACtB;;AAGJ,SAAgB,cAAc,YAAqB;AACjD,cAAa,aAAW;AACtB,WAAO,iBAAiB,EAAE,YAAY,CAAC;GACvC;;AAGJ,SAAgB,SAAS;AACvB,cAAa,aAAW;AACtB,WAAO,SAAS;GAChB;;AAGJ,SAAgB,OAAO;AACrB,cAAa,aAAW;AACtB,WAAO,OAAO;GACd;;AAEJ,SAAgB,QAAQ;AACtB,cAAa,aAAW;AACtB,WAAO,QAAQ;GACf;;AAGJ,SAAgB,UAAU;AACxB,QAAO,oBAAoB,IAAI,OAAO,OAAO,UAAU;;AAGzD,SAAgB,iBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,oBAAoB;GAAE;GAAO;GAAU,CAAC;GAC/C;;AAGJ,SAAgB,oBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,uBAAuB;GAAE;GAAO;GAAU,CAAC;GAClD;;AAEJ,SAAS,qBAAqB;AAC5B,QACE,OAAO,WAAW,eAClB,OAAO,UACP,OAAO,OAAO,WAAW;;AAI7B,SAAS,YAAY,IAAmC;AACtD,KAAI,oBAAoB,CACtB,IAAG,OAAO,OAAO;KAEjB,SAAQ,KAAK,wBAAwB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/Plucky.ts","../src/index.ts"],"sourcesContent":["import { type PluckySettingsParams } from '@plucky-ai/loader-types'\n\nlet attached = false\n\nexport function Plucky(options: PluckySettingsParams) {\n if (attached) return\n attached = true\n if (!document.getElementById('plucky-settings')) {\n const settingScript = document.createElement('script')\n settingScript.id = 'plucky-settings'\n settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`\n document.head.appendChild(settingScript)\n }\n\n if (!document.getElementById('plucky-init')) {\n const initScript = document.createElement('script')\n initScript.id = 'plucky-init'\n initScript.textContent = `(function(){var w=window;var ic=w.Plucky;if(typeof ic===\"function\"){ic('update',w.pluckySettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Plucky=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src=(window.pluckySettings.baseUrl||'https://widget.plucky.ai')+'/loader/'+window.pluckySettings.appId;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();`\n document.head.appendChild(initScript)\n }\n}\n","import { PluckySettingsParams, ToolConfig } from '@plucky-ai/loader-types'\nimport { PluckyFunction } from './types'\n\nexport type { ToolConfig } from '@plucky-ai/loader-types'\nexport { Plucky } from './Plucky'\n\nexport function updateSettings(settings: {\n user?: PluckySettingsParams['user']\n}) {\n runIfLoaded((Plucky) => {\n Plucky('update', settings)\n })\n}\n\nexport function sendMessage(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('sendMessage', args)\n })\n}\n\nexport function addTools(tools: ToolConfig[]) {\n runIfLoaded((Plucky) => {\n Plucky('addTools', tools)\n })\n}\n\nexport function removeTools(tools: string[]) {\n runIfLoaded((Plucky) => {\n Plucky('removeTools', tools)\n })\n}\n\nexport function setWidth(px: number) {\n runIfLoaded((Plucky) => {\n Plucky('setWidth', px)\n })\n}\n\nexport function setFullscreen(fullscreen: boolean) {\n runIfLoaded((Plucky) => {\n Plucky('setFullscreen', { fullscreen })\n })\n}\n\nexport function toggle() {\n runIfLoaded((Plucky) => {\n Plucky('toggle')\n })\n}\n\nexport function open() {\n runIfLoaded((Plucky) => {\n Plucky('open')\n })\n}\nexport function close() {\n runIfLoaded((Plucky) => {\n Plucky('close')\n })\n}\n\nexport function isReady() {\n return isAttachedToWindow() && window.Plucky('isReady')\n}\n\nexport function addEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('addEventListener', { event, listener })\n })\n}\n\nexport function removeEventListener(\n event: string,\n listener: (payload: any) => void,\n) {\n runIfLoaded((Plucky) => {\n Plucky('removeEventListener', { event, listener })\n })\n}\nfunction isAttachedToWindow() {\n return (\n typeof window !== 'undefined' &&\n window.Plucky &&\n typeof window.Plucky === 'function'\n )\n}\n\nfunction runIfLoaded(fn: (arg: PluckyFunction) => void) {\n if (isAttachedToWindow()) {\n fn(window.Plucky)\n } else {\n console.warn('Window is not defined')\n }\n}\n\nexport function unmount() {\n runIfLoaded((Plucky) => {\n Plucky('unmount')\n })\n}\n"],"mappings":";AAEA,IAAI,WAAW;AAEf,SAAgB,OAAO,SAA+B;AACpD,KAAI,SAAU;AACd,YAAW;AACX,KAAI,CAAC,SAAS,eAAe,kBAAkB,EAAE;EAC/C,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,gBAAc,KAAK;AACnB,gBAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,WAAS,KAAK,YAAY,cAAc;;AAG1C,KAAI,CAAC,SAAS,eAAe,cAAc,EAAE;EAC3C,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,aAAW,KAAK;AAChB,aAAW,cAAc;AACzB,WAAS,KAAK,YAAY,WAAW;;;;;;ACZzC,SAAgB,eAAe,UAE5B;AACD,cAAa,aAAW;AACtB,WAAO,UAAU,SAAS;GAC1B;;AAGJ,SAAgB,YAAY,MAAiD;AAC3E,cAAa,aAAW;AACtB,WAAO,eAAe,KAAK;GAC3B;;AAGJ,SAAgB,SAAS,OAAqB;AAC5C,cAAa,aAAW;AACtB,WAAO,YAAY,MAAM;GACzB;;AAGJ,SAAgB,YAAY,OAAiB;AAC3C,cAAa,aAAW;AACtB,WAAO,eAAe,MAAM;GAC5B;;AAGJ,SAAgB,SAAS,IAAY;AACnC,cAAa,aAAW;AACtB,WAAO,YAAY,GAAG;GACtB;;AAGJ,SAAgB,cAAc,YAAqB;AACjD,cAAa,aAAW;AACtB,WAAO,iBAAiB,EAAE,YAAY,CAAC;GACvC;;AAGJ,SAAgB,SAAS;AACvB,cAAa,aAAW;AACtB,WAAO,SAAS;GAChB;;AAGJ,SAAgB,OAAO;AACrB,cAAa,aAAW;AACtB,WAAO,OAAO;GACd;;AAEJ,SAAgB,QAAQ;AACtB,cAAa,aAAW;AACtB,WAAO,QAAQ;GACf;;AAGJ,SAAgB,UAAU;AACxB,QAAO,oBAAoB,IAAI,OAAO,OAAO,UAAU;;AAGzD,SAAgB,iBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,oBAAoB;GAAE;GAAO;GAAU,CAAC;GAC/C;;AAGJ,SAAgB,oBACd,OACA,UACA;AACA,cAAa,aAAW;AACtB,WAAO,uBAAuB;GAAE;GAAO;GAAU,CAAC;GAClD;;AAEJ,SAAS,qBAAqB;AAC5B,QACE,OAAO,WAAW,eAClB,OAAO,UACP,OAAO,OAAO,WAAW;;AAI7B,SAAS,YAAY,IAAmC;AACtD,KAAI,oBAAoB,CACtB,IAAG,OAAO,OAAO;KAEjB,SAAQ,KAAK,wBAAwB;;AAIzC,SAAgB,UAAU;AACxB,cAAa,aAAW;AACtB,WAAO,UAAU;GACjB"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plucky-ai/chat-sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plucky-ai/chat-sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -16,8 +16,8 @@
16
16
  "tsdown": "^0.15.12",
17
17
  "tsx": "^4.20.6",
18
18
  "typescript": "^5.9.3",
19
- "@plucky-ai/loader-types": "^0.2.1",
20
- "@plucky-ai/loader": "0.2.1"
19
+ "@plucky-ai/loader": "0.3.0",
20
+ "@plucky-ai/loader-types": "^0.3.0"
21
21
  },
22
22
  "publishConfig": {
23
23
  "access": "public",