@stack-spot/ai-chat-widget 1.3.3 → 1.4.1
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 +24 -0
- package/dist/app-metadata.json +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/state/WidgetState.d.ts +1 -0
- package/dist/state/WidgetState.d.ts.map +1 -1
- package/dist/state/WidgetState.js +10 -4
- package/dist/state/WidgetState.js.map +1 -1
- package/package.json +2 -2
- package/src/app-metadata.json +3 -3
- package/src/index.ts +1 -0
- package/src/state/WidgetState.ts +10 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.4.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget-v1.3.3...ai-chat-widget@v1.4.0) (2024-11-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* agent home + many more fixes and adjustments ([49963fb](https://github.com/stack-spot/portal-ai-chat-widget/commit/49963fbdd550b8c3440d260a4540531f26452509))
|
|
9
|
+
* agent home + many more fixes and adjustments ([49963fb](https://github.com/stack-spot/portal-ai-chat-widget/commit/49963fbdd550b8c3440d260a4540531f26452509))
|
|
10
|
+
* copy all event ([8e756e8](https://github.com/stack-spot/portal-ai-chat-widget/commit/8e756e84437c65d7f3ab43387de918bcdcc4a922))
|
|
11
|
+
* copy all event ([8e756e8](https://github.com/stack-spot/portal-ai-chat-widget/commit/8e756e84437c65d7f3ab43387de918bcdcc4a922))
|
|
12
|
+
* makes it easier to recover the default chat interceptors ([9f7c14f](https://github.com/stack-spot/portal-ai-chat-widget/commit/9f7c14f59d426badb0d5aa1fa9b393c3e01076a7))
|
|
13
|
+
* makes it easier to recover the default chat interceptors ([9f7c14f](https://github.com/stack-spot/portal-ai-chat-widget/commit/9f7c14f59d426badb0d5aa1fa9b393c3e01076a7))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* app metadata ([0eadd24](https://github.com/stack-spot/portal-ai-chat-widget/commit/0eadd249b724a3cc50069d1376b4ed76f1e1082d))
|
|
19
|
+
* app metadata ([0eadd24](https://github.com/stack-spot/portal-ai-chat-widget/commit/0eadd249b724a3cc50069d1376b4ed76f1e1082d))
|
|
20
|
+
* removes postinstall from published package ([1ecb2f3](https://github.com/stack-spot/portal-ai-chat-widget/commit/1ecb2f3c5b974b3c3e0884f5138d04fc78249643))
|
|
21
|
+
* removes postinstall from published package ([1ecb2f3](https://github.com/stack-spot/portal-ai-chat-widget/commit/1ecb2f3c5b974b3c3e0884f5138d04fc78249643))
|
|
22
|
+
* removes postinstall from published package ([0a5c2ea](https://github.com/stack-spot/portal-ai-chat-widget/commit/0a5c2ea2f552a8b1593474cfaebc37fbb87f6777))
|
|
23
|
+
* removes postinstall from published package ([0a5c2ea](https://github.com/stack-spot/portal-ai-chat-widget/commit/0a5c2ea2f552a8b1593474cfaebc37fbb87f6777))
|
|
24
|
+
* replaces hardcoded version with automatic version calculation ([95f6fc4](https://github.com/stack-spot/portal-ai-chat-widget/commit/95f6fc4c613f5561507cd70c6a5ba449a52dc88a))
|
|
25
|
+
* replaces hardcoded version with automatic version calculation ([95f6fc4](https://github.com/stack-spot/portal-ai-chat-widget/commit/95f6fc4c613f5561507cd70c6a5ba449a52dc88a))
|
|
26
|
+
|
|
3
27
|
## [1.3.2](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.3.1...ai-chat-widget@v1.3.2) (2024-11-01)
|
|
4
28
|
|
|
5
29
|
|
package/dist/app-metadata.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"date": "
|
|
3
|
+
"version": "1.4.1",
|
|
4
|
+
"date": "Mon Nov 04 2024 16:26:03 GMT-0300 (Horário Padrão de Brasília)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
8
|
-
"version": "1.0.
|
|
8
|
+
"version": "1.0.1"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "@types/lodash",
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type { AIWidgetFeatures, ChatFeatures } from './features.js';
|
|
|
6
6
|
export { StackspotAIWidget } from './StackspotAIWidget.js';
|
|
7
7
|
export { ChatEntry } from './state/ChatEntry.js';
|
|
8
8
|
export { ChatState } from './state/ChatState.js';
|
|
9
|
+
export type { MessageInterceptor } from './state/ChatState.js';
|
|
9
10
|
export { ChatTabsController } from './state/ChatTabsController.js';
|
|
10
11
|
export { ObservableState } from './state/ObservableState.js';
|
|
11
12
|
export type { Labeled, LabeledWithImage } from './state/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAE3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAE3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -68,6 +68,7 @@ export declare class WidgetState extends ObservableState<WidgetProperties> {
|
|
|
68
68
|
chatFeatures: ChatFeatures;
|
|
69
69
|
constructor({ chatTabs, initial, interceptors, features }?: Options);
|
|
70
70
|
private getNextUntitledChatIndex;
|
|
71
|
+
private getNextUntitledChatLabel;
|
|
71
72
|
/**
|
|
72
73
|
* Utility function for adding a new chat to the chat tabs. This also selects the new tab.
|
|
73
74
|
* @param properties the chat properties (initial state).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kCAAkC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACrF;;OAEG;IACH,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,UAAU,OAAO;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAID;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC;;OAEG;IACH,YAAY,EAAE,kBAAkB,EAAE,CAAK;IACvC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAA;gBAEd,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAiB,EAAE,QAAQ,EAAE,GAAE,OAAY;IAc5E,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kCAAkC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACrF;;OAEG;IACH,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,UAAU,OAAO;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAID;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC;;OAEG;IACH,YAAY,EAAE,kBAAkB,EAAE,CAAK;IACvC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAA;gBAEd,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAiB,EAAE,QAAQ,EAAE,GAAE,OAAY;IAc5E,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,wBAAwB;IAKhC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAE,OAAO,CAAC,kCAAkC,CAAM,EAAE,OAAO,GAAE,SAAS,EAAO;CAYjH"}
|
|
@@ -7,7 +7,7 @@ import { getFeaturesWithDefaults } from '../features.js';
|
|
|
7
7
|
import { ChatState } from './ChatState.js';
|
|
8
8
|
import { ChatTabsController } from './ChatTabsController.js';
|
|
9
9
|
import { ObservableState } from './ObservableState.js';
|
|
10
|
-
const untitledChatPrefix = 'Chat
|
|
10
|
+
const untitledChatPrefix = 'Chat';
|
|
11
11
|
/**
|
|
12
12
|
* Holds the full state of the AI Chat Widget.
|
|
13
13
|
*
|
|
@@ -39,13 +39,19 @@ export class WidgetState extends ObservableState {
|
|
|
39
39
|
getNextUntitledChatIndex() {
|
|
40
40
|
let max = 0;
|
|
41
41
|
for (const chat of this.chatTabs.getAll()) {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
if (chat.get('label') === untitledChatPrefix && max < 1)
|
|
43
|
+
max = 1;
|
|
44
|
+
const [, match] = chat.get('label').match(`^${untitledChatPrefix} (\\d+)$`) ?? [];
|
|
45
|
+
const index = match ? parseInt(match) : 0;
|
|
44
46
|
if (index > max)
|
|
45
47
|
max = index;
|
|
46
48
|
}
|
|
47
49
|
return max + 1;
|
|
48
50
|
}
|
|
51
|
+
getNextUntitledChatLabel() {
|
|
52
|
+
const next = this.getNextUntitledChatIndex();
|
|
53
|
+
return next > 1 ? `${untitledChatPrefix} ${next}` : untitledChatPrefix;
|
|
54
|
+
}
|
|
49
55
|
/**
|
|
50
56
|
* Utility function for adding a new chat to the chat tabs. This also selects the new tab.
|
|
51
57
|
* @param properties the chat properties (initial state).
|
|
@@ -55,7 +61,7 @@ export class WidgetState extends ObservableState {
|
|
|
55
61
|
createChat({ label, ...properties } = {}, entries = []) {
|
|
56
62
|
const chat = new ChatState({
|
|
57
63
|
id: ulid(),
|
|
58
|
-
initial: { label: label ||
|
|
64
|
+
initial: { label: label || this.getNextUntitledChatLabel(), features: this.chatFeatures, ...properties },
|
|
59
65
|
entries,
|
|
60
66
|
interceptors: this.interceptors,
|
|
61
67
|
untitled: !label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAA;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAkC,uBAAuB,EAAkB,MAAM,aAAa,CAAA;AAErG,OAAO,EAAsC,SAAS,EAAsB,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AA+CnD,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"styled-components": "6.1.10"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@stack-spot/app-metadata": "1.0.
|
|
21
|
+
"@stack-spot/app-metadata": "1.0.1",
|
|
22
22
|
"@types/lodash": "^4.14.202",
|
|
23
23
|
"@types/react": "^18.2.37",
|
|
24
24
|
"@types/react-dom": "^18.2.15",
|
package/src/app-metadata.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"date": "
|
|
3
|
+
"version": "1.4.1",
|
|
4
|
+
"date": "Mon Nov 04 2024 16:26:03 GMT-0300 (Horário Padrão de Brasília)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
8
|
-
"version": "1.0.
|
|
8
|
+
"version": "1.0.1"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "@types/lodash",
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type { AIWidgetFeatures, ChatFeatures } from './features'
|
|
|
8
8
|
export { StackspotAIWidget } from './StackspotAIWidget'
|
|
9
9
|
export { ChatEntry } from './state/ChatEntry'
|
|
10
10
|
export { ChatState } from './state/ChatState'
|
|
11
|
+
export type { MessageInterceptor } from './state/ChatState'
|
|
11
12
|
export { ChatTabsController } from './state/ChatTabsController'
|
|
12
13
|
export { ObservableState } from './state/ObservableState'
|
|
13
14
|
export type { Labeled, LabeledWithImage } from './state/types'
|
package/src/state/WidgetState.ts
CHANGED
|
@@ -54,7 +54,7 @@ interface Options {
|
|
|
54
54
|
chatTabs?: ChatTabsController,
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
const untitledChatPrefix = 'Chat
|
|
57
|
+
const untitledChatPrefix = 'Chat'
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* Holds the full state of the AI Chat Widget.
|
|
@@ -89,13 +89,19 @@ export class WidgetState extends ObservableState<WidgetProperties> {
|
|
|
89
89
|
private getNextUntitledChatIndex() {
|
|
90
90
|
let max = 0
|
|
91
91
|
for (const chat of this.chatTabs.getAll()) {
|
|
92
|
-
|
|
93
|
-
const
|
|
92
|
+
if (chat.get('label') === untitledChatPrefix && max < 1) max = 1
|
|
93
|
+
const [, match] = chat.get('label').match(`^${untitledChatPrefix} (\\d+)$`) ?? []
|
|
94
|
+
const index = match ? parseInt(match) : 0
|
|
94
95
|
if (index > max) max = index
|
|
95
96
|
}
|
|
96
97
|
return max + 1
|
|
97
98
|
}
|
|
98
99
|
|
|
100
|
+
private getNextUntitledChatLabel() {
|
|
101
|
+
const next = this.getNextUntitledChatIndex()
|
|
102
|
+
return next > 1 ? `${untitledChatPrefix} ${next}` : untitledChatPrefix
|
|
103
|
+
}
|
|
104
|
+
|
|
99
105
|
/**
|
|
100
106
|
* Utility function for adding a new chat to the chat tabs. This also selects the new tab.
|
|
101
107
|
* @param properties the chat properties (initial state).
|
|
@@ -105,7 +111,7 @@ export class WidgetState extends ObservableState<WidgetProperties> {
|
|
|
105
111
|
createChat({ label, ...properties }: Partial<ChatPropertiesWithOptionalFeatures> = {}, entries: ChatEntry[] = []) {
|
|
106
112
|
const chat = new ChatState({
|
|
107
113
|
id: ulid(),
|
|
108
|
-
initial: { label: label ||
|
|
114
|
+
initial: { label: label || this.getNextUntitledChatLabel(), features: this.chatFeatures, ...properties },
|
|
109
115
|
entries,
|
|
110
116
|
interceptors: this.interceptors,
|
|
111
117
|
untitled: !label,
|