Commit graph

2500 commits

Author SHA1 Message Date
Alessandro
d1d48bc9c0 Update launcher README links to v1.3
Some checks failed
Build And Publish Docker Images / plan (push) Has been cancelled
Build And Publish Docker Images / build (push) Has been cancelled
Point the root README's A0 Launcher downloads and release note link at the published v1.3 assets without moving the Agent Zero v2.4 tag.
2026-07-17 17:43:28 +02:00
Alessandro
dc7004462e Expose unified model calls to extensions
Decorate unified_call and unified_turn so community plugins can observe the real logical model-call boundary.

Add focused coverage for the generated start and end extension points.
2026-07-17 17:00:40 +02:00
Alessandro
bf2046ff87 Prevent WebUI extension loading stalls
Serialize extension discovery requests to avoid exhausting embedded Chromium request resources. Always clear component loading placeholders after failures and add focused regression coverage.
2026-07-17 16:57:43 +02:00
Alessandro
55456df294 Mask runtime .env values in agent output
Include usr/.env in the agent-facing SecretsManager sources so runtime credentials are masked in tool results, history, logs, and streamed output. Keep the writable default secrets manager scoped to usr/secrets.env.

Add regression coverage for dotenv masking and document the source contract.
2026-07-17 16:23:46 +02:00
Alessandro
4b0c575f01 Remove Launcher Host access controls from Core
Delete the Core WebUI gateway menu and its client-side control store so Host access stays owned by A0 Launcher. Keep /computer-use informational in WebUI and direct users to Launcher or A0 CLI for host changes.
2026-07-17 15:59:30 +02:00
Alessandro
2b8260192a Move orchestrator thumbnail into WebUI assets
Place the thumbnail under the plugin webui directory so plugin discovery finds and serves it at the expected thumbnail URL. Keep the orchestrator ownership documentation aligned with the asset layout.
2026-07-17 15:57:40 +02:00
Alessandro
02e1a98604 Apply Launcher scope changes before routing
Update remote file and execution metadata from the acknowledged Launcher gateway state before resolving the control request.

Add regression coverage for the read/write to read-only transition so writes fail immediately while reads remain routed.
2026-07-17 15:20:33 +02:00
Alessandro
9b829a0425 Unify skills CLI with runtime helpers
Delegate skill discovery, parsing, lookup, search, and validation to helpers.skills so CLI behavior cannot drift from the runtime contract.

Generate canonical triggers metadata and cover valid and incomplete skill validation.
2026-07-17 15:20:33 +02:00
Alessandro
dbdb77b057 Show full documents in Editor
Remove heading-based Markdown pagination so source and preview operate on the complete file.

Add support for keyboard undo/redo ops.

Give plain text documents the same preview, formatting, save, and file-action toolbar as Markdown, with regression coverage for both behaviors.
2026-07-17 15:20:33 +02:00
Alessandro
77349bd9a5 Fix overlapping sync status indicator
Render the connection state with one reactive SVG circle so connected and disconnected visuals cannot overlap after reconnects. Add regression coverage that keeps the indicator to a single shape.
2026-07-17 15:20:33 +02:00
Alessandro
81e5f2872e Resume goals after terminal edits
Detect complete or blocked goals that are reactivated by an edit and submit the revised objective so agent processing restarts.

