chore: remove dead code (59 unused files + ~125 unused exports) (#1835)
* chore: remove dead/unreferenced files across ui, vscode Remove 59 unused source files (components, hooks, lib utils, stores, barrels, and orphaned vscode github modules) that are not imported by any entry-reachable code. Also drop a stale test mock for the removed execCommands module. Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com> * refactor: remove unused exported symbols (types, functions, consts, hooks) Remove exported symbols whose identifier is referenced nowhere in the repository (verified via repo-wide search), across ui types/contracts, lib utilities, sync layer, stores, and components. Also drop the few imports/private helpers orphaned by these removals. Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com> * refactor: remove more unused exports (desktop, shortcuts, worktree, vscode) Continue removing repo-wide unreferenced exported functions, consts and types across lib/desktop, shortcuts, worktreeSessionCreator, sync, and vscode gitService, with cascading orphaned helpers/imports cleaned up. Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com> * chore: add dead-code cleanup tooling * refactor: checkpoint dead-code cleanup * refactor: remove dead-code suppressions --------- Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com> Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
Serhii Dziupin
Bohdan Triapitsyn
parent
4a37b9a005
commit
00821700de
@@ -1,101 +0,0 @@
|
||||
import type { EditPermissionMode } from '@/stores/types/sessionTypes';
|
||||
|
||||
export type BashPermissionValue = 'allow' | 'ask' | 'deny';
|
||||
export type BashPermissionSetting = BashPermissionValue | Record<string, BashPermissionValue | undefined>;
|
||||
export type SimplePermissionValue = 'allow' | 'ask' | 'deny' | undefined;
|
||||
|
||||
const isRecord = (value: unknown): value is Record<string, unknown> => {
|
||||
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
||||
};
|
||||
|
||||
const isBashPermissionMap = (value: unknown): value is Record<string, BashPermissionValue | undefined> => {
|
||||
return isRecord(value);
|
||||
};
|
||||
|
||||
const hasBashAskEntry = (permission?: BashPermissionSetting): boolean => {
|
||||
if (!permission) {
|
||||
return false;
|
||||
}
|
||||
if (typeof permission === 'string') {
|
||||
return permission === 'ask';
|
||||
}
|
||||
if (isBashPermissionMap(permission)) {
|
||||
return Object.values(permission).some((value) => value === 'ask');
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
const hasBashDenyEntry = (permission?: BashPermissionSetting): boolean => {
|
||||
if (!permission) {
|
||||
return false;
|
||||
}
|
||||
if (typeof permission === 'string') {
|
||||
return permission === 'deny';
|
||||
}
|
||||
if (isBashPermissionMap(permission)) {
|
||||
return Object.values(permission).some((value) => value === 'deny');
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
export interface EditPermissionInputs {
|
||||
agentDefaultEditMode: EditPermissionMode;
|
||||
webfetchPermission?: SimplePermissionValue;
|
||||
bashPermission?: BashPermissionSetting;
|
||||
}
|
||||
|
||||
export interface EditPermissionUIState {
|
||||
cascadeDefaultMode: EditPermissionMode;
|
||||
modeAvailability: Record<EditPermissionMode, boolean>;
|
||||
autoApproveAvailable: boolean;
|
||||
bashHasAsk: boolean;
|
||||
bashHasDeny: boolean;
|
||||
bashAllAllow: boolean;
|
||||
webfetchIsAllow: boolean;
|
||||
webfetchNotDeny: boolean;
|
||||
}
|
||||
|
||||
export const calculateEditPermissionUIState = ({
|
||||
agentDefaultEditMode,
|
||||
webfetchPermission,
|
||||
bashPermission,
|
||||
}: EditPermissionInputs): EditPermissionUIState => {
|
||||
const bashHasAsk = hasBashAskEntry(bashPermission);
|
||||
const bashHasDeny = hasBashDenyEntry(bashPermission);
|
||||
const bashAllAllow = !bashHasAsk && !bashHasDeny;
|
||||
|
||||
const webfetchIsAllow = webfetchPermission === 'allow';
|
||||
const webfetchNotDeny = webfetchPermission !== 'deny';
|
||||
|
||||
const editIsAllow = agentDefaultEditMode === 'allow' || agentDefaultEditMode === 'full';
|
||||
const editIsAsk = agentDefaultEditMode === 'ask';
|
||||
|
||||
let cascadeDefaultMode: EditPermissionMode = agentDefaultEditMode;
|
||||
if (editIsAllow && webfetchIsAllow && bashAllAllow) {
|
||||
cascadeDefaultMode = 'full';
|
||||
} else if (editIsAllow && bashHasAsk) {
|
||||
cascadeDefaultMode = 'allow';
|
||||
} else if (editIsAsk) {
|
||||
cascadeDefaultMode = 'ask';
|
||||
}
|
||||
|
||||
const modeAvailability: Record<EditPermissionMode, boolean> = {
|
||||
ask: editIsAsk,
|
||||
allow: editIsAsk || (editIsAllow && bashHasAsk),
|
||||
full: agentDefaultEditMode !== 'deny' && webfetchNotDeny && bashHasAsk,
|
||||
deny: false,
|
||||
};
|
||||
|
||||
const autoApproveAvailable = modeAvailability.allow || modeAvailability.full;
|
||||
|
||||
return {
|
||||
cascadeDefaultMode,
|
||||
modeAvailability,
|
||||
autoApproveAvailable,
|
||||
bashHasAsk,
|
||||
bashHasDeny,
|
||||
bashAllAllow,
|
||||
webfetchIsAllow,
|
||||
webfetchNotDeny,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user