@agentshouse/panel-contract
What one agents.house release serves to its panel. House generates it from its own code, and its version is derived from its content: two releases with equal contracts and recorded days carry one version.
import { contract, version } from '@agentshouse/panel-contract';
contract holds these parts, each schema a JSON Schema (2020-12):
acts- every application-door act by name, posted to/door/<name>, with itsinputschema and, once the act states one, itsanswerschema: the act's outcome alone.refusals- every refusal code House answers, each once with the schema of its detail, the fields besidecodein the answer'serror. Any act may answer any of them.door_answers- the answers the door gives any act that are no refusal: the credential challenge, thependinganswer of a write still settling and the fault body.runtime_calls- every act the App runtime's Call takes or answers in another form than the door, with theinputthe Call takes and theanswerit completes with.attachments/uploadtakes the file's bytes asbloband answers theattachmentits stored bytes name, withupload_failurewhen they were not saved, or the door's answer for a version House already holds;attachments/getanswers an opened file's bytes asblobin place of the door'sdownload;apps/uploadtakes each file's bytes asblob. ABlobis a schema whosecontentMediaTypeisapplication/octet-stream.documents- every House document type House writes, with the schema of its frontmatterfields, where it has them, and, where House writes one, its Markdownbody. A list entry's word grammar is apatternwhose named groups are its words; a field that holds JSON namescontentMediaTypeand itscontentSchema.room_documents- every document House reads or writes in a Room by its path rather than a House type: a Trigger and its routine and notification routes in a Room, a Routine in/privateand a Site Submission in its Site's Intake Room, each with thepathit lives at below its Room's root, the schema of its frontmatterfieldsand of its Markdownbody.notifications- every Human Notification kind with the value fields itshouse-notificationdocument carries.conversation_frames- every conversation frame the App runtime receives by itstype: a turn'sdraftview with its plansteps, aworking-note, amessage, and the CLI'sprocess,commandsandoptions, each option aselectwith its values or aboolean.served- the exact@agentshouse/mdruntime,@agentshouse/mdruntime-adapterand@agentshouse/app-bridgeversions this release serves.
index.d.ts types contract as its literal value, so a schema can be turned
into a TypeScript type at build time. contract.json holds the same value.
day.json (@agentshouse/panel-contract/day.json) is the recorded day: what
House produced for a scripted day of real acts by several Users. users holds
each User's House documents by path, acts each door answer with its act,
User, request and status, a request string longer than 65,536 characters (an
oversized upload's file content) recorded as <N characters>, frames each frame a User's App runtime
received, as the worker hands it over (a turn's draft and plan frames as
its draft view), with its User, and transfers each byte transfer through a
grant an act answered, with its User, byte grant act, method, the grant's
url, status and answer: the byte origin's JSON for a POST, and
{media_type, content}, the bytes as base64, for a GET. Its instants are moved onto one fixed
day, 16 October 2026, its identities are numbered from that day and no credential is kept.