/** * Pure types of the permission domain: the ONE home of the `permissions` * projection-key declaration plus its payload types, free of this package's * host-side value imports (cordis, schemastery). Two namespace projections * serve it — the package root re-export for host consumers, `./client` (the * browser half-entry's re-export) for client aggregates — with zero content * duplication. * * @module @deepseek-ai/dsh-permission-presets/types */ /** The select-option shape a presentation layer advertises for one preset (or for the derived `custom` state). */ export interface PresetOption { /** Stable option value: the table key, or `custom`. */ value: string; /** The display label. */ name: string; /** One user-facing sentence on what the value means; omitted when not configured. */ description?: string; } /** * Whole `permissions` projection value: every switchable preset in table * order (plus the derived current-only `custom` when the knobs match no * entry) and the effective current value. */ export interface PermissionSelect { /** Switchable presets, plus `custom` appended exactly while it is current. */ options: PresetOption[]; /** The effective current value: a preset table key, or `custom`. */ currentValue: string; } declare module '@deepseek-ai/dsh-session-projection/types' { interface SessionProjectionMap { /** * The session's permission select, folded from the three whole-value * knob events (`permission/preset`, `sandbox/mode`, `approval/policy`) * over the composition defaults. Key absence means no permission service * is composed — clients hide the control. */ permissions: PermissionSelect; } } //# sourceMappingURL=types.d.ts.map