Directories
¶
| Path | Synopsis |
|---|---|
|
Package assets embeds the HTML templates and static files into the binary.
|
Package assets embeds the HTML templates and static files into the binary. |
|
cmd
|
|
|
eval
command
Command eval is agent-eval: it drives the Web UI in a real browser the way a person does, asks it GAIA-style problems, and scores both the agent's answers and the UI.
|
Command eval is agent-eval: it drives the Web UI in a real browser the way a person does, asks it GAIA-style problems, and scores both the agent's answers and the UI. |
|
test-agent
command
Command test-agent runs a scripted ADK agent: the real ADK REST API around a model that answers from a script.
|
Command test-agent runs a scripted ADK agent: the real ADK REST API around a model that answers from a script. |
|
web
command
Command web runs the agent-web-ui HTTP server.
|
Command web runs the agent-web-ui HTTP server. |
|
internal
|
|
|
app
Package app is the composition root: it builds the real adapters from the configuration, connects them to the use cases, and hands back the HTTP handler.
|
Package app is the composition root: it builds the real adapters from the configuration, connects them to the use cases, and hands back the HTTP handler. |
|
contract
Package contract is the UI test contract between agent-web-ui and agent-eval: the hooks the evaluator relies on to drive and read the page.
|
Package contract is the UI test contract between agent-web-ui and agent-eval: the hooks the evaluator relies on to drive and read the page. |
|
core/auth
Package auth implements signing in: checking credentials, starting and ending sessions, and creating the first account.
|
Package auth implements signing in: checking credentials, starting and ending sessions, and creating the first account. |
|
core/chat
Package chat implements the chat use case: sending messages, regenerating replies and streaming the agent's answer.
|
Package chat implements the chat use case: sending messages, regenerating replies and streaming the agent's answer. |
|
core/conversation
Package conversation implements listing, reading, renaming and deleting conversations.
|
Package conversation implements listing, reading, renaming and deleting conversations. |
|
core/domain
Package domain holds the entities and rules of the chat application.
|
Package domain holds the entities and rules of the chat application. |
|
core/port/resource
Package resource declares the outbound ports: what the core needs from the outside world (databases, the agent).
|
Package resource declares the outbound ports: what the core needs from the outside world (databases, the agent). |
|
core/port/service
Package service declares the inbound ports: the use cases the HTTP adapter calls.
|
Package service declares the inbound ports: the use cases the HTTP adapter calls. |
|
eval/core/domain
Package domain holds the evaluator's vocabulary: problems, attempts, what the browser observed, and the scorecards built from them.
|
Package domain holds the evaluator's vocabulary: problems, attempts, what the browser observed, and the scorecards built from them. |
|
eval/core/port/resource
Package resource declares what the evaluator needs from the outside world: where problems come from, the browser, and where results are kept.
|
Package resource declares what the evaluator needs from the outside world: where problems come from, the browser, and where results are kept. |
|
eval/core/port/service
Package service declares the evaluator's use cases: what the command line asks for.
|
Package service declares the evaluator's use cases: what the command line asks for. |
|
eval/core/probe
Package probe decides what the UI probes found.
|
Package probe decides what the UI probes found. |
|
eval/core/report
Package report turns attempts into scorecards and summaries.
|
Package report turns attempts into scorecards and summaries. |
|
eval/core/run
Package run asks problems through the browser and records what happened.
|
Package run asks problems through the browser and records what happened. |
|
eval/core/score
Package score grades answers and builds the prompt.
|
Package score grades answers and builds the prompt. |
|
eval/core/uicheck
Package uicheck judges one attempt's observations against the passive UI checks U-01 to U-08.
|
Package uicheck judges one attempt's observations against the passive UI checks U-01 to U-08. |
|
eval/infrastructure/config
Package config loads and validates the evaluator's settings.
|
Package config loads and validates the evaluator's settings. |
|
eval/infrastructure/devtools
Package devtools drives the Web UI through Chrome DevTools MCP: it starts the server, calls its tools, and reads what they print.
|
Package devtools drives the Web UI through Chrome DevTools MCP: it starts the server, calls its tools, and reads what they print. |
|
eval/infrastructure/gaia
Package gaia provides the evaluator's problems: GAIA from local parquet files (downloaded by fetch.go), and a synthetic set for the self-test.
|
Package gaia provides the evaluator's problems: GAIA from local parquet files (downloaded by fetch.go), and a synthetic set for the self-test. |
|
eval/infrastructure/safety
Package safety holds the checks that keep data and secrets out of places they must not go.
|
Package safety holds the checks that keep data and secrets out of places they must not go. |
|
eval/infrastructure/store
Package store keeps a run's files on disk: its results one row at a time, its description, what the probes found, its summaries and its evidence.
|
Package store keeps a run's files on disk: its results one row at a time, its description, what the probes found, its summaries and its evidence. |
|
eval/infrastructure/synthetic
Package synthetic holds the evaluator's self-test set: thirteen invented problems (none of it is GAIA content), the answers the scripted agent gives to them, and the results a correct evaluator must find.
|
Package synthetic holds the evaluator's self-test set: thirteen invented problems (none of it is GAIA content), the answers the scripted agent gives to them, and the results a correct evaluator must find. |
|
infrastructure/agent/adkrest
Package adkrest is the driven adapter that talks to an agent through the ADK REST API: it creates sessions, runs a turn with server-sent events, and turns the stream into domain.AgentEvent values.
|
Package adkrest is the driven adapter that talks to an agent through the ADK REST API: it creates sessions, runs a turn with server-sent events, and turns the stream into domain.AgentEvent values. |
|
infrastructure/api/web
Package web is the HTTP driving adapter: routes, middleware, handlers and server lifecycle.
|
Package web is the HTTP driving adapter: routes, middleware, handlers and server lifecycle. |
|
infrastructure/api/web/render
Package render turns an agent's Markdown into safe HTML.
|
Package render turns an agent's Markdown into safe HTML. |
|
infrastructure/api/web/render/cmd/chromacss
command
Command chromacss writes the syntax-highlighting stylesheet.
|
Command chromacss writes the syntax-highlighting stylesheet. |
|
infrastructure/auth
Package auth is the driven adapter for password hashing.
|
Package auth is the driven adapter for password hashing. |
|
infrastructure/config
Package config loads and validates the Web UI configuration from the process environment, optionally backed by a .env file.
|
Package config loads and validates the Web UI configuration from the process environment, optionally backed by a .env file. |
|
infrastructure/logging
Package logging builds the application logger.
|
Package logging builds the application logger. |
|
infrastructure/postgres
Package postgres is the PostgreSQL driven adapter: connection pool, migrations and the stores that implement the core's resource ports.
|
Package postgres is the PostgreSQL driven adapter: connection pool, migrations and the stores that implement the core's resource ports. |
|
platform/envcfg
Package envcfg reads settings from the process environment and a .env file, and holds the type that keeps a secret out of logs and error messages.
|
Package envcfg reads settings from the process environment and a .env file, and holds the type that keeps a secret out of logs and error messages. |
|
platform/redact
Package redact turns a struct into a view that a log can show: its exported fields as a slog group, with the ones that hold a secret hidden.
|
Package redact turns a struct into a view that a log can show: its exported fields as a slog group, with the ones that hold a secret hidden. |
|
platform/tmplcache
Package tmplcache keeps texts that are no Go code in files of their own, the SQL of a store or a prompt, and hands them out filled in.
|
Package tmplcache keeps texts that are no Go code in files of their own, the SQL of a store or a prompt, and hands them out filled in. |
|
testagent
Package testagent is a scripted ADK agent for tests, Docker Compose and the evaluator's self-test.
|
Package testagent is a scripted ADK agent for tests, Docker Compose and the evaluator's self-test. |
|
it
|
|
|
internal/dbtest
Package dbtest builds on pgenv: a migrated database and seeded users for the integration suites of the PostgreSQL stores.
|
Package dbtest builds on pgenv: a migrated database and seeded users for the integration suites of the PostgreSQL stores. |
|
internal/evalenv
Package evalenv is what the evaluator's integration tests need: the Web UI started for real inside the test process (see package stack), with a scripted agent behind it and a real PostgreSQL, and the way the evaluator starts Chrome.
|
Package evalenv is what the evaluator's integration tests need: the Web UI started for real inside the test process (see package stack), with a scripted agent behind it and a real PostgreSQL, and the way the evaluator starts Chrome. |
|
internal/leak
Package leak fails a test that leaves behind goroutines of the application: a stream nobody reads, a run nobody cancelled, a pool nobody closed.
|
Package leak fails a test that leaves behind goroutines of the application: a stream nobody reads, a run nobody cancelled, a pool nobody closed. |
|
internal/pgenv
Package pgenv gives integration tests a real PostgreSQL through Testcontainers: one container per test binary, one fresh database per test.
|
Package pgenv gives integration tests a real PostgreSQL through Testcontainers: one container per test binary, one fresh database per test. |
|
internal/stack
Package stack runs the whole Web UI for integration tests, the way the program does: a real PostgreSQL (see pgenv), the scripted ADK agent behind a switch that can make it vanish, and the application served by the production server type, so that starting and shutting down are tested too.
|
Package stack runs the whole Web UI for integration tests, the way the program does: a real PostgreSQL (see pgenv), the scripted ADK agent behind a switch that can make it vanish, and the application served by the production server type, so that starting and shutting down are tested too. |
|
sketches
|
|
|
appendrows
Package appendrows reads an append-only file of JSON lines such as {"key":"a","done":true}.
|
Package appendrows reads an append-only file of JSON lines such as {"key":"a","done":true}. |
|
defaultdeny
Package defaultdeny protects every route that is not listed as public.
|
Package defaultdeny protects every route that is not listed as public. |
|
deprule
Package deprule keeps an import rule as data, so that a test can enforce it.
|
Package deprule keeps an import rule as data, so that a test can enforce it. |
|
detachedsave
Package detachedsave saves a result after the request that asked for it is gone.
|
Package detachedsave saves a result after the request that asked for it is gone. |
|
digestsessions
Package digestsessions issues a random token and keeps only its digest.
|
Package digestsessions issues a random token and keeps only its digest. |
|
finalorincomplete
Package finalorincomplete turns a stream that ends without its final event into an error.
|
Package finalorincomplete turns a stream that ends without its final event into an error. |
|
interval
Package interval reports a share with its 95% Wilson score interval, so a small sample is not read as precise.
|
Package interval reports a share with its 95% Wilson score interval, so a small sample is not read as precise. |
|
iterchan
Package iterchan puts an iterator behind a channel, so that one loop can wait on its items and on the clock.
|
Package iterchan puts an iterator behind a channel, so that one loop can wait on its items and on the clock. |
|
lazybucket
Package lazybucket limits a rate with a token bucket that needs no timer.
|
Package lazybucket limits a rate with a token bucket that needs no timer. |
|
logallowlist
Package logallowlist logs each request as a fixed list of named attributes.
|
Package logallowlist logs each request as a fixed list of named attributes. |
|
middlewarechain
Package middlewarechain wraps a handler in layers, outermost first.
|
Package middlewarechain wraps a handler in layers, outermost first. |
|
outcometable
Package outcometable maps every way a job can end to one stored status and one sentence.
|
Package outcometable maps every way a job can end to one stored status and one sentence. |
|
pacer
Package pacer spaces out the updates of a text that grows: the first goes at once, then at most one for each interval, always with the newest text.
|
Package pacer spaces out the updates of a text that grows: the first goes at once, then at most one for each interval, always with the newest text. |
|
runregistry
Package runregistry keeps the jobs a process runs, one for each id.
|
Package runregistry keeps the jobs a process runs, one for each id. |
|
scopedtoken
Package scopedtoken sends a bearer token to the hosts it was issued for and to no other.
|
Package scopedtoken sends a bearer token to the hosts it was issued for and to no other. |
|
secret
Package secret holds a string type that shows a placeholder to whatever asks it for its text.
|
Package secret holds a string type that shows a placeholder to whatever asks it for its text. |
|
shutdownhook
Package shutdownhook ends long-lived responses as a server starts to shut down, so that the wait for open connections ends before the grace period.
|
Package shutdownhook ends long-lived responses as a server starts to shut down, so that the wait for open connections ends before the grace period. |
|
snapshots
Package snapshots lets a fast producer feed a slow consumer: only the newest whole text matters.
|
Package snapshots lets a fast producer feed a slow consumer: only the newest whole text matters. |
|
thirdresult
Package thirdresult gives a check three results, so that "could not decide" is never counted as a pass.
|
Package thirdresult gives a check three results, so that "could not decide" is never counted as a pass. |
|
threecontexts
Package threecontexts gives a stream its three contexts: the client's, the run's and the server's.
|
Package threecontexts gives a stream its three contexts: the client's, the run's and the server's. |
Click to show internal directories.
Click to hide internal directories.