@sendbird/ai-agent-messenger-react 1.34.0 → 1.34.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendbird/ai-agent-messenger-react",
3
- "version": "1.34.0",
3
+ "version": "1.34.2",
4
4
  "description": "Delight AI Agent Messenger for React",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,13 +32,13 @@
32
32
  "react-syntax-highlighter": "^15.6.1"
33
33
  },
34
34
  "peerDependencies": {
35
- "@sendbird/chat": "^4.22.5",
35
+ "@sendbird/chat": "^4.22.6",
36
36
  "react": ">=18.0.0",
37
37
  "react-dom": ">=18.0.0",
38
38
  "styled-components": ">=5.0.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@sendbird/chat": "^4.22.5",
41
+ "@sendbird/chat": "^4.22.6",
42
42
  "@types/react": "19.2.2",
43
43
  "@types/react-dom": "19.2.2",
44
44
  "@types/react-syntax-highlighter": "^15.5.13",
@@ -48,8 +48,8 @@
48
48
  "strip-json-comments": "^5.0.1",
49
49
  "@playwright/test": "^1.52.0",
50
50
  "styled-components": "^6.1.15",
51
+ "@sendbird/ai-agent-core": "1.34.2",
51
52
  "@sendbird/config-editor": "0.1.0",
52
- "@sendbird/ai-agent-core": "1.34.0",
53
53
  "@sendbird/dev-tools": "0.0.1",
54
54
  "@sendbird/vite-tools": "0.0.1"
55
55
  },
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),E=require("styled-components"),d=require("@sendbird/react-uikit-message-template-view"),h=require("@sendbird/uikit-message-template"),n=require("../index.cjs"),M=e=>e&&e.__esModule?e:{default:e};function I(e){if(e&&e.__esModule)return e;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(s,a,t.get?t:{enumerable:!0,get:()=>e[a]})}}return s.default=e,Object.freeze(s)}const V=I(S),O=M(E),f={VARIABLE:e=>new RegExp(`\\{${e}\\}`,"g"),VIEW_VARIABLE:e=>new RegExp(`"{@${e}}"`,"g")};function b({uiTemplateString:e,variables:s={}}){const a=n.flattenObject(s);return n.replaceVariablesSync({template:e,variables:a,variableKeyPattern:t=>f.VARIABLE(t)})}function T({theme:e,uiTemplateString:s,colorVariables:a={}}){return n.replaceVariablesSync({template:s,variables:a,variableKeyPattern:t=>f.VARIABLE(t),variableValueTransformer:t=>n.pickColorByTheme(e,t)})}function A({theme:e,uiTemplateString:s,viewVariables:a={},aiAgentColorVariables:t,internalVariables:l,onRequestTemplate:i}){const u=Object.values(a).flat().map(o=>o.key);return[...new Set(u)].some(o=>!i(o))?null:n.replaceVariablesSync({template:s,variables:a,variableKeyPattern:o=>f.VIEW_VARIABLE(o),variableValueTransformer:o=>{const g=o.map(({key:y,variables:v})=>{const w=i(y),{ui_template:c,color_variables:_}=n.parseToMessageTemplate(w);let p=JSON.stringify(c);return p=b({uiTemplateString:p,variables:l}),p=T({theme:e,uiTemplateString:p,colorVariables:_}),p=T({theme:e,uiTemplateString:p,colorVariables:t}),p=b({uiTemplateString:p,variables:v}),n.parseToUITemplate(p)});return JSON.stringify(g)}})}async function R({theme:e,uiTemplateString:s,viewVariables:a={},aiAgentColorVariables:t,internalVariables:l,onRequestTemplate:i}){return n.replaceVariablesAsync({template:s,variables:a,variableKeyPattern:r=>f.VIEW_VARIABLE(r),variableValueTransformer:async r=>{const u=r.map(async({key:o,variables:g})=>{const y=await i(o),{ui_template:v,color_variables:w}=n.parseToMessageTemplate(y);let c=JSON.stringify(v);return c=b({uiTemplateString:c,variables:l}),c=T({theme:e,uiTemplateString:c,colorVariables:w}),c=T({theme:e,uiTemplateString:c,colorVariables:t}),c=b({uiTemplateString:c,variables:g}),n.parseToUITemplate(c)}),m=await Promise.all(u);return JSON.stringify(m)}})}const C=({rawTemplate:e,aiAgentColorVariables:s,internalVariables:a,...t})=>{const{ui_template:l,color_variables:i}=n.parseToMessageTemplate(e);let r=JSON.stringify(l);if(Object.keys(t.viewVariables??{}).length>0){const m=A({...t,uiTemplateString:r,aiAgentColorVariables:s,internalVariables:a});if(m===null)return null;r=m}return r=b({...t,uiTemplateString:r,variables:a}),r=T({...t,uiTemplateString:r,colorVariables:i}),r=T({...t,uiTemplateString:r,colorVariables:s}),r=b({...t,uiTemplateString:r}),n.parseToUITemplate(r)},j=async({rawTemplate:e,aiAgentColorVariables:s,internalVariables:a,...t})=>{const{ui_template:l,color_variables:i}=n.parseToMessageTemplate(e);let r=JSON.stringify(l);return Object.keys(t.viewVariables??{}).length>0&&(r=await R({...t,uiTemplateString:r,aiAgentColorVariables:s,internalVariables:a})),r=b({...t,uiTemplateString:r,variables:a}),r=T({...t,uiTemplateString:r,colorVariables:i}),r=T({...t,uiTemplateString:r,colorVariables:s}),r=b({...t,uiTemplateString:r}),n.parseToUITemplate(r)},k=e=>{const{aiAgentColorVariables:s={}}=e,{internalVariables:a}=n.useMessageTemplateFetchingContext();return S.useState(()=>{const t=e.onGetCachedTemplate(e.templateKey);return t?C({...e,rawTemplate:t,aiAgentColorVariables:s,internalVariables:a,onRequestTemplate:e.onGetCachedTemplate}):null})},q=e=>{const[s]=k(e);if(s)return s;const{aiAgentColorVariables:a={}}=e,{internalVariables:t,fetchTemplate:l,suspend:i}=n.useMessageTemplateFetchingContext();return i(e.templateKey,async()=>{const u=await l({...e,suspense:!0});return await j({...e,rawTemplate:u,aiAgentColorVariables:a,internalVariables:t})}).value},N=new Set(["default"]),{MessageTemplate:U}=h.createMessageTemplate({parser:d.parser,renderer:d.renderer,Container:e=>V.createElement("div",{...e})}),K=({extendedMessagePayload:e,onGetCachedMessageTemplate:s=()=>null,onRequestMessageTemplate:a,onHandleTemplateInternalAction:t=n.noop})=>{const l=e==null?void 0:e.message_template;if(!N.has((l==null?void 0:l.type)??"default"))throw new Error("Unsupported template type");if(!a)throw new Error("onRequestMessageTemplate is required");const r=l==null?void 0:l.key;if(!r)throw new Error("Template key is missing");const{theme:u}=n.useMessengerThemeContext(),m=q({onRequestTemplate:a,onGetCachedTemplate:s,theme:u.selectedTheme,templateKey:r,variables:l==null?void 0:l.variables,viewVariables:l==null?void 0:l.view_variables,aiAgentColorVariables:u.aiAgentColorVariables});return V.createElement(P,{id:`${n.ID_INCOMING}-ext-message-template`},V.createElement(d.MessageProvider,{handleInternalAction:(o,g)=>{o.stopPropagation(),t==null||t(g)}},V.createElement(U,{templateItems:m.body.items,templateVersion:m.version})))},P=O.default.div`box-sizing:border-box;overflow:hidden;width:100%;`;exports.MessageTemplateWrapper=K;