feat(launcher): add console and web chat launchers - #19
Conversation
Add session management and streaming agent execution. Expose model names and define idempotent session deletion.
Add session navigation, streamed responses, and tool output. Embed frontend assets and exclude web files from language statistics.
Add shared configuration and console and web entry points. Include an assistant example using the bundled interface.
Allow runs without prechecking tool history completeness. Remove matching UI restrictions and tests, and rebuild web assets.
…getSession Use explicit field names in sessionSummary and sessionSnapshot literals for clarity and backward compatibility. Move session store lookup outside s.mu in getSession so storage I/O does not block concurrent server operations.
Drop the else branch and return early to follow Go guard clause conventions.
Print a notice instead of returning an error when generation ends with a non-standard stop reason, preventing the interactive console from abruptly terminating.
b8a4952 to
4649917
Compare
Extract hardcoded request limits, write timeouts, error codes, and SSE event names into centralized constants in http.go. Define a typed RunStatus for agent run terminal outcomes to avoid raw string comparisons.
|
Consolidated the scattered protocol constants, limits ( |
Check candidate session IDs against the listed sessions returned by the backend before attempting to sync. If the remembered session is stale (such as when an in-memory backend is restarted), silently clear the remembered ID and reset to a clean new session instead of triggering a false-positive 404 error banner. Also rebuild frontend distribution assets.
|
Fixed a frontend startup issue where restarting the in-memory server left a stale session ID in |
There was a problem hiding this comment.
Hi, @uterflec :)
Two correctness issues were reproduced in the session snapshot and SSE write-deadline handling. Please fix these and add regression coverage before merging; the existing passing Go checks do not cover these cases.
Read history and running state under the same lock. Add regression coverage for concurrent run completion.
Clear deadlines after successful flushes to allow idle streams. Add HTTP/2 coverage for idle connections and event gaps.
Add console and web launchers for configured agents, backed by HTTP session management and SSE streaming. Bundle a browser interface for text, thinking, tool calls, and conversation history, with an assistant example.
Validation:
go test ./...;npm run buildinweb.