Cover both terminal states and preserve silent edits for already-active goals.
2026-07-17 15:20:33 +02:00
Alessandro
d3bec80611 Clarify code execution status handling
Treat trailing framework status as execution guidance rather than command output, preserving correct wait, reset, rerun, and continuation decisions.
2026-07-17 15:20:33 +02:00
frdel
0d92d9e3fe Remove progress cue wrapper and CSS
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Simplify the progress placeholder by removing the surrounding <span class="chat-input-progress-cue"> wrapper and its associated CSS rules. progressPlaceholderHtml now returns only the converted icon HTML (convertIconMarkersToHtml(this.progressText)), and the redundant .chat-input-progress-cue styles were deleted to match the markup change. This streamlines rendering of the progress indicator and avoids an extra DOM element.
2026-07-17 12:26:57 +02:00
frdel
15a2b553be Unify global model presets
Make model presets a single global collection and treat presets as reusable setups (main, utility, embedding). Persisted scope configs now store only a preset name (Default is always present and immutable); project-scoped preset definitions were removed and attempts to edit/reset project presets are rejected. Add embedding-model support throughout: include embedding slot in presets, surface embedding in the switcher and override APIs, and notify extensions when the effective embedding model changes. Implement rename/retire propagation to update plugin configs, saved chats, and live AgentContext objects when preset names change or presets are removed. Update CLI/integration commands to use an "inherit" action for returning to the scoped preset and to report the effective scoped-or-chat preset. Add startup migration/bootstrap to initialize presets from remote or bundled fallback and numerous docs/UI text updates to reflect the new preset model. Extra: refactor config resolution helpers and add safety checks (validation, atomic writes) when saving presets.
2026-07-17 12:16:10 +02:00
frdel
2d6c56cbd1 Update .gitignore
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
2026-07-16 21:36:59 +02:00
Alessandro
22e7619719 Keep goals active and resolve trailing slash commands
Continue active goals through response attempts until they are completed or genuinely blocked, while directing agents to make safe in-scope choices autonomously.

Parse known slash commands in prefix or trailing position for WebUI and backend-originated messages.
2026-07-16 18:14:13 +02:00
Alessandro
8e5d643483 Remove legacy filesystem logs
Stop PrintStyle from creating per-process HTML files under /a0/logs and remove the obsolete tracked folder scaffolding.

Delete existing legacy log directories during startup migration so self-updated and manually upgraded installations are cleaned automatically. Point plugin debugging guidance to Docker output and add regression coverage for repeatable cleanup.
2026-07-16 15:30:37 +02:00
Alessandro
98589c6357 Add Editor downloads and archive extraction
Add Download to Editor file actions and safe File Browser extraction for ZIP, TAR, RAR, 7z, and compressed archives. Include archive safety checks, focused regressions, and 7zip in the base image.
2026-07-16 15:14:03 +02:00
Alessandro
4a80d26e3c Fix Editor file picker paths
Normalize File Browser picker paths before opening Editor sessions so container paths are not resolved as /a0/a0/.
2026-07-16 15:02:34 +02:00
Alessandro
cfd0df4a62 Open Launcher Host access from Core
Show a direct Open Host access action when Launcher settings disable the gateway while preserving Reconnect for Core-originated disconnects.

Use the bounded Launcher bridge so Core opens the trusted settings editor instead of re-enabling access itself.
2026-07-16 13:37:42 +02:00
Alessandro
38a5945441 Route Computer Use approval through Launcher
Make /computer-use on and off act on the current Launcher Host access lease while preserving A0 CLI guidance in ordinary WebUI sessions.

Update connector prompts and regressions so permission recovery consistently accounts for both Launcher and CLI entry points.
2026-07-16 13:26:13 +02:00
Alessandro
3c23b9b94e Turn Launcher host Disconnect into Reconnect
Keep the Core host popover open after a hard disconnect and reuse the connection action to restart the owning Launcher tab lease.

Retain the master toggle as the reversible Pause control and cover the bounded bridge contract.
2026-07-16 04:42:01 +02:00
Alessandro
b220d9b64e Keep current project model config inherited
Treat the Current project config selection as inherited when no project-scoped model config exists, even when the UI omits scope metadata.

Cover the browser-normalized save payload so project saves do not create _model_config/config.json.
2026-07-16 03:30:49 +02:00
Alessandro
6a7178af91 Fix MCP lookup for Responses tool aliases
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Resolve provider-safe Responses tool names back to their canonical MCP names inside the MCP handler before dispatch. Preserve canonical lookups and reject stale or unrelated aliases so local tool resolution can continue.

