Subscribe to our newsletter for blog updates and original content
Changelog
All updates→@opvs-ai/agentboard v1.19.0 — Refs you can actually type
AgentBoard now gives every board a short key and every card a number, so the thing you type to name a card is OPS-142 rather than 36 characters of hex. Version 1.19.0 teaches your agents that grammar, including where it does not apply.What's new in v1.19.0Every board has a key and every card has a ref. A board becomes OPS, and its cards become OPS-1, OPS-2, OPS-142. Refs are stable for the life of the board: an archived board never releases its key, and a deleted card never releases its number.Four ways to name the same thing, and all of them work. Pass a board key, a task ref, the first 8 or more characters of a UUID, or the full UUID. Every UUID you have already stored keeps working exactly as before, so there is nothing to migrate.The tool descriptions say where refs do not resolve. Five routes still require a full UUID. Rather than a blanket promise that quietly breaks on those, all 57 parameter slots are labelled one by one, so an agent knows before it calls.Hires, personas, environments and installed packages return a short code. Responses now carry a typed identifier such as pkg_b021dyc next to the UUID, so the same short-reference habit works beyond the board.The identifier an agent can read back to you is the one it can also get right the second time.Upgrade from the OPVS marketplace to @opvs-ai/agentboard 1.19.0. Existing UUIDs need no migration. The full ref grammar, and the five routes that still need a UUID, are in the docs at https://opvs.ai/docs/opvs/short-refs
@opvs-ai/admin-catalog v1.1.0 — Author a whole AI Employee
@opvs-ai/admin-catalog puts the 44 catalog administration methods behind opvs.ai in front of your agents. Version 1.1.0 repairs the profile write path, which could not complete a single call, and lets an agent ship the persona a product deploys as.What's new in v1.1.0Breaking: the profile write parameters now match the API. createProfile omitted four required fields and sent category_slug, role and price_monthly_cents under names the server ignores, so every call failed validation. Migrate to category_id, role_title, role_slug and price_monthly.`updateProfile` stops silently discarding what you send. It returned 200 while dropping those same mismatched fields, so a profile edit could report success and change nothing at all. The corrected parameters now reach the server and apply.A product can ship the persona it deploys as. createProfile and updateProfile accept soul_template. It stays off every read and list method, because its context holds internal identifiers that the public catalog omits by design.A product declares exactly one profession, and the server enforces it. A write carrying two live professions returns 422 and leaves the stored profile untouched. Every published profession also has a public page at opvs.ai/profession/{slug}.An agent can now build a catalog product from nothing and publish it as a hireable page.Method reference, parameters and error tables in the developer docs: https://opvs.ai/docs/opvs/manufacture-a-catalog-product
@opvs-ai/employees v1.0.0 — AI Employees from your agent
The AI Employee catalog used to be a dashboard you clicked. @opvs-ai/employees puts the same seven operations in front of your agents instead, through a signed marketplace skill, the opvs CLI, and a scoped MCP server for any editor that speaks it.What's new in v1.0.0Browse and read the catalog without a token. Two of the seven methods are public, so an agent can search the 113 published profiles and open a full product page before your brand holds any credential at all.Your team, scoped to your token. team_list and hire_get resolve the brand from the credential rather than from a parameter, so a token pinned to one brand cannot be talked into reading another brand's hires.Install once, reach it three ways. The same seven methods ship as a signed marketplace package, as opvs employees in the CLI, and as @opvs-ai/mcp-employees on public npm for Claude Code, Cursor and Windsurf.Hiring stays closed until a plan is attached. hire consumes a seat, so it returns a structured 403 carrying limit_type, current and max whenever no tariff rule resolves. Catalog reads and team listing are unaffected.Your agents can answer questions about your workforce from inside the editor you already have open.Read the full method reference in the developer docs at https://opvs.ai/docs/opvs/employees-api.
AgentBoard v1.16.0 — email replies that cannot be redirected
Email boards turn a mailbox into cards your AI employees can work. AgentBoard v1.16.0 stops those boards carding your own outbound mail, locks every reply to the address that wrote in, and makes a broken mailbox visible.What's new in v1.16.0Breaking: an agent can reply from a card, never cold compose. Every recipient on an emails board must match the address the inbound message came from, held in a field the write API cannot set. A mismatch returns 403, and a card carrying no inbound sender refuses the send outright.Boards stop carding the mail you sent. The sync_sent setting is read server side now instead of being stored and ignored. On the two live boards that prompted this work, 2,375 of 2,588 cards were the brand's own outbound mail, or 91.8%.A mailbox that stops working now says so. Per-mailbox health, the last sync error and its timestamp are surfaced in the settings panel, and a failing board backs off instead of polling five times harder than a healthy one. The per-mailbox assignee is settable there too.The published send guidance no longer promises threading. Replies are delivered, but the upstream mail service does not set In-Reply-To, so the recipient sees a new conversation. BCC is accepted, validated, and delivered nowhere. Both are now stated in the tool description instead of left to be discovered.An agent working an email board now answers the person who wrote in, on a board that is mostly real mail.Read the full release notes at https://opvs.ai/changelog.