@plucky-ai/chat-sdk 0.3.3 → 0.4.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
@@ -1,14 +1,21 @@
1
1
 
2
2
  //#region src/Plucky.ts
3
+ let attached = false;
3
4
  function Plucky(options) {
4
- const settingScript = document.createElement("script");
5
- settingScript.id = "plucky-settings";
6
- settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`;
7
- document.head.appendChild(settingScript);
8
- const initScript = document.createElement("script");
9
- initScript.id = "plucky-init";
10
- 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);}}})();`;
11
- document.head.appendChild(initScript);
5
+ if (attached) return;
6
+ attached = true;
7
+ if (!document.getElementById("plucky-settings")) {
8
+ const settingScript = document.createElement("script");
9
+ settingScript.id = "plucky-settings";
10
+ settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`;
11
+ document.head.appendChild(settingScript);
12
+ }
13
+ if (!document.getElementById("plucky-init")) {
14
+ const initScript = document.createElement("script");
15
+ initScript.id = "plucky-init";
16
+ 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);}}})();`;
17
+ document.head.appendChild(initScript);
18
+ }
12
19
  }
13
20
 
14
21
  //#endregion
@@ -48,6 +55,16 @@ function toggle() {
48
55
  Plucky$1("toggle");
49
56
  });
50
57
  }
58
+ function open() {
59
+ runIfLoaded((Plucky$1) => {
60
+ Plucky$1("open");
61
+ });
62
+ }
63
+ function close() {
64
+ runIfLoaded((Plucky$1) => {
65
+ Plucky$1("close");
66
+ });
67
+ }
51
68
  function isReady() {
52
69
  return isAttachedToWindow() && window.Plucky("isReady");
53
70
  }
@@ -79,7 +96,9 @@ function runIfLoaded(fn) {
79
96
  exports.Plucky = Plucky;
80
97
  exports.addEventListener = addEventListener;
81
98
  exports.addTools = addTools;
99
+ exports.close = close;
82
100
  exports.isReady = isReady;
101
+ exports.open = open;
83
102
  exports.removeEventListener = removeEventListener;
84
103
  exports.removeTools = removeTools;
85
104
  exports.sendMessage = sendMessage;
@@ -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\nexport function Plucky(options: PluckySettingsParams) {\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 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","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 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,SAAgB,OAAO,SAA+B;CACpD,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,eAAc,KAAK;AACnB,eAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,UAAS,KAAK,YAAY,cAAc;CAExC,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,YAAW,KAAK;AAChB,YAAW,cAAc;AACzB,UAAS,KAAK,YAAY,WAAW;;;;;ACLvC,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,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"],"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"}
package/dist/index.d.cts CHANGED
@@ -16,9 +16,11 @@ declare function removeTools(tools: string[]): void;
16
16
  declare function setWidth(px: number): void;
17
17
  declare function setFullscreen(fullscreen: boolean): void;
18
18
  declare function toggle(): void;
19
+ declare function open(): void;
20
+ declare function close(): void;
19
21
  declare function isReady(): any;
20
22
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
21
23
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
22
24
  //#endregion
23
- export { Plucky, type ToolConfig, addEventListener, addTools, isReady, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
25
+ export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
24
26
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -16,9 +16,11 @@ declare function removeTools(tools: string[]): void;
16
16
  declare function setWidth(px: number): void;
17
17
  declare function setFullscreen(fullscreen: boolean): void;
18
18
  declare function toggle(): void;
19
+ declare function open(): void;
20
+ declare function close(): void;
19
21
  declare function isReady(): any;
20
22
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
21
23
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
22
24
  //#endregion
23
- export { Plucky, type ToolConfig, addEventListener, addTools, isReady, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
25
+ export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
24
26
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,13 +1,20 @@
1
1
  //#region src/Plucky.ts
2
+ let attached = false;
2
3
  function Plucky(options) {
3
- const settingScript = document.createElement("script");
4
- settingScript.id = "plucky-settings";
5
- settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`;
6
- document.head.appendChild(settingScript);
7
- const initScript = document.createElement("script");
8
- initScript.id = "plucky-init";
9
- 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);}}})();`;
10
- document.head.appendChild(initScript);
4
+ if (attached) return;
5
+ attached = true;
6
+ if (!document.getElementById("plucky-settings")) {
7
+ const settingScript = document.createElement("script");
8
+ settingScript.id = "plucky-settings";
9
+ settingScript.textContent = `window.pluckySettings = ${JSON.stringify(options)}`;
10
+ document.head.appendChild(settingScript);
11
+ }
12
+ if (!document.getElementById("plucky-init")) {
13
+ const initScript = document.createElement("script");
14
+ initScript.id = "plucky-init";
15
+ 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);}}})();`;
16
+ document.head.appendChild(initScript);
17
+ }
11
18
  }
12
19
 
13
20
  //#endregion
@@ -47,6 +54,16 @@ function toggle() {
47
54
  Plucky$1("toggle");
48
55
  });
49
56
  }
57
+ function open() {
58
+ runIfLoaded((Plucky$1) => {
59
+ Plucky$1("open");
60
+ });
61
+ }
62
+ function close() {
63
+ runIfLoaded((Plucky$1) => {
64
+ Plucky$1("close");
65
+ });
66
+ }
50
67
  function isReady() {
51
68
  return isAttachedToWindow() && window.Plucky("isReady");
52
69
  }
@@ -75,5 +92,5 @@ function runIfLoaded(fn) {
75
92
  }
76
93
 
77
94
  //#endregion
78
- export { Plucky, addEventListener, addTools, isReady, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
95
+ export { Plucky, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
79
96
  //# 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\nexport function Plucky(options: PluckySettingsParams) {\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 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","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 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,SAAgB,OAAO,SAA+B;CACpD,MAAM,gBAAgB,SAAS,cAAc,SAAS;AACtD,eAAc,KAAK;AACnB,eAAc,cAAc,2BAA2B,KAAK,UAAU,QAAQ;AAC9E,UAAS,KAAK,YAAY,cAAc;CAExC,MAAM,aAAa,SAAS,cAAc,SAAS;AACnD,YAAW,KAAK;AAChB,YAAW,cAAc;AACzB,UAAS,KAAK,YAAY,WAAW;;;;;ACLvC,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,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"],"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plucky-ai/chat-sdk",
3
- "version": "0.3.3",
3
+ "version": "0.4.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.3.3",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",