roles.charters模块 45Roles and posts
为 Yard 中的一个岗位配备一次人员,让每个依赖者都绑定到角色本身,这样持有者换人时,依赖它的任何东西都不会察觉。
roles.charters 读取固定的通用角色(yardmaster、steward、librarian、gatekeeper、clerk、auditor 和 treasurer)以及 Yard 声明的应用角色。Yard 在创建时七个岗位全部自动配备;其他路由可以解析某项职责、交接岗位或读取其历史。
roles.charters模块 45为 Yard 中的一个岗位配备一次人员,让每个依赖者都绑定到角色本身,这样持有者换人时,依赖它的任何东西都不会察觉。
roles.charters 读取固定的通用角色(yardmaster、steward、librarian、gatekeeper、clerk、auditor 和 treasurer)以及 Yard 声明的应用角色。Yard 在创建时七个岗位全部自动配备;其他路由可以解析某项职责、交接岗位或读取其历史。
这里没有任何操作具有 MCP 或契约 ID;角色只能通过原始 REST 接口访问。未绑定 POLICY_STORE 时,岗位状态仅存在于隔离区自己的内存中,重启后不会保留。
rolegatekeeper 或 Yard 声明的应用角色。yardIdstaffingnull,或 {by:"agent", did}、{by:"service", endpoint}、,均带有 。yards.list 的 create 和 fork 操作会调用本模块的配备例程,如果七个通用岗位尚不存在,则会全部补齐。
get 和 resolve 仅凭 和 查找岗位。存储 DID 的调用方,自己一侧已经破坏了寻址契约。
点击运行,将左侧的请求发送到共享演示工作区。
在共享的演示工作区中使用演示密钥运行:任何人都可以看到其中的内容,因此请勿发送任何私密信息。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
GET /api/v1/acp/roles/charters Authorization: Bearer av_workspace_•••• → 200 { utility, application, names } (there is no `charters` field; `utility` lists the seven frozen posts and `application` lists the ones a yard has declared)
restaff 把 yardmaster 从一个智能体的 DID 移到另一个,而不触及任何通过角色和 Yard 寻址该岗位的东西,因为地址从未改变。
运维人员试图用只覆盖 budget、而不覆盖 charge、forecast 和 freeze 的服务为 treasurer 配备人员。调用被拒绝,并指明缺失的职责。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
vacate 会拒绝它,只对 Yard 自己声明的应用角色成功。对策略存储的写入在并发变更时最多重试五次,然后返回 503,而不是永远重试或悄悄丢弃写入。
在有人重新配备岗位之前,它由树内的模块端点担任,例如 clerk 默认为账本模块,因此新的 Yard 永远不会没有任何人员。
本模块不向固定的目录添加新的操作,也不添加新的计费计量;人员配备依附于 Yard 创建的计量。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/roles/charters读取固定的通用角色以及此 Yard 声明的角色。/api/v1/acp/roles/list列出 Yard 的岗位,以及按类型统计已配备的数量。此模块没有 MCP 操作。请通过 REST 从任何智能体或程序调用它。
{by:"hybrid", did, endpoint}coverscharterhistorypostslist 或 staff-yard 为某个 Yard 返回的每个岗位。roleyardIdstaff 和 restaff 会检查人员配备是否覆盖该岗位章程所列的每项职责;服务端点必须是 https,不能是 localhost、内部地址或裸 IP。
vacate 会拒绝通用角色;只有 Yard 自己声明的应用角色才可以空缺,因为没有 gatekeeper 的 Yard 是门户洞开,而不是人员配备缺口。
{
"utility": [
{
"role": "gatekeeper",
"duties": [
"admit",
"screen",
"egress",
"quarantine"
]
}
],
"application": [],
"names": [
"yardmaster",
"steward",
"librarian",
"gatekeeper",
"clerk",
"auditor",
"treasurer"
]
}带有 duty 的 resolve 回答哪个岗位覆盖它以及自何时起;如果岗位空缺,则返回 409,而不是猜测默认值。
history 显示岗位曾有过的每位持有者,这在追溯事故发生时是哪个智能体在担任 clerk 时很有用。
coordination.admit 的已编译授权。role 和 yardId 找到;不支持按 DID 查找。restaff 保留之前和新的人员配备,但不保留是谁执行的变更。https 且有真实的主机名;localhost、.local、.internal、裸 IPv4 或裸 IPv6 字面量都会被拒绝。restaff 会拒绝;首次分配请使用 staff。identity.enroll12