工具执行流水线与权限门禁
审计依据 ·
流水线顺序与决策类型来自教程;钩子 API 以当前 dsh-tools 类型为准。 查看本节审计记录
说出一次工具调用的完整环节,并用 pre-execute / guard 做权限门禁。
完成 3.5 与 4.3。
- 顺序:
tools/pre-execute→ 单调守卫 →tools/execute→tools/post-execute→ finalizeContent →tools/result。 - pre-execute 返回 allow / deny / ask;参数不可改写,因为历史、审计、UI 与执行必须一致。
- guard 只能返回拒绝字符串或 undefined,没有 allow 分支;所以顺序无法把拒绝变回允许。
- execute 管超时/重试/指标;post-execute 管结果呈现;result 只观测冻结后的最终结果。
- 选型记忆:能不能做 → pre;必须拒绝 → guard;怎么做 → execute;怎么呈现 → post。
写 permission-gate:命中 fs_write 或参数包含 .env 时 deny,否则 next()。验证被拒绝的调用返回可读错误,而工具主体没有执行。