@aikaara/chat-sdk 0.7.8 → 0.8.1
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/{MountTenant-B3tAZZRN.mjs → MountTenant-BVimPLfY.mjs} +2148 -2087
- package/dist/{MountTenant-CCzIgtae.cjs → MountTenant-BrBxPpjb.cjs} +68 -55
- package/dist/cdn/aikaara-chat.iife.js +64 -51
- package/dist/headless.cjs +1 -1
- package/dist/headless.d.ts +49 -0
- package/dist/headless.mjs +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +59 -0
- package/dist/index.mjs +2 -2
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +18 -0
- package/dist/ui.mjs +1 -1
- package/package.json +1 -1
package/dist/headless.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./MountTenant-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./MountTenant-BrBxPpjb.cjs");class r extends i.EventEmitter{registration=null;pendingEdits=[];constructor(e){super(),this.setupListeners(e)}registerForm(e){this.registration=e;const t=this.pendingEdits.filter(s=>s.entity_type===e.entityType&&String(s.entity_id)===String(e.entityId));if(t.length>0){for(const s of t)e.onFieldUpdate(s.fields),this.emit("edit:applied",{entityType:s.entity_type,entityId:s.entity_id,fields:s.fields});this.pendingEdits=this.pendingEdits.filter(s=>!(s.entity_type===e.entityType&&String(s.entity_id)===String(e.entityId)))}}unregisterForm(e,t){this.registration?.entityType===e&&String(this.registration?.entityId)===String(t)&&(this.registration=null)}get currentForm(){return this.registration}pushFieldUpdates(e,t,s){this.registration&&this.registration.entityType===e&&String(this.registration.entityId)===String(t)?(this.registration.onFieldUpdate(s),this.emit("edit:applied",{entityType:e,entityId:t,fields:s})):(this.pendingEdits.push({action:"edit_entity",entity_type:e,entity_id:t,fields:s}),this.emit("edit:pending",{entityType:e,entityId:t,fields:s}))}async requestSave(){if(!this.registration)return{success:!1,error:"No form registered"};try{return await this.registration.onSave(),this.emit("save:success",{entityType:this.registration.entityType,entityId:this.registration.entityId}),{success:!0}}catch(e){const t=e instanceof Error?e.message:"Save failed";return this.emit("save:error",{entityType:this.registration.entityType,entityId:this.registration.entityId,error:t}),{success:!1,error:t}}}async requestTest(e){if(!this.registration?.onTest)return{success:!1,error:"Current form does not support testing"};try{return await this.registration.onTest(e),{success:!0}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Test failed"}}}setupListeners(e){e.on("action:edit_entity",t=>{this.pushFieldUpdates(t.entity_type,t.entity_id,t.fields)}),e.on("action:save_entity",t=>{this.requestSave()}),e.on("action:test_tool",t=>{this.emit("test:triggered",{toolId:t.tool_id,parameters:t.parameters}),this.requestTest(t.parameters)})}}exports.ActionCableClient=i.ActionCableClient;exports.AikaaraChatClient=i.AikaaraChatClient;exports.ApiClient=i.ApiClient;exports.ChannelSubscription=i.ChannelSubscription;exports.ConnectionManager=i.ConnectionManager;exports.ConversationManager=i.ConversationManager;exports.EventEmitter=i.EventEmitter;exports.MessageStore=i.MessageStore;exports.SessionAuthAdapter=i.SessionAuthAdapter;exports.SsoExchangeAdapter=i.SsoExchangeAdapter;exports.TiledeskTransport=i.TiledeskTransport;exports.clearPersistedConversationId=i.clearPersistedConversationId;exports.collectSsoCredentials=i.collectSsoCredentials;exports.createFetchUploadAdapter=i.createFetchUploadAdapter;exports.createPresigned3StepUploadAdapter=i.createPresigned3StepUploadAdapter;exports.createTiledeskHistoryAdapter=i.createTiledeskHistoryAdapter;exports.extractTiledeskFileEnvelope=i.extractTiledeskFileEnvelope;exports.inferTiledeskRole=i.inferTiledeskRole;exports.isTiledeskSelfEcho=i.isTiledeskSelfEcho;exports.mountFromSlug=i.mountFromSlug;exports.mountTenantWidget=i.mount;exports.parseTiledeskTemplate=i.parseTiledeskTemplate;exports.FormBridge=r;
|
package/dist/headless.d.ts
CHANGED
|
@@ -1678,6 +1678,14 @@ export declare interface WidgetConfig extends ChatClientConfig {
|
|
|
1678
1678
|
placeholder?: string;
|
|
1679
1679
|
showTimestamps?: boolean;
|
|
1680
1680
|
persistConversation?: boolean;
|
|
1681
|
+
showHeader?: boolean;
|
|
1682
|
+
hideSystemMessages?: string[];
|
|
1683
|
+
timestampFormat?: 'time' | 'datetime' | 'date' | 'none';
|
|
1684
|
+
input?: {
|
|
1685
|
+
attachPosition?: 'left' | 'right';
|
|
1686
|
+
sendButtonShape?: 'circle' | 'square';
|
|
1687
|
+
};
|
|
1688
|
+
templateLayout?: 'inside' | 'outside';
|
|
1681
1689
|
showBubble?: boolean;
|
|
1682
1690
|
bubbleText?: string;
|
|
1683
1691
|
bubbleIcon?: string;
|
|
@@ -1708,6 +1716,47 @@ export declare interface WidgetConfigDescriptor {
|
|
|
1708
1716
|
placeholder?: string;
|
|
1709
1717
|
showTimestamps?: boolean;
|
|
1710
1718
|
persistConversation?: boolean;
|
|
1719
|
+
/**
|
|
1720
|
+
* When false, suppress the SDK-rendered `<aikaara-chat-header>` (title +
|
|
1721
|
+
* subtitle bar). Useful for embed mounts where the host page already shows
|
|
1722
|
+
* the conversation title in its own toolbar (e.g. bandhan's
|
|
1723
|
+
* "File ITR with Tax Expert" top bar). Defaults to true.
|
|
1724
|
+
*/
|
|
1725
|
+
showHeader?: boolean;
|
|
1726
|
+
/**
|
|
1727
|
+
* Strings (case-insensitive) that should NOT render as visible system
|
|
1728
|
+
* pills / messages. Lets tenants hide infrastructure chatter like
|
|
1729
|
+
* `CHAT_INITIATED` (pre-existing user-side filter) or `Group created`
|
|
1730
|
+
* (Tiledesk's auto-emitted notification when a support-group is minted).
|
|
1731
|
+
* Matches both `system` role and assistant content. Defaults to none.
|
|
1732
|
+
*/
|
|
1733
|
+
hideSystemMessages?: string[];
|
|
1734
|
+
/**
|
|
1735
|
+
* Timestamp display under each bubble.
|
|
1736
|
+
* - `time` (default): locale time, e.g. "11:26 AM" / "23:14".
|
|
1737
|
+
* - `datetime`: short month/day + time, e.g. "May 08, 11:26 AM".
|
|
1738
|
+
* - `date`: short month/day only.
|
|
1739
|
+
* - `none`: equivalent to `showTimestamps: false`.
|
|
1740
|
+
*/
|
|
1741
|
+
timestampFormat?: 'time' | 'datetime' | 'date' | 'none';
|
|
1742
|
+
/** Composer styling — attach button position and send button shape. */
|
|
1743
|
+
input?: {
|
|
1744
|
+
/** Where the paperclip button sits relative to the textarea. Default `left`. */
|
|
1745
|
+
attachPosition?: 'left' | 'right';
|
|
1746
|
+
/** Round (default) or filled square send button. */
|
|
1747
|
+
sendButtonShape?: 'circle' | 'square';
|
|
1748
|
+
};
|
|
1749
|
+
/**
|
|
1750
|
+
* Where contentType=300 templates render relative to the bubble carrying
|
|
1751
|
+
* the message text.
|
|
1752
|
+
* - `inside` (default): template UI nested inside the bot bubble — the
|
|
1753
|
+
* option chips share the bubble's background colour. Matches the
|
|
1754
|
+
* pre-bandhan look.
|
|
1755
|
+
* - `outside`: template UI is a sibling below the bubble (UAT bandhan
|
|
1756
|
+
* style). Lets option chips inherit the chat surface background and
|
|
1757
|
+
* wrap freely, no max-width clamp.
|
|
1758
|
+
*/
|
|
1759
|
+
templateLayout?: 'inside' | 'outside';
|
|
1711
1760
|
/**
|
|
1712
1761
|
* Full theme token set. Mirrored as CSS variables (`--aikaara-*`) on the
|
|
1713
1762
|
* widget root so any inner web-component can style itself by referencing
|
package/dist/headless.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as s } from "./MountTenant-
|
|
2
|
-
import { A as p, b as l, k as g, C as h, l as c, m as y, M as u, S as m, n as f, T as S, o as T, p as _, q as E, s as v, t as C, u as F, v as A, w as k, x as I, y as x, z as U } from "./MountTenant-
|
|
1
|
+
import { E as s } from "./MountTenant-BVimPLfY.mjs";
|
|
2
|
+
import { A as p, b as l, k as g, C as h, l as c, m as y, M as u, S as m, n as f, T as S, o as T, p as _, q as E, s as v, t as C, u as F, v as A, w as k, x as I, y as x, z as U } from "./MountTenant-BVimPLfY.mjs";
|
|
3
3
|
class a extends s {
|
|
4
4
|
registration = null;
|
|
5
5
|
pendingEdits = [];
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./MountTenant-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./MountTenant-BrBxPpjb.cjs"),s=require("./headless.cjs");function l(a){e.registerComponents();const t=document.createElement("aikaara-chat-widget"),i={baseUrl:"base-url",userToken:"user-token",apiKey:"api-key",title:"title",subtitle:"subtitle",theme:"theme",primaryColor:"primary-color",position:"position",width:"width",height:"height",placeholder:"placeholder",welcomeMessage:"welcome-message",avatarUrl:"avatar-url"};for(const[n,o]of Object.entries(i)){const r=a[n];r!=null&&t.setAttribute(o,String(r))}return t.configure(a),document.body.appendChild(t),t}function d(){const a=document.querySelector("aikaara-chat-widget");a&&a.remove()}exports.ActionCableClient=e.ActionCableClient;exports.AikaaraChatBubble=e.AikaaraChatBubble;exports.AikaaraChatClient=e.AikaaraChatClient;exports.AikaaraChatHeader=e.AikaaraChatHeader;exports.AikaaraChatInput=e.AikaaraChatInput;exports.AikaaraChatWidget=e.AikaaraChatWidget;exports.AikaaraErrorBanner=e.AikaaraErrorBanner;exports.AikaaraMessageBubble=e.AikaaraMessageBubble;exports.AikaaraMessageList=e.AikaaraMessageList;exports.AikaaraStreamingMessage=e.AikaaraStreamingMessage;exports.AikaaraTypingIndicator=e.AikaaraTypingIndicator;exports.ApiClient=e.ApiClient;exports.ChannelSubscription=e.ChannelSubscription;exports.ConnectionManager=e.ConnectionManager;exports.ConversationManager=e.ConversationManager;exports.EventEmitter=e.EventEmitter;exports.MessageStore=e.MessageStore;exports.SessionAuthAdapter=e.SessionAuthAdapter;exports.SsoExchangeAdapter=e.SsoExchangeAdapter;exports.TiledeskTransport=e.TiledeskTransport;exports.clearPersistedConversationId=e.clearPersistedConversationId;exports.collectSsoCredentials=e.collectSsoCredentials;exports.createFetchUploadAdapter=e.createFetchUploadAdapter;exports.createPresigned3StepUploadAdapter=e.createPresigned3StepUploadAdapter;exports.createTiledeskHistoryAdapter=e.createTiledeskHistoryAdapter;exports.extractTiledeskFileEnvelope=e.extractTiledeskFileEnvelope;exports.inferTiledeskRole=e.inferTiledeskRole;exports.isTiledeskSelfEcho=e.isTiledeskSelfEcho;exports.mountFromSlug=e.mountFromSlug;exports.mountTenantWidget=e.mount;exports.parseTiledeskTemplate=e.parseTiledeskTemplate;exports.registerComponents=e.registerComponents;exports.FormBridge=s.FormBridge;exports.mount=l;exports.unmount=d;
|
package/dist/index.d.ts
CHANGED
|
@@ -228,8 +228,18 @@ export declare class AikaaraMessageList extends HTMLElement {
|
|
|
228
228
|
private container;
|
|
229
229
|
private welcomeMessage;
|
|
230
230
|
private showTimestamps;
|
|
231
|
+
private timestampFormat;
|
|
232
|
+
private hideSystemMessages;
|
|
231
233
|
private linkHandlers;
|
|
232
234
|
private getLinkBearer;
|
|
235
|
+
setHideSystemMessages(items: string[]): void;
|
|
236
|
+
setTimestampFormat(fmt: 'time' | 'datetime' | 'date' | 'none'): void;
|
|
237
|
+
private templateLayout;
|
|
238
|
+
setTemplateLayout(layout: 'inside' | 'outside'): void;
|
|
239
|
+
/** Returns true when a message should be hidden by the descriptor's
|
|
240
|
+
* `hideSystemMessages` filter. Matches the trimmed content
|
|
241
|
+
* case-insensitively against any configured needle (substring match). */
|
|
242
|
+
private shouldHideMessage;
|
|
233
243
|
setLinkConfig(handlers: LinkHandler[], bearer?: (source: 'session' | 'chat' | 'none') => Promise<string | null>): void;
|
|
234
244
|
constructor();
|
|
235
245
|
connectedCallback(): void;
|
|
@@ -1430,6 +1440,14 @@ export declare interface WidgetConfig extends ChatClientConfig {
|
|
|
1430
1440
|
placeholder?: string;
|
|
1431
1441
|
showTimestamps?: boolean;
|
|
1432
1442
|
persistConversation?: boolean;
|
|
1443
|
+
showHeader?: boolean;
|
|
1444
|
+
hideSystemMessages?: string[];
|
|
1445
|
+
timestampFormat?: 'time' | 'datetime' | 'date' | 'none';
|
|
1446
|
+
input?: {
|
|
1447
|
+
attachPosition?: 'left' | 'right';
|
|
1448
|
+
sendButtonShape?: 'circle' | 'square';
|
|
1449
|
+
};
|
|
1450
|
+
templateLayout?: 'inside' | 'outside';
|
|
1433
1451
|
showBubble?: boolean;
|
|
1434
1452
|
bubbleText?: string;
|
|
1435
1453
|
bubbleIcon?: string;
|
|
@@ -1460,6 +1478,47 @@ export declare interface WidgetConfigDescriptor {
|
|
|
1460
1478
|
placeholder?: string;
|
|
1461
1479
|
showTimestamps?: boolean;
|
|
1462
1480
|
persistConversation?: boolean;
|
|
1481
|
+
/**
|
|
1482
|
+
* When false, suppress the SDK-rendered `<aikaara-chat-header>` (title +
|
|
1483
|
+
* subtitle bar). Useful for embed mounts where the host page already shows
|
|
1484
|
+
* the conversation title in its own toolbar (e.g. bandhan's
|
|
1485
|
+
* "File ITR with Tax Expert" top bar). Defaults to true.
|
|
1486
|
+
*/
|
|
1487
|
+
showHeader?: boolean;
|
|
1488
|
+
/**
|
|
1489
|
+
* Strings (case-insensitive) that should NOT render as visible system
|
|
1490
|
+
* pills / messages. Lets tenants hide infrastructure chatter like
|
|
1491
|
+
* `CHAT_INITIATED` (pre-existing user-side filter) or `Group created`
|
|
1492
|
+
* (Tiledesk's auto-emitted notification when a support-group is minted).
|
|
1493
|
+
* Matches both `system` role and assistant content. Defaults to none.
|
|
1494
|
+
*/
|
|
1495
|
+
hideSystemMessages?: string[];
|
|
1496
|
+
/**
|
|
1497
|
+
* Timestamp display under each bubble.
|
|
1498
|
+
* - `time` (default): locale time, e.g. "11:26 AM" / "23:14".
|
|
1499
|
+
* - `datetime`: short month/day + time, e.g. "May 08, 11:26 AM".
|
|
1500
|
+
* - `date`: short month/day only.
|
|
1501
|
+
* - `none`: equivalent to `showTimestamps: false`.
|
|
1502
|
+
*/
|
|
1503
|
+
timestampFormat?: 'time' | 'datetime' | 'date' | 'none';
|
|
1504
|
+
/** Composer styling — attach button position and send button shape. */
|
|
1505
|
+
input?: {
|
|
1506
|
+
/** Where the paperclip button sits relative to the textarea. Default `left`. */
|
|
1507
|
+
attachPosition?: 'left' | 'right';
|
|
1508
|
+
/** Round (default) or filled square send button. */
|
|
1509
|
+
sendButtonShape?: 'circle' | 'square';
|
|
1510
|
+
};
|
|
1511
|
+
/**
|
|
1512
|
+
* Where contentType=300 templates render relative to the bubble carrying
|
|
1513
|
+
* the message text.
|
|
1514
|
+
* - `inside` (default): template UI nested inside the bot bubble — the
|
|
1515
|
+
* option chips share the bubble's background colour. Matches the
|
|
1516
|
+
* pre-bandhan look.
|
|
1517
|
+
* - `outside`: template UI is a sibling below the bubble (UAT bandhan
|
|
1518
|
+
* style). Lets option chips inherit the chat surface background and
|
|
1519
|
+
* wrap freely, no max-width clamp.
|
|
1520
|
+
*/
|
|
1521
|
+
templateLayout?: 'inside' | 'outside';
|
|
1463
1522
|
/**
|
|
1464
1523
|
* Full theme token set. Mirrored as CSS variables (`--aikaara-*`) on the
|
|
1465
1524
|
* widget root so any inner web-component can style itself by referencing
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as o } from "./MountTenant-
|
|
2
|
-
import { A as u, a as m, b as g, c as h, d as k, e as A, f as C, g as b, h as f, i as S, j as T, k as v, C as y, l as w, m as M, E, M as x, S as B, n as F, T as U, o as I, p as j, q, s as H, t as P, u as W, v as z, w as K, x as L, y as O, z as R } from "./MountTenant-
|
|
1
|
+
import { r as o } from "./MountTenant-BVimPLfY.mjs";
|
|
2
|
+
import { A as u, a as m, b as g, c as h, d as k, e as A, f as C, g as b, h as f, i as S, j as T, k as v, C as y, l as w, m as M, E, M as x, S as B, n as F, T as U, o as I, p as j, q, s as H, t as P, u as W, v as z, w as K, x as L, y as O, z as R } from "./MountTenant-BVimPLfY.mjs";
|
|
3
3
|
import { FormBridge as G } from "./headless.mjs";
|
|
4
4
|
function l(e) {
|
|
5
5
|
o();
|
package/dist/ui.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./MountTenant-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./MountTenant-BrBxPpjb.cjs");exports.AikaaraChat=a.AikaaraChat;exports.AikaaraChatBubble=a.AikaaraChatBubble;exports.AikaaraChatHeader=a.AikaaraChatHeader;exports.AikaaraChatInput=a.AikaaraChatInput;exports.AikaaraChatWidget=a.AikaaraChatWidget;exports.AikaaraComparePlans=a.AikaaraComparePlans;exports.AikaaraErrorBanner=a.AikaaraErrorBanner;exports.AikaaraLinkModal=a.AikaaraLinkModal;exports.AikaaraMessageBubble=a.AikaaraMessageBubble;exports.AikaaraMessageList=a.AikaaraMessageList;exports.AikaaraModalAction=a.AikaaraModalAction;exports.AikaaraOptionList=a.AikaaraOptionList;exports.AikaaraStreamingMessage=a.AikaaraStreamingMessage;exports.AikaaraSubmitAction=a.AikaaraSubmitAction;exports.AikaaraSystemPill=a.AikaaraSystemPill;exports.AikaaraTemplateRenderer=a.AikaaraTemplateRenderer;exports.AikaaraTypingIndicator=a.AikaaraTypingIndicator;exports.registerComponents=a.registerComponents;
|
package/dist/ui.d.ts
CHANGED
|
@@ -286,8 +286,18 @@ export declare class AikaaraMessageList extends HTMLElement {
|
|
|
286
286
|
private container;
|
|
287
287
|
private welcomeMessage;
|
|
288
288
|
private showTimestamps;
|
|
289
|
+
private timestampFormat;
|
|
290
|
+
private hideSystemMessages;
|
|
289
291
|
private linkHandlers;
|
|
290
292
|
private getLinkBearer;
|
|
293
|
+
setHideSystemMessages(items: string[]): void;
|
|
294
|
+
setTimestampFormat(fmt: 'time' | 'datetime' | 'date' | 'none'): void;
|
|
295
|
+
private templateLayout;
|
|
296
|
+
setTemplateLayout(layout: 'inside' | 'outside'): void;
|
|
297
|
+
/** Returns true when a message should be hidden by the descriptor's
|
|
298
|
+
* `hideSystemMessages` filter. Matches the trimmed content
|
|
299
|
+
* case-insensitively against any configured needle (substring match). */
|
|
300
|
+
private shouldHideMessage;
|
|
291
301
|
setLinkConfig(handlers: LinkHandler[], bearer?: (source: 'session' | 'chat' | 'none') => Promise<string | null>): void;
|
|
292
302
|
constructor();
|
|
293
303
|
connectedCallback(): void;
|
|
@@ -1155,6 +1165,14 @@ declare interface WidgetConfig extends ChatClientConfig {
|
|
|
1155
1165
|
placeholder?: string;
|
|
1156
1166
|
showTimestamps?: boolean;
|
|
1157
1167
|
persistConversation?: boolean;
|
|
1168
|
+
showHeader?: boolean;
|
|
1169
|
+
hideSystemMessages?: string[];
|
|
1170
|
+
timestampFormat?: 'time' | 'datetime' | 'date' | 'none';
|
|
1171
|
+
input?: {
|
|
1172
|
+
attachPosition?: 'left' | 'right';
|
|
1173
|
+
sendButtonShape?: 'circle' | 'square';
|
|
1174
|
+
};
|
|
1175
|
+
templateLayout?: 'inside' | 'outside';
|
|
1158
1176
|
showBubble?: boolean;
|
|
1159
1177
|
bubbleText?: string;
|
|
1160
1178
|
bubbleIcon?: string;
|
package/dist/ui.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as i, a as s, c as e, d as t, e as A, D as k, f as n, F as o, g, h as l, G as d, H as m, i as p, I as C, J as h, K as b, j as M, r as c } from "./MountTenant-
|
|
1
|
+
import { B as i, a as s, c as e, d as t, e as A, D as k, f as n, F as o, g, h as l, G as d, H as m, i as p, I as C, J as h, K as b, j as M, r as c } from "./MountTenant-BVimPLfY.mjs";
|
|
2
2
|
export {
|
|
3
3
|
i as AikaaraChat,
|
|
4
4
|
s as AikaaraChatBubble,
|