mirror of
https://github.com/morluto/rea.git
synced 2026-11-06 23:06:18 +00:00
* fix(desktop): launch spaced REA archives and Electron apps Link the unpacked REA entrypoint to a fixed path so a top folder with spaces is not split by the generated rea launcher. When a build request marks the app as Electron, rewrite its installed desktop command with the export path's launch policy before gtk-launch. * fix(desktop): escape rewritten Exec values for desktop files Command quoting alone left literal backslashes one escape short of the desktop-entry value layer, so gio rejected the rewritten entry. Escape the command with the same rules parseDesktopEntry undoes before writing the Exec line. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Desktop application environments
Goal: REA turns an application installed and used on a Linux desktop into an agent environment's computer application. The real application installs into a computer image, launches to ready, exposes reset, load and get over its own state, and ships with tasks graded through that state.
The work lands as one PR per step:
- Pin the real agent environment lane to the framework release that carries the computer application contract.
- Capture: launch the application on the user's desktop and record its inventory, windows and home-directory state at checkpoints.
- State view: decide which paths are the application's state and read their formats into a typed JSON view.
- Export: write the computer application class, environment card, skill and seed.
- Verification inside an agent environment computer: put, boot, ready, reset equals the seed, grader checks.
- Tasks: an agent writes a prompt and declarative checks from the observed change, REA keeps the task when the checks fail on the seed and pass on the captured end state, and a run of the bundle measures an agent's solve rate.
- Three applications end to end: Mousepad (plain files), GnuCash saving to SQLite, and Joplin (Electron, SQLite).
- Vendor packages: closed-source applications from a vendor apt repository, with its verified signing key and the packages of the libraries they load, starting with Typora.
- Vendor .deb files: closed-source applications
installed from a downloaded
.debfile, which the computer downloads from an operator's URL and checks by its captured SHA-256, starting with VariCAD. - Document views: documents saved as zip archives (FreeCAD, OpenDocument, Office Open XML, EPUB) read as their entries, checked by name rather than position, namespaced XML included, and numbers compared within a tolerance, starting with FreeCAD.
- Capture for building: one capture makes
the seed and then the change, at checkpoints the export and the task
draft are told; apt lists from a user-space
apt-get updateare found; the application does not inherit the computer's control token; and the bundle holds neither the capture host's name nor its user's. - Build computer: an agentenv computer REA keeps up from a request or a bundle, with REA installed inside for building, driven through REA's MCP tools while an agent builds the environment.
Version 1 covers Linux with X11, applications whose state lives in files or SQLite under the home directory, and real applications from public packages. It uses the user's real state and keeps everything local.