kozz-module-maker 0.3.0 → 0.3.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.
@@ -1,6 +1,6 @@
1
1
  import type { Method, TypeString } from '../../Schema';
2
2
  import { type ProxiedMessageObject } from '../../Message/ProxiedMessage';
3
- import { type Source } from 'kozz-types';
3
+ import { type CommandAlias, type Source } from 'kozz-types';
4
4
  export type ControllerInitParams<Methods extends Record<string, TypeString>> = {
5
5
  name: string;
6
6
  address: string;
@@ -10,6 +10,7 @@ export type ControllerInitParams<Methods extends Record<string, TypeString>> = {
10
10
  commands?: {
11
11
  boundariesToHandle: string[];
12
12
  methods?: Record<string, Method<Methods>>;
13
+ aliases?: CommandAlias[];
13
14
  };
14
15
  proxy?: {
15
16
  source: Source;
@@ -36,7 +36,7 @@ const createModule = ({
36
36
  registerMethods
37
37
  } = (0, _Socket.connect)(() => {
38
38
  console.log(`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`);
39
- (0, _Introduction.introduce)(socket, name, commands?.methods || {}, signature);
39
+ (0, _Introduction.introduce)(socket, name, commands?.methods || {}, commands?.aliases, signature);
40
40
  if (proxy) {
41
41
  (0, _ProxiedMessage.onProxiedMessage)(socket, proxy.source, proxy.onMessage);
42
42
  (0, _RequestProxy.requestProxy)(socket, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Common","require","_Socket","_RevokeProxy","_RequestProxy","_AskResource","_SendMessage","_AskResource2","_Introduction","_ProxiedMessage","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createModule","name","address","commands","proxy","signature","templatePath","customSocketPath","moduleUseFns","use","createUseFns","instance","socket","registerMethods","connect","console","log","introduce","methods","onProxiedMessage","source","onMessage","requestProxy","boundariesToHandle","removeResource","resourceMap","upsertResource","createResourceMap","onAskResource","sendMessage","sendMessageToContact","revoke","revokeProxy","on","onEvent","ask","createAskResource","requester","id","type","resources","exports"],"sources":["../../../src/Instance/GeneralModule/index.ts"],"sourcesContent":["import type { Method, TypeString } from '../../Schema';\nimport { createResourceMap, createUseFns, onEvent } from '../Common';\nimport { connect } from '../../Socket';\nimport { revokeProxy } from '../../Socket/Events/Emit/RevokeProxy';\nimport { requestProxy } from '../../Socket/Events/Emit/RequestProxy';\nimport { type ProxiedMessageObject } from '../../Message/ProxiedMessage';\nimport { type Source } from 'kozz-types';\nimport { onAskResource } from '../../Socket/Events/Handle/AskResource';\nimport { sendMessageToContact } from '../../Message/RoutineCreation/SendMessage';\nimport { createAskResource } from '../../Message/RoutineCreation/AskResource';\nimport { introduce } from '../../Socket/Events/Emit/Introduction';\nimport { onProxiedMessage } from '../../Socket/Events/Handle/ProxiedMessage';\n\nexport type ControllerInitParams<Methods extends Record<string, TypeString>> = {\n\tname: string;\n\n\taddress: string;\n\tcustomSocketPath?: string;\n\n\ttemplatePath?: string;\n\tsignature?: string;\n\n\tcommands?: {\n\t\tboundariesToHandle: string[];\n\t\tmethods?: Record<string, Method<Methods>>;\n\t};\n\n\tproxy?: {\n\t\tsource: Source;\n\t\tdestinationOverride?: string;\n\t\tonMessage: (message: ProxiedMessageObject) => any;\n\t\tkeepAliveProxy?: boolean;\n\t};\n};\n\nexport const createModule = <Methods extends Record<string, TypeString>>({\n\tname,\n\taddress,\n\tcommands,\n\tproxy,\n\tsignature,\n\ttemplatePath,\n\tcustomSocketPath,\n}: ControllerInitParams<Methods>) => {\n\tconst { moduleUseFns, use } = createUseFns(() => instance);\n\n\tconst { socket, registerMethods } = connect(\n\t\t() => {\n\t\t\tconsole.log(\n\t\t\t\t`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`\n\t\t\t);\n\t\t\tintroduce(socket, name, commands?.methods || {}, signature);\n\t\t\tif (proxy) {\n\t\t\t\tonProxiedMessage(socket, proxy.source, proxy.onMessage);\n\t\t\t\trequestProxy(socket, {\n\t\t\t\t\taddress,\n\t\t\t\t\tname,\n\t\t\t\t\t...proxy,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\taddress,\n\t\tmoduleUseFns,\n\t\ttemplatePath || '',\n\t\tname,\n\t\tcommands?.boundariesToHandle || [],\n\t\tcustomSocketPath\n\t);\n\n\tif (commands?.methods) {\n\t\tregisterMethods(commands?.methods);\n\t}\n\n\tconst { removeResource, resourceMap, upsertResource } = createResourceMap();\n\tonAskResource(socket, resourceMap);\n\n\tconst sendMessage = sendMessageToContact(socket, name);\n\n\tlet revoke = () => {\n\t\tif (proxy) {\n\t\t\trevokeProxy(socket, proxy.source);\n\t\t}\n\t};\n\n\tconst { on } = onEvent(socket, name);\n\n\tconst ask = createAskResource(socket, {\n\t\trequester: {\n\t\t\tid: name,\n\t\t\ttype: 'Handler',\n\t\t},\n\t});\n\n\tconst instance = {\n\t\tuse,\n\t\ton,\n\t\tsendMessage,\n\t\tresources: {\n\t\t\tremoveResource,\n\t\t\tupsertResource,\n\t\t},\n\t\tproxy: {\n\t\t\trevoke,\n\t\t},\n\t\task,\n\t\tsocket,\n\t};\n\n\treturn instance;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Common","require","_Socket","_RevokeProxy","_RequestProxy","_AskResource","_SendMessage","_AskResource2","_Introduction","_ProxiedMessage","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createModule","name","address","commands","proxy","signature","templatePath","customSocketPath","moduleUseFns","use","createUseFns","instance","socket","registerMethods","connect","console","log","introduce","methods","aliases","onProxiedMessage","source","onMessage","requestProxy","boundariesToHandle","removeResource","resourceMap","upsertResource","createResourceMap","onAskResource","sendMessage","sendMessageToContact","revoke","revokeProxy","on","onEvent","ask","createAskResource","requester","id","type","resources","exports"],"sources":["../../../src/Instance/GeneralModule/index.ts"],"sourcesContent":["import type { Method, TypeString } from '../../Schema';\nimport { createResourceMap, createUseFns, onEvent } from '../Common';\nimport { connect } from '../../Socket';\nimport { revokeProxy } from '../../Socket/Events/Emit/RevokeProxy';\nimport { requestProxy } from '../../Socket/Events/Emit/RequestProxy';\nimport { type ProxiedMessageObject } from '../../Message/ProxiedMessage';\nimport { type CommandAlias, type Source } from 'kozz-types';\nimport { onAskResource } from '../../Socket/Events/Handle/AskResource';\nimport { sendMessageToContact } from '../../Message/RoutineCreation/SendMessage';\nimport { createAskResource } from '../../Message/RoutineCreation/AskResource';\nimport { introduce } from '../../Socket/Events/Emit/Introduction';\nimport { onProxiedMessage } from '../../Socket/Events/Handle/ProxiedMessage';\n\nexport type ControllerInitParams<Methods extends Record<string, TypeString>> = {\n\tname: string;\n\n\taddress: string;\n\tcustomSocketPath?: string;\n\n\ttemplatePath?: string;\n\tsignature?: string;\n\n\tcommands?: {\n\t\tboundariesToHandle: string[];\n\t\tmethods?: Record<string, Method<Methods>>;\n\t\taliases?: CommandAlias[];\n\t};\n\n\tproxy?: {\n\t\tsource: Source;\n\t\tdestinationOverride?: string;\n\t\tonMessage: (message: ProxiedMessageObject) => any;\n\t\tkeepAliveProxy?: boolean;\n\t};\n};\n\nexport const createModule = <Methods extends Record<string, TypeString>>({\n\tname,\n\taddress,\n\tcommands,\n\tproxy,\n\tsignature,\n\ttemplatePath,\n\tcustomSocketPath,\n}: ControllerInitParams<Methods>) => {\n\tconst { moduleUseFns, use } = createUseFns(() => instance);\n\n\tconst { socket, registerMethods } = connect(\n\t\t() => {\n\t\t\tconsole.log(\n\t\t\t\t`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`\n\t\t\t);\n\t\t\tintroduce(socket, name, commands?.methods || {}, commands?.aliases, signature);\n\t\t\tif (proxy) {\n\t\t\t\tonProxiedMessage(socket, proxy.source, proxy.onMessage);\n\t\t\t\trequestProxy(socket, {\n\t\t\t\t\taddress,\n\t\t\t\t\tname,\n\t\t\t\t\t...proxy,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\taddress,\n\t\tmoduleUseFns,\n\t\ttemplatePath || '',\n\t\tname,\n\t\tcommands?.boundariesToHandle || [],\n\t\tcustomSocketPath\n\t);\n\n\tif (commands?.methods) {\n\t\tregisterMethods(commands?.methods);\n\t}\n\n\tconst { removeResource, resourceMap, upsertResource } = createResourceMap();\n\tonAskResource(socket, resourceMap);\n\n\tconst sendMessage = sendMessageToContact(socket, name);\n\n\tlet revoke = () => {\n\t\tif (proxy) {\n\t\t\trevokeProxy(socket, proxy.source);\n\t\t}\n\t};\n\n\tconst { on } = onEvent(socket, name);\n\n\tconst ask = createAskResource(socket, {\n\t\trequester: {\n\t\t\tid: name,\n\t\t\ttype: 'Handler',\n\t\t},\n\t});\n\n\tconst instance = {\n\t\tuse,\n\t\ton,\n\t\tsendMessage,\n\t\tresources: {\n\t\t\tremoveResource,\n\t\t\tupsertResource,\n\t\t},\n\t\tproxy: {\n\t\t\trevoke,\n\t\t},\n\t\task,\n\t\tsocket,\n\t};\n\n\treturn instance;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { CommandAlias } from 'kozz-types/dist';
1
2
  import { Socket } from 'socket.io-client';
2
3
  import { Method, TypeString } from '../../../Schema';
3
4
  /**
@@ -7,4 +8,4 @@ import { Method, TypeString } from '../../../Schema';
7
8
  * @param methods
8
9
  * @param signature
9
10
  */
10
- export declare const introduce: <T extends Record<string, Method<Record<string, TypeString>>>>(socket: Socket, handlerName: string, methods: T, signature?: string) => Promise<void>;
11
+ export declare const introduce: <T extends Record<string, Method<Record<string, TypeString>>>>(socket: Socket, handlerName: string, methods: T, aliases?: CommandAlias[], signature?: string) => Promise<void>;
@@ -12,8 +12,9 @@ var _util = require("../../../util");
12
12
  * @param methods
13
13
  * @param signature
14
14
  */
15
- const introduce = async (socket, handlerName, methods, signature) => {
15
+ const introduce = async (socket, handlerName, methods, aliases = [], signature) => {
16
16
  const payload = {
17
+ aliases,
17
18
  methods: Object.keys(methods),
18
19
  name: handlerName,
19
20
  role: 'handler'
@@ -1 +1 @@
1
- {"version":3,"file":"Introduction.js","names":["_util","require","introduce","socket","handlerName","methods","signature","payload","Object","keys","name","role","emit","signPayload","exports"],"sources":["../../../../src/Socket/Events/Emit/Introduction.ts"],"sourcesContent":["import { HandlerIntroduction, SignaturelessPayload } from 'kozz-types/dist';\nimport { Socket } from 'socket.io-client';\nimport { Method, TypeString } from '../../../Schema';\nimport { signPayload } from '../../../util';\n\n/**\n * Emits the introduction payload to the gateway\n * @param socket\n * @param handlerName\n * @param methods\n * @param signature\n */\nexport const introduce = async <\n\tT extends Record<string, Method<Record<string, TypeString>>>\n>(\n\tsocket: Socket,\n\thandlerName: string,\n\tmethods: T,\n\tsignature?: string\n) => {\n\tconst payload: SignaturelessPayload<HandlerIntroduction> = {\n\t\tmethods: Object.keys(methods),\n\t\tname: handlerName,\n\t\trole: 'handler',\n\t};\n\n\tsocket.emit('introduction', await signPayload(payload, signature));\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAG,MAAAA,CAGxBC,MAAc,EACdC,WAAmB,EACnBC,OAAU,EACVC,SAAkB,KACd;EACJ,MAAMC,OAAkD,GAAG;IAC1DF,OAAO,EAAEG,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC;IAC7BK,IAAI,EAAEN,WAAW;IACjBO,IAAI,EAAE;EACP,CAAC;EAEDR,MAAM,CAACS,IAAI,CAAC,cAAc,EAAE,MAAM,IAAAC,iBAAW,EAACN,OAAO,EAAED,SAAS,CAAC,CAAC;AACnE,CAAC;AAACQ,OAAA,CAAAZ,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"Introduction.js","names":["_util","require","introduce","socket","handlerName","methods","aliases","signature","payload","Object","keys","name","role","emit","signPayload","exports"],"sources":["../../../../src/Socket/Events/Emit/Introduction.ts"],"sourcesContent":["import {\n\tCommandAlias,\n\tHandlerIntroduction,\n\tSignaturelessPayload,\n} from 'kozz-types/dist';\nimport { Socket } from 'socket.io-client';\nimport { Method, TypeString } from '../../../Schema';\nimport { signPayload } from '../../../util';\n\n/**\n * Emits the introduction payload to the gateway\n * @param socket\n * @param handlerName\n * @param methods\n * @param signature\n */\nexport const introduce = async <\n\tT extends Record<string, Method<Record<string, TypeString>>>\n>(\n\tsocket: Socket,\n\thandlerName: string,\n\tmethods: T,\n\taliases: CommandAlias[] = [],\n\tsignature?: string\n) => {\n\tconst payload: SignaturelessPayload<HandlerIntroduction> = {\n\t\taliases,\n\t\tmethods: Object.keys(methods),\n\t\tname: handlerName,\n\t\trole: 'handler',\n\t};\n\n\tsocket.emit('introduction', await signPayload(payload, signature));\n};\n"],"mappings":";;;;;;AAOA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAG,MAAAA,CAGxBC,MAAc,EACdC,WAAmB,EACnBC,OAAU,EACVC,OAAuB,GAAG,EAAE,EAC5BC,SAAkB,KACd;EACJ,MAAMC,OAAkD,GAAG;IAC1DF,OAAO;IACPD,OAAO,EAAEI,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC;IAC7BM,IAAI,EAAEP,WAAW;IACjBQ,IAAI,EAAE;EACP,CAAC;EAEDT,MAAM,CAACU,IAAI,CAAC,cAAc,EAAE,MAAM,IAAAC,iBAAW,EAACN,OAAO,EAAED,SAAS,CAAC,CAAC;AACnE,CAAC;AAACQ,OAAA,CAAAb,SAAA,GAAAA,SAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kozz-module-maker",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Library to create new module for the Kozz-Bot protocol",
5
5
  "main": "./dist",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  "babel": "^6.23.0",
25
25
  "babel-plugin-module-resolver": "^5.0.2",
26
26
  "concurrently": "^7.6.0",
27
- "kozz-types": "^0.1.22",
27
+ "kozz-types": "^0.1.23",
28
28
  "nodemon": "^2.0.22"
29
29
  },
30
30
  "dependencies": {
package/readme.md CHANGED
@@ -146,6 +146,43 @@ createHandlerInstance({
146
146
  });
147
147
  ```
148
148
 
149
+ ### Command aliases
150
+
151
+ Handlers can announce aliases in the introduction payload. The gateway resolves
152
+ the alias before routing the command, so no extra handler module is required.
153
+
154
+ ```typescript
155
+ createModule({
156
+ name: 'ping',
157
+ address: 'gateway_address',
158
+ commands: {
159
+ boundariesToHandle: ['my_boundary', 'my-other-boundary'],
160
+ aliases: [
161
+ {
162
+ name: 'pong',
163
+ target: {
164
+ method: 'default',
165
+ immediateArg: null,
166
+ },
167
+ },
168
+ ],
169
+ methods: {
170
+ ...createMethod(
171
+ 'default',
172
+ requester => {
173
+ requester.reply('Pong!');
174
+ },
175
+ {}
176
+ ),
177
+ },
178
+ },
179
+ });
180
+ ```
181
+
182
+ If `target.module` is omitted, the alias targets the handler that declared it.
183
+ Arguments typed after the alias are appended to the target `immediateArg`, and
184
+ named args from the message override named args declared in the alias target.
185
+
149
186
  ## From template
150
187
 
151
188
  You cand send or reply to messages using templates. Instead of relying on strings hard-coded in the methods or callbacks, you can create a simpler version of .MD files and read message templates direct from them. It is still in its early stages so you can bet the .md parser will fail. Use at your own risk.
@@ -1 +0,0 @@
1
- export {};
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var _GeneralModule = require("./Instance/GeneralModule");
4
- var _ = require(".");
5
- var _Schema = require("./Schema");
6
- var _jsxRuntime = require("./jsx-runtime");
7
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
- const defaultGatewayUrl = 'ws://127.0.0.1:4521';
13
- const TemplateMessage = () => {
14
- return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
15
- children: [(0, _jsxRuntime.jsx)(_.Bold, {
16
- children: "Bold text"
17
- }), (0, _jsxRuntime.jsx)(_.Italic, {
18
- children: "Italic text"
19
- }), (0, _jsxRuntime.jsx)(_.Line, {
20
- children: "Line component"
21
- }), (0, _jsxRuntime.jsx)(_.List, {
22
- items: ['Item 1', 'Item 2', 'Item 3']
23
- }), (0, _jsxRuntime.jsx)(_.ForEach, {
24
- data: [1, 2, 3],
25
- render: item => (0, _jsxRuntime.jsx)(_.Italic, {
26
- children: item
27
- })
28
- }), (0, _jsxRuntime.jsx)(_.Paragraph, {
29
- children: "Est duis pariatur officia ex ut commodo enim nulla aliqua ut consequat. Consectetur dolor excepteur nulla minim amet eu pariatur duis elit commodo mollit. Pariatur et dolor nisi irure deserunt ut incididunt. Fugiat dolor irure anim ullamco."
30
- }), (0, _jsxRuntime.jsx)(_.Stroke, {
31
- children: "Stroke text"
32
- })]
33
- });
34
- };
35
- const defaultMethod = (0, _Schema.createMethod)('default', requester => requester.sendMessage.toOtherBoundary('kozz-wa', '5511947952409@s.whatsapp.net', (0, _jsxRuntime.jsx)(TemplateMessage, {})));
36
- const me = (0, _Schema.createMethod)('me', requester => requester.reply((0, _jsxRuntime.jsx)(TemplateMessage, {})));
37
- const myModule = (0, _GeneralModule.createModule)({
38
- name: 'test',
39
- address: defaultGatewayUrl,
40
- commands: {
41
- boundariesToHandle: ['*'],
42
- methods: _objectSpread(_objectSpread({}, defaultMethod), me)
43
- }
44
- });
45
- //# sourceMappingURL=debugIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debugIndex.js","names":["_GeneralModule","require","_","_Schema","_jsxRuntime","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","defaultGatewayUrl","TemplateMessage","jsxs","Fragment","children","jsx","Bold","Italic","Line","List","items","ForEach","data","render","item","Paragraph","Stroke","defaultMethod","createMethod","requester","sendMessage","toOtherBoundary","me","reply","myModule","createModule","name","address","commands","boundariesToHandle","methods"],"sources":["../src/debugIndex.tsx"],"sourcesContent":["import { createModule } from './Instance/GeneralModule';\nimport { Bold, ForEach, Italic, Line, List, Paragraph, Stroke } from '.';\n\nimport { createMethod } from './Schema';\n\nconst defaultGatewayUrl = 'ws://127.0.0.1:4521';\n\nconst TemplateMessage = () => {\n\treturn (\n\t\t<>\n\t\t\t<Bold>Bold text</Bold>\n\t\t\t<Italic>Italic text</Italic>\n\t\t\t<Line>Line component</Line>\n\t\t\t<List items={['Item 1', 'Item 2', 'Item 3']} />\n\t\t\t<ForEach data={[1, 2, 3]} render={item => <Italic>{item}</Italic>} />\n\t\t\t<Paragraph>\n\t\t\t\tEst duis pariatur officia ex ut commodo enim nulla aliqua ut consequat.\n\t\t\t\tConsectetur dolor excepteur nulla minim amet eu pariatur duis elit\n\t\t\t\tcommodo mollit. Pariatur et dolor nisi irure deserunt ut incididunt.\n\t\t\t\tFugiat dolor irure anim ullamco.\n\t\t\t</Paragraph>\n\t\t\t<Stroke>Stroke text</Stroke>\n\t\t</>\n\t);\n};\n\nconst defaultMethod = createMethod('default', requester =>\n\trequester.sendMessage.toOtherBoundary(\n\t\t'kozz-wa',\n\t\t'5511947952409@s.whatsapp.net',\n\t\t<TemplateMessage />\n\t)\n);\n\nconst me = createMethod('me', requester =>\n\trequester.reply(<TemplateMessage />)\n);\n\nconst myModule = createModule({\n\tname: 'test',\n\taddress: defaultGatewayUrl,\n\tcommands: {\n\t\tboundariesToHandle: ['*'],\n\t\tmethods: {\n\t\t\t...defaultMethod,\n\t\t\t...me,\n\t\t},\n\t},\n});\n"],"mappings":"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","ignoreList":[]}