@botonic/core 2.27.0 → 2.28.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +7 -2
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +2 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/actions/update-webchat-client-settings.d.ts +1 -1
  7. package/src/lib/actions/update-webchat-client-settings.js +2 -1
  8. package/src/lib/actions/update-webchat-client-settings.js.map +1 -1
  9. package/src/lib/core-bot/index.d.ts +2 -1
  10. package/src/lib/core-bot/index.js +3 -1
  11. package/src/lib/core-bot/index.js.map +1 -1
  12. package/src/lib/plugins/index.d.ts +1 -1
  13. package/src/lib/plugins/index.js +1 -1
  14. package/src/lib/plugins/index.js.map +1 -1
  15. package/src/lib/routes/router.d.ts +1 -1
  16. package/src/lib/routes/types.d.ts +1 -1
  17. package/src/lib/server/bot-server-message.d.ts +71 -0
  18. package/src/lib/server/bot-server-message.js +111 -0
  19. package/src/lib/server/bot-server-message.js.map +1 -0
  20. package/src/lib/server/botonic-context/botonic-action.d.ts +10 -0
  21. package/src/lib/server/botonic-context/botonic-action.js +9 -0
  22. package/src/lib/server/botonic-context/botonic-action.js.map +1 -0
  23. package/src/lib/server/botonic-context/botonic-context-input.d.ts +96 -0
  24. package/src/lib/server/botonic-context/botonic-context-input.js +124 -0
  25. package/src/lib/server/botonic-context/botonic-context-input.js.map +1 -0
  26. package/src/lib/server/botonic-context/botonic-context-session.d.ts +159 -0
  27. package/src/lib/server/botonic-context/botonic-context-session.js +297 -0
  28. package/src/lib/server/botonic-context/botonic-context-session.js.map +1 -0
  29. package/src/lib/server/botonic-context/botonic-context-settings.d.ts +16 -0
  30. package/src/lib/server/botonic-context/botonic-context-settings.js +48 -0
  31. package/src/lib/server/botonic-context/botonic-context-settings.js.map +1 -0
  32. package/src/lib/server/botonic-context/botonic-context.d.ts +59 -0
  33. package/src/lib/server/botonic-context/botonic-context.js +42 -0
  34. package/src/lib/server/botonic-context/botonic-context.js.map +1 -0
  35. package/src/lib/server/botonic-context/botonic-session-patch-slice.d.ts +30 -0
  36. package/src/lib/server/botonic-context/botonic-session-patch-slice.js +80 -0
  37. package/src/lib/server/botonic-context/botonic-session-patch-slice.js.map +1 -0
  38. package/src/lib/server/botonic-context/factory.d.ts +29 -0
  39. package/src/lib/server/botonic-context/factory.js +31 -0
  40. package/src/lib/server/botonic-context/factory.js.map +1 -0
  41. package/src/lib/server/botonic-context/index.d.ts +9 -0
  42. package/src/lib/server/botonic-context/index.js +10 -0
  43. package/src/lib/server/botonic-context/index.js.map +1 -0
  44. package/src/lib/server/botonic-context/send-messages-utils.d.ts +3 -0
  45. package/src/lib/server/botonic-context/send-messages-utils.js +33 -0
  46. package/src/lib/server/botonic-context/send-messages-utils.js.map +1 -0
  47. package/src/lib/server/botonic-context/types.d.ts +24 -0
  48. package/src/lib/server/botonic-context/types.js +6 -0
  49. package/src/lib/server/botonic-context/types.js.map +1 -0
  50. package/src/lib/server/factory.d.ts +169 -0
  51. package/src/lib/server/factory.js +192 -0
  52. package/src/lib/server/factory.js.map +1 -0
  53. package/src/lib/server/index.d.ts +3 -0
  54. package/src/lib/server/index.js +4 -0
  55. package/src/lib/server/index.js.map +1 -0
  56. package/src/lib/services/hubtype-api-service.d.ts +13 -0
  57. package/src/lib/services/hubtype-api-service.js +67 -0
  58. package/src/lib/services/hubtype-api-service.js.map +1 -0
  59. package/src/lib/services/hubtype-external-api-client.d.ts +22 -0
  60. package/src/lib/services/hubtype-external-api-client.js +111 -0
  61. package/src/lib/services/hubtype-external-api-client.js.map +1 -0
  62. package/src/lib/services/index.d.ts +2 -0
  63. package/src/lib/services/index.js +3 -0
  64. package/src/lib/services/index.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/server/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './bot-server-message';
