@botpress/runtime 1.7.4 → 1.7.5

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.
@@ -1,6 +1,6 @@
1
1
  import type { ExecutionProps as LlmzExecutionProps } from 'llmz/dist/llmz';
2
2
  import { type Chat as LlmzChat, type ValueOrGetter, type Context as LlmzContext } from 'llmz';
3
- import { Iteration as LlmzIteration, Tool as LlmzTool, Traces as _Traces, ThinkSignal as _ThinkSignal, SnapshotSignal as _SnapshotSignal, Citation as _Citation, CitationsManager as _CitationsManager } from 'llmz';
3
+ import { Iteration as LlmzIteration, Tool as LlmzTool, Traces as _Traces, ThinkSignal as _ThinkSignal, SnapshotSignal as _SnapshotSignal, Citation as _Citation, CitationsManager as _CitationsManager, Component as LlmzComponent } from 'llmz';
4
4
  import { Exit as LlmzExit, type ExitResult as LlmzExitResult } from 'llmz';
5
5
  import { ObjectInstance as LlmzObject } from 'llmz';
6
6
  import { CognitiveBeta } from '@botpress/cognitive';
@@ -19,6 +19,8 @@ export declare namespace Autonomous {
19
19
  type IterationController = Parameters<NonNullable<LlmzExecutionProps['onIterationEnd']>>[1];
20
20
  const Tool: typeof LlmzTool;
21
21
  type Tool = InstanceType<typeof Tool>;
22
+ const Component: typeof LlmzComponent;
23
+ type Component = InstanceType<typeof Component>;
22
24
  const Exit: typeof LlmzExit;
23
25
  const Object: typeof LlmzObject;
24
26
  type Citation = _Citation;
@@ -1 +1 @@
1
- {"version":3,"file":"autonomous.d.ts","sourceRoot":"","sources":["../../src/runtime/autonomous.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomous.d.ts","sourceRoot":"","sources":["../../src/runtime/autonomous.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
- import { Chat, RenderedComponent } from 'llmz';
1
+ import { Chat, DefaultComponents, RenderedComponent } from 'llmz';
2
2
  import { TranscriptItem } from './transcript';
3
3
  import { AnyIncomingEvent, AnyIncomingMessage } from '@botpress/sdk/dist/bot';
4
4
  import { BotContext } from '../context/context';
5
- type Msg = {
5
+ export type Msg = {
6
6
  type: string;
7
7
  payload: Record<string, any>;
8
8
  tags?: Record<string, any>;
9
9
  };
10
+ export type Component = (typeof DefaultComponents)[keyof typeof DefaultComponents];
11
+ export type ComponentHandler = (message: RenderedComponent) => Promise<void> | void;
12
+ export type ComponentRegistration = {
13
+ component: Component;
14
+ handler?: ComponentHandler;
15
+ };
10
16
  export declare class BotpressChat extends Chat {
11
17
  private _transcript;
12
18
  private client;
@@ -14,169 +20,44 @@ export declare class BotpressChat extends Chat {
14
20
  private botId;
15
21
  private logger;
16
22
  private citations;
23
+ private componentRegistry;
17
24
  constructor(context: BotContext);
18
- getComponents(): Promise<(import("llmz").Component<{
19
- type: "default";
20
- name: string;
21
- aliases: string[];
22
- description: string;
23
- examples: {
24
- name: string;
25
- description: string;
26
- code: string;
27
- }[];
28
- default: {
29
- props: import("@bpinternal/zui").ZodObject<{}, "strip", {}, {}>;
30
- children: never[];
31
- };
32
- }> | import("llmz").Component<{
33
- type: "leaf";
34
- name: string;
35
- description: string;
36
- aliases: never[];
37
- examples: {
38
- name: string;
39
- description: string;
40
- code: string;
41
- }[];
42
- leaf: {
43
- props: import("@bpinternal/zui").ZodObject<{
44
- url: import("@bpinternal/zui").ZodString;
45
- alt: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
46
- }, "strip", {
47
- url: string;
48
- alt?: string | undefined;
49
- }, {
50
- url: string;
51
- alt?: string | undefined;
52
- }>;
53
- };
54
- }> | import("llmz").Component<{
55
- type: "leaf";
56
- name: string;
57
- description: string;
58
- aliases: never[];
59
- examples: {
60
- name: string;
61
- description: string;
62
- code: string;
63
- }[];
64
- leaf: {
65
- props: import("@bpinternal/zui").ZodObject<{
66
- url: import("@bpinternal/zui").ZodString;
67
- name: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
68
- }, "strip", {
69
- url: string;
70
- name?: string | undefined;
71
- }, {
72
- url: string;
73
- name?: string | undefined;
74
- }>;
75
- };
76
- }> | import("llmz").Component<{
77
- type: "leaf";
78
- name: string;
79
- description: string;
80
- aliases: never[];
81
- examples: {
82
- name: string;
83
- description: string;
84
- code: string;
85
- }[];
86
- leaf: {
87
- props: import("@bpinternal/zui").ZodObject<{
88
- url: import("@bpinternal/zui").ZodString;
89
- title: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
90
- }, "strip", {
91
- url: string;
92
- title?: string | undefined;
93
- }, {
94
- url: string;
95
- title?: string | undefined;
96
- }>;
97
- };
98
- }> | import("llmz").Component<{
99
- type: "container";
100
- name: string;
101
- description: string;
102
- aliases: never[];
103
- examples: {
104
- name: string;
105
- description: string;
106
- code: string;
107
- }[];
108
- container: {
109
- props: import("@bpinternal/zui").ZodObject<{
110
- title: import("@bpinternal/zui").ZodString;
111
- subtitle: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
112
- }, "strip", {
113
- title: string;
114
- subtitle?: string | undefined;
115
- }, {
116
- title: string;
117
- subtitle?: string | undefined;
118
- }>;
119
- children: ({
120
- description: string;
121
- component: {
122
- type: "leaf";
123
- name: string;
124
- description: string;
125
- aliases: never[];
126
- examples: {
127
- name: string;
128
- description: string;
129
- code: string;
130
- }[];
131
- leaf: {
132
- props: import("@bpinternal/zui").ZodObject<{
133
- url: import("@bpinternal/zui").ZodString;
134
- alt: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
135
- }, "strip", {
136
- url: string;
137
- alt?: string | undefined;
138
- }, {
139
- url: string;
140
- alt?: string | undefined;
141
- }>;
142
- };
143
- };
144
- } | {
145
- description: string;
146
- component: {
147
- type: "leaf";
148
- description: string;
149
- name: string;
150
- aliases: string[];
151
- examples: {
152
- name: string;
153
- description: string;
154
- code: string;
155
- }[];
156
- leaf: {
157
- props: import("@bpinternal/zui").ZodObject<{
158
- action: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodEnum<["say", "url", "postback"]>>;
159
- label: import("@bpinternal/zui").ZodString;
160
- value: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
161
- url: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
162
- }, "strip", {
163
- label: string;
164
- action: "say" | "url" | "postback";
165
- value?: string | undefined;
166
- url?: string | undefined;
167
- }, {
168
- label: string;
169
- value?: string | undefined;
170
- action?: "say" | "url" | "postback" | undefined;
171
- url?: string | undefined;
172
- }>;
173
- };
174
- };
175
- })[];
176
- };
177
- }>)[]>;
25
+ /**
26
+ * Register a component with an optional handler
27
+ */
28
+ registerComponent(registration: ComponentRegistration): this;
29
+ /**
30
+ * Remove a component by name
31
+ */
32
+ removeComponent(name: string): this;
33
+ /**
34
+ * Get all registered components
35
+ */
36
+ getComponents(): Promise<Component[]>;
37
+ /**
38
+ * Clear the entire transcript
39
+ */
178
40
  clearTranscript(): Promise<void>;
41
+ /**
42
+ * Prepend items to the transcript
43
+ */
179
44
  prependToTranscript(items: TranscriptItem[]): Promise<void>;
45
+ /**
46
+ * Remove a message from the transcript by ID
47
+ */
48
+ removeMessage(messageId: string): Promise<boolean>;
49
+ /**
50
+ * Remove messages from the transcript by predicate
51
+ */
52
+ removeMessages(predicate: (item: TranscriptItem) => boolean): Promise<number>;
53
+ /**
54
+ * Get a copy of the current transcript
55
+ */
56
+ getTranscript(): Promise<TranscriptItem[]>;
57
+ /**
58
+ * Replace the entire transcript
59
+ */
60
+ setTranscript(items: TranscriptItem[]): Promise<void>;
180
61
  fetchTranscript(): Promise<TranscriptItem[]>;
181
62
  compactTranscript(): Promise<void>;
182
63
  saveTranscript(): Promise<void>;
@@ -196,5 +77,4 @@ export declare class BotpressChat extends Chat {
196
77
  }): Promise<void>;
197
78
  addMessage(message: AnyIncomingMessage<any>): Promise<void>;
198
79
  }
199
- export {};
200
80
  //# sourceMappingURL=chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/runtime/chat/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqC,iBAAiB,EAAc,MAAM,MAAM,CAAA;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAS7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,qBAAa,YAAa,SAAQ,IAAI;IACpC,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAyB;gBAE9B,OAAO,EAAE,UAAU;IAczB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgBH,CAAC;;;mBAIgB,CAAC;;;;;;;;;;;;;;;;;;;oBAwBV,CAAC;;;oBAIL,CAAC;;;;;;;;;;;;;;;;;;;qBAyBsE,CAAC;;;qBACP,CAAC;;;;;;;;;;;;;;;;;;;wBAuBlF,CAAN;;;wBAIM,CAAH;;;;;;;;;;;;;;;;;;;;+BAuBC,CAAH;;;+BAOmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;iCAwCW,CAAC;+BACN,CAAC;;;iCAKtB,CAAH;kCACqC,CAAA;+BAGb,CAAC;;;;;;;IA1KpB,eAAe;IAIf,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE;IAQ3C,eAAe;IAqBf,iBAAiB;IAiDjB,cAAc;IAkCd,WAAW,CAAC,OAAO,EAAE,GAAG;IAsCxB,MAAM,CAAC,OAAO,EAAE,iBAAiB;IAsDvC;;;;OAIG;IACG,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IA6BjG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAgBrG,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC;CAuClD"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/runtime/chat/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAkB,iBAAiB,EAAc,MAAM,MAAM,CAAA;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAS7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,GAAG,GAAG;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAElF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEnF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B,CAAA;AAED,qBAAa,YAAa,SAAQ,IAAI;IACpC,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,iBAAiB,CAAgD;gBAE7D,OAAO,EAAE,UAAU;IAsB/B;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI;IAM5D;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACG,aAAa;IAInB;;OAEG;IACG,eAAe;IAIrB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE;IAQjD;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUxD;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOhD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,eAAe;IAqBf,iBAAiB;IAiDjB,cAAc;IAkCd,WAAW,CAAC,OAAO,EAAE,GAAG;IAsCxB,MAAM,CAAC,OAAO,EAAE,iBAAiB;IAmEvC;;;;OAIG;IACG,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IA6BjG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAgBrG,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC;CAuClD"}
package/dist/runtime.js CHANGED
@@ -48,7 +48,7 @@ var init_define_BUILD = __esm({
48
48
  var define_PACKAGE_VERSIONS_default;
49
49
  var init_define_PACKAGE_VERSIONS = __esm({
50
50
  "<define:__PACKAGE_VERSIONS__>"() {
51
- define_PACKAGE_VERSIONS_default = { runtime: "1.7.4", adk: "1.7.2", sdk: "4.18.1", llmz: "0.0.27", zai: "2.5.0", cognitive: "0.2.0" };
51
+ define_PACKAGE_VERSIONS_default = { runtime: "1.7.5", adk: "1.7.2", sdk: "4.18.1", llmz: "0.0.27", zai: "2.5.0", cognitive: "0.2.0" };
52
52
  }
53
53
  });
54
54
 
@@ -39542,7 +39542,8 @@ import {
39542
39542
  CitationsManager as _CitationsManager,
39543
39543
  ListenExit as _ListenExit,
39544
39544
  ThinkExit as _ThinkExit,
39545
- DefaultExit as _DefaultExit
39545
+ DefaultExit as _DefaultExit,
39546
+ Component as LlmzComponent
39546
39547
  } from "llmz";
39547
39548
  import { Exit as LlmzExit } from "llmz";
39548
39549
  import { ObjectInstance as LlmzObject } from "llmz";
@@ -39650,6 +39651,7 @@ import { AsyncResource } from "node:async_hooks";
39650
39651
  var Autonomous;
39651
39652
  ((Autonomous2) => {
39652
39653
  Autonomous2.Tool = LlmzTool;
39654
+ Autonomous2.Component = LlmzComponent;
39653
39655
  Autonomous2.Exit = LlmzExit;
39654
39656
  Autonomous2.Object = LlmzObject;
39655
39657
  Autonomous2.ThinkSignal = _ThinkSignal;
@@ -45901,6 +45903,7 @@ var BotpressChat = class extends Chat {
45901
45903
  botId;
45902
45904
  logger;
45903
45905
  citations;
45906
+ componentRegistry = /* @__PURE__ */ new Map();
45904
45907
  constructor(context3) {
45905
45908
  super({
45906
45909
  components: async () => this.getComponents(),
@@ -45912,26 +45915,86 @@ var BotpressChat = class extends Chat {
45912
45915
  this.botId = context3.botId;
45913
45916
  this.logger = context3.logger;
45914
45917
  this.citations = context3.citations;
45918
+ this.registerComponent({ component: DefaultComponents.Text });
45919
+ this.registerComponent({ component: DefaultComponents.Image });
45920
+ this.registerComponent({ component: DefaultComponents.File });
45921
+ this.registerComponent({ component: DefaultComponents.Audio });
45922
+ this.registerComponent({ component: DefaultComponents.Video });
45923
+ this.registerComponent({ component: DefaultComponents.Card });
45915
45924
  }
45925
+ /**
45926
+ * Register a component with an optional handler
45927
+ */
45928
+ registerComponent(registration) {
45929
+ const componentName = registration.component.definition.name.toLowerCase();
45930
+ this.componentRegistry.set(componentName, registration);
45931
+ return this;
45932
+ }
45933
+ /**
45934
+ * Remove a component by name
45935
+ */
45936
+ removeComponent(name) {
45937
+ this.componentRegistry.delete(name.toLowerCase());
45938
+ return this;
45939
+ }
45940
+ /**
45941
+ * Get all registered components
45942
+ */
45916
45943
  async getComponents() {
45917
- return [
45918
- DefaultComponents.Text,
45919
- DefaultComponents.Image,
45920
- DefaultComponents.File,
45921
- DefaultComponents.Audio,
45922
- DefaultComponents.Video,
45923
- DefaultComponents.Card
45924
- ];
45944
+ return Array.from(this.componentRegistry.values()).map((reg) => reg.component);
45925
45945
  }
45946
+ /**
45947
+ * Clear the entire transcript
45948
+ */
45926
45949
  async clearTranscript() {
45927
45950
  this._transcript = [];
45928
45951
  }
45952
+ /**
45953
+ * Prepend items to the transcript
45954
+ */
45929
45955
  async prependToTranscript(items) {
45930
45956
  if (!this._transcript) {
45931
45957
  await this.fetchTranscript();
45932
45958
  }
45933
45959
  this._transcript = [...items, ...this._transcript];
45934
45960
  }
45961
+ /**
45962
+ * Remove a message from the transcript by ID
45963
+ */
45964
+ async removeMessage(messageId) {
45965
+ if (!this._transcript) {
45966
+ await this.fetchTranscript();
45967
+ }
45968
+ const initialLength = this._transcript.length;
45969
+ this._transcript = this._transcript.filter((item) => item.id !== messageId);
45970
+ return this._transcript.length < initialLength;
45971
+ }
45972
+ /**
45973
+ * Remove messages from the transcript by predicate
45974
+ */
45975
+ async removeMessages(predicate) {
45976
+ if (!this._transcript) {
45977
+ await this.fetchTranscript();
45978
+ }
45979
+ const initialLength = this._transcript.length;
45980
+ this._transcript = this._transcript.filter((item) => !predicate(item));
45981
+ return initialLength - this._transcript.length;
45982
+ }
45983
+ /**
45984
+ * Get a copy of the current transcript
45985
+ */
45986
+ async getTranscript() {
45987
+ if (!this._transcript) {
45988
+ await this.fetchTranscript();
45989
+ }
45990
+ return [...this._transcript];
45991
+ }
45992
+ /**
45993
+ * Replace the entire transcript
45994
+ */
45995
+ async setTranscript(items) {
45996
+ this._transcript = [...items];
45997
+ }
45935
45998
  async fetchTranscript() {
45936
45999
  if (this._transcript) return this._transcript;
45937
46000
  return await span(
@@ -46085,15 +46148,25 @@ var BotpressChat = class extends Chat {
46085
46148
  }
46086
46149
  return;
46087
46150
  }
46088
- const components = await this.getComponents();
46089
- const component = components.find(
46090
- (c) => c.definition.name.toLowerCase() === message.type.toLowerCase() || c.definition.aliases?.map((x) => x.toLowerCase()).includes(message.type.toLowerCase())
46091
- );
46092
- if (!component) {
46151
+ const registration = this.componentRegistry.get(message.type.toLowerCase());
46152
+ let componentRegistration = registration;
46153
+ if (!componentRegistration) {
46154
+ for (const [_2, reg] of this.componentRegistry) {
46155
+ if (reg.component.definition.aliases?.map((x) => x.toLowerCase()).includes(message.type.toLowerCase())) {
46156
+ componentRegistration = reg;
46157
+ break;
46158
+ }
46159
+ }
46160
+ }
46161
+ if (!componentRegistration) {
46093
46162
  throw new Error(`Could not find component for message type "${message.type}"`);
46094
46163
  }
46164
+ if (componentRegistration.handler) {
46165
+ await componentRegistration.handler(message);
46166
+ return;
46167
+ }
46095
46168
  await this.sendMessage({
46096
- type: component.definition.name,
46169
+ type: componentRegistration.component.definition.name,
46097
46170
  payload: message.props
46098
46171
  });
46099
46172
  }