From c1c26237078dbc4b014c29e7f73684e0a99d1ccb Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Sat, 18 Apr 2026 12:36:08 +0200 Subject: [PATCH] Add type declaration files for learning extension Co-Authored-By: Claude Sonnet 4.6 --- .../extensions/sf/learning/hook-handler.d.mts | 7 ++++++ .../sf/learning/loadCapabilityOverrides.d.mts | 23 +++++++++++++++++++ .../sf/learning/outcome-recorder.d.mts | 4 ++++ 3 files changed, 34 insertions(+) create mode 100644 src/resources/extensions/sf/learning/hook-handler.d.mts create mode 100644 src/resources/extensions/sf/learning/loadCapabilityOverrides.d.mts create mode 100644 src/resources/extensions/sf/learning/outcome-recorder.d.mts diff --git a/src/resources/extensions/sf/learning/hook-handler.d.mts b/src/resources/extensions/sf/learning/hook-handler.d.mts new file mode 100644 index 000000000..747885bc6 --- /dev/null +++ b/src/resources/extensions/sf/learning/hook-handler.d.mts @@ -0,0 +1,7 @@ +export declare function createBeforeModelSelectHandler( + deps: Record, +): (input: unknown) => unknown; +export declare function registerBeforeModelSelect( + pi: unknown, + deps: Record, +): void; diff --git a/src/resources/extensions/sf/learning/loadCapabilityOverrides.d.mts b/src/resources/extensions/sf/learning/loadCapabilityOverrides.d.mts new file mode 100644 index 000000000..6e31e579b --- /dev/null +++ b/src/resources/extensions/sf/learning/loadCapabilityOverrides.d.mts @@ -0,0 +1,23 @@ +export declare const DEFAULT_SPEED_TABLE: ReadonlyArray; +export declare function normalizeContextWindow(contextWindow: number | undefined): number; +export declare function computeLongContextDimension(benchmarks: Record): number; +export declare function computeDimensionScores( + benchmarks: Record, + modelId?: string, + speedTable?: ReadonlyArray, +): Record; +export declare function computeUnitTypeScore( + modelId: string, + unitType: string, + overrides: Record, + weights: Record, +): number; +export declare function loadCapabilityOverrides(options?: { + benchmarksPath?: string; + weightsPath?: string; + speedTable?: ReadonlyArray; +}): Promise<{ + overrides: Record>; + weights: Record; + benchmarks: Record; +}>; diff --git a/src/resources/extensions/sf/learning/outcome-recorder.d.mts b/src/resources/extensions/sf/learning/outcome-recorder.d.mts new file mode 100644 index 000000000..56d64d620 --- /dev/null +++ b/src/resources/extensions/sf/learning/outcome-recorder.d.mts @@ -0,0 +1,4 @@ +export declare function validateOutcome(outcome: unknown): { valid: boolean; errors?: string[] }; +export declare function recordOutcome(db: unknown, outcome: Record): boolean; +export declare function recordOutcomeBatch(db: unknown, outcomes: Array>): number; +export declare function ensureSchema(db: unknown, schemaSql?: string): void;