@botonic/core 0.55.1 → 0.57.0-rslib-esm.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 (131) hide show
  1. package/lib/esm/constants.js +7 -7
  2. package/lib/esm/constants.js.map +1 -1
  3. package/lib/esm/core-bot.d.ts +3 -3
  4. package/lib/esm/core-bot.js +87 -50
  5. package/lib/esm/core-bot.js.map +1 -1
  6. package/lib/esm/debug/index.d.ts +1 -1
  7. package/lib/esm/debug/index.js +5 -4
  8. package/lib/esm/debug/index.js.map +1 -1
  9. package/lib/esm/debug/inspector.d.ts +1 -1
  10. package/lib/esm/debug/inspector.js +27 -21
  11. package/lib/esm/debug/inspector.js.map +1 -1
  12. package/lib/esm/handoff.d.ts +1 -1
  13. package/lib/esm/handoff.js +82 -53
  14. package/lib/esm/handoff.js.map +1 -1
  15. package/lib/esm/hubtype-service.d.ts +3 -3
  16. package/lib/esm/hubtype-service.js +100 -64
  17. package/lib/esm/hubtype-service.js.map +1 -1
  18. package/lib/esm/index.d.ts +9 -9
  19. package/lib/esm/index.js +21 -12
  20. package/lib/esm/index.js.map +1 -1
  21. package/lib/esm/models/ai-agents.js +15 -15
  22. package/lib/esm/models/ai-agents.js.map +1 -1
  23. package/lib/esm/models/bot-config.js +6 -6
  24. package/lib/esm/models/bot-config.js.map +1 -1
  25. package/lib/esm/models/hubtype-analytics.d.ts +1 -1
  26. package/lib/esm/models/hubtype-analytics.js +10 -10
  27. package/lib/esm/models/hubtype-analytics.js.map +1 -1
  28. package/lib/esm/models/index.d.ts +4 -4
  29. package/lib/esm/models/index.js +11 -7
  30. package/lib/esm/models/index.js.map +1 -1
  31. package/lib/esm/models/legacy-types.d.ts +3 -1
  32. package/lib/esm/models/legacy-types.js +25 -24
  33. package/lib/esm/models/legacy-types.js.map +1 -1
  34. package/lib/esm/package.json +3 -0
  35. package/lib/esm/plugins.d.ts +1 -1
  36. package/lib/esm/plugins.js +7 -8
  37. package/lib/esm/plugins.js.map +1 -1
  38. package/lib/esm/pusher-utils.js +15 -10
  39. package/lib/esm/pusher-utils.js.map +1 -1
  40. package/lib/esm/routing/index.d.ts +2 -2
  41. package/lib/esm/routing/index.js +7 -5
  42. package/lib/esm/routing/index.js.map +1 -1
  43. package/lib/esm/routing/router-utils.d.ts +1 -1
  44. package/lib/esm/routing/router-utils.js +37 -30
  45. package/lib/esm/routing/router-utils.js.map +1 -1
  46. package/lib/esm/routing/router.d.ts +2 -2
  47. package/lib/esm/routing/router.js +152 -149
  48. package/lib/esm/routing/router.js.map +1 -1
  49. package/lib/esm/testing/index.d.ts +1 -1
  50. package/lib/esm/testing/index.js +60 -94
  51. package/lib/esm/testing/index.js.map +1 -1
  52. package/lib/esm/utils/bot-config.d.ts +1 -1
  53. package/lib/esm/utils/bot-config.js +57 -28
  54. package/lib/esm/utils/bot-config.js.map +1 -1
  55. package/lib/esm/utils/check-providers.d.ts +1 -1
  56. package/lib/esm/utils/check-providers.js +14 -17
  57. package/lib/esm/utils/check-providers.js.map +1 -1
  58. package/lib/esm/utils/functional.js +19 -38
  59. package/lib/esm/utils/functional.js.map +1 -1
  60. package/lib/esm/utils/index.d.ts +3 -3
  61. package/lib/esm/utils/index.js +9 -6
  62. package/lib/esm/utils/index.js.map +1 -1
  63. package/package.json +12 -11
  64. package/src/hubtype-service.ts +4 -2
  65. package/src/models/legacy-types.ts +3 -0
  66. package/lib/cjs/constants.d.ts +0 -4
  67. package/lib/cjs/constants.js +0 -8
  68. package/lib/cjs/constants.js.map +0 -1
  69. package/lib/cjs/core-bot.d.ts +0 -43
  70. package/lib/cjs/core-bot.js +0 -205
  71. package/lib/cjs/core-bot.js.map +0 -1
  72. package/lib/cjs/debug/index.d.ts +0 -1
  73. package/lib/cjs/debug/index.js +0 -5
  74. package/lib/cjs/debug/index.js.map +0 -1
  75. package/lib/cjs/debug/inspector.d.ts +0 -24
  76. package/lib/cjs/debug/inspector.js +0 -70
  77. package/lib/cjs/debug/inspector.js.map +0 -1
  78. package/lib/cjs/handoff.d.ts +0 -110
  79. package/lib/cjs/handoff.js +0 -238
  80. package/lib/cjs/handoff.js.map +0 -1
  81. package/lib/cjs/hubtype-service.d.ts +0 -58
  82. package/lib/cjs/hubtype-service.js +0 -205
  83. package/lib/cjs/hubtype-service.js.map +0 -1
  84. package/lib/cjs/index.d.ts +0 -9
  85. package/lib/cjs/index.js +0 -13
  86. package/lib/cjs/index.js.map +0 -1
  87. package/lib/cjs/models/ai-agents.d.ts +0 -140
  88. package/lib/cjs/models/ai-agents.js +0 -30
  89. package/lib/cjs/models/ai-agents.js.map +0 -1
  90. package/lib/cjs/models/bot-config.d.ts +0 -24
  91. package/lib/cjs/models/bot-config.js +0 -10
  92. package/lib/cjs/models/bot-config.js.map +0 -1
  93. package/lib/cjs/models/hubtype-analytics.d.ts +0 -210
  94. package/lib/cjs/models/hubtype-analytics.js +0 -38
  95. package/lib/cjs/models/hubtype-analytics.js.map +0 -1
  96. package/lib/cjs/models/index.d.ts +0 -4
  97. package/lib/cjs/models/index.js +0 -8
  98. package/lib/cjs/models/index.js.map +0 -1
  99. package/lib/cjs/models/legacy-types.d.ts +0 -330
  100. package/lib/cjs/models/legacy-types.js +0 -83
  101. package/lib/cjs/models/legacy-types.js.map +0 -1
  102. package/lib/cjs/plugins.d.ts +0 -9
  103. package/lib/cjs/plugins.js +0 -24
  104. package/lib/cjs/plugins.js.map +0 -1
  105. package/lib/cjs/pusher-utils.d.ts +0 -7
  106. package/lib/cjs/pusher-utils.js +0 -18
  107. package/lib/cjs/pusher-utils.js.map +0 -1
  108. package/lib/cjs/routing/index.d.ts +0 -2
  109. package/lib/cjs/routing/index.js +0 -6
  110. package/lib/cjs/routing/index.js.map +0 -1
  111. package/lib/cjs/routing/router-utils.d.ts +0 -11
  112. package/lib/cjs/routing/router-utils.js +0 -96
  113. package/lib/cjs/routing/router-utils.js.map +0 -1
  114. package/lib/cjs/routing/router.d.ts +0 -54
  115. package/lib/cjs/routing/router.js +0 -330
  116. package/lib/cjs/routing/router.js.map +0 -1
  117. package/lib/cjs/testing/index.d.ts +0 -91
  118. package/lib/cjs/testing/index.js +0 -196
  119. package/lib/cjs/testing/index.js.map +0 -1
  120. package/lib/cjs/utils/bot-config.d.ts +0 -4
  121. package/lib/cjs/utils/bot-config.js +0 -94
  122. package/lib/cjs/utils/bot-config.js.map +0 -1
  123. package/lib/cjs/utils/check-providers.d.ts +0 -8
  124. package/lib/cjs/utils/check-providers.js +0 -34
  125. package/lib/cjs/utils/check-providers.js.map +0 -1
  126. package/lib/cjs/utils/functional.d.ts +0 -10
  127. package/lib/cjs/utils/functional.js +0 -88
  128. package/lib/cjs/utils/functional.js.map +0 -1
  129. package/lib/cjs/utils/index.d.ts +0 -3
  130. package/lib/cjs/utils/index.js +0 -7
  131. package/lib/cjs/utils/index.js.map +0 -1
