@autobe/ui 0.29.1 → 0.30.0-dev.20260315
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/README.md +261 -0
- package/lib/components/AutoBeChatMain.js +5 -5
- package/lib/components/AutoBeChatMain.js.map +1 -1
- package/lib/components/AutoBeConfigModal.js +9 -9
- package/lib/components/AutoBeStatusModal.js +4 -4
- package/lib/components/AutoBeStatusModal.js.map +1 -1
- package/lib/components/AutoBeUserMessageMovie.d.ts +2 -2
- package/lib/components/common/ChatBubble.d.ts +2 -2
- package/lib/components/common/openai/OpenAIContent.d.ts +2 -2
- package/lib/components/common/openai/OpenAIContent.js.map +1 -1
- package/lib/components/common/openai/OpenAIUserAudioContent.js +1 -1
- package/lib/components/common/openai/OpenAIUserAudioContent.js.map +1 -1
- package/lib/components/common/openai/OpenAIUserFileContent.js +1 -1
- package/lib/components/common/openai/OpenAIUserFileContent.js.map +1 -1
- package/lib/components/common/openai/OpenAIUserImageContent.d.ts +2 -2
- package/lib/components/events/AutoBeCompleteEventMovie.d.ts +2 -2
- package/lib/components/events/AutoBeCompleteEventMovie.js +9 -9
- package/lib/components/events/AutoBeCompleteEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeCorrectEventMovie.d.ts +2 -2
- package/lib/components/events/AutoBeCorrectEventMovie.js +4 -4
- package/lib/components/events/AutoBeCorrectEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeEventMovie.js +38 -17
- package/lib/components/events/AutoBeEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeProgressEventMovie.js +73 -13
- package/lib/components/events/AutoBeProgressEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeScenarioEventMovie.d.ts +2 -2
- package/lib/components/events/AutoBeScenarioEventMovie.js +18 -5
- package/lib/components/events/AutoBeScenarioEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeStartEventMovie.d.ts +2 -2
- package/lib/components/events/AutoBeStartEventMovie.js +2 -2
- package/lib/components/events/AutoBeStartEventMovie.js.map +1 -1
- package/lib/components/events/AutoBeValidateEventMovie.d.ts +2 -2
- package/lib/components/events/AutoBeValidateEventMovie.js +3 -11
- package/lib/components/events/AutoBeValidateEventMovie.js.map +1 -1
- package/lib/components/events/groups/CorrectEventGroup.d.ts +2 -2
- package/lib/components/events/groups/CorrectEventGroup.js +1 -1
- package/lib/components/events/groups/CorrectEventGroup.js.map +1 -1
- package/lib/components/events/groups/ValidateEventGroup.d.ts +2 -2
- package/lib/components/events/groups/ValidateEventGroup.js +1 -2
- package/lib/components/events/groups/ValidateEventGroup.js.map +1 -1
- package/lib/components/events/utils/eventGrouper.js +1 -2
- package/lib/components/events/utils/eventGrouper.js.map +1 -1
- package/lib/components/upload/AutoBeChatUploadBox.d.ts +3 -4
- package/lib/components/upload/AutoBeChatUploadBox.js +2 -1
- package/lib/components/upload/AutoBeChatUploadBox.js.map +1 -1
- package/lib/components/upload/AutoBeChatUploadSendButton.js +1 -1
- package/lib/components/upload/AutoBeChatUploadSendButton.js.map +1 -1
- package/lib/context/AutoBeAgentContext.d.ts +1 -3
- package/lib/context/AutoBeAgentContext.js +0 -4
- package/lib/context/AutoBeAgentContext.js.map +1 -1
- package/lib/hooks/useSessionStorage.d.ts +4 -0
- package/lib/hooks/useSessionStorage.js +16 -0
- package/lib/hooks/useSessionStorage.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/strategy/AutoBeAgentSessionStorageStrategy.d.ts +10 -0
- package/lib/strategy/AutoBeAgentSessionStorageStrategy.js +117 -0
- package/lib/strategy/AutoBeAgentSessionStorageStrategy.js.map +1 -0
- package/lib/structure/AutoBeListener.js +91 -23
- package/lib/structure/AutoBeListener.js.map +1 -1
- package/lib/structure/AutoBeListenerState.d.ts +3 -3
- package/lib/structure/AutoBeListenerState.js +4 -4
- package/lib/structure/AutoBeListenerState.js.map +1 -1
- package/lib/structure/IAutoBeAgentSessionStorageStrategy.js +1 -1
- package/lib/structure/IAutoBeAgentSessionStorageStrategy.js.map +1 -1
- package/lib/utils/AutoBeFileUploader.d.ts +2 -2
- package/lib/utils/AutoBeFileUploader.js.map +1 -1
- package/package.json +3 -4
- 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 -484
- 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 -368
- package/src/components/events/AutoBeEventGroupMovie.tsx +18 -18
- package/src/components/events/AutoBeEventMovie.tsx +158 -139
- package/src/components/events/AutoBeProgressEventMovie.tsx +217 -157
- package/src/components/events/AutoBeScenarioEventMovie.tsx +135 -95
- package/src/components/events/AutoBeStartEventMovie.tsx +82 -82
- package/src/components/events/AutoBeValidateEventMovie.tsx +249 -286
- 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 -146
- 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 -117
- package/src/components/events/utils/index.ts +1 -1
- package/src/components/index.ts +13 -13
- package/src/components/upload/AutoBeChatUploadBox.tsx +425 -424
- 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 -258
- 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 -0
- package/src/icons/Receipt.tsx +74 -74
- package/src/index.ts +9 -8
- package/src/strategy/AutoBeAgentSessionStorageStrategy.ts +127 -0
- package/src/structure/AutoBeListener.ts +373 -304
- 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
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# AutoBE - AI backend builder for prototype to production
|
|
2
|
+
|
|
3
|
+
[](https://github.com/wrtnlabs/autobe/blob/master/LICENSE)
|
|
4
|
+
[](https://www.npmjs.com/package/@autobe/agent)
|
|
5
|
+
[](https://www.npmjs.com/package/@autobe/agent)
|
|
6
|
+
[](https://github.com/wrtnlabs/autobe/actions?query=workflow%3Abuild)
|
|
7
|
+
[](https://autobe.dev/docs/)
|
|
8
|
+
[](https://discord.gg/aMhRmzkqCx)
|
|
9
|
+
|
|
10
|
+
Describe your backend requirements in natural language through AutoBE's chat interface.
|
|
11
|
+
|
|
12
|
+
AutoBE will analyze your requirements and build the backend application for you. The generated backend application is designed to be 100% buildable by AI-friendly compilers and ensures stability through powerful e2e test functions.
|
|
13
|
+
|
|
14
|
+
With such AutoBE, build your first backend application quickly, then maintain and extend it with AI code assistants like Claude Code for enhanced productivity and stability.
|
|
15
|
+
|
|
16
|
+
AutoBE will generate complete specifications, detailed database and API documentation, comprehensive test coverage for stability, and clean implementation logic that serves as a learning foundation for juniors while significantly improving senior developer productivity.
|
|
17
|
+
|
|
18
|
+
Check out these complete backend application examples generated by AutoBE:
|
|
19
|
+
|
|
20
|
+
https://github.com/user-attachments/assets/b995dd2a-23bd-43c9-96cb-96d5c805f19f
|
|
21
|
+
|
|
22
|
+
1. **To Do List**: [`todo`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/todo)
|
|
23
|
+
2. **Discussion Board**: [`bbs`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs)
|
|
24
|
+
3. **Reddit Community**: [`reddit](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/reddit)
|
|
25
|
+
4. **E-Commerce**: [`shopping`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping)
|
|
26
|
+
- Requirements Analysis: [Report](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/docs/analysis)
|
|
27
|
+
- Database Design: [Entity Relationship Diagram](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/docs/ERD.md) / [Prisma Schema](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/prisma/schema)
|
|
28
|
+
- API Design: [API Controllers](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/src/controllers) / [DTO Structures](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/src/api/structures)
|
|
29
|
+
- E2E Test Functions: [`test/features/api`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/test/features/api)
|
|
30
|
+
- API Implementations: [`src/providers`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/shopping/src/providers)
|
|
31
|
+
|
|
32
|
+
## Getting Started
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
git clone https://github.com/wrtnlabs/autobe --depth=1
|
|
36
|
+
cd autobe
|
|
37
|
+
pnpm install
|
|
38
|
+
pnpm run playground
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
To use AutoBE, clone the repository and run the playground application locally. This allows you to chat with AutoBE's AI agents, manage multiple sessions, and use various LLM providers including local models like `qwen3-next-80b-a3b-instruct`.
|
|
42
|
+
|
|
43
|
+
After installation, the playground will be available at http://localhost:5713. You can interact with AutoBE through a chat interface - simply describe what you want to build, and AutoBE will generate the backend application for you.
|
|
44
|
+
|
|
45
|
+
Here's an example conversation script that guides AutoBE to create an "Economic/Political Discussion Board":
|
|
46
|
+
|
|
47
|
+
1. **Requirements Analysis**: "I want to create an economic/political discussion board. Since I'm not familiar with programming, please write a requirements analysis report as you see fit."
|
|
48
|
+
2. **Database Design**: "Design the database schema."
|
|
49
|
+
3. **API Specification**: "Create the API interface specification."
|
|
50
|
+
4. **Testing**: "Make the e2e test functions."
|
|
51
|
+
5. **Implementation**: "Implement API functions."
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
> The playground includes a replay feature at http://localhost:5713/replay/index.html where you can view chat sessions from the AutoBE development team's testing and benchmarks.
|
|
56
|
+
|
|
57
|
+
## Documentation Resources
|
|
58
|
+
|
|
59
|
+
Find comprehensive resources at our [official website](https://autobe.dev).
|
|
60
|
+
|
|
61
|
+
### 🏠 Home
|
|
62
|
+
|
|
63
|
+
- 🙋🏻♂️ [Introduction](https://autobe.dev/docs)
|
|
64
|
+
- 📦 [Setup](https://autobe.dev/docs/setup)
|
|
65
|
+
- 🔍 Concepts
|
|
66
|
+
- [Waterfall Model](https://autobe.dev/docs/concepts/waterfall)
|
|
67
|
+
- [Compiler Strategy](https://autobe.dev/docs/concepts/compiler)
|
|
68
|
+
- [AI Function Calling](https://autobe.dev/docs/concepts/function-calling)
|
|
69
|
+
|
|
70
|
+
### 📖 Features
|
|
71
|
+
|
|
72
|
+
- 🤖 Agent Library
|
|
73
|
+
- [Facade Controller](https://autobe.dev/docs/agent/facade)
|
|
74
|
+
- [Configuration](https://autobe.dev/docs/agent/config)
|
|
75
|
+
- [Event Handling](https://autobe.dev/docs/agent/event)
|
|
76
|
+
- [Prompt Histories](https://autobe.dev/docs/agent/history)
|
|
77
|
+
- 📡 WebSocket Protocol
|
|
78
|
+
- [Remote Procedure Call](https://autobe.dev/docs/websocket/rpc)
|
|
79
|
+
- [NestJS Server](https://autobe.dev/docs/websocket/nestjs)
|
|
80
|
+
- [NodeJS Server](https://autobe.dev/docs/websocket/nodejs)
|
|
81
|
+
- [Client Application](https://autobe.dev/docs/websocket/client)
|
|
82
|
+
- 🛠️ Backend Stack
|
|
83
|
+
- [TypeScript](https://autobe.dev/docs/stack/typescript)
|
|
84
|
+
- [Prisma ORM](https://autobe.dev/docs/stack/prisma)
|
|
85
|
+
- [NestJS Framework](https://autobe.dev/docs/stack/nestjs)
|
|
86
|
+
|
|
87
|
+
### 🔗 Appendix
|
|
88
|
+
|
|
89
|
+
- 🌐 [No-Code Ecosystem](https://autobe.dev/docs/ecosystem)
|
|
90
|
+
- 📅 Roadmap
|
|
91
|
+
- [Alpha Release (done)](https://autobe.dev/docs/roadmap/alpha)
|
|
92
|
+
- [Beta Release (done)](https://autobe.dev/docs/roadmap/beta)
|
|
93
|
+
- [Gamma Release (done)](https://autobe.dev/docs/roadmap/gamma)
|
|
94
|
+
- [Delta Release (active)](https://autobe.dev/docs/roadmap/delta)
|
|
95
|
+
- 🔧 [API Documentation](https://autobe.dev/api)
|
|
96
|
+
|
|
97
|
+
## How AutoBE Works
|
|
98
|
+
|
|
99
|
+
```mermaid
|
|
100
|
+
flowchart
|
|
101
|
+
subgraph "Backend Coding Agent"
|
|
102
|
+
coder("Facade Controller")
|
|
103
|
+
end
|
|
104
|
+
subgraph "Functional Agents"
|
|
105
|
+
coder --"Requirements Analysis"--> analyze("Analyze")
|
|
106
|
+
coder --"ERD"--> database("Database")
|
|
107
|
+
coder --"API Design"--> interface("Interface")
|
|
108
|
+
coder --"Test Codes" --> test("Test")
|
|
109
|
+
coder --"Main Program" --> realize("Realize")
|
|
110
|
+
end
|
|
111
|
+
subgraph "Compiler Feedback"
|
|
112
|
+
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Prisma Compiler</a>")
|
|
113
|
+
interface --"generates" --> openapiCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/openapi/AutoBeOpenApi.ts" target="_blank">OpenAPI Compiler</a>")
|
|
114
|
+
test --"analyzes" --> testCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/test/AutoBeTest.ts" target="_blank">Test Compiler</a>")
|
|
115
|
+
realize --"compiles" --> realizeCompiler("TypeScript Compiler")
|
|
116
|
+
end
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
AutoBE follows a waterfall methodology to generate backend applications, with 40+ specialized agents handling each phase. The agents work in coordinated teams throughout the development process.
|
|
120
|
+
|
|
121
|
+
Each waterfall stage includes AI-friendly compilers that guarantee type safety of the generated code. Rather than generating code directly, AutoBE's agents first construct language-neutral Abstract Syntax Trees using predefined schemas. Each AST node undergoes validation against type rules before any code generation occurs, catching structural errors at the conceptual level rather than during compilation.
|
|
122
|
+
|
|
123
|
+
This approach is designed to ensure that the final generated TypeScript and Prisma code is 100% buildable. Based on our testing with multiple example projects including e-commerce platforms, discussion boards, and task management systems, AutoBE maintains this compilation guarantee across diverse application types.
|
|
124
|
+
|
|
125
|
+
To illustrate this process, here are the phase outputs from our "Economic/Political Discussion Board" example:
|
|
126
|
+
|
|
127
|
+
1. **Requirements Analysis**: [Report](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/docs/analysis)
|
|
128
|
+
2. **Database Design**: [Entity Relationship Diagram](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/docs/ERD.md) / [Prisma Schema](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/prisma/schema)
|
|
129
|
+
3. **API Specification**: [API Controllers](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/src/controllers) / [DTO Structures](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/src/api/structures)
|
|
130
|
+
4. **E2E Test Functions**: [`test/features/api`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/test/features/api)
|
|
131
|
+
5. **API Implementations**: [`src/providers`](https://github.com/wrtnlabs/autobe-examples/tree/main/openai/gpt-4.1/bbs/src/providers)
|
|
132
|
+
|
|
133
|
+
Also, you don't need to use all phases - stop at any stage that fits your needs. Whether you want just requirements analysis, database design, API specification, or e2e testing, AutoBE adapts to your workflow.
|
|
134
|
+
|
|
135
|
+
Additionally, if you're skipping the full pipeline because of language preference rather than workflow needs, this capability is in development - AutoBE's language-neutral AST structure will soon support additional programming languages beyond TypeScript.
|
|
136
|
+
|
|
137
|
+
## Type-Safe Client SDK
|
|
138
|
+
|
|
139
|
+
Every AutoBE-generated backend automatically includes a type-safe client SDK, making frontend integration seamless and error-free. This SDK provides:
|
|
140
|
+
|
|
141
|
+
- **Zero Configuration**: SDK is auto-generated alongside your backend - no manual setup required
|
|
142
|
+
- **100% Type Safety**: Full TypeScript support with autocomplete and compile-time validation
|
|
143
|
+
- **Framework Agnostic**: Works with React, Vue, Angular, or any TypeScript/JavaScript project
|
|
144
|
+
- **E2E Test Integration**: Powers AI-generated test suites for comprehensive backend testing
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import api, { IPost } from "autobe-generated-sdk";
|
|
148
|
+
|
|
149
|
+
// Type-safe API calls with full autocomplete
|
|
150
|
+
const connection: api.IConnection = {
|
|
151
|
+
host: "http://localhost:1234",
|
|
152
|
+
};
|
|
153
|
+
await api.functional.users.login(connection, {
|
|
154
|
+
body: {
|
|
155
|
+
email: "user@example.com",
|
|
156
|
+
password: "secure-password",
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// TypeScript catches errors at compile time
|
|
161
|
+
const post: IPost = await api.functional.posts.create(connection, {
|
|
162
|
+
body: {
|
|
163
|
+
title: "Hello World",
|
|
164
|
+
content: "My first post",
|
|
165
|
+
// authorId: "123" <- TypeScript error if this field is missing!
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
This SDK eliminates the traditional pain points of API integration - no more manual type definitions, no more runtime surprises, and no more API documentation lookups. Your frontend developers can focus on building features, not wrestling with API contracts.
|
|
171
|
+
|
|
172
|
+
**Beyond Frontend Integration**: The SDK powers both frontend development and E2E test generation. AutoBE uses the same type-safe SDK internally to generate comprehensive test suites, ensuring every API endpoint is thoroughly tested. This creates a robust feedback loop that enhances backend stability - AI writes tests using the SDK, the SDK ensures type safety, and your backend becomes more reliable with every generated test.
|
|
173
|
+
|
|
174
|
+
## Roadmap Schedule
|
|
175
|
+
|
|
176
|
+
```mermaid
|
|
177
|
+
gantt
|
|
178
|
+
dateFormat YYYY-MM-DD
|
|
179
|
+
title AutoBE Delta Roadmap Timeline (2026 Q1)
|
|
180
|
+
|
|
181
|
+
section Local LLM Benchmark
|
|
182
|
+
Qwen3 Database Phase : done, 2026-01-01, 31d
|
|
183
|
+
Qwen3 Interface Phase : done, 2026-01-16, 31d
|
|
184
|
+
Qwen3 Test Phase : done, 2026-02-01, 21d
|
|
185
|
+
Qwen3 Realize Phase : done, 2026-02-01, 59d
|
|
186
|
+
|
|
187
|
+
section Validation Logic Enhancement
|
|
188
|
+
Dynamic Function Calling Schema : done, 2026-01-01, 7d
|
|
189
|
+
Validation Feedback Stringify : done, 2026-01-08, 12d
|
|
190
|
+
JSON Schema Validator : done, 2026-01-08, 12d
|
|
191
|
+
Schema Review Validation Logic : done, 2026-01-20, 35d
|
|
192
|
+
Test Mapping Plan Enhancement : done, 2026-02-05, 24d
|
|
193
|
+
Realize Mapping Plan Enhancement : done, 2026-02-15, 45d
|
|
194
|
+
|
|
195
|
+
section RAG Optimization
|
|
196
|
+
Hybrid Search (Vector + BM25) : done, 2026-01-01, 14d
|
|
197
|
+
Dynamic K Retrieval : done, 2026-01-15, 14d
|
|
198
|
+
RAG Preliminary Prompting : done, 2026-01-15, 28d
|
|
199
|
+
RAG Benchmark & Tuning : done, 2026-02-01, 28d
|
|
200
|
+
Analyze Agent Restructuring : done, 2026-02-01, 28d
|
|
201
|
+
|
|
202
|
+
section Design Integrity
|
|
203
|
+
DB Coverage Agent : done, 2026-01-15, 28d
|
|
204
|
+
API Endpoint Coverage Agent : done, 2026-01-22, 28d
|
|
205
|
+
Schema Relation Agent : done, 2026-02-01, 28d
|
|
206
|
+
Schema Structure Agent : done, 2026-02-01, 28d
|
|
207
|
+
Schema Content Agent : done, 2026-03-01, 28d
|
|
208
|
+
|
|
209
|
+
section Multi-lingual Support
|
|
210
|
+
Java Compiler PoC : done, 2026-01-01, 30d
|
|
211
|
+
Java Database : done, 2026-01-01, 14d
|
|
212
|
+
Java Interface : done, 2026-01-15, 21d
|
|
213
|
+
Java Test : active, 2026-02-05, 28d
|
|
214
|
+
Java Realize : active, 2026-03-01, 31d
|
|
215
|
+
|
|
216
|
+
section Human Modification Support
|
|
217
|
+
Database Schema Parser : active, 2026-02-15, 28d
|
|
218
|
+
Interface Schema Parser : active, 2026-02-22, 28d
|
|
219
|
+
Requirements Sync Agent : planned, 2026-03-08, 24d
|
|
220
|
+
|
|
221
|
+
section Miscellaneous
|
|
222
|
+
System Prompt Simplification : done, 2026-02-01, 28d
|
|
223
|
+
Estimation Agent : done, 2026-02-01, 28d
|
|
224
|
+
Playground Service Enhancement : active, 2026-02-15, 28d
|
|
225
|
+
PR Articles Writing : active, 2026-02-15, 30d
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
AutoBE has successfully completed Alpha, Beta, and Gamma development phases, establishing a solid foundation with **100% compilation success rate**. The current **Delta Release** focuses on transitioning from horizontal expansion to vertical deepening.
|
|
229
|
+
|
|
230
|
+
**Strategic Shift**: In Gamma, we rapidly implemented features like RAG, Modularization, and Complementation under a "just ship it" philosophy. Delta fills the stability gaps that remained by systematically discovering and fixing hidden defects through Local LLM benchmarks.
|
|
231
|
+
|
|
232
|
+
**Key Focus Areas**:
|
|
233
|
+
|
|
234
|
+
- **Local LLM Benchmark**: Using open-source models like Qwen3 as a touchstone to discover hidden defects that commercial models mask, ensuring more robust operation across all model types
|
|
235
|
+
- **Validation Logic Enhancement**: Strengthening schemas and validation logic through dynamic function calling schemas, JSON Schema validators, and progressive validation pipelines
|
|
236
|
+
- **RAG Optimization**: Completing the Hybrid Search system (Vector + BM25) with dynamic K retrieval and comprehensive benchmark tuning
|
|
237
|
+
- **Design Integrity**: Building mechanisms to verify and ensure design consistency between Database and Interface phases through coverage and schema review agents
|
|
238
|
+
- **Multi-lingual Support**: Launching Java/Spring code generation alongside TypeScript/NestJS, with language-neutral AST structures enabling future language additions
|
|
239
|
+
- **Human Modification Support**: Enabling maintenance continuity by parsing user-modified code back into AutoBE's internal AST representation, ensuring AutoBE remains useful beyond initial generation
|
|
240
|
+
|
|
241
|
+
This roadmap prioritizes stability and depth over feature breadth, informed by real-world production experience from Gamma.
|
|
242
|
+
|
|
243
|
+
## Current Limitations
|
|
244
|
+
|
|
245
|
+
While AutoBE achieves 100% compilation success, please note these current limitations:
|
|
246
|
+
|
|
247
|
+
**Runtime Behavior**: Generated applications compile successfully, but runtime behavior may require testing and refinement. Unexpected runtime errors can occur during server execution, such as database connection issues, API endpoint failures, or business logic exceptions that weren't caught during compilation. We strongly recommend thorough testing in development environments before deploying to production. Our v1.0 release targets 100% runtime success to address these issues.
|
|
248
|
+
|
|
249
|
+
**Design Interpretation**: AutoBE's database and API designs may differ from your expectations. We recommend thoroughly reviewing generated specifications before proceeding with implementation, especially before production deployment.
|
|
250
|
+
|
|
251
|
+
**Token Consumption**: AutoBE requires significant AI token usage for complex projects. Based on our testing, projects typically consume 30M-250M+ tokens depending on complexity (simple todo apps use ~4M tokens, while complex e-commerce platforms may require 250M+ tokens). We are working on RAG optimization to reduce this overhead in future releases.
|
|
252
|
+
|
|
253
|
+
**Maintenance**: AutoBE focuses on initial generation and does not provide ongoing maintenance capabilities. Once your backend is generated, you'll need to handle bug fixes, feature additions, performance optimizations, and security updates manually. We recommend establishing a development workflow that combines the generated codebase with AI coding assistants like Claude Code for efficient ongoing development and maintenance tasks.
|
|
254
|
+
|
|
255
|
+

|
|
256
|
+
|
|
257
|
+
## License
|
|
258
|
+
|
|
259
|
+
AutoBE is licensed under the [GNU Affero General Public License v3.0 (AGPL-3.0)](LICENSE). If you modify AutoBE itself or offer it as a network service, you must make your source code available under the same license.
|
|
260
|
+
|
|
261
|
+
However, backend applications generated by AutoBE can be relicensed under any license you choose, such as MIT. This means you can freely use AutoBE-generated code in commercial projects without open source obligations, similar to how other code generation tools work.
|
|
@@ -188,11 +188,11 @@ const AutoBeChatMain = (props) => {
|
|
|
188
188
|
backgroundColor: "#28a745",
|
|
189
189
|
borderRadius: "50%",
|
|
190
190
|
animation: "pulse 1.5s infinite",
|
|
191
|
-
} }), "Connected"] })), (0, jsx_runtime_1.jsx)("style", { children: `
|
|
192
|
-
@keyframes pulse {
|
|
193
|
-
0%, 100% { opacity: 1; }
|
|
194
|
-
50% { opacity: 0.5; }
|
|
195
|
-
}
|
|
191
|
+
} }), "Connected"] })), (0, jsx_runtime_1.jsx)("style", { children: `
|
|
192
|
+
@keyframes pulse {
|
|
193
|
+
0%, 100% { opacity: 1; }
|
|
194
|
+
50% { opacity: 0.5; }
|
|
195
|
+
}
|
|
196
196
|
` }), props.isUnusedConfig === false &&
|
|
197
197
|
((_a = props.configFields) === null || _a === void 0 ? void 0 : _a.length) != null &&
|
|
198
198
|
props.configFields.length > 0 && ((0, jsx_runtime_1.jsx)(AutoBeConfigButton_1.default, { fields: props.configFields || [] })), (0, jsx_runtime_1.jsx)(AutoBeStatusButton_1.default, {})] }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoBeChatMain.js","sourceRoot":"","sources":["../../src/components/AutoBeChatMain.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,6CAAuD;AACvD,iCAAqD;AAErD,0BAAoE;AACpE,sEAA+D;AAC/D,oCAAyC;AACzC,4CAIyB;AACzB,8CAA8D;AAC9D,8EAAsD;AACtD,4EAAsE;AACtE,8EAAsD;AACtD,2FAAmE;AAe5D,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAE,EAAE;;IAC5D,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAA,mCAAc,GAAE,CAAC;IAC7E,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,6BAAyB,GAAE,CAAC;IAC3D,MAAM,QAAQ,GAA6C,IAAA,cAAM,EAAC;QAChE,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;QACzB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;QACzB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;KACzB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,GAAkB,EAAE;;QAC3C,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,MAAA,KAAK,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS;gBAC3B,CAAC,CAAC,IAAA,oCAA0B,EAAC,KAAK,CAAC,UAAU,CAAC;gBAC9C,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAEjD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAY,uBAAc,GAAK,MAAM,EAAG;IAC1C,CAAC,CAAC;IAEF,wCAAwC;IACxC,MAAM,iBAAiB,GAAG,GAAY,EAAE;QACtC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,8CAA8C;QAC9C,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,CACjB,
|
|
1
|
+
{"version":3,"file":"AutoBeChatMain.js","sourceRoot":"","sources":["../../src/components/AutoBeChatMain.tsx"],"names":[],"mappings":"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"}
|
|
@@ -118,11 +118,11 @@ const AutoBeConfigModal = (props) => {
|
|
|
118
118
|
fontSize: "1rem",
|
|
119
119
|
color: "#6b7280",
|
|
120
120
|
transition: "all 0.2s",
|
|
121
|
-
}, className: "modal-close-button", children: "\u2716\uFE0F" }), (0, jsx_runtime_1.jsx)("style", { children: `
|
|
122
|
-
.modal-close-button:hover {
|
|
123
|
-
background-color: #f3f4f6 !important;
|
|
124
|
-
color: #374151 !important;
|
|
125
|
-
}
|
|
121
|
+
}, className: "modal-close-button", children: "\u2716\uFE0F" }), (0, jsx_runtime_1.jsx)("style", { children: `
|
|
122
|
+
.modal-close-button:hover {
|
|
123
|
+
background-color: #f3f4f6 !important;
|
|
124
|
+
color: #374151 !important;
|
|
125
|
+
}
|
|
126
126
|
` })] }), (0, jsx_runtime_1.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: props.fields.map((field) => {
|
|
127
127
|
var _a;
|
|
128
128
|
return ((0, jsx_runtime_1.jsx)("div", { children: field.type === "checkbox" ? ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: "0.25rem" }, children: [(0, jsx_runtime_1.jsx)("label", { style: {
|
|
@@ -183,12 +183,12 @@ const ConfigButton = ({ variant, onClick, children, disabled, }) => {
|
|
|
183
183
|
border: "1px solid #d1d5db",
|
|
184
184
|
},
|
|
185
185
|
};
|
|
186
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
187
|
-
.config-button-${variant}:hover:not(:disabled) {
|
|
186
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
187
|
+
.config-button-${variant}:hover:not(:disabled) {
|
|
188
188
|
${variant === "primary"
|
|
189
189
|
? "background-color: #2563eb !important; border-color: #2563eb !important;"
|
|
190
|
-
: "background-color: #f3f4f6 !important; border-color: #9ca3af !important;"}
|
|
191
|
-
}
|
|
190
|
+
: "background-color: #f3f4f6 !important; border-color: #9ca3af !important;"}
|
|
191
|
+
}
|
|
192
192
|
` }), (0, jsx_runtime_1.jsx)("button", { className: `config-button-${variant}`, style: Object.assign(Object.assign({}, baseStyles), variantStyles[variant]), onClick: onClick, disabled: disabled, children: children })] }));
|
|
193
193
|
};
|
|
194
194
|
/** All available AutoBE configuration fields */
|
|
@@ -116,12 +116,12 @@ const PROGRESS_STEPS = [
|
|
|
116
116
|
},
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
|
-
name: "
|
|
119
|
+
name: "database",
|
|
120
120
|
title: "Database Design",
|
|
121
121
|
getResults: (state) => {
|
|
122
|
-
if (!state.
|
|
122
|
+
if (!state.database)
|
|
123
123
|
return null;
|
|
124
|
-
const schemaCount = Object.keys(state.
|
|
124
|
+
const schemaCount = Object.keys(state.database.schemas).length;
|
|
125
125
|
return `${schemaCount} schema files`;
|
|
126
126
|
},
|
|
127
127
|
},
|
|
@@ -142,7 +142,7 @@ const PROGRESS_STEPS = [
|
|
|
142
142
|
getResults: (state) => {
|
|
143
143
|
if (!state.test)
|
|
144
144
|
return null;
|
|
145
|
-
const testCount = state.test.
|
|
145
|
+
const testCount = state.test.functions.filter((f) => f.type === "operation").length;
|
|
146
146
|
return `${testCount} test files`;
|
|
147
147
|
},
|
|
148
148
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoBeStatusModal.js","sourceRoot":"","sources":["../../src/components/AutoBeStatusModal.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AutoBeStatusModal.js","sourceRoot":"","sources":["../../src/components/AutoBeStatusModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutoBeUserConversateContent } from "@autobe/interface";
|
|
2
2
|
interface IAutoBeUserMessageHistoryMovieProps {
|
|
3
|
-
message: Array<
|
|
3
|
+
message: Array<AutoBeUserConversateContent>;
|
|
4
4
|
}
|
|
5
5
|
export declare const AutoBeUserMessageMovie: (props: IAutoBeUserMessageHistoryMovieProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default AutoBeUserMessageMovie;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutoBeUserConversateContent } from "@autobe/interface";
|
|
2
2
|
/** Props interface for ChatBubble component */
|
|
3
3
|
export interface IChatBubbleProps {
|
|
4
4
|
/** Message content - supports text, audio, file, and image types */
|
|
5
|
-
content: Array<
|
|
5
|
+
content: Array<AutoBeUserConversateContent | string>;
|
|
6
6
|
/** Direction of the chat bubble - left or right */
|
|
7
7
|
direction: "left" | "right";
|
|
8
8
|
/** Timestamp (ISO format) */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutoBeUserConversateContent } from "@autobe/interface";
|
|
2
2
|
export interface IOpenAIUserContentProps {
|
|
3
|
-
content: Array<
|
|
3
|
+
content: Array<AutoBeUserConversateContent | string>;
|
|
4
4
|
}
|
|
5
5
|
export declare const OpenAIContent: (props: IOpenAIUserContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default OpenAIContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIContent.tsx"],"names":[],"mappings":";;;;AAEA,qEAAkE;AAClE,mEAAgE;AAChE,qEAAkE;AAClE,mEAAgE;AAMzD,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,CAC1B,
|
|
1
|
+
{"version":3,"file":"OpenAIContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIContent.tsx"],"names":[],"mappings":";;;;AAEA,qEAAkE;AAClE,mEAAgE;AAChE,qEAAkE;AAClE,mEAAgE;AAMzD,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,CAC1B,IAA0C,EAC1C,KAAa,EACb,EAAE;QACF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,uBAAC,6CAAqB,IAAa,IAAI,EAAE,IAAI,IAAjB,KAAK,CAAgB,CAAC;QAC3D,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,uBAAC,6CAAqB,IAAa,IAAI,EAAE,IAAI,CAAC,IAAI,IAAtB,KAAK,CAAqB,CAAC;YAChE,KAAK,OAAO;gBACV,OAAO,uBAAC,+CAAsB,IAAa,OAAO,EAAE,IAAI,IAApB,KAAK,CAAmB,CAAC;YAC/D,KAAK,MAAM;gBACT,OAAO,uBAAC,6CAAqB,IAAa,OAAO,EAAE,IAAI,IAApB,KAAK,CAAmB,CAAC;YAC9D,KAAK,OAAO;gBACV,OAAO,uBAAC,+CAAsB,IAAa,OAAO,EAAE,IAAI,IAApB,KAAK,CAAmB,CAAC;YAC/D;gBACE,OAAO,CACL,uBAAC,6CAAqB,IAAa,IAAI,EAAC,0BAA0B,IAAtC,KAAK,CAAoC,CACtE,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,gCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,SAAS;SACf,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAC3D,CACP,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,aAAa,iBAuCxB;AAEF,kBAAe,qBAAa,CAAC"}
|
|
@@ -4,7 +4,7 @@ exports.OpenAIUserAudioContent = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
/** Audio content renderer component for OpenAI messages */
|
|
6
6
|
const OpenAIUserAudioContent = ({ content, }) => {
|
|
7
|
-
const isRight = true;
|
|
7
|
+
const isRight = true;
|
|
8
8
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
9
9
|
display: "flex",
|
|
10
10
|
flexDirection: "column",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIUserAudioContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIUserAudioContent.tsx"],"names":[],"mappings":";;;;AAEA,2DAA2D;AACpD,MAAM,sBAAsB,GAAG,CAAC,EACrC,OAAO,GAGR,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"OpenAIUserAudioContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIUserAudioContent.tsx"],"names":[],"mappings":";;;;AAEA,2DAA2D;AACpD,MAAM,sBAAsB,GAAG,CAAC,EACrC,OAAO,GAGR,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAI,CAAC;IAErB,OAAO,CACL,iCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;SAClB,aAGD,gCACE,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBAC9D,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,YAAY,EAAE,QAAQ;iBACvB,YAED,gCACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,YAEjD,iCAAM,CAAC,EAAC,uFAAuF,GAAG,GAC9F,GACF,EACN,gCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,QAAQ;iBACpB,sBAGG,EACN,gCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,SAAS;iBACrB,YAEA,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GACzB,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,sBAAsB,0BAgEjC;AAEF,kBAAe,8BAAsB,CAAC"}
|
|
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
/** File content renderer component for OpenAI messages */
|
|
6
6
|
const OpenAIUserFileContent = ({ content, }) => {
|
|
7
7
|
var _a;
|
|
8
|
-
const isRight = true;
|
|
8
|
+
const isRight = true;
|
|
9
9
|
const fileName = content.file.type === "base64"
|
|
10
10
|
? content.file.name
|
|
11
11
|
: `File ID: ${content.file.id}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIUserFileContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIUserFileContent.tsx"],"names":[],"mappings":";;;;AAEA,0DAA0D;AACnD,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,GAGR,EAAE,EAAE;;IACH,MAAM,OAAO,GAAG,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"OpenAIUserFileContent.js","sourceRoot":"","sources":["../../../../src/components/common/openai/OpenAIUserFileContent.tsx"],"names":[],"mappings":";;;;AAEA,0DAA0D;AACnD,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,GAGR,EAAE,EAAE;;IACH,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;QACnB,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAEpC,OAAO,CACL,iCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;SAClB,aAGD,gCACE,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,QAAQ;oBACtB,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBAC9D,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,YAAY,EAAE,QAAQ;iBACvB,YAED,gCACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAE3B,iCAAM,CAAC,EAAC,yFAAyF,GAAG,GAChG,GACF,EACN,iCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,QAAQ;oBACnB,YAAY,EAAE,SAAS;iBACxB,aAEA,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,aACtC,EACN,gCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,WAAW;oBACtB,QAAQ,EAAE,MAAM;iBACjB,YAEA,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAtEW,QAAA,qBAAqB,yBAsEhC;AAEF,kBAAe,6BAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutoBeUserImageConversateContent } from "@autobe/interface";
|
|
2
2
|
/** Image content renderer component for OpenAI messages */
|
|
3
3
|
export declare const OpenAIUserImageContent: ({ content, }: {
|
|
4
|
-
content:
|
|
4
|
+
content: AutoBeUserImageConversateContent;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default OpenAIUserImageContent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AutoBeAnalyzeCompleteEvent,
|
|
1
|
+
import { AutoBeAnalyzeCompleteEvent, AutoBeDatabaseCompleteEvent, AutoBeInterfaceCompleteEvent, AutoBeRealizeCompleteEvent, AutoBeTestCompleteEvent, IAutoBeGetFilesOptions } from "@autobe/interface";
|
|
2
2
|
export interface IAutoBeCompleteEventMovieProps {
|
|
3
3
|
getFiles: (options?: Partial<IAutoBeGetFilesOptions>) => Promise<Record<string, string>>;
|
|
4
|
-
event: AutoBeAnalyzeCompleteEvent |
|
|
4
|
+
event: AutoBeAnalyzeCompleteEvent | AutoBeDatabaseCompleteEvent | AutoBeInterfaceCompleteEvent | AutoBeTestCompleteEvent | AutoBeRealizeCompleteEvent;
|
|
5
5
|
}
|
|
6
6
|
export declare const AutoBeCompleteEventMovie: (props: IAutoBeCompleteEventMovieProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
7
7
|
export default AutoBeCompleteEventMovie;
|
|
@@ -20,7 +20,7 @@ const react_1 = require("react");
|
|
|
20
20
|
const tstl_1 = require("tstl");
|
|
21
21
|
const common_1 = require("./common");
|
|
22
22
|
const AutoBeCompleteEventMovie = (props) => {
|
|
23
|
-
const
|
|
23
|
+
const phase = getPhase(props.event);
|
|
24
24
|
const [size, setSize] = (0, react_1.useState)(null);
|
|
25
25
|
const [downloading, setDownloading] = (0, react_1.useState)(false);
|
|
26
26
|
const getFiles = (dbms) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -28,7 +28,7 @@ const AutoBeCompleteEventMovie = (props) => {
|
|
|
28
28
|
try {
|
|
29
29
|
const result = yield props.getFiles({
|
|
30
30
|
dbms,
|
|
31
|
-
|
|
31
|
+
phase,
|
|
32
32
|
});
|
|
33
33
|
return result;
|
|
34
34
|
}
|
|
@@ -120,7 +120,7 @@ const AutoBeCompleteEventMovie = (props) => {
|
|
|
120
120
|
cursor: "not-allowed",
|
|
121
121
|
fontSize: "0.875rem",
|
|
122
122
|
color: "#6b7280",
|
|
123
|
-
}, children: "\u23F3 Downloading Source Codes..." })) : props.event.type === "analyzeComplete" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ActionButton, { icon: "\uD83D\uDCE5", text: "Zip (SQLite)", onClick: () => download("sqlite"), title:
|
|
123
|
+
}, children: "\u23F3 Downloading Source Codes..." })) : props.event.type === "analyzeComplete" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ActionButton, { icon: "\uD83D\uDCE5", text: "Zip (SQLite)", onClick: () => download("sqlite"), title: phase !== "analyze"
|
|
124
124
|
? "Download SQLite-based backend application (ideal for local development and testing)"
|
|
125
125
|
: "Download requirement analysis report" }), (0, jsx_runtime_1.jsx)(ActionButton, { icon: "\uD83D\uDE80", text: "StackBlitz", onClick: () => openStackBlitz(), variant: size !== null && size >= LIMIT ? "warning" : "primary", title: "Open project in StackBlitz for instant online development and testing" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ActionButton, { icon: "\u2601\uFE0F", text: "Zip (Postgres)", onClick: () => download("postgres"), title: "Download PostgreSQL-based backend application (optimized for production deployment)" }), (0, jsx_runtime_1.jsx)(ActionButton, { icon: "\uD83D\uDCE5", text: "Zip (SQLite)", onClick: () => download("sqlite"), title: "Download SQLite-based backend application (ideal for local development and testing)" }), (0, jsx_runtime_1.jsx)(ActionButton, { icon: "\uD83D\uDE80", text: "StackBlitz", onClick: () => openStackBlitz(), variant: size !== null && size >= LIMIT ? "warning" : "primary", title: "Open project in StackBlitz for instant online development and testing" })] })) })] })] }));
|
|
126
126
|
};
|
|
@@ -166,7 +166,7 @@ function getTitle(event) {
|
|
|
166
166
|
switch (event.type) {
|
|
167
167
|
case "analyzeComplete":
|
|
168
168
|
return "Analyze";
|
|
169
|
-
case "
|
|
169
|
+
case "databaseComplete":
|
|
170
170
|
if (event.compiled.type !== "success")
|
|
171
171
|
return "Prisma (Error)";
|
|
172
172
|
return "Prisma";
|
|
@@ -182,18 +182,18 @@ function getTitle(event) {
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
const getMessage = (openStackBlitz, event) => {
|
|
185
|
-
if (event.type === "
|
|
186
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "Succeeded to compose ", (0, jsx_runtime_1.jsx)("code", { children: "
|
|
185
|
+
if (event.type === "databaseComplete" && event.compiled.type === "failure")
|
|
186
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "Succeeded to compose ", (0, jsx_runtime_1.jsx)("code", { children: "AutoBeDatabase.IApplication" }), " typed AST (Abstract Syntax Tree) data, but failed to generate Prisma schema files from it. This is a bug of ", (0, jsx_runtime_1.jsx)("code", { children: "@autobe" }), ". Please", " ", (0, jsx_runtime_1.jsx)("a", { href: "https://github.com/wrtnlabs/autobe/issues", target: "_blank", style: { color: "#3b82f6", textDecoration: "underline" }, children: "write a bug report to our repository" }), " ", "with the", " ", (0, jsx_runtime_1.jsx)("a", { href: "#", onClick: () => openStackBlitz(), style: { color: "#3b82f6", textDecoration: "underline" }, children: (0, jsx_runtime_1.jsx)("code", { children: "autobe/histories.json" }) }), " ", "file."] }));
|
|
187
187
|
else if ((event.type === "testComplete" || event.type === "realizeComplete") &&
|
|
188
188
|
event.compiled.type !== "success")
|
|
189
189
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "Succeeded to compose", " ", event.type === "testComplete" ? "test functions" : "realize functions", ", but failed to pass the TypeScript compilation. This is a bug of", " ", (0, jsx_runtime_1.jsx)("code", { children: "@autobe" }), ". Please", " ", (0, jsx_runtime_1.jsx)("a", { href: "https://github.com/wrtnlabs/autobe/issues", target: "_blank", style: { color: "#3b82f6", textDecoration: "underline" }, children: "write a bug report to our repository" }), " ", "with the", " ", (0, jsx_runtime_1.jsx)("a", { href: "#", onClick: () => openStackBlitz(), style: { color: "#3b82f6", textDecoration: "underline" }, children: (0, jsx_runtime_1.jsx)("code", { children: "autobe/histories.json" }) }), " ", "file."] }));
|
|
190
190
|
return null;
|
|
191
191
|
};
|
|
192
|
-
const
|
|
192
|
+
const getPhase = (event) => {
|
|
193
193
|
if (event.type === "analyzeComplete")
|
|
194
194
|
return "analyze";
|
|
195
|
-
else if (event.type === "
|
|
196
|
-
return "
|
|
195
|
+
else if (event.type === "databaseComplete")
|
|
196
|
+
return "database";
|
|
197
197
|
else if (event.type === "interfaceComplete")
|
|
198
198
|
return "interface";
|
|
199
199
|
else if (event.type === "testComplete")
|