Files
MailUI4Agents/plugins/dsh-mail-bridge/lib/permission-mode.d.ts
JianFeeeee a44fd6949b feat: 权限档位体系(三档 plan/workspace/full + 四桥 from_session_id)
L2 核心改动:sessions 表补 permission_mode / permission_enforcement 两列
(sqlite + pg 同步),三桥 lib/permission-mode.js 翻译档位到平台原生配置,
homeagent advisory 模式提示词告知模型实际强制力。四桥全部携带 from_session_id
供 relay 去重与会话回溯。

FromHuman / ToHuman 判据已加入心跳 payload 与 notify/mail.go。
2026-09-06 15:16:49 +08:00

34 lines
1.1 KiB
TypeScript

export const MODE_PLAN: 'plan';
export const MODE_WORKSPACE: 'workspace';
export const MODE_FULL: 'full';
export const MODES: string[];
export const DEFAULT_MODE: string;
export const ENFORCE_NATIVE: 'native';
export const ENFORCE_ADVISORY: 'advisory';
export function normalizeMode(mode: unknown): string;
export function normalizeEnforcement(e: unknown): string;
export function modeAtMost(a: string, b: string): string;
export function modeNeedsHuman(mode: string): boolean;
export interface OpencodePermissionRule {
permission: string;
action: string;
pattern: string;
}
export function opencodePermissions(mode: string): OpencodePermissionRule[];
export function dshSandboxMode(mode: string): 'read-only' | 'workspace-write' | 'danger-full-access';
export function dshApprovalPolicy(mode: string): 'ask' | 'never';
export function piGuardedTools(mode: string): string[];
export function piBlocksOutright(mode: string): boolean;
export interface ModeBriefingCtx {
mode: string;
enforcement: string;
workspace?: string;
}
export function modeBriefing(ctx: ModeBriefingCtx): string;