@plucky-ai/chat-sdk 0.4.0 → 0.6.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/README.md CHANGED
File without changes
package/bin/publish-npm CHANGED
File without changes
package/dist/index.cjs CHANGED
@@ -30,6 +30,11 @@ function sendMessage(args) {
30
30
  Plucky$1("sendMessage", args);
31
31
  });
32
32
  }
33
+ function setInput(args) {
34
+ runIfLoaded((Plucky$1) => {
35
+ Plucky$1("setInput", args);
36
+ });
37
+ }
33
38
  function addTools(tools) {
34
39
  runIfLoaded((Plucky$1) => {
35
40
  Plucky$1("addTools", tools);
@@ -91,6 +96,11 @@ function runIfLoaded(fn) {
91
96
  if (isAttachedToWindow()) fn(window.Plucky);
92
97
  else console.warn("Window is not defined");
93
98
  }
99
+ function unmount() {
100
+ runIfLoaded((Plucky$1) => {
101
+ Plucky$1("unmount");
102
+ });
103
+ }
94
104
 
95
105
  //#endregion
96
106
  exports.Plucky = Plucky;
@@ -103,7 +113,9 @@ exports.removeEventListener = removeEventListener;
103
113
  exports.removeTools = removeTools;
104
114
  exports.sendMessage = sendMessage;
105
115
  exports.setFullscreen = setFullscreen;
116
+ exports.setInput = setInput;
106
117
  exports.setWidth = setWidth;
107
118
  exports.toggle = toggle;
119
+ exports.unmount = unmount;
108
120
  exports.updateSettings = updateSettings;
109
121
  //# 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 type { MessageType } from '@plucky-ai/loader'\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 setInput(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('setInput', 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;;;;;;ACXzC,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,MAAiD;AACxE,cAAa,aAAW;AACtB,WAAO,YAAY,KAAK;GACxB;;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
@@ -1,4 +1,5 @@
1
1
  import { PluckySettingsParams, ToolConfig, ToolConfig as ToolConfig$1 } from "@plucky-ai/loader-types";
2
+ import { MessageType } from "@plucky-ai/loader";
2
3
 
3
4
  //#region src/Plucky.d.ts
4
5
  declare function Plucky(options: PluckySettingsParams): void;
@@ -11,6 +12,10 @@ declare function sendMessage(args: {
11
12
  content: string;
12
13
  createChat?: boolean;
13
14
  }): void;
15
+ declare function setInput(args: {
16
+ content: string;
17
+ createChat?: boolean;
18
+ }): void;
14
19
  declare function addTools(tools: ToolConfig$1[]): void;
15
20
  declare function removeTools(tools: string[]): void;
16
21
  declare function setWidth(px: number): void;
@@ -21,6 +26,7 @@ declare function close(): void;
21
26
  declare function isReady(): any;
22
27
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
23
28
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
29
+ declare function unmount(): void;
24
30
  //#endregion
25
- export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
31
+ export { type MessageType, Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setInput, setWidth, toggle, unmount, updateSettings };
26
32
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PluckySettingsParams, ToolConfig, ToolConfig as ToolConfig$1 } from "@plucky-ai/loader-types";
2
+ import { MessageType } from "@plucky-ai/loader";
2
3
 
3
4
  //#region src/Plucky.d.ts
4
5
  declare function Plucky(options: PluckySettingsParams): void;
@@ -11,6 +12,10 @@ declare function sendMessage(args: {
11
12
  content: string;
12
13
  createChat?: boolean;
13
14
  }): void;
15
+ declare function setInput(args: {
16
+ content: string;
17
+ createChat?: boolean;
18
+ }): void;
14
19
  declare function addTools(tools: ToolConfig$1[]): void;
15
20
  declare function removeTools(tools: string[]): void;
16
21
  declare function setWidth(px: number): void;
@@ -21,6 +26,7 @@ declare function close(): void;
21
26
  declare function isReady(): any;
22
27
  declare function addEventListener(event: string, listener: (payload: any) => void): void;
23
28
  declare function removeEventListener(event: string, listener: (payload: any) => void): void;
29
+ declare function unmount(): void;
24
30
  //#endregion
25
- export { Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
31
+ export { type MessageType, Plucky, type ToolConfig, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setInput, setWidth, toggle, unmount, updateSettings };
26
32
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -29,6 +29,11 @@ function sendMessage(args) {
29
29
  Plucky$1("sendMessage", args);
30
30
  });
31
31
  }
32
+ function setInput(args) {
33
+ runIfLoaded((Plucky$1) => {
34
+ Plucky$1("setInput", args);
35
+ });
36
+ }
32
37
  function addTools(tools) {
33
38
  runIfLoaded((Plucky$1) => {
34
39
  Plucky$1("addTools", tools);
@@ -90,7 +95,12 @@ function runIfLoaded(fn) {
90
95
  if (isAttachedToWindow()) fn(window.Plucky);
91
96
  else console.warn("Window is not defined");
92
97
  }
98
+ function unmount() {
99
+ runIfLoaded((Plucky$1) => {
100
+ Plucky$1("unmount");
101
+ });
102
+ }
93
103
 
94
104
  //#endregion
95
- export { Plucky, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setWidth, toggle, updateSettings };
105
+ export { Plucky, addEventListener, addTools, close, isReady, open, removeEventListener, removeTools, sendMessage, setFullscreen, setInput, setWidth, toggle, unmount, updateSettings };
96
106
  //# 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 type { MessageType } from '@plucky-ai/loader'\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 setInput(args: { content: string; createChat?: boolean }) {\n runIfLoaded((Plucky) => {\n Plucky('setInput', 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;;;;;;ACXzC,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,MAAiD;AACxE,cAAa,aAAW;AACtB,WAAO,YAAY,KAAK;GACxB;;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.6.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.6.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -12,19 +12,19 @@
12
12
  "require": "./dist/index.cjs"
13
13
  }
14
14
  },
15
+ "scripts": {
16
+ "build:watch": "pnpm exec tsdown --watch ./src",
17
+ "build": "pnpm exec tsdown --config tsdown.config.ts"
18
+ },
15
19
  "devDependencies": {
16
- "tsdown": "^0.15.12",
17
- "tsx": "^4.20.6",
18
- "typescript": "^5.9.3",
19
- "@plucky-ai/loader-types": "^0.2.1",
20
- "@plucky-ai/loader": "0.2.1"
20
+ "@plucky-ai/loader-types": "workspace:^",
21
+ "tsdown": "catalog:",
22
+ "tsx": "catalog:",
23
+ "typescript": "catalog:",
24
+ "@plucky-ai/loader": "workspace:*"
21
25
  },
22
26
  "publishConfig": {
23
27
  "access": "public",
24
28
  "registry": "https://registry.npmjs.org/"
25
- },
26
- "scripts": {
27
- "build:watch": "pnpm exec tsdown --watch ./src",
28
- "build": "pnpm exec tsdown --config tsdown.config.ts"
29
29
  }
30
- }
30
+ }