@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.
Files changed (86) hide show
  1. package/LICENSE +661 -661
  2. package/lib/components/AutoBeChatMain.js +5 -5
  3. package/lib/components/AutoBeConfigModal.js +9 -9
  4. package/package.json +2 -2
  5. package/src/components/AutoBeAssistantMessageMovie.tsx +22 -22
  6. package/src/components/AutoBeChatMain.tsx +376 -376
  7. package/src/components/AutoBeChatSidebar.tsx +414 -414
  8. package/src/components/AutoBeConfigButton.tsx +83 -83
  9. package/src/components/AutoBeConfigModal.tsx +443 -443
  10. package/src/components/AutoBeStatusButton.tsx +75 -75
  11. package/src/components/AutoBeStatusModal.tsx +486 -486
  12. package/src/components/AutoBeUserMessageMovie.tsx +27 -27
  13. package/src/components/common/ActionButton.tsx +205 -205
  14. package/src/components/common/ActionButtonGroup.tsx +80 -80
  15. package/src/components/common/AutoBeConfigInput.tsx +185 -185
  16. package/src/components/common/ChatBubble.tsx +119 -119
  17. package/src/components/common/Collapsible.tsx +95 -95
  18. package/src/components/common/CompactSessionIndicator.tsx +73 -73
  19. package/src/components/common/CompactSessionList.tsx +82 -82
  20. package/src/components/common/index.ts +8 -8
  21. package/src/components/common/openai/OpenAIContent.tsx +53 -53
  22. package/src/components/common/openai/OpenAIUserAudioContent.tsx +70 -70
  23. package/src/components/common/openai/OpenAIUserFileContent.tsx +76 -76
  24. package/src/components/common/openai/OpenAIUserImageContent.tsx +34 -34
  25. package/src/components/common/openai/OpenAIUserTextContent.tsx +15 -15
  26. package/src/components/common/openai/index.ts +5 -5
  27. package/src/components/events/AutoBeCompleteEventMovie.tsx +402 -402
  28. package/src/components/events/AutoBeCorrectEventMovie.tsx +354 -354
  29. package/src/components/events/AutoBeEventGroupMovie.tsx +18 -18
  30. package/src/components/events/AutoBeEventMovie.tsx +158 -158
  31. package/src/components/events/AutoBeProgressEventMovie.tsx +217 -217
  32. package/src/components/events/AutoBeScenarioEventMovie.tsx +135 -135
  33. package/src/components/events/AutoBeStartEventMovie.tsx +82 -82
  34. package/src/components/events/AutoBeValidateEventMovie.tsx +249 -249
  35. package/src/components/events/README.md +300 -300
  36. package/src/components/events/common/CollapsibleEventGroup.tsx +211 -211
  37. package/src/components/events/common/EventCard.tsx +61 -61
  38. package/src/components/events/common/EventContent.tsx +31 -31
  39. package/src/components/events/common/EventHeader.tsx +85 -85
  40. package/src/components/events/common/EventIcon.tsx +82 -82
  41. package/src/components/events/common/ProgressBar.tsx +64 -64
  42. package/src/components/events/common/index.ts +13 -13
  43. package/src/components/events/groups/CorrectEventGroup.tsx +183 -183
  44. package/src/components/events/groups/ValidateEventGroup.tsx +143 -143
  45. package/src/components/events/groups/index.ts +8 -8
  46. package/src/components/events/index.ts +16 -16
  47. package/src/components/events/utils/eventGrouper.tsx +116 -116
  48. package/src/components/events/utils/index.ts +1 -1
  49. package/src/components/index.ts +13 -13
  50. package/src/components/upload/AutoBeChatUploadBox.tsx +425 -425
  51. package/src/components/upload/AutoBeChatUploadSendButton.tsx +66 -66
  52. package/src/components/upload/AutoBeFileUploadBox.tsx +123 -123
  53. package/src/components/upload/AutoBeUploadConfig.ts +5 -5
  54. package/src/components/upload/AutoBeVoiceRecoderButton.tsx +100 -100
  55. package/src/components/upload/index.ts +5 -5
  56. package/src/constant/color.ts +28 -28
  57. package/src/context/AutoBeAgentContext.tsx +245 -245
  58. package/src/context/AutoBeAgentSessionList.tsx +58 -58
  59. package/src/context/SearchParamsContext.tsx +49 -49
  60. package/src/hooks/index.ts +3 -3
  61. package/src/hooks/useEscapeKey.ts +24 -24
  62. package/src/hooks/useIsomorphicLayoutEffect.ts +8 -8
  63. package/src/hooks/useMediaQuery.ts +73 -73
  64. package/src/hooks/useSessionStorage.ts +10 -10
  65. package/src/icons/Receipt.tsx +74 -74
  66. package/src/index.ts +9 -9
  67. package/src/strategy/AutoBeAgentSessionStorageStrategy.ts +127 -127
  68. package/src/structure/AutoBeListener.ts +373 -373
  69. package/src/structure/AutoBeListenerState.ts +53 -53
  70. package/src/structure/IAutoBeAgentSessionStorageStrategy.ts +87 -87
  71. package/src/structure/IAutoBeEventGroup.ts +6 -6
  72. package/src/structure/index.ts +4 -4
  73. package/src/types/config.ts +44 -44
  74. package/src/types/index.ts +1 -1
  75. package/src/utils/AutoBeFileUploader.ts +279 -279
  76. package/src/utils/AutoBeVoiceRecorder.ts +95 -95
  77. package/src/utils/__tests__/crypto.test.ts +286 -286
  78. package/src/utils/__tests__/storage.test.ts +229 -229
  79. package/src/utils/crypto.ts +95 -95
  80. package/src/utils/index.ts +6 -6
  81. package/src/utils/number.ts +17 -17
  82. package/src/utils/storage.ts +96 -96
  83. package/src/utils/time.ts +14 -14
  84. package/tsconfig.json +9 -9
  85. package/vitest.config.ts +15 -15
  86. 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;