asepharyana
|
3e260e6077
|
refactor(tui): rombak renderer ke OpenTUI React bindings
Ganti renderer ANSI line-based (render.ts) dan event loop raw stdin dengan
OpenTUI React bindings (@opentui/react + @opentui/core, React 19.2):
- ui.tsx: komponen ZesdexApp (header/scrollbox transkrip/input/footer),
adaptor toControllerKey (OpenTUI KeyEvent -> controller KeyEvent),
bootTui (createCliRenderer + createRoot + mount).
- run.ts: pakai bootTui, jalankan OpenTUI sampai user quit.
- state/action/command/controller tetap logika murni (tidak tersentuh).
- 5 unit test baru untuk toControllerKey; 79 test total hijau.
- tsconfig: jsx react-jsx + jsxImportSource @opentui/react.
- hapus render.ts (tidak terpakai); hapus script format rusak (bun fmt).
- deps: @opentui/core, @opentui/react, react, @types/react.
verify: tsc 0 err, bun test 79 pass, dist/zesdex merender TUI via pty.
|
2026-09-03 00:10:01 +07:00 |
|
asepharyana
|
0ee0cc4350
|
refactor: rombak dari monorepo ke project tunggal — flat src/{domain,application,infrastructure,interfaces}, satu package.json tanpa workspaces, tsconfig paths → src/*, update install.sh/Dockerfile/CI
|
2026-09-02 22:56:26 +07:00 |
|
asepharyana
|
8098133ba5
|
feat(tui): port Fase 4 TUI logic layer — InputState/Action dispatcher/key controller/slash commands + lightweight ANSI renderer + run loop; 20 test
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
14d3556179
|
feat(daemon): port Fase 5 daemon — IPC agent-driver loop (Submit/Close) + streaming tokens; wire CLI --daemon/--attach
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
02a55235cf
|
feat(cli): wire mode dispatch ke server interfaces — --api/--ws/--grpc/--web start server; add tsconfig paths
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
1a6268bde5
|
feat(web): port Fase 5 static file server w/ traversal protection; feat(grpc): port health stub
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
d4d423a4ca
|
feat(ws): port Fase 5 WS server — Bun native WebSocket, ZESDEX_WS_TOKEN guard, prompt turn proxy + streaming token/done/error
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
49e79322b4
|
feat(api): port Fase 5 REST API — Bun.serve router + JWT middleware + auth/session/conversation/chat handlers + composition root
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
145184d091
|
chore: update bun.lock untuk workspace @zesdex/cli
|
2026-09-02 22:50:38 +07:00 |
|
asepharyana
|
7e8a160b0e
|
feat(auth): port 3f auth infrastructure — Argon2 passwords + HS256 JWT tokens
|
2026-09-02 22:50:38 +07:00 |
|
 asepharyanaandClaude Opus 5
|
03538a455a
|
feat(rewrite): tambah application layer — port traits & use cases TypeScript
Paket @zesdex/application (apps/packages/application):
- ports: ProviderService (chat/chatStream+abort), PasswordService,
TokenService, AuthService
- agent: AgentTurnServiceImpl (loop 50 iterasi, auto-compact 60k chars,
adaptive max-tokens 800/1600/4096, temp 0.2/0.7, ErrorTracker,
eksekusi tool read-only paralel terbatas mempertahankan urutan)
+ compact_messages_with_ai
- auth: OAuthUseCase (PKCE S256 + CSRF state), SessionServiceImpl
- cms: ConversationServiceImpl, MemoryServiceImpl, SettingsServiceImpl
- 11 unit test Bun (PKCE, OAuth CSRF, turn_service helper)
- tsconfig paths untuk workspace @zesdex/*
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-02 22:50:38 +07:00 |
|
 asepharyanaandClaude Opus 5
|
07e84e43b3
|
feat(rewrite): bootstrap monorepo Bun + port domain layer ke TypeScript
Mulai migrasi Zesdex dari Rust ke TypeScript/Bun.
- Root workspace package.json, tsconfig strict, bun.lock, gitignore fix
- Paket @zesdex/domain (apps/packages/domain):
- core: ChatMessage/Conversation/ToolCall/SseParser/repairJson/
sanitizeToolArguments/UsageStats/Store/DomainError
- auth: Session/SessionId/SessionLock/OAuth + repository & service interfaces
- cms: AppConfig/Settings/SettingsPatch/Memory/EditLog + repository &
service interfaces
- agent: TurnEvent/SessionRuntime/AgentTurnParams/AgentProgress/prompt
- subagent & workflow models
- Wire-shape JSON disamakan dengan Rust (serde rename/flatten/skip_if)
- 27 unit test Bun port dari test Rust (SseParser, repair_json, resolve_effective_model, session id)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-02 22:50:38 +07:00 |
|