豫豫言文档API ATLAS
入口云工宿主。包。豫
120 模块1475 名称
全部模块

豫言 / 云工宿主 @ 0.1.0

Cloudflare Workers 宿主能力的豫言封装。

说明.汉语.md

# Cloudflare Workers 宿主库

`持久恢复。豫` 封装 SQLite Durable Object 的当前书签、按时间取书签、设置下次会话恢复书签,以及由豫言显式调用的对象重启。Wrangler 4.129.0 本地 workerd 能返回当前书签,但按时间取书签和设置恢复均报告后端未实现 PITR;安全入口把错误返回豫言。没有在本地或云端执行实际恢复。生产 PITR 会影响整个对象的 SQL 与 KV 内容,适用范围和 30 日窗口见 [Cloudflare SQLite 存储文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/);逐项证据见 `持久恢复接口.清单.tsv`。

`持久命名空间。豫` 现覆盖授权 Durable Object 命名空间的命名 ID、唯一 ID、字符串还原、ID 比较、按名或按 ID 取桩,以及辖区子空间。Wrangler 4.129.0 本地 workerd 已验证 ID 往返、三种桩的豫言对象请求、`locationHint` 参数接受,以及对象内 `ctx.id.name` 对命名 ID 有值、对唯一 ID 为 null;它明确不实现辖区限制,辖区子空间及辖区唯一 ID 的安全入口均返回失败与原错误。真实辖区和地理位置效果需云端验收,详 `持久命名空间接口.清单.tsv` 与 [Cloudflare 命名空间文档](https://developers.cloudflare.com/durable-objects/api/namespace/)。

`网络。豫` 现可直接读取 Response 的状态、标头句柄和可空的 `body` 流句柄;无论 Response 来自原生 fetch 还是现有的 `云工服务请求句柄`,豫言均可再用 `流。豫` 逐块取原始字节、`编码。豫` 增量解码。Wrangler 4.129.0 本地 workerd 已验原生 Response 的状态 206、Content-Type、204 空正文和拆成两块的“豫”字节;真实远端长流仍待验。`广播。豫` 为同一 Durable Object 实例提供具名原始字节频道:豫言创建订阅流、发布原字、关闭频道,并自行决定 SSE 或其他事件格式。两个并发订阅读者已从另一请求收到豫言生成的进度事件,频道关闭后均正常结束。频道为实例内临时状态;事件持久化与重放仍由业务豫言负责,详 `网络中断接口.清单.tsv`、`广播接口.清单.tsv`。

`时钟。豫` 新增 `performance.now()` 与 `performance.timeOrigin` 的原始十进制文本接口,以及一次定时、周期定时、取消和等待定时事件。定时器属于单次 Worker 调用:宿主把到期事件交给豫言决定后续行为,并在调用结束时清理未完成的定时器。Wrangler 4.129.0 本地 workerd 已验证零原点、一次事件、两次周期事件、取消和等待超时。生产环境中时钟只在 I/O 后推进,且定时器只能在请求上下文使用,见 `时钟接口.清单.tsv` 和 [Cloudflare 性能与定时文档](https://developers.cloudflare.com/workers/runtime-apis/performance/)。

`流式编码。豫` 提供 TextEncoderStream、TextDecoderStream 的构造、属性和读写端句柄;`流。豫` 新增文字写器及安全文字读取入口。Wrangler 4.129.0 本地 workerd 已验证“甲”“乙”两段写入生成六字节 UTF-8、拆开的汉字和 BOM 被正确组合;坏 UTF-8 在严格模式返回 TypeError,非严格模式产出替换字符。云端待验。详 `流式编码接口.清单.tsv`、[Encoding 标准](https://encoding.spec.whatwg.org/#interface-textdecoderstream)与 [Cloudflare Web 标准接口](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`网络。豫` 的可取消请求先返回在途 Promise 句柄,豫言可中止其 AbortSignal,再调用 `云工请求候回应安全` 取得 Response 句柄或错误;`云工回应文字安全` 读取有 2 MiB 上限的正文。本地 workerd 已验证本机 HTTP 200、在途 AbortError、预先中止的自定理由和无效等待句柄;云端待验。详 `网络中断接口.清单.tsv` 与 [Cloudflare Request 文档](https://developers.cloudflare.com/workers/runtime-apis/request/)。

`中断。豫` 让豫言创建 AbortController、取得信号、传入文字或对象理由、检查 `throwIfAborted()`,并使用 `AbortSignal.abort()`、`any()`、`timeout()` 及异步等待 `abort` 事件。本地 workerd 已验证上述行为;4.129.0 对 `timeout(-1)` 创建随即中断的信号,与 Chrome 的 RangeError 不同。详 `中断接口.清单.tsv` 和 [Cloudflare Web 标准接口](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`网址。豫` 提供返回成功标记与文本的 `encodeURI`、`encodeURIComponent`、`decodeURI`、`decodeURIComponent`;`句柄。豫` 的 `云工调用全局安全` 将同步异常和 Promise 拒绝转为错误 JSON。本地 workerd 已验证坏 `%`、非法 UTF-8 和无效 URL 的错误结果,详 `网址编解码接口.清单.tsv` 与 [ECMAScript URI 函数](https://tc39.es/ecma262/multipage/global-object.html#sec-decodeuricomponent-encodeduricomponent)。

`句柄。豫` 的 `云工调用方法安全` 与它同类,作用于句柄上的方法:同步异常和 Promise 拒绝不越过宿主桥抛出,而是返回成功标记与结果 JSON 或含 `名称`、`消息` 的错误 JSON。D1、R2 等绑定的错误原因只能由它读到;`云工调用方法` 遇到宿主异常时错误直接穿出 Wasm,豫言的「尝试运行」捕获不到。豫言操作系统的关系数据库适配以它把 D1 错误转成可捕获的豫言异常。

`表单数据。豫` 为豫言提供 FormData 字段修改、查询和有序枚举,文件项以句柄保留原字。Wrangler 4.129.0 本地 workerd 已验证 `00 FF 41` 经 Request multipart 往返;云端部署待验。详 `表单数据接口.清单.tsv` 与 [Cloudflare Request 文档](https://developers.cloudflare.com/workers/runtime-apis/request/)。

`云工工作流步做可回滚` 在平台 `step.do` 上登记回滚回调。平台调用该回调时,宿主启动新的豫言 Wasm,事件种类为 `workflow-rollback`;豫言可读取步骤名、输入、前向输出、步骤上下文和错误,再自行执行补偿逻辑。本地 workerd 已验证 `terminate({rollback:true})` 后豫言写入 KV 标记。回滚回调返回后没有业务 JS 决策;多步骤逆序与失败重试仍待验。[Cloudflare Workflows 回滚接口](https://developers.cloudflare.com/workflows/build/workers-api/)列出参数和调用方式。

`工作流。豫` 现另有 `createBatch`、`deleteBatch` 和 `sleepUntil` 封装;`时钟。豫` 的 `云工当前Unix毫秒` 可供豫言计算绝对期限。Wrangler 4.129.0 本地 workerd 已验两实例批量创建、逐项删除结果和一秒绝对休眠。重复 `createBatch` 未重跑实例,却仍返回原 ID 列表,与 [Cloudflare Workflows Workers API](https://developers.cloudflare.com/workflows/build/workers-api/) 所述的“排除已有实例”不一致;本库保留平台原始返回值,差异记在 `工作流接口.清单.tsv`。Worker 生产计时器在无 I/O 时可能不前进,见 [Performance and timers](https://developers.cloudflare.com/workers/runtime-apis/performance/) 与 `时钟接口.清单.tsv`。

`工作流。豫` 通过 `WORKFLOW` 许可创建实例、查询状态和发送事件;构建外壳导出 `豫言工作流`,其 `run` 和每个 `step.do` 回调均进入豫言 Wasm。豫言决定步骤名称、顺序、输入、配置及 JSON 输出,平台缓存成功步骤并管理等待。Wrangler 4.129.0 本地 workerd 已验证创建、步骤输出、`waitForEvent`、发送事件及使用 `--persist-to` 后停止并重启进程仍可恢复同一实例。当前尚未覆盖回滚、全部实例管理方法及非 JSON 步骤值;早期一次本地运行在实例完成后仍出现 workerd 请求挂起告警,需要继续定位。接口依据见 [Cloudflare Workflows Workers API](https://developers.cloudflare.com/workflows/build/workers-api/),逐项见 `工作流接口.清单.tsv`。

实例管理接口又在本地 workerd 以 `工作流管理。测试。豫` 验证:等待中的实例暂停后为 `paused`,恢复后为 `running`;实例完成后从指定豫言步骤重启并再次进入 `running`;另一实例终止后为 `terminated`,删除后按 ID 查询得到 `instance.not_found`。本地运行时在暂停附近打印引擎中断及请求挂起告警,尚未确认是模拟器诊断还是适配缺陷;云端和竞态边界不据此推断。

本地复验可用 `工作流。测试。豫` 构建 Worker,许可为 `{"WORKFLOW":["TEST_WORKFLOW"]}`,Wrangler 配置的 `workflows` 项为 `{"name":"yy-host-workflow-resume-test","binding":"TEST_WORKFLOW","class_name":"豫言工作流"}`,兼容日期 `2026-09-10`。在同一 `--persist-to` 目录运行 `/create-wait2`,确认 `/status-wait2` 为运行中;停止并重启 `wrangler dev` 后再次查询,调用 `/send2`,最终状态应为 `complete` 且 `output.payload.答` 为“豫言事件”。本地 Workflows 是平台模拟实现,不能据此证明云端故障恢复语义。

`编码。豫` 封装 Worker 的 `TextEncoder`、`TextDecoder`、流式解码和 `encodeInto`;`调度。豫` 封装 `scheduler.wait` 与 `AbortSignal` 取消。等待时长用十进制字符串传入,因此豫言可指定小数毫秒。Wrangler 4.129.0 本地 workerd 已以真实豫言 Wasm 验证正常和取消路径;取消结果返回 `AbortError`。云端定时器在没有 I/O 时的冻结行为尚未实测,语义见 [Encoding](https://developers.cloudflare.com/workers/runtime-apis/encoding/)与 [Scheduler](https://developers.cloudflare.com/workers/runtime-apis/scheduler/) 文档;逐项状态见 `编码调度接口.清单.tsv`。

`密仓。豫` 使用独立的 `SECRETS_STORE` 许可调用账号级 Secrets Store 绑定的异步 `get()`。Wrangler 4.129.0 本地 Store 已用无敏假值通过真实 workerd 验收;假值只在豫言中比较,响应没有回显。生产 Secret、轮换、缺失值及错误语义仍待验。Secrets Store 与逐 Worker 的 `SECRET` 绑定不同,配置见 [Cloudflare Secrets Store Workers 集成](https://developers.cloudflare.com/secrets-store/integrations/workers/),逐项状态见 `密仓接口.清单.tsv`。

`环境与版本。豫` 以独立 `ENV`、`SECRET`、`VERSION` 许可读取文本、空字符串、JSON 变量、Secret 和版本元数据;`分析。豫` 以 `ANALYTICS` 许可写入 Analytics Engine 数据点。Wrangler 4.129.0 本地 workerd 已验这些绑定的读取或调用,Secret 只用无敏测试值且不输出。Analytics 的本地调用成功不证明云端持久化;限额与单索引要求见 [Analytics Engine 文档](https://developers.cloudflare.com/analytics/analytics-engine/get-started/),版本字段见 [Version metadata 文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/version-metadata/)。逐项边界见 `基础绑定接口.清单.tsv`。

`限流。豫` 通过许可清单的 `RATE_LIMIT` 绑定名调用 Cloudflare Rate Limiting 的 `limit({key})`。Wrangler 4.129.0 本地 workerd 已验 1 次/10 秒配置下同键重复调用被拒绝、异键仍通过。生产环境的计数按地区且最终一致,不能把它当精确计费器;配置与语义见 [Cloudflare Rate Limiting 文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/rate-limit/),验收范围见 `限流接口.清单.tsv`。

密钥生命周期接口现支持生成可选导出性的 AES-GCM 密钥并导出原始字节,以及 PBKDF2、HKDF 的 `deriveBits` 和派生 AES-GCM 密钥。Wrangler 4.129.0 本地 workerd 已验证生成、导出、重新导入、PBKDF2/HKDF 派生结果与 AES 加解密互通。测试使用低迭代次数仅为验收,应用须根据自身安全要求选择参数。

`密码。豫` 提供随机 UUID、随机字节、摘要、AES-GCM 与 HMAC 的具名豫言接口。密钥留在宿主,通过句柄使用;AES-GCM 随机数须由调用方确保在同一密钥下不重复。Wrangler 4.129.0 本地 workerd 已验 SHA-256 对 `abc` 的摘要长度与首字节、AES-GCM 含附加认证数据的往返和 HMAC 正反验签。完整 Web Crypto 方法、Workers 扩展及其他算法仍待补,详 `密码接口.清单.tsv`;Workers 的算法差异见 [Cloudflare Web Crypto 文档](https://developers.cloudflare.com/workers/runtime-apis/web-crypto/)。

Dynamic Worker Loader 已有 `云工动态加载`、`云工动态按号取`、`云工动态入口句柄`、`云工动态转发请求`。许可清单按 `LOADER` 列绑定名。构建器生成 `动态资源.mjs`,内含固定宿主模块源码和值桥 Wasm 字节;豫言程序传入子程序 Wasm 字节、CPU 毫秒和子请求数,子 Worker 的 `env` 为空且 `globalOutbound` 为 `null`。相同 `get` 标识必须始终对应相同程序字节、限额和宿主源码。Wrangler 4.129.0 本地 workerd 已验 `load` 与重复 `get` 的 HTTP 200 响应。生产缓存、限额触发和网络隔离仍需验证;详见 `动态工接口.清单.tsv`。

本库使豫言 WasmGC 程序处理 Worker 请求。`宿主.mjs` 将请求交给豫言,并执行豫言明确调用的平台能力;路由、权限和业务状态由豫言决定。构建产物需包含外层 JS 与豫言 Wasm、值桥 Wasm。

调用 `创建云工宿主({程序模块, 值桥模块, 许可, 动态资源})` 可取得 `fetch`、`queue`、`scheduled` 与 `email` 处理器;构建产物另导出通用 `豫言持久对象` 和 `豫言工作流` 类。`许可` 按 `KV`、`R2`、`D1`、`SERVICE`、`DO`、`ASSETS`、`QUEUE`、`EMAIL`、`LOADER`、`RATE_LIMIT`、`ENV`、`SECRET`、`SECRETS_STORE`、`VERSION`、`ANALYTICS`、`WORKFLOW` 列出可访问的绑定名;未列出的绑定不能调用。当前可读取请求、设置一次文字响应、发出文字 HTTP 请求,调用 KV、R2、D1 的基础操作,通过 Service binding、Assets binding 或 Durable Object 名称发出请求,并执行 Queue 生产者和消费者的基础操作以及 Send Email 构造对象的发送。调用 Promise 使用 JSPI,当前事件完成后不保留 Wasm 栈;跨事件任务须由豫言或平台持久步骤恢复状态。

`云工请求改址`、`云工资产请求句柄`、`云工服务请求句柄`、`云工设置响应句柄` 让业务路由在豫言中转送原生请求与响应。Assets 改址取静态文件,以及两个本地 workerd 之间的 Service binding POST 和二进制往返,均已通过 Wrangler 4.129.0 验证。URL 与 URLSearchParams 解析已有具名豫言接口并通过本地 workerd 验证;完整官网路由仍需路径解码、重定向和错误边界的接口与验收。

队列事件中,豫言先用 `云工事件种类` 识别 `queue`,再读取批次名、消息数、消息正文及元数据,并逐条 `ack`、`retry` 或在批次级操作。消息句柄只在该次调用内有效。Wrangler 4.129.0 本地 workerd 已验证“HTTP 投递→Queue 消费→KV 记状态→另一次 HTTP 读取”;逐条重试和延迟在 Node/V8 的真实豫言 Wasm 与模拟批次上验证,生产平台重试边界仍待验。

本库已有不透明对象句柄、二进制值交换、短字节流,以及 Durable Object 内部字符串存储、基础 SQLite SQL、异步 KV 事务与 alarm;非 JSON 结构化克隆值、队列全部选项和其他 Workers API 尚未覆盖。新增能力须以独立子模块、具名授权和真实 workerd 测试交付。

`scheduled` 事件可读取 cron 表达式和计划时刻,并调用 `noRetry`。计划时刻以纪元毫秒的十进制字符串返回,避免大整数在桥接时丢失精度。Wrangler 4.129.0 本地 workerd 已验证定时事件写入 KV,随后独立 HTTP 事件读回计划信息,且本地端点报告 `noRetry: true`。

`email` 事件可读取邮件信封、标头、原始 MIME 字节流及可转发状态,并调用拒收或按收件地址转发。Wrangler 4.129.0 本地邮件端点已验证:豫言读取元数据、主题和原文首块后拒收,端点返回拒收原因;转发仅以真实 Wasm 和模拟邮件对象验证。带自定义标头的转发已用真实 Wasm 与模拟邮件对象验证;回复已用豫言构造 MIME 并在本地 workerd 验证;完整 MIME 解析与生产邮件路由仍待验证。邮件与定时句柄只在当前事件中有效。

`网址。豫` 与浏览器库提供相近的 URL、URLSearchParams 豫言接口。Wrangler 4.129.0 本地 workerd、兼容日期 `2026-09-10` 已验证从真实 Request 解析 URL,修改活动查询参数并返回改写后的全文;该日期已启用 `url_standard`。本地 workerd 明确返回 `URL.createObjectURL() is not implemented`,故云工库不声明对象 URL 接口。详见 `网址接口.清单.tsv`。

通用 `豫言持久对象` 类由 `入口.mjs` 导出。Wrangler 需给它配置同名 Durable Object 绑定与 SQLite `exports` 声明,例如 `{"durable_objects":{"bindings":[{"name":"测试对象","class_name":"豫言持久对象"}]},"exports":{"豫言持久对象":{"type":"durable-object","storage":"sqlite"}}}`;业务仍以 `云工事件种类` 区分 `durable-fetch`、`durable-alarm`、`durable-transaction` 及套接字事件。`持久对象内部。豫` 提供字符串与 JSON 兼容值存储、单次参数化 SQL、预列同步事务、异步 KV 事务和 alarm 接口。Wrangler 4.129.0 本地 workerd 已验证对象请求、告警以及重启后 KV 和 SQLite 行仍可读取;SQL 游标在同一个宿主调用内同步消费。旧 KV 后端、非 JSON 结构化克隆值及真实休眠恢复尚待验收,详见 `持久对象接口.清单.tsv`。

每次对象 `fetch` 或 `alarm` 都新建豫言 Wasm 实例并运行入口;Wasm 栈与句柄不会跨事件保留。对象实例重建时,豫言须从 `ctx.storage` 的 KV 或 SQLite 读取任务状态。上述重启测试验证了这条恢复路径,但尚未覆盖并发交错、重试和生产环境故障恢复。

同步事务接口由豫言给出有序 SQL 与参数列表,宿主只在 `transactionSync` 回调中逐条执行并同步取尽结果;这是预先列好的事务,不支持在事务中等待豫言做条件分支。本地 workerd 已验证两步提交、第二步故障时整批回滚,并在进程重启后保留已提交的两行与 JSON 兼容对象。其他结构化克隆类型及事务选项还需逐项验收。

异步事务接口 `云工持久事务执行` 以事务名重入同一豫言程序。回调以 `云工事件种类 = durable-transaction` 和 `云工持久事务名` 分派逻辑,用现有 `云工持久读取文字`、`云工持久写入文字`、癸象读写及删除接口操作平台 `txn`,最后调用一次 `云工持久事务输出`;可用 `云工持久事务回滚` 放弃写入,异常也会自动回滚。事务回调不可再启动事务。Wrangler 4.129.0 本地 SQLite 对象已验证读取两键后条件更新、显式回滚与异常回滚;旧 KV 后端和并发交错待验。[Cloudflare 事务文档](https://developers.cloudflare.com/durable-objects/api/legacy-kv-storage-api/#transaction)说明旧 KV 后端必须用 `txn` 读写。

独占区与安全变体:`云工持久独占执行安全` 调用 `ctx.blockConcurrencyWhile`,在回调里以 `durable-block` 事件重入 Wasm(`云工持久独占名`、`云工持久独占参数`、`云工持久独占输出安全` 取参与设结果),区内失败作为(阴,原因)返回而不抛给平台回调(平台会因此重置整个对象)。`云工持久事务执行安全`、`云工持久写入值安全`、`云工持久列举值安全` 是对应原语的“失败归值”版本,供 OS 适配转成可捕获的豫言异常。Wrangler 4.129.0 本地 workerd 已验:独占区与事务回调运行期间他事排队,回调超过 30 秒平台重置对象,事务回调内的告警与直接存储写入随事务回滚;事件墙钟时限(默认 30 秒,`durable-block`、`durable-transaction` 默认 25 秒)可由构建产物的 `执行配置.json` 调整,详见 `豫言操作系统/宿主/云工/说明.汉语.md`。

`云工持久列举癸象` 接受平台 `list` 选项对象,返回按键排序的 `[[键, 值], …]` 癸象数组;`云工持久列举值文` 提供 JSON 文本形式。支持 `start`、`startAfter`、`end`、`prefix`、`reverse`、`limit`、`allowConcurrency`、`noCache`,并在事务回调中自动使用 `txn.list`。大对象宜传 `limit` 分页,避免一次载入全部键值。Wrangler 4.129.0 本地 SQLite 对象已验证范围、续页、逆序、限量、JSON 对象值,以及事务中看见新键而回滚后消失;旧 KV 后端和特殊结构化克隆值待验。[Cloudflare 列举文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#list)列明选项与排序语义。

多键接口 `云工持久批读癸象`、`云工持久批写癸象`、`云工持久批删癸象` 分别对应平台的数组 `get`、对象 `put`、数组 `delete`;另有同名「值文」形式。每次最多 128 键,批读以排序的 `[[键, 值], …]` 返回并略去缺失键,批删返回实际删除数量。事务回调中自动使用 `txn`。Wrangler 4.129.0 本地 SQLite 对象已验证多键读取排序、缺失键省略、JSON 对象值、删除计数和事务内读写回滚;选项的行为、旧 KV 后端及特殊克隆值待验。[Cloudflare 异步 KV 文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#asynchronous-kv-api)列出这三种重载。

`云工持久同步` 等待平台 `storage.sync()`;`云工持久清仓` 调用 `storage.deleteAll()`,接受平台选项对象。两者在普通 Durable Object 事件中使用。Wrangler 4.129.0、兼容日期 `2026-09-10` 的本地 SQLite 对象实测:`allowUnconfirmed` KV 写入后 `sync` 返回,重启仍读到 KV 键、SQL 表及 alarm;`deleteAll` 后三者均消失,第二次重启后仍为空。本地 workerd 对 `deleteAll({allowUnconfirmed:true})` 提示该选项不受支持并禁用,实际清仓仍成功。旧 KV 后端和云端刷盘故障语义待验。[Cloudflare 存储文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#deleteall)说明清仓范围与兼容日期差异。

SQLite 同步 `storage.kv` 已有 `云工同步键值读取癸象`、`云工同步键值写入癸象`、`云工同步键值删除` 和 `云工同步键值列举癸象`。同步读用存在标记区分缺键与 JSON `null`;列举在同一次宿主调用中消费迭代器。本地 workerd 验证异步写入被同步读到、同步写入被异步读到、逆序限量、删除返回值及进程重启后的数据。旧版 KV 后端没有同步接口;特殊结构化克隆值仍待验。[Cloudflare 同步 KV 文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#synchronous-kv-api)为接口依据。

`云工持久SQL游标新建` 返回当前事件内的游标句柄;`云工持久SQL游标下一行` 与 `云工持久SQL游标余行` 可读取具名对象或 `raw()` 数组,二者共享位置。`云工持久SQL游标单行安全文` 封装 `one()` 的单行结果与零行、多行错误;属性接口返回列名、`rowsRead`、`rowsWritten`,另可取数据库大小。Wrangler 4.129.0 本地 SQLite 对象已验证混合迭代、三种 `one()` 结果、读取计数变化及写入计数。`rowsRead` 可能包含查询扫描行,不等于返回行数;游标跨异步边界不保证稳定快照,需稳定快照时使用原有的一次性 `云工持久SQL执行`。[Cloudflare 游标文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#exec)为语义依据。

`云工持久读取值安全文` 用单个 JSON 文本返回 `{"存在":false}` 或 `{"存在":true,"值":…}`,事务回调中也使用平台 `txn.get`。最小事务测试已验证缺键与现有 JSON 对象值。额度应用曾出现的模式匹配失败来自业务侧 `字段` 函数的嵌套模式匹配,单文读取没有消除它;独立云仓任务已改为显式递归遍历并完成其验收。两端值桥会报告模式匹配失败,避免被“未授权宿主能力:豫言_打印通用值”掩盖。

命名服务入口 `豫言服务入口` 由构建器按可选第七参数导出别名(如 `CloudModel`),调用其 `fetch` 会产生 `service-fetch` 事件。Wrangler 4.129.0 本地 Service binding 已验证它与公网 `fetch` 事件分开,路由和模型请求仍由豫言决定。可选 Secret 用 `云工秘密文字安全文` 判断:已授权但缺失返回 `{"存在":false}`,空字符串返回 `{"存在":true,"文字":""}`;本地假绑定验证了三种状态,响应未含密钥。未授权名称依旧报错;生产 Secret 和轮换待验。[Cloudflare 命名入口文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/rpc/#named-entrypoints)为导出依据。
# WebSocket

`物字与文件。豫` 为 Blob/File 提供字节和组合构造、元数据、切片、原生 `arrayBuffer()`/`bytes()`、`text()` 与 `stream()`;`流。豫` 还可读文字流块。Wrangler 4.129.0 本地 workerd 已验 `00 FF 41` 无损往返、Blob+UTF-8 文本组合、负索引切片及 File 名称、MIME 和修改时。该版本有 `Blob.bytes()`,没有实验性 `Blob.textStream()`;后者的安全入口返回失败。FileReader、FileList 和大对象流边界待补,详 `物字文件接口.清单.tsv`。[W3C File API](https://w3c.github.io/FileAPI/)列出规范语义。

`流。豫` 现有通用 WritableStream writer:取得写器、查询锁和队列容量、等待 ready/closed、发起字节写入及关闭并领取 Promise 句柄,豫言可先读下游再等待操作结果。本地 workerd 以 gzip 流验证两块在途写入、关闭、读取和 `00 FF 41` 无损解压;有效写器的 `abort()` 与无效句柄的安全返回也已验。Wrangler 4.129.0 原生最小例显示,流关闭或中止后调用 `releaseLock()`,`writable.locked` 仍为真;流仍打开时释放则为假。宿主原样返回平台属性,待新版 workerd 复核。满载背压与可读侧错误传播待验,详 `可写流接口.清单.tsv`。[Cloudflare WritableStreamDefaultWriter 文档](https://developers.cloudflare.com/workers/runtime-apis/streams/writablestreamdefaultwriter/)列出平台接口。

`压缩流。豫` 提供 CompressionStream、DecompressionStream 的构造及读写端句柄,也提供短字节安全转换。Wrangler 4.129.0 本地 workerd 已验 gzip、deflate、deflate-raw 对 `00 FF 41` 的压缩解压往返;按需可读流还经过两层 `云工流接转换` 管道,两次重新进入豫言 Wasm 供块并读回六字节。坏 gzip 和无效格式返回失败与 UTF-8 错误字节。坏 gzip 同时使 workerd 打印 `Uncaught TypeError` 诊断,即使写入管道和读取结果的 Promise 均已显式等待;请求仍正常完成,后续需定位此运行时行为。一次转换会在宿主内缓冲全部输出,大流应使用读写端;满载背压和取消仍待验。Cloudflare 当前文档只列这三种格式,见 `压缩流接口.清单.tsv` 和 [Workers Web standards](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`事件源。豫` 提供 EventSource URL 连接、授权 Service binding fetcher、Cloudflare 扩展 `EventSource.from(ReadableStream)`、自定义事件订阅、等待、状态与关闭。本地 workerd 已分别从本地 SSE 服务及豫言按需生成的流收到 `notice`、数据“甲”和事件号 `7`;两个豫言 Worker 也经授权 SERVICE 绑定完成同一事件往返。重连、错误与跨请求寿命待验,见 `事件源接口.清单.tsv`。[Cloudflare EventSource 文档](https://developers.cloudflare.com/workers/runtime-apis/eventsource/)列出扩展接口。

`消息通道。豫` 将 Workers 的 MessageChannel 接入豫言:同一事件内可创建双端、发送 JSON 兼容值或原始字节、等待消息和关闭事件。本地 workerd 已验对象、`00 FF 41` 字节与 close 回调。Cloudflare 当前只允许单个 Worker 实例内使用,不支持 transfer list 或转移 MessagePort;这些是平台边界。复杂结构化值、消息错误与跨事件存续待验,见 `消息通道接口.清单.tsv`。[Cloudflare MessageChannel 文档](https://developers.cloudflare.com/workers/runtime-apis/messagechannel/)说明限制。

Console 子库 `控制台。豫` 提供五种日志级别的文字入口,以及接受 JSON 参数数组的标准方法入口。Wrangler 4.129.0 本地 workerd 已确认 debug、info、log、warn、error 都输出,且多参数 log 保留数值与对象。`count` 和 `assert` 可调用;Cloudflare 把一部分方法列为仅部分支持或无操作,`createTask` 在生产环境会抛错,所以可调用不等于跨环境有效。逐项状态见 `控制台接口.清单.tsv`。[Cloudflare Console 文档](https://developers.cloudflare.com/workers/runtime-apis/console/)列出平台行为。

TCP 子库 `传输控制。豫` 使用 Workers 的 `cloudflare:sockets`:豫言可选择 `off`、`on`、`starttls` 和 `allowHalfOpen`,等待 `opened`,读取原生字节流、写入字节、关闭或升级 TLS;异常通过安全入口返回。Wrangler 4.129.0 本地 workerd 连本地 TCP 回声服务,写入并读回 `00 FF 41` 后关闭,按字节验证通过;连接不可达端口时,`opened` 的错误也返回豫言。TLS、长连接和生产网络限制仍待验,逐项状态见 `传输控制接口.清单.tsv`。[Cloudflare TCP sockets 文档](https://developers.cloudflare.com/workers/runtime-apis/tcp-sockets/)列出接口与平台限制。

WebSocket 子库现在由豫言发起升级并返回原生 HTTP 101。宿主以 WebSocketPair 适配平台,message、close、error 事件分别重新运行同一豫言 Wasm;当前套接字、文字或字节消息由豫言接口读取。真实 Chrome 豫言客户端对本地 workerd 豫言服务端完成文字和 `00 FF 41` 二进制往返及正常关闭,详 `套接字接口.清单.tsv`。[Cloudflare WebSockets 文档](https://developers.cloudflare.com/workers/runtime-apis/websockets/)列出平台接口和关闭语义。故障边界仍待补齐。

普通 Worker 的子协议协商现由豫言读取 `Sec-WebSocket-Protocol` 请求标头并选择一个已提供的协议;宿主在 HTTP 101 中写入选中协议。真实 Chrome 提议 `yuyan.v1`、`backup.v1`,豫言选择前者,浏览器读回 `WebSocket.protocol=yuyan.v1` 并完成消息往返。无效 token 边界仍待验。[WebSocket 子协议标头](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-WebSocket-Protocol/)说明协商约束。

Durable Object 也已接入同样的选择路径:`云工持久套接字建对并应答协议` 让豫言在对象升级请求中选择已提供的协议。真实 Chrome 提议 `yuyan.do.v1`、`backup.v1`,读回前者;自动回复、附件和关闭流程继续通过。非法协议 token 与协商失败路径仍待验。

Workers 出站 `new WebSocket(url)` 已由豫言具名入口和事件重入桥接。真实 workerd 连接本地 Node `ws` 服务:open 后豫言发送“豫言”,收到“回:豫言”后再发送 `00 FF 41`,逐字节核对回显,close 记录 1000/“完成”。连接不可达端口时,豫言收到 error 和代码 1006、`正常:false` 的 close 事件。宿主将 `binaryType` 设为 `arraybuffer`,在连接关闭前以 `ctx.waitUntil` 保持请求上下文,并记录回调异常;此验证只覆盖短连接,长连接寿命和子协议仍待测。[Cloudflare 示例](https://developers.cloudflare.com/workers/examples/websockets/)列出两种出站连接方式。

第二条出站路径 `云工套接字请求出站(网址, 半开)` 通过 `fetch` 的 `Upgrade: websocket` 取得并接受原生套接字。本地 workerd 与 Node `ws` 服务验证了 open、文字、`00 FF 41` 字节和正常关闭。`半开=阳` 时,远端主动发关闭帧,豫言在 close 回调读到 `readyState=2`,再主动 `close()` 完成握手。长连接寿命、拒绝升级、子协议与代理竞态仍待验证。[Cloudflare WebSocket 示例](https://developers.cloudflare.com/workers/examples/websockets/)说明 `allowHalfOpen` 的用途。

Durable Object 的 WebSocket Hibernation API 已接入通用外壳:`webSocketMessage`、`webSocketClose`、`webSocketError` 转发给豫言 Wasm;对象内部可用 `云工持久套接字建对并应答`、`云工持久套接字诸柄文` 和附件读写接口。Wrangler 4.129.0 本地 workerd 与真实 Chrome 验证了两条消息之间附件从“始”变为“续”、按标签取连接,以及关闭回调写入持久存储的代码 1000、原因“完成”、正常标志。根据 [Cloudflare 文档](https://developers.cloudflare.com/durable-objects/best-practices/websockets/),本地开发会交付休眠式回调,但不会实际驱逐对象;云端休眠后重建与附件恢复仍未验证。

自动回复接口已在同一环境验证:豫言配置“探→应”,平台直接回“应”;下一条普通消息的豫言回调读到自动回复时间戳。豫言清除规则后再次收到“探”,由回调回复“续|探”。标签读取、事件时限设置与读回 1000 毫秒也已实测。Wrangler 4.129.0 返回的配对用 `request`/`response` 属性,而[当前 Cloudflare 状态文档](https://developers.cloudflare.com/durable-objects/api/state/)写 `getRequest()`/`getResponse()`;宿主适配这两种形式。此测试不能证明休眠期间确实不唤醒对象,也未验证事件超时的触发。

# HTML 改写

`云工HTML改写响应(原响应句柄, 选择器)` 返回流式改写 Response 句柄,可交给 `云工设置响应句柄`。每次元素命中触发 `html-element` 事件,重新运行同一豫言 Wasm;程序用 `云工HTML元素句柄` 取得当前元素,在回调有效期间读取与修改。回调可以等待异步宿主操作。测试中的两个 `<p>` 元素分别按 `data-n` 改写,已在 Wrangler 4.129.0 本地 workerd 得到对应结果。Cloudflare 的 [HTMLRewriter 文档](https://developers.cloudflare.com/workers/runtime-apis/html-rewriter/)允许异步元素处理器。

`云工HTML改写响应全` 接受事件数组,可登记 `element`、`text`、`comments`、`doctype`、`document-text`、`document-comments`、`end`。`云工HTML改写响应规则` 接受多条 `{selector,events}` 规则及文档事件数组。事件名分别加 `html-` 前缀,当前对象经 `云工HTML当前句柄` 访问。元素回调可调用 `云工HTML登记尾签`,在 `html-end-tag` 事件中处理尾标签。真实 workerd 验证了两条选择器和尾标签前后插入;分块输入的同一文本节点产生“甲”“乙”及空的终块回调,须依据 `lastInTextNode` 处理。改写响应是流,错误可能在 HTTP 响应已开始后传播。

元素具名操作现覆盖属性枚举、存在检查、增删属性、标签名和命名空间读取、标签改名、移除状态、前后与内部首尾插入、替换、移除以及去标签留内容。插入操作由豫言指定纯文本或原 HTML 模式;纯文本会按平台规则转义。六个元素的组合测试已在本地 workerd 验证,结果见 `HTML元素全法。测试。豫`。

`云工HTML内容句柄操作` 可把豫言构造的 Response 或 ReadableStream 交给改写器。真实 workerd 已验证 Response 替换和三块 ReadableStream 内文。HTML 元素回调中用 `云工创建可读流` 连续主动写两块会与解析器背压互等;`云工创建回调可读流` 在下游每次拉取时以 `stream-pull` 重新运行豫言 Wasm,由 `云工流回调供块(字节, 下一状态, 已终)` 返回内容,解决该时序。回调抛错时本地 workerd 已送出 HTTP 200 及部分 HTML 后截断,并记录运行异常;应用如需完整响应,须在发送前消费并检查转换结果。客户端断连与生产者失败路径仍待验,详 `流接口.清单.tsv`。

按需流的取消已用真实 workerd 验证:豫言读取首块后调用 `云工取消流读取器(读取器号, 原因)`,底层 `stream-cancel` 事件重新运行豫言 Wasm;回调读取下一状态“次”和原因“停”,写入 KV,原请求等待取消完成后读到相同标记。此测试覆盖显式 reader 取消;HTTP 客户端断连和取消回调自身失败仍待验证。

`云工读取流块安全` 返回 `(是否成功, JSON 块信息或错误文字)`。成功时可由 `云工解安全流块` 取得 `(是否有数据, 原始字节串)`,临时字节句柄随即释放;流结束返回无数据。真实 workerd 验证了“甲”的 UTF-8 字节无损往返、结束标记,以及豫言生产者回调故障转为显式错误后仍由原 HTTP 事件正常作答。其他错误类型与客户端断连仍待验证。

说明.文言.md

# 云工宿主库

`持久恢复。豫` 备 SQLite 持久对象当前书签、按时取签、定下次会话复签,及客显命之对象重启。Wrangler 4.129.0 本地 workerd 可还当前签;按时求签与定复皆报后端未行 PITR,安全门以阴与误文归客。本地与云上均未实际行恢复。生产复时及对象 SQL、KV 全仓,三十日之限详 [Cloudflare SQLite 仓文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/);逐项验据见 `持久恢复接口.清单.tsv`。

`持久命名空间。豫` 今备授权对象空间之命名标识、唯一标识、从文还原、比标识、按名或标识取桩,及辖区子空间。Wrangler 4.129.0 本地 workerd 已验标识往还、三途桩请皆达豫言对象、`locationHint` 参数受理;对象内 `ctx.id.name` 于命名标识有名,于唯一标识为 null。然本地明言不行辖区限制,辖区子空间与辖区唯一标识之安全门俱归阴及原误。真辖区与地理路由须云端验,详 `持久命名空间接口.清单.tsv` 与 [Cloudflare 对象空间文档](https://developers.cloudflare.com/durable-objects/api/namespace/)。

`网络。豫` 今可直取 Response 状态、标头柄与可空之正文流柄;回应无论出原生 fetch 或既有 `云工服务请求句柄`,客皆可继以 `流。豫` 逐块取原字、`编码。豫` 续解之。Wrangler 4.129.0 本地 workerd 已验原生回应之二零六状态、内容类、二零四空体及拆为二块之「豫」字;真远端长流尚待验。`广播。豫` 于同一持久对象实例立具名原字频道:客造订阅流、发原字、闭频道,SSE 等事文之法皆由豫言定之。两并行读者已受另一请中豫言所书进度,闭频道后俱终。频道仅存本实例;事件久藏与重放须由客行,详 `网络中断接口.清单.tsv`、`广播接口.清单.tsv`。

`时钟。豫` 今增性能时与原点之原生十进制文,并立一次、重复、撤时与候时事诸术。定时唯属一回云工调用:宿主至期投事,客自裁后事;调用毕,未竟之时悉撤。Wrangler 4.129.0 本地 workerd 已验原点为零、一次事、重复二事、撤时与候至期满。云上无 I/O 时钟不进,定时亦唯请求上下文可用;详 `时钟接口.清单.tsv` 与 [Cloudflare 性能定时文档](https://developers.cloudflare.com/workers/runtime-apis/performance/)。

`流式编码。豫` 备 TextEncoderStream、TextDecoderStream 之造、察性及读写端柄;`流。豫` 今有文字写器与安全读文门。本地 workerd 已验「甲」「乙」两段写成六字节 UTF-8,断开之汉字与 BOM 亦合之;坏 UTF-8 严解归 TypeError,宽解出替换字符。云端尚待验。详 `流式编码接口.清单.tsv`、[Encoding 标准](https://encoding.spec.whatwg.org/#interface-textdecoderstream)、[Cloudflare Web 标准接口](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`网络。豫` 之可断求先还在途待柄,客可断其 AbortSignal,继以 `云工请求候回应安全` 取 Response 柄或错文;`云工回应文字安全` 取正文,限二 MiB。本地 workerd 已验本机二百、在途 AbortError、预断自定理由及无效待柄;云端尚待。详 `网络中断接口.清单.tsv`、[Cloudflare Request 文档](https://developers.cloudflare.com/workers/runtime-apis/request/)。

`中断。豫` 使客造 AbortController、取信号、授文字或对象理由、察 `throwIfAborted()`,并用 `AbortSignal.abort()`、`any()`、`timeout()` 与异步候 `abort` 事。本地 workerd 诸术已验;4.129.0 之 `timeout(-1)` 造信号而后断,异于 Chrome 之 RangeError。详 `中断接口.清单.tsv`、[Cloudflare Web 标准接口](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`网址。豫` 备 URI 与成分之四编解码术,归成败爻及文;`句柄。豫` 之 `云工调用全局安全` 使同步错与 Promise 拒绝皆为错象文。本地 workerd 已验坏 `%`、非法 UTF-8 与无效网址,详 `网址编解码接口.清单.tsv`、[ECMAScript URI 诸法](https://tc39.es/ecma262/multipage/global-object.html#sec-decodeuricomponent-encodeduricomponent)。

`句柄。豫` 之 `云工调用方法安全` 与之同类,施于句柄之方法:同步错与 Promise 拒绝不越桥而抛,归成败爻及结果文或含 `名称`、`消息` 之错象文。D1、R2 诸绑定之误因,惟此可读;`云工调用方法` 遇宿主之误,则误径穿 Wasm,豫言「尝试运行」不能捕。豫言操作系统关系数据库适配以此化 D1 之误为可捕之豫言异。

`表单数据。豫` 使客添置删取 FormData 诸项并循原序枚举,文件原字留柄。本地 workerd 已验 `00 FF 41` 经 Request multipart 往返;云端部署尚待验。详 `表单数据接口.清单.tsv` 与 [Cloudflare Request 文档](https://developers.cloudflare.com/workers/runtime-apis/request/)。

`云工工作流步做可回滚` 于平台 `step.do` 登记回滚。平台召之,宿主别启豫言 Wasm,以 `workflow-rollback` 为事;客可取步骤名、输入、前果、上下文与事故,自行补偿。本地 workerd 已验 `terminate({rollback:true})` 后豫言写 KV 为证;宿主不裁业务。多步逆序与失败重试尚待验。参数与用法据 [Cloudflare Workflows 回滚接口](https://developers.cloudflare.com/workflows/build/workers-api/)。

`工作流。豫` 又有批造、批删及至绝对时刻而眠;`时钟。豫` 之 `云工当前Unix毫秒` 供豫言定其期限。Wrangler 4.129.0 本地 workerd 已验批造二实例、逐项批删及一秒绝对休眠。复批造未重行旧实例,然仍返旧号列,与 [Cloudflare Workflows Workers API](https://developers.cloudflare.com/workflows/build/workers-api/) 所言排除旧号不合;本库如实归平台之果,详 `工作流接口.清单.tsv`。云上无 I/O 时钟或不进,据 [Performance and timers](https://developers.cloudflare.com/workers/runtime-apis/performance/) 与 `时钟接口.清单.tsv`。

`工作流。豫` 以 `WORKFLOW` 许可造实例、查态、送事;构建外壳出 `豫言工作流`,其 run 与每一 `step.do` 回调皆复入豫言 Wasm。步骤名、次第、输入、配置及癸象输出皆由客裁;云工存成功步骤之果而候事。Wrangler 4.129.0 本地 workerd 已验造实例、步骤之果、候信、送信,并以 `--persist-to` 止而重启,原实例仍可续行。回滚、诸实例管理及非癸象步骤值尚阙;先前一次本地运行于事毕后仍报请求悬止,待究其因。接口据 [Cloudflare Workflows Workers API](https://developers.cloudflare.com/workflows/build/workers-api/),逐项见 `工作流接口.清单.tsv`。

实例之管又以 `工作流管理。测试。豫` 验于本地 workerd:候中暂停得 `paused`,复行得 `running`;毕后自豫言所定步骤重起,复得 `running`;别实例终止得 `terminated`,删后按号取之则报 `instance.not_found`。本地暂停之际有引擎中断及请事悬止之告警,尚未辨模拟器之诊断与适配之失;云上与竞态诸义不可据此妄定。

本地复验,以 `工作流。测试。豫` 构器,许可 `{"WORKFLOW":["TEST_WORKFLOW"]}`;Wrangler 之 `workflows` 项设 `{"name":"yy-host-workflow-resume-test","binding":"TEST_WORKFLOW","class_name":"豫言工作流"}`,相容日 `2026-09-10`。同一 `--persist-to` 目录先请 `/create-wait2`,查 `/status-wait2`;止而重启 `wrangler dev`,复查其态,再请 `/send2`,当得 `complete`,且 `output.payload.答` 为「豫言事件」。本地工作流乃云工所拟,不足证云上故障恢复全义。

`编码。豫` 以云工之 TextEncoder、TextDecoder 编解文字,可分块,亦可限容量而入字;`调度。豫` 以 scheduler.wait 候时,可执 AbortSignal 中断。候时之数以十进制文传,故可有小数。Wrangler 4.129.0 本地 workerd 以真豫言 Wasm 验成候与中断,得 `AbortError`;云上无 I/O 之冻结义未实测。据 [Encoding](https://developers.cloudflare.com/workers/runtime-apis/encoding/)与 [Scheduler](https://developers.cloudflare.com/workers/runtime-apis/scheduler/) 之书,逐术见 `编码调度接口.清单.tsv`。

`密仓。豫` 以别立之 `SECRETS_STORE` 许可,异步呼账号级密仓 `get()`。Wrangler 4.129.0 本地 Store 以无敏假值经真 workerd 验之;值唯客内核,回应未显。云上密值、轮换、缺值与事故义尚待验。账号密仓与逐 Worker 之 `SECRET` 绑定异,配置据 [Cloudflare Secrets Store Workers 集成](https://developers.cloudflare.com/secrets-store/integrations/workers/),逐术见 `密仓接口.清单.tsv`。

`环境与版本。豫` 以 `ENV`、`SECRET`、`VERSION` 各别许可,取文字、空文、癸象变量、密文及版本元数据;`分析。豫` 以 `ANALYTICS` 许可写分析点。Wrangler 4.129.0 本地 workerd 已验诸绑定之取与呼;密文唯用无敏假值,未出于回应。分析点本地呼成,不足证云上已久存;限额与一索引之据见 [Analytics Engine 文档](https://developers.cloudflare.com/analytics/analytics-engine/get-started/),版本三项据 [Version metadata 文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/version-metadata/)。逐项界见 `基础绑定接口.清单.tsv`。

`限流。豫` 以许可书之 `RATE_LIMIT` 名,行云工 `limit({key})`。Wrangler 4.129.0 本地 workerd 设十秒一许,同键复问见拒,异键仍许。云上计数逐地区且终得一致,不可作精确计费;配置与义据 [Cloudflare Rate Limiting 文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/rate-limit/),验之界详 `限流接口.清单.tsv`。

钥之生、出与派生今有门:AES-GCM 生成时可定可导,出原字节;PBKDF2、HKDF 可求字节,亦可求 AES-GCM 钥。Wrangler 4.129.0 本地 workerd 已验生钥、出入往返及派生钥与派生字节互解。测试轮数低,唯供验术;实务参数须依其安需定之。

`密码。豫` 今有随机识别、随机字节、摘要、AES-GCM 与 HMAC 之豫言门。钥留宿主,以柄相授;AES-GCM 同钥之随机数不可复用。Wrangler 4.129.0 本地 workerd 已验 SHA-256 算 `abc` 之长与首字节、含附加验文之密往返与 HMAC 真伪二验。Web Crypto 余术、云工扩展及诸算法尚待补,详 `密码接口.清单.tsv`;算法差异据 [Cloudflare Web Crypto 文档](https://developers.cloudflare.com/workers/runtime-apis/web-crypto/)。

动态载器今有 `云工动态加载`、`云工动态按号取`、`云工动态入口句柄`、`云工动态转发请求` 诸门。许可书以 `LOADER` 列绑定之名。构建器出 `动态资源.mjs`,藏固定宿主源码及值桥字节;豫言传客程序 Wasm、算时毫秒与子请求限额,客器之环境空,外发网络禁。同号 `get` 之程序、限额与宿主源码当恒同。Wrangler 4.129.0 本地 workerd 已验新载与同号复取,皆得 HTTP 200;云上缓存、限额触发与隔离之效尚待验。详 `动态工接口.清单.tsv`。

此库令豫言 WasmGC 应云工之请。《宿主.mjs》唯传入、还出及施所授诸能;路由、权限、事态皆由豫言断之。成器须含外层 JS、豫言 Wasm 与值桥 Wasm。

以 `创建云工宿主` 得请役、队列役、定时役与邮件役;构建物又出通用 `豫言持久对象` 与 `豫言工作流` 类;`许可` 分列 KV、R2、D1、SERVICE、DO、ASSETS、QUEUE、EMAIL、LOADER、RATE_LIMIT、ENV、SECRET、SECRETS_STORE、VERSION、ANALYTICS、WORKFLOW 可用之绑定名,未列者绝之。今可取请、置一次文字之答、求网,行三类存储之基术,循服务、资产绑定及持久对象之名传请,亦可投、收队列之信及发送邮件构造对象。Promise 由 JSPI 候之;事毕不留客栈,跨事之务须由豫言或云工已存步骤之果复其态。

`云工请求改址`、`云工资产请求句柄`、`云工服务请求句柄`、`云工设置响应句柄` 使豫言自断路由,传原生请答。改址取静态物,及双本地 workerd 间 Service binding 之 POST 与字节往返,皆以 Wrangler 4.129.0 验之。URL 与 URLSearchParams 已有豫言门并验于本地 workerd;官网路由之全,尚待径之解码、转址及异常诸义。

队列事中,豫言先以 `云工事件种类` 辨 queue,取批名、信数、正文与元数据,可逐信确认、重试,亦可整批处之。信柄唯本次调用有效。Wrangler 4.129.0 本地 workerd 已验「HTTP 投递→队列消费→KV 记态→另次 HTTP 读取」;逐信延后重试以 Node/V8 真豫言 Wasm 与模拟批次验之,云上重试之边尚待考。

今又具不透明句柄、字节传值与短流逐块取写。持久对象之文字存储、SQLite 基术、异步 KV 事务与 alarm 今有验;非癸象克隆诸值、队列诸选项及云工诸 API 尚未悉备。后增诸能,当分门明授,并验于真 workerd。

定时事可取 cron 之式、所期之时,亦可命不重试。所期之时以纪元毫秒十进文还,庶免大数失真。Wrangler 4.129.0 本地 workerd 已验定时写 KV,别次 HTTP 读其时,且本地端点报 `noRetry: true`。

入站邮件事可取往来地址、标头、MIME 原文字节流及可转发之态,并可拒收或转发。Wrangler 4.129.0 本地邮件端点已验豫言读元数据、主题与原文首块而拒收,端点还其拒由;转发唯以真 Wasm 与模拟信件验之。附自定标头之转发以真 Wasm 与模拟信件验之;回复之 MIME 及线程标头已由豫言作成,并验于本地 workerd;MIME 之全析与云上邮件路由尚待验。定时、邮件诸柄唯本次有效。

《网址。豫》与浏览器库有相近 URL、URLSearchParams 之门。Wrangler 4.129.0 本地 workerd、相容日期 `2026-09-10` 已验从真 Request 析址,改活动查询参数而还全文;此日已启 `url_standard`。本地 workerd 明报 `URL.createObjectURL() is not implemented`,故云工库不立物址之门。详见 `网址接口.清单.tsv`。

通用 `豫言持久对象` 类由 `入口.mjs` 出。Wrangler 须配同名对象绑定及 SQLite `exports`,如 `{"durable_objects":{"bindings":[{"name":"测试对象","class_name":"豫言持久对象"}]},"exports":{"豫言持久对象":{"type":"durable-object","storage":"sqlite"}}}`。业务以 `云工事件种类` 辨 `durable-fetch`、`durable-alarm`、`durable-transaction` 及长联诸事。《持久对象内部。豫》有文字与可化癸象值之存储、一次参数化 SQL、预列同步事务、异步 KV 事务及 alarm 之门。Wrangler 4.129.0 本地 workerd 已验对象事、告警与重启后 KV、SQLite 仍可读;SQL 游标于同一宿主调用取尽。旧 KV 仓、非癸象克隆诸值及真休眠恢复尚阙,详见 `持久对象接口.清单.tsv`。

异步事务以 `云工持久事务执行` 重入豫言;回调之事类为 `durable-transaction`,以 `云工持久事务名` 分务,常用读写删门皆入平台 `txn`,终以 `云工持久事务输出` 还果。若命 `云工持久事务回滚`,前写皆废;抛错亦然。本地 SQLite 对象已验两键据旧值同改、明回滚与事故回滚;旧 KV 仓与并发交错待验。详 [Cloudflare 事务文档](https://developers.cloudflare.com/durable-objects/api/legacy-kv-storage-api/#transaction)。

独占区与安全之变:`云工持久独占执行安全` 呼 `ctx.blockConcurrencyWhile`,于回调中以 `durable-block` 之事重入 Wasm(以 `云工持久独占名`、`云工持久独占参数`、`云工持久独占输出安全` 取参与定果),区内之败以(阴,因)而返,不抛于平台之回调(平台必因此重置整个对象)。`云工持久事务执行安全`、`云工持久写入值安全`、`云工持久列举值安全` 乃对应原语之“败归于值”者,供 OS 适配转为可捕之豫言异。Wrangler 4.129.0 本地 workerd 已验:独占区与事务回调行时他事排队,回调逾三十秒平台重置对象,事务回调内之告警与径写之存储随事务回滚;事之墙钟时限(默三十秒,`durable-block`、`durable-transaction` 默二十五秒)可由构建产物之 `执行配置.json` 调之,详见 `豫言操作系统/宿主/云工/说明.文言.md`。

`云工持久列举癸象` 受平台 `list` 诸选项,还按键序之双元列;`云工持久列举值文` 还其 JSON 文。可限首尾、前缀、逆序与数量,事务中自循 `txn.list`。大仓宜限数续取,毋一举载尽。Wrangler 4.129.0 本地 SQLite 对象已验范围、续页、逆序、限量、癸象对象值,亦验事务内新键可见而回滚后不存;旧 KV 仓及异类克隆值待验。详 [Cloudflare 列举文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#list)。

多键门 `云工持久批读癸象`、`云工持久批写癸象`、`云工持久批删癸象`,各循平台列键读、对象写、列键删;又有「值文」之门。每次至多百二十八键;批读按键序还双元列而略阙键,批删还实删之数。事务内诸门自循 `txn`。Wrangler 4.129.0 本地 SQLite 对象已验排序、阙键、癸象对象值、删数及回滚;诸选项、旧 KV 仓与异类克隆值待验。详 [Cloudflare 异步 KV 文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#asynchronous-kv-api)。

`云工持久同步` 候平台 `storage.sync()`;`云工持久清仓` 行 `storage.deleteAll()`,受平台选项。二门用于常态持久对象之事。Wrangler 4.129.0、相容日 `2026-09-10`,本地 SQLite 对象验:不候确认之 KV 写入,经同步而重启,键、SQL 表、告警皆在;清仓后三者俱去,复启亦空。本地 workerd 于清仓传 `allowUnconfirmed:true` 时告其不支持而禁之,清仓仍成。旧 KV 仓及云上盘错之义待验。详 [Cloudflare 存储文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#deleteall)。

SQLite 同步 `storage.kv` 今有豫言读、写、删、列诸门。同步读以有无标志别阙键与癸象空;列举于一宿主调用取尽。Wrangler 4.129.0 本地验异步写而同步读、同步写而异步读、逆序限数、删果及重启存续。旧 KV 仓无此门,异类克隆值待验。详 [Cloudflare 同步 KV 文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#synchronous-kv-api)。

`云工持久SQL游标新建` 还本事游标柄;`下一行`、`余行` 可取具名物或 `raw()` 值列,二者共一序。`单行安全文` 还 `one()` 之成败;属性门还列名、读写行数,亦可察库大小。Wrangler 4.129.0 本地 SQLite 已验混合遍历、单行及零行多行之败、读数递增与一行写数。`rowsRead` 可含扫描诸行,非仅返行数;游标越异步候不保快照,欲稳则用一次性 `云工持久SQL执行`。详 [Cloudflare 游标文档](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/#exec)。

`云工持久读取值安全文` 以一 JSON 文还缺键或有值之果,事务内亦循 `txn.get`。最小事务已验阙键与癸象物;额度稿旧有模式不配,根在业务 `字段` 之嵌套鉴别,单文门未解其故。别云仓任务今以显式递归遍历治之并验;两宿主值桥能报模式不配,免「未授权打印」掩本因。

命名服务入口 `豫言服务入口` 可由构建器第七参别名出之,如 `CloudModel`;其请为 `service-fetch` 事,公域之请仍为 `fetch`,分路之断由豫言。Wrangler 4.129.0 本地服务绑定已验二路。可选密文门 `云工秘密文字安全文` 于已许可而阙值时还 `{"存在":false}`,空文则还真有;本地假绑定已验三态,回应不载密。未许可之名仍报错,生产密与轮换待验。详 [Cloudflare 命名入口文档](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/rpc/#named-entrypoints)。

对象每应 fetch 或 alarm,皆新造豫言 Wasm 实例而行入口;客栈与柄不越事而存。对象重建,豫言须自 `ctx.storage` 之 KV 或 SQLite 取旧态。上述重启之验已证此恢复之路;并发交错、重试与云上故障恢复尚未验。

同步事务由豫言先列 SQL 与诸参数,宿主唯于 `transactionSync` 回呼中逐术施之,并当轮取尽其果;此为预列之事,不许事务中候豫言再决支路。本地 workerd 已验两术同成、次术败则全退,且重启后已成两行与可化癸象对象俱存。余克隆值与事务诸选项仍待逐验。
# WebSocket

`物字与文件。豫` 备 Blob/File 原字与合件之造、察元、截取、原生 `arrayBuffer()`/`bytes()`、`text()`、`stream()`;`流。豫` 又可逐块读文字。Wrangler 4.129.0 本地 workerd 已验 `00 FF 41` 无损、Blob 合 UTF-8 文、负索引截取及 File 名、类、修改时。此版本有 `Blob.bytes()` 而无实验性 `Blob.textStream()`,后者安全门归阴。FileReader、FileList 与大物流界尚待补,详 `物字文件接口.清单.tsv` 及 [W3C File API](https://w3c.github.io/FileAPI/)。

`流。豫` 今有通用可写流写器:取柄、察锁与容量、候 ready/closed、先发写与闭之待柄,客可先读下游再候诸果。本地 workerd 以 gzip 验两块在途写、闭、读及 `00 FF 41` 解还;有效写器之中断与无效柄之安全归误亦验。Wrangler 4.129.0 原生最小例见:流已闭或已中断,虽释写锁,`writable.locked` 犹真;流尚开而释则假。宿主如实归平台之值,待新版再核。满载背压与读端错事尚待验,详 `可写流接口.清单.tsv` 与 [Cloudflare WritableStreamDefaultWriter 文档](https://developers.cloudflare.com/workers/runtime-apis/streams/writablestreamdefaultwriter/)。

`压缩流。豫` 有 CompressionStream、DecompressionStream 造流、读写端柄及短字安全转换。本地 workerd 三式 gzip、deflate、deflate-raw 以原字 `00 FF 41` 往还;按需源复两次入豫言,供块经压解双管而六字复得。坏 gzip 与无效格式归阴及 UTF-8 误字。坏 gzip 同使 workerd 记 `Uncaught TypeError`,虽写、读二 Promise 皆显候,请事犹成,此运行时之迹待究。一次转换于宿主聚全出字,大流宜执端柄;满载背压与取消尚待验。Cloudflare 文档今唯列三式,详 `压缩流接口.清单.tsv` 与 [Workers Web standards](https://developers.cloudflare.com/workers/runtime-apis/web-standards/)。

`事件源。豫` 可依址联、依所授服务取流,或以 Cloudflare `EventSource.from(ReadableStream)` 接既有流;客可订名、候事、察态而闭联。本地 workerd 从 SSE 服务与豫言按需流皆得 `notice`、文「甲」及号 `7`;双豫言云工亦经所授 SERVICE 绑定得同信。重联、错事及跨请之寿尚待验,详 `事件源接口.清单.tsv` 与 [Cloudflare EventSource 文档](https://developers.cloudflare.com/workers/runtime-apis/eventsource/)。

`消息通道。豫` 使豫言于同次云工事造二端、传象值与原字、候信及闭事。本地 workerd 已验物值、`00 FF 41` 与断端之告。Cloudflare 今惟许同一 Worker 实例内用,不许转移列或转移消息端;此乃平台之界。复杂克隆、错事与跨事存续尚待验,详 `消息通道接口.清单.tsv` 及 [Cloudflare MessageChannel 文档](https://developers.cloudflare.com/workers/runtime-apis/messagechannel/)。

Console 子书 `控制台。豫` 有五等文字志门,亦有以癸象列文传诸参数之通门。Wrangler 4.129.0 本地 workerd 五等皆见,多参 `log` 仍存数与物。`count`、`assert` 可调,然平台诸法有仅部行及无为者,`createTask` 于云上则抛错,不可因可调而谓皆有效。详 `控制台接口.清单.tsv` 及 [Cloudflare Console 文档](https://developers.cloudflare.com/workers/runtime-apis/console/)。

TCP 子书 `传输控制。豫` 依 Workers `cloudflare:sockets`。豫言可择 `off`、`on`、`starttls` 与半开之义,候开,逐字读写,闭联或升密;事故由安全门归文。Wrangler 4.129.0 本地 workerd 连本地回声,原字 `00 FF 41` 往还而闭,逐字皆合;联无可达之埠,开联之误亦归客。升密、久联及云上限尚待验,详 `传输控制接口.清单.tsv`。[Cloudflare TCP sockets 文档](https://developers.cloudflare.com/workers/runtime-apis/tcp-sockets/)载其接口与平台约束。

长联子库今由豫言升请而还原生 HTTP 101。宿主以 WebSocketPair 施平台术,收文、断联、事故各复入同一豫言 Wasm;当时之柄、文字与字节皆由客门取之。真 Chrome 豫言客端与本地 workerd 豫言服务端验文字及 `00 FF 41` 往返并正常断联,详 `套接字接口.清单.tsv`。平台诸术与断联义据 [Cloudflare WebSockets 文档](https://developers.cloudflare.com/workers/runtime-apis/websockets/);故障边界尚待补。

常工之子协议今由豫言读取 `Sec-WebSocket-Protocol` 请标,择请中一名,宿主于 HTTP 101 回写。真 Chrome 提 `yuyan.v1`、`backup.v1`,豫言择前者,浏览器读 `WebSocket.protocol=yuyan.v1` 而信往返。非法 token 之界未验;协商之据见 [WebSocket 子协议标头](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-WebSocket-Protocol/)。

持久对象亦有同一择协议之径:`云工持久套接字建对并应答协议` 使豫言于对象升请中择所提之名。真 Chrome 提 `yuyan.do.v1`、`backup.v1`,读回前者;静答、附件、断联仍得验。非法 token 与拒协之界尚待验。

云工外发 `new WebSocket(url)` 今有豫言门与诸事复入。真 workerd 连本地 Node `ws` 服务:开则客送「豫言」,得「回:豫言」复送 `00 FF 41`,逐字验返,断联记 1000 与「完成」。连不可达端口,则豫言得错事与 1006、非正常之断联事。宿主置 `binaryType=arraybuffer`,以 `ctx.waitUntil` 候至断联,并记回调事故;今唯短联得验,长联寿命与子协议尚待验。[Cloudflare 示例](https://developers.cloudflare.com/workers/examples/websockets/)列二外发径。

第二外发径 `云工套接字请求出站` 以 `fetch` 携 `Upgrade: websocket` 求原生长联而接之。真本地 workerd 与 Node `ws` 验开、文、`00 FF 41` 字及常断。半开为阳,远端先断,豫言于断事读 `readyState=2`,再自断以终握手。长联寿命、拒升、子协议与代理竞态尚待验;半开之据见 [Cloudflare WebSocket 示例](https://developers.cloudflare.com/workers/examples/websockets/)。

持久对象之长联休眠接口今入通用外壳:`webSocketMessage`、`webSocketClose`、`webSocketError` 皆转豫言 Wasm;对象内可接联、按标签取联、读写附件。Wrangler 4.129.0 本地 workerd 与真 Chrome 验两信之间附件「始」转「续」、标签寻联,断联回调入持久仓,代码 1000、原因「完成」、正常为阳。依 [Cloudflare 文档](https://developers.cloudflare.com/durable-objects/best-practices/websockets/),本地可交休眠式回调而不真逐对象;云上休眠后重建与附件恢复尚未验。

静请静答又验:客设「探→应」,平台代答;后常信之豫言回调得最近代答时刻。客清规则后复送「探」,豫言回「续|探」。标签读回、事限设而读得一千毫秒亦验。Wrangler 4.129.0 配对以 `request`、`response` 为属性,[今 Cloudflare 状态文档](https://developers.cloudflare.com/durable-objects/api/state/) 列 `getRequest()`、`getResponse()`;宿主兼容二形。此不证休眠时不唤醒,事限触发亦未验。

# HTML 改写

`云工HTML改写响应` 受原答柄与选择器,还流式新答柄,可交 `云工设置响应句柄`。每中一元,复启同一豫言 Wasm,以 `html-element` 事相告;客取元素柄,当回调未竟之时,察而改之。回调可候异步术。Wrangler 4.129.0 真本地 workerd 验二元各依 `data-n` 得别字及新内文。异步处理之据见 [HTMLRewriter 文档](https://developers.cloudflare.com/workers/runtime-apis/html-rewriter/)。

`云工HTML改写响应全` 受诸事件之列,可登元、文、注、篇首、篇文、篇注、篇终;`云工HTML改写响应规则` 受诸选择器及篇事之列。事名冠 `html-`,以 `云工HTML当前句柄` 取当时之物。元事可行 `云工HTML登记尾签`,及尾以 `html-end-tag` 复入客器。真 workerd 验二选择器与尾签前后所插之文;分块一文节得「甲」「乙」及空之终块,须据 `lastInTextNode` 理之。余元法可循通用柄而须逐验。答为流,事故或于答已始后传之。

元具名诸术今及属性之枚举、察有、增删、签名与命名空间、改名、已移之态、前后与内首尾插、替换、移元、去签留文。插文之为正文抑原 HTML,由客定;正文依平台转义。六元合验于真 workerd,见 `HTML元素全法。测试。豫`。

`云工HTML内容句柄操作` 可以客造 Response 或 ReadableStream 入改写器。真 workerd 验答物替换与三块流物内文。元回调之中若主动写流两块,解析器与写者互候而悬;`云工创建回调可读流` 使下游索块时以 `stream-pull` 复入豫言 Wasm,客以 `云工流回调供块` 还字、后态与终否,故三块皆出。客于回调发事故,则本地已送 HTTP 200 与一段 HTML,后文截断并记事故;欲得全答,须先消费验之而后送。客断连及供者之误尚待验,详 `流接口.清单.tsv`。

按需流之取消又验于真 workerd:客取首块,行 `云工取消流读取器`,底层以 `stream-cancel` 复入豫言 Wasm;客读后态「次」与原因「停」,写 KV,原请候毕复读得同标。此唯显式 reader 取消之验;HTTP 客断连及取消回调自误尚待验。

`云工读取流块安全` 归成否与癸象块文或误文;成则以 `云工解安全流块` 取有字否与原字节,随释暂柄,终则归无字。真 workerd 验「甲」之 UTF-8 字无损、终记,且供者回调发事故时,原 HTTP 客可得显式误而正常作答。余误类与客断连尚待验。