Repository navigation
AbstractFramework 0.8.0
The consoles' email and accounts screens are redesigned, the installer never installs less because
of the network, and the console and the apps work over https through tailscale serve. Pins:
AbstractGateway 0.10.0, AbstractCore 2.22.0, AbstractRuntime 0.8.2 and AbstractAssistant 0.11.0;
the terminal consoles abstractgateway-console 0.13.0 and abstractcore-console 0.6.0 and
AbstractCode's terminal client abstractcode 0.8.0; the
browser apps Code 0.9.0, Flow 0.6.0, Observer 0.5.0, Continuum 0.6.0 and Entity 0.5.0. Every other
version is unchanged from 0.7.2.
Changed
- Email address and mailbox, named apart. Your email address is where sign-in codes and
notifications go; your mailbox is the connection your agents and automations read and send
with. The mailbox tabs are IMAP (first and selected), Google and Microsoft. The IMAP
form shows every server field, pre-filled from the address with the standard settings and then
the discovered ones (never over a field you edited), asks for no user name, and offers a Login
field only through My provider uses a different login name. Connecting fills your email
address when it is empty. A connected mailbox has an Active switch; Advanced holds three
sentences: who your agents may send to, "At most 100 per hour and 1000 per day.", and the watch
folder. Same layout in the gateway's web and terminal consoles and AbstractCore's. - Send limits default to 100 per hour and 1000 per day (were 20 and 100). Limits you set
yourself are kept on upgrade; an account that kept the old defaults follows the new ones. - Notifications are two switches, Job failed and Approval needed, both on once a mailbox is
connected. Send a test answers with a sentence: "Sent to …" or why not ("Not sent: hourly
limit reached (100 of 100 this hour) — resets at 14:05."), with reset times in your local time. - One Accounts page. The gateway web console's Accounts page is one table of users and
entities (Name with an Admin / User / Entity chip, Email address, Mailbox, Runtime, an Active switch; actions Email, Logs,
Workspace, Rotate, Manage, Delete, each with its reason when it cannot apply), with Create
user and Create entity. Email for everyone below it holds the administrator's
Mailboxes for users switch, with Agent email tools for users and Sign-in by email
under Advanced. Logs shows an account's activity from the gateway's audit log. An
administrator sees every account; a user sees only themself and the entities they created, in
the consoles and the API. - Sidebar groups and Setup. The web console groups its pages as Accounts; Work
(Workflows, Runtimes, Apps); Models (Providers, Models, Engines, Multimodal); System (Resources,
Sandbox, Network). Setup at the bottom of the sidebar runs the first-run guide again and keeps
your choices unless you replace them. The terminal console uses the same groups andSfor
Setup. - Sign-in by email says what happened. Forgot your token? Email me a sign-in code answers
with the outcome: the code is on its way to a masked address, the account has no email address or
no mailbox to send from, or the send failed. - Every on/off setting in the consoles and the apps is a switch named by what it controls.
Added
- https through Tailscale.
tailscale serve --bg http://127.0.0.1:<port>on the gateway's
computer serves the console and every app athttps://<host>.<tailnet>.ts.net/, with sign-in,
Securecookies and app handover, and the Network setting can staylocalhost. Voice and camera
in the browser need this https address. See
Phones and tablets: Reached through Tailscale. - The apps work over plain http from another machine. Opened at
http://<address>:8080/apps/<app>/
(a LAN or Tailscale address), the apps start and copy buttons work; a feature that needs https
says so. - AbstractCode's web sidebar shows 25 conversations with Load more; the Observer opens a run
from a#run/<run_id>link (the Accounts page's Logs link to it).
Fixed
-
Transcription no longer shows "Engine missing: unknown AbstractVoice engine 'huggingface'".
The recommended setup stores the transcription engine's route; a route written that way before
is repaired when the configuration loads (a backup is written first). -
Sign-in through a proxy on the gateway's computer (such as
tailscale serve) no longer answers
403 "origin not allowed"; app manifests and icons load without an app session. -
Pausing an automation also stops its retries: an occurrence waiting in retry backoff is
cancelled. -
Resuming an email automation wakes the mail watcher at once, so mail that arrives right after
the resume triggers it. -
Two Node.js installs at once (two apps, or an app and Install Node.js) no longer fail one
of them; Node.js is downloaded once. -
Stopping the gateway while it starts waits for the startup and stops what it started.
-
AbstractCore keeps settings it does not know. A settings save keeps keys you added to
abstractcore.jsonand keys written by a newer version. -
Server file routes never serve the gateway's data folder or credential folders, so received
mail and run ledgers of other users cannot be read through/files/read. Administrators never
read mail. -
An upgrade never installs less because of the network. A server error while downloading (a
502 on PyTorch's wheel) made the installer drop local voice and finish green without it. Now any
network failure of a uv install (HTTP 5xx, 429, 408, a DNS, connect, reset or closed connection, a
timeout, a download cut off, uv'sRequest failed after N retries) runs the same full install
again on the index-lag waits (15, 30, 60, then 120 s; 8 attempts over about 10 minutes), then stops
with exit code 1, uv's cause in red and the exact command to run again. uv changes the gateway's
environment only after every download succeeded, so the previous gateway stays installed and
working. Python's download and nodejs-wheel get
the same retries.install.shandinstall.ps1. -
Local voice left out is said in red. The voice fallback now runs only for a deterministic
incompatibility (uv's resolution failure, e.g.has no wheels with a matching platform tag, a failed
build, a broken file). The warning gives uv's reason, the summary's first line says… but NOT everything was installed:, theVoice:line is red, the output ends withNOT installed:and
bootstrap.envrecordsVOICE_SKIPPED=<reason>. -
The terminal console and abstractcode wait for crates.io. Right after a crate publish,
cargo install --version <pin>answeredcould not find ... in registryand the console was skipped with a
warning. crates.io's index lag and cargo's network failures now get the same waits; when they run
out the rest of the install goes on, the summary says in red which crate was not built, and the
installer exits with code 1. -
A port changed in a console survives an upgrade. A re-run without
--port(the consoles'
Update) read the port frombootstrap.env, wrote it over the gateway's Network setting and
restarted the gateway on the old port. The installer now readsabstractgateway network status --jsonfirst: a stored port wins, is recorded inbootstrap.env, and is never overwritten unless
--portis given; a stored port held by another program stops the install with what to do
instead of moving to another port. -
Upgrading an install older than 0.6.1 no longer turns options off. An option the installer did
not have when that install was made (the terminal console before gateway 0.6.0, abstractcode and the
AbstractCore commands before gateway 0.7.1) was read as opted out, so a 0.4.0 install kept
--no-core-clion its first upgrade. Such an option now takes today's default, dated by the
recordedGATEWAY_VERSION, and the installer says so.
Documentation
- The root docs describe the email address and mailbox screens, the Accounts page, the sidebar
groups and Setup, sign-in by email, the installer's retry, and https through Tailscale
(Email integration,
Phones and tablets, Install,
Glossary). - Per-user email in
Email integration and the
Email inbox agent scenario (settings in the consoles;
agent email tools off by default; recipient allowlist starting with your own address; the
framework's own automatic mail never triggers an automation; sign-in by email), phones and
tablets through the gateway's one address in Phones and tablets
and the Phone thin client scenario, responsive apps in the
README, index, architecture, FAQ and getting started, email terms in the glossary, and email rows
in Troubleshooting and Automations.