@@ -1,205 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HubtypeService = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const pusher_js_1 = tslib_1.__importDefault(require("pusher-js"));
7
- const pusher_utils_1 = require("./pusher-utils");
8
- const WEBCHAT_PUSHER_KEY = process.env.WEBCHAT_PUSHER_KEY || '434ca667c8e6cb3f641c'; // pragma: allowlist secret
9
- const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
10
- const ACTIVITY_TIMEOUT = 20 * 1000; // https://pusher.com/docs/channels/using_channels/connection#activitytimeout-integer-
11
- const PONG_TIMEOUT = 5 * 1000; // https://pusher.com/docs/channels/using_channels/connection#pongtimeout-integer-
12
- /**
13
- * Calls Hubtype APIs from Webchat
14
- */
15
- class HubtypeService {
16
- constructor({ appId, user, lastMessageId, lastMessageUpdateDate, onEvent, unsentInputs, server, }) {
17
- this.PUSHER_CONNECT_TIMEOUT_MS = 10000;
18
- this.appId = appId;
19
- this.user = user || {};
20
- this.lastMessageId = lastMessageId;
21
- this.lastMessageUpdateDate = lastMessageUpdateDate;
22
- this.onEvent = onEvent;
23
- this.unsentInputs = unsentInputs;
24
- this.server = server;
25
- if (this.user.id && (lastMessageId || lastMessageUpdateDate)) {
26
- // It's safe not awaiting Promise because:
27
- // * it will never be called from AWS lambda
28
- // * though init() is called again from postMesage, it does nothing if Pusher already created
29
- this.init();
30
- }
31
- }
32
- init(user, lastMessageId, lastMessageUpdateDate) {
33
- if (user) {
34
- this.user = user;
35
- }
36
- if (lastMessageId) {
37
- this.lastMessageId = lastMessageId;
38
- }
39
- if (lastMessageUpdateDate) {
40
- this.lastMessageUpdateDate = lastMessageUpdateDate;
41
- }
42
- return this._initPusher();
43
- }
44
- _initPusher() {
45
- if (this.pusher) {
46
- return Promise.resolve();
47
- }
48
- if (!this.user.id || !this.appId) {
49
- // TODO recover user & appId somehow
50
- return Promise.reject('No User or appId. Clear cache and reload');
51
- }
52
- this.pusher = new pusher_js_1.default(WEBCHAT_PUSHER_KEY, {
53
- cluster: 'eu',
54
- authEndpoint: `${HUBTYPE_API_URL}/v1/provider_accounts/webhooks/webchat/${this.appId}/auth/`,
55
- forceTLS: true,
56
- auth: {
57
- headers: this.constructHeaders(),
58
- },
59
- ...this.resolveServerConfig(),
60
- });
61
- this.channel = this.pusher.subscribe(this.pusherChannel);
62
- const connectionPromise = new Promise((resolve, reject) => {
63
- const cleanAndReject = msg => {
64
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
65
- clearTimeout(connectTimeout);
66
- this.destroyPusher();
67
- reject(msg);
68
- };
69
- const connectTimeout = setTimeout(() => cleanAndReject('Connection Timeout'), this.PUSHER_CONNECT_TIMEOUT_MS);
70
- this.channel.bind('pusher:subscription_succeeded', () => {
71
- // Once subscribed, we know that authentication has been done: https://pusher.com/docs/channels/server_api/authenticating-users
72
- this.onConnectionRegained();
73
- clearTimeout(connectTimeout);
74
- resolve();
75
- });
76
- this.channel.bind('botonic_response', data => this.onPusherEvent(data));
77
- this.channel.bind('botonic_response_compressed', compressedData => {
78
- try {
79
- const data = JSON.parse((0, pusher_utils_1.decompressData)(compressedData));
80
- this.onPusherEvent(data);
81
- }
82
- catch (e) {
83
- console.error('Error: Unable to decompress data', e);
84
- }
85
- });
86
- this.channel.bind('update_message_info', data => this.onPusherEvent(data));
87
- this.pusher?.connection.bind('error', event => {
88
- if (event.type === 'WebSocketError') {
89
- this.handleConnectionChange(false);
90
- }
91
- else {
92
- const errorMsg = event.error?.data
93
- ? event.error.data.code || event.error.data.message
94
- : 'Connection error';
95
- cleanAndReject(`Pusher error (${errorMsg})`);
96
- }
97
- });
98
- });
99
- this.pusher.connection.bind('state_change', states => {
100
- if (states.current === 'connecting') {
101
- this.updateAuthHeaders();
102
- }
103
- if (states.current === 'connected') {
104
- this.handleConnectionChange(true);
105
- }
106
- if (states.current === 'unavailable') {
107
- this.handleConnectionChange(false);
108
- }
109
- });
110
- return connectionPromise;
111
- }
112
- constructHeaders() {
113
- const headers = {};
114
- if (this.user?.id) {
115
- headers['X-BOTONIC-USER-ID'] = this.user.id;
116
- }
117
- if (this.lastMessageId) {
118
- headers['X-BOTONIC-LAST-MESSAGE-ID'] = this.lastMessageId;
119
- }
120
- if (this.lastMessageUpdateDate) {
121
- headers['X-BOTONIC-LAST-MESSAGE-UPDATE-DATE'] = this.lastMessageUpdateDate;
122
- }
123
- return headers;
124
- }
125
- resolveServerConfig() {
126
- if (!this.server) {
127
- return { activityTimeout: ACTIVITY_TIMEOUT, pongTimeout: PONG_TIMEOUT };
128
- }
129
- return {
130
- activityTimeout: this.server.activityTimeout || ACTIVITY_TIMEOUT,
131
- pongTimeout: this.server.pongTimeout || PONG_TIMEOUT,
132
- };
133
- }
134
- updateAuthHeaders() {
135
- if (this.pusher) {
136
- this.pusher.config.auth.headers = {
137
- ...this.pusher.config.auth.headers,
138
- ...this.constructHeaders(),
139
- };
140
- }
141
- }
142
- handleConnectionChange(online) {
143
- this.onPusherEvent({ action: 'connectionChange', online });
144
- }
145
- onPusherEvent(event) {
146
- if (this.onEvent && typeof this.onEvent === 'function') {
147
- this.onEvent(event);
148
- }
149
- }
150
- get pusherChannel() {
151
- return `private-encrypted-${this.appId}-${this.user.id}`;
152
- }
153
- handleSentInput(message) {
154
- this.onEvent({
155
- action: 'update_message_info',
156
- message: { id: message.id, ack: 1 },
157
- });
158
- }
159
- handleUnsentInput(message) {
160
- this.onEvent({
161
- action: 'update_message_info',
162
- message: { id: message.id, ack: 0, unsentInput: message },
163
- });
164
- }
165
- async postMessage(user, message) {
166
- try {
167
- await this.init(user);
168
- await axios_1.default.post(`${HUBTYPE_API_URL}/v1/provider_accounts/webhooks/webchat/${this.appId}/`, {
169
- sender: this.user,
170
- message: message,
171
- }, {
172
- validateStatus: status => status === 200,
173
- });
174
- this.handleSentInput(message);
175
- }
176
- catch (_e) {
177
- this.handleUnsentInput(message);
178
- }
179
- return Promise.resolve();
180
- }
181
- static async getWebchatVisibility(appId) {
182
- return axios_1.default.get(`${HUBTYPE_API_URL}/v1/provider_accounts/${appId}/visibility/`);
183
- }
184
- destroyPusher() {
185
- if (!this.pusher) {
186
- return;
187
- }
188
- this.pusher.disconnect();
189
- this.pusher.unsubscribe(this.pusherChannel);
190
- this.pusher.unbind_all();
191
- this.pusher.channels = {};
192
- this.pusher = null;
193
- }
194
- async onConnectionRegained() {
195
- await this.resendUnsentInputs();
196
- }
197
- async resendUnsentInputs() {
198
- for (const message of this.unsentInputs()) {
199
- message.unsentInput &&
200
- (await this.postMessage(this.user, message.unsentInput));
201
- }
202
- }
203
- }
204
- exports.HubtypeService = HubtypeService;
205
- //# sourceMappingURL=hubtype-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export * from './constants';
2
- export * from './core-bot';
3
- export * from './debug';
4
- export * from './handoff';
5
- export * from './hubtype-service';
6
- export * from './models';
7
- export * from './plugins';
8
- export * from './routing';
9
- export * from './utils';
package/lib/cjs/index.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./constants"), exports);
5
- tslib_1.__exportStar(require("./core-bot"), exports);
6
- tslib_1.__exportStar(require("./debug"), exports);
7
- tslib_1.__exportStar(require("./handoff"), exports);
8
- tslib_1.__exportStar(require("./hubtype-service"), exports);
9
- tslib_1.__exportStar(require("./models"), exports);
10
- tslib_1.__exportStar(require("./plugins"), exports);
11
- tslib_1.__exportStar(require("./routing"), exports);
12
- tslib_1.__exportStar(require("./utils"), exports);
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC;AACjC,mDAAwB;AACxB,oDAAyB;AACzB,oDAAyB;AACzB,kDAAuB"}
@@ -1,140 +0,0 @@
1
- import type { z } from 'zod';
2
- export declare enum OutputMessageType {
3
- Text = "text",
4
- TextWithButtons = "textWithButtons",
5
- BotExecutor = "botExecutor",
6
- Carousel = "carousel",
7
- Exit = "exit"
8
- }
9
- export interface BaseMessage<T extends string = OutputMessageType> {
10
- type: T;
11
- }
12
- export interface Button {
13
- text: string;
14
- payload?: string;
15
- url?: string;
16
- target?: string;
17
- }
18
- export interface ButtonWithPayload {
19
- text: string;
20
- payload: string;
21
- }
22
- export interface TextMessage extends BaseMessage {
23
- type: OutputMessageType.Text;
24
- content: {
25
- text: string;
26
- };
27
- }
28
- export interface TextWithButtonsMessage extends BaseMessage {
29
- type: OutputMessageType.TextWithButtons;
30
- content: {
31
- text: string;
32
- buttons: Button[];
33
- };
34
- }
35
- export interface BotExecutorMessage extends BaseMessage {
36
- type: OutputMessageType.BotExecutor;
37
- content: {
38
- text: string;
39
- buttons: ButtonWithPayload[];
40
- };
41
- }
42
- interface CarouselElement {
43
- title: string;
44
- subtitle: string;
45
- image: string;
46
- button: Button;
47
- }
48
- export interface CarouselMessage extends BaseMessage {
49
- type: OutputMessageType.Carousel;
50
- content: {
51
- text?: string;
52
- elements: CarouselElement[];
53
- };
54
- }
55
- export interface ExitMessage extends BaseMessage {
56
- type: OutputMessageType.Exit;
57
- }
58
- export type OutputMessage<Extra extends BaseMessage<string> = never> = TextMessage | TextWithButtonsMessage | BotExecutorMessage | CarouselMessage | ExitMessage | Extra;
59
- export type AgenticOutputMessage<Extra extends BaseMessage<string> = never> = Exclude<OutputMessage<Extra>, ExitMessage>;
60
- export interface ToolExecution {
61
- toolName: string;
62
- toolArguments: Record<string, any>;
63
- toolResults?: string;
64
- knowledgebaseSourcesIds?: string[];
65
- knowledgebaseChunksIds?: string[];
66
- }
67
- export interface AvailableSpecialist {
68
- name: string;
69
- description: string;
70
- }
71
- export interface RunResult<Extra extends BaseMessage<string> = never> {
72
- messages: AgenticOutputMessage<Extra>[];
73
- toolsExecuted: ToolExecution[];
74
- memoryLength: number;
75
- exit: boolean;
76
- error: boolean;
77
- inputGuardrailsTriggered: string[];
78
- outputGuardrailsTriggered: string[];
79
- startingAgentName: string;
80
- lastAgentName: string;
81
- availableSpecialists: AvailableSpecialist[];
82
- isTransferredToSpecialist: boolean;
83
- }
84
- export type InferenceResponse<Extra extends BaseMessage<string> = never> = RunResult<Extra>;
85
- export interface GuardrailRule {
86
- name: string;
87
- description: string;
88
- }
89
- export declare enum VerbosityLevel {
90
- Low = "low",
91
- Medium = "medium",
92
- High = "high"
93
- }
94
- export declare enum ReasoningEffort {
95
- None = "none",
96
- Low = "low",
97
- Medium = "medium",
98
- High = "high"
99
- }
100
- export interface HubtypeAssistantMessage {
101
- role: 'assistant';
102
- content: string;
103
- }
104
- export interface HubtypeUserMessage {
105
- role: 'user';
106
- content: string;
107
- }
108
- export declare enum AiAgentType {
109
- Specialist = "specialist",
110
- Router = "router"
111
- }
112
- export type AiAgentArgs = AiAgentSpecialistArgs | AIAgentRouterArgs;
113
- export type AiAgentBaseArgs = {
114
- type: AiAgentType;
115
- name: string;
116
- instructions: string;
117
- model: string;
118
- verbosity: VerbosityLevel;
119
- reasoningEffort?: ReasoningEffort;
120
- disableForceRetrieveKnowledge?: boolean;
121
- inputGuardrailRules?: GuardrailRule[];
122
- previousHubtypeMessages?: HubtypeAssistantMessage[];
123
- outputMessagesSchemas?: z.ZodObject<any>[];
124
- forceToolNameOverride?: string;
125
- };
126
- export interface AiAgentSpecialistArgs extends AiAgentBaseArgs {
127
- type: AiAgentType.Specialist;
128
- activeTools: {
129
- name: string;
130
- }[];
131
- sourceIds: string[];
132
- }
133
- interface AIAgentRoute extends AiAgentSpecialistArgs {
134
- description: string;
135
- }
136
- export interface AIAgentRouterArgs extends AiAgentBaseArgs {
137
- type: AiAgentType.Router;
138
- specialists: AIAgentRoute[];
139
- }
140
- export {};
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AiAgentType = exports.ReasoningEffort = exports.VerbosityLevel = exports.OutputMessageType = void 0;
4
- var OutputMessageType;
5
- (function (OutputMessageType) {
6
- OutputMessageType["Text"] = "text";
7
- OutputMessageType["TextWithButtons"] = "textWithButtons";
8
- OutputMessageType["BotExecutor"] = "botExecutor";
9
- OutputMessageType["Carousel"] = "carousel";
10
- OutputMessageType["Exit"] = "exit";
11
- })(OutputMessageType || (exports.OutputMessageType = OutputMessageType = {}));
12
- var VerbosityLevel;
13
- (function (VerbosityLevel) {
14
- VerbosityLevel["Low"] = "low";
15
- VerbosityLevel["Medium"] = "medium";
16
- VerbosityLevel["High"] = "high";
17
- })(VerbosityLevel || (exports.VerbosityLevel = VerbosityLevel = {}));
18
- var ReasoningEffort;
19
- (function (ReasoningEffort) {
20
- ReasoningEffort["None"] = "none";
21
- ReasoningEffort["Low"] = "low";
22
- ReasoningEffort["Medium"] = "medium";
23
- ReasoningEffort["High"] = "high";
24
- })(ReasoningEffort || (exports.ReasoningEffort = ReasoningEffort = {}));
25
- var AiAgentType;
26
- (function (AiAgentType) {
27
- AiAgentType["Specialist"] = "specialist";
28
- AiAgentType["Router"] = "router";
29
- })(AiAgentType || (exports.AiAgentType = AiAgentType = {}));
30
- //# sourceMappingURL=ai-agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-agents.js","sourceRoot":"","sources":["../../../src/models/ai-agents.ts"],"names":[],"mappings":";;;AAEA,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACf,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAwGD,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAYD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
@@ -1,24 +0,0 @@
1
- import type { core } from 'zod';
2
- export interface BotConfigJSON {
3
- tools: ToolConfigJSON[];
4
- payloads: string[];
5
- webviews: WebviewConfigJSON[];
6
- variables?: VariableConfigJSON[];
7
- }
8
- export interface ToolConfigJSON {
9
- name: string;
10
- schema?: core.JSONSchema.JSONSchema;
11
- description: string;
12
- }
13
- export interface WebviewConfigJSON {
14
- name: string;
15
- }
16
- export declare enum VariableType {
17
- String = "string",
18
- Number = "number",
19
- Boolean = "boolean"
20
- }
21
- export interface VariableConfigJSON {
22
- key_path: string;
23
- type: VariableType;
24
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VariableType = void 0;
4
- var VariableType;
5
- (function (VariableType) {
6
- VariableType["String"] = "string";
7
- VariableType["Number"] = "number";
8
- VariableType["Boolean"] = "boolean";
9
- })(VariableType || (exports.VariableType = VariableType = {}));
10
- //# sourceMappingURL=bot-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-config.js","sourceRoot":"","sources":["../../../src/models/bot-config.ts"],"names":[],"mappings":";;;AAoBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
@@ -1,210 +0,0 @@
1
- import type { AvailableSpecialist, ToolExecution } from './ai-agents';
2
- export declare const EVENT_FORMAT_VERSION = 5;
3
- export declare enum EventAction {
4
- AiAgent = "ai_agent",
5
- FeedbackCase = "feedback_case",
6
- FeedbackMessage = "feedback_message",
7
- FeedbackConversation = "feedback_conversation",
8
- FeedbackWebview = "feedback_webview",
9
- FlowNode = "flow_node",
10
- ConditionalCountry = "conditional_country",
11
- ConditionalQueueStatus = "conditional_queue_status",
12
- ConditionalCustom = "conditional_custom",
13
- ConditionalChannel = "conditional_channel",
14
- BotAction = "bot_action",
15
- WebviewActionTriggered = "webview_action_triggered",
16
- HandoffOption = "handoff_option",
17
- HandoffSuccess = "handoff_success",
18
- HandoffFail = "handoff_fail",
19
- Keyword = "nlu_keyword",
20
- IntentSmart = "nlu_intent_smart",
21
- Fallback = "fallback",
22
- WebviewStep = "webview_step",
23
- WebviewEnd = "webview_end",
24
- Custom = "custom",
25
- RedirectFlow = "redirect_flow",
26
- CaptureUserInput = "capture_user_input",
27
- AiAgentRouter = "ai_agent_router"
28
- }
29
- export interface HtBaseEventProps {
30
- action: EventAction;
31
- }
32
- export interface HtBaseEventAllFlowProps extends HtBaseEventProps {
33
- flowThreadId: string;
34
- flowId: string;
35
- flowName: string;
36
- flowNodeId: string;
37
- flowNodeContentId: string;
38
- flowNodeIsMeaningful: boolean;
39
- }
40
- export interface EventFeedback extends HtBaseEventProps {
41
- action: EventAction.FeedbackCase | EventAction.FeedbackConversation | EventAction.FeedbackMessage | EventAction.FeedbackWebview;
42
- feedbackTargetId: string;
43
- feedbackGroupId: string;
44
- possibleOptions: string[];
45
- possibleValues?: number[];
46
- option: string;
47
- value?: number;
48
- comment?: string;
49
- }
50
- export interface EventFlow extends HtBaseEventProps {
51
- action: EventAction.FlowNode;
52
- flowThreadId: string;
53
- flowId: string;
54
- flowName: string;
55
- flowNodeId: string;
56
- flowNodeContentId: string;
57
- flowNodeIsMeaningful?: boolean;
58
- }
59
- export interface EventBotAction extends HtBaseEventAllFlowProps {
60
- action: EventAction.BotAction;
61
- payload: string;
62
- }
63
- export interface EventConditionalCountry extends HtBaseEventAllFlowProps {
64
- action: EventAction.ConditionalCountry;
65
- country: string;
66
- }
67
- export interface EventConditionalQueueStatus extends HtBaseEventAllFlowProps {
68
- action: EventAction.ConditionalQueueStatus;
69
- queueId: string;
70
- queueName: string;
71
- isQueueOpen: boolean;
72
- isAvailableAgent: boolean;
73
- }
74
- export interface EventConditionalCustom extends HtBaseEventAllFlowProps {
75
- action: EventAction.ConditionalCustom;
76
- conditionalVariable: string;
77
- variableFormat: string;
78
- operator: string;
79
- }
80
- export interface EventConditionalChannel extends HtBaseEventAllFlowProps {
81
- action: EventAction.ConditionalChannel;
82
- channel: string;
83
- }
84
- export interface EventHandoff extends HtBaseEventProps {
85
- action: EventAction.HandoffSuccess | EventAction.HandoffFail;
86
- flowThreadId?: string;
87
- flowId: string;
88
- flowName: string;
89
- flowNodeId: string;
90
- flowNodeContentId: string;
91
- queueId: string;
92
- queueName: string;
93
- caseId?: string;
94
- isQueueOpen?: boolean;
95
- isAvailableAgent?: boolean;
96
- isThresholdReached?: boolean;
97
- }
98
- export interface EventHandoffOption extends HtBaseEventProps {
99
- action: EventAction.HandoffOption;
100
- flowThreadId?: string;
101
- flowId: string;
102
- flowName: string;
103
- flowNodeId: string;
104
- flowNodeContentId: string;
105
- queueId?: string;
106
- queueName?: string;
107
- }
108
- export interface EventKeyword extends HtBaseEventProps {
109
- action: EventAction.Keyword;
110
- flowThreadId: string;
111
- flowId: string;
112
- flowName: string;
113
- flowNodeId: string;
114
- flowNodeContentId: string;
115
- nluKeywordName: string;
116
- nluKeywordIsRegex?: boolean;
117
- nluKeywordMessageId: string;
118
- userInput: string;
119
- }
120
- export interface EventIntentSmart extends HtBaseEventProps {
121
- action: EventAction.IntentSmart;
122
- flowThreadId: string;
123
- flowId: string;
124
- flowName: string;
125
- flowNodeId: string;
126
- flowNodeContentId: string;
127
- nluIntentSmartTitle: string;
128
- nluIntentSmartNumUsed: number;
129
- nluIntentSmartMessageId: string;
130
- userInput: string;
131
- }
132
- export interface EventWebviewActionTriggered extends HtBaseEventAllFlowProps {
133
- action: EventAction.WebviewActionTriggered;
134
- webviewTargetId: string;
135
- webviewName: string;
136
- webviewParams?: Record<string, string>;
137
- }
138
- export interface EventAiAgent extends HtBaseEventAllFlowProps {
139
- action: EventAction.AiAgent;
140
- toolsExecuted: ToolExecution[];
141
- inputMessageId: string;
142
- memoryLength: number;
143
- inputGuardrailsTriggered: string[];
144
- outputGuardrailsTriggered: string[];
145
- exit: boolean;
146
- error: boolean;
147
- }
148
- export interface EventAiAgentRouter extends HtBaseEventAllFlowProps {
149
- action: EventAction.AiAgentRouter;
150
- inputMessageId: string;
151
- memoryLength: number;
152
- inputGuardrailsTriggered: string[];
153
- outputGuardrailsTriggered: string[];
154
- exit: boolean;
155
- error: boolean;
156
- startingAgentName: string;
157
- lastAgentName: string;
158
- availableSpecialists: AvailableSpecialist[];
159
- isTransferredToSpecialist: boolean;
160
- }
161
- export interface EventRedirectFlow extends HtBaseEventAllFlowProps {
162
- action: EventAction.RedirectFlow;
163
- flowTargetId: string;
164
- flowTargetName: string;
165
- }
166
- export interface EventCaptureUserInput extends HtBaseEventAllFlowProps {
167
- action: EventAction.CaptureUserInput;
168
- fieldName: string;
169
- userInput: string;
170
- captureSuccess: boolean;
171
- messageId: string;
172
- }
173
- export interface EventFallback extends HtBaseEventProps {
174
- action: EventAction.Fallback;
175
- flowId: string;
176
- flowName: string;
177
- flowNodeId: string;
178
- flowNodeContentId: string;
179
- userInput: string;
180
- fallbackOut: number;
181
- fallbackMessageId: string;
182
- }
183
- export interface EventWebviewStep extends HtBaseEventProps {
184
- action: EventAction.WebviewStep;
185
- flowThreadId?: string;
186
- webviewThreadId: string;
187
- webviewName: string;
188
- webviewStepName: string;
189
- webviewStepNumber: number;
190
- }
191
- export interface EventWebviewEnd extends HtBaseEventProps {
192
- action: EventAction.WebviewEnd;
193
- flowThreadId?: string;
194
- webviewThreadId: string;
195
- webviewName: string;
196
- webviewStepName?: string;
197
- webviewStepNumber?: number;
198
- webviewEndFailType?: WebviewEndFailType;
199
- webviewEndFailMessage?: string;
200
- }
201
- export declare enum WebviewEndFailType {
202
- CanceledByUser = "canceled_by_user",
203
- ApiError = "api_error",
204
- NeedsEscalation = "needs_escalation"
205
- }
206
- export interface EventCustom extends HtBaseEventProps {
207
- action: EventAction.Custom;
208
- customFields?: Record<string, any>;
209
- customSensitiveFields?: Record<string, any>;
210
- }