@autobe/ui 0.30.3 → 0.30.4-dev.20260324

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.
Files changed (65) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +261 -0
  3. package/lib/components/AutoBeChatMain.d.ts +6 -0
  4. package/lib/components/AutoBeChatMain.js +46 -37
  5. package/lib/components/AutoBeChatMain.js.map +1 -1
  6. package/lib/components/AutoBeConfigModal.js +9 -9
  7. package/lib/components/upload/AutoBeChatUploadBox.d.ts +1 -0
  8. package/lib/components/upload/AutoBeChatUploadBox.js +11 -16
  9. package/lib/components/upload/AutoBeChatUploadBox.js.map +1 -1
  10. package/lib/context/AutoBeAgentContext.js +78 -30
  11. package/lib/context/AutoBeAgentContext.js.map +1 -1
  12. package/lib/context/SearchParamsContext.js +1 -1
  13. package/lib/context/SearchParamsContext.js.map +1 -1
  14. package/lib/structure/AutoBeListener.d.ts +1 -0
  15. package/lib/structure/AutoBeListener.js +9 -1
  16. package/lib/structure/AutoBeListener.js.map +1 -1
  17. package/package.json +2 -2
  18. package/src/components/AutoBeAssistantMessageMovie.tsx +22 -22
  19. package/src/components/AutoBeChatMain.tsx +394 -376
  20. package/src/components/AutoBeChatSidebar.tsx +414 -414
  21. package/src/components/AutoBeConfigButton.tsx +83 -83
  22. package/src/components/AutoBeConfigModal.tsx +443 -443
  23. package/src/components/AutoBeStatusButton.tsx +75 -75
  24. package/src/components/AutoBeStatusModal.tsx +486 -486
  25. package/src/components/AutoBeUserMessageMovie.tsx +27 -27
  26. package/src/components/common/ActionButton.tsx +205 -205
  27. package/src/components/common/ActionButtonGroup.tsx +80 -80
  28. package/src/components/common/AutoBeConfigInput.tsx +185 -185
  29. package/src/components/common/ChatBubble.tsx +119 -119
  30. package/src/components/common/Collapsible.tsx +95 -95
  31. package/src/components/common/CompactSessionIndicator.tsx +73 -73
  32. package/src/components/common/CompactSessionList.tsx +82 -82
  33. package/src/components/common/openai/OpenAIContent.tsx +53 -53
  34. package/src/components/common/openai/OpenAIUserAudioContent.tsx +70 -70
  35. package/src/components/common/openai/OpenAIUserFileContent.tsx +76 -76
  36. package/src/components/common/openai/OpenAIUserImageContent.tsx +34 -34
  37. package/src/components/common/openai/OpenAIUserTextContent.tsx +15 -15
  38. package/src/components/events/AutoBeCompleteEventMovie.tsx +402 -402
  39. package/src/components/events/AutoBeCorrectEventMovie.tsx +354 -354
  40. package/src/components/events/AutoBeEventGroupMovie.tsx +18 -18
  41. package/src/components/events/AutoBeEventMovie.tsx +154 -154
  42. package/src/components/events/AutoBeProgressEventMovie.tsx +207 -207
  43. package/src/components/events/AutoBeScenarioEventMovie.tsx +135 -135
  44. package/src/components/events/AutoBeStartEventMovie.tsx +82 -82
  45. package/src/components/events/AutoBeValidateEventMovie.tsx +249 -249
  46. package/src/components/events/README.md +300 -300
  47. package/src/components/events/common/CollapsibleEventGroup.tsx +211 -211
  48. package/src/components/events/common/EventCard.tsx +61 -61
  49. package/src/components/events/common/EventContent.tsx +31 -31
  50. package/src/components/events/common/EventHeader.tsx +85 -85
  51. package/src/components/events/common/EventIcon.tsx +82 -82
  52. package/src/components/events/common/ProgressBar.tsx +64 -64
  53. package/src/components/events/groups/CorrectEventGroup.tsx +183 -183
  54. package/src/components/events/groups/ValidateEventGroup.tsx +143 -143
  55. package/src/components/events/utils/eventGrouper.tsx +116 -116
  56. package/src/components/upload/AutoBeChatUploadBox.tsx +433 -425
  57. package/src/components/upload/AutoBeChatUploadSendButton.tsx +66 -66
  58. package/src/components/upload/AutoBeFileUploadBox.tsx +123 -123
  59. package/src/components/upload/AutoBeVoiceRecoderButton.tsx +100 -100
  60. package/src/context/AutoBeAgentContext.tsx +301 -245
  61. package/src/context/AutoBeAgentSessionList.tsx +58 -58
  62. package/src/context/SearchParamsContext.tsx +49 -49
  63. package/src/icons/Receipt.tsx +74 -74
  64. package/src/structure/AutoBeListener.ts +368 -363
  65. package/tsconfig.json +9 -9
@@ -1,207 +1,207 @@
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 "analyzeWriteUnit":
179
- return {
180
- title: "Analyze Write Unit",
181
- description: "Generating unit section content",
182
- };
183
- case "analyzeWriteSection":
184
- return {
185
- title: "Analyze Write Section",
186
- description: "Generating section details",
187
- };
188
- case "analyzeSectionReview":
189
- return {
190
- title: "Analyze Section Review",
191
- description: "Reviewing section details",
192
- };
193
- default:
194
- event satisfies never;
195
- return {
196
- title: "Unknown Event",
197
- description: "This event type is not recognized.",
198
- };
199
- }
200
- })();
201
- return {
202
- ...content,
203
- completed: event.completed,
204
- total: event.total,
205
- };
206
- }
207
- 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 "analyzeWriteUnit":
179
+ return {
180
+ title: "Analyze Write Unit",
181
+ description: "Generating unit section content",
182
+ };
183
+ case "analyzeWriteSection":
184
+ return {
185
+ title: "Analyze Write Section",
186
+ description: "Generating section details",
187
+ };
188
+ case "analyzeSectionReview":
189
+ return {
190
+ title: "Analyze Section Review",
191
+ description: "Reviewing section details",
192
+ };
193
+ default:
194
+ event satisfies never;
195
+ return {
196
+ title: "Unknown Event",
197
+ description: "This event type is not recognized.",
198
+ };
199
+ }
200
+ })();
201
+ return {
202
+ ...content,
203
+ completed: event.completed,
204
+ total: event.total,
205
+ };
206
+ }
207
+ export default AutoBeProgressEventMovie;