Skip to content

feat(launcher): add console and web chat launchers - #19

Merged
ktsoator merged 14 commits into
sylumi:mainfrom
uterflec:feat/web-launcher
Sep 23, 2026
Merged

ktsoator merged 14 commits into
sylumi:mainfrom
uterflec:feat/web-launcher

Conversation

@uterflec

Copy link
Copy Markdown
Collaborator

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 build in web.

@uterflec uterflec added enhancement New feature or request area:server HTTP API, session endpoints, and server-side event streaming area:web Browser interface, frontend assets, and embedded UI area:launcher Console and web launchers and shared startup configuration area:examples Runnable examples and sample applications labels Sep 21, 2026
@uterflec
uterflec marked this pull request as ready for review September 22, 2026 06:45
@uterflec uterflec self-assigned this Sep 22, 2026
@uterflec
uterflec requested a review from ktsoator September 22, 2026 06:45
Comment thread cmd/launcher/console/console.go
Comment thread server/sessions.go
@ktsoator
ktsoator requested a review from NalanZed September 22, 2026 07:25
@ktsoator ktsoator self-assigned this Sep 22, 2026
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.
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.
@ktsoator

Copy link
Copy Markdown
Collaborator

Consolidated the scattered protocol constants, limits (defaultMaxInputRunes, defaultWriteTimeout), and error codes into http.go, and introduced a typed RunStatus to eliminate raw string comparisons across the server package.

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.
@ktsoator

Copy link
Copy Markdown
Collaborator

Fixed a frontend startup issue where restarting the in-memory server left a stale session ID in localStorage, causing a false-positive 404 error banner on reload. Candidate sessions are now validated against the server's session list before attempting to sync.

@ktsoator
ktsoator self-requested a review September 23, 2026 01:25

@ktsoator ktsoator left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread server/sessions.go
Comment thread server/run.go
@uterflec
uterflec marked this pull request as draft September 23, 2026 07:31
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.
@uterflec
uterflec marked this pull request as ready for review September 23, 2026 07:48
@uterflec
uterflec requested a review from ktsoator September 23, 2026 07:48
@ktsoator
ktsoator merged commit e97a8f9 into sylumi:main Sep 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:examples Runnable examples and sample applications area:launcher Console and web launchers and shared startup configuration area:server HTTP API, session endpoints, and server-side event streaming area:web Browser interface, frontend assets, and embedded UI enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants