AFS provider 是一个 AFSModule:在路径背后提供资源与操作。它决定有哪些操作、路径如何解析、以及如何到达后端系统。
在路由中的角色
| 步骤 | 谁负责 |
|---|---|
| 实例命名空间中的路径字符串 | 调用方 |
| Mount 路径 → provider 实例 | 运行时 / 配置 |
| 操作实现与强制执行 | Provider |
| 后端存储或网络传输 | Provider |
没有把路径前缀映射到 provider 的 mount,路径就不是产品功能——只是未解析的地址。见 Overview 上的路由图。
Provider 必须写清什么
Provider 文档(或验收记录)应说明:
| 主题 | 为何重要 |
|---|---|
| 拥有的路径形状 | 调用方如何构造稳定路径 |
| 声明的操作与 features | 合同内 vs 可选 |
| Access mode / 认证 / network-read 策略 | 谁可读可写 |
| Search 与 query 行为 | 合同不同;见 Search and query |
| 失败码与副作用 | 调用方可按何分支 |
| 支持归属 | 谁维护 |
源码清单 ≠ 产品目录
当前 ARC 仓库把 provider package 分在 core、basic、AI、messaging、platform、runtime、cost、IoT、test 等区域。那是实现证据。目录里有 package 本身不会变成稳定公开集成。
因此本 board:
- 在 Author a provider 解释模块合同
- 在 Provider catalog 定义准入分层
- 不把每个 package 写成同等支持的产品
你本地可能已经看到的运行时模块
在本地 daemon 上,arc afs ls / 与 mount list 显示的是本实例的 mount——不是完整源码清单。某台 beta.28 主机上观察到的例子(不是支持矩阵):fs:// 工程与 memory 树、web-device://、vault://、agent code mount 等。在带证据的 catalog 条目出现之前,把它们当环境特例。