Skip to content

refactor: migrate built-in agent to Eino - #4

Merged
AzureLandin merged 8 commits into
masterfrom
refactor/eino-agent
Oct 21, 2026
Merged

AzureLandin merged 8 commits into
masterfrom
refactor/eino-agent

Conversation

@AzureLandin

Copy link
Copy Markdown
Owner

Summary

  • replace the hand-written OpenAI Chat Completions loop with Eino ADK ChatModelAgent / Runner
  • keep the existing Wails bindings, agent events, transcript ownership, permission gate and BoundCaller security boundary
  • add context window, thinking-strength and context-compression settings
  • preserve the four-tool surface (bash, sftp_list, sftp_read, sftp_write)

Validation

  • npm run typecheck
  • npm test
  • go vet ./...
  • Go tests, including -race for internal/agent and internal/app
  • wails build on Linux and CI matrix on Windows/macOS/Linux

Notes

This PR intentionally drops the old hand-written protocol limits (maxToolCallsPerTurn, maxAssistantTextBytes, maxToolArgsBytes, SSE/error body caps). Context-window pressure is handled by optional summarisation with deterministic truncation fallback.

Move app.go, external.go, wails_sink.go and the facade tests into internal/app. Keep startup/shutdown as package functions so Wails does not bind them, and update the frontend bridge to the generated window.go.app.App namespace.
Move the Wails rebuild spec under docs/design and group historical reports by feature domain under docs/reports. Add a docs index, update README/AGENTS paths, and fix cross-report links.
Add Eino model factory, runner, tool adapters, message conversion and error mapping. Keep NodeShell transcript ownership and BoundCaller security boundary.
Persist context window, thinking strength and context compression settings and expose them on the Agent settings page.
Pass context window, thinking strength and compression mode from settings into the Eino agent, and compress oversized histories with summarisation plus deterministic fallback.
@AzureLandin
AzureLandin merged commit 00ce3fe into master Oct 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant