Skip to content

v0.1: Initial release

Choose a tag to compare

@thorewi thorewi released this 17 Aug 17:09
· 14 commits to main since this release
Conversation engine for an AI chat over your own database, built on Anthropic
Managed Agents (beta) with tools running as safe read-only SQL over the anonymized
views of adt/doctrine-anonymization.

The package is deliberately transport- and queue-free: ManagedAgentsClient and
MessageDispatcher are interfaces the project implements with its own HTTP client
and queue. Entities follow the interface + trait pattern, so ownership relations
stay in the project.

- AgentTurnRunner: the polling turn loop - session handling incl. a retry with a
  fresh session when a stale one refuses the message, local execution of custom
  tools with results sent back, token accounting (window = last request incl.
  cache counters, output summed), hard stops for polls and tool calls that are
  never retried so a message cannot be duplicated
- ToolHandler: get_database_schema / execute_sql / render_chart / render_table /
  export_csv (validate + token now, stream at download time - never through the
  model)
- AgentProvisioner: idempotent agent + environment provisioning per anonymized
  schema, mapping stored in a project entity
- SystemPromptBuilder: template with a {{tableList}} placeholder, table names
  only - columns are fetched on demand by the schema tool
- PiiResponseFilter + PiiValueCollector: pattern and literal-value redaction of
  the final reply, configurable labels for localized chats
- tests drive the full loop against a scriptable fake of the Managed Agents API