@corto-ai/integrations-messenger 0.0.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/README-internal.md +151 -0
- package/README.md +46 -0
- package/package.json +11 -0
- package/src/index.d.ts +48 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/auth/exchange-token.d.ts +16 -0
- package/src/lib/actions/auth/exchange-token.js +6 -0
- package/src/lib/actions/auth/exchange-token.js.map +1 -0
- package/src/lib/actions/auth/index.d.ts +5 -0
- package/src/lib/actions/auth/index.js +5 -0
- package/src/lib/actions/auth/index.js.map +1 -0
- package/src/lib/actions/base.d.ts +52 -0
- package/src/lib/actions/base.js +24 -0
- package/src/lib/actions/base.js.map +1 -0
- package/src/lib/actions/contact/base.d.ts +4 -0
- package/src/lib/actions/contact/base.js +1 -0
- package/src/lib/actions/contact/base.js.map +1 -0
- package/src/lib/actions/contact/index.d.ts +7 -0
- package/src/lib/actions/contact/index.js +7 -0
- package/src/lib/actions/contact/index.js.map +1 -0
- package/src/lib/actions/contact/open-edit.d.ts +12 -0
- package/src/lib/actions/contact/open-edit.js +6 -0
- package/src/lib/actions/contact/open-edit.js.map +1 -0
- package/src/lib/actions/contact/open.d.ts +12 -0
- package/src/lib/actions/contact/open.js +6 -0
- package/src/lib/actions/contact/open.js.map +1 -0
- package/src/lib/actions/index.d.ts +39 -0
- package/src/lib/actions/index.js +13 -0
- package/src/lib/actions/index.js.map +1 -0
- package/src/lib/actions/internal/handshake.d.ts +2 -0
- package/src/lib/actions/internal/handshake.js +1 -0
- package/src/lib/actions/internal/handshake.js.map +1 -0
- package/src/lib/actions/matter/base.d.ts +4 -0
- package/src/lib/actions/matter/base.js +1 -0
- package/src/lib/actions/matter/base.js.map +1 -0
- package/src/lib/actions/matter/index.d.ts +19 -0
- package/src/lib/actions/matter/index.js +19 -0
- package/src/lib/actions/matter/index.js.map +1 -0
- package/src/lib/actions/matter/open-agent-session.d.ts +14 -0
- package/src/lib/actions/matter/open-agent-session.js +6 -0
- package/src/lib/actions/matter/open-agent-session.js.map +1 -0
- package/src/lib/actions/matter/open-chat-session.d.ts +14 -0
- package/src/lib/actions/matter/open-chat-session.js +6 -0
- package/src/lib/actions/matter/open-chat-session.js.map +1 -0
- package/src/lib/actions/matter/open-details.d.ts +12 -0
- package/src/lib/actions/matter/open-details.js +6 -0
- package/src/lib/actions/matter/open-details.js.map +1 -0
- package/src/lib/actions/matter/open-document-status.d.ts +12 -0
- package/src/lib/actions/matter/open-document-status.js +6 -0
- package/src/lib/actions/matter/open-document-status.js.map +1 -0
- package/src/lib/actions/matter/open-edit.d.ts +12 -0
- package/src/lib/actions/matter/open-edit.js +6 -0
- package/src/lib/actions/matter/open-edit.js.map +1 -0
- package/src/lib/actions/matter/open-prompt-library.d.ts +12 -0
- package/src/lib/actions/matter/open-prompt-library.js +6 -0
- package/src/lib/actions/matter/open-prompt-library.js.map +1 -0
- package/src/lib/actions/matter/open-prompt.d.ts +14 -0
- package/src/lib/actions/matter/open-prompt.js +6 -0
- package/src/lib/actions/matter/open-prompt.js.map +1 -0
- package/src/lib/actions/matter/open.d.ts +14 -0
- package/src/lib/actions/matter/open.js +6 -0
- package/src/lib/actions/matter/open.js.map +1 -0
- package/src/lib/actions/pubsub/index.d.ts +5 -0
- package/src/lib/actions/pubsub/index.js +5 -0
- package/src/lib/actions/pubsub/index.js.map +1 -0
- package/src/lib/actions/pubsub/notification.d.ts +15 -0
- package/src/lib/actions/pubsub/notification.js +11 -0
- package/src/lib/actions/pubsub/notification.js.map +1 -0
- package/src/lib/actions/settings/index.d.ts +5 -0
- package/src/lib/actions/settings/index.js +5 -0
- package/src/lib/actions/settings/index.js.map +1 -0
- package/src/lib/actions/settings/open.d.ts +13 -0
- package/src/lib/actions/settings/open.js +6 -0
- package/src/lib/actions/settings/open.js.map +1 -0
- package/src/lib/actions/utils.d.ts +11 -0
- package/src/lib/actions/utils.js +68 -0
- package/src/lib/actions/utils.js.map +1 -0
- package/src/lib/core/emitter.d.ts +10 -0
- package/src/lib/core/emitter.js +79 -0
- package/src/lib/core/emitter.js.map +1 -0
- package/src/lib/core/index.d.ts +9 -0
- package/src/lib/core/index.js +15 -0
- package/src/lib/core/index.js.map +1 -0
- package/src/lib/core/listener.d.ts +7 -0
- package/src/lib/core/listener.js +86 -0
- package/src/lib/core/listener.js.map +1 -0
- package/src/lib/core/logger.d.ts +7 -0
- package/src/lib/core/logger.js +32 -0
- package/src/lib/core/logger.js.map +1 -0
- package/src/lib/core/target.d.ts +13 -0
- package/src/lib/core/target.js +39 -0
- package/src/lib/core/target.js.map +1 -0
- package/src/lib/models/configs.d.ts +9 -0
- package/src/lib/models/configs.js +1 -0
- package/src/lib/models/configs.js.map +1 -0
- package/src/lib/models/handlers.d.ts +21 -0
- package/src/lib/models/handlers.js +1 -0
- package/src/lib/models/handlers.js.map +1 -0
- package/src/lib/models/index.d.ts +4 -0
- package/src/lib/models/index.js +5 -0
- package/src/lib/models/index.js.map +1 -0
- package/src/lib/models/messages.d.ts +22 -0
- package/src/lib/models/messages.js +7 -0
- package/src/lib/models/messages.js.map +1 -0
- package/src/lib/models/target.d.ts +7 -0
- package/src/lib/models/target.js +2 -0
- package/src/lib/models/target.js.map +1 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import emitter from './emitter';
|
|
2
|
+
import logger from './logger';
|
|
3
|
+
import target from './target';
|
|
4
|
+
import { ActionTypeEnum, AdditionalMessageConfig, InternalActionTypeEnum } from '../actions/base';
|
|
5
|
+
import { isInternalActionType } from '../actions/utils';
|
|
6
|
+
import { ALL_MESSAGE_TYPES } from '../models';
|
|
7
|
+
const eventTarget = new EventTarget();
|
|
8
|
+
const eventIsPlatformMessage = (
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
event) => !!event.data && typeof event.data === 'object' && 'type' in event.data && ALL_MESSAGE_TYPES.includes(event.data.type);
|
|
11
|
+
const eventIsCustomPlatformMessage = (event, type) => {
|
|
12
|
+
if (!(event instanceof CustomEvent))
|
|
13
|
+
return false;
|
|
14
|
+
const detail = event.detail;
|
|
15
|
+
return !!detail?.data && detail.data.type === type;
|
|
16
|
+
};
|
|
17
|
+
const setupDefaultListeners = () => {
|
|
18
|
+
// For every action type, set up the listener to forward it and the response
|
|
19
|
+
Object.values(ActionTypeEnum).forEach((type) => {
|
|
20
|
+
addMessageHandler(type, (event) => {
|
|
21
|
+
emitter.forward(event.data);
|
|
22
|
+
}, { silent: true });
|
|
23
|
+
addMessageHandler(`${type}Response`, (event) => {
|
|
24
|
+
emitter.forward(event.data, { keepAlive: !!AdditionalMessageConfig[type]?.keepAlive });
|
|
25
|
+
}, { silent: true });
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const registerChild = (child, id) => new Promise((resolve) => {
|
|
29
|
+
logger.info('wait for handshake from', id);
|
|
30
|
+
addMessageHandler(InternalActionTypeEnum.Handshake, (event) => {
|
|
31
|
+
if (event.source !== child || event.data.src !== id) {
|
|
32
|
+
logger.error('Received handshake from unexpected source');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const data = event.data;
|
|
36
|
+
logger.info('init handshake received', data, child);
|
|
37
|
+
const targetRef = target.addTarget(data.src, { window: child, origin: event.origin });
|
|
38
|
+
emitter.sendDataInternal({
|
|
39
|
+
id: data.id,
|
|
40
|
+
type: `${InternalActionTypeEnum.Handshake}Response`,
|
|
41
|
+
target: id,
|
|
42
|
+
src: target.getSourceId(),
|
|
43
|
+
data: void 0
|
|
44
|
+
}, targetRef);
|
|
45
|
+
resolve();
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
const addMessageHandler = (type, callback, config = {}) => {
|
|
49
|
+
if (!config.silent) {
|
|
50
|
+
logger.info('Adding event listener for type', type);
|
|
51
|
+
}
|
|
52
|
+
const eventHandler = (event) => {
|
|
53
|
+
if (!eventIsCustomPlatformMessage(event, type))
|
|
54
|
+
return;
|
|
55
|
+
callback(event.detail);
|
|
56
|
+
};
|
|
57
|
+
eventTarget.addEventListener(type, eventHandler);
|
|
58
|
+
return {
|
|
59
|
+
remove: () => {
|
|
60
|
+
eventTarget.removeEventListener(type, eventHandler);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const init = () => {
|
|
65
|
+
setupDefaultListeners();
|
|
66
|
+
window.addEventListener('message', (event) => {
|
|
67
|
+
if (!eventIsPlatformMessage(event)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const data = event.data;
|
|
71
|
+
const t = target.getTarget(data.src);
|
|
72
|
+
console.error({ event });
|
|
73
|
+
// the message is from someone who's origin isn't known to us and it isn't a handshake, so ignore it
|
|
74
|
+
if (t?.origin !== event.origin && !isInternalActionType(data.type)) {
|
|
75
|
+
logger.info('Received message from the wrong origin, ignoring', { expected: t?.origin, received: event.origin });
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
const customEvent = new CustomEvent(data.type, {
|
|
80
|
+
detail: event
|
|
81
|
+
});
|
|
82
|
+
eventTarget.dispatchEvent(customEvent);
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
export default { addMessageHandler, init, registerChild };
|
|
86
|
+
//# sourceMappingURL=listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import target from './target';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
+
const noop = (..._) => { };
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
let info = (...data) => console.log('[@corto-ai/integrations-messenger:info]', {
|
|
6
|
+
src: target.getSourceId(),
|
|
7
|
+
msg: data
|
|
8
|
+
});
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
let warn = (...data) => console.warn('[@corto-ai/integrations-messenger:warn]', {
|
|
11
|
+
src: target.getSourceId(),
|
|
12
|
+
msg: data
|
|
13
|
+
});
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
let error = (...data) => console.error('[@corto-ai/integrations-messenger:error]', {
|
|
16
|
+
src: target.getSourceId(),
|
|
17
|
+
msg: data
|
|
18
|
+
});
|
|
19
|
+
const init = (enabled = false) => {
|
|
20
|
+
if (enabled)
|
|
21
|
+
return;
|
|
22
|
+
info = noop;
|
|
23
|
+
warn = noop;
|
|
24
|
+
error = noop;
|
|
25
|
+
};
|
|
26
|
+
export default {
|
|
27
|
+
init,
|
|
28
|
+
info,
|
|
29
|
+
warn,
|
|
30
|
+
error
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,8DAA8D;AAC9D,MAAM,IAAI,GAAG,CAAC,GAAG,CAAQ,EAAQ,EAAE,GAAE,CAAC,CAAC;AAEvC,8DAA8D;AAC9D,IAAI,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC5B,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE;IACrD,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE;IACzB,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEL,8DAA8D;AAC9D,IAAI,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC5B,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE;IACtD,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE;IACzB,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEL,8DAA8D;AAC9D,IAAI,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC7B,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE;IACxD,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE;IACzB,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEL,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,KAAK,EAAQ,EAAE;IACrC,IAAI,OAAO;QAAE,OAAO;IAEpB,IAAI,GAAG,IAAI,CAAC;IACZ,IAAI,GAAG,IAAI,CAAC;IACZ,KAAK,GAAG,IAAI,CAAC;AACf,CAAC,CAAC;AAEF,eAAe;IACb,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;CACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type AddTargetParamsDTO, type TargetDTO } from '../models';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
addTarget: (id: string, target: AddTargetParamsDTO) => TargetDTO;
|
|
4
|
+
removeTarget: (id: string) => boolean;
|
|
5
|
+
getTarget: (id: string) => TargetDTO | undefined;
|
|
6
|
+
getAllTargetIds: () => string[];
|
|
7
|
+
setParentId: (id: string) => void;
|
|
8
|
+
getParent: () => TargetDTO | undefined;
|
|
9
|
+
getParentId: () => string | undefined;
|
|
10
|
+
setSourceId: (id: string) => void;
|
|
11
|
+
getSourceId: () => string;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const targetMap = {};
|
|
2
|
+
const addTarget = (id, target) => {
|
|
3
|
+
if (id === parentId && targetMap[parentId]) {
|
|
4
|
+
throw new Error('Unable to update target parent');
|
|
5
|
+
}
|
|
6
|
+
targetMap[id] = { ...target, id };
|
|
7
|
+
return targetMap[id];
|
|
8
|
+
};
|
|
9
|
+
const removeTarget = (id) => {
|
|
10
|
+
if (!targetMap[id])
|
|
11
|
+
return false;
|
|
12
|
+
delete targetMap[id];
|
|
13
|
+
return true;
|
|
14
|
+
};
|
|
15
|
+
const getTarget = (id) => targetMap[id];
|
|
16
|
+
const getAllTargetIds = () => Object.keys(targetMap);
|
|
17
|
+
let parentId;
|
|
18
|
+
const setParentId = (id) => {
|
|
19
|
+
parentId = id;
|
|
20
|
+
};
|
|
21
|
+
const getParentId = () => parentId;
|
|
22
|
+
const getParent = () => (parentId ? getTarget(parentId) : undefined);
|
|
23
|
+
let srcId = '';
|
|
24
|
+
const setSourceId = (id) => {
|
|
25
|
+
srcId = id;
|
|
26
|
+
};
|
|
27
|
+
const getSourceId = () => srcId;
|
|
28
|
+
export default {
|
|
29
|
+
addTarget,
|
|
30
|
+
removeTarget,
|
|
31
|
+
getTarget,
|
|
32
|
+
getAllTargetIds,
|
|
33
|
+
setParentId,
|
|
34
|
+
getParent,
|
|
35
|
+
getParentId,
|
|
36
|
+
setSourceId,
|
|
37
|
+
getSourceId
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/target.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAA8B,EAAE,CAAC;AAEhD,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,MAA0B,EAAa,EAAE;IACtE,IAAI,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAW,EAAE;IAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,EAAU,EAAyB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAEvE,MAAM,eAAe,GAAG,GAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAE/D,IAAI,QAA4B,CAAC;AAEjC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAQ,EAAE;IACvC,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAuB,EAAE,CAAC,QAAQ,CAAC;AAEvD,MAAM,SAAS,GAAG,GAA0B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE5F,IAAI,KAAK,GAAG,EAAE,CAAC;AAEf,MAAM,WAAW,GAAG,CAAC,EAAU,EAAQ,EAAE;IACvC,KAAK,GAAG,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,KAAK,CAAC;AAExC,eAAe;IACb,SAAS;IACT,YAAY;IACZ,SAAS;IACT,eAAe;IACf,WAAW;IACX,SAAS;IACT,WAAW;IACX,WAAW;IACX,WAAW;CACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/models/configs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type MessageHandlerConfigDTO } from './configs';
|
|
2
|
+
import { type PlatformMessageBaseDTO } from './messages';
|
|
3
|
+
import { type ActionTypeEnum, type DataTypeMapDTO } from '../actions/base';
|
|
4
|
+
export type MessageHandlerResponseDTO = {
|
|
5
|
+
remove: () => void;
|
|
6
|
+
};
|
|
7
|
+
export type PlatformCustomEventDetailDTO<T> = MessageEvent<PlatformMessageBaseDTO<T>>;
|
|
8
|
+
export type MessageHandlerFn<T> = (event: PlatformCustomEventDetailDTO<T>) => void | Promise<void>;
|
|
9
|
+
export type MessageHandlerDTO<T = unknown> = {
|
|
10
|
+
callback: MessageHandlerFn<T>;
|
|
11
|
+
config: MessageHandlerConfigDTO;
|
|
12
|
+
};
|
|
13
|
+
export type ActionRequestDTO<T extends ActionTypeEnum> = DataTypeMapDTO[T]['request'];
|
|
14
|
+
export type ActionResponseDTO<T extends ActionTypeEnum> = DataTypeMapDTO[T]['response'];
|
|
15
|
+
export type ActionCreatorConfigDTO<T extends ActionTypeEnum> = {
|
|
16
|
+
skipWhen?: (request: ActionRequestDTO<T>, response: ActionResponseDTO<T>) => boolean;
|
|
17
|
+
};
|
|
18
|
+
export type ActionCreatorFn<T extends ActionTypeEnum> = (request: ActionRequestDTO<T>) => Promise<ActionResponseDTO<T>>;
|
|
19
|
+
export type ActionHandlerFn<T extends ActionTypeEnum> = (handler: (request: ActionRequestDTO<T>) => ActionResponseDTO<T> | Promise<ActionResponseDTO<T>>) => MessageHandlerResponseDTO;
|
|
20
|
+
export type StreamActionCreatorFn<T extends ActionTypeEnum> = (request: ActionRequestDTO<T>, handler: (response: ActionResponseDTO<T>) => void) => MessageHandlerResponseDTO;
|
|
21
|
+
export type StreamActionHandlerFn<T extends ActionTypeEnum> = (handler: (request: ActionRequestDTO<T>, resolve: (response: ActionResponseDTO<T>) => void) => void) => MessageHandlerResponseDTO;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/models/handlers.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ActionTypeEnum, type DataTypeMapDTO, InternalActionTypeEnum } from '../actions/base';
|
|
2
|
+
export { ActionTypeEnum, DataTypeMapDTO };
|
|
3
|
+
export declare const ALL_MESSAGE_TYPES: string[];
|
|
4
|
+
export type PublicActionTypeDTO = `${ActionTypeEnum}`;
|
|
5
|
+
export type PublicResponseTypeDTO = `${PublicActionTypeDTO}Response`;
|
|
6
|
+
export type InternalActionTypeDTO = `${InternalActionTypeEnum}`;
|
|
7
|
+
export type InternalResponseTypeDTO = `${InternalActionTypeDTO}Response`;
|
|
8
|
+
export type AllMessageTypeDTO = PublicActionTypeDTO | PublicResponseTypeDTO | InternalActionTypeDTO | InternalResponseTypeDTO;
|
|
9
|
+
export type CompleteDataTypeDTO<T> = T extends ActionTypeEnum | InternalActionTypeEnum ? DataTypeMapDTO[T]['request'] : T extends `${infer U}Response` ? DataTypeMapDTO[Extract<ActionTypeEnum | InternalActionTypeEnum, U>]['response'] : unknown;
|
|
10
|
+
export type PlatformMessageBaseDTO<T> = {
|
|
11
|
+
id: string;
|
|
12
|
+
type: AllMessageTypeDTO;
|
|
13
|
+
target: string;
|
|
14
|
+
src: string;
|
|
15
|
+
data: CompleteDataTypeDTO<T>;
|
|
16
|
+
};
|
|
17
|
+
export type ActionResponseBaseDTO = {
|
|
18
|
+
success: true;
|
|
19
|
+
} | {
|
|
20
|
+
success: false;
|
|
21
|
+
error: string;
|
|
22
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActionTypeEnum, InternalActionTypeEnum } from '../actions/base';
|
|
2
|
+
export { ActionTypeEnum };
|
|
3
|
+
export const ALL_MESSAGE_TYPES = [
|
|
4
|
+
...Object.values(ActionTypeEnum).map((v) => [v, `${v}Response`]),
|
|
5
|
+
...Object.values(InternalActionTypeEnum).map((v) => [v, `${v}Response`])
|
|
6
|
+
].flat();
|
|
7
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/models/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChE,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;CACzE,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/models/target.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
|