@botonic/shared 2.25.0 → 2.27.0
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/CHANGELOG.md +25 -2
- package/package.json +1 -1
- package/src/lib/domain/botonic/index.d.ts +5 -4
- package/src/lib/domain/botonic/index.js +5 -4
- package/src/lib/domain/botonic/index.js.map +1 -1
- package/src/lib/domain/botonic/outputs.d.ts +11 -4
- package/src/lib/domain/botonic/outputs.js +7 -1
- package/src/lib/domain/botonic/outputs.js.map +1 -1
- package/src/lib/domain/botonic/session.d.ts +63 -0
- package/src/lib/domain/botonic/session.js +2 -0
- package/src/lib/domain/botonic/session.js.map +1 -0
- package/src/lib/domain/botonic/settings.d.ts +18 -0
- package/src/lib/domain/botonic/settings.js +2 -0
- package/src/lib/domain/botonic/settings.js.map +1 -0
- package/src/lib/domain/botonic/types.d.ts +8 -3
- package/src/lib/domain/botonic/types.js +8 -1
- package/src/lib/domain/botonic/types.js.map +1 -1
- package/src/lib/domain/botonic/webchat-client-settings.d.ts +22 -0
- package/src/lib/domain/botonic/webchat-client-settings.js +29 -0
- package/src/lib/domain/botonic/webchat-client-settings.js.map +1 -0
- package/src/lib/domain/botonic/webviews-session.d.ts +20 -0
- package/src/lib/domain/botonic/webviews-session.js +2 -0
- package/src/lib/domain/botonic/webviews-session.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/index.d.ts +1 -1
- package/src/lib/domain/index.d.ts +1 -0
- package/src/lib/domain/index.js +2 -0
- package/src/lib/domain/index.js.map +1 -1
- package/src/lib/domain/server/bot-server-message.d.ts +5 -2
- package/src/lib/domain/server/bot-server-message.js +5 -0
- package/src/lib/domain/server/bot-server-message.js.map +1 -1
- package/src/lib/domain/server/botonic-context/botonic-action.d.ts +10 -0
- package/src/lib/domain/server/botonic-context/botonic-action.js +9 -0
- package/src/lib/domain/server/botonic-context/botonic-action.js.map +1 -0
- package/src/lib/domain/server/botonic-context/botonic-context-input.d.ts +8 -11
- package/src/lib/domain/server/botonic-context/botonic-context-input.js +4 -4
- package/src/lib/domain/server/botonic-context/botonic-context-input.js.map +1 -1
- package/src/lib/domain/server/botonic-context/botonic-context-session.d.ts +90 -77
- package/src/lib/domain/server/botonic-context/botonic-context-session.js +193 -105
- package/src/lib/domain/server/botonic-context/botonic-context-session.js.map +1 -1
- package/src/lib/domain/server/botonic-context/botonic-context-settings.d.ts +16 -0
- package/src/lib/domain/server/botonic-context/botonic-context-settings.js +48 -0
- package/src/lib/domain/server/botonic-context/botonic-context-settings.js.map +1 -0
- package/src/lib/domain/server/botonic-context/botonic-context.d.ts +20 -17
- package/src/lib/domain/server/botonic-context/botonic-context.js +24 -5
- package/src/lib/domain/server/botonic-context/botonic-context.js.map +1 -1
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.d.ts +30 -0
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js +80 -0
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js.map +1 -0
- package/src/lib/domain/server/botonic-context/factory.d.ts +18 -12
- package/src/lib/domain/server/botonic-context/factory.js +14 -14
- package/src/lib/domain/server/botonic-context/factory.js.map +1 -1
- package/src/lib/domain/server/botonic-context/index.d.ts +4 -0
- package/src/lib/domain/server/botonic-context/index.js +4 -0
- package/src/lib/domain/server/botonic-context/index.js.map +1 -1
- package/src/lib/domain/server/botonic-context/send-messages-utils.d.ts +3 -0
- package/src/lib/domain/server/botonic-context/send-messages-utils.js +33 -0
- package/src/lib/domain/server/botonic-context/send-messages-utils.js.map +1 -0
- package/src/lib/domain/server/botonic-context/types.d.ts +9 -5
- package/src/lib/domain/server/botonic-context/types.js.map +1 -1
- package/src/lib/domain/server/factory.d.ts +11 -11
- package/src/lib/domain/server/factory.js +31 -8
- package/src/lib/domain/server/factory.js.map +1 -1
- package/src/lib/domain/webchat/factory.d.ts +21 -14
- package/src/lib/domain/webchat/factory.js +17 -8
- package/src/lib/domain/webchat/factory.js.map +1 -1
- package/src/lib/domain/webchat/realtime/factory.js +5 -2
- package/src/lib/domain/webchat/realtime/factory.js.map +1 -1
- package/src/lib/domain/webchat/realtime/realtime-response-message.d.ts +5 -2
- package/src/lib/domain/webchat/realtime/realtime-response-message.js +5 -0
- package/src/lib/domain/webchat/realtime/realtime-response-message.js.map +1 -1
- package/src/lib/domain/webchat/webchat-message.d.ts +4 -1
- package/src/lib/domain/webchat/webchat-message.js +9 -4
- package/src/lib/domain/webchat/webchat-message.js.map +1 -1
- package/src/lib/domain/webviews/botonic-context-webviews.d.ts +71 -0
- package/src/lib/domain/webviews/botonic-context-webviews.js +80 -0
- package/src/lib/domain/webviews/botonic-context-webviews.js.map +1 -0
- package/src/lib/domain/webviews/factory.d.ts +17 -0
- package/src/lib/domain/webviews/factory.js +21 -0
- package/src/lib/domain/webviews/factory.js.map +1 -0
- package/src/lib/domain/webviews/index.d.ts +2 -0
- package/src/lib/domain/webviews/index.js +3 -0
- package/src/lib/domain/webviews/index.js.map +1 -0
- package/src/lib/hubtype-analytics-types.d.ts +2 -2
- package/src/lib/index.d.ts +1 -1
- package/src/lib/index.js +1 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/services/handoff.d.ts +4 -0
- package/src/lib/services/handoff.js +23 -0
- package/src/lib/services/handoff.js.map +1 -0
- package/src/lib/services/hubtype-api-service.d.ts +12 -0
- package/src/lib/services/hubtype-api-service.js +67 -0
- package/src/lib/services/hubtype-api-service.js.map +1 -0
- package/src/lib/services/hubtype-external-api-client.d.ts +21 -0
- package/src/lib/services/hubtype-external-api-client.js +111 -0
- package/src/lib/services/hubtype-external-api-client.js.map +1 -0
- package/src/lib/services/index.d.ts +4 -0
- package/src/lib/services/index.js +5 -0
- package/src/lib/services/index.js.map +1 -0
- package/src/lib/services/webchat-api.d.ts +3 -3
- package/src/lib/domain/botonic/legacy/index.d.ts +0 -2
- package/src/lib/domain/botonic/legacy/index.js +0 -3
- package/src/lib/domain/botonic/legacy/index.js.map +0 -1
- package/src/lib/domain/botonic/legacy/input-adapter.d.ts +0 -25
- package/src/lib/domain/botonic/legacy/input-adapter.js +0 -203
- package/src/lib/domain/botonic/legacy/input-adapter.js.map +0 -1
- package/src/lib/domain/botonic/legacy/types.d.ts +0 -32
- package/src/lib/domain/botonic/legacy/types.js +0 -2
- package/src/lib/domain/botonic/legacy/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botonic-context-session.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-context-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"botonic-context-session.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-context-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BotonicSecrets, BotonicSettings } from '../../botonic/settings';
|
|
2
|
+
export declare class BotonicContextSettings {
|
|
3
|
+
private readonly rawSettings;
|
|
4
|
+
constructor(rawSettings: BotonicSettings);
|
|
5
|
+
get raw(): BotonicSettings;
|
|
6
|
+
get hubtypeApiUrl(): string;
|
|
7
|
+
get staticUrl(): string | undefined;
|
|
8
|
+
get allSettings(): BotonicSettings;
|
|
9
|
+
}
|
|
10
|
+
export declare class BotonicContextSecrets {
|
|
11
|
+
private readonly rawSecrets;
|
|
12
|
+
constructor(rawSecrets: BotonicSecrets);
|
|
13
|
+
get raw(): BotonicSecrets;
|
|
14
|
+
get hubtypeAccessToken(): string;
|
|
15
|
+
get allSecrets(): BotonicSecrets;
|
|
16
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export class BotonicContextSettings {
|
|
2
|
+
constructor(rawSettings) {
|
|
3
|
+
this.rawSettings = rawSettings;
|
|
4
|
+
}
|
|
5
|
+
get raw() {
|
|
6
|
+
return this.rawSettings;
|
|
7
|
+
}
|
|
8
|
+
get hubtypeApiUrl() {
|
|
9
|
+
return this.rawSettings.HUBTYPE_API_URL;
|
|
10
|
+
}
|
|
11
|
+
get staticUrl() {
|
|
12
|
+
return this.rawSettings.STATIC_URL;
|
|
13
|
+
}
|
|
14
|
+
// TODO: Implement the rest getters when needed
|
|
15
|
+
get allSettings() {
|
|
16
|
+
return {
|
|
17
|
+
HUBTYPE_API_URL: this.rawSettings.HUBTYPE_API_URL,
|
|
18
|
+
FLOW_BUILDER_API_URL: this.rawSettings.FLOW_BUILDER_API_URL,
|
|
19
|
+
STATIC_URL: this.rawSettings.STATIC_URL,
|
|
20
|
+
LITELLM_API_URL: this.rawSettings.LITELLM_API_URL,
|
|
21
|
+
AZURE_OPENAI_API_BASE: this.rawSettings.AZURE_OPENAI_API_BASE,
|
|
22
|
+
AZURE_OPENAI_API_VERSION: this.rawSettings.AZURE_OPENAI_API_VERSION,
|
|
23
|
+
CUSTOM_SHORT_URL_HOST: this.rawSettings.CUSTOM_SHORT_URL_HOST,
|
|
24
|
+
custom: this.rawSettings.custom,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class BotonicContextSecrets {
|
|
29
|
+
constructor(rawSecrets) {
|
|
30
|
+
this.rawSecrets = rawSecrets;
|
|
31
|
+
}
|
|
32
|
+
get raw() {
|
|
33
|
+
return this.rawSecrets;
|
|
34
|
+
}
|
|
35
|
+
get hubtypeAccessToken() {
|
|
36
|
+
return this.rawSecrets.HUBTYPE_ACCESS_TOKEN;
|
|
37
|
+
}
|
|
38
|
+
// TODO: Implement the rest getters when needed
|
|
39
|
+
get allSecrets() {
|
|
40
|
+
return {
|
|
41
|
+
HUBTYPE_ACCESS_TOKEN: this.rawSecrets.HUBTYPE_ACCESS_TOKEN,
|
|
42
|
+
LITELLM_API_KEY: this.rawSecrets.LITELLM_API_KEY,
|
|
43
|
+
AZURE_OPENAI_API_KEY: this.rawSecrets.AZURE_OPENAI_API_KEY,
|
|
44
|
+
custom: this.rawSecrets.custom,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=botonic-context-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"botonic-context-settings.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-context-settings.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAsB;IACjC,YAA6B,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAE7D,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAA;IACpC,CAAC;IAED,+CAA+C;IAE/C,IAAI,WAAW;QACb,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;YACjD,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB;YAC3D,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU;YACvC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;YACjD,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;YAC7D,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB;YACnE,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;YAC7D,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;SAChC,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,YAA6B,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;IAAG,CAAC;IAE3D,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAA;IAC7C,CAAC;IAED,+CAA+C;IAE/C,IAAI,UAAU;QACZ,OAAO;YACL,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB;YAC1D,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;YAChD,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB;YAC1D,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import type { HubtypeApiService } from '../../../services/hubtype-api-service';
|
|
2
|
+
import type { UserExtraData } from '../../botonic/session';
|
|
1
3
|
import { BotServerMessage } from '../bot-server-message';
|
|
2
4
|
import { BotonicContextInput } from './botonic-context-input';
|
|
3
|
-
import { BotonicContextSession, BotonicSessionUpdate
|
|
4
|
-
import type {
|
|
5
|
+
import type { BotonicContextSession, BotonicSessionUpdate } from './botonic-context-session';
|
|
6
|
+
import type { BotonicContextSecrets, BotonicContextSettings } from './botonic-context-settings';
|
|
7
|
+
import type { ActionResponse, ResolvedPlugins, SendMessagesOptions, TypingMode } from './types';
|
|
5
8
|
/** Result of creating input/session from raw lambda request (used by BotonicContextFactory). */
|
|
6
|
-
export interface
|
|
9
|
+
export interface BotonicContextType<TExtraData extends UserExtraData = UserExtraData> {
|
|
7
10
|
input: BotonicContextInput;
|
|
8
11
|
session: BotonicContextSession<TExtraData>;
|
|
12
|
+
settings: BotonicContextSettings;
|
|
13
|
+
secrets: BotonicContextSecrets;
|
|
9
14
|
}
|
|
10
15
|
/** Options for handoff to human agent. */
|
|
11
16
|
export interface HandoffOptions {
|
|
@@ -28,29 +33,27 @@ export interface HandoffOptions {
|
|
|
28
33
|
};
|
|
29
34
|
subscribe_helpdesk_events?: string[];
|
|
30
35
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Abstraction for Hubtype API operations. Core implements this via HubtypeExternalAPIService.
|
|
33
|
-
* Injected into BotonicContextFactory so context creation lives in shared.
|
|
34
|
-
*/
|
|
35
|
-
export interface HubtypeServicePort {
|
|
36
|
-
sendMessage(botContext: BotContext, message: BotServerMessage): Promise<unknown>;
|
|
37
|
-
doHandoff(botContext: BotContext, handoffOptions?: HandoffOptions): Promise<unknown>;
|
|
38
|
-
getBotSession(botContext: BotContext): Promise<unknown>;
|
|
39
|
-
updateBotSession<TExtraData extends UserExtraData = UserExtraData>(botContext: BotContext<ResolvedPlugins, TExtraData>, updates: BotonicSessionUpdate<TExtraData>): Promise<void>;
|
|
40
|
-
}
|
|
41
36
|
/** Full execution context with input, session, and hubtype service methods. */
|
|
42
|
-
export declare class
|
|
37
|
+
export declare class BotonicContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> implements BotonicContextType<TExtraData> {
|
|
43
38
|
private readonly hubtypeService;
|
|
44
39
|
input: BotonicContextInput;
|
|
45
40
|
session: BotonicContextSession<TExtraData>;
|
|
41
|
+
readonly settings: BotonicContextSettings;
|
|
42
|
+
readonly secrets: BotonicContextSecrets;
|
|
46
43
|
defaultDelay: number;
|
|
47
44
|
defaultTyping: number;
|
|
45
|
+
defaultTypingMode: TypingMode;
|
|
48
46
|
params: Record<string, string>;
|
|
49
47
|
plugins: TPlugins;
|
|
50
48
|
response?: ActionResponse;
|
|
51
|
-
constructor(hubtypeService:
|
|
52
|
-
|
|
49
|
+
constructor(hubtypeService: HubtypeApiService, base: BotonicContextType<TExtraData>, plugins: TPlugins, defaultTyping: number, defaultDelay: number, defaultTypingMode: TypingMode, response?: ActionResponse);
|
|
50
|
+
/**
|
|
51
|
+
* Session user setters notify via sync callback; `updateBotSession` is async.
|
|
52
|
+
* Attach `.catch` so fetch/network failures are logged instead of unhandled rejections.
|
|
53
|
+
*/
|
|
54
|
+
private bindSessionUpdateCallback;
|
|
55
|
+
sendMessages: (messages: BotServerMessage[], options?: SendMessagesOptions) => Promise<unknown>;
|
|
53
56
|
doHandoff: (handoffOptions?: HandoffOptions) => Promise<unknown>;
|
|
54
|
-
getBotSession: () => Promise<
|
|
57
|
+
getBotSession: () => Promise<import("../..").BotonicSession<UserExtraData>>;
|
|
55
58
|
updateBotSession: (updates: BotonicSessionUpdate<TExtraData>) => Promise<void>;
|
|
56
59
|
}
|
|
@@ -1,23 +1,42 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { injectTypingEvents } from './send-messages-utils';
|
|
2
3
|
/** Full execution context with input, session, and hubtype service methods. */
|
|
3
|
-
export class
|
|
4
|
-
constructor(hubtypeService, base, plugins, defaultTyping, defaultDelay, response) {
|
|
4
|
+
export class BotonicContext {
|
|
5
|
+
constructor(hubtypeService, base, plugins, defaultTyping, defaultDelay, defaultTypingMode, response) {
|
|
5
6
|
this.hubtypeService = hubtypeService;
|
|
6
|
-
this.
|
|
7
|
+
this.sendMessages = (messages, options) => __awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
var _a;
|
|
9
|
+
const typingMode = (_a = options === null || options === void 0 ? void 0 : options.typingMode) !== null && _a !== void 0 ? _a : this.defaultTypingMode;
|
|
10
|
+
return this.hubtypeService.sendMessages(this, injectTypingEvents(messages, typingMode));
|
|
11
|
+
});
|
|
7
12
|
this.doHandoff = (handoffOptions) => __awaiter(this, void 0, void 0, function* () { return this.hubtypeService.doHandoff(this, handoffOptions); });
|
|
8
13
|
this.getBotSession = () => __awaiter(this, void 0, void 0, function* () { return this.hubtypeService.getBotSession(this); });
|
|
9
14
|
this.updateBotSession = (updates) => __awaiter(this, void 0, void 0, function* () {
|
|
10
15
|
yield this.hubtypeService.updateBotSession(this, updates);
|
|
11
|
-
this.
|
|
16
|
+
this.bindSessionUpdateCallback();
|
|
12
17
|
});
|
|
13
18
|
this.input = base.input;
|
|
14
19
|
this.session = base.session;
|
|
20
|
+
this.settings = base.settings;
|
|
21
|
+
this.secrets = base.secrets;
|
|
15
22
|
this.params = {};
|
|
16
23
|
this.plugins = plugins;
|
|
17
24
|
this.defaultTyping = defaultTyping;
|
|
18
25
|
this.defaultDelay = defaultDelay;
|
|
26
|
+
this.defaultTypingMode = defaultTypingMode;
|
|
19
27
|
this.response = response;
|
|
20
|
-
this.
|
|
28
|
+
this.bindSessionUpdateCallback();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Session user setters notify via sync callback; `updateBotSession` is async.
|
|
32
|
+
* Attach `.catch` so fetch/network failures are logged instead of unhandled rejections.
|
|
33
|
+
*/
|
|
34
|
+
bindSessionUpdateCallback() {
|
|
35
|
+
this.session.setOnUpdate(u => {
|
|
36
|
+
void this.updateBotSession(u).catch((err) => {
|
|
37
|
+
console.error('[BotonicContext] updateBotSession failed (session sync)', err);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
21
40
|
}
|
|
22
41
|
}
|
|
23
42
|
//# sourceMappingURL=botonic-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botonic-context.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-context.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"botonic-context.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-context.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAwC1D,+EAA+E;AAC/E,MAAM,OAAO,cAAc;IAezB,YACmB,cAAiC,EAClD,IAAoC,EACpC,OAAiB,EACjB,aAAqB,EACrB,YAAoB,EACpB,iBAA6B,EAC7B,QAAyB;QANR,mBAAc,GAAd,cAAc,CAAmB;QAoCpD,iBAAY,GAAG,CACb,QAA4B,EAC5B,OAA6B,EAC7B,EAAE;;YACF,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,IAAI,CAAC,iBAAiB,CAAA;YAChE,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CACrC,IAAI,EACJ,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CACzC,CAAA;QACH,CAAC,CAAA,CAAA;QACD,cAAS,GAAG,CAAO,cAA+B,EAAE,EAAE,gDACpD,OAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA,GAAA,CAAA;QACrD,kBAAa,GAAG,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA,GAAA,CAAA;QACnE,qBAAgB,GAAG,CAAO,OAAyC,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACzD,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAClC,CAAC,CAAA,CAAA;QA5CC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC3B,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACnD,OAAO,CAAC,KAAK,CACX,yDAAyD,EACzD,GAAG,CACJ,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAmBF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2 `PATCH …/session/` success body: stored slice only (not full BotonicSessionBuilder JSON).
|
|
3
|
+
* @see openspec/specs/BE-botonic-v2-botonic-session-endpoints/spec.md
|
|
4
|
+
*/
|
|
5
|
+
import type { BotonicSession, BotonicSessionUser, UserExtraData } from '../../botonic/session';
|
|
6
|
+
import { WebchatClientSettings } from '../../botonic/webchat-client-settings';
|
|
7
|
+
export interface BotonicSessionPatchSlice {
|
|
8
|
+
shadowing?: boolean;
|
|
9
|
+
flow_thread_id?: string;
|
|
10
|
+
is_first_interaction?: boolean;
|
|
11
|
+
custom?: Record<string, any>;
|
|
12
|
+
webviews_custom?: Record<string, any>;
|
|
13
|
+
webchat_client_settings?: WebchatClientSettings;
|
|
14
|
+
/** Flow Builder capture node id (`null` clears). */
|
|
15
|
+
capture_user_input_node_id?: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Mutates `session` with fields from the PATCH session response (slice), deep-merging object fields
|
|
19
|
+
* to mirror server `deep_merge` behavior for nested dicts.
|
|
20
|
+
*/
|
|
21
|
+
export declare function mergeBotonicSessionPatchSlice<TExtraData extends UserExtraData = UserExtraData>(session: BotonicSession<TExtraData>, slice: BotonicSessionPatchSlice): void;
|
|
22
|
+
/** `PATCH …/users/<user_id>/` 200 body (echo slice). */
|
|
23
|
+
export interface ChatUserPatchResponse {
|
|
24
|
+
override_name?: string;
|
|
25
|
+
locale?: string;
|
|
26
|
+
country?: string;
|
|
27
|
+
system_locale?: string;
|
|
28
|
+
extra_data?: UserExtraData;
|
|
29
|
+
}
|
|
30
|
+
export declare function mergeChatUserPatchResponseIntoSessionUser<TExtraData extends UserExtraData = UserExtraData>(user: BotonicSessionUser<TExtraData>, response: ChatUserPatchResponse): void;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2 `PATCH …/session/` success body: stored slice only (not full BotonicSessionBuilder JSON).
|
|
3
|
+
* @see openspec/specs/BE-botonic-v2-botonic-session-endpoints/spec.md
|
|
4
|
+
*/
|
|
5
|
+
import { mergeWebchatClientSettings, WebchatClientSettings, } from '../../botonic/webchat-client-settings';
|
|
6
|
+
function isPlainObject(v) {
|
|
7
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
8
|
+
}
|
|
9
|
+
function deepMergeRecords(target, patch) {
|
|
10
|
+
const merged = Object.assign({}, target);
|
|
11
|
+
for (const [key, patchValue] of Object.entries(patch)) {
|
|
12
|
+
const targetValue = merged[key];
|
|
13
|
+
if (isPlainObject(patchValue) && isPlainObject(targetValue)) {
|
|
14
|
+
merged[key] = deepMergeRecords(targetValue, patchValue);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
merged[key] = patchValue;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return merged;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Mutates `session` with fields from the PATCH session response (slice), deep-merging object fields
|
|
24
|
+
* to mirror server `deep_merge` behavior for nested dicts.
|
|
25
|
+
*/
|
|
26
|
+
export function mergeBotonicSessionPatchSlice(session, slice) {
|
|
27
|
+
var _a, _b, _c;
|
|
28
|
+
if (slice.shadowing !== undefined)
|
|
29
|
+
session.shadowing = slice.shadowing;
|
|
30
|
+
if (slice.flow_thread_id !== undefined)
|
|
31
|
+
session.flow_thread_id = slice.flow_thread_id;
|
|
32
|
+
if (slice.is_first_interaction !== undefined) {
|
|
33
|
+
session.is_first_interaction = slice.is_first_interaction;
|
|
34
|
+
}
|
|
35
|
+
if (slice.custom !== undefined) {
|
|
36
|
+
session.custom = deepMergeRecords(((_a = session.custom) !== null && _a !== void 0 ? _a : {}), slice.custom);
|
|
37
|
+
}
|
|
38
|
+
if (slice.webviews_custom !== undefined) {
|
|
39
|
+
session.webviews_custom = deepMergeRecords(((_b = session.webviews_custom) !== null && _b !== void 0 ? _b : {}), slice.webviews_custom);
|
|
40
|
+
}
|
|
41
|
+
if (slice.webchat_client_settings !== undefined) {
|
|
42
|
+
const current = (_c = session.webchat_client_settings) !== null && _c !== void 0 ? _c : new WebchatClientSettings();
|
|
43
|
+
const incoming = slice.webchat_client_settings instanceof WebchatClientSettings
|
|
44
|
+
? slice.webchat_client_settings
|
|
45
|
+
: new WebchatClientSettings(slice.webchat_client_settings);
|
|
46
|
+
session.webchat_client_settings = mergeWebchatClientSettings(current, incoming);
|
|
47
|
+
}
|
|
48
|
+
if (slice.capture_user_input_node_id !== undefined) {
|
|
49
|
+
const id = slice.capture_user_input_node_id;
|
|
50
|
+
if (id === null || id === '') {
|
|
51
|
+
delete session.capture_user_input_node_id;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
session.capture_user_input_node_id = id;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function mergeChatUserPatchResponseIntoSessionUser(user, response) {
|
|
59
|
+
if (response.override_name !== undefined) {
|
|
60
|
+
user.override_name = response.override_name;
|
|
61
|
+
}
|
|
62
|
+
if (response.locale !== undefined) {
|
|
63
|
+
user.locale = response.locale;
|
|
64
|
+
}
|
|
65
|
+
if (response.country !== undefined) {
|
|
66
|
+
user.country = response.country;
|
|
67
|
+
}
|
|
68
|
+
if (response.system_locale !== undefined) {
|
|
69
|
+
user.system_locale = response.system_locale;
|
|
70
|
+
}
|
|
71
|
+
if (response.extra_data !== undefined) {
|
|
72
|
+
if (response.extra_data === null) {
|
|
73
|
+
user.extra_data = undefined;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
user.extra_data = response.extra_data;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=botonic-session-patch-slice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"botonic-session-patch-slice.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-session-patch-slice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
|
|
1
|
+
import type { HubtypeApiService } from '../../../services/hubtype-api-service';
|
|
2
|
+
import type { BotonicSession, UserExtraData } from '../../botonic/session';
|
|
3
|
+
import type { BotonicSecrets, BotonicSettings } from '../../botonic/settings';
|
|
4
|
+
import type { BotonicContextType } from './botonic-context';
|
|
5
|
+
import { BotonicContext } from './botonic-context';
|
|
6
|
+
import type { BotonicRequestInput } from './botonic-context-input';
|
|
7
|
+
import type { ResolvedPlugins, TypingMode } from './types';
|
|
8
|
+
/** Bot request after parsing the Hubtype v2 Lambda event (typed input + session + settings + secrets). */
|
|
6
9
|
export interface BotonicRequest<TExtraData extends UserExtraData = UserExtraData> {
|
|
7
10
|
input: BotonicRequestInput;
|
|
8
|
-
session:
|
|
11
|
+
session: BotonicSession<TExtraData>;
|
|
12
|
+
settings: BotonicSettings;
|
|
13
|
+
secrets: BotonicSecrets;
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
|
-
* Factory that creates
|
|
12
|
-
* Injects hubtypeService so the context has working
|
|
16
|
+
* Factory that creates BotonicContext from raw lambda request.
|
|
17
|
+
* Injects hubtypeService so the context has working sendMessages, doHandoff, etc.
|
|
13
18
|
*/
|
|
14
19
|
export declare class BotonicContextFactory<TPlugins extends ResolvedPlugins = ResolvedPlugins> {
|
|
15
20
|
private readonly hubtypeService;
|
|
16
21
|
private readonly plugins;
|
|
17
22
|
private readonly defaultTyping;
|
|
18
23
|
private readonly defaultDelay;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
private readonly defaultTypingMode;
|
|
25
|
+
constructor(hubtypeService: HubtypeApiService, plugins: TPlugins, defaultTyping: number, defaultDelay: number, defaultTypingMode?: TypingMode);
|
|
26
|
+
/** Creates input, session, settings, and secrets from a {@link BotonicRequest}. */
|
|
27
|
+
static from<TExtraData extends UserExtraData = UserExtraData>(raw: BotonicRequest<TExtraData>): BotonicContextType<TExtraData>;
|
|
28
|
+
create<TExtraData extends UserExtraData = UserExtraData>(raw: BotonicRequest<TExtraData>): BotonicContext<TPlugins, TExtraData>;
|
|
23
29
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { BotonicContext } from './botonic-context';
|
|
2
|
+
import { BotonicContextInput } from './botonic-context-input';
|
|
3
|
+
import { BotonicContextSession } from './botonic-context-session';
|
|
4
|
+
import { BotonicContextSecrets, BotonicContextSettings, } from './botonic-context-settings';
|
|
5
5
|
/**
|
|
6
|
-
* Factory that creates
|
|
7
|
-
* Injects hubtypeService so the context has working
|
|
6
|
+
* Factory that creates BotonicContext from raw lambda request.
|
|
7
|
+
* Injects hubtypeService so the context has working sendMessages, doHandoff, etc.
|
|
8
8
|
*/
|
|
9
9
|
export class BotonicContextFactory {
|
|
10
|
-
constructor(hubtypeService, plugins, defaultTyping, defaultDelay) {
|
|
10
|
+
constructor(hubtypeService, plugins, defaultTyping, defaultDelay, defaultTypingMode = 'inBetweenTyping') {
|
|
11
11
|
this.hubtypeService = hubtypeService;
|
|
12
12
|
this.plugins = plugins;
|
|
13
13
|
this.defaultTyping = defaultTyping;
|
|
14
14
|
this.defaultDelay = defaultDelay;
|
|
15
|
+
this.defaultTypingMode = defaultTypingMode;
|
|
15
16
|
}
|
|
16
|
-
/** Creates input
|
|
17
|
+
/** Creates input, session, settings, and secrets from a {@link BotonicRequest}. */
|
|
17
18
|
static from(raw) {
|
|
18
|
-
const normalizedInput = normalizeToV2Input(raw.input);
|
|
19
|
-
const input = new BotonicContextInput(normalizedInput);
|
|
20
|
-
const session = new BotonicContextSession(raw.session);
|
|
21
19
|
return {
|
|
22
|
-
input,
|
|
23
|
-
session,
|
|
20
|
+
input: new BotonicContextInput(raw.input),
|
|
21
|
+
session: new BotonicContextSession(raw.session),
|
|
22
|
+
settings: new BotonicContextSettings(raw.settings),
|
|
23
|
+
secrets: new BotonicContextSecrets(raw.secrets),
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
create(raw) {
|
|
27
27
|
const base = BotonicContextFactory.from(raw);
|
|
28
|
-
return new
|
|
28
|
+
return new BotonicContext(this.hubtypeService, base, this.plugins, this.defaultTyping, this.defaultDelay, this.defaultTypingMode);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AAanC;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAGhC,YACmB,cAAiC,EACjC,OAAiB,EACjB,aAAqB,EACrB,YAAoB,EACpB,oBAAgC,iBAAiB;QAJjD,mBAAc,GAAd,cAAc,CAAmB;QACjC,YAAO,GAAP,OAAO,CAAU;QACjB,kBAAa,GAAb,aAAa,CAAQ;QACrB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,sBAAiB,GAAjB,iBAAiB,CAAgC;IACjE,CAAC;IAEJ,mFAAmF;IACnF,MAAM,CAAC,IAAI,CACT,GAA+B;QAE/B,OAAO;YACL,KAAK,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,IAAI,qBAAqB,CAAa,GAAG,CAAC,OAAO,CAAC;YAC3D,QAAQ,EAAE,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClD,OAAO,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC;SAChD,CAAA;IACH,CAAC;IAED,MAAM,CACJ,GAA+B;QAE/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,OAAO,IAAI,cAAc,CACvB,IAAI,CAAC,cAAc,EACnB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,iBAAiB,CACvB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
export * from './botonic-action';
|
|
1
2
|
export * from './botonic-context';
|
|
2
3
|
export * from './botonic-context-input';
|
|
3
4
|
export * from './botonic-context-session';
|
|
5
|
+
export * from './botonic-context-settings';
|
|
6
|
+
export * from './botonic-session-patch-slice';
|
|
4
7
|
export * from './factory';
|
|
8
|
+
export * from './send-messages-utils';
|
|
5
9
|
export * from './types';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
export * from './botonic-action';
|
|
1
2
|
export * from './botonic-context';
|
|
2
3
|
export * from './botonic-context-input';
|
|
3
4
|
export * from './botonic-context-session';
|
|
5
|
+
export * from './botonic-context-settings';
|
|
6
|
+
export * from './botonic-session-patch-slice';
|
|
4
7
|
export * from './factory';
|
|
8
|
+
export * from './send-messages-utils';
|
|
5
9
|
export * from './types';
|
|
6
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TypingEventName } from '../../botonic/types';
|
|
2
|
+
import { BotServerMessageFactory } from '../factory';
|
|
3
|
+
const DEFAULT_TYPING_DELAY = 1;
|
|
4
|
+
function typingEvent() {
|
|
5
|
+
return BotServerMessageFactory.createTypingEvent({
|
|
6
|
+
eventName: TypingEventName.TypingOn,
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function withDefaultDelay(msg) {
|
|
10
|
+
if (msg.delay !== undefined)
|
|
11
|
+
return msg;
|
|
12
|
+
const clone = Object.create(Object.getPrototypeOf(msg));
|
|
13
|
+
return Object.assign(clone, msg, { delay: DEFAULT_TYPING_DELAY });
|
|
14
|
+
}
|
|
15
|
+
export function injectTypingEvents(messages, mode) {
|
|
16
|
+
if (!mode || messages.length === 0)
|
|
17
|
+
return messages;
|
|
18
|
+
if (mode === 'onlyFirst') {
|
|
19
|
+
const [first, ...rest] = messages;
|
|
20
|
+
return [typingEvent(), withDefaultDelay(first), ...rest];
|
|
21
|
+
}
|
|
22
|
+
return messages.reduce((acc, msg, index) => {
|
|
23
|
+
if (index > 0) {
|
|
24
|
+
acc.push(typingEvent());
|
|
25
|
+
acc.push(withDefaultDelay(msg));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
acc.push(msg);
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
}, []);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=send-messages-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-messages-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/send-messages-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGpD,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAE9B,SAAS,WAAW;IAClB,OAAO,uBAAuB,CAAC,iBAAiB,CAAC;QAC/C,SAAS,EAAE,eAAe,CAAC,QAAQ;KACpC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CAA6B,GAAM;IAC1D,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAM,CAAA;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,IAAoC;IAEpC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAEnD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAA;QACjC,OAAO,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YACvB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BotonicContext } from './botonic-context';
|
|
2
|
+
export type TypingMode = 'onlyFirst' | 'inBetweenTyping';
|
|
3
|
+
export interface SendMessagesOptions {
|
|
4
|
+
typingMode?: TypingMode | false;
|
|
5
|
+
}
|
|
2
6
|
export interface ActionResponse {
|
|
3
7
|
status: number;
|
|
4
8
|
response: string;
|
|
5
9
|
}
|
|
6
|
-
export type Action = (botonicContext:
|
|
10
|
+
export type Action = (botonicContext: BotonicContext) => Promise<ActionResponse>;
|
|
7
11
|
export interface Plugin {
|
|
8
|
-
pre?(request:
|
|
9
|
-
post?(request:
|
|
12
|
+
pre?(request: BotonicContext): void | Promise<void>;
|
|
13
|
+
post?(request: BotonicContext): void | Promise<void>;
|
|
10
14
|
}
|
|
11
15
|
export type ResolvedPlugins = Record<string, Plugin>;
|
|
12
16
|
export interface RunPluginArgs {
|
|
13
|
-
|
|
17
|
+
botonicContext: BotonicContext;
|
|
14
18
|
mode: PluginMode;
|
|
15
19
|
response?: ActionResponse;
|
|
16
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/types.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BotMessageMetadata, BotonicButtonContent, BotonicCarouselElement, TypingEventName, WhatsappButtonListSection, WhatsappHeaderType, WhatsappMediaCarouselCard, WhatsappProductCarouselCard, WhatsappProductListSection, WhatsappTemplateComponent } from '../botonic';
|
|
2
|
-
import { BotServerMessageAudio, BotServerMessageButtonMessage, BotServerMessageCarousel, BotServerMessageCustom, BotServerMessageDocument, BotServerMessageImage, BotServerMessageLocation, BotServerMessageText, BotServerMessageTypingEvent, BotServerMessageVideo, BotServerMessageWhatsappButtonList, BotServerMessageWhatsappCatalog, BotServerMessageWhatsappCTAUrlButton, BotServerMessageWhatsappMediaCarousel, BotServerMessageWhatsappProduct, BotServerMessageWhatsappProductCarousel, BotServerMessageWhatsappProductList, BotServerMessageWhatsappTemplate } from './bot-server-message';
|
|
1
|
+
import { BotMessageMetadata, BotonicButtonContent, BotonicCarouselElement, TypingEventName, WebchatClientSettings, WhatsappButtonListSection, WhatsappHeaderType, WhatsappMediaCarouselCard, WhatsappProductCarouselCard, WhatsappProductListSection, WhatsappTemplateComponent } from '../botonic';
|
|
2
|
+
import { BotServerMessageAudio, BotServerMessageButtonMessage, BotServerMessageCarousel, BotServerMessageCustom, BotServerMessageDocument, BotServerMessageImage, BotServerMessageLocation, BotServerMessageText, BotServerMessageTypingEvent, BotServerMessageVideo, BotServerMessageWebchatClientSettings, BotServerMessageWhatsappButtonList, BotServerMessageWhatsappCatalog, BotServerMessageWhatsappCTAUrlButton, BotServerMessageWhatsappMediaCarousel, BotServerMessageWhatsappProduct, BotServerMessageWhatsappProductCarousel, BotServerMessageWhatsappProductList, BotServerMessageWhatsappTemplate } from './bot-server-message';
|
|
3
|
+
import { BotonicContext } from './botonic-context';
|
|
3
4
|
interface WebviewButtonParams {
|
|
4
5
|
title: string;
|
|
5
6
|
webview: string;
|
|
@@ -65,6 +66,11 @@ export declare class BotServerMessageFactory {
|
|
|
65
66
|
eventName: TypingEventName;
|
|
66
67
|
metadata?: BotMessageMetadata;
|
|
67
68
|
}): BotServerMessageTypingEvent;
|
|
69
|
+
/** Payload type `webchat_client_settings` for Hubtype `send_messages` (v2 bots). */
|
|
70
|
+
static createWebchatClientSettings({ settings, metadata, }: {
|
|
71
|
+
settings: Partial<WebchatClientSettings> | WebchatClientSettings;
|
|
72
|
+
metadata?: BotMessageMetadata;
|
|
73
|
+
}): BotServerMessageWebchatClientSettings;
|
|
68
74
|
/**
|
|
69
75
|
* Creates a postback button that sends a payload when clicked
|
|
70
76
|
*/
|
|
@@ -80,16 +86,10 @@ export declare class BotServerMessageFactory {
|
|
|
80
86
|
url: string;
|
|
81
87
|
}): BotonicButtonContent;
|
|
82
88
|
/**
|
|
83
|
-
* Creates a webview button that opens a URL in a webview
|
|
89
|
+
* Creates a webview button that opens a URL in a webview.
|
|
90
|
+
* Uses `settings.STATIC_URL` (Lambda settings), not `process.env`.
|
|
84
91
|
*/
|
|
85
|
-
static createWebviewButton(webviewButtonParams: WebviewButtonParams,
|
|
86
|
-
user: {
|
|
87
|
-
id: string;
|
|
88
|
-
};
|
|
89
|
-
bot: {
|
|
90
|
-
id: string;
|
|
91
|
-
};
|
|
92
|
-
}): BotonicButtonContent;
|
|
92
|
+
static createWebviewButton(webviewButtonParams: WebviewButtonParams, botonicContext: BotonicContext): BotonicButtonContent;
|
|
93
93
|
/**
|
|
94
94
|
* Helper method to create a carousel element
|
|
95
95
|
* This simplifies carousel element creation
|