xiaoao-chat 0.5.0 → 0.5.3

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/README.md CHANGED
@@ -16,10 +16,6 @@ pnpm add xiaoao-chat
16
16
 
17
17
  ### Component List
18
18
 
19
- - `ChatInput` - Chat input component
20
- - `ChatIntroduce` - Chat introduction page
21
- - `ChatMessage` - Chat message display component
22
- - `ChatPopup` - Main chat popup container
23
19
  - `FloatBall` - Floating chat button
24
20
 
25
21
  ### Using with Composition API
@@ -0,0 +1,149 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
+ FloatBallRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ newChat?: boolean;
4
+ contactUs?: boolean;
5
+ joinUs?: boolean;
6
+ isDownload?: boolean;
7
+ }> & Readonly<{}>, {
8
+ show: import('vue').Ref<boolean, boolean>;
9
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
10
+ close: () => void;
11
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
12
+ isDownload: boolean;
13
+ newChat: boolean;
14
+ contactUs: boolean;
15
+ joinUs: boolean;
16
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
17
+ ChatPopupRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
18
+ newChat?: boolean;
19
+ contactUs?: boolean;
20
+ joinUs?: boolean;
21
+ isDownload?: boolean;
22
+ }> & Readonly<{}>, {
23
+ show: import('vue').Ref<boolean, boolean>;
24
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
25
+ close: () => void;
26
+ clearMessages: () => void;
27
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
28
+ isDownload: boolean;
29
+ newChat: boolean;
30
+ contactUs: boolean;
31
+ joinUs: boolean;
32
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
33
+ chatMessageRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
34
+ messages: {
35
+ type: ArrayConstructor;
36
+ default: () => never[];
37
+ };
38
+ isLoading: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ isDownload: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ autoScroll: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ }>> & Readonly<{
51
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
52
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
53
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
54
+ }>, {
55
+ scrollToBottom: () => void;
56
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
57
+ "scroll-to-bottom": (...args: any[]) => void;
58
+ "scroll-to-top": (...args: any[]) => void;
59
+ "show-references": (...args: any[]) => void;
60
+ }, import('vue').PublicProps, {
61
+ messages: unknown[];
62
+ isLoading: boolean;
63
+ isDownload: boolean;
64
+ autoScroll: boolean;
65
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
66
+ messagesContainer: HTMLDivElement;
67
+ }, any, import('vue').ComponentProvideOptions, {
68
+ P: {};
69
+ B: {};
70
+ D: {};
71
+ C: {};
72
+ M: {};
73
+ Defaults: {};
74
+ }, Readonly<import('vue').ExtractPropTypes<{
75
+ messages: {
76
+ type: ArrayConstructor;
77
+ default: () => never[];
78
+ };
79
+ isLoading: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ isDownload: {
84
+ type: BooleanConstructor;
85
+ default: boolean;
86
+ };
87
+ autoScroll: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ }>> & Readonly<{
92
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
93
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
94
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
95
+ }>, {
96
+ scrollToBottom: () => void;
97
+ }, {}, {}, {}, {
98
+ messages: unknown[];
99
+ isLoading: boolean;
100
+ isDownload: boolean;
101
+ autoScroll: boolean;
102
+ }> | null;
103
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
104
+ P: {};
105
+ B: {};
106
+ D: {};
107
+ C: {};
108
+ M: {};
109
+ Defaults: {};
110
+ }, Readonly<{
111
+ newChat?: boolean;
112
+ contactUs?: boolean;
113
+ joinUs?: boolean;
114
+ isDownload?: boolean;
115
+ }> & Readonly<{}>, {
116
+ show: import('vue').Ref<boolean, boolean>;
117
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
118
+ close: () => void;
119
+ clearMessages: () => void;
120
+ }, {}, {}, {}, {
121
+ isDownload: boolean;
122
+ newChat: boolean;
123
+ contactUs: boolean;
124
+ joinUs: boolean;
125
+ }> | null;
126
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
127
+ P: {};
128
+ B: {};
129
+ D: {};
130
+ C: {};
131
+ M: {};
132
+ Defaults: {};
133
+ }, Readonly<{
134
+ newChat?: boolean;
135
+ contactUs?: boolean;
136
+ joinUs?: boolean;
137
+ isDownload?: boolean;
138
+ }> & Readonly<{}>, {
139
+ show: import('vue').Ref<boolean, boolean>;
140
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
141
+ close: () => void;
142
+ }, {}, {}, {}, {
143
+ isDownload: boolean;
144
+ newChat: boolean;
145
+ contactUs: boolean;
146
+ joinUs: boolean;
147
+ }> | null;
148
+ }, HTMLDivElement>;
149
+ export default _default;
@@ -0,0 +1,18 @@
1
+ export interface MessageVo {
2
+ attachments: any;
3
+ content: string;
4
+ conversation_id: number;
5
+ create_datetime: string;
6
+ deleted_at: null;
7
+ id: number;
8
+ is_deleted: boolean;
9
+ rating: null;
10
+ role: string;
11
+ update_datetime: string;
12
+ used_agents: string[];
13
+ user_id: string;
14
+ }
15
+ export declare const apiPrefix = "/api/aoexpert/messages/";
16
+ export declare function getHistoryMessages(query: any): any;
17
+ export declare function getAllMessagesForSessionId(id: string): any;
18
+ export declare function exportMessages(id: number, type: string): any;
@@ -0,0 +1,48 @@
1
+ interface Props {
2
+ inputLabel?: string;
3
+ isLoading?: boolean;
4
+ enableDeepThinking?: boolean;
5
+ enableWebSearch?: boolean;
6
+ enableVoice?: boolean;
7
+ }
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ toolbar?(_: {}): any;
12
+ };
13
+ refs: {
14
+ inputLabelRef: HTMLDivElement;
15
+ };
16
+ rootEl: HTMLDivElement;
17
+ };
18
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
+ send: (data: {
21
+ message: string;
22
+ deepThinking: boolean;
23
+ webSearch: boolean;
24
+ }) => any;
25
+ cancel: ((...args: unknown[]) => any) | (() => any);
26
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
27
+ onSend?: ((data: {
28
+ message: string;
29
+ deepThinking: boolean;
30
+ webSearch: boolean;
31
+ }) => any) | undefined;
32
+ onCancel?: ((...args: unknown[] & []) => any) | undefined;
33
+ }>, {
34
+ isLoading: boolean;
35
+ inputLabel: string;
36
+ enableDeepThinking: boolean;
37
+ enableWebSearch: boolean;
38
+ enableVoice: boolean;
39
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
40
+ inputLabelRef: HTMLDivElement;
41
+ }, HTMLDivElement>;
42
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
43
+ export default _default;
44
+ type __VLS_WithTemplateSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -0,0 +1,38 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ card?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: HTMLDivElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
11
+ title: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ content: {
16
+ type: StringConstructor;
17
+ default: string;
18
+ };
19
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
20
+ title: {
21
+ type: StringConstructor;
22
+ default: string;
23
+ };
24
+ content: {
25
+ type: StringConstructor;
26
+ default: string;
27
+ };
28
+ }>> & Readonly<{}>, {
29
+ title: string;
30
+ content: string;
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,53 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ messages: {
3
+ type: ArrayConstructor;
4
+ default: () => never[];
5
+ };
6
+ isLoading: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ isDownload: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ autoScroll: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ }>, {
19
+ scrollToBottom: () => void;
20
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "scroll-to-bottom": (...args: any[]) => void;
22
+ "scroll-to-top": (...args: any[]) => void;
23
+ "show-references": (...args: any[]) => void;
24
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
25
+ messages: {
26
+ type: ArrayConstructor;
27
+ default: () => never[];
28
+ };
29
+ isLoading: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ isDownload: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ autoScroll: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
41
+ }>> & Readonly<{
42
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
43
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
44
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
45
+ }>, {
46
+ messages: unknown[];
47
+ isLoading: boolean;
48
+ isDownload: boolean;
49
+ autoScroll: boolean;
50
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
51
+ messagesContainer: HTMLDivElement;
52
+ }, any>;
53
+ export default _default;
@@ -0,0 +1,90 @@
1
+ type __VLS_Props = {
2
+ newChat?: boolean;
3
+ contactUs?: boolean;
4
+ joinUs?: boolean;
5
+ isDownload?: boolean;
6
+ };
7
+ type Agent = 'revenue' | 'factory' | 'pipeline' | 'website';
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
9
+ show: import('vue').Ref<boolean, boolean>;
10
+ open: (newAgent: Agent) => void;
11
+ close: () => void;
12
+ clearMessages: () => void;
13
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ isDownload: boolean;
15
+ newChat: boolean;
16
+ contactUs: boolean;
17
+ joinUs: boolean;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
19
+ chatMessageRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
20
+ messages: {
21
+ type: ArrayConstructor;
22
+ default: () => never[];
23
+ };
24
+ isLoading: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ isDownload: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ autoScroll: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ }>> & Readonly<{
37
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
38
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
39
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
40
+ }>, {
41
+ scrollToBottom: () => void;
42
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
43
+ "scroll-to-bottom": (...args: any[]) => void;
44
+ "scroll-to-top": (...args: any[]) => void;
45
+ "show-references": (...args: any[]) => void;
46
+ }, import('vue').PublicProps, {
47
+ messages: unknown[];
48
+ isLoading: boolean;
49
+ isDownload: boolean;
50
+ autoScroll: boolean;
51
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
52
+ messagesContainer: HTMLDivElement;
53
+ }, any, import('vue').ComponentProvideOptions, {
54
+ P: {};
55
+ B: {};
56
+ D: {};
57
+ C: {};
58
+ M: {};
59
+ Defaults: {};
60
+ }, Readonly<import('vue').ExtractPropTypes<{
61
+ messages: {
62
+ type: ArrayConstructor;
63
+ default: () => never[];
64
+ };
65
+ isLoading: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ isDownload: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ autoScroll: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ }>> & Readonly<{
78
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
79
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
80
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
81
+ }>, {
82
+ scrollToBottom: () => void;
83
+ }, {}, {}, {}, {
84
+ messages: unknown[];
85
+ isLoading: boolean;
86
+ isDownload: boolean;
87
+ autoScroll: boolean;
88
+ }> | null;
89
+ }, HTMLDivElement>;
90
+ export default _default;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ visible: boolean;
3
+ sessionId: string;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ "update:visible": (...args: any[]) => void;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
10
+ formRef: unknown;
11
+ }, any>;
12
+ export default _default;
@@ -0,0 +1,128 @@
1
+ type __VLS_Props = {
2
+ newChat?: boolean;
3
+ contactUs?: boolean;
4
+ joinUs?: boolean;
5
+ isDownload?: boolean;
6
+ };
7
+ type Agent = 'revenue' | 'factory' | 'pipeline' | 'website';
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
9
+ show: import('vue').Ref<boolean, boolean>;
10
+ open: (newAgent: Agent) => void;
11
+ close: () => void;
12
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
+ isDownload: boolean;
14
+ newChat: boolean;
15
+ contactUs: boolean;
16
+ joinUs: boolean;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
18
+ ChatPopupRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
19
+ newChat?: boolean;
20
+ contactUs?: boolean;
21
+ joinUs?: boolean;
22
+ isDownload?: boolean;
23
+ }> & Readonly<{}>, {
24
+ show: import('vue').Ref<boolean, boolean>;
25
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
26
+ close: () => void;
27
+ clearMessages: () => void;
28
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
29
+ isDownload: boolean;
30
+ newChat: boolean;
31
+ contactUs: boolean;
32
+ joinUs: boolean;
33
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
34
+ chatMessageRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
35
+ messages: {
36
+ type: ArrayConstructor;
37
+ default: () => never[];
38
+ };
39
+ isLoading: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ isDownload: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ autoScroll: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ }>> & Readonly<{
52
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
53
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
54
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
55
+ }>, {
56
+ scrollToBottom: () => void;
57
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
58
+ "scroll-to-bottom": (...args: any[]) => void;
59
+ "scroll-to-top": (...args: any[]) => void;
60
+ "show-references": (...args: any[]) => void;
61
+ }, import('vue').PublicProps, {
62
+ messages: unknown[];
63
+ isLoading: boolean;
64
+ isDownload: boolean;
65
+ autoScroll: boolean;
66
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
67
+ messagesContainer: HTMLDivElement;
68
+ }, any, import('vue').ComponentProvideOptions, {
69
+ P: {};
70
+ B: {};
71
+ D: {};
72
+ C: {};
73
+ M: {};
74
+ Defaults: {};
75
+ }, Readonly<import('vue').ExtractPropTypes<{
76
+ messages: {
77
+ type: ArrayConstructor;
78
+ default: () => never[];
79
+ };
80
+ isLoading: {
81
+ type: BooleanConstructor;
82
+ default: boolean;
83
+ };
84
+ isDownload: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ autoScroll: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
92
+ }>> & Readonly<{
93
+ "onScroll-to-bottom"?: ((...args: any[]) => any) | undefined;
94
+ "onScroll-to-top"?: ((...args: any[]) => any) | undefined;
95
+ "onShow-references"?: ((...args: any[]) => any) | undefined;
96
+ }>, {
97
+ scrollToBottom: () => void;
98
+ }, {}, {}, {}, {
99
+ messages: unknown[];
100
+ isLoading: boolean;
101
+ isDownload: boolean;
102
+ autoScroll: boolean;
103
+ }> | null;
104
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
105
+ P: {};
106
+ B: {};
107
+ D: {};
108
+ C: {};
109
+ M: {};
110
+ Defaults: {};
111
+ }, Readonly<{
112
+ newChat?: boolean;
113
+ contactUs?: boolean;
114
+ joinUs?: boolean;
115
+ isDownload?: boolean;
116
+ }> & Readonly<{}>, {
117
+ show: import('vue').Ref<boolean, boolean>;
118
+ open: (newAgent: "revenue" | "factory" | "pipeline" | "website") => void;
119
+ close: () => void;
120
+ clearMessages: () => void;
121
+ }, {}, {}, {}, {
122
+ isDownload: boolean;
123
+ newChat: boolean;
124
+ contactUs: boolean;
125
+ joinUs: boolean;
126
+ }> | null;
127
+ }, HTMLDivElement>;
128
+ export default _default;
@@ -0,0 +1,9 @@
1
+ type __VLS_Props = {
2
+ visible: boolean;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "update:visible": (...args: any[]) => void;
6
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { c as _l, g as ku } from "./index-COb40Ppj.js";
1
+ import { c as _l, g as ku } from "./index-wq9IAlp1.js";
2
2
  function Ku(Sa, kl) {
3
3
  for (var lo = 0; lo < kl.length; lo++) {
4
4
  const ts = kl[lo];