Merge branch 'V2' into feature/v2/autosplit

This commit is contained in:
ConnorYoh 2025-09-15 17:09:14 +01:00 committed by GitHub
commit 9ade633103
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -6,12 +6,12 @@ import { ToolOperationHook } from './useToolOperation';
import { BaseParametersHook } from './useBaseParameters'; import { BaseParametersHook } from './useBaseParameters';
import { StirlingFile } from '../../../types/fileContext'; import { StirlingFile } from '../../../types/fileContext';
interface BaseToolReturn<TParams> { interface BaseToolReturn<TParams, TParamsHook extends BaseParametersHook<TParams>> {
// File management // File management
selectedFiles: StirlingFile[]; selectedFiles: StirlingFile[];
// Tool-specific hooks // Tool-specific hooks
params: BaseParametersHook<TParams>; params: TParamsHook;
operation: ToolOperationHook<TParams>; operation: ToolOperationHook<TParams>;
// Endpoint validation // Endpoint validation
@ -33,13 +33,13 @@ interface BaseToolReturn<TParams> {
/** /**
* Base tool hook for tool components. Manages standard behaviour for tools. * Base tool hook for tool components. Manages standard behaviour for tools.
*/ */
export function useBaseTool<TParams>( export function useBaseTool<TParams, TParamsHook extends BaseParametersHook<TParams>>(
toolName: string, toolName: string,
useParams: () => BaseParametersHook<TParams>, useParams: () => TParamsHook,
useOperation: () => ToolOperationHook<TParams>, useOperation: () => ToolOperationHook<TParams>,
props: BaseToolProps, props: BaseToolProps,
options?: { minFiles?: number } options?: { minFiles?: number }
): BaseToolReturn<TParams> { ): BaseToolReturn<TParams, TParamsHook> {
const minFiles = options?.minFiles ?? 1; const minFiles = options?.minFiles ?? 1;
const { onPreviewFile, onComplete, onError } = props; const { onPreviewFile, onComplete, onError } = props;