豫言操作系统公共接口总纲
此树在仓根,惟载接口之约,不载宿主之术。每能自成一包,以 。包。豫 定名、版、所依;以 。接口。豫 定宿主所具之术,以 。应用接口。豫 定客所具之术,二缀兼载型与函数。所依之包,悉为必需。宿主虽能行其术,资源仍须另授。
此树之根有 豫言操作系统接口。包。豫,为诸接口包之父包,其说即此总纲。父以「包含包」登诸接口包,其序从汉语总纲“首批能力组”之表;子以「包含在」还指其父(其制见[包制](../应用/豫构/包系统.文言.md)“层级之包”之节)。父包无模,以便循层寻接口。客径依所需之接口包:依父包者,诸接口皆为必需之能。增接口包者,表与父之「包含包」同处并登,新包书「包含在」。接口包述入接口清单之摘要,改之则重生诸适配之 宿主提供.json 与节点宿主之 启动接口.json。
接口之文惟有导入、以 立 定型、以 乃 定函数签名及双语注,不得置 者 函数之体、C调用 与各地私物。者 仍为包之元数据所用。今普通编译器求签名后即有定义,模块亦寻 名称。豫,故纯声明今不得当普通程序编之;接口检查器与构时绑定器已成,装载器亦可核客需与宿供之簿,惟编器未直析纯声明。
今定基础、文件、网络、显示四包,以供客取宿主之能;又定网页界面之首批元素与事件四术、网页文树之节点构合与同源取文、网页消息之当前页带值通事、剪贴板之写文、网址之成分编码、网页转发之授权转请;另定启动与网页服务二包,以定宿主召客之入口。网页服务包之读请诸术属宿主,处理请之入口属客,不得但以「乃」断其向。无界面程序于浏览器或节点,须依基础与启动;像素画面交互程序更须依显示,惟有显示面之宿主可行;入站网页服务于云工或节点,须依基础与网页服务。文件与出站网络依客实需而增,不因平台有其物便暗授之。图像可由 CPU 以豫言常库绘之;显示与 GPU 计算各为一能,驱动归宿主下层。图形处理器之细约未定,不得谓已备。诸包今为源级草案,非诸宿主皆合约之证。凡函数之义、误、挂起与资源寿命,各见其包汉语与文言之规范。文件之法与共验之目,见接口规则及一致性样例;详见汉语总纲。
今又立关系查询与网页答复二能:前者于获授关系库取预备句之首行,后者于当前入站请答 JSON。二者以 JSON 文越今 _start 之界;俟网页服务之类型化入口可载,乃去此过渡。应用所依之能仍各为必需,不因同为云工平台而暗授。
网页入站 今读 _start 当前请之法、原径与头;网址 之二版兼严解码;关系查询之二版增文字参数缚定。诸术分包,所依者悉须显列。
服务状态 则向获授内服行 GET,惟返状态,不使响应正文出宿主。网页答复二版又可作无体之答;运维鉴权客可据此止泄上游之文。
网页入站 二版又辨事类、严解路径;网页转发 二版以受限安头覆原答而不读正文流。环境文字 则按资源许可读配置之文,毋暗授密钥。
网页入站三版又取查询参,能守余参而构同源新址;网页答复三版增文字与同源改址之答。包地址客可据此以豫言辨径、问库、定新址,宿主不藏其业务。
网页入站五版又读当前请 JSON 正文;时间 同刻取 UTC 日与 Unix 分,持久事务 于获授仓原子读写键值。试写额度客依此以豫言裁日、分及总额,宿主惟给时、仓与入站之请。今 _start 犹以 JSON 文载值并以事务事类重入;类型化入口既通,当易此过渡之术。
秘密文字 循资源许可读 Secret,辨缺与空;网页上游 先核获授 HTTPS 来源,禁自动改向,许客先验状态而后择 JSON 读或原流入站答。试写模型客以豫言定上游请与模型规,宿主惟守密、授权、时限与流。今 _start 以本次事内不透明文号指上游答;类型化入口既通,当易名义资源型。
网址定位 循 URL 之规析绝对、相对址;命名持久服务 先核 DO 绑定许可,乃向其内命名对象发有限文字请;授权服务 依 SERVICE 许可择白头、守原流而请内部服务。云台业务之径与结果投影仍归豫言。
密码摘要 以 UTF-8 原字节求 SHA-256 小写十六进制文。密码原语归适配;凭据格式、时限与户籍之验归豫言应用。
关系数据库 于获授关系库行带型参之句,可读首行与诸行,返所变行数与末插行号,并以一原子批纳至多百句;SQL 有误则抛豫言之异,异辞存库所报原文。此包与只取首行之关系查询并立,窄能仍可单用。
口令派生 以 PBKDF2-HMAC-SHA-256 由口令与盐求三十二字节,书为小写十六进制,迭代之数由客定、宿主限其上;随机数 取宿主密码学安全之源,书十六进制之文或第四版通用标识。二者使账户、令牌诸端不必于豫言自造密码原语。
时间 二版又增 Unix 毫秒之取与 ISO 8601 UTC 文之书,使时戳、到期与每日之算不必自造日历。
对象存储 于获授之 R2 桶,可读元、严解 UTF-8 以读文(至多二 MiB)、读字节(至多十六 MiB)、附条件与 SHA-256 之验以写、删、列,且以对象正文之流径为当前入站之终答,体不入客之内存;违规与平台之故抛豫言之异,条件不合与对象之无以返值示之。压缩 依宿主原生之解压流,限出量而解 raw deflate,又解 ZIP 条目而核其 CRC-32 与实数,皆不于豫言逐字节为之。密码摘要 二版增字节之摘要与尽力恒时之比文。
授权服务 〇点三增带正文之请与渐读,网页上游 〇点二增渐读与动态公网 HTTPS,命名持久服务 〇点二增流请、渐读、终答与转入站请:皆以答柄逐块读文,宿主流式解 UTF-8,期限贯全程,可止,有限整读逾限则告败而不崩。
又定网页事件之统一候点、界面订阅之委托与同步键律、每类之背压与弃数;网页界面增读回、焦点、光标、滚动、模态;网页文树增一次建树、柄之释放、框址、模板;网页消息入统一事列。
又定网页事件……”之后)
“又定网页定时之一次与周期之期、网页储存之会话与本地之键值、网页导航之往、替、载与同源之历史、网页环境之时区之偏与所见之饼、网页请求之同源不候之请求(果入统一事列,撤则保不复收)、网页事件源之 SSE 客端(自重连,成批入列,宿主依列之余量而缓读,故不失事)、网页编译之本机编译、网页应用之启同源之他应用;网页事件增选择器与排除选择器之滤及目标属性、矩形之载;网页界面增属性之读回与去除、程序之点、位与矩形;网页文树增选择器之查询、节点之读回、子树之导出、替换与受限之超文本。
编译运行 使客于宿主之隔绝编室,编多文之豫言项目为 WasmGC 程序;拉取之式,逐取阶段与编器之出,复取产物字节或 Base64,可径授隔离运行。运行号惟启之之事有效;请求之验、限额与应答之形皆客以豫言决之,宿主惟司“行编器”一事。
平台资料 使客读平台按名所供之只读资料集:列其键(可带前缀)、读其文;宿主一取、解、筛、缓,客不必自解整包 JSON(云工作台之环境命令用之)。
持久事务二版增事务内删、列、回滚及久仓直读写;持久告警管一对象唯一之告警;持久独占开并发独占之区,区内可候外物而他事排队;三者皆以事重入,败则抛可捕之异。
消息队列 于获授之队列投单条与批量之 JSON 书,并于队列之事读批、逐条确认或延而重试;定时事件 于定时之事读 cron 与计划之刻;邮件发送 经获授之绑定寄单收件人之纯文邮件,校其注与长,成败以返值告而因不含址;文字规整 供与 ECMAScript 之 trim、toLowerCase、length 逐字相同之去首尾空白、完整 Unicode 转小写与 UTF-16 之长;日志 分错误、警告、信息三级各书一条,逾八 KiB 则截。五者使自 JS 迁来之队列、定时、邮件、字符串与日志之事,不必自造平台之接。
网页事件流 使客即提事件流响应头而续行,逐块书 UTF-8 之文,受背压、察客断,可正终亦可异终;持久频道 于同一持久对象实例之内供跨事之具名文字频道,订后必达、订内保序、候可限时、可闭而数其订。二者相合,一事持长联书事件,他事发讯唤之;频道之状随实例而存,不代持久之储。
隔离运行 使客置已编之文件式豫言程序于无网、无绑定、限算时之隔离室,运行一次,取其标准出与 /数据/、/响应/ 下之出文;每运皆新实例新内存文件系,不留其状,久存之数由客置入而取出。
网页入站 至 0.7:读请之法、径、头(验名之合法)、查询、有限字节、严文与 JSON 之体、事类(含 queue、scheduled);网页答复 至 0.5:带头之 JSON(以宿主验之,坏文可捕、数不失真)、文、字节、空体、诸 Set-Cookie 与改址;网页转发 至 0.4:改址、服务与 Assets 之原流、筛头转发、静资之答,点段之径一律拒之;环境文字 至 0.2:依许读环境之文,兼断所授之绑定存否;网址定位 至 0.2:依 URL 之准析址之部,限六万五千五百三十六字节而败可捕;网址查询 新立:表单之编、析(至多一千二十四项)与改网址之一查询参。