pages / pack / hosting

pack · hosting

the hosting line extends the language: the cell a generated agent runs as (its actions on the layer's hosting door), the inference lanes it calls, the streams it follows and the superroot proofs it asks for; every door an op the register already has, every call metered on the key

version
1
sets
hosts, lanes, streams, roots, guards
clauses
host, infer, follow, attest

its sets

its clauses

host
host <action>: the move acts on the agent's cell through the layer's hosting door (start, stop, restart); the row names the op, its auth and what it answers
infer
infer <lane>: the move calls an inference lane of the layer; the row names the op, its auth and the meter product
follow
follow <stream>: the move follows a stream of the layer; the row names the op, its auth and the kinds it carries
attest
attest <proof>: the move asks the superroot for a proof; the row names the op and what it proves

its tables

{
 "hosts": {
  "start": {
   "op": "POST /v1/hosting/resources/:id/:action",
   "auth": "key-or-operator",
   "answers": "the cell's status; 402 when the balance does not cover seven days; 501 for redeploy"
  },
  "stop": {
   "op": "POST /v1/hosting/resources/:id/:action",
   "auth": "key-or-operator",
   "answers": "the cell's status"
  },
  "restart": {
   "op": "POST /v1/hosting/resources/:id/:action",
   "auth": "key-or-operator",
   "answers": "the cell's status"
  }
 },
 "lanes": {
  "chat": {
   "op": "POST /v1/chat/completions",
   "auth": "key",
   "meter": "taifoon.lane",
   "answers": "the completion and one meter line; the sale record"
  },
  "model": {
   "op": "POST /v1/chat/completions/:model",
   "auth": "key-or-x402",
   "meter": "taifoon.lane",
   "answers": "the completion and one meter line"
  },
  "community": {
   "op": "GET /v1/inference/community",
   "auth": "public",
   "meter": null,
   "answers": "the cards"
  }
 },
 "streams": {
  "pipe": {
   "op": "GET /v1/pipe/stream",
   "auth": "optional-key",
   "kinds": "envelope leaf ack batch lost dropped",
   "meter": "taifoon.stream"
  },
  "lanes": {
   "op": "GET /v1/stream",
   "auth": "optional-key",
   "kinds": "root jev action job pool flow quota work run",
   "meter": "taifoon.stream"
  },
  "snapshot": {
   "op": "GET /v1/stream/snapshot",
   "auth": "optional-key",
   "kinds": "the lanes once",
   "meter": null
  },
  "cell": {
   "op": "GET /v1/hosting/resources/:id/stream",
   "auth": "key-or-operator",
   "kinds": "status every five seconds, two minutes at most",
   "meter": null
  }
 },
 "roots": {
  "root": {
   "op": "GET /v1/root/latest",
   "auth": "public",
   "proves": "the latest superroot, its epoch and anchor age"
  },
  "block": {
   "op": "GET /v1/root/proof/:chain/:block",
   "auth": "public",
   "proves": "the block's sibling path to the superroot"
  },
  "tx": {
   "op": "GET /v1/proof/tx/:chain/:tx",
   "auth": "public",
   "proves": "the transaction under its block under the superroot"
  },
  "order": {
   "op": "GET /v1/proof/order/:protocol/:key",
   "auth": "public",
   "proves": "every transition of the order under the superroot"
  },
  "twig": {
   "op": "GET /v1/pipe/twigs/:actor/proof/:twig",
   "auth": "public",
   "proves": "the twig's path to the actor's signed head"
  },
  "batch": {
   "op": "GET /v1/pipe/batches",
   "auth": "public",
   "proves": "which batch holds the envelope, its root, whether it was attested and pushed"
  }
 }
}

used by

release 1: a leaf · the inclusion proof · head 0x7e3a214cfa5ff19b…