DSH / SOURCE MAP

从目录归属追到服务装配

同一项文件系统能力,切换关系视角
目录:文件系统家族中的代表包fs、tool-fs 和 fs-local 是 packages/fs 下的三个代表包;目录关系没有表达运行时调用。 packages/fs/能力家族 fs/服务定义 tool-fs/模型可见工具 fs-local/本地实现
目录:文件系统家族中的代表包fs、tool-fs 和 fs-local 是 packages/fs 下的三个代表包;目录关系没有表达运行时调用。 packages/fs/能力家族 fs/服务定义 tool-fs/模型可见工具 fs-local/本地实现

连线 = 目录中的上下级归属

同一个 fs 家族同时容纳接口、工具与提供者。目录归属帮助定位代码范围,没有说明包之间的调用或装配。

依据:packages/fs/README.md。这里只取三个代表包。

包依赖:两个包共享文件系统接口tool-fs 和 fs-local 各有一条指向 dsh-fs 的 peer 依赖;图中的计数仅针对这两条边。 PEER PEER dsh-tool-fs消费接口0 in dsh-fs-local实现接口0 in dsh-fs共享契约2 in
包依赖:两个包共享文件系统接口tool-fs 和 fs-local 各有一条指向 dsh-fs 的 peer 依赖;图中的计数仅针对这两条边。 PEER PEER dsh-tool-fs消费接口0 in dsh-fs-local实现接口0 in dsh-fs共享契约2 in

箭头 = 消费包 → peer 包;in = 本图入边数

两种角色都依赖 dsh-fs 接口。工具包没有通过生产依赖固定到 fs-local;fs-local 在工具的开发依赖中出现。

依据:两个包的 package.json。普通依赖、开发依赖及其他 peer 边已省略。

服务装配:工具消费 base 中的文件系统提供者tool-fs 调用 ctx.fs,base 中的 fs-sandbox 注册该服务;它的文本读取沿用 LocalFileSystem 的实现。 调用接口 注册为 ctx.fs tool-fs模型可见消费方 fs-sandboxbase 选择的提供者 ctx.fs运行时服务键
服务装配:工具消费 base 中的文件系统提供者tool-fs 调用 ctx.fs,base 中的 fs-sandbox 注册该服务;它的文本读取沿用 LocalFileSystem 的实现。 调用接口 注册为 ctx.fs tool-fs模型可见消费方 ctx.fs运行时服务键 fs-sandboxbase 选择的提供者

实线 = 调用接口;虚线 = 提供者注册到服务键

共享 base 配置选择 fs-sandbox。它继承 LocalFileSystem,文本读取沿用父类实现;后续 patch 可以改变装配。

依据:tool-fs/src/read.ts、fs-sandbox/src/index.ts 与 base/cordis.patch.yml。

固定基线 d7432673 · 静态源码示意。图中省略的关系不代表不存在;实际调用次序和启动配置仍需查源码。系统字体回退;无脚本时也可切换。