2
+ export * from './botonic-context';
3
+ export * from './factory';
@@ -0,0 +1,4 @@
1
+ export * from './bot-server-message';
2
+ export * from './botonic-context';
3
+ export * from './factory';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { BotonicSession, BotonicWebviewsSession, UserExtraData } from '@botonic/shared';
2
+ import { type BotonicContext, type BotonicSessionPatchSlice, type BotonicSessionUpdate, type BotServerMessage, type ChatUserPatchResponse, type HandoffOptions, type ResolvedPlugins } from '../server';
3
+ import { type GetBotonicWebviewsSessionParams } from './hubtype-external-api-client';
4
+ export declare class HubtypeApiService {
5
+ updateBotSession<TExtraData extends UserExtraData = UserExtraData>(botonicContext: BotonicContext<ResolvedPlugins, TExtraData>, updates: BotonicSessionUpdate<TExtraData>): Promise<void>;
6
+ getBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<UserExtraData> | null>;
7
+ getBotSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<UserExtraData>>;
8
+ patchBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<BotonicSessionPatchSlice>;
9
+ patchChatUser(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<ChatUserPatchResponse>;
10
+ doHandoff(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, handoffOptions?: HandoffOptions): Promise<unknown>;
11
+ sendMessages(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, messages: BotServerMessage[]): Promise<unknown>;
12
+ getBotonicWebviewsSession(params: GetBotonicWebviewsSessionParams): Promise<BotonicWebviewsSession | null>;
13
+ }
@@ -0,0 +1,67 @@
1
+ import { __awaiter } from "tslib";
2
+ import { applyNonPatchSessionUpdateFields, mergeBotonicSessionPatchSlice, mergeChatUserPatchResponseIntoSessionUser, sessionUpdateToPatchBody, userUpdateToChatUserPatchBody, } from '../server';
3
+ import { HubtypeExternalApiClient, } from './hubtype-external-api-client';
4
+ export class HubtypeApiService {
5
+ updateBotSession(botonicContext, updates) {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ applyNonPatchSessionUpdateFields(botonicContext.session.raw, updates);
8
+ const client = new HubtypeExternalApiClient();
9
+ const sessionPatchBody = sessionUpdateToPatchBody(updates);
10
+ if (Object.keys(sessionPatchBody).length > 0) {
11
+ const slice = yield client.patchBotonicSession(botonicContext, sessionPatchBody);
12
+ mergeBotonicSessionPatchSlice(botonicContext.session.raw, slice);
13
+ }
14
+ const chatUserBody = userUpdateToChatUserPatchBody(updates.user);
15
+ if (Object.keys(chatUserBody).length > 0) {
16
+ const userSlice = yield client.patchChatUser(botonicContext, chatUserBody);
17
+ mergeChatUserPatchResponseIntoSessionUser(botonicContext.session.raw.user, userSlice);
18
+ }
19
+ });
20
+ }
21
+ getBotonicSession(botonicContext) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const client = new HubtypeExternalApiClient();
24
+ return client.getBotonicSession(botonicContext);
25
+ });
26
+ }
27
+ getBotSession(botonicContext) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const session = yield this.getBotonicSession(botonicContext);
30
+ if (session === null) {
31
+ throw new Error('Failed to get bot session');
32
+ }
33
+ return session;
34
+ });
35
+ }
36
+ patchBotonicSession(botonicContext, body) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const client = new HubtypeExternalApiClient();
39
+ return client.patchBotonicSession(botonicContext, body);
40
+ });
41
+ }
42
+ patchChatUser(botonicContext, body) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const client = new HubtypeExternalApiClient();
45
+ return client.patchChatUser(botonicContext, body);
46
+ });
47
+ }
48
+ doHandoff(botonicContext, handoffOptions) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const client = new HubtypeExternalApiClient();
51
+ return client.doHandoff(botonicContext, handoffOptions);
52
+ });
53
+ }
54
+ sendMessages(botonicContext, messages) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const client = new HubtypeExternalApiClient();
57
+ return client.sendMessages(botonicContext, messages);
58
+ });
59
+ }
60
+ getBotonicWebviewsSession(params) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const client = new HubtypeExternalApiClient();
63
+ return client.getBotonicWebviewsSession(params);
64
+ });
65
+ }
66
+ }
67
+ //# sourceMappingURL=hubtype-api-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubtype-api-service.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/services/hubtype-api-service.ts"],"names":[],"mappings":";AAKA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,yCAAyC,EACzC,wBAAwB,EACxB,6BAA6B,GAQ9B,MAAM,WAAW,CAAA;AAClB,OAAO,EAEL,wBAAwB,GACzB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,OAAO,iBAAiB;IACtB,gBAAgB,CACpB,cAA2D,EAC3D,OAAyC;;YAEzC,gCAAgC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAErE,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAC5C,cAAgE,EAChE,gBAAgB,CACjB,CAAA;gBACD,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAChE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAC1C,cAAgE,EAChE,YAAY,CACb,CAAA;gBACD,yCAAyC,CACvC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAC/B,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;KAAA;IAEK,iBAAiB,CACrB,cAA8D;;YAE9D,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACjD,CAAC;KAAA;IAEK,aAAa,CACjB,cAA8D;;YAE9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;YAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC9C,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;KAAA;IAEK,mBAAmB,CACvB,cAA8D,EAC9D,IAA6B;;YAE7B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACzD,CAAC;KAAA;IAEK,aAAa,CACjB,cAA8D,EAC9D,IAA6B;;YAE7B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACnD,CAAC;KAAA;IAEK,SAAS,CACb,cAA8D,EAC9D,cAA+B;;YAE/B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QACzD,CAAC;KAAA;IAEK,YAAY,CAChB,cAA8D,EAC9D,QAA4B;;YAE5B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;KAAA;IAEK,yBAAyB,CAC7B,MAAuC;;YAEvC,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;KAAA;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Hubtype external v2 conversational HTTP client (session, webviews, chat user, handoff, send message).
3
+ * Do not use legacy `…/context/` for v2 bots — see BE spec.
4
+ *
5
+ * @see openspec/specs/BE-botonic-v2-botonic-session-endpoints/spec.md
6
+ */
7
+ import type { BotonicSession, BotonicWebviewsSession, UserExtraData } from '@botonic/shared';
8
+ import type { BotonicContext, BotonicSessionPatchSlice, BotServerMessage, ChatUserPatchResponse, HandoffOptions, ResolvedPlugins } from '../server';
9
+ /** Target for GET …/session/webviews/ (no auth on this endpoint). */
10
+ export interface GetBotonicWebviewsSessionParams {
11
+ hubtypeApiUrl: string;
12
+ botId: string;
13
+ userId: string;
14
+ }
15
+ export declare class HubtypeExternalApiClient {
16
+ getBotonicSession<TSessionExtra extends UserExtraData = UserExtraData>(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<TSessionExtra> | null>;
17
+ patchBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<BotonicSessionPatchSlice>;
18
+ getBotonicWebviewsSession(params: GetBotonicWebviewsSessionParams): Promise<BotonicWebviewsSession | null>;
19
+ patchChatUser(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<ChatUserPatchResponse>;
20
+ doHandoff(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, handoffOptions?: HandoffOptions): Promise<unknown>;
21
+ sendMessages(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, messages: BotServerMessage[]): Promise<unknown>;
22
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Hubtype external v2 conversational HTTP client (session, webviews, chat user, handoff, send message).
3
+ * Do not use legacy `…/context/` for v2 bots — see BE spec.
4
+ *
5
+ * @see openspec/specs/BE-botonic-v2-botonic-session-endpoints/spec.md
6
+ */
7
+ import { __awaiter } from "tslib";
8
+ export class HubtypeExternalApiClient {
9
+ getBotonicSession(botonicContext) {
10
+ return __awaiter(this, void 0, void 0, function* () {
11
+ const url = `${botonicContext.settings.hubtypeApiUrl}/external/v2/conversational_apps/${botonicContext.session.bot.id}/users/${botonicContext.session.user.id}/session/`;
12
+ const response = yield fetch(url, { method: 'GET' });
13
+ if (response.status === 404)
14
+ return null;
15
+ if (!response.ok) {
16
+ const errorBody = yield response.json();
17
+ throw new Error(`GET botonic session failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
18
+ }
19
+ return (yield response.json());
20
+ });
21
+ }
22
+ patchBotonicSession(botonicContext, body) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const url = `${botonicContext.settings.hubtypeApiUrl}/external/v2/conversational_apps/${botonicContext.session.bot.id}/users/${botonicContext.session.user.id}/session/`;
25
+ const response = yield fetch(url, {
26
+ method: 'PATCH',
27
+ headers: {
28
+ 'Content-Type': 'application/json',
29
+ Authorization: `Bearer ${botonicContext.secrets.hubtypeAccessToken}`,
30
+ },
31
+ body: JSON.stringify(body),
32
+ });
33
+ if (!response.ok) {
34
+ const errorBody = yield response.json();
35
+ throw new Error(`PATCH botonic session failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
36
+ }
37
+ return (yield response.json());
38
+ });
39
+ }
40
+ getBotonicWebviewsSession(params) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const { hubtypeApiUrl, botId, userId } = params;
43
+ const url = `${hubtypeApiUrl}/external/v2/conversational_apps/${botId}/users/${userId}/session/webviews/`;
44
+ const response = yield fetch(url, { method: 'GET' });
45
+ if (response.status === 404)
46
+ return null;
47
+ if (!response.ok) {
48
+ const errorBody = yield response.json();
49
+ throw new Error(`GET botonic session webviews failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
50
+ }
51
+ return (yield response.json());
52
+ });
53
+ }
54
+ patchChatUser(botonicContext, body) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const url = `${botonicContext.settings.hubtypeApiUrl}/external/v2/conversational_apps/${botonicContext.session.bot.id}/users/${botonicContext.session.user.id}/`;
57
+ const response = yield fetch(url, {
58
+ method: 'PATCH',
59
+ headers: {
60
+ 'Content-Type': 'application/json',
61
+ Authorization: `Bearer ${botonicContext.secrets.hubtypeAccessToken}`,
62
+ },
63
+ body: JSON.stringify(body),
64
+ });
65
+ if (!response.ok) {
66
+ const errorBody = yield response.json();
67
+ throw new Error(`PATCH chat user failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
68
+ }
69
+ return (yield response.json());
70
+ });
71
+ }
72
+ doHandoff(botonicContext, handoffOptions) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const url = `${botonicContext.settings.hubtypeApiUrl}/external/v2/conversational_apps/${botonicContext.session.bot.id}/users/${botonicContext.session.user.id}/do_handoff/`;
75
+ const response = yield fetch(url, {
76
+ method: 'POST',
77
+ headers: {
78
+ 'Content-Type': 'application/json',
79
+ Authorization: `Bearer ${botonicContext.secrets.hubtypeAccessToken}`,
80
+ },
81
+ body: JSON.stringify(Object.assign(Object.assign({}, handoffOptions), { bot_interaction_id: botonicContext.input.botInteractionId })),
82
+ });
83
+ if (!response.ok) {
84
+ const errorBody = yield response.json();
85
+ throw new Error(`POST do handoff failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
86
+ }
87
+ return yield response.json();
88
+ });
89
+ }
90
+ sendMessages(botonicContext, messages) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const url = `${botonicContext.settings.hubtypeApiUrl}/external/v2/conversational_apps/${botonicContext.session.bot.id}/users/${botonicContext.session.user.id}/send_messages/`;
93
+ const response = yield fetch(url, {
94
+ method: 'POST',
95
+ headers: {
96
+ 'Content-Type': 'application/json',
97
+ Authorization: `Bearer ${botonicContext.secrets.hubtypeAccessToken}`,
98
+ },
99
+ body: JSON.stringify({
100
+ messages: messages.map(message => (Object.assign(Object.assign({}, message), { bot_interaction_id: botonicContext.input.botInteractionId }))),
101
+ }),
102
+ });
103
+ if (!response.ok) {
104
+ const errorBody = yield response.json();
105
+ throw new Error(`POST send messages failed: HTTP ${response.status} ${JSON.stringify(errorBody)}`);
106
+ }
107
+ return yield response.json();
108
+ });
109
+ }
110
+ }
111
+ //# sourceMappingURL=hubtype-external-api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubtype-external-api-client.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/services/hubtype-external-api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './hubtype-api-service';
2
+ export * from './hubtype-external-api-client';
@@ -0,0 +1,3 @@
1
+ export * from './hubtype-api-service';
2
+ export * from './hubtype-external-api-client';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA"}