Repository navigation
v0.138.0
Install or update: npm i -g cotal-ai@0.138.0
Changes in this release
- Make the coordination tools say what to do next. The results of
cotal_send,cotal_dmandcotal_spawnnow say where the post, message or seat went and the next move. A post says the agents on the channel see it, and a post to a new name says so and names close matches. A DM says other agents can't read it and points anything others could use at the task's channel. A started seat names itsjoinchannels, or says it starts only on the channels its persona lists. The descriptions ofcotal_send,cotal_dm,cotal_anycast,cotal_spawn,cotal_persona,cotal_despawn,cotal_join,cotal_leave,cotal_channels,cotal_channel_infoandcotal_runsay what each tool is for, when a neighbouring tool fits better, and give one example, and the briefing's channel guidance agrees with them. The briefing andcotal_dmboth say to post a status meant for one peer on the shared channel with a mention, and to keep DMs for what that peer alone needs. The briefing andcotal_sendsay a post on a live channel misses an agent that is disconnected or busy, unless it mentions that agent and the agent may read the channel, and the briefing andcotal_spawnsayonceworks on Claude Code, jcode, OpenCode and pi helpers. A persona that would not load is refused asCouldn't define <name>: it would not load: <reason>.MeshAgent.describeSendChannelreturns{ known, hints }instead of a sentence. - Show reported conditions and status, activity and work ages in the dashboard's roster, waiting cards and agent details, including graph details. Use core's canonical age functions through its new browser-safe presence-ages subpath, so a 90-second heartbeat displays as 1m rather than rounding to 2m. Wrap the fact lines instead of hiding them behind ellipses.
- Move terminal attach from
@cotal-ai/cliinto@cotal-ai/workspace, exported as@cotal-ai/workspace/attach: the detach key, the terminal hold, the session client over a mesh session (attachClient,meshSessionTransport), and the attach loop that establishes a session, re-establishes it when the link drops and hands back abandoned sessions (attachSeat). A caller passes aControlClient, the command a seat-miss refusal names, an optional remedy for a seat with no terminal, and an optional sink for the notices the loop prints, so the library never imports CLI code.cotal attach, the console's attach and spawn-then-attach behave as before. - Move the chat session layer from
@cotal-ai/cliinto@cotal-ai/workspace, exported as@cotal-ai/workspace/chat: the session contract, the participant engine, the native session, and the open, static and user-mode adapters.openChatSessionadmits a session through the adapter the target's recorded mode names, and a caller passes aControlClientfor the manager calls a static session makes at its open and its retirement, so the library never imports CLI code.cotal chatandcotal channelsbehave as before.
What's Changed
- fix(website): validate parsed links in published documents by @davidfarah2003 in #5758
- feat(connector-core): say where a coordination tool's result went and what to do next by @davidfarah2003 in #5757
- refactor(workspace): share the chat session as @cotal-ai/workspace/chat by @Manas-Kenge in #5633
- refactor(workspace): share attach as @cotal-ai/workspace/attach by @Manas-Kenge in #5635
- fix(web): show canonical presence conditions and ages by @davidfarah2003 in #5760
- chore(release): version packages by @davidfarah2003 in #5759
Full Changelog: v0.137.0...v0.138.0