Repository navigation
v0.119.0
Install or update: npm i -g cotal-ai@0.119.0
Changes in this release
-
Add
cotal daemon setup, one command that connects a headless machine to a space.It installs the daemon as a systemd user service, waits for it to answer, signs it in by device code when it is not signed in already, asks the space to register it, and connects it once the space owner approves. No local browser is needed anywhere on that path: the sign-in prints an approval link and code to open on another device. It prints one plain line per stage to stderr, so
--jsonstill writes one document on stdout.Every stage is skipped when it is already done, so running it again after an interruption continues rather than starting over.
--wait <seconds>bounds the wait for the owner's approval, 900 by default, and--wait 0reports what it reached. A wait that runs out is a partial that says the service is installed and the registration is sent, so a rerun continues. An answer that cannot improve is a refusal carrying the space's own reason, and the connection stage is never reached. Only a connected machine exits 0.A daemon already answering while no installed unit is recorded for it refuses
CONFLICT(RUNNING_WITHOUT_UNIT), because installing then would start a second daemon that the lifetime lock refuses and the running one is not a persistent service. Pausing, renaming and disconnecting stay their own commands. -
Keep a command wider than the terminal line on one line, so a copied line is the whole command.
On an 80-column terminal the exec-endpoint
next:ofcotal servicebroke before--handler <file>, and the remedy ofcotal service add <name> --preset exec-endpointbroke before its last<file>, both in the refusal line and in the--plainreport's Next. Copying the first line gave a command without its last option, and copying both ran two commands. A command cell now overflows the line as one line, and so does a remedy that is one whole command:CommandFailuretakesremedyIsCommand, which every terminal remedy path honours. A remedy that starts with a command and goes on as prose still wraps at its spaces.--jsonoutput is unchanged.
What's Changed
- feat(cli): connect a headless machine to a space with one daemon command by @davidfarah2003 in #5110
- docs(cli): remove a leftover merge block from the spawn paragraph by @davidfarah2003 in #5112
- fix(workspace): keep a command wider than the line whole by @davidfarah2003 in #5114
- chore(release): version packages by @davidfarah2003 in #5113
Full Changelog: v0.118.3...v0.119.0