Add regression coverage for Google Workspace-style names and document the lookup contract.
2026-07-16 02:29:39 +02:00
Alessandro
e2fd320ac6 Polish Launcher host access popover
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Use the standard compact panel radius and present the emergency gateway action as Disconnect. Keep the plugin contract and focused UI regression coverage aligned.
2026-07-15 15:29:33 +02:00
Alessandro
8fed806a1f Integrate Launcher hosts into sync status
Move the Launcher Host access control into Agent Zero's existing sync-status cluster, render one computer glyph per gateway, and remove the tooltip, expanding label, and animation. Reuse the standard WebUI radius tokens and cover the new extension surface and compact indicator contract with focused tests and DOX updates.
2026-07-15 14:38:01 +02:00
Alessandro
b11a57424e Split Launcher host file permissions
Advertise the file-write gateway capability while preserving legacy Files scopes as read/write access.

Render five Host access switches in Core, enforce read/write/exec dependencies, and cover negotiation and control behavior with focused tests.
2026-07-15 14:12:19 +02:00
Alessandro
3271ff43e3 Report Host access control failures
Use Agent Zero's shared notification system when Launcher gateway mutations fail, then refresh the popover state as before.
2026-07-14 22:43:52 +02:00
Alessandro
df6065d5b1 Polish Launcher host access controls
Keep the Core trigger compact until hover, focus, or open, and use the supported computer glyph for disconnected state. Raise the open popover above the compact Canvas rail so its controls remain unobstructed.
2026-07-14 21:27:09 +02:00
Alessandro
7b216c6343 Prevent Responses metadata history bloat
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Persist only durable Responses continuation metadata instead of repeated prompts and raw model payloads.

Normalize legacy AI message metadata during load while preserving structured output, unrelated metadata, and tool-result inputs.
2026-07-14 20:41:22 +02:00
Alessandro
dafe5a33ba Add Launcher host gateway protocol support
Advertise and route a single Launcher gateway, expose acknowledged controls, and add the Launcher-only host status UI with regression coverage.
2026-07-14 17:19:48 +02:00
Alessandro
2e32a2f8dc Accept host-browser discovery endpoints
Preserve explicit endpoint case, accept host:port and HTTP discovery addresses in Browser settings, and keep live-runtime guidance independent of any fixed localhost port.
2026-07-14 16:10:13 +02:00
Alessandro
56e676579d Render standard TeX in chat messages
Convert standard inline and display delimiters before Markdown while preserving code spans and fences. Render agent-thought math locally so generic process and key/value rendering stays flag-free.
2026-07-14 15:57:54 +02:00
Alessandro
84bc867ec9 Bundle KaTeX font assets
Add every font referenced by the vendored KaTeX stylesheet so math renders without missing local assets. Cover the CSS-to-font contract with a focused regression test and document ownership.
2026-07-14 15:57:54 +02:00
Alessandro
88e4f4faff Update default main model
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Use OpenRouter's openai/gpt-5.6-terra model for the global default, Balance preset, and onboarding defaults.
2026-07-13 14:48:02 +02:00
Alessandro
48cba46181 Fix model preset reset flow
Add a confirmed Reset to default action to the preset editor and refresh its draft after resets from either entry point.

