diff --git a/web/app/components/workflow/store/workflow/skill-editor/index.ts b/web/app/components/workflow/store/workflow/skill-editor/index.ts index d62de8a62d..10e77aacd1 100644 --- a/web/app/components/workflow/store/workflow/skill-editor/index.ts +++ b/web/app/components/workflow/store/workflow/skill-editor/index.ts @@ -20,33 +20,24 @@ export type SkillEditorSliceShape resetSkillEditor: () => void } -export const createSkillEditorSlice: StateCreator = (set, get, store) => { - // Type assertion via unknown to allow composition with other slices in a larger store - // This is safe because all slice creators only use set/get for their own properties - const tabArgs = [set, get, store] as unknown as Parameters> - const fileTreeArgs = [set, get, store] as unknown as Parameters> - const dirtyArgs = [set, get, store] as unknown as Parameters> - const metadataArgs = [set, get, store] as unknown as Parameters> - const menuArgs = [set, get, store] as unknown as Parameters> +export const createSkillEditorSlice: StateCreator = (...args) => ({ + ...createTabSlice(...args), + ...createFileTreeSlice(...args), + ...createDirtySlice(...args), + ...createMetadataSlice(...args), + ...createFileOperationsMenuSlice(...args), - return { - ...createTabSlice(...tabArgs), - ...createFileTreeSlice(...fileTreeArgs), - ...createDirtySlice(...dirtyArgs), - ...createMetadataSlice(...metadataArgs), - ...createFileOperationsMenuSlice(...menuArgs), - - resetSkillEditor: () => { - set({ - openTabIds: [], - activeTabId: null, - previewTabId: null, - expandedFolderIds: new Set(), - dirtyContents: new Map(), - fileMetadata: new Map>(), - dirtyMetadataIds: new Set(), - contextMenu: null, - }) - }, - } -} + resetSkillEditor: () => { + const [set] = args + set({ + openTabIds: [], + activeTabId: null, + previewTabId: null, + expandedFolderIds: new Set(), + dirtyContents: new Map(), + fileMetadata: new Map>(), + dirtyMetadataIds: new Set(), + contextMenu: null, + }) + }, +})