diff --git a/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.test.ts b/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.test.ts index fa617b0541..22f54d622c 100644 --- a/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.test.ts +++ b/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.test.ts @@ -4,20 +4,6 @@ import { assert } from 'tsafe'; import { describe, test } from 'vitest'; import type { - _CannyProcessorConfig, - _ColorMapProcessorConfig, - _ContentShuffleProcessorConfig, - _DepthAnythingProcessorConfig, - _DWOpenposeProcessorConfig, - _HedProcessorConfig, - _LineartAnimeProcessorConfig, - _LineartProcessorConfig, - _MediapipeFaceProcessorConfig, - _MidasDepthProcessorConfig, - _MlsdProcessorConfig, - _NormalbaeProcessorConfig, - _PidiProcessorConfig, - _ZoeDepthProcessorConfig, CannyProcessorConfig, CLIPVisionModelV2, ColorMapProcessorConfig, @@ -75,3 +61,33 @@ describe('Control Adapter Types', () => { assert>(); }); }); + +// Types derived from OpenAPI +type _CannyProcessorConfig = Required< + Pick, 'id' | 'type' | 'low_threshold' | 'high_threshold'> +>; +type _ColorMapProcessorConfig = Required< + Pick, 'id' | 'type' | 'color_map_tile_size'> +>; +type _ContentShuffleProcessorConfig = Required< + Pick, 'id' | 'type' | 'w' | 'h' | 'f'> +>; +type _DepthAnythingProcessorConfig = Required< + Pick, 'id' | 'type' | 'model_size'> +>; +type _HedProcessorConfig = Required, 'id' | 'type' | 'scribble'>>; +type _LineartAnimeProcessorConfig = Required, 'id' | 'type'>>; +type _LineartProcessorConfig = Required, 'id' | 'type' | 'coarse'>>; +type _MediapipeFaceProcessorConfig = Required< + Pick, 'id' | 'type' | 'max_faces' | 'min_confidence'> +>; +type _MidasDepthProcessorConfig = Required< + Pick, 'id' | 'type' | 'a_mult' | 'bg_th'> +>; +type _MlsdProcessorConfig = Required, 'id' | 'type' | 'thr_v' | 'thr_d'>>; +type _NormalbaeProcessorConfig = Required, 'id' | 'type'>>; +type _DWOpenposeProcessorConfig = Required< + Pick, 'id' | 'type' | 'draw_body' | 'draw_face' | 'draw_hands'> +>; +type _PidiProcessorConfig = Required, 'id' | 'type' | 'safe' | 'scribble'>>; +type _ZoeDepthProcessorConfig = Required, 'id' | 'type'>>; diff --git a/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.ts b/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.ts index 7c9ead1899..708e089008 100644 --- a/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.ts +++ b/invokeai/frontend/web/src/features/controlLayers/util/controlAdapters.ts @@ -1,14 +1,7 @@ import { deepClone } from 'common/util/deepClone'; import { zModelIdentifierField } from 'features/nodes/types/common'; import { merge, omit } from 'lodash-es'; -import type { - BaseModelType, - ControlNetModelConfig, - Graph, - ImageDTO, - Invocation, - T2IAdapterModelConfig, -} from 'services/api/types'; +import type { BaseModelType, ControlNetModelConfig, Graph, ImageDTO, T2IAdapterModelConfig } from 'services/api/types'; import { z } from 'zod'; const zId = z.string().min(1); @@ -19,9 +12,6 @@ const zCannyProcessorConfig = z.object({ low_threshold: z.number().int().gte(0).lte(255), high_threshold: z.number().int().gte(0).lte(255), }); -export type _CannyProcessorConfig = Required< - Pick, 'id' | 'type' | 'low_threshold' | 'high_threshold'> ->; export type CannyProcessorConfig = z.infer; const zColorMapProcessorConfig = z.object({ @@ -29,9 +19,6 @@ const zColorMapProcessorConfig = z.object({ type: z.literal('color_map_image_processor'), color_map_tile_size: z.number().int().gte(1), }); -export type _ColorMapProcessorConfig = Required< - Pick, 'id' | 'type' | 'color_map_tile_size'> ->; export type ColorMapProcessorConfig = z.infer; const zContentShuffleProcessorConfig = z.object({ @@ -41,9 +28,6 @@ const zContentShuffleProcessorConfig = z.object({ h: z.number().int().gte(0), f: z.number().int().gte(0), }); -export type _ContentShuffleProcessorConfig = Required< - Pick, 'id' | 'type' | 'w' | 'h' | 'f'> ->; export type ContentShuffleProcessorConfig = z.infer; const zDepthAnythingModelSize = z.enum(['large', 'base', 'small']); @@ -55,9 +39,6 @@ const zDepthAnythingProcessorConfig = z.object({ type: z.literal('depth_anything_image_processor'), model_size: zDepthAnythingModelSize, }); -export type _DepthAnythingProcessorConfig = Required< - Pick, 'id' | 'type' | 'model_size'> ->; export type DepthAnythingProcessorConfig = z.infer; const zHedProcessorConfig = z.object({ @@ -65,14 +46,12 @@ const zHedProcessorConfig = z.object({ type: z.literal('hed_image_processor'), scribble: z.boolean(), }); -export type _HedProcessorConfig = Required, 'id' | 'type' | 'scribble'>>; export type HedProcessorConfig = z.infer; const zLineartAnimeProcessorConfig = z.object({ id: zId, type: z.literal('lineart_anime_image_processor'), }); -export type _LineartAnimeProcessorConfig = Required, 'id' | 'type'>>; export type LineartAnimeProcessorConfig = z.infer; const zLineartProcessorConfig = z.object({ @@ -80,7 +59,6 @@ const zLineartProcessorConfig = z.object({ type: z.literal('lineart_image_processor'), coarse: z.boolean(), }); -export type _LineartProcessorConfig = Required, 'id' | 'type' | 'coarse'>>; export type LineartProcessorConfig = z.infer; const zMediapipeFaceProcessorConfig = z.object({ @@ -89,9 +67,6 @@ const zMediapipeFaceProcessorConfig = z.object({ max_faces: z.number().int().gte(1), min_confidence: z.number().gte(0).lte(1), }); -export type _MediapipeFaceProcessorConfig = Required< - Pick, 'id' | 'type' | 'max_faces' | 'min_confidence'> ->; export type MediapipeFaceProcessorConfig = z.infer; const zMidasDepthProcessorConfig = z.object({ @@ -100,9 +75,6 @@ const zMidasDepthProcessorConfig = z.object({ a_mult: z.number().gte(0), bg_th: z.number().gte(0), }); -export type _MidasDepthProcessorConfig = Required< - Pick, 'id' | 'type' | 'a_mult' | 'bg_th'> ->; export type MidasDepthProcessorConfig = z.infer; const zMlsdProcessorConfig = z.object({ @@ -111,16 +83,12 @@ const zMlsdProcessorConfig = z.object({ thr_v: z.number().gte(0), thr_d: z.number().gte(0), }); -export type _MlsdProcessorConfig = Required< - Pick, 'id' | 'type' | 'thr_v' | 'thr_d'> ->; export type MlsdProcessorConfig = z.infer; const zNormalbaeProcessorConfig = z.object({ id: zId, type: z.literal('normalbae_image_processor'), }); -export type _NormalbaeProcessorConfig = Required, 'id' | 'type'>>; export type NormalbaeProcessorConfig = z.infer; const zDWOpenposeProcessorConfig = z.object({ @@ -130,9 +98,6 @@ const zDWOpenposeProcessorConfig = z.object({ draw_face: z.boolean(), draw_hands: z.boolean(), }); -export type _DWOpenposeProcessorConfig = Required< - Pick, 'id' | 'type' | 'draw_body' | 'draw_face' | 'draw_hands'> ->; export type DWOpenposeProcessorConfig = z.infer; const zPidiProcessorConfig = z.object({ @@ -141,16 +106,12 @@ const zPidiProcessorConfig = z.object({ safe: z.boolean(), scribble: z.boolean(), }); -export type _PidiProcessorConfig = Required< - Pick, 'id' | 'type' | 'safe' | 'scribble'> ->; export type PidiProcessorConfig = z.infer; const zZoeDepthProcessorConfig = z.object({ id: zId, type: z.literal('zoe_depth_image_processor'), }); -export type _ZoeDepthProcessorConfig = Required, 'id' | 'type'>>; export type ZoeDepthProcessorConfig = z.infer; const zProcessorConfig = z.discriminatedUnion('type', [