@servicetitan/titan-chatbot-api 6.1.1 → 7.0.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 +12 -0
- package/dist/api-client/__mocks__/chatbot-api-client.mock.d.ts +1 -1
- package/dist/api-client/__mocks__/chatbot-api-client.mock.d.ts.map +1 -1
- package/dist/api-client/__mocks__/chatbot-api-client.mock.js +6 -6
- package/dist/api-client/__mocks__/chatbot-api-client.mock.js.map +1 -1
- package/dist/api-client/base/chatbot-api-client.d.ts +1 -1
- package/dist/api-client/base/chatbot-api-client.d.ts.map +1 -1
- package/dist/api-client/help-center/chatbot-api-client.d.ts +1 -1
- package/dist/api-client/help-center/chatbot-api-client.d.ts.map +1 -1
- package/dist/api-client/help-center/chatbot-api-client.js +7 -4
- package/dist/api-client/help-center/chatbot-api-client.js.map +1 -1
- package/dist/api-client/titan-chat/__tests__/native-client.test.d.ts +2 -0
- package/dist/api-client/titan-chat/__tests__/native-client.test.d.ts.map +1 -0
- package/dist/api-client/titan-chat/__tests__/native-client.test.js +36 -0
- package/dist/api-client/titan-chat/__tests__/native-client.test.js.map +1 -0
- package/dist/api-client/titan-chat/chatbot-api-client.d.ts +2 -2
- package/dist/api-client/titan-chat/chatbot-api-client.d.ts.map +1 -1
- package/dist/api-client/titan-chat/chatbot-api-client.js +5 -5
- package/dist/api-client/titan-chat/chatbot-api-client.js.map +1 -1
- package/dist/api-client/titan-chat/native-client.d.ts +98 -40
- package/dist/api-client/titan-chat/native-client.d.ts.map +1 -1
- package/dist/api-client/titan-chat/native-client.js +436 -384
- package/dist/api-client/titan-chat/native-client.js.map +1 -1
- package/dist/stores/chatbot-ui-backend.store.d.ts.map +1 -1
- package/dist/stores/chatbot-ui-backend.store.js +17 -16
- package/dist/stores/chatbot-ui-backend.store.js.map +1 -1
- package/dist/stores/chatbot-ui.store.d.ts +5 -4
- package/dist/stores/chatbot-ui.store.d.ts.map +1 -1
- package/dist/stores/chatbot-ui.store.js +4 -6
- package/dist/stores/chatbot-ui.store.js.map +1 -1
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/message-feedback-base.store.d.ts +2 -1
- package/dist/stores/message-feedback-base.store.d.ts.map +1 -1
- package/dist/stores/message-feedback-guardrail.store.d.ts +2 -3
- package/dist/stores/message-feedback-guardrail.store.d.ts.map +1 -1
- package/dist/stores/message-feedback-guardrail.store.js +4 -10
- package/dist/stores/message-feedback-guardrail.store.js.map +1 -1
- package/dist/stores/message-feedback.store.d.ts +2 -3
- package/dist/stores/message-feedback.store.d.ts.map +1 -1
- package/dist/stores/message-feedback.store.js +3 -6
- package/dist/stores/message-feedback.store.js.map +1 -1
- package/dist/stores/session-feedback.store.d.ts +2 -2
- package/dist/stores/session-feedback.store.d.ts.map +1 -1
- package/dist/stores/session-feedback.store.js +3 -3
- package/dist/stores/session-feedback.store.js.map +1 -1
- package/package.json +3 -3
- package/src/api-client/__mocks__/chatbot-api-client.mock.ts +1 -1
- package/src/api-client/base/chatbot-api-client.ts +4 -1
- package/src/api-client/help-center/chatbot-api-client.ts +9 -5
- package/src/api-client/titan-chat/__tests__/native-client.test.ts +37 -0
- package/src/api-client/titan-chat/chatbot-api-client.ts +7 -7
- package/src/api-client/titan-chat/native-client.ts +622 -424
- package/src/stores/chatbot-ui-backend.store.ts +19 -16
- package/src/stores/chatbot-ui.store.ts +7 -10
- package/src/stores/index.ts +1 -1
- package/src/stores/message-feedback-base.store.ts +7 -1
- package/src/stores/message-feedback-guardrail.store.ts +6 -12
- package/src/stores/message-feedback.store.ts +5 -8
- package/src/stores/session-feedback.store.ts +4 -3
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-feedback.store.js","sourceRoot":"","sources":["../../src/stores/message-feedback.store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAmB,MAAM,oBAAoB,CAAC;AAatE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG7B,IAAc,uBAAuB;;QACjC,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,0CAAE,uBAAuB,mCAAI,KAAK,CAAC;IACzF,CAAC;IAED,IAAc,iBAAiB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACxE,CAAC;IAED,IAAc,OAAO;QACjB,OAAO,CACH,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAC/B,CAAC;IACN,CAAC;IAED,YAA4C,cAAgD;QAAhF;;;;mBAAiD,cAAc;WAAiB;QApBhF;;;;;WAAqC;
|
|
1
|
+
{"version":3,"file":"message-feedback.store.js","sourceRoot":"","sources":["../../src/stores/message-feedback.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FieldState, FormState } from 'formstate';
|
|
2
|
-
import {
|
|
2
|
+
import { FeedbackDraft } from './message-feedback-base.store';
|
|
3
3
|
export declare class SessionFeedbackStore {
|
|
4
4
|
formState: FormState<{
|
|
5
5
|
thumbs: FieldState<number>;
|
|
6
6
|
comment: FieldState<string>;
|
|
7
7
|
}>;
|
|
8
8
|
get isValid(): boolean;
|
|
9
|
-
get feedback():
|
|
9
|
+
get feedback(): FeedbackDraft;
|
|
10
10
|
get isThumbsUp(): boolean;
|
|
11
11
|
get isThumbsDown(): boolean;
|
|
12
12
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-feedback.store.d.ts","sourceRoot":"","sources":["../../src/stores/session-feedback.store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session-feedback.store.d.ts","sourceRoot":"","sources":["../../src/stores/session-feedback.store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,qBACa,oBAAoB;IAE7B,SAAS;;;OAGN;IAEH,IACI,OAAO,YAEV;IAED,IACI,QAAQ,IAAI,aAAa,CAQ5B;IAED,IACI,UAAU,YAEb;IAED,IACI,YAAY,YAEf;;CAKJ"}
|
|
@@ -16,12 +16,12 @@ let SessionFeedbackStore = class SessionFeedbackStore {
|
|
|
16
16
|
return this.formState.$.thumbs.value !== 0;
|
|
17
17
|
}
|
|
18
18
|
get feedback() {
|
|
19
|
-
return
|
|
19
|
+
return {
|
|
20
20
|
rating: this.formState.$.thumbs.value > 0
|
|
21
21
|
? Models.FeedbackRatings.ThumbsUp
|
|
22
22
|
: Models.FeedbackRatings.ThumbsDown,
|
|
23
23
|
description: this.formState.$.comment.value || undefined,
|
|
24
|
-
}
|
|
24
|
+
};
|
|
25
25
|
}
|
|
26
26
|
get isThumbsUp() {
|
|
27
27
|
return this.formState.$.thumbs.value > 0;
|
|
@@ -53,7 +53,7 @@ __decorate([
|
|
|
53
53
|
], SessionFeedbackStore.prototype, "isValid", null);
|
|
54
54
|
__decorate([
|
|
55
55
|
computed,
|
|
56
|
-
__metadata("design:type",
|
|
56
|
+
__metadata("design:type", Object),
|
|
57
57
|
__metadata("design:paramtypes", [])
|
|
58
58
|
], SessionFeedbackStore.prototype, "feedback", null);
|
|
59
59
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-feedback.store.js","sourceRoot":"","sources":["../../src/stores/session-feedback.store.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session-feedback.store.js","sourceRoot":"","sources":["../../src/stores/session-feedback.store.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIhC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAO7B,IACI,OAAO;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IACI,QAAQ;QACR,OAAO;YACH,MAAM,EACF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ;gBACjC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU;YAC3C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS;SAC3D,CAAC;IACN,CAAC;IAED,IACI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,IACI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;QA/BA;;;;mBAAY,IAAI,SAAS,CAAC;gBACtB,MAAM,EAAE,IAAI,UAAU,CAAS,CAAC,CAAC;gBACjC,OAAO,EAAE,IAAI,UAAU,CAAS,EAAE,CAAC;aACtC,CAAC;WAAC;QA6BC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACJ,CAAA;AAlCG;IADC,UAAU;;uDAIR;AAEH;IAAC,QAAQ;;;mDAGR;AAED;IAAC,QAAQ;;;oDASR;AAED;IAAC,QAAQ;;;sDAGR;AAED;IAAC,QAAQ;;;wDAGR;AA/BQ,oBAAoB;IADhC,UAAU,EAAE;;GACA,oBAAoB,CAoChC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/titan-chatbot-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Chatbot client API package",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"push:local": "yalc push"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@servicetitan/titan-chat-ui-common": "^
|
|
20
|
+
"@servicetitan/titan-chat-ui-common": "^7.0.0",
|
|
21
21
|
"lodash": "^4.18.1",
|
|
22
22
|
"nanoid": "^5.1.5"
|
|
23
23
|
},
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"cli": {
|
|
43
43
|
"webpack": false
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "27a3e45b0667ce4703a77b44a0b5b84c8cfc0252"
|
|
46
46
|
}
|
|
@@ -3,10 +3,10 @@ import { IChatbotApiClient } from '..';
|
|
|
3
3
|
export class ChatbotApiClientMock implements IChatbotApiClient {
|
|
4
4
|
postFeedback = jest.fn();
|
|
5
5
|
postMessage = jest.fn();
|
|
6
|
+
postFollowUpEmail = jest.fn();
|
|
6
7
|
getOptions = jest.fn();
|
|
7
8
|
postSession = jest.fn();
|
|
8
9
|
patchSession = jest.fn();
|
|
9
10
|
deleteSession = jest.fn();
|
|
10
11
|
getTranscripts = jest.fn();
|
|
11
|
-
getSummary = jest.fn();
|
|
12
12
|
}
|
|
@@ -25,6 +25,10 @@ export interface IChatbotClientSettings {}
|
|
|
25
25
|
export interface IChatbotApiClient {
|
|
26
26
|
postFeedback(body: Models.IFeedback, abortSignal?: AbortSignal): Promise<Models.Feedback>;
|
|
27
27
|
postMessage(body: Models.IUserMessage, abortSignal?: AbortSignal): Promise<Models.BotMessage>;
|
|
28
|
+
postFollowUpEmail(
|
|
29
|
+
body: Models.IUserMessage,
|
|
30
|
+
abortSignal?: AbortSignal
|
|
31
|
+
): Promise<Models.BotMessage>;
|
|
28
32
|
getOptions(abortSignal?: AbortSignal): Promise<Models.FrontendModel>;
|
|
29
33
|
postSession(body: Models.ISession, abortSignal?: AbortSignal): Promise<Models.Session>;
|
|
30
34
|
patchSession(body: Models.ISession, abortSignal?: AbortSignal): Promise<Models.Session>;
|
|
@@ -34,5 +38,4 @@ export interface IChatbotApiClient {
|
|
|
34
38
|
end?: Date,
|
|
35
39
|
signal?: AbortSignal
|
|
36
40
|
): Promise<Models.ExportHistoryMessage[]>;
|
|
37
|
-
getSummary(sessionId?: number, signal?: AbortSignal): Promise<string>;
|
|
38
41
|
}
|
|
@@ -70,6 +70,15 @@ export class ChatbotApiClient implements IChatbotApiClient {
|
|
|
70
70
|
return ConverterToModels.convertBotMessage(botMessage);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
postFollowUpEmail(
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
75
|
+
body: Models.UserMessage,
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
77
|
+
abortSignal?: AbortSignal
|
|
78
|
+
): Promise<Models.BotMessage> {
|
|
79
|
+
throw new Error('Method not implemented for Help Center chatbot API.');
|
|
80
|
+
}
|
|
81
|
+
|
|
73
82
|
async getOptions(abortSignal?: AbortSignal): Promise<Models.FrontendModel> {
|
|
74
83
|
const filterOptions = await this.client.getFilterOptions(abortSignal);
|
|
75
84
|
return ConverterToModels.convertFilterOptions(filterOptions);
|
|
@@ -110,9 +119,4 @@ export class ChatbotApiClient implements IChatbotApiClient {
|
|
|
110
119
|
): Promise<Models.ExportHistoryMessage[]> {
|
|
111
120
|
throw new Error('Method not implemented for Help Center chatbot API.');
|
|
112
121
|
}
|
|
113
|
-
|
|
114
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
115
|
-
getSummary(sessionId?: number, signal?: AbortSignal): Promise<string> {
|
|
116
|
-
throw new Error('Method not implemented for Help Center chatbot API.');
|
|
117
|
-
}
|
|
118
122
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { expect } from '@jest/globals';
|
|
2
|
+
import { Models } from '../..';
|
|
3
|
+
|
|
4
|
+
describe('titan-chat native-client generated models', () => {
|
|
5
|
+
/*
|
|
6
|
+
* Regression guard: BotMessage and UserMessage extend a shared Message base. With
|
|
7
|
+
* useDefineForClassFields=true, subclass field declarations re-emit as defineProperty
|
|
8
|
+
* *after* super(data) and would clobber the values the parent constructor's for-in loop
|
|
9
|
+
* just copied. The generated file uses `declare` on subclass fields to suppress those
|
|
10
|
+
* emissions. If a future regen drops `declare`, these tests fail loudly.
|
|
11
|
+
*/
|
|
12
|
+
test('BotMessage constructor preserves data fields', () => {
|
|
13
|
+
const message = new Models.BotMessage({
|
|
14
|
+
id: 7,
|
|
15
|
+
sessionId: 42,
|
|
16
|
+
answer: 'hello',
|
|
17
|
+
guardFlag: 'N',
|
|
18
|
+
isGuardrailed: false,
|
|
19
|
+
});
|
|
20
|
+
expect(message.answer).toBe('hello');
|
|
21
|
+
expect(message.guardFlag).toBe('N');
|
|
22
|
+
expect(message.isGuardrailed).toBe(false);
|
|
23
|
+
expect(message.id).toBe(7);
|
|
24
|
+
expect(message.sessionId).toBe(42);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('UserMessage constructor preserves data fields', () => {
|
|
28
|
+
const message = new Models.UserMessage({
|
|
29
|
+
sessionId: 42,
|
|
30
|
+
question: 'why?',
|
|
31
|
+
experience: Models.Experience.MultiTurn,
|
|
32
|
+
});
|
|
33
|
+
expect(message.question).toBe('why?');
|
|
34
|
+
expect(message.experience).toBe(Models.Experience.MultiTurn);
|
|
35
|
+
expect(message.sessionId).toBe(42);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -17,7 +17,7 @@ import { Client } from './native-client';
|
|
|
17
17
|
export interface IChatbotClientSettingsTitanChat extends IChatbotClientSettings {
|
|
18
18
|
constructorParametersFactory: () => {
|
|
19
19
|
baseUrl?: FirstParameterType<typeof Client>;
|
|
20
|
-
|
|
20
|
+
httpClient?: SecondParameterType<typeof Client>;
|
|
21
21
|
};
|
|
22
22
|
version: string;
|
|
23
23
|
clientId: string;
|
|
@@ -43,9 +43,9 @@ export class ChatbotApiClient implements IChatbotApiClient {
|
|
|
43
43
|
@inject(CHATBOT_CLIENT_SETTINGS)
|
|
44
44
|
private readonly chatbotApiClientSettings: IChatbotClientSettingsTitanChat
|
|
45
45
|
) {
|
|
46
|
-
const {
|
|
46
|
+
const { baseUrl, httpClient } =
|
|
47
47
|
this.chatbotApiClientSettings.constructorParametersFactory();
|
|
48
|
-
this.client = new Client(baseUrl,
|
|
48
|
+
this.client = new Client(baseUrl, httpClient);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
postFeedback(body: Models.Feedback, abortSignal?: AbortSignal) {
|
|
@@ -56,6 +56,10 @@ export class ChatbotApiClient implements IChatbotApiClient {
|
|
|
56
56
|
return this.client.message(this.version, this.clientId, body, abortSignal);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
postFollowUpEmail(body: Models.UserMessage, abortSignal?: AbortSignal) {
|
|
60
|
+
return this.client.followUpEmail(this.version, this.clientId, body, abortSignal);
|
|
61
|
+
}
|
|
62
|
+
|
|
59
63
|
getOptions(abortSignal?: AbortSignal): Promise<Models.FrontendModel> {
|
|
60
64
|
return this.client.options(this.version, this.clientId, abortSignal);
|
|
61
65
|
}
|
|
@@ -75,8 +79,4 @@ export class ChatbotApiClient implements IChatbotApiClient {
|
|
|
75
79
|
getTranscripts(start?: Date, end?: Date, signal?: AbortSignal) {
|
|
76
80
|
return this.client.transcripts(start, end, this.version, this.clientId, signal);
|
|
77
81
|
}
|
|
78
|
-
|
|
79
|
-
getSummary(sessionId?: number, signal?: AbortSignal) {
|
|
80
|
-
return this.client.summary(sessionId, this.version, this.clientId, signal);
|
|
81
|
-
}
|
|
82
82
|
}
|