Releases: Artui/django-admin-agent
Releases · Artui/django-admin-agent
v0.4.0
Added
- Stop a run from the sidebar. While the agent is working, the composer's
Send button becomes a Stop button (or press Escape); starting a
new chat also stops an in-flight run. Stopping aborts the streaming request,
dismisses any open destructive-confirmation modal, and keeps the partial reply
under a muted "⏹ Stopped" note. This rides the vendored web-component 0.4.0.
Changed
- Vendored bundle →
@artooi/ag-ui-web-component0.4.0 (cancel / Stop
control,onCancelled, Escape-to-stop, confirmation dismissal). - Pins
django-ag-ui>=0.4,<0.5(was>=0.3): its guarded stream guarantees
the Pydantic-AI / model-provider request is torn down when a run is stopped —
no orphaned generation or runaway token spend — persists the partial
conversation when a conversation store is configured, and records a run-level
cancellation audit event.
v0.3.0
Added
- Server-tool card labels via the catalog endpoint.
get_urls()now also
mounts django-ag-ui's tool catalog at<prefix>agent/tools/(named
django_admin_agent_tools), and the sidebar passes it to the Web Component as
data-tools-url. The labels live on each tool's@tool(summary=…)(e.g.
query_model→ "Query records",inspect_modeladmin→ "Inspect admin") — a
single server-side source, fetched by the component.
Changed
- Vendored bundle →
@artooi/ag-ui-web-component0.3.0 (data-tools-url
catalog fetch). Pinsdjango-ag-ui>=0.3(the catalog endpoint /ToolsView)
anddjangorestframework-mcp-server>=0.6.1.
Removed
- The static
DJANGO_ADMIN_AGENT["TOOL_SUMMARIES"]setting +build_tool_summaries
map + the embeddedtool-summariesjson_script— superseded by the fetched
catalog (no per-tool client duplication). Labels now live on@tool(summary=…).
v0.2.0
Added
DJANGO_ADMIN_AGENT["TOOL_DISPLAY"]setting (default"compact"), passed to
the Web Component asdata-tool-displayto control how much tool-call detail
the sidebar shows.- Dynamic per-model change route in the navigable route map
(/admin/<app>/<model>/:pk/change/), filled by the agent via
navigate_to_routeparams. x-confirmconfirmation prompts on the destructivesubmit_formand
run_admin_actiontools.- Skills — a built-in catalog of pre-defined prompts (e.g. "Summarize this
changelist"), embedded viabuild_sidebar_contextand surfaced in the
sidebar's/-command palette (enabled by default). Override the catalog with
DJANGO_ADMIN_AGENT["SKILLS"]; the bootstrap also wires a page-derived
skillContextfor{placeholder}prompts. - Styling settings —
THEME(light/dark/auto/code),DENSITY
(comfortable/compact),PLACEMENT(bottom-left/side/full/embedded), and
TEXT_ANIMATION(none/fade/word), each passed through to the Web Component as
an attribute when set. x-summarylabels on the destructivesubmit_form("Submit form") and
run_admin_action("Run bulk action") tools.- Friendly card labels for the server-side tools (
shell.*/introspect.*),
whose schema never reaches the browser: a built-in name → label map is embedded
and set as the Web Component'stoolSummaries(e.g.query_model→ "Query
records"). Override the whole map withDJANGO_ADMIN_AGENT["TOOL_SUMMARIES"].
Changed
- Vendored the
@artooi/ag-ui-web-componentbundle at 0.2.2 (markdown/HTML
rendering, pending indicator, new-chat + collapse, inline confirmation card,
tool-display modes, richer animations, dynamic routes, skills; 0.2.1's
server-side tool results in the card + tool activity surviving a page refresh +
the pending-indicator fix; and 0.2.2's friendlier tool-call labels, the
"No result returned." honesty fix, and the text-animation double-fire fixes).
Requiresdjango-ag-ui>=0.2, so it also picks up the drf-mcp full-schema +
in-process-execution fixes andbuild_modelprovider resolution. - Admin DOM tools now use the Web Component's animated primitives:
select_option/toggle_checkboxanimate the control, and buttons
(click_button,submit_form,run_admin_action) use the "press" animation.
v0.1.0
Added
- Chat-agent sidebar for the Django admin, built on
django-ag-uiand the
vendored@artooi/ag-ui-web-component<ag-ui-chat>bundle. - Default server-side tool registry (
build_default_registry) of read-only
shell.*(query / count / fetch / inspect-schema) andintrospect.*
(model + admin registration) tools, plusregister_*_toolsbuilders and
get_urls()to mount the agent endpoint. - Frontend admin tool layer:
nav.*navigation and DOM-driving handlers
(fill field, click, apply changelist filter) with visible animations, and a
confirmation modal gatingx-destructivetools. - Sidebar wiring: the
{% django_admin_agent_sidebar %}template tag and a
SidebarAdminSite(each_context) path, with an admin route + page map. - Django Unfold compatibility shim (runtime JS; lazy, guarded Python).
- Optional
[mcp]extra exposing the admin tools as an HTTP MCP server via
djangorestframework-mcp-server.