Spaces:
Build error
Build error
| import { createSlice } from "@reduxjs/toolkit"; | |
| export enum ActionSecurityRisk { | |
| UNKNOWN = -1, | |
| LOW = 0, | |
| MEDIUM = 1, | |
| HIGH = 2, | |
| } | |
| export type SecurityAnalyzerLog = { | |
| id: number; | |
| content: string; | |
| security_risk: ActionSecurityRisk; | |
| confirmation_state?: "awaiting_confirmation" | "confirmed" | "rejected"; | |
| confirmed_changed: boolean; | |
| }; | |
| const initialLogs: SecurityAnalyzerLog[] = []; | |
| export const securityAnalyzerSlice = createSlice({ | |
| name: "securityAnalyzer", | |
| initialState: { | |
| logs: initialLogs, | |
| }, | |
| reducers: { | |
| appendSecurityAnalyzerInput: (state, action) => { | |
| const log = { | |
| id: action.payload.id, | |
| content: | |
| action.payload.args.command || | |
| action.payload.args.code || | |
| action.payload.args.content || | |
| action.payload.message, | |
| security_risk: action.payload.args.security_risk as ActionSecurityRisk, | |
| confirmation_state: action.payload.args.confirmation_state, | |
| confirmed_changed: false, | |
| }; | |
| const existingLog = state.logs.find( | |
| (stateLog) => | |
| stateLog.id === log.id || | |
| (stateLog.confirmation_state === "awaiting_confirmation" && | |
| stateLog.content === log.content), | |
| ); | |
| if (existingLog) { | |
| if (existingLog.confirmation_state !== log.confirmation_state) { | |
| existingLog.confirmation_state = log.confirmation_state; | |
| existingLog.confirmed_changed = true; | |
| } | |
| } else { | |
| state.logs.push(log); | |
| } | |
| }, | |
| }, | |
| }); | |
| export const { appendSecurityAnalyzerInput } = securityAnalyzerSlice.actions; | |
| export default securityAnalyzerSlice.reducer; | |