bridgebench 3.1.0-alpha.0

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 (86) hide show
  1. package/CITATION.cff +15 -0
  2. package/LICENSE +21 -0
  3. package/README.md +249 -0
  4. package/dist/chunk-4TWPCPRP.cjs +1097 -0
  5. package/dist/chunk-4TWPCPRP.cjs.map +1 -0
  6. package/dist/chunk-7YCJSOK7.cjs +398 -0
  7. package/dist/chunk-7YCJSOK7.cjs.map +1 -0
  8. package/dist/chunk-CIXITJW6.cjs +249 -0
  9. package/dist/chunk-CIXITJW6.cjs.map +1 -0
  10. package/dist/chunk-EQHRUV2I.js +1466 -0
  11. package/dist/chunk-EQHRUV2I.js.map +1 -0
  12. package/dist/chunk-JTVNKSMO.js +1096 -0
  13. package/dist/chunk-JTVNKSMO.js.map +1 -0
  14. package/dist/chunk-LFKEV2YL.js +398 -0
  15. package/dist/chunk-LFKEV2YL.js.map +1 -0
  16. package/dist/chunk-NJTYVNP4.cjs +1467 -0
  17. package/dist/chunk-NJTYVNP4.cjs.map +1 -0
  18. package/dist/chunk-UECBSKTD.js +244 -0
  19. package/dist/chunk-UECBSKTD.js.map +1 -0
  20. package/dist/cli.cjs +409 -0
  21. package/dist/cli.cjs.map +1 -0
  22. package/dist/cli.d.cts +1 -0
  23. package/dist/cli.d.ts +1 -0
  24. package/dist/cli.js +408 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/client.cjs +42 -0
  27. package/dist/client.cjs.map +1 -0
  28. package/dist/client.d.cts +93 -0
  29. package/dist/client.d.ts +93 -0
  30. package/dist/client.js +42 -0
  31. package/dist/client.js.map +1 -0
  32. package/dist/contracts/index.cjs +47 -0
  33. package/dist/contracts/index.cjs.map +1 -0
  34. package/dist/contracts/index.d.cts +14 -0
  35. package/dist/contracts/index.d.ts +14 -0
  36. package/dist/contracts/index.js +47 -0
  37. package/dist/contracts/index.js.map +1 -0
  38. package/dist/index.cjs +171 -0
  39. package/dist/index.cjs.map +1 -0
  40. package/dist/index.d.cts +214 -0
  41. package/dist/index.d.ts +214 -0
  42. package/dist/index.js +171 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/logger-CCR9Mg1c.d.cts +319 -0
  45. package/dist/logger-QJU7SBDz.d.ts +319 -0
  46. package/dist/reports-4CejmOHf.d.cts +454 -0
  47. package/dist/reports-s2CTnGN8.d.ts +454 -0
  48. package/dist/tasks-CpaCJ6JE.d.cts +151 -0
  49. package/dist/tasks-CpaCJ6JE.d.ts +151 -0
  50. package/dist/tasks.cjs +22 -0
  51. package/dist/tasks.cjs.map +1 -0
  52. package/dist/tasks.d.cts +39 -0
  53. package/dist/tasks.d.ts +39 -0
  54. package/dist/tasks.js +22 -0
  55. package/dist/tasks.js.map +1 -0
  56. package/docs/README.md +25 -0
  57. package/docs/glossary.md +49 -0
  58. package/docs/methodology.md +58 -0
  59. package/docs/private-packs.md +74 -0
  60. package/docs/replay-elo.md +79 -0
  61. package/docs/task-authoring.md +80 -0
  62. package/package.json +137 -0
  63. package/tasks/hallucination/public/boundary-coverage-audit.yaml +274 -0
  64. package/tasks/hallucination/public/boundary-migration-audit.yaml +284 -0
  65. package/tasks/hallucination/public/conflict-dependency-versions.yaml +324 -0
  66. package/tasks/hallucination/public/conflict-runbook-versions.yaml +229 -0
  67. package/tasks/hallucination/public/fabrication-agent-tools.yaml +224 -0
  68. package/tasks/hallucination/public/fabrication-api-surface.yaml +239 -0
  69. package/tasks/hallucination/public/fidelity-commit-attribution.yaml +304 -0
  70. package/tasks/hallucination/public/fidelity-config-drift.yaml +307 -0
  71. package/tasks/hallucination/public/missing-deploy-window.yaml +204 -0
  72. package/tasks/hallucination/public/missing-latency-baseline.yaml +239 -0
  73. package/tasks/hallucination/public/premise-quota-breach.yaml +202 -0
  74. package/tasks/hallucination/public/premise-rollback-cause.yaml +235 -0
  75. package/tasks/reasoning/public/constraint-capacity-allocation.yaml +196 -0
  76. package/tasks/reasoning/public/constraint-deployment-policy.yaml +203 -0
  77. package/tasks/reasoning/public/counterexample-authorization-rule.yaml +278 -0
  78. package/tasks/reasoning/public/counterexample-scheduler-starvation.yaml +290 -0
  79. package/tasks/reasoning/public/root-cache-tenant-leak.yaml +225 -0
  80. package/tasks/reasoning/public/root-event-ordering.yaml +184 -0
  81. package/tasks/reasoning/public/stateful-lease-handoff.yaml +213 -0
  82. package/tasks/reasoning/public/stateful-retry-budget.yaml +222 -0
  83. package/tasks/reasoning/public/synthesis-api-contract.yaml +214 -0
  84. package/tasks/reasoning/public/synthesis-permission-migration.yaml +190 -0
  85. package/tasks/reasoning/public/uncertainty-conflicting-telemetry.yaml +242 -0
  86. package/tasks/reasoning/public/uncertainty-incomplete-incident.yaml +223 -0