Resolve the toast helper at action time so resetting model settings cannot abort before removing the preset override. Rename the generic reset action for clarity and add regression coverage.
2026-07-13 14:46:11 +02:00
Alessandro
4b5077c493 Fix plugin reload toast behavior
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Persist the frontend-extension notification as read before reloading so it does not reappear after refresh. Align plugin and updater toast actions with the shared small spacing token.
2026-07-12 17:26:35 +02:00
Alessandro
831bed7a0c Polish the update notification action
Present Open updater as the existing confirm-style button on its own toast row. Opening the Self Update modal now dismisses the persistent notification so users do not need to close it separately.\n\nKeep external update-instruction links unchanged and extend the persistent-toast regression coverage.
2026-07-12 17:10:47 +02:00
Alessandro
a55a76f62b Keep action-required notifications visible
Make plugin frontend-reload and Agent Zero update notifications persistent until the user dismisses or acts on them. Reuse the existing zero-duration toast contract without changing ordinary notification timeouts.\n\nDocument the behavior and extend the persistent-toast regression coverage.
2026-07-12 16:55:17 +02:00
Alessandro
5c1d50f928 Fix notifications skipped during state snapshots
Capture each notification payload together with its GUID and update cursor under the notification manager lock. This prevents concurrent notify_user events from advancing the WebUI cursor without delivering the corresponding toast.\n\nAdd regression coverage for notification cursor continuity and update the helper contracts.
2026-07-12 12:46:12 +02:00
Alessandro
07e7e1e075 Harden desktop session reliability
Target LibreOffice saves to the requested document window and report whether the file content changed.

Fail fast on dead XFCE startup, probe the live X display, replace session manifests atomically, and decode XWD screenshots through Pillow's raw decoder. Add focused regressions for each path.
2026-07-11 23:25:18 +02:00
Alessandro
fddcc3deea Update default utility model
Some checks failed
Build And Publish Docker Images / plan (push) Has been cancelled
Build And Publish Docker Images / build (push) Has been cancelled
Use OpenRouter's google/gemini-3.1-flash-lite model without the preview suffix for the global default, Balance preset, and onboarding defaults.
2026-07-10 19:41:40 +02:00
Alessandro
3ac63c6166 Add responsive interface control visibility
Add an Interface settings section with independent mobile and desktop toggles for the project selector, clock, connection status, and right canvas rail.

Persist the visibility map in instance settings, apply it at the shared WebUI surfaces, preserve existing defaults, and cover the contract with focused regression tests and DOX updates.
2026-07-10 19:38:19 +02:00
Alessandro
948409c244 Clear provider-specific kwargs on provider change
Reset additional parameters together with the custom API base when a model provider changes, preventing stale provider-specific options from leaking into the new provider.

Update the model-config contract and README, and extend the focused frontend regression check.
2026-07-10 19:12:02 +02:00
Alessandro
4e8301899e Extend self-update health timeout
Raise the default update and rollback health-check window from two to three minutes so slower Docker and virtiofs installations can finish booting. Preserve the existing environment override and document the runtime default.
2026-07-10 19:07:14 +02:00
Alessandro
705a400fe7 Add NVIDIA NIM provider
Register NVIDIA NIM for chat and embedding models through LiteLLM, including hosted model discovery.\n\nExpose NIM in onboarding with API key and documentation links, and cover the provider contract with a focused regression test.
2026-07-10 19:04:27 +02:00
Alessandro
25d906edb7 Harden Gemini CLI container setup
Separate Gemini CLI installation from probing so long installs remain observable. Use Agent Zero secret aliases for GEMINI_API_KEY instead of assuming saved secrets are exported from /a0/usr/.env, with contract coverage.
2026-07-10 18:53:28 +02:00
Alessandro
9837ff3432 Group multiline terminal commands
Execute multiline terminal input as one current-shell compound so intermediate prompts cannot complete queued work early. Preserve shell state and cover Bash and PowerShell grouping with regression tests.
2026-07-10 18:53:19 +02:00
Alessandro
8aad52784b Add Gemini CLI support to Orchestrator
Register Gemini CLI with auth detection and a verified headless workflow. Expose its settings and status metadata, update the plugin contracts and tests, bump the plugin version, and replace the thumbnail.
2026-07-10 18:41:02 +02:00
Alessandro
82ae8d50e0 Subdivide root DOX guidance
Trim the root AGENTS.md to project-wide contracts and the top-level child index. Move Docker runtime and GitHub release details into their owning child DOX files.
2026-07-10 18:38:07 +02:00