用途:Bounded backend 是 Bounded 应用的服务器端部分,覆盖治理受支持变更面的策略(policy.json 规则)、运行时强制的不变量、运行受信代码的函数,以及决定谁在操作的主体模型(actor model)。可用于权限规则、租户隔离、余额/供应上限、后台作业、定时钩子、公开 HTTP 函数等后端逻辑。
主要能力:规则支持字段、层级、变量、运算符、@user、@data、@newData、@time、get()、getAfter() 与所有权字段;不变量支持 rollingSum、windowSum、flowBound、conserve、tenantTag、tenantEdge、bound,用于上限、余额、供应、硬边界;函数支持声明、auth、entry、secrets、actAs、ctx.user、ctx.bounded、ctx.env、ctx.secrets、invoke、deploy,以及 ctx.ai、ctx.services、ctx.browser、ctx.enqueue、ctx.build 等运行时能力;还有公开函数、定时钩子与 webhook、实时与会话、文件与全文检索、查询与聚合、策略测试等。
使用方式:用 bounded deploy 校验、编译并推送;用 bounded tests run / push / list / pull 运行策略测试。正确的原子性用单次 set-many 保障,跨写正确性用 requiresInBatch 声明伴随路径。用户端动作应使用客户端 SDK 的 functions.invoke 并声明函数 auth 规则,通过 ctx.user 取会话用户。
限制与注意事项:403 表示写或函数调用违反规则,被拒绝的读取以 200 空数据隐藏而非 403;500 rule_evaluation_failed 表示规则无法求值、并非拒绝,须查看 bounded decisions;409 表示违反不变量;403 incomplete_batch 表示原子批缺少 requiresInBatch 声明的伴随路径;部署校验错误会拒绝策略。get() 在策略测试 expect 中跳过读规则,验证拒绝读取需用第二个真实会话;CLI 以所有者身份调用可能掩盖数据读取权限问题。provider API key 应放 Bounded secrets,不要放前端代码。资料未给出价格、版本或平台要求等信息。