@clipboard-health/tribunal 1.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/tribunal/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { ModelRole, ModelSpec } from "./models.ts";
2
+ import type { CallMetadata, TribunalProgressHandler, TribunalProgressStatus, TribunalRequest, TribunalResponse } from "./tribunal.ts";
3
+ export type IntermediateOutputRunStatus = "running" | "completed" | "failed";
4
+ export interface IntermediateOutputEvent {
5
+ at: string;
6
+ role: ModelRole;
7
+ status: TribunalProgressStatus;
8
+ model: ModelSpec;
9
+ latencyMs?: number;
10
+ errorMessage?: string;
11
+ }
12
+ export interface IntermediateOutputCall {
13
+ role: ModelRole;
14
+ status: TribunalProgressStatus;
15
+ model: ModelSpec;
16
+ startedAt?: string;
17
+ completedAt?: string;
18
+ failedAt?: string;
19
+ latencyMs?: number;
20
+ metadata?: CallMetadata;
21
+ output?: unknown;
22
+ errorMessage?: string;
23
+ }
24
+ export interface IntermediateOutputSnapshot {
25
+ version: 1;
26
+ status: IntermediateOutputRunStatus;
27
+ request: TribunalRequest;
28
+ startedAt: string;
29
+ updatedAt: string;
30
+ events: IntermediateOutputEvent[];
31
+ calls: Partial<Record<ModelRole, IntermediateOutputCall>>;
32
+ response?: TribunalResponse;
33
+ errorMessage?: string;
34
+ }
35
+ export interface IntermediateOutputRecorder {
36
+ filePath: string;
37
+ onProgress: TribunalProgressHandler;
38
+ markCompleted: (response: TribunalResponse) => Promise<void>;
39
+ markFailed: (error: unknown) => Promise<void>;
40
+ }
41
+ export interface CreateIntermediateOutputRecorderInput {
42
+ filePath: string;
43
+ request: TribunalRequest;
44
+ now?: () => Date;
45
+ makeDirectory?: (path: string) => Promise<void>;
46
+ writeFile?: (path: string, contents: string) => Promise<void>;
47
+ }
48
+ export declare function createDefaultIntermediateOutputPath(input: {
49
+ cwd: string;
50
+ now?: () => Date;
51
+ }): string;
52
+ export declare function createIntermediateOutputRecorder(input: CreateIntermediateOutputRecorderInput): Promise<IntermediateOutputRecorder>;
@@ -0,0 +1,137 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import { dirname, resolve } from "node:path";
3
+ const INTERMEDIATE_OUTPUT_DIRECTORY = ".tribunal/runs";
4
+ export function createDefaultIntermediateOutputPath(input) {
5
+ const { cwd, now = createDate } = input;
6
+ const timestamp = formatPathTimestamp(now());
7
+ return resolve(cwd, INTERMEDIATE_OUTPUT_DIRECTORY, `${timestamp}.json`);
8
+ }
9
+ export async function createIntermediateOutputRecorder(input) {
10
+ const { filePath, makeDirectory = makeDirectoryOnDisk, now = createDate, request, writeFile: writeFileToDisk = writeFileOnDisk, } = input;
11
+ const startedAt = formatTimestamp(now());
12
+ const snapshot = {
13
+ calls: {},
14
+ events: [],
15
+ request,
16
+ startedAt,
17
+ status: "running",
18
+ updatedAt: startedAt,
19
+ version: 1,
20
+ };
21
+ let writeQueue = Promise.resolve();
22
+ await makeDirectory(dirname(filePath));
23
+ await persist(startedAt);
24
+ async function onProgress(event) {
25
+ const timestamp = formatTimestamp(now());
26
+ snapshot.events.push(createEventRecord({ event, timestamp }));
27
+ snapshot.calls[event.role] = createCallRecord({
28
+ event,
29
+ existingCall: snapshot.calls[event.role],
30
+ timestamp,
31
+ });
32
+ await persist(timestamp);
33
+ }
34
+ async function markCompleted(response) {
35
+ const timestamp = formatTimestamp(now());
36
+ snapshot.status = "completed";
37
+ snapshot.response = response;
38
+ await persist(timestamp);
39
+ }
40
+ async function markFailed(error) {
41
+ const timestamp = formatTimestamp(now());
42
+ snapshot.status = "failed";
43
+ snapshot.errorMessage = formatErrorMessage(error);
44
+ await persist(timestamp);
45
+ }
46
+ async function persist(timestamp) {
47
+ snapshot.updatedAt = timestamp;
48
+ const contents = `${JSON.stringify(snapshot, undefined, 2)}\n`;
49
+ writeQueue = writeQueuedSnapshot({
50
+ contents,
51
+ filePath,
52
+ previousWrite: writeQueue,
53
+ writeFile: writeFileToDisk,
54
+ });
55
+ await writeQueue;
56
+ }
57
+ return { filePath, markCompleted, markFailed, onProgress };
58
+ }
59
+ async function writeQueuedSnapshot(input) {
60
+ const { contents, filePath, previousWrite, writeFile: writeSnapshot } = input;
61
+ try {
62
+ await previousWrite;
63
+ }
64
+ catch {
65
+ // Keep later snapshots possible after a transient write failure.
66
+ }
67
+ await writeSnapshot(filePath, contents);
68
+ }
69
+ function createEventRecord(input) {
70
+ const { event, timestamp } = input;
71
+ const record = {
72
+ at: timestamp,
73
+ model: event.model,
74
+ role: event.role,
75
+ status: event.status,
76
+ };
77
+ if (event.latencyMs !== undefined) {
78
+ record.latencyMs = event.latencyMs;
79
+ }
80
+ if (event.errorMessage !== undefined) {
81
+ record.errorMessage = event.errorMessage;
82
+ }
83
+ return record;
84
+ }
85
+ function createCallRecord(input) {
86
+ const { event, existingCall, timestamp } = input;
87
+ const record = {
88
+ ...existingCall,
89
+ model: event.model,
90
+ role: event.role,
91
+ status: event.status,
92
+ };
93
+ if (event.status === "started") {
94
+ record.startedAt = timestamp;
95
+ return record;
96
+ }
97
+ if (event.status === "completed") {
98
+ record.completedAt = timestamp;
99
+ assignCompletedCallFields(record, event);
100
+ return record;
101
+ }
102
+ record.failedAt = timestamp;
103
+ if (event.errorMessage !== undefined) {
104
+ record.errorMessage = event.errorMessage;
105
+ }
106
+ return record;
107
+ }
108
+ function assignCompletedCallFields(record, event) {
109
+ if (event.latencyMs !== undefined) {
110
+ record.latencyMs = event.latencyMs;
111
+ }
112
+ if (event.metadata !== undefined) {
113
+ record.metadata = event.metadata;
114
+ }
115
+ if (event.output !== undefined) {
116
+ record.output = event.output;
117
+ }
118
+ }
119
+ async function makeDirectoryOnDisk(path) {
120
+ await mkdir(path, { recursive: true });
121
+ }
122
+ async function writeFileOnDisk(path, contents) {
123
+ await writeFile(path, contents, "utf8");
124
+ }
125
+ function createDate() {
126
+ return new Date();
127
+ }
128
+ function formatPathTimestamp(date) {
129
+ return date.toISOString().replaceAll(":", "-").replaceAll(".", "-");
130
+ }
131
+ function formatTimestamp(date) {
132
+ return date.toISOString();
133
+ }
134
+ function formatErrorMessage(error) {
135
+ return error instanceof Error ? error.message : String(error);
136
+ }
137
+ //# sourceMappingURL=intermediates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intermediates.js","sourceRoot":"","sources":["../../../../packages/tribunal/src/intermediates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { LanguageModel } from "ai";
2
+ import type { Role } from "./schemas.ts";
3
+ type ProviderId = "anthropic" | "openai" | "google";
4
+ export type ModelRole = Role | "deliberator";
5
+ export interface ModelSpec {
6
+ provider: ProviderId;
7
+ modelId: string;
8
+ }
9
+ interface ModelOverride {
10
+ role: Role;
11
+ model: ModelSpec;
12
+ }
13
+ export interface ResolveModelSetInput {
14
+ overrides?: Partial<Record<ModelRole, ModelSpec>>;
15
+ environment?: Record<string, string | undefined>;
16
+ }
17
+ export declare const DEFAULT_MODELS: Record<ModelRole, ModelSpec>;
18
+ export declare function parseModelSpec(input: string): ModelSpec;
19
+ export declare function parseModelOverride(input: string): ModelOverride;
20
+ export declare function parseModelRole(input: string): ModelRole;
21
+ export declare function resolveModelSet(input?: ResolveModelSetInput): Record<ModelRole, ModelSpec>;
22
+ export declare function resolveLanguageModel(spec: ModelSpec): LanguageModel;
23
+ export declare function formatModelSpec(spec: ModelSpec): string;
24
+ export {};
package/src/models.js ADDED
@@ -0,0 +1,126 @@
1
+ import { anthropic } from "@ai-sdk/anthropic";
2
+ import { google } from "@ai-sdk/google";
3
+ import { openai } from "@ai-sdk/openai";
4
+ export const DEFAULT_MODELS = {
5
+ advocate: { provider: "anthropic", modelId: "claude-opus-4-7" },
6
+ skeptic: { provider: "openai", modelId: "gpt-5.4" },
7
+ analyst: { provider: "google", modelId: "gemini-3.1-pro-preview" },
8
+ deliberator: { provider: "anthropic", modelId: "claude-opus-4-7" },
9
+ };
10
+ const MODEL_ENVIRONMENT_VARIABLES = {
11
+ advocate: "TRIBUNAL_ADVOCATE_MODEL",
12
+ skeptic: "TRIBUNAL_SKEPTIC_MODEL",
13
+ analyst: "TRIBUNAL_ANALYST_MODEL",
14
+ deliberator: "TRIBUNAL_DELIBERATOR_MODEL",
15
+ };
16
+ export function parseModelSpec(input) {
17
+ const separatorIndex = input.indexOf(":");
18
+ if (separatorIndex <= 0 || separatorIndex === input.length - 1) {
19
+ throw new Error(`Model must use provider:model-id format. Received: ${input}`);
20
+ }
21
+ const providerInput = input.slice(0, separatorIndex).trim();
22
+ const modelId = input.slice(separatorIndex + 1).trim();
23
+ if (providerInput.length === 0 || modelId.length === 0) {
24
+ throw new Error(`Model must use provider:model-id format. Received: ${input}`);
25
+ }
26
+ const provider = parseProviderId(providerInput);
27
+ return { provider, modelId };
28
+ }
29
+ export function parseModelOverride(input) {
30
+ const separatorIndex = input.indexOf("=");
31
+ if (separatorIndex <= 0 || separatorIndex === input.length - 1) {
32
+ throw new Error(`Model override must use role=provider:model-id format. Received: ${input}`);
33
+ }
34
+ const roleInput = input.slice(0, separatorIndex);
35
+ const modelInput = input.slice(separatorIndex + 1);
36
+ if (roleInput === "deliberator") {
37
+ throw new Error("Use --deliberator to override the deliberator model.");
38
+ }
39
+ return {
40
+ role: parseRole(roleInput),
41
+ model: parseModelSpec(modelInput),
42
+ };
43
+ }
44
+ export function parseModelRole(input) {
45
+ switch (input) {
46
+ case "advocate": {
47
+ return input;
48
+ }
49
+ case "skeptic": {
50
+ return input;
51
+ }
52
+ case "analyst": {
53
+ return input;
54
+ }
55
+ case "deliberator": {
56
+ return input;
57
+ }
58
+ default: {
59
+ throw new Error(`Unknown model role: ${input}`);
60
+ }
61
+ }
62
+ }
63
+ export function resolveModelSet(input = {}) {
64
+ const { environment = {}, overrides = {} } = input;
65
+ return {
66
+ advocate: resolveModelForRole({ environment, overrides, role: "advocate" }),
67
+ skeptic: resolveModelForRole({ environment, overrides, role: "skeptic" }),
68
+ analyst: resolveModelForRole({ environment, overrides, role: "analyst" }),
69
+ deliberator: resolveModelForRole({ environment, overrides, role: "deliberator" }),
70
+ };
71
+ }
72
+ export function resolveLanguageModel(spec) {
73
+ switch (spec.provider) {
74
+ case "anthropic": {
75
+ return anthropic(spec.modelId);
76
+ }
77
+ case "openai": {
78
+ return openai(spec.modelId);
79
+ }
80
+ case "google": {
81
+ return google(spec.modelId);
82
+ }
83
+ default: {
84
+ throw new Error("Unknown provider.");
85
+ }
86
+ }
87
+ }
88
+ export function formatModelSpec(spec) {
89
+ return `${spec.provider}:${spec.modelId}`;
90
+ }
91
+ function resolveModelForRole(input) {
92
+ const { environment, overrides, role } = input;
93
+ const override = overrides[role];
94
+ if (override !== undefined) {
95
+ return override;
96
+ }
97
+ const environmentValue = environment[MODEL_ENVIRONMENT_VARIABLES[role]];
98
+ if (environmentValue !== undefined && environmentValue.trim().length > 0) {
99
+ return parseModelSpec(environmentValue);
100
+ }
101
+ return DEFAULT_MODELS[role];
102
+ }
103
+ function parseProviderId(input) {
104
+ switch (input) {
105
+ case "anthropic": {
106
+ return input;
107
+ }
108
+ case "openai": {
109
+ return input;
110
+ }
111
+ case "google": {
112
+ return input;
113
+ }
114
+ default: {
115
+ throw new Error(`Unknown provider: ${input}`);
116
+ }
117
+ }
118
+ }
119
+ function parseRole(input) {
120
+ const role = parseModelRole(input);
121
+ if (role === "deliberator") {
122
+ throw new Error(`Unknown perspective role: ${input}`);
123
+ }
124
+ return role;
125
+ }
126
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../packages/tribunal/src/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ModelRole, type ModelSpec } from "./models.ts";
2
+ export type ReasoningLevel = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
3
+ export type ReasoningOverrides = Partial<Record<ModelRole, ReasoningLevel>>;
4
+ export interface ReasoningOverride {
5
+ role: ModelRole;
6
+ level: ReasoningLevel;
7
+ }
8
+ type ReasoningProviderOptionValue = string | Record<string, string>;
9
+ export type ReasoningProviderOptions = Record<string, Record<string, ReasoningProviderOptionValue>>;
10
+ export declare function parseReasoningOverride(input: string): ReasoningOverride;
11
+ export declare function parseReasoningLevel(input: string): ReasoningLevel;
12
+ export declare function createReasoningProviderOptions(input: {
13
+ model: ModelSpec;
14
+ reasoningLevel: ReasoningLevel | undefined;
15
+ }): ReasoningProviderOptions | undefined;
16
+ export {};
@@ -0,0 +1,84 @@
1
+ import { parseModelRole } from "./models.js";
2
+ const SUPPORTED_REASONING_LEVELS_BY_PROVIDER = {
3
+ anthropic: new Set(["low", "medium", "high", "xhigh", "max"]),
4
+ google: new Set(["minimal", "low", "medium", "high"]),
5
+ openai: new Set(["none", "minimal", "low", "medium", "high", "xhigh"]),
6
+ };
7
+ export function parseReasoningOverride(input) {
8
+ const separatorIndex = input.indexOf("=");
9
+ if (separatorIndex <= 0 || separatorIndex === input.length - 1) {
10
+ throw new Error(`Reasoning override must use role=level format. Received: ${input}`);
11
+ }
12
+ const roleInput = input.slice(0, separatorIndex).trim();
13
+ const levelInput = input.slice(separatorIndex + 1).trim();
14
+ if (roleInput.length === 0 || levelInput.length === 0) {
15
+ throw new Error(`Reasoning override must use role=level format. Received: ${input}`);
16
+ }
17
+ return {
18
+ level: parseReasoningLevel(levelInput),
19
+ role: parseModelRole(roleInput),
20
+ };
21
+ }
22
+ export function parseReasoningLevel(input) {
23
+ switch (input) {
24
+ case "none": {
25
+ return input;
26
+ }
27
+ case "minimal": {
28
+ return input;
29
+ }
30
+ case "low": {
31
+ return input;
32
+ }
33
+ case "medium": {
34
+ return input;
35
+ }
36
+ case "high": {
37
+ return input;
38
+ }
39
+ case "xhigh": {
40
+ return input;
41
+ }
42
+ case "max": {
43
+ return input;
44
+ }
45
+ default: {
46
+ throw new Error(`Unknown reasoning level: ${input}`);
47
+ }
48
+ }
49
+ }
50
+ export function createReasoningProviderOptions(input) {
51
+ const { model, reasoningLevel } = input;
52
+ if (reasoningLevel === undefined) {
53
+ return undefined;
54
+ }
55
+ assertReasoningLevelSupported(model.provider, reasoningLevel);
56
+ switch (model.provider) {
57
+ case "openai": {
58
+ return { openai: { reasoningEffort: reasoningLevel } };
59
+ }
60
+ case "google": {
61
+ return {
62
+ google: {
63
+ thinkingConfig: { thinkingLevel: reasoningLevel },
64
+ },
65
+ };
66
+ }
67
+ case "anthropic": {
68
+ return { anthropic: { effort: reasoningLevel } };
69
+ }
70
+ default: {
71
+ throw new Error("Unknown provider.");
72
+ }
73
+ }
74
+ }
75
+ function throwUnsupportedReasoningLevel(provider, level) {
76
+ throw new Error(`Reasoning level ${level} is not supported for ${provider} models.`);
77
+ }
78
+ function assertReasoningLevelSupported(provider, level) {
79
+ if (SUPPORTED_REASONING_LEVELS_BY_PROVIDER[provider].has(level)) {
80
+ return;
81
+ }
82
+ throwUnsupportedReasoningLevel(provider, level);
83
+ }
84
+ //# sourceMappingURL=reasoning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning.js","sourceRoot":"","sources":["../../../../packages/tribunal/src/reasoning.ts"],"names":[],"mappings":"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"}