@autobe/ui 0.30.0-dev.20260315 → 0.30.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/LICENSE +661 -661
- package/lib/components/AutoBeChatMain.js +5 -5
- package/lib/components/AutoBeConfigModal.js +9 -9
- package/package.json +2 -2
- package/src/components/AutoBeAssistantMessageMovie.tsx +22 -22
- package/src/components/AutoBeChatMain.tsx +376 -376
- package/src/components/AutoBeChatSidebar.tsx +414 -414
- package/src/components/AutoBeConfigButton.tsx +83 -83
- package/src/components/AutoBeConfigModal.tsx +443 -443
- package/src/components/AutoBeStatusButton.tsx +75 -75
- package/src/components/AutoBeStatusModal.tsx +486 -486
- package/src/components/AutoBeUserMessageMovie.tsx +27 -27
- package/src/components/common/ActionButton.tsx +205 -205
- package/src/components/common/ActionButtonGroup.tsx +80 -80
- package/src/components/common/AutoBeConfigInput.tsx +185 -185
- package/src/components/common/ChatBubble.tsx +119 -119
- package/src/components/common/Collapsible.tsx +95 -95
- package/src/components/common/CompactSessionIndicator.tsx +73 -73
- package/src/components/common/CompactSessionList.tsx +82 -82
- package/src/components/common/index.ts +8 -8
- package/src/components/common/openai/OpenAIContent.tsx +53 -53
- package/src/components/common/openai/OpenAIUserAudioContent.tsx +70 -70
- package/src/components/common/openai/OpenAIUserFileContent.tsx +76 -76
- package/src/components/common/openai/OpenAIUserImageContent.tsx +34 -34
- package/src/components/common/openai/OpenAIUserTextContent.tsx +15 -15
- package/src/components/common/openai/index.ts +5 -5
- package/src/components/events/AutoBeCompleteEventMovie.tsx +402 -402
- package/src/components/events/AutoBeCorrectEventMovie.tsx +354 -354
- package/src/components/events/AutoBeEventGroupMovie.tsx +18 -18
- package/src/components/events/AutoBeEventMovie.tsx +158 -158
- package/src/components/events/AutoBeProgressEventMovie.tsx +217 -217
- package/src/components/events/AutoBeScenarioEventMovie.tsx +135 -135
- package/src/components/events/AutoBeStartEventMovie.tsx +82 -82
- package/src/components/events/AutoBeValidateEventMovie.tsx +249 -249
- package/src/components/events/README.md +300 -300
- package/src/components/events/common/CollapsibleEventGroup.tsx +211 -211
- package/src/components/events/common/EventCard.tsx +61 -61
- package/src/components/events/common/EventContent.tsx +31 -31
- package/src/components/events/common/EventHeader.tsx +85 -85
- package/src/components/events/common/EventIcon.tsx +82 -82
- package/src/components/events/common/ProgressBar.tsx +64 -64
- package/src/components/events/common/index.ts +13 -13
- package/src/components/events/groups/CorrectEventGroup.tsx +183 -183
- package/src/components/events/groups/ValidateEventGroup.tsx +143 -143
- package/src/components/events/groups/index.ts +8 -8
- package/src/components/events/index.ts +16 -16
- package/src/components/events/utils/eventGrouper.tsx +116 -116
- package/src/components/events/utils/index.ts +1 -1
- package/src/components/index.ts +13 -13
- package/src/components/upload/AutoBeChatUploadBox.tsx +425 -425
- package/src/components/upload/AutoBeChatUploadSendButton.tsx +66 -66
- package/src/components/upload/AutoBeFileUploadBox.tsx +123 -123
- package/src/components/upload/AutoBeUploadConfig.ts +5 -5
- package/src/components/upload/AutoBeVoiceRecoderButton.tsx +100 -100
- package/src/components/upload/index.ts +5 -5
- package/src/constant/color.ts +28 -28
- package/src/context/AutoBeAgentContext.tsx +245 -245
- package/src/context/AutoBeAgentSessionList.tsx +58 -58
- package/src/context/SearchParamsContext.tsx +49 -49
- package/src/hooks/index.ts +3 -3
- package/src/hooks/useEscapeKey.ts +24 -24
- package/src/hooks/useIsomorphicLayoutEffect.ts +8 -8
- package/src/hooks/useMediaQuery.ts +73 -73
- package/src/hooks/useSessionStorage.ts +10 -10
- package/src/icons/Receipt.tsx +74 -74
- package/src/index.ts +9 -9
- package/src/strategy/AutoBeAgentSessionStorageStrategy.ts +127 -127
- package/src/structure/AutoBeListener.ts +373 -373
- package/src/structure/AutoBeListenerState.ts +53 -53
- package/src/structure/IAutoBeAgentSessionStorageStrategy.ts +87 -87
- package/src/structure/IAutoBeEventGroup.ts +6 -6
- package/src/structure/index.ts +4 -4
- package/src/types/config.ts +44 -44
- package/src/types/index.ts +1 -1
- package/src/utils/AutoBeFileUploader.ts +279 -279
- package/src/utils/AutoBeVoiceRecorder.ts +95 -95
- package/src/utils/__tests__/crypto.test.ts +286 -286
- package/src/utils/__tests__/storage.test.ts +229 -229
- package/src/utils/crypto.ts +95 -95
- package/src/utils/index.ts +6 -6
- package/src/utils/number.ts +17 -17
- package/src/utils/storage.ts +96 -96
- package/src/utils/time.ts +14 -14
- package/tsconfig.json +9 -9
- package/vitest.config.ts +15 -15
- package/README.md +0 -261
|
@@ -1,217 +1,217 @@
|
|
|
1
|
-
import { AutoBeEvent, AutoBeProgressEventBase } from "@autobe/interface";
|
|
2
|
-
|
|
3
|
-
import { EventCard, EventContent, EventHeader, ProgressBar } from "./common";
|
|
4
|
-
|
|
5
|
-
export function AutoBeProgressEventMovie(
|
|
6
|
-
props: AutoBeProgressEventMovie.IProps,
|
|
7
|
-
) {
|
|
8
|
-
const state: IState = getState(props.event);
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<EventCard>
|
|
12
|
-
<EventHeader
|
|
13
|
-
title={state.title}
|
|
14
|
-
timestamp={props.event.created_at}
|
|
15
|
-
iconType="progress"
|
|
16
|
-
/>
|
|
17
|
-
<EventContent>
|
|
18
|
-
<div style={{ marginBottom: 0 }}>{state.description}</div>
|
|
19
|
-
<ProgressBar current={state.completed} total={state.total} />
|
|
20
|
-
</EventContent>
|
|
21
|
-
</EventCard>
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
type ExtractType<T, U> = T extends U ? T : never;
|
|
25
|
-
|
|
26
|
-
export namespace AutoBeProgressEventMovie {
|
|
27
|
-
export interface IProps {
|
|
28
|
-
event: ExtractType<AutoBeEvent, AutoBeProgressEventBase>;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
interface IState {
|
|
33
|
-
title: string;
|
|
34
|
-
description: string;
|
|
35
|
-
completed: number;
|
|
36
|
-
total: number;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function getState(event: AutoBeProgressEventMovie.IProps["event"]): IState {
|
|
40
|
-
const content: Pick<IState, "title" | "description"> = (() => {
|
|
41
|
-
switch (event.type) {
|
|
42
|
-
case "databaseComponent":
|
|
43
|
-
return {
|
|
44
|
-
title: "Database Components",
|
|
45
|
-
description: "Generating database component schemas",
|
|
46
|
-
};
|
|
47
|
-
case "databaseComponentReview":
|
|
48
|
-
return {
|
|
49
|
-
title: "Prisma Components Review",
|
|
50
|
-
description: "Reviewing the Prisma components",
|
|
51
|
-
};
|
|
52
|
-
case "databaseSchema":
|
|
53
|
-
return {
|
|
54
|
-
title: "Prisma Schemas",
|
|
55
|
-
description: "Designing Database schemas",
|
|
56
|
-
};
|
|
57
|
-
case "databaseSchemaReview":
|
|
58
|
-
return {
|
|
59
|
-
title: "Prisma Review",
|
|
60
|
-
description: "Reviewing the Prisma schemas",
|
|
61
|
-
};
|
|
62
|
-
case "interfaceEndpoint":
|
|
63
|
-
return {
|
|
64
|
-
title: "Interface Endpoints",
|
|
65
|
-
description: "Collecting API endpoints",
|
|
66
|
-
};
|
|
67
|
-
case "interfaceEndpointReview":
|
|
68
|
-
return {
|
|
69
|
-
title: "Interface Endpoints Review",
|
|
70
|
-
description: "Reviewing API endpoints",
|
|
71
|
-
};
|
|
72
|
-
case "interfaceOperation":
|
|
73
|
-
return {
|
|
74
|
-
title: "Interface Operations",
|
|
75
|
-
description: "Designing API operations",
|
|
76
|
-
};
|
|
77
|
-
case "interfaceOperationReview":
|
|
78
|
-
return {
|
|
79
|
-
title: "Interface Operations Review",
|
|
80
|
-
description: "Reviewing API operations",
|
|
81
|
-
};
|
|
82
|
-
case "interfaceAuthorization":
|
|
83
|
-
return {
|
|
84
|
-
title: "Interface Authorization",
|
|
85
|
-
description: "Designing API authorization operations",
|
|
86
|
-
};
|
|
87
|
-
case "interfaceSchema":
|
|
88
|
-
return {
|
|
89
|
-
title: "Interface Schemas",
|
|
90
|
-
description: "Designing API type schemas",
|
|
91
|
-
};
|
|
92
|
-
case "interfaceSchemaCasting":
|
|
93
|
-
return {
|
|
94
|
-
title: "Interface Schemas Casting",
|
|
95
|
-
description: `Refining degenerate API type schemas' structure`,
|
|
96
|
-
};
|
|
97
|
-
case "interfaceSchemaRefine":
|
|
98
|
-
return {
|
|
99
|
-
title: "Interface Schemas Refine",
|
|
100
|
-
description: `Refining API type schemas' documentation and metadata`,
|
|
101
|
-
};
|
|
102
|
-
case "interfaceSchemaReview":
|
|
103
|
-
return {
|
|
104
|
-
title: "Interface Schemas Review",
|
|
105
|
-
description: `Reviewing API type schemas`,
|
|
106
|
-
};
|
|
107
|
-
case "interfaceSchemaComplement":
|
|
108
|
-
return {
|
|
109
|
-
title: "Interface Complement",
|
|
110
|
-
description: "Complementing missing API type schemas",
|
|
111
|
-
};
|
|
112
|
-
case "interfaceSchemaRename":
|
|
113
|
-
return {
|
|
114
|
-
title: "Interface Schema Rename",
|
|
115
|
-
description: "Renaming API type schemas",
|
|
116
|
-
};
|
|
117
|
-
case "interfacePrerequisite":
|
|
118
|
-
return {
|
|
119
|
-
title: "Interface Prerequisites",
|
|
120
|
-
description: "Defining API prerequisites",
|
|
121
|
-
};
|
|
122
|
-
case "testScenario":
|
|
123
|
-
return {
|
|
124
|
-
title: "Test Scenarios",
|
|
125
|
-
description: "Planning E2E test scenarios",
|
|
126
|
-
};
|
|
127
|
-
case "testScenarioReview":
|
|
128
|
-
return {
|
|
129
|
-
title: "Test Scenarios Review",
|
|
130
|
-
description: "Reviewing E2E test scenarios",
|
|
131
|
-
};
|
|
132
|
-
case "testWrite":
|
|
133
|
-
return {
|
|
134
|
-
title: "Test Write",
|
|
135
|
-
description: "Writing E2E test functions",
|
|
136
|
-
};
|
|
137
|
-
case "testValidate":
|
|
138
|
-
return {
|
|
139
|
-
title: "Test Validate",
|
|
140
|
-
description: "Validating E2E test results",
|
|
141
|
-
};
|
|
142
|
-
case "realizePlan":
|
|
143
|
-
return {
|
|
144
|
-
title: "Realize Plan",
|
|
145
|
-
description: "Planning the API functions' modularization",
|
|
146
|
-
};
|
|
147
|
-
case "realizeWrite":
|
|
148
|
-
return {
|
|
149
|
-
title: "Realize Write",
|
|
150
|
-
description: "Realizing the API functions",
|
|
151
|
-
};
|
|
152
|
-
case "realizeAuthorizationWrite":
|
|
153
|
-
return {
|
|
154
|
-
title: "Authorization Write",
|
|
155
|
-
description: "Writing authorization decorators and functions",
|
|
156
|
-
};
|
|
157
|
-
case "realizeTestOperation":
|
|
158
|
-
return {
|
|
159
|
-
title: "Realize Test Operation",
|
|
160
|
-
description:
|
|
161
|
-
"Running the E2E test operations to validate the API functions",
|
|
162
|
-
};
|
|
163
|
-
case "realizeValidate":
|
|
164
|
-
return {
|
|
165
|
-
title: "Realize Validate",
|
|
166
|
-
description: "Correcting and Validating the API functions",
|
|
167
|
-
};
|
|
168
|
-
case "imageDescribeDraft":
|
|
169
|
-
return {
|
|
170
|
-
title: "Describe Image Draft",
|
|
171
|
-
description: "Describing the image draft",
|
|
172
|
-
};
|
|
173
|
-
case "analyzeWriteModule":
|
|
174
|
-
return {
|
|
175
|
-
title: "Analyze Write Module",
|
|
176
|
-
description: "Generating module section structure",
|
|
177
|
-
};
|
|
178
|
-
case "analyzeModuleReview":
|
|
179
|
-
return {
|
|
180
|
-
title: "Analyze Module Review",
|
|
181
|
-
description: "Reviewing module section structure",
|
|
182
|
-
};
|
|
183
|
-
case "analyzeWriteUnit":
|
|
184
|
-
return {
|
|
185
|
-
title: "Analyze Write Unit",
|
|
186
|
-
description: "Generating unit section content",
|
|
187
|
-
};
|
|
188
|
-
case "analyzeUnitReview":
|
|
189
|
-
return {
|
|
190
|
-
title: "Analyze Unit Review",
|
|
191
|
-
description: "Reviewing unit section content",
|
|
192
|
-
};
|
|
193
|
-
case "analyzeWriteSection":
|
|
194
|
-
return {
|
|
195
|
-
title: "Analyze Write Section",
|
|
196
|
-
description: "Generating section details",
|
|
197
|
-
};
|
|
198
|
-
case "analyzeSectionReview":
|
|
199
|
-
return {
|
|
200
|
-
title: "Analyze Section Review",
|
|
201
|
-
description: "Reviewing section details",
|
|
202
|
-
};
|
|
203
|
-
default:
|
|
204
|
-
event satisfies never;
|
|
205
|
-
return {
|
|
206
|
-
title: "Unknown Event",
|
|
207
|
-
description: "This event type is not recognized.",
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
})();
|
|
211
|
-
return {
|
|
212
|
-
...content,
|
|
213
|
-
completed: event.completed,
|
|
214
|
-
total: event.total,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
export default AutoBeProgressEventMovie;
|
|
1
|
+
import { AutoBeEvent, AutoBeProgressEventBase } from "@autobe/interface";
|
|
2
|
+
|
|
3
|
+
import { EventCard, EventContent, EventHeader, ProgressBar } from "./common";
|
|
4
|
+
|
|
5
|
+
export function AutoBeProgressEventMovie(
|
|
6
|
+
props: AutoBeProgressEventMovie.IProps,
|
|
7
|
+
) {
|
|
8
|
+
const state: IState = getState(props.event);
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<EventCard>
|
|
12
|
+
<EventHeader
|
|
13
|
+
title={state.title}
|
|
14
|
+
timestamp={props.event.created_at}
|
|
15
|
+
iconType="progress"
|
|
16
|
+
/>
|
|
17
|
+
<EventContent>
|
|
18
|
+
<div style={{ marginBottom: 0 }}>{state.description}</div>
|
|
19
|
+
<ProgressBar current={state.completed} total={state.total} />
|
|
20
|
+
</EventContent>
|
|
21
|
+
</EventCard>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
type ExtractType<T, U> = T extends U ? T : never;
|
|
25
|
+
|
|
26
|
+
export namespace AutoBeProgressEventMovie {
|
|
27
|
+
export interface IProps {
|
|
28
|
+
event: ExtractType<AutoBeEvent, AutoBeProgressEventBase>;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface IState {
|
|
33
|
+
title: string;
|
|
34
|
+
description: string;
|
|
35
|
+
completed: number;
|
|
36
|
+
total: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function getState(event: AutoBeProgressEventMovie.IProps["event"]): IState {
|
|
40
|
+
const content: Pick<IState, "title" | "description"> = (() => {
|
|
41
|
+
switch (event.type) {
|
|
42
|
+
case "databaseComponent":
|
|
43
|
+
return {
|
|
44
|
+
title: "Database Components",
|
|
45
|
+
description: "Generating database component schemas",
|
|
46
|
+
};
|
|
47
|
+
case "databaseComponentReview":
|
|
48
|
+
return {
|
|
49
|
+
title: "Prisma Components Review",
|
|
50
|
+
description: "Reviewing the Prisma components",
|
|
51
|
+
};
|
|
52
|
+
case "databaseSchema":
|
|
53
|
+
return {
|
|
54
|
+
title: "Prisma Schemas",
|
|
55
|
+
description: "Designing Database schemas",
|
|
56
|
+
};
|
|
57
|
+
case "databaseSchemaReview":
|
|
58
|
+
return {
|
|
59
|
+
title: "Prisma Review",
|
|
60
|
+
description: "Reviewing the Prisma schemas",
|
|
61
|
+
};
|
|
62
|
+
case "interfaceEndpoint":
|
|
63
|
+
return {
|
|
64
|
+
title: "Interface Endpoints",
|
|
65
|
+
description: "Collecting API endpoints",
|
|
66
|
+
};
|
|
67
|
+
case "interfaceEndpointReview":
|
|
68
|
+
return {
|
|
69
|
+
title: "Interface Endpoints Review",
|
|
70
|
+
description: "Reviewing API endpoints",
|
|
71
|
+
};
|
|
72
|
+
case "interfaceOperation":
|
|
73
|
+
return {
|
|
74
|
+
title: "Interface Operations",
|
|
75
|
+
description: "Designing API operations",
|
|
76
|
+
};
|
|
77
|
+
case "interfaceOperationReview":
|
|
78
|
+
return {
|
|
79
|
+
title: "Interface Operations Review",
|
|
80
|
+
description: "Reviewing API operations",
|
|
81
|
+
};
|
|
82
|
+
case "interfaceAuthorization":
|
|
83
|
+
return {
|
|
84
|
+
title: "Interface Authorization",
|
|
85
|
+
description: "Designing API authorization operations",
|
|
86
|
+
};
|
|
87
|
+
case "interfaceSchema":
|
|
88
|
+
return {
|
|
89
|
+
title: "Interface Schemas",
|
|
90
|
+
description: "Designing API type schemas",
|
|
91
|
+
};
|
|
92
|
+
case "interfaceSchemaCasting":
|
|
93
|
+
return {
|
|
94
|
+
title: "Interface Schemas Casting",
|
|
95
|
+
description: `Refining degenerate API type schemas' structure`,
|
|
96
|
+
};
|
|
97
|
+
case "interfaceSchemaRefine":
|
|
98
|
+
return {
|
|
99
|
+
title: "Interface Schemas Refine",
|
|
100
|
+
description: `Refining API type schemas' documentation and metadata`,
|
|
101
|
+
};
|
|
102
|
+
case "interfaceSchemaReview":
|
|
103
|
+
return {
|
|
104
|
+
title: "Interface Schemas Review",
|
|
105
|
+
description: `Reviewing API type schemas`,
|
|
106
|
+
};
|
|
107
|
+
case "interfaceSchemaComplement":
|
|
108
|
+
return {
|
|
109
|
+
title: "Interface Complement",
|
|
110
|
+
description: "Complementing missing API type schemas",
|
|
111
|
+
};
|
|
112
|
+
case "interfaceSchemaRename":
|
|
113
|
+
return {
|
|
114
|
+
title: "Interface Schema Rename",
|
|
115
|
+
description: "Renaming API type schemas",
|
|
116
|
+
};
|
|
117
|
+
case "interfacePrerequisite":
|
|
118
|
+
return {
|
|
119
|
+
title: "Interface Prerequisites",
|
|
120
|
+
description: "Defining API prerequisites",
|
|
121
|
+
};
|
|
122
|
+
case "testScenario":
|
|
123
|
+
return {
|
|
124
|
+
title: "Test Scenarios",
|
|
125
|
+
description: "Planning E2E test scenarios",
|
|
126
|
+
};
|
|
127
|
+
case "testScenarioReview":
|
|
128
|
+
return {
|
|
129
|
+
title: "Test Scenarios Review",
|
|
130
|
+
description: "Reviewing E2E test scenarios",
|
|
131
|
+
};
|
|
132
|
+
case "testWrite":
|
|
133
|
+
return {
|
|
134
|
+
title: "Test Write",
|
|
135
|
+
description: "Writing E2E test functions",
|
|
136
|
+
};
|
|
137
|
+
case "testValidate":
|
|
138
|
+
return {
|
|
139
|
+
title: "Test Validate",
|
|
140
|
+
description: "Validating E2E test results",
|
|
141
|
+
};
|
|
142
|
+
case "realizePlan":
|
|
143
|
+
return {
|
|
144
|
+
title: "Realize Plan",
|
|
145
|
+
description: "Planning the API functions' modularization",
|
|
146
|
+
};
|
|
147
|
+
case "realizeWrite":
|
|
148
|
+
return {
|
|
149
|
+
title: "Realize Write",
|
|
150
|
+
description: "Realizing the API functions",
|
|
151
|
+
};
|
|
152
|
+
case "realizeAuthorizationWrite":
|
|
153
|
+
return {
|
|
154
|
+
title: "Authorization Write",
|
|
155
|
+
description: "Writing authorization decorators and functions",
|
|
156
|
+
};
|
|
157
|
+
case "realizeTestOperation":
|
|
158
|
+
return {
|
|
159
|
+
title: "Realize Test Operation",
|
|
160
|
+
description:
|
|
161
|
+
"Running the E2E test operations to validate the API functions",
|
|
162
|
+
};
|
|
163
|
+
case "realizeValidate":
|
|
164
|
+
return {
|
|
165
|
+
title: "Realize Validate",
|
|
166
|
+
description: "Correcting and Validating the API functions",
|
|
167
|
+
};
|
|
168
|
+
case "imageDescribeDraft":
|
|
169
|
+
return {
|
|
170
|
+
title: "Describe Image Draft",
|
|
171
|
+
description: "Describing the image draft",
|
|
172
|
+
};
|
|
173
|
+
case "analyzeWriteModule":
|
|
174
|
+
return {
|
|
175
|
+
title: "Analyze Write Module",
|
|
176
|
+
description: "Generating module section structure",
|
|
177
|
+
};
|
|
178
|
+
case "analyzeModuleReview":
|
|
179
|
+
return {
|
|
180
|
+
title: "Analyze Module Review",
|
|
181
|
+
description: "Reviewing module section structure",
|
|
182
|
+
};
|
|
183
|
+
case "analyzeWriteUnit":
|
|
184
|
+
return {
|
|
185
|
+
title: "Analyze Write Unit",
|
|
186
|
+
description: "Generating unit section content",
|
|
187
|
+
};
|
|
188
|
+
case "analyzeUnitReview":
|
|
189
|
+
return {
|
|
190
|
+
title: "Analyze Unit Review",
|
|
191
|
+
description: "Reviewing unit section content",
|
|
192
|
+
};
|
|
193
|
+
case "analyzeWriteSection":
|
|
194
|
+
return {
|
|
195
|
+
title: "Analyze Write Section",
|
|
196
|
+
description: "Generating section details",
|
|
197
|
+
};
|
|
198
|
+
case "analyzeSectionReview":
|
|
199
|
+
return {
|
|
200
|
+
title: "Analyze Section Review",
|
|
201
|
+
description: "Reviewing section details",
|
|
202
|
+
};
|
|
203
|
+
default:
|
|
204
|
+
event satisfies never;
|
|
205
|
+
return {
|
|
206
|
+
title: "Unknown Event",
|
|
207
|
+
description: "This event type is not recognized.",
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
})();
|
|
211
|
+
return {
|
|
212
|
+
...content,
|
|
213
|
+
completed: event.completed,
|
|
214
|
+
total: event.total,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
export default AutoBeProgressEventMovie;
|