Commit Graph

35 Commits

Author SHA1 Message Date
djuka
510b75c0bf Konzola: dinamičke task sesije sa PTY per task
- Zamena fiksnih 2 sesija sa taskSessionManager (map po task ID)
- "Pusti" pokreće interaktivni claude u PTY, šalje task prompt
- "Proveri" pokreće review claude sesiju za task u review/
- WS se konektuje na postojeću PTY sesiju po task ID-u
- Konzola stranica dinamički prikazuje terminale za aktivne sesije
- Replay buffer za reconnect na postojeće sesije
- Novi testovi za session manager, prompt buildere, review endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 04:32:34 +00:00
djuka
ac72ca6f52 Pusti: premešta task ready→active bez pokretanja claude sesije
- handleRunTask samo premešta task iz ready/ u active/ sa timestampom
- Uklonjena zavisnost od console sesija — konzola je nezavisna
- Korisnik pokreće claude ručno iz konzole terminala
- Ažurirani testovi (6 RunTask testova prolaze)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 04:09:30 +00:00
djuka
932ffe5203 Konzola: interaktivni claude CLI + panic fix
- Svaka konzola sesija pokreće interaktivni claude (ne bash)
- Fix panic: send on closed channel kad se WS diskonektuje
- Tema: Claude Code boje (#0d1117 pozadina)
- PTY readLoop logging za debug

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 04:04:39 +00:00
djuka
d27eb900b1 Konzola: sklonjen command input, detaljno WS logovanje
- Uklonjena input polja iz konzole — rad samo kroz Pusti dugme
- Detaljno logovanje WS: connect, poll, subscribe, buffer, disconnect
- WS timeout 30s ako nema PTY sesije
- Provera da li je PTY already done pre nego subscribe

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:52:51 +00:00
djuka
fa8aa59b29 Fix konzola: race condition PTY + logging start/finish
- Ne briše ptySess iz sesije po završetku — WS handler ga koristi za replay
- WS handler šalje close frame kad proces završi
- Logovanje: PTY spawned (PID) + PTY finished (status)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:48:00 +00:00
djuka
64df1e784c Fix konzola: auto-connect, welcome poruka, redirect posle Pusti
- Auto-connect WS na running sesije kad se otvori /console
- Welcome poruka u terminalu kad nema aktivne sesije
- Redirect na /console posle uspešnog "Pusti" klika
- CSS fix: min-height i position za xterm kontejner

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:40:00 +00:00
djuka
c970cb2419 Konzola: xterm.js + WebSocket + PTY real-time terminal
- Nova pty_session.go: RingBuffer, consolePTYSession, spawnConsolePTY
- Nova ws.go: WebSocket handler za PTY bidirekcioni I/O
- console.go: koristi consolePTYSession umesto starih pipe-ova
- console.html: xterm.js 5.5.0 CDN, FitAddon, WebLinksAddon
- Podrška za resize, binarni podaci, replay buffer (1MB)
- 8 novih testova (RingBuffer + xterm konzola) — ukupno 179

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:31:27 +00:00
djuka
7cce5e99c7 T25: Timestamp tracking + izveštaj prikaz u overlay modalu
1. Timestamp: svaki potez taska (move/run) dodaje red u tabelu
   "## Vremena" u task fajlu sa događajem i vremenom.
2. Izveštaj: klik "Izveštaj" na done tasku otvara overlay modal
   sa goldmark-renderovanim reportom. Ako nema reporta, prikazuje
   sam task sadržaj.

10 novih testova, 172 ukupno — svi prolaze.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:17:51 +00:00
djuka
003650df24 T24: PTY za konzolu i operater chat — real-time streaming
Konzola i operater chat sada koriste pseudo-terminal (PTY) umesto
pipe-a. Claude CLI detektuje terminal i šalje output odmah umesto
da bufferuje. ANSI escape sekvence se uklanjaju pre slanja kroz SSE.

Novi fajl: pty.go (startPTY, readPTY, stripAnsi)
Biblioteka: github.com/creack/pty v1.1.24
5 novih testova za PTY funkcionalnost.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:13:13 +00:00
djuka
5e86421100 T22: Zamena bypassPermissions sa dontAsk — radi kao root
bypassPermissions je interno blokiran za root isto kao
--dangerously-skip-permissions. dontAsk automatski odobrava
sve bez te provere.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:05:11 +00:00
djuka
7efc92feac T22: Zamena --dangerously-skip-permissions sa --permission-mode bypassPermissions
Stari flag ne radi kad je proces pokrenut kao root. Zamenjeno u
console.go, submit.go i CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:00:28 +00:00
djuka
695bd24d1d Fix: Unset CLAUDECODE env var za child claude procese
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:55:13 +00:00
djuka
80cf1d73ce Fix: Operater mod koristi claude CLI umesto API poziva
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:50:01 +00:00
djuka
23f0fba6ec Fix: Task detalj renderuje markdown kao HTML kroz goldmark
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:48:19 +00:00
djuka
5bf7375b50 Fix: Task detalj kao overlay modal umesto side panela
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:43:31 +00:00
djuka
b3645beea0 T22: Prijava — dva moda (klijent forma + operater chat sa Claude API)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:38:05 +00:00
djuka
f137703f1b T21: UI poboljšanja — detalj panel 50%, konzola fullscreen, docs full height
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:28:29 +00:00
djuka
500899121b T20: Workflow dugmad po statusu taska (blocked/review/run/approve/done)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:13:55 +00:00
djuka
ddc54e739a T16: SSE auto-refresh dashboarda sa polling i hash detekcijom
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:09:12 +00:00
djuka
10c510d9ef T19: Dugme Pusti na task karticama sa pokretanjem u čistoj sesiji
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:59:41 +00:00
djuka
0e6d0ecd66 T15: Docs viewer sidebar layout (25%/75% grid) sa HTMX fragmentima
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:55:05 +00:00
djuka
70e2ee684f T14: Dodata konzola sa SSE streaming i dva paralelna panela
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:51:16 +00:00
djuka
a3fc9b3af0 T13: Dodat search bar sa instant pretragom taskova i dokumenata
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:47:39 +00:00
djuka
563abd8481 T12: Dodat docs viewer sa goldmark markdown renderovanjem
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:42:11 +00:00
djuka
633de945e4 T11: Dodat Cache-Control no-store za svež prikaz sa diska
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:28:42 +00:00
djuka
aabdfa9e50 T10: Drag & Drop — premesti task prevlačenjem
- Sortable.js na Kanban board sa drag & drop
- Server-side validacija: allowedMoves mapa, isMoveAllowed()
- Zabranjeni potezi vraćaju 403 (ready→active, active→review)
- Toast notifikacije (zeleni uspeh, crveni greška)
- Ghost/chosen/drag CSS animacije
- Board auto-refresh posle svakog poteza
- 7 novih testova, 90 ukupno — svi prolaze
- T09 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:18:50 +00:00
djuka
3302f83cff T09: Dashboard — Kanban board sa Go templates
- html/template sistem: layout, dashboard, column, task-card, task-detail
- Dark tema CSS, responsive grid (5→3→2→1 kolona)
- HTMX: klik→detalj panel, move dugmad, auto-refresh active kolone
- /report/:id za prikaz izveštaja
- Slide-in animacija za detalj panel
- 16 server testova, 83 ukupno — svi prolaze
- T08 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:14:31 +00:00
djuka
04ef8e75ef T08: HTTP server + API za taskove
- Gin HTTP server sa dashboard i API endpointima
- JSON API: GET /api/tasks, GET /api/task/:id, POST /api/task/:id/move
- HTML dashboard sa Kanban prikazom (5 kolona)
- HTMX za interaktivnost (klik na task → detalj panel)
- Embedded static fajlovi (htmx.min.js, sortable.min.js)
- Config: dodat KAOS_PORT
- 10 server testova, 77 ukupno — svi prolaze
- Očišćeni duplikati taskova iz v0.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:10:49 +00:00
djuka
b2ece9883b T07: Integracija — Supervisor struct sa end-to-end tokom
- Supervisor struct: NewSupervisor, Run, RunNext, execute
- E2E tok: scan → find → active → run → verify → report → review
- cmdRun u CLI koristi Supervisor
- 8 e2e testova sa mock agentom, 67 ukupno — svi prolaze
- T06 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:59:06 +00:00
djuka
38e1e1029c T06: CLI — komandni interfejs
- 5 komandi: run, status, next, verify, history
- Config proširen sa KAOS_TASKS_DIR
- Tabelarni status sa emoji ikonama
- run: scan → find → move → run → verify → report → review
- 8 CLI testova, 59 ukupno — svi prolaze
- T05 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:56:06 +00:00
djuka
028872be43 T05: Reporter — pisanje izveštaja
- WriteReport generiše markdown izveštaj u reports/
- formatDuration, truncateOutput za formatiranje
- Kreira folder ako ne postoji, skraćuje output na 50 linija
- 10 reporter testova — svi prolaze
- T03 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:48:05 +00:00
djuka
9d2c249ed1 T03: Runner — pokretanje Claude Code
- RunTask sa timeout-om, stdout/stderr capture, exit code
- buildPrompt generiše prompt za Claude CLI
- CommandBuilder interfejs za mock testiranje
- 7 runner testova — svi prolaze
- T04 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:46:07 +00:00
djuka
5d869f56ce T04: Checker — verifikacija posle agenta
- Verify() pokreće build, vet, test sa merenjem trajanja
- Ako build padne, ostalo se preskače
- parseTestCount parsira go test -v output
- FormatResult za čitljiv ispis
- 10 checker testova — svi prolaze

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:44:28 +00:00
djuka
79bcd52076 T02: Task loader — parsiranje markdown taskova
- Task struct sa svim poljima (ID, Title, Status, Agent, Model, DependsOn, Description)
- LoadTask, ScanTasks, FindTask, NextTask, MoveTask
- 17 testova — svi prolaze

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:41:55 +00:00
djuka
f001c53ca1 T01: Inicijalizacija Go projekta
- go mod init github.com/dal/kaos
- Config paket sa .env učitavanjem i validacijom
- Supervisor skeleton paket
- Entry point (cmd/kaos-supervisor/main.go)
- Makefile (build, test, vet, clean, all)
- .env.example, .gitignore
- 6 config testova — svi prolaze

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:21:06 +00:00