@veracity/ai 1.0.1 → 2.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/dist/{ChatCompletionSSE.d.ts → ChatClient.d.ts} +22 -13
- package/dist/ChatClient.d.ts.map +1 -0
- package/dist/ChatMessageItem.d.ts +1 -1
- package/dist/ClientFunctionInvocation.d.ts +14 -0
- package/dist/ClientFunctionInvocation.d.ts.map +1 -0
- package/dist/ClientFunctionInvocationContext.d.ts +10 -0
- package/dist/ClientFunctionInvocationContext.d.ts.map +1 -0
- package/dist/Markdown/index.d.ts +2 -2
- package/dist/Markdown/index.d.ts.map +1 -1
- package/dist/Markdown/math.d.ts.map +1 -1
- package/dist/MaxInputLimitReachedError.d.ts +4 -0
- package/dist/MaxInputLimitReachedError.d.ts.map +1 -0
- package/dist/Pyodide.d.ts +1 -1
- package/dist/Pyodide.d.ts.map +1 -1
- package/dist/ToolCallBuilder.d.ts +13 -0
- package/dist/ToolCallBuilder.d.ts.map +1 -0
- package/dist/UnexpectedEndOfStreamError.d.ts +4 -0
- package/dist/UnexpectedEndOfStreamError.d.ts.map +1 -0
- package/dist/components/Button.d.ts +1 -0
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/ButtonOptionsDialog.d.ts +27 -0
- package/dist/components/ButtonOptionsDialog.d.ts.map +1 -0
- package/dist/components/Chat/index.d.ts +39 -0
- package/dist/components/Chat/index.d.ts.map +1 -0
- package/dist/components/Conversation.d.ts +54 -0
- package/dist/components/Conversation.d.ts.map +1 -0
- package/dist/components/ConversationMessage.d.ts +53 -0
- package/dist/components/ConversationMessage.d.ts.map +1 -0
- package/dist/components/PythonCodeInterpreter.d.ts +38 -0
- package/dist/components/PythonCodeInterpreter.d.ts.map +1 -0
- package/dist/components/Search.d.ts +16 -0
- package/dist/components/Search.d.ts.map +1 -0
- package/dist/components/icons/AngleDown.d.ts +3 -0
- package/dist/components/icons/AngleDown.d.ts.map +1 -0
- package/dist/components/icons/ArrowDown.d.ts +1 -1
- package/dist/components/icons/Check.d.ts +1 -1
- package/dist/components/icons/CheckCircle.d.ts +3 -0
- package/dist/components/icons/CheckCircle.d.ts.map +1 -0
- package/dist/components/icons/ExclamationCircle.d.ts +1 -1
- package/dist/components/icons/ExclamationTriangle.d.ts +1 -1
- package/dist/components/icons/InfoCircle.d.ts +1 -1
- package/dist/components/icons/QuestionCircle.d.ts +1 -1
- package/dist/components/icons/SearchIcon.d.ts +3 -0
- package/dist/components/icons/SearchIcon.d.ts.map +1 -0
- package/dist/components/icons/Spinner.d.ts +1 -1
- package/dist/components/icons/Times.d.ts +3 -0
- package/dist/components/icons/Times.d.ts.map +1 -0
- package/dist/components/icons/TimesCircle.d.ts +1 -1
- package/dist/core-CdG-ENX3.js +1069 -0
- package/dist/{csharp-Cigc7XMa.js → csharp-EkcwwkCa.js} +18 -13
- package/dist/{css-B-yPI1XM.js → css-CJS6IEi0.js} +127 -18
- package/dist/dtos.d.ts +34 -4
- package/dist/dtos.d.ts.map +1 -1
- package/dist/enums.d.ts +13 -29
- package/dist/enums.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/{javascript-CDslspYb.js → javascript-B2FVNeJt.js} +26 -24
- package/dist/{katex-Cj8zHzei.js → katex-c21813vb.js} +454 -428
- package/dist/{python-CzH_tl5q.js → python-CymlFLB0.js} +21 -19
- package/dist/{typescript-Bx5cZccb.js → typescript-Cg8DWaxm.js} +163 -148
- package/dist/utils/CancellationToken.d.ts.map +1 -1
- package/dist/utils/Channel.d.ts +42 -1
- package/dist/utils/Channel.d.ts.map +1 -1
- package/dist/utils/animateAsync.d.ts +1 -1
- package/dist/utils/createDeferred.d.ts.map +1 -1
- package/dist/utils/parsePartialJSON.d.ts +1 -1
- package/dist/utils/parsePartialJSON.d.ts.map +1 -1
- package/dist/veracity-ai.es.js +5359 -5416
- package/dist/veracity-ai.umd.js +37 -40
- package/package.json +26 -19
- package/dist/ChatCompletionSSE.d.ts.map +0 -1
- package/dist/Markdown copy.d.ts +0 -2
- package/dist/Markdown copy.d.ts.map +0 -1
- package/dist/MessageLimitExceededError.d.ts +0 -6
- package/dist/MessageLimitExceededError.d.ts.map +0 -1
- package/dist/Pyodide_test.d.ts +0 -1
- package/dist/Pyodide_test.d.ts.map +0 -1
- package/dist/components/AIChat/index.d.ts +0 -42
- package/dist/components/AIChat/index.d.ts.map +0 -1
- package/dist/components/AIChatAgentMessage.d.ts +0 -28
- package/dist/components/AIChatAgentMessage.d.ts.map +0 -1
- package/dist/components/AIChatMessage.d.ts +0 -1
- package/dist/components/AIChatMessage.d.ts.map +0 -1
- package/dist/components/AIChatToolCallGroup.d.ts +0 -21
- package/dist/components/AIChatToolCallGroup.d.ts.map +0 -1
- package/dist/components/AIChatUserMessage.d.ts +0 -14
- package/dist/components/AIChatUserMessage.d.ts.map +0 -1
- package/dist/components/AIConversation.d.ts +0 -8
- package/dist/components/AIConversation.d.ts.map +0 -1
- package/dist/components/AIParent.d.ts +0 -8
- package/dist/components/AIParent.d.ts.map +0 -1
- package/dist/components/ErrorNotification.d.ts +0 -2
- package/dist/components/ErrorNotification.d.ts.map +0 -1
- package/dist/components/ToolCallComponent/TaskItemComponent.d.ts +0 -14
- package/dist/components/ToolCallComponent/TaskItemComponent.d.ts.map +0 -1
- package/dist/components/ToolCallComponent/index.d.ts +0 -86
- package/dist/components/ToolCallComponent/index.d.ts.map +0 -1
- package/dist/components/VeracityAvatar.d.ts +0 -3
- package/dist/components/VeracityAvatar.d.ts.map +0 -1
- package/dist/components/VeracityLogoSquare.d.ts +0 -3
- package/dist/components/VeracityLogoSquare.d.ts.map +0 -1
- package/dist/core-Diwflo5W.js +0 -1077
- package/dist/modals.d.ts +0 -9
- package/dist/modals.d.ts.map +0 -1
- package/dist/utils/decodePythonTripleQuotedString.d.ts +0 -2
- package/dist/utils/decodePythonTripleQuotedString.d.ts.map +0 -1
- package/dist/utils/generateAvatarLetter.d.ts +0 -2
- package/dist/utils/generateAvatarLetter.d.ts.map +0 -1
- package/dist/utils/getElementTextPreserveNewlines.d.ts +0 -2
- package/dist/utils/getElementTextPreserveNewlines.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/ai",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Veracity AI UI",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,34 +31,41 @@
|
|
|
31
31
|
"build": "vite build",
|
|
32
32
|
"preview": "vite preview",
|
|
33
33
|
"test:browser": "vite --open /test_in_browser.html",
|
|
34
|
-
"format": "prettier --write ."
|
|
34
|
+
"format": "prettier --write .",
|
|
35
|
+
"preinstall": "npx npm-force-resolutions"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"highlight.js": "^11.
|
|
38
|
-
"katex": "^0.16.
|
|
39
|
-
"mdast-util-from-markdown": "^2.0.
|
|
38
|
+
"highlight.js": "^11.10.0",
|
|
39
|
+
"katex": "^0.16.15",
|
|
40
|
+
"mdast-util-from-markdown": "^2.0.2",
|
|
40
41
|
"mdast-util-gfm-table": "^2.0.0",
|
|
41
42
|
"mdast-util-math": "^3.0.0",
|
|
42
|
-
"micromark-extension-gfm-table": "^2.
|
|
43
|
-
"micromark-extension-math": "^3.
|
|
44
|
-
"pyodide": "^0.
|
|
43
|
+
"micromark-extension-gfm-table": "^2.1.0",
|
|
44
|
+
"micromark-extension-math": "^3.1.0",
|
|
45
|
+
"pyodide": "^0.26.4",
|
|
45
46
|
"whatwg-fetch": "^3.6.20"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
|
-
"@tailwindcss/typography": "^0.5.
|
|
49
|
-
"autoprefixer": "^10.4.
|
|
49
|
+
"@tailwindcss/typography": "^0.5.15",
|
|
50
|
+
"autoprefixer": "^10.4.20",
|
|
50
51
|
"mini-svg-data-uri": "^1.4.4",
|
|
51
|
-
"postcss": "^8.4.
|
|
52
|
-
"prettier": "^3.2
|
|
53
|
-
"sass": "^1.
|
|
54
|
-
"tailwindcss": "^3.4.
|
|
55
|
-
"typescript": "^5.
|
|
56
|
-
"vite": "^
|
|
57
|
-
"vite-plugin-dts": "^3.
|
|
58
|
-
"vite-plugin-mkcert": "^1.17.
|
|
52
|
+
"postcss": "^8.4.49",
|
|
53
|
+
"prettier": "^3.4.2",
|
|
54
|
+
"sass": "^1.82.0",
|
|
55
|
+
"tailwindcss": "^3.4.16",
|
|
56
|
+
"typescript": "^5.7.2",
|
|
57
|
+
"vite": "^6.0.3",
|
|
58
|
+
"vite-plugin-dts": "^4.3.0",
|
|
59
|
+
"vite-plugin-mkcert": "^1.17.6"
|
|
60
|
+
},
|
|
61
|
+
"optionalDependencies": {
|
|
62
|
+
"@rollup/rollup-linux-x64-gnu": "4.28.1"
|
|
59
63
|
},
|
|
60
64
|
"files": [
|
|
61
65
|
"dist/**/*",
|
|
62
66
|
"README.md"
|
|
63
|
-
]
|
|
67
|
+
],
|
|
68
|
+
"resolutions": {
|
|
69
|
+
"ws": "8.17.1"
|
|
70
|
+
}
|
|
64
71
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatCompletionSSE.d.ts","sourceRoot":"","sources":["../src/ChatCompletionSSE.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,cAAc,EAAsC,MAAM,QAAQ,CAAC;AACvG,OAAO,EAAE,4BAA4B,EAA8B,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,wBAAwB,CAAC;IACtE,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAExC,UAAU,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE;IAoBpF,IAAI;YAIU,cAAc;YA8Bd,0BAA0B;YAO1B,2BAA2B;IAOzC,OAAO,CAAC,YAAY,CAAqB;YAE3B,mBAAmB;YAOnB,gBAAgB;YA4NhB,iBAAiB;IAe/B,eAAe;CAGhB;AAcD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,4BAA4B,CAAC;IAEnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4BAA4B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAE5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4BAA4B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,+BAA+B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD"}
|
package/dist/Markdown copy.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown copy.d.ts","sourceRoot":"","sources":["../src/Markdown copy.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,QASxE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ProjectUserRateLimitingSettingsDto } from "./dtos";
|
|
2
|
-
export declare class MessageLimitExceededError extends Error {
|
|
3
|
-
readonly limits: ProjectUserRateLimitingSettingsDto;
|
|
4
|
-
constructor(limits: ProjectUserRateLimitingSettingsDto);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=MessageLimitExceededError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageLimitExceededError.d.ts","sourceRoot":"","sources":["../src/MessageLimitExceededError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,QAAQ,CAAC;AAE5D,qBAAa,yBAA0B,SAAQ,KAAK;aACtB,MAAM,EAAE,kCAAkC;gBAA1C,MAAM,EAAE,kCAAkC;CAKvE"}
|
package/dist/Pyodide_test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=Pyodide_test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pyodide_test.d.ts","sourceRoot":"","sources":["../src/Pyodide_test.ts"],"names":[],"mappings":""}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChatMessageItem } from "../../ChatMessageItem";
|
|
2
|
-
import { Extension } from "mdast-util-from-markdown";
|
|
3
|
-
export interface AIChatOptions {
|
|
4
|
-
userId: string;
|
|
5
|
-
givenName: string;
|
|
6
|
-
surname: string;
|
|
7
|
-
displayName: string;
|
|
8
|
-
url: string;
|
|
9
|
-
fetch?: typeof window.fetch;
|
|
10
|
-
}
|
|
11
|
-
export declare class AIChatBase {
|
|
12
|
-
readonly node: HTMLElement;
|
|
13
|
-
readonly messages: ChatMessageItem[];
|
|
14
|
-
constructor();
|
|
15
|
-
}
|
|
16
|
-
export declare class AIChat {
|
|
17
|
-
readonly node: HTMLElement;
|
|
18
|
-
readonly userId: string;
|
|
19
|
-
readonly givenName: string;
|
|
20
|
-
readonly surname: string;
|
|
21
|
-
readonly displayName: string;
|
|
22
|
-
readonly avatarLetters: string;
|
|
23
|
-
readonly url: string;
|
|
24
|
-
readonly fetch: typeof window.fetch;
|
|
25
|
-
readonly chatBase: AIChatBase;
|
|
26
|
-
readonly statusNode: Node;
|
|
27
|
-
readonly frontEndFunctions: {
|
|
28
|
-
[functionName: string]: (...args: any[]) => any;
|
|
29
|
-
};
|
|
30
|
-
readonly mdastExtensions: Extension[];
|
|
31
|
-
pyodide: any;
|
|
32
|
-
private _initializePyodidePromise;
|
|
33
|
-
initializePyodideAsync(): Promise<any>;
|
|
34
|
-
doInitializePyodide(): Promise<any>;
|
|
35
|
-
runPythonCodeAsync(code: string): Promise<any>;
|
|
36
|
-
private _completion;
|
|
37
|
-
get canSubmit(): boolean;
|
|
38
|
-
constructor(options: AIChatOptions);
|
|
39
|
-
submitMessageAsync(message: string): Promise<void>;
|
|
40
|
-
stop(): void;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AIChat/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;CAC7B;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAM;;CAI3C;AAED,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACpC,QAAQ,CAAC,QAAQ,aAAoB;IACrC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;KAAE,CAAM;IACrF,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,CAAM;IAE3C,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,yBAAyB,CAA8C;IAE/E,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC;IAIhC,mBAAmB;IAUnB,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAMrC,OAAO,CAAC,WAAW,CAAoB;IAEvC,IAAI,SAAS,YAEZ;gBAEW,OAAO,EAAE,aAAa;IA6D5B,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAmDxC,IAAI;CA6CL"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ChatMessageItem } from "../ChatMessageItem";
|
|
2
|
-
import { ChatMessageDto } from "../dtos";
|
|
3
|
-
import { AIChat } from "./AIChat";
|
|
4
|
-
import { AIChatToolCallGroup } from "./AIChatToolCallGroup";
|
|
5
|
-
import { AIParent } from "./AIParent";
|
|
6
|
-
export declare class AIChatAgentMessage implements ChatMessageItem, AIParent {
|
|
7
|
-
readonly chat: AIChat;
|
|
8
|
-
readonly size: AIChatAssistantMessageSize;
|
|
9
|
-
readonly node: DocumentFragment;
|
|
10
|
-
readonly nameNode: HTMLDivElement;
|
|
11
|
-
readonly contentNode: HTMLDivElement;
|
|
12
|
-
private _currentMarkdown;
|
|
13
|
-
private _currentMarkdownNode;
|
|
14
|
-
private _latestMarkdown;
|
|
15
|
-
private _currentToolCallGroup;
|
|
16
|
-
constructor(chat: AIChat, name: string, backgroundColor: string, icon: string, size: AIChatAssistantMessageSize);
|
|
17
|
-
toDto(): ChatMessageDto;
|
|
18
|
-
appendAgentMarkdownMessage(markdown: string): void;
|
|
19
|
-
getOrAppendToolCallGroup(): AIChatToolCallGroup;
|
|
20
|
-
reset(): void;
|
|
21
|
-
done(): void;
|
|
22
|
-
}
|
|
23
|
-
export declare enum AIChatAssistantMessageSize {
|
|
24
|
-
Small = 0,
|
|
25
|
-
Medium = 1
|
|
26
|
-
}
|
|
27
|
-
export declare function createAvatar(name: string, backgroundColor: string, icon: string, size: AIChatAssistantMessageSize): HTMLDivElement;
|
|
28
|
-
//# sourceMappingURL=AIChatAgentMessage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIChatAgentMessage.d.ts","sourceRoot":"","sources":["../../src/components/AIChatAgentMessage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwBtC,qBAAa,kBAAmB,YAAW,eAAe,EAAE,QAAQ;aAahD,IAAI,EAAE,MAAM;aAIZ,IAAI,EAAE,0BAA0B;IAhBlD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,oBAAoB,CAAiB;IAE7C,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,qBAAqB,CAAsB;gBAGjC,IAAI,EAAE,MAAM,EAC5B,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACI,IAAI,EAAE,0BAA0B;IAelD,KAAK,IAAI,cAAc;IAOvB,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAY3C,wBAAwB;IAQxB,KAAK;IAKL,IAAI;CAGL;AAED,oBAAY,0BAA0B;IACpC,KAAK,IAAA;IACL,MAAM,IAAA;CACP;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,kBASjH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=AIChatMessage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIChatMessage.d.ts","sourceRoot":"","sources":["../../src/components/AIChatMessage.tsx"],"names":[],"mappings":""}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ToolCallComponent } from "./ToolCallComponent";
|
|
2
|
-
import { AIChat } from "./AIChat";
|
|
3
|
-
export declare class AIChatToolCallGroup {
|
|
4
|
-
readonly chat: AIChat;
|
|
5
|
-
readonly node: HTMLDivElement;
|
|
6
|
-
readonly preliminaryToolCallsByIndex: {
|
|
7
|
-
[index: number]: PreliminaryToolCall;
|
|
8
|
-
};
|
|
9
|
-
readonly toolCallsByIndex: {
|
|
10
|
-
[index: number]: ToolCallComponent;
|
|
11
|
-
};
|
|
12
|
-
constructor(chat: AIChat);
|
|
13
|
-
getToolCall(index: number, id: string, name: string, args: string): ToolCallComponent;
|
|
14
|
-
}
|
|
15
|
-
interface PreliminaryToolCall {
|
|
16
|
-
id: string;
|
|
17
|
-
name: string;
|
|
18
|
-
args: string;
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=AIChatToolCallGroup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIChatToolCallGroup.d.ts","sourceRoot":"","sources":["../../src/components/AIChatToolCallGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,mBAAmB;aASF,IAAI,EAAE,MAAM;IARxC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,2BAA2B,EAAE;QACpC,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;KACtC,CAAM;IACP,QAAQ,CAAC,gBAAgB,EAAE;QACzB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;KACpC,CAAM;gBAEqB,IAAI,EAAE,MAAM;IAIxC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CA6ClE;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChatMessageItem } from "../ChatMessageItem";
|
|
2
|
-
import { ChatMessageDto } from "../dtos";
|
|
3
|
-
export declare class AIChatUserMessage implements ChatMessageItem {
|
|
4
|
-
readonly node: HTMLLIElement;
|
|
5
|
-
readonly userId: string;
|
|
6
|
-
readonly givenName: string;
|
|
7
|
-
readonly surname: string;
|
|
8
|
-
readonly displayName: string;
|
|
9
|
-
readonly avatarLetters: string;
|
|
10
|
-
private readonly _message;
|
|
11
|
-
constructor(userId: string, givenName: string, surname: string, displayName: string, avatarLetters: string, message: string);
|
|
12
|
-
toDto(): ChatMessageDto;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=AIChatUserMessage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIChatUserMessage.d.ts","sourceRoot":"","sources":["../../src/components/AIChatUserMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAahC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;IAwBjB,KAAK,IAAI,cAAc;CAMxB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AIParent } from "./AIParent";
|
|
2
|
-
import { AIChatAgentMessage } from "./AIChatAgentMessage";
|
|
3
|
-
import { ChatCompletionSSE } from "../ChatCompletionSSE";
|
|
4
|
-
export declare class AIConversationManager {
|
|
5
|
-
parentsByFunctionId: Map<string, AIParent>;
|
|
6
|
-
readMessagesAsync(chatCompletionSSE: ChatCompletionSSE, init: (name: string, backgroundColor: string, icon: string) => AIChatAgentMessage): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=AIConversation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIConversation.d.ts","sourceRoot":"","sources":["../../src/components/AIConversation.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAA4B,MAAM,sBAAsB,CAAC;AAenF,qBAAa,qBAAqB;IAChC,mBAAmB,wBAA+B;IAC5C,iBAAiB,CACrB,iBAAiB,EAAE,iBAAiB,EAEpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,kBAAkB;CA8HpF"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AIChatToolCallGroup } from "./AIChatToolCallGroup";
|
|
2
|
-
export interface AIParent {
|
|
3
|
-
appendAgentMarkdownMessage(markdown: string): void;
|
|
4
|
-
getOrAppendToolCallGroup(): AIChatToolCallGroup;
|
|
5
|
-
reset(): any;
|
|
6
|
-
done(): any;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=AIParent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIParent.d.ts","sourceRoot":"","sources":["../../src/components/AIParent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,wBAAwB,IAAI,mBAAmB,CAAC;IAChD,KAAK,QAAG;IACR,IAAI,QAAG;CACR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorNotification.d.ts","sourceRoot":"","sources":["../../src/components/ErrorNotification.tsx"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,kBAS3F"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare class TaskItemComponent {
|
|
2
|
-
readonly node: DocumentFragment;
|
|
3
|
-
private _icon;
|
|
4
|
-
private _iconNode;
|
|
5
|
-
private _markdown;
|
|
6
|
-
private _markdownNode;
|
|
7
|
-
constructor(icon: string, markdown: string);
|
|
8
|
-
get icon(): string;
|
|
9
|
-
set icon(value: string);
|
|
10
|
-
get markdown(): string;
|
|
11
|
-
set markdown(value: string);
|
|
12
|
-
status(progress: number, icon: string, markdown: string): void;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=TaskItemComponent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskItemComponent.d.ts","sourceRoot":"","sources":["../../../src/components/ToolCallComponent/TaskItemComponent.tsx"],"names":[],"mappings":"AAUA,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAkB;gBAE3B,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAa1C,IAAI,IAAI,IAIQ,MAAM,CAFrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAKrB;IAED,IAAI,QAAQ,IAIQ,MAAM,CAFzB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAKzB;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAIxD"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { LogLevel } from "../../enums";
|
|
2
|
-
import { AIChat } from "../AIChat";
|
|
3
|
-
import { AIChatToolCallGroup } from "../AIChatToolCallGroup";
|
|
4
|
-
import { AIParent } from "../AIParent";
|
|
5
|
-
export declare class ToolCallComponent implements AIParent {
|
|
6
|
-
readonly chat: AIChat;
|
|
7
|
-
readonly functionIndex: number;
|
|
8
|
-
readonly functionName: string;
|
|
9
|
-
functionAccumulatedArguments: string;
|
|
10
|
-
readonly node: HTMLDivElement;
|
|
11
|
-
functionId: string;
|
|
12
|
-
private readonly _titleNode;
|
|
13
|
-
private _titleStatusIconNode;
|
|
14
|
-
private _titleTextNode;
|
|
15
|
-
private readonly _bodyWrapperNode;
|
|
16
|
-
private readonly _bodyNode;
|
|
17
|
-
private _taskItemsById;
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @param functionIndex The index represents the ToolCallIndex property refered to here: https://learn.microsoft.com/en-us/dotnet/api/overview/azure/ai.openai-readme?view=azure-dotnet-preview.
|
|
21
|
-
* @param expanded Whether the box representing the tool call is expanded or not.
|
|
22
|
-
*/
|
|
23
|
-
constructor(chat: AIChat, functionIndex: number, // The index represents the ToolCallIndex property mentioned here: https://learn.microsoft.com/en-us/dotnet/api/overview/azure/ai.openai-readme?view=azure-dotnet-preview
|
|
24
|
-
functionName: string, functionAccumulatedArguments: string, expanded?: boolean);
|
|
25
|
-
/**
|
|
26
|
-
* Whether the box (node) representing the tool call is expanded or not.
|
|
27
|
-
* @returns {boolean}
|
|
28
|
-
*/
|
|
29
|
-
get expanded(): boolean;
|
|
30
|
-
private _expanded;
|
|
31
|
-
/**
|
|
32
|
-
* Setting this effectively expands or collapses the box (node) representing the tool call.
|
|
33
|
-
* @param {boolean} value - A value indicating whether the box is expanded or not.
|
|
34
|
-
*/
|
|
35
|
-
set expanded(value: boolean);
|
|
36
|
-
/**
|
|
37
|
-
* This method gets called by the code responsible for interpreting the protocol and routing data to the correct components.
|
|
38
|
-
* It contains the latest part of the arguments for a tool call.
|
|
39
|
-
* By accumulating the argument parts, we should end up with a JSON object. The back-end should use this JSON object to perform whatever action it wants.
|
|
40
|
-
* See the 'Use chat tools' section: https://learn.microsoft.com/en-us/dotnet/api/overview/azure/ai.openai-readme?view=azure-dotnet-preview.
|
|
41
|
-
* Usually, we don't display the arguments to the user.
|
|
42
|
-
* However, we shall make an exception for the tool named 'python' (aka. code interpreter), and display the code that will eventually be executed, to the user.
|
|
43
|
-
*/
|
|
44
|
-
appendArguments(args: string): void;
|
|
45
|
-
private invalidatePythonArguments;
|
|
46
|
-
private _highlightCode;
|
|
47
|
-
private extractCodeFromAccumulatedArguments;
|
|
48
|
-
/**
|
|
49
|
-
* Triggered by ChatCompletionSSEMessageType.ToolCallPython.
|
|
50
|
-
* The web browser will execute the Python code and send the result to the back-end.
|
|
51
|
-
* By leveraging the browser, we don't get the expenditure of running and provisioning Python interpreters on the back-end.
|
|
52
|
-
* There is a 1 min timeout for the Python code to execute. If it takes longer, the back-end will terminate the execution and send an error message to the browser.
|
|
53
|
-
*/
|
|
54
|
-
python(operationId: string, code: string): Promise<void>;
|
|
55
|
-
private appendPythonResultRow;
|
|
56
|
-
private _pythonStdouterrContainerNode;
|
|
57
|
-
private _pythonStdouterrNode;
|
|
58
|
-
private appendPythonStdouterr;
|
|
59
|
-
invokeFrontEnd(operationId: string, functioName: string, parametersAsJson: string): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Triggered by ChatCompletionSSEMessageType.Init.
|
|
62
|
-
* The back-end issues this command when a conversation is about to start with an agent.
|
|
63
|
-
* Since we are inside a tool call, this means that the conversation is with a sub-agent (nested agent).
|
|
64
|
-
* The parameters are used for the avatar.
|
|
65
|
-
* We will simply store the values and wait for appendAgentMarkdownMessage(...) to be called, which should subsequently be issued by the back-end.
|
|
66
|
-
*/
|
|
67
|
-
initAgent(name: string, backgroundColor: string, icon: string): void;
|
|
68
|
-
private _agentName;
|
|
69
|
-
private _agentBackgroundColor;
|
|
70
|
-
private _agentIcon;
|
|
71
|
-
appendAgentMarkdownMessage(markdown: string): void;
|
|
72
|
-
getOrAppendToolCallGroup(): AIChatToolCallGroup;
|
|
73
|
-
private getOrAppendGridLayoutNode;
|
|
74
|
-
private _gridLayoutNode;
|
|
75
|
-
private getOrAppendAgentMessage;
|
|
76
|
-
private _agentMessage;
|
|
77
|
-
reset(): void;
|
|
78
|
-
/** Currently not in use */
|
|
79
|
-
log(logLevel: LogLevel, time: number, markdown: string): void;
|
|
80
|
-
setTaskItemStatus(id: number, progress: number, icon: string, markdown: string): void;
|
|
81
|
-
setTitle(markdown: string): void;
|
|
82
|
-
done(): void;
|
|
83
|
-
error(error: string): void;
|
|
84
|
-
private appendError;
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ToolCallComponent/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAkE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvG,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AASvC,qBAAa,iBAAkB,YAAW,QAAQ;aAoB9B,IAAI,EAAE,MAAM;aACZ,aAAa,EAAE,MAAM;aACrB,YAAY,EAAE,MAAM;IAC7B,4BAA4B,EAAE,MAAM;IAtB7C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAE9B,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAE3C,OAAO,CAAC,cAAc,CAA2C;IAEjE;;;;OAIG;gBAEe,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,yKAAyK;IAChM,YAAY,EAAE,MAAM,EAC7B,4BAA4B,EAAE,MAAM,EAE3C,QAAQ,UAAO;IAuHjB;;;OAGG;IACH,IAAI,QAAQ,IAUQ,OAAO,CAR1B;IAED,OAAO,CAAC,SAAS,CAAU;IAE3B;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAc1B;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM;IAK5B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,cAAc,CAAyB;IAG/C,OAAO,CAAC,mCAAmC;IAwC3C;;;;;OAKG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA4D9C,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,6BAA6B,CAAiB;IACtD,OAAO,CAAC,oBAAoB,CAAiB;IAG7C,OAAO,CAAC,qBAAqB;IAcvB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAyCvF;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAM7D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,UAAU,CAAS;IAE3B,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIlD,wBAAwB,IAAI,mBAAmB;IAI/C,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe,CAAiB;IAGxC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,aAAa,CAAqB;IAE1C,KAAK;IAKL,2BAA2B;IAC3B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAEtD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAU9E,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB,IAAI;IAiBJ,KAAK,CAAC,KAAK,EAAE,MAAM;IAyBnB,OAAO,CAAC,WAAW;CAYpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VeracityAvatar.d.ts","sourceRoot":"","sources":["../../src/components/VeracityAvatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,sCAQ1F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VeracityLogoSquare.d.ts","sourceRoot":"","sources":["../../src/components/VeracityLogoSquare.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,EAAE,IAAW,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,cAqBtE"}
|