@@ -0,0 +1,93 @@
1
+ import { z } from 'zod';
2
+ import { A as ArenaStore, a as ArenaLogger } from './logger-QJU7SBDz.js';
3
+ import { B as BenchmarkCategory, d as CompleteArenaTask } from './tasks-CpaCJ6JE.js';
4
+ import { f as ArenaRunConfig, A as ArenaEvent } from './reports-s2CTnGN8.js';
5
+
6
+ declare const ADMIN_KEY_HEADER = "x-bridgebench-admin-key";
7
+ declare const DEFAULT_API_TIMEOUT_MS = 30000;
8
+ declare const REQUEST_SPACING_MS = 700;
9
+ interface ApiConfig {
10
+ baseUrl: string;
11
+ adminKey: string;
12
+ timeoutMs: number;
13
+ }
14
+ declare function resolveApiConfig(environment?: NodeJS.ProcessEnv): ApiConfig;
15
+ declare function publishTarget(config: ApiConfig): string;
16
+ declare function delay(ms: number): Promise<void>;
17
+ declare function chunk<T>(items: readonly T[], size: number): T[][];
18
+ declare function getJson<T>(config: ApiConfig, path: string, schema: z.ZodType<T>): Promise<T>;
19
+ declare function postJson<T>(config: ApiConfig, path: string, body: unknown, schema: z.ZodType<T>): Promise<T>;
20
+ declare function postChunks<T, R extends {
21
+ imported?: number;
22
+ skipped?: number;
23
+ }>(config: ApiConfig, path: string, batches: readonly T[][], wrap: (batch: readonly T[]) => Record<string, readonly T[]>, schema: z.ZodType<R>): Promise<R[]>;
24
+
25
+ /**
26
+ * Publish glue: pushes the engine's authored task pack and its match journal
27
+ * to the bridgebench.ai API. The local verified journal is the execution
28
+ * authority; the API is a one-way published replica and public read surface.
29
+ *
30
+ * Both API endpoints are admin-key guarded and idempotent (upsert on task
31
+ * key+version, insert-or-skip on match key), so re-publishing is always safe.
32
+ * Publishing tasks requires the private overlay (the API stores both halves;
33
+ * hidden references live in a table no public endpoint reads) — see
34
+ * docs/private-packs.md.
35
+ */
36
+ /**
37
+ * Load, validate, and push a category's task pack. The API import contract
38
+ * requires both halves, so this fails closed (with a pointer to
39
+ * docs/private-packs.md) when the private overlay is absent.
40
+ */
41
+ declare function publishTasks(category: BenchmarkCategory, config?: ApiConfig): Promise<{
42
+ imported: number;
43
+ }>;
44
+ /** Push a match journal from the given store (idempotent on the engine match key). */
45
+ declare function publishJournalFromStore(store: ArenaStore, config?: ApiConfig): Promise<{
46
+ imported: number;
47
+ skipped: number;
48
+ matches: number;
49
+ }>;
50
+ /** Push a category's local match journal (idempotent on the engine match key). */
51
+ declare function publishJournal(category: BenchmarkCategory, config?: ApiConfig): Promise<{
52
+ imported: number;
53
+ skipped: number;
54
+ matches: number;
55
+ }>;
56
+
57
+ interface RemoteArenaRunOptions {
58
+ config: ArenaRunConfig;
59
+ mock?: boolean;
60
+ publishMatches?: boolean;
61
+ logger?: ArenaLogger;
62
+ }
63
+ interface RemoteArenaRunResult {
64
+ runKey: string;
65
+ completed: number;
66
+ costUsd: number;
67
+ cancelled: boolean;
68
+ stoppedForBudget: boolean;
69
+ }
70
+ declare function fetchExecutionPack(config: ApiConfig, category: BenchmarkCategory): Promise<{
71
+ tasks: CompleteArenaTask[];
72
+ }>;
73
+ declare function createRemoteRun(apiConfig: ApiConfig, runConfig: ArenaRunConfig, tasks: readonly CompleteArenaTask[]): Promise<{
74
+ runKey: string;
75
+ created: boolean;
76
+ }>;
77
+ declare function runRemoteArena(apiConfig: ApiConfig, options: RemoteArenaRunOptions): Promise<RemoteArenaRunResult>;
78
+
79
+ declare class RemoteArenaEventSink {
80
+ private readonly config;
81
+ private readonly runKey;
82
+ private readonly buffer;
83
+ private flushTimer;
84
+ private flushChain;
85
+ private closed;
86
+ constructor(config: ApiConfig, runKey: string);
87
+ readonly sink: (event: ArenaEvent) => void;
88
+ private scheduleFlush;
89
+ flush(): Promise<void>;
90
+ close(): Promise<void>;
91
+ }
92
+
93
+ export { ADMIN_KEY_HEADER, type ApiConfig, DEFAULT_API_TIMEOUT_MS, REQUEST_SPACING_MS, RemoteArenaEventSink, type RemoteArenaRunOptions, type RemoteArenaRunResult, chunk, createRemoteRun, delay, fetchExecutionPack, getJson, postChunks, postJson, publishJournal, publishJournalFromStore, publishTarget, publishTasks, resolveApiConfig, runRemoteArena };
package/dist/client.js ADDED
@@ -0,0 +1,42 @@
1
+ import {
2
+ ADMIN_KEY_HEADER,
3
+ DEFAULT_API_TIMEOUT_MS,
4
+ REQUEST_SPACING_MS,
5
+ RemoteArenaEventSink,
6
+ chunk,
7
+ createRemoteRun,
8
+ delay,
9
+ fetchExecutionPack,
10
+ getJson,
11
+ postChunks,
12
+ postJson,
13
+ publishJournal,
14
+ publishJournalFromStore,
15
+ publishTarget,
16
+ publishTasks,
17
+ resolveApiConfig,
18
+ runRemoteArena
19
+ } from "./chunk-LFKEV2YL.js";
20
+ import "./chunk-EQHRUV2I.js";
21
+ import "./chunk-JTVNKSMO.js";
22
+ import "./chunk-UECBSKTD.js";
23
+ export {
24
+ ADMIN_KEY_HEADER,
25
+ DEFAULT_API_TIMEOUT_MS,
26
+ REQUEST_SPACING_MS,
27
+ RemoteArenaEventSink,
28
+ chunk,
29
+ createRemoteRun,
30
+ delay,
31
+ fetchExecutionPack,
32
+ getJson,
33
+ postChunks,
34
+ postJson,
35
+ publishJournal,
36
+ publishJournalFromStore,
37
+ publishTarget,
38
+ publishTasks,
39
+ resolveApiConfig,
40
+ runRemoteArena
41
+ };
42
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ var _chunkCIXITJW6cjs = require('../chunk-CIXITJW6.cjs');
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+ exports.BenchmarkCategorySchema = _chunkCIXITJW6cjs.BenchmarkCategorySchema; exports.CATEGORIES = _chunkCIXITJW6cjs.CATEGORIES; exports.CATEGORY_CLUSTERS = _chunkCIXITJW6cjs.CATEGORY_CLUSTERS; exports.CATEGORY_META = _chunkCIXITJW6cjs.CATEGORY_META; exports.CONTRACTS_VERSION = _chunkCIXITJW6cjs.CONTRACTS_VERSION; exports.CompetitorResponseSchema = _chunkCIXITJW6cjs.CompetitorResponseSchema; exports.JUDGE_VERDICT_TRANSPORT_SCHEMA = _chunkCIXITJW6cjs.JUDGE_VERDICT_TRANSPORT_SCHEMA; exports.JudgeVerdictSchema = _chunkCIXITJW6cjs.JudgeVerdictSchema; exports.JudgeVoteSchema = _chunkCIXITJW6cjs.JudgeVoteSchema; exports.METHODOLOGY_VERSION = _chunkCIXITJW6cjs.METHODOLOGY_VERSION; exports.MatchResultSchema = _chunkCIXITJW6cjs.MatchResultSchema; exports.ModelCompletionSchema = _chunkCIXITJW6cjs.ModelCompletionSchema; exports.ModelRoleSchema = _chunkCIXITJW6cjs.ModelRoleSchema; exports.PanelDecisionSchema = _chunkCIXITJW6cjs.PanelDecisionSchema; exports.TaskArtifactSchema = _chunkCIXITJW6cjs.TaskArtifactSchema; exports.TaskPrivateSchema = _chunkCIXITJW6cjs.TaskPrivateSchema; exports.TaskPublicSchema = _chunkCIXITJW6cjs.TaskPublicSchema; exports.competitorContent = _chunkCIXITJW6cjs.competitorContent; exports.competitorCost = _chunkCIXITJW6cjs.competitorCost; exports.competitorOutputTokens = _chunkCIXITJW6cjs.competitorOutputTokens; exports.competitorReasoningTokens = _chunkCIXITJW6cjs.competitorReasoningTokens;
47
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/matthewmiller/Desktop/bridgemind/bridgebench/dist/contracts/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,g5CAAC","file":"/Users/matthewmiller/Desktop/bridgemind/bridgebench/dist/contracts/index.cjs"}
@@ -0,0 +1,14 @@
1
+ export { A as ArenaTask, B as BenchmarkCategory, a as BenchmarkCategorySchema, C as CATEGORIES, b as CATEGORY_CLUSTERS, c as CATEGORY_META, d as CompleteArenaTask, M as METHODOLOGY_VERSION, T as TaskArtifact, e as TaskArtifactSchema, f as TaskPrivate, g as TaskPrivateSchema, h as TaskPublic, i as TaskPublicSchema } from '../tasks-CpaCJ6JE.cjs';
2
+ export { A as ArenaEvent, a as ArenaEventDataMap, b as ArenaEventInput, c as ArenaEventSink, d as ArenaEventType, e as ArenaExecutionOptions, f as ArenaRunConfig, g as ArenaRunResult, h as ArenaSnapshot, C as ChatRequest, i as CompetitorFailure, j as CompetitorResponse, k as CompetitorResponseSchema, l as CompetitorSuccess, E as EloState, J as JUDGE_VERDICT_TRANSPORT_SCHEMA, m as JudgeVerdict, n as JudgeVerdictSchema, o as JudgeVote, p as JudgeVoteSchema, L as LeaderboardEntry, M as MatchResult, q as MatchResultSchema, r as ModelCompletion, s as ModelCompletionSchema, t as ModelRegistryEntry, u as ModelRequestPolicy, v as ModelRole, w as ModelRoleSchema, O as OpenRouterGateway, P as PanelDecision, x as PanelDecisionSchema, S as ScheduledMatch, y as competitorContent, z as competitorCost, B as competitorOutputTokens, D as competitorReasoningTokens } from '../reports-4CejmOHf.cjs';
3
+ import 'zod';
4
+
5
+ /**
6
+ * Public BridgeBench arena contract version.
7
+ *
8
+ * Increment this when an exported contract changes incompatibly. The entry
9
+ * point intentionally exports contracts only; it has no arena-runner or
10
+ * provider implementation dependency.
11
+ */
12
+ declare const CONTRACTS_VERSION: "1.0.0";
13
+
14
+ export { CONTRACTS_VERSION };
@@ -0,0 +1,14 @@
1
+ export { A as ArenaTask, B as BenchmarkCategory, a as BenchmarkCategorySchema, C as CATEGORIES, b as CATEGORY_CLUSTERS, c as CATEGORY_META, d as CompleteArenaTask, M as METHODOLOGY_VERSION, T as TaskArtifact, e as TaskArtifactSchema, f as TaskPrivate, g as TaskPrivateSchema, h as TaskPublic, i as TaskPublicSchema } from '../tasks-CpaCJ6JE.js';
2
+ export { A as ArenaEvent, a as ArenaEventDataMap, b as ArenaEventInput, c as ArenaEventSink, d as ArenaEventType, e as ArenaExecutionOptions, f as ArenaRunConfig, g as ArenaRunResult, h as ArenaSnapshot, C as ChatRequest, i as CompetitorFailure, j as CompetitorResponse, k as CompetitorResponseSchema, l as CompetitorSuccess, E as EloState, J as JUDGE_VERDICT_TRANSPORT_SCHEMA, m as JudgeVerdict, n as JudgeVerdictSchema, o as JudgeVote, p as JudgeVoteSchema, L as LeaderboardEntry, M as MatchResult, q as MatchResultSchema, r as ModelCompletion, s as ModelCompletionSchema, t as ModelRegistryEntry, u as ModelRequestPolicy, v as ModelRole, w as ModelRoleSchema, O as OpenRouterGateway, P as PanelDecision, x as PanelDecisionSchema, S as ScheduledMatch, y as competitorContent, z as competitorCost, B as competitorOutputTokens, D as competitorReasoningTokens } from '../reports-s2CTnGN8.js';
3
+ import 'zod';
4
+
5
+ /**
6
+ * Public BridgeBench arena contract version.
7
+ *
8
+ * Increment this when an exported contract changes incompatibly. The entry
9
+ * point intentionally exports contracts only; it has no arena-runner or
10
+ * provider implementation dependency.
11
+ */
12
+ declare const CONTRACTS_VERSION: "1.0.0";
13
+
14
+ export { CONTRACTS_VERSION };
@@ -0,0 +1,47 @@
1
+ import {
2
+ BenchmarkCategorySchema,
3
+ CATEGORIES,
4
+ CATEGORY_CLUSTERS,
5
+ CATEGORY_META,
6
+ CONTRACTS_VERSION,
7
+ CompetitorResponseSchema,
8
+ JUDGE_VERDICT_TRANSPORT_SCHEMA,
9
+ JudgeVerdictSchema,
10
+ JudgeVoteSchema,
11
+ METHODOLOGY_VERSION,
12
+ MatchResultSchema,
13
+ ModelCompletionSchema,
14
+ ModelRoleSchema,
15
+ PanelDecisionSchema,
16
+ TaskArtifactSchema,
17
+ TaskPrivateSchema,
18
+ TaskPublicSchema,
19
+ competitorContent,
20
+ competitorCost,
21
+ competitorOutputTokens,
22
+ competitorReasoningTokens
23
+ } from "../chunk-UECBSKTD.js";
24
+ export {
25
+ BenchmarkCategorySchema,
26
+ CATEGORIES,
27
+ CATEGORY_CLUSTERS,
28
+ CATEGORY_META,
29
+ CONTRACTS_VERSION,
30
+ CompetitorResponseSchema,
31
+ JUDGE_VERDICT_TRANSPORT_SCHEMA,
32
+ JudgeVerdictSchema,
33
+ JudgeVoteSchema,
34
+ METHODOLOGY_VERSION,
35
+ MatchResultSchema,
36
+ ModelCompletionSchema,
37
+ ModelRoleSchema,
38
+ PanelDecisionSchema,
39
+ TaskArtifactSchema,
40
+ TaskPrivateSchema,
41
+ TaskPublicSchema,
42
+ competitorContent,
43
+ competitorCost,
44
+ competitorOutputTokens,
45
+ competitorReasoningTokens
46
+ };
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.cjs ADDED
@@ -0,0 +1,171 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+ var _chunkNJTYVNP4cjs = require('./chunk-NJTYVNP4.cjs');
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+ var _chunk4TWPCPRPcjs = require('./chunk-4TWPCPRP.cjs');
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+ var _chunkCIXITJW6cjs = require('./chunk-CIXITJW6.cjs');
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ exports.ArenaCancellationError = _chunk4TWPCPRPcjs.ArenaCancellationError; exports.ArenaRunner = _chunkNJTYVNP4cjs.ArenaRunner; exports.ArenaStore = _chunkNJTYVNP4cjs.ArenaStore; exports.BenchmarkCategorySchema = _chunkCIXITJW6cjs.BenchmarkCategorySchema; exports.CATEGORIES = _chunkCIXITJW6cjs.CATEGORIES; exports.CATEGORY_CLUSTERS = _chunkCIXITJW6cjs.CATEGORY_CLUSTERS; exports.CATEGORY_META = _chunkCIXITJW6cjs.CATEGORY_META; exports.CONTRACTS_VERSION = _chunkCIXITJW6cjs.CONTRACTS_VERSION; exports.CompetitorResponseSchema = _chunkCIXITJW6cjs.CompetitorResponseSchema; exports.ELO_INITIAL = _chunkNJTYVNP4cjs.ELO_INITIAL; exports.ELO_K = _chunkNJTYVNP4cjs.ELO_K; exports.ENGINE_VERSION = _chunkNJTYVNP4cjs.ENGINE_VERSION; exports.FAST_RESPONSE_MS = _chunkNJTYVNP4cjs.FAST_RESPONSE_MS; exports.FileArenaLogger = _chunk4TWPCPRPcjs.FileArenaLogger; exports.JUDGE_VERDICT_TRANSPORT_SCHEMA = _chunkCIXITJW6cjs.JUDGE_VERDICT_TRANSPORT_SCHEMA; exports.JudgePanel = _chunk4TWPCPRPcjs.JudgePanel; exports.JudgeVerdictSchema = _chunkCIXITJW6cjs.JudgeVerdictSchema; exports.JudgeVoteSchema = _chunkCIXITJW6cjs.JudgeVoteSchema; exports.LOW_OUTPUT_TOKENS = _chunkNJTYVNP4cjs.LOW_OUTPUT_TOKENS; exports.MAX_PROMPT_CHARS = _chunk4TWPCPRPcjs.MAX_PROMPT_CHARS; exports.METHODOLOGY_VERSION = _chunkCIXITJW6cjs.METHODOLOGY_VERSION; exports.MODEL_REGISTRY = _chunk4TWPCPRPcjs.MODEL_REGISTRY; exports.MatchResultSchema = _chunkCIXITJW6cjs.MatchResultSchema; exports.MockOpenRouterGateway = _chunkNJTYVNP4cjs.MockOpenRouterGateway; exports.ModelCompletionSchema = _chunkCIXITJW6cjs.ModelCompletionSchema; exports.ModelRoleSchema = _chunkCIXITJW6cjs.ModelRoleSchema; exports.OpenRouterClient = _chunk4TWPCPRPcjs.OpenRouterClient; exports.PACKAGE_NAME = _chunkNJTYVNP4cjs.PACKAGE_NAME; exports.PanelDecisionSchema = _chunkCIXITJW6cjs.PanelDecisionSchema; exports.RUN_MANIFEST_VERSION = _chunkNJTYVNP4cjs.RUN_MANIFEST_VERSION; exports.RunManifestSchema = _chunkNJTYVNP4cjs.RunManifestSchema; exports.SOL_FABLE_PILOT_COMPETITOR_IDS = _chunk4TWPCPRPcjs.SOL_FABLE_PILOT_COMPETITOR_IDS; exports.TASKS_PER_CATEGORY = _chunk4TWPCPRPcjs.TASKS_PER_CATEGORY; exports.TASKS_PER_CLUSTER = _chunk4TWPCPRPcjs.TASKS_PER_CLUSTER; exports.TaskArtifactSchema = _chunkCIXITJW6cjs.TaskArtifactSchema; exports.TaskLoader = _chunk4TWPCPRPcjs.TaskLoader; exports.TaskPrivateSchema = _chunkCIXITJW6cjs.TaskPrivateSchema; exports.TaskPublicSchema = _chunkCIXITJW6cjs.TaskPublicSchema; exports.anonymizeCompetitorOutput = _chunk4TWPCPRPcjs.anonymizeCompetitorOutput; exports.applyEloWin = _chunkNJTYVNP4cjs.applyEloWin; exports.assertPromptSize = _chunk4TWPCPRPcjs.assertPromptSize; exports.buildCompetitorPrompt = _chunk4TWPCPRPcjs.buildCompetitorPrompt; exports.buildJudgePayload = _chunk4TWPCPRPcjs.buildJudgePayload; exports.buildSnapshot = _chunkNJTYVNP4cjs.buildSnapshot; exports.canonicalJson = _chunkNJTYVNP4cjs.canonicalJson; exports.categoryStoreConfig = _chunkNJTYVNP4cjs.categoryStoreConfig; exports.classifyError = _chunkNJTYVNP4cjs.classifyError; exports.competitorContent = _chunkCIXITJW6cjs.competitorContent; exports.competitorCost = _chunkCIXITJW6cjs.competitorCost; exports.competitorOutputTokens = _chunkCIXITJW6cjs.competitorOutputTokens; exports.competitorPromptPolicyHash = _chunk4TWPCPRPcjs.competitorPromptPolicyHash; exports.competitorReasoningTokens = _chunkCIXITJW6cjs.competitorReasoningTokens; exports.createRunManifest = _chunkNJTYVNP4cjs.createRunManifest; exports.defaultTaskRoot = _chunk4TWPCPRPcjs.defaultTaskRoot; exports.detectResponseAnomalies = _chunkNJTYVNP4cjs.detectResponseAnomalies; exports.expectedScore = _chunkNJTYVNP4cjs.expectedScore; exports.formatTriage = _chunkNJTYVNP4cjs.formatTriage; exports.getModel = _chunk4TWPCPRPcjs.getModel; exports.isArenaCancellationError = _chunk4TWPCPRPcjs.isArenaCancellationError; exports.isRetryableError = _chunk4TWPCPRPcjs.isRetryableError; exports.judgePromptPolicyHash = _chunk4TWPCPRPcjs.judgePromptPolicyHash; exports.judgeSystemPrompt = _chunk4TWPCPRPcjs.judgeSystemPrompt; exports.judgeVerdictJsonSchema = _chunk4TWPCPRPcjs.judgeVerdictJsonSchema; exports.listModels = _chunk4TWPCPRPcjs.listModels; exports.mergePrivateHalves = _chunk4TWPCPRPcjs.mergePrivateHalves; exports.noopLogger = _chunk4TWPCPRPcjs.noopLogger; exports.parseJudgeVerdict = _chunk4TWPCPRPcjs.parseJudgeVerdict; exports.redactSecrets = _chunk4TWPCPRPcjs.redactSecrets; exports.renderMarkdown = _chunkNJTYVNP4cjs.renderMarkdown; exports.resolveCompetitorRoster = _chunk4TWPCPRPcjs.resolveCompetitorRoster; exports.runIdFromManifest = _chunkNJTYVNP4cjs.runIdFromManifest; exports.runManifestHash = _chunkNJTYVNP4cjs.runManifestHash; exports.runOpenRouterAttempt = _chunk4TWPCPRPcjs.runOpenRouterAttempt; exports.sanitizeError = _chunk4TWPCPRPcjs.sanitizeError; exports.scheduleMatches = _chunkNJTYVNP4cjs.scheduleMatches; exports.throwIfCancelled = _chunk4TWPCPRPcjs.throwIfCancelled; exports.triageJournal = _chunkNJTYVNP4cjs.triageJournal; exports.validatePublicTaskFile = _chunk4TWPCPRPcjs.validatePublicTaskFile; exports.verifiedEloState = _chunkNJTYVNP4cjs.verifiedEloState; exports.verifyJournal = _chunkNJTYVNP4cjs.verifyJournal; exports.writeReports = _chunkNJTYVNP4cjs.writeReports;
171
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/matthewmiller/Desktop/bridgemind/bridgebench/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,slKAAC","file":"/Users/matthewmiller/Desktop/bridgemind/bridgebench/dist/index.cjs"}
@@ -0,0 +1,214 @@
1
+ export { CONTRACTS_VERSION } from './contracts/index.cjs';
2
+ import { A as ArenaStore, a as ArenaLogger, R as RunManifest } from './logger-CCR9Mg1c.cjs';
3
+ export { b as ArenaStoreConfig, F as FileArenaLogger, L as LogLevel, c as RUN_MANIFEST_VERSION, d as RunManifestSchema, e as canonicalJson, f as categoryStoreConfig, g as createRunManifest, n as noopLogger, r as redactSecrets, h as runIdFromManifest, i as runManifestHash } from './logger-CCR9Mg1c.cjs';
4
+ import { O as OpenRouterGateway, c as ArenaEventSink, f as ArenaRunConfig, e as ArenaExecutionOptions, g as ArenaRunResult, S as ScheduledMatch, l as CompetitorSuccess, P as PanelDecision, t as ModelRegistryEntry, C as ChatRequest, r as ModelCompletion, M as MatchResult, E as EloState, h as ArenaSnapshot, j as CompetitorResponse } from './reports-4CejmOHf.cjs';
5
+ export { A as ArenaEvent, a as ArenaEventDataMap, b as ArenaEventInput, d as ArenaEventType, i as CompetitorFailure, k as CompetitorResponseSchema, J as JUDGE_VERDICT_TRANSPORT_SCHEMA, m as JudgeVerdict, n as JudgeVerdictSchema, o as JudgeVote, p as JudgeVoteSchema, L as LeaderboardEntry, q as MatchResultSchema, s as ModelCompletionSchema, u as ModelRequestPolicy, v as ModelRole, w as ModelRoleSchema, x as PanelDecisionSchema, y as competitorContent, z as competitorCost, B as competitorOutputTokens, D as competitorReasoningTokens } from './reports-4CejmOHf.cjs';
6
+ import { d as CompleteArenaTask, B as BenchmarkCategory, A as ArenaTask } from './tasks-CpaCJ6JE.cjs';
7
+ export { a as BenchmarkCategorySchema, C as CATEGORIES, b as CATEGORY_CLUSTERS, c as CATEGORY_META, M as METHODOLOGY_VERSION, T as TaskArtifact, e as TaskArtifactSchema, f as TaskPrivate, g as TaskPrivateSchema, h as TaskPublic, i as TaskPublicSchema } from './tasks-CpaCJ6JE.cjs';
8
+ import OpenAI from 'openai';
9
+ export { PrivateHalf, TASKS_PER_CATEGORY, TASKS_PER_CLUSTER, TaskLoader, buildCompetitorPrompt, competitorPromptPolicyHash, defaultTaskRoot, mergePrivateHalves, validatePublicTaskFile } from './tasks.cjs';
10
+ import 'zod';
11
+
12
+ declare class ArenaRunner {
13
+ private readonly gateway;
14
+ private readonly store;
15
+ private readonly onEvent?;
16
+ private readonly judges;
17
+ private readonly logger;
18
+ constructor(gateway: OpenRouterGateway, store: ArenaStore, onEvent?: ArenaEventSink | undefined, logger?: ArenaLogger);
19
+ private emit;
20
+ private observeCancellation;
21
+ private cancelRun;
22
+ private prepareRun;
23
+ run(config: ArenaRunConfig, tasks: CompleteArenaTask[], execution?: ArenaExecutionOptions): Promise<ArenaRunResult>;
24
+ private runMatch;
25
+ /** Surface signals that make a journaled response untrustworthy or a task too easy. */
26
+ private inspectResponse;
27
+ private runCompetitor;
28
+ }
29
+
30
+ declare class ArenaCancellationError extends Error {
31
+ constructor(message?: string);
32
+ }
33
+ declare function isArenaCancellationError(error: unknown): error is ArenaCancellationError;
34
+ declare function throwIfCancelled(signal?: AbortSignal): void;
35
+
36
+ declare const ELO_INITIAL = 1000;
37
+ declare const ELO_K = 32;
38
+ declare function expectedScore(ratingA: number, ratingB: number): number;
39
+ declare function applyEloWin(ratingA: number, ratingB: number, winner: 'a' | 'b'): {
40
+ ratingA: number;
41
+ ratingB: number;
42
+ };
43
+
44
+ /** Remove explicit competitor identity claims before an answer crosses into a judge prompt. */
45
+ declare function anonymizeCompetitorOutput(content: string): string;
46
+ declare function buildJudgePayload(task: CompleteArenaTask, modelAResponse: string, modelBResponse: string): string;
47
+ declare function judgePromptPolicyHash(category: BenchmarkCategory): string;
48
+ declare function judgeSystemPrompt(category: BenchmarkCategory): string;
49
+ declare class JudgePanel {
50
+ private readonly gateway;
51
+ private readonly onEvent?;
52
+ private readonly swapForJudge;
53
+ private readonly logger;
54
+ constructor(gateway: OpenRouterGateway, onEvent?: ArenaEventSink | undefined, logger?: ArenaLogger, swapForJudge?: (matchId: string, judgeId: string) => boolean);
55
+ judge(input: {
56
+ match: ScheduledMatch;
57
+ task: CompleteArenaTask;
58
+ responseA: CompetitorSuccess;
59
+ responseB: CompetitorSuccess;
60
+ }, signal?: AbortSignal): Promise<PanelDecision>;
61
+ private runJudge;
62
+ }
63
+
64
+ interface MockOpenRouterOptions {
65
+ competitorText?: string;
66
+ judgeWinner?: 'MODEL_A' | 'MODEL_B';
67
+ chunkDelayMs?: number;
68
+ }
69
+ declare class MockOpenRouterGateway implements OpenRouterGateway {
70
+ private readonly options;
71
+ constructor(options?: MockOpenRouterOptions);
72
+ validateModel(_model: ModelRegistryEntry): Promise<void>;
73
+ complete(request: ChatRequest): Promise<ModelCompletion>;
74
+ }
75
+
76
+ declare const MODEL_REGISTRY: Record<string, ModelRegistryEntry>;
77
+ declare const SOL_FABLE_PILOT_COMPETITOR_IDS: readonly ["openai/gpt-5.6-sol", "anthropic/claude-fable-5"];
78
+ declare function listModels(role?: ModelRegistryEntry['role']): ModelRegistryEntry[];
79
+ /**
80
+ * Resolve an optional run roster in registry order so repeated CLI flags are
81
+ * order-insensitive while the existing default schedule remains unchanged.
82
+ */
83
+ declare function resolveCompetitorRoster(requestedCompetitorIds?: readonly string[]): ModelRegistryEntry[];
84
+ declare function getModel(modelId: string): ModelRegistryEntry;
85
+
86
+ declare function isRetryableError(message: string): boolean;
87
+ declare function sanitizeError(error: unknown): string;
88
+ declare class OpenRouterClient implements OpenRouterGateway {
89
+ private readonly client;
90
+ private readonly apiKey;
91
+ private readonly logger;
92
+ constructor(apiKey: string, logger?: ArenaLogger);
93
+ complete(request: ChatRequest): Promise<ModelCompletion>;
94
+ /**
95
+ * Fetch OpenRouter's own record of a journaled generation. This is the
96
+ * ground truth for native token counts, reasoning usage, provider routing,
97
+ * and upstream latency — use it to verify what the stream reported.
98
+ */
99
+ fetchGeneration(generationId: string): Promise<Record<string, unknown>>;
100
+ validateModel(model: ModelRegistryEntry, signal?: AbortSignal): Promise<void>;
101
+ }
102
+ declare function parseJudgeVerdict(content: string): {
103
+ winner: "MODEL_A" | "MODEL_B";
104
+ confidence: number;
105
+ rationale: string;
106
+ criteria: {
107
+ correctness: string;
108
+ grounding: string;
109
+ constraintHandling: string;
110
+ completeness: string;
111
+ };
112
+ violations: string[];
113
+ };
114
+
115
+ declare const MAX_PROMPT_CHARS = 180000;
116
+ declare function assertPromptSize(request: ChatRequest): void;
117
+ declare function judgeVerdictJsonSchema(): Record<string, unknown>;
118
+ declare function runOpenRouterAttempt(client: OpenAI, request: ChatRequest, attempt: number, signal: AbortSignal): Promise<ModelCompletion>;
119
+
120
+ interface VerificationOptions {
121
+ manifestForRun?: (runId: string) => RunManifest | null;
122
+ requireManifests?: boolean;
123
+ }
124
+ interface VerifiedJournal {
125
+ category: BenchmarkCategory;
126
+ methodologyVersion: string | null;
127
+ matches: MatchResult[];
128
+ ratings: Record<string, number>;
129
+ points: Record<string, number>;
130
+ runs: string[];
131
+ warnings: string[];
132
+ }
133
+ declare function verifyJournal(input: MatchResult[], category: BenchmarkCategory, options?: VerificationOptions): VerifiedJournal;
134
+ declare function verifiedEloState(matches: MatchResult[], category: BenchmarkCategory): EloState;
135
+
136
+ interface SnapshotOptions extends VerificationOptions {
137
+ /** Seed empty standings with this run roster; defaults to every enabled competitor. */
138
+ competitorIds?: readonly string[];
139
+ }
140
+ declare function buildSnapshot(matches: MatchResult[], category: BenchmarkCategory, options?: SnapshotOptions): ArenaSnapshot;
141
+ declare function renderMarkdown(snapshot: ArenaSnapshot): string;
142
+ declare function writeReports(store: {
143
+ category: BenchmarkCategory;
144
+ readAll(): MatchResult[];
145
+ readRunManifest?(runId: string): RunManifest | null;
146
+ writeSnapshot(s: ArenaSnapshot): void;
147
+ writeMarkdown(s: string): void;
148
+ }, options?: SnapshotOptions): ArenaSnapshot;
149
+
150
+ declare function scheduleMatches(input: {
151
+ category: BenchmarkCategory;
152
+ seed: string;
153
+ count: number;
154
+ modelIds: string[];
155
+ tasks: ArenaTask[];
156
+ /** Production runs derive this from a versioned run manifest. */
157
+ runId?: string;
158
+ }): ScheduledMatch[];
159
+
160
+ /**
161
+ * A judged reasoning match at high effort that returns this fast almost always
162
+ * means the task was too easy, the reasoning parameter was dropped, or the
163
+ * request failed silently. Flag it either way — a human decides.
164
+ */
165
+ declare const FAST_RESPONSE_MS = 5000;
166
+ declare const LOW_OUTPUT_TOKENS = 150;
167
+ interface TriageAnomaly {
168
+ matchId: string;
169
+ scheduleIndex: number;
170
+ taskId: string;
171
+ modelId: string | null;
172
+ flag: string;
173
+ detail: string;
174
+ }
175
+ interface ModelTriage {
176
+ matches: number;
177
+ failures: number;
178
+ wins: number;
179
+ avgLatencyMs: number | null;
180
+ avgOutputTokens: number | null;
181
+ reasoningReported: number;
182
+ }
183
+ interface RunTriage {
184
+ runId: string;
185
+ seed: string;
186
+ firstTimestamp: string;
187
+ matches: number;
188
+ outcomes: {
189
+ judged: number;
190
+ forfeit: number;
191
+ 'no-contest': number;
192
+ };
193
+ totalCostUsd: number;
194
+ errorClasses: Record<string, number>;
195
+ models: Record<string, ModelTriage>;
196
+ judge: {
197
+ validVotes: number;
198
+ abstentions: number;
199
+ unanimous: number;
200
+ split: number;
201
+ avgConfidence: number | null;
202
+ };
203
+ anomalies: TriageAnomaly[];
204
+ }
205
+ declare function classifyError(message: string): string;
206
+ /** Flags that make a single competitor response worth a second look. */
207
+ declare function detectResponseAnomalies(response: CompetitorResponse): string[];
208
+ declare function triageJournal(results: MatchResult[]): RunTriage[];
209
+ declare function formatTriage(reports: RunTriage[]): string;
210
+
211
+ declare const PACKAGE_NAME: string;
212
+ declare const ENGINE_VERSION: string;
213
+
214
+ export { ArenaCancellationError, ArenaEventSink, ArenaExecutionOptions, ArenaLogger, ArenaRunConfig, ArenaRunResult, ArenaRunner, ArenaSnapshot, ArenaStore, ArenaTask, BenchmarkCategory, ChatRequest, CompetitorResponse, CompetitorSuccess, CompleteArenaTask, ELO_INITIAL, ELO_K, ENGINE_VERSION, EloState, FAST_RESPONSE_MS, JudgePanel, LOW_OUTPUT_TOKENS, MAX_PROMPT_CHARS, MODEL_REGISTRY, MatchResult, MockOpenRouterGateway, type MockOpenRouterOptions, ModelCompletion, ModelRegistryEntry, type ModelTriage, OpenRouterClient, OpenRouterGateway, PACKAGE_NAME, PanelDecision, RunManifest, type RunTriage, SOL_FABLE_PILOT_COMPETITOR_IDS, ScheduledMatch, type SnapshotOptions, type TriageAnomaly, type VerificationOptions, type VerifiedJournal, anonymizeCompetitorOutput, applyEloWin, assertPromptSize, buildJudgePayload, buildSnapshot, classifyError, detectResponseAnomalies, expectedScore, formatTriage, getModel, isArenaCancellationError, isRetryableError, judgePromptPolicyHash, judgeSystemPrompt, judgeVerdictJsonSchema, listModels, parseJudgeVerdict, renderMarkdown, resolveCompetitorRoster, runOpenRouterAttempt, sanitizeError, scheduleMatches, throwIfCancelled, triageJournal, verifiedEloState, verifyJournal, writeReports };