79 lines
2.6 KiB
Markdown
79 lines
2.6 KiB
Markdown
# T22 Izveštaj: Prijava — dva moda (klijent i operater)
|
|
|
|
**Agent:** coder
|
|
**Model:** Opus
|
|
**Datum:** 2026-02-20
|
|
|
|
---
|
|
|
|
## Šta je urađeno
|
|
|
|
Nova sekcija "Prijava" sa dva moda: klijent (prosta forma) i operater (chat sa Claude API).
|
|
|
|
### Izmenjeni/kreirani fajlovi
|
|
|
|
| Fajl | Izmena |
|
|
|------|--------|
|
|
| `internal/server/submit.go` | NOVO — handleri za oba moda, nextTaskNumber, Claude API streaming, chatState |
|
|
| `web/templates/submit.html` | NOVO — template sa toggle klijent/operater, forma, chat UI |
|
|
| `internal/server/server.go` | chatMu/chats polja, 4 nove rute, sync import |
|
|
| `internal/server/render.go` | renderSubmitPage(), registracija submit.html template |
|
|
| `internal/server/server_test.go` | 13 novih testova |
|
|
| `web/static/style.css` | CSS za submit, form, chat, priority |
|
|
| `web/templates/layout.html` | Prijava nav tab |
|
|
| `web/templates/console.html` | Prijava nav tab |
|
|
| `web/templates/docs-list.html` | Prijava nav tab |
|
|
| `web/templates/docs-view.html` | Prijava nav tab |
|
|
|
|
### Klijent mod
|
|
|
|
- Forma: naslov (obavezno), opis (opciono), prioritet (Nizak/Srednji/Visok)
|
|
- POST /submit/simple → kreira task u backlog/
|
|
- Auto-numeracija: skenira sve taskove, nađe max T{XX}, inkrementiraj
|
|
- Task format sa svim standardnim KAOS poljima + Prioritet + Izvor
|
|
- Vizuelna potvrda sa task ID-em
|
|
|
|
### Operater mod
|
|
|
|
- Chat interfejs sa Claude API (Sonnet model)
|
|
- System prompt: CLAUDE.md + trenutno stanje svih taskova
|
|
- SSE streaming odgovora (Anthropic streaming API → browser)
|
|
- Višestruke poruke u istoj sesiji (chat_id)
|
|
- Automatsko onemogućenje inputa dok Claude odgovara
|
|
|
|
### Endpointi
|
|
|
|
| Endpoint | Metod | Opis |
|
|
|----------|-------|------|
|
|
| /submit | GET | Stranica za prijavu |
|
|
| /submit/simple | POST | Klijent forma → backlog/ |
|
|
| /submit/chat | POST | Operater poruka → Claude API |
|
|
| /submit/chat/stream/:id | GET | SSE stream odgovora |
|
|
|
|
### Navigacija
|
|
|
|
Novi tab "Prijava" dodat u header svih stranica (Kanban, Dokumenti, Konzola, Prijava).
|
|
|
|
### Novi testovi — 13 PASS
|
|
|
|
```
|
|
TestSubmitPage PASS
|
|
TestSubmitPage_ClientModeIsDefault PASS
|
|
TestSimpleSubmit_CreatesTask PASS
|
|
TestSimpleSubmit_MissingTitle PASS
|
|
TestSimpleSubmit_AutoNumbering PASS
|
|
TestSimpleSubmit_DefaultPriority PASS
|
|
TestChatSubmit_NoAPIKey PASS
|
|
TestChatSubmit_EmptyMessage PASS
|
|
TestChatStream_NotFound PASS
|
|
TestNextTaskNumber PASS
|
|
TestBuildTaskContext PASS
|
|
TestSubmitPage_HasPrijavaNav PASS
|
|
TestDashboard_HasPrijavaNav PASS
|
|
```
|
|
|
|
### Ukupno projekat: 155 testova, svi prolaze
|
|
|
|
- `go vet ./...` — čist
|
|
- `go build ./...` — prolazi
|