@proofhound/optimization-strategy 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/LICENSE +190 -0
  2. package/dist/error-pattern-analysis/analysis-types.d.ts +45 -0
  3. package/dist/error-pattern-analysis/analysis-types.d.ts.map +1 -0
  4. package/dist/error-pattern-analysis/analysis-types.js +3 -0
  5. package/dist/error-pattern-analysis/analysis-types.js.map +1 -0
  6. package/dist/error-pattern-analysis/analyze.d.ts +81 -0
  7. package/dist/error-pattern-analysis/analyze.d.ts.map +1 -0
  8. package/dist/error-pattern-analysis/analyze.js +423 -0
  9. package/dist/error-pattern-analysis/analyze.js.map +1 -0
  10. package/dist/error-pattern-analysis/config.schema.d.ts +16 -0
  11. package/dist/error-pattern-analysis/config.schema.d.ts.map +1 -0
  12. package/dist/error-pattern-analysis/config.schema.js +26 -0
  13. package/dist/error-pattern-analysis/config.schema.js.map +1 -0
  14. package/dist/error-pattern-analysis/confusion-pairs.d.ts +37 -0
  15. package/dist/error-pattern-analysis/confusion-pairs.d.ts.map +1 -0
  16. package/dist/error-pattern-analysis/confusion-pairs.js +109 -0
  17. package/dist/error-pattern-analysis/confusion-pairs.js.map +1 -0
  18. package/dist/error-pattern-analysis/generate-initial.d.ts +36 -0
  19. package/dist/error-pattern-analysis/generate-initial.d.ts.map +1 -0
  20. package/dist/error-pattern-analysis/generate-initial.js +261 -0
  21. package/dist/error-pattern-analysis/generate-initial.js.map +1 -0
  22. package/dist/error-pattern-analysis/generate.d.ts +57 -0
  23. package/dist/error-pattern-analysis/generate.d.ts.map +1 -0
  24. package/dist/error-pattern-analysis/generate.js +369 -0
  25. package/dist/error-pattern-analysis/generate.js.map +1 -0
  26. package/dist/error-pattern-analysis/index.d.ts +8 -0
  27. package/dist/error-pattern-analysis/index.d.ts.map +1 -0
  28. package/dist/error-pattern-analysis/index.js +29 -0
  29. package/dist/error-pattern-analysis/index.js.map +1 -0
  30. package/dist/error-pattern-analysis/parse.d.ts +92 -0
  31. package/dist/error-pattern-analysis/parse.d.ts.map +1 -0
  32. package/dist/error-pattern-analysis/parse.js +456 -0
  33. package/dist/error-pattern-analysis/parse.js.map +1 -0
  34. package/dist/error-pattern-analysis/prompts/analyze-confusion.system.en-US.md +50 -0
  35. package/dist/error-pattern-analysis/prompts/analyze-confusion.system.md +61 -0
  36. package/dist/error-pattern-analysis/prompts/analyze-regression.system.en-US.md +50 -0
  37. package/dist/error-pattern-analysis/prompts/analyze-regression.system.md +61 -0
  38. package/dist/error-pattern-analysis/prompts/generate-initial.system.en-US.md +43 -0
  39. package/dist/error-pattern-analysis/prompts/generate-initial.system.md +49 -0
  40. package/dist/error-pattern-analysis/prompts/generate.system.en-US.md +53 -0
  41. package/dist/error-pattern-analysis/prompts/generate.system.md +68 -0
  42. package/dist/error-pattern-analysis/prompts/loader.d.ts +46 -0
  43. package/dist/error-pattern-analysis/prompts/loader.d.ts.map +1 -0
  44. package/dist/error-pattern-analysis/prompts/loader.js +109 -0
  45. package/dist/error-pattern-analysis/prompts/loader.js.map +1 -0
  46. package/dist/error-pattern-analysis/prompts/optimization-tips.en-US.md +25 -0
  47. package/dist/error-pattern-analysis/prompts/optimization-tips.md +38 -0
  48. package/dist/error-pattern-analysis/prompts/summarize.system.en-US.md +48 -0
  49. package/dist/error-pattern-analysis/prompts/summarize.system.md +69 -0
  50. package/dist/error-pattern-analysis/prompts.d.ts +79 -0
  51. package/dist/error-pattern-analysis/prompts.d.ts.map +1 -0
  52. package/dist/error-pattern-analysis/prompts.js +659 -0
  53. package/dist/error-pattern-analysis/prompts.js.map +1 -0
  54. package/dist/error-pattern-analysis/token-budget.d.ts +20 -0
  55. package/dist/error-pattern-analysis/token-budget.d.ts.map +1 -0
  56. package/dist/error-pattern-analysis/token-budget.js +88 -0
  57. package/dist/error-pattern-analysis/token-budget.js.map +1 -0
  58. package/dist/index.d.ts +9 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +27 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/loop/best.d.ts +3 -0
  63. package/dist/loop/best.d.ts.map +1 -0
  64. package/dist/loop/best.js +43 -0
  65. package/dist/loop/best.js.map +1 -0
  66. package/dist/loop/goals.d.ts +6 -0
  67. package/dist/loop/goals.d.ts.map +1 -0
  68. package/dist/loop/goals.js +38 -0
  69. package/dist/loop/goals.js.map +1 -0
  70. package/dist/loop/round-outcome.d.ts +14 -0
  71. package/dist/loop/round-outcome.d.ts.map +1 -0
  72. package/dist/loop/round-outcome.js +18 -0
  73. package/dist/loop/round-outcome.js.map +1 -0
  74. package/dist/loop/run-iteration-loop.d.ts +5 -0
  75. package/dist/loop/run-iteration-loop.d.ts.map +1 -0
  76. package/dist/loop/run-iteration-loop.js +247 -0
  77. package/dist/loop/run-iteration-loop.js.map +1 -0
  78. package/dist/loop/types.d.ts +190 -0
  79. package/dist/loop/types.d.ts.map +1 -0
  80. package/dist/loop/types.js +13 -0
  81. package/dist/loop/types.js.map +1 -0
  82. package/dist/registry.d.ts +5 -0
  83. package/dist/registry.d.ts.map +1 -0
  84. package/dist/registry.js +19 -0
  85. package/dist/registry.js.map +1 -0
  86. package/dist/types.d.ts +10 -0
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +3 -0
  89. package/dist/types.js.map +1 -0
  90. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-iteration-loop.js","sourceRoot":"","sources":["../../src/loop/run-iteration-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,190 @@
1
+ import type { InvokeLLMDependencies, LLMAdapter, LLMCallLogger, ModelInvocationConfig, RateLimiterLike } from '@proofhound/llm-client';
2
+ import type { PromptLanguageDto } from '@proofhound/shared';
3
+ import type { ProjectType } from '../types';
4
+ export type ComparisonOp = '>=' | '<=' | '>';
5
+ export interface OptimizationGoal {
6
+ metric: string;
7
+ op: ComparisonOp;
8
+ value: number;
9
+ scope: {
10
+ kind: 'overall';
11
+ } | {
12
+ kind: 'class';
13
+ label: string;
14
+ };
15
+ }
16
+ export interface MetricSnapshot {
17
+ overall: Record<string, number>;
18
+ perClass?: Record<string, Record<string, number>>;
19
+ }
20
+ export interface JudgmentRuleSet {
21
+ ruleName: string;
22
+ config: unknown;
23
+ }
24
+ export interface PromptVariable {
25
+ name: string;
26
+ description?: string;
27
+ }
28
+ export interface PromptVersionRef {
29
+ id: string;
30
+ promptId: string;
31
+ versionNumber: number;
32
+ body: string;
33
+ outputSchema?: unknown;
34
+ promptLanguage?: PromptLanguageDto;
35
+ judgmentRules?: JudgmentRuleSet;
36
+ variables?: PromptVariable[];
37
+ }
38
+ export interface SampleRecord {
39
+ id: string;
40
+ input: Record<string, unknown>;
41
+ expected?: unknown;
42
+ }
43
+ export interface RunResultRecord {
44
+ id: string;
45
+ sampleId: string;
46
+ parsedOutput?: unknown;
47
+ decisionOutput?: string | null;
48
+ isCorrect?: boolean | null;
49
+ errorMessage?: string | null;
50
+ rawResponse?: string | null;
51
+ }
52
+ export interface ExperimentSnapshot {
53
+ projectId: string;
54
+ projectType: ProjectType;
55
+ sourceExperimentId: string;
56
+ dataset: {
57
+ id: string;
58
+ samples: SampleRecord[];
59
+ };
60
+ taskModel: ModelInvocationConfig;
61
+ judgmentRules: JudgmentRuleSet;
62
+ basePromptVersion: PromptVersionRef;
63
+ lastRunResults: RunResultRecord[];
64
+ lastMetrics: MetricSnapshot;
65
+ }
66
+ export interface FieldWhitelist {
67
+ promptVariables: string[];
68
+ analysisOnlyFields?: string[];
69
+ modifiableSections?: string[];
70
+ }
71
+ export interface OptimizationConfig<TStrategyConfig = unknown> {
72
+ optimizationId: string;
73
+ goals: OptimizationGoal[];
74
+ maxRounds: number;
75
+ fieldWhitelist: FieldWhitelist;
76
+ analysisModel: ModelInvocationConfig;
77
+ analysisLimiterKey: string;
78
+ taskModel: ModelInvocationConfig;
79
+ strategyKey: 'error_pattern_analysis';
80
+ strategyConfig: TStrategyConfig;
81
+ optimizationHint?: string;
82
+ promptLanguage?: PromptLanguageDto;
83
+ }
84
+ export interface GoalProgressEntry {
85
+ goal: OptimizationGoal;
86
+ achieved: boolean;
87
+ observed: number | null;
88
+ }
89
+ export interface RoundOutcome {
90
+ roundNumber: number;
91
+ generatedVersionId: string;
92
+ errorAnalysis: string;
93
+ changeSummary: string;
94
+ experimentId: string;
95
+ runResults: RunResultRecord[];
96
+ metrics: MetricSnapshot;
97
+ isBest: boolean;
98
+ goalProgress: GoalProgressEntry[];
99
+ startedAt: string;
100
+ finishedAt: string;
101
+ }
102
+ export interface RoundHistoryAppliedChange {
103
+ changeId: string;
104
+ patternIds?: string[];
105
+ rationale?: string;
106
+ }
107
+ export interface RoundHistoryEntry {
108
+ roundIndex: number;
109
+ metrics: MetricSnapshot;
110
+ deltaFromPrev: number | null;
111
+ changeSummary: string;
112
+ appliedChanges: RoundHistoryAppliedChange[];
113
+ appliedTips: string[];
114
+ isBest: boolean;
115
+ generatedFromBaseVersionId: string;
116
+ }
117
+ export type OptimizationStatus = 'success' | 'failed' | 'stopped' | 'cancelled';
118
+ export type OptimizationReason = 'goals_met' | 'max_rounds' | 'control_stop' | 'control_cancel' | 'fatal_error';
119
+ export interface OptimizationResult {
120
+ status: OptimizationStatus;
121
+ reason: OptimizationReason;
122
+ bestVersionId: string;
123
+ bestMetrics: MetricSnapshot;
124
+ rounds: RoundOutcome[];
125
+ errorClass?: string;
126
+ errorMessage?: string;
127
+ }
128
+ export interface ExperimentRunnerInput {
129
+ optimizationId: string;
130
+ versionId: string;
131
+ datasetId: string;
132
+ taskModel: ModelInvocationConfig;
133
+ judgmentRules: JudgmentRuleSet;
134
+ roundNumber: number;
135
+ }
136
+ export interface ExperimentRunnerOutput {
137
+ experimentId: string;
138
+ runResults: RunResultRecord[];
139
+ metrics: MetricSnapshot;
140
+ }
141
+ export interface ExperimentRunnerPort {
142
+ runExperiment(input: ExperimentRunnerInput): Promise<ExperimentRunnerOutput>;
143
+ }
144
+ export interface PromptVersionWriteInput {
145
+ promptId: string;
146
+ parentVersionId: string;
147
+ body: string;
148
+ outputSchema?: unknown;
149
+ judgmentRules?: JudgmentRuleSet;
150
+ optimizationId: string;
151
+ changeSummary: string;
152
+ }
153
+ export interface PromptVersionWriterPort {
154
+ writePromptVersion(input: PromptVersionWriteInput): Promise<PromptVersionRef>;
155
+ }
156
+ export interface RoundRecorderPort {
157
+ recordRound(round: RoundOutcome, ctx: {
158
+ optimizationId: string;
159
+ }): Promise<void>;
160
+ recordFinal(result: OptimizationResult, ctx: {
161
+ optimizationId: string;
162
+ }): Promise<void>;
163
+ }
164
+ export type ControlSignal = 'stop' | 'resume' | 'cancel' | null;
165
+ export interface ControlSignalReader {
166
+ read(optimizationId: string): Promise<ControlSignal>;
167
+ }
168
+ export interface PreviousRoundReadInput {
169
+ optimizationId: string;
170
+ sourceExperimentId: string;
171
+ currentRoundNumber: number;
172
+ }
173
+ export interface PreviousRoundRunResultsReaderPort {
174
+ read(input: PreviousRoundReadInput): Promise<RunResultRecord[] | null>;
175
+ }
176
+ export interface LoopPorts {
177
+ experimentRunner: ExperimentRunnerPort;
178
+ promptVersionWriter: PromptVersionWriterPort;
179
+ roundRecorder: RoundRecorderPort;
180
+ controlSignals: ControlSignalReader;
181
+ previousRoundRunResultsReader: PreviousRoundRunResultsReaderPort;
182
+ }
183
+ export interface LoopDependencies {
184
+ llmAdapter?: LLMAdapter;
185
+ limiter: RateLimiterLike;
186
+ logger: LLMCallLogger;
187
+ now?: () => number;
188
+ }
189
+ export declare function toInvokeLLMDependencies(deps: LoopDependencies): InvokeLLMDependencies;
190
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toInvokeLLMDependencies = toInvokeLLMDependencies;
4
+ // Internal helper: wrap LoopDependencies into dependencies usable by invokeLLM — shared by analyze/generate
5
+ function toInvokeLLMDependencies(deps) {
6
+ return {
7
+ limiter: deps.limiter,
8
+ logger: deps.logger,
9
+ adapters: deps.llmAdapter ? [deps.llmAdapter] : undefined,
10
+ now: deps.now,
11
+ };
12
+ }
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":";;AAqOA,0DAOC;AARD,4GAA4G;AAC5G,SAAgB,uBAAuB,CAAC,IAAsB;IAC5D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACzD,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { OptimizationStrategy, ProjectType } from './types';
2
+ export declare function registerStrategy(s: OptimizationStrategy): void;
3
+ export declare function getStrategy(key: string): OptimizationStrategy;
4
+ export declare function listStrategiesFor(projectType: ProjectType): OptimizationStrategy[];
5
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIjE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,oBAAoB,QAEvD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAI7D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,0BAEzD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerStrategy = registerStrategy;
4
+ exports.getStrategy = getStrategy;
5
+ exports.listStrategiesFor = listStrategiesFor;
6
+ const registry = new Map();
7
+ function registerStrategy(s) {
8
+ registry.set(s.key, s);
9
+ }
10
+ function getStrategy(key) {
11
+ const s = registry.get(key);
12
+ if (!s)
13
+ throw new Error(`Unknown optimization strategy: ${key}`);
14
+ return s;
15
+ }
16
+ function listStrategiesFor(projectType) {
17
+ return [...registry.values()].filter((s) => s.projectTypes.includes(projectType));
18
+ }
19
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;AAIA,4CAEC;AAED,kCAIC;AAED,8CAEC;AAdD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEzD,SAAgB,gBAAgB,CAAC,CAAuB;IACtD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,iBAAiB,CAAC,WAAwB;IACxD,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { z } from 'zod';
2
+ export type ProjectType = 'classification' | 'generative' | 'agent';
3
+ export interface OptimizationStrategy {
4
+ key: string;
5
+ displayName: string;
6
+ description: string;
7
+ projectTypes: ProjectType[];
8
+ configSchema: z.ZodSchema;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC;CAE3B"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@proofhound/optimization-strategy",
3
+ "version": "0.1.6",
4
+ "description": "优化策略(扩展点)— V1: error_pattern_analysis;可注册新策略,无需 DB CHECK 改动",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": "./dist/index.js"
9
+ },
10
+ "dependencies": {
11
+ "jsonrepair": "^3.14.0",
12
+ "zod": "^4.4.3",
13
+ "@proofhound/limiter": "0.1.6",
14
+ "@proofhound/llm-client": "0.1.6",
15
+ "@proofhound/judgment": "0.1.6",
16
+ "@proofhound/logger": "0.1.6",
17
+ "@proofhound/shared": "0.1.6",
18
+ "@proofhound/metrics": "0.1.6"
19
+ },
20
+ "devDependencies": {
21
+ "@types/node": "^24.12.4",
22
+ "tsx": "^4.21.1",
23
+ "typescript": "^6.0.3",
24
+ "vitest": "^4.1.6"
25
+ },
26
+ "license": "Apache-2.0",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/proofhound/proofhound",
30
+ "directory": "packages/optimization-strategy"
31
+ },
32
+ "homepage": "https://github.com/proofhound/proofhound/tree/master/packages/optimization-strategy#readme",
33
+ "files": [
34
+ "dist",
35
+ "README.md",
36
+ "LICENSE"
37
+ ],
38
+ "publishConfig": {
39
+ "access": "public",
40
+ "registry": "https://registry.npmjs.org/"
41
+ },
42
+ "scripts": {
43
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/copy-prompt-assets.mjs",
44
+ "typecheck": "tsc --noEmit",
45
+ "lint": "eslint \"src/**/*.ts\"",
46
+ "test": "vitest run --config vitest.config.ts --passWithNoTests",
47
+ "test:unit": "vitest run --config vitest.config.ts --passWithNoTests",
48
+ "test:integration": "vitest run --config vitest.integration.config.ts",
49
+ "example:real-llm": "tsx examples/run-real-llm.ts",
50
+ "clean": "rm -rf dist .turbo"
51
+ }
52
+ }