tnega 0.1.0 → 0.3.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.
- package/README.md +115 -189
- package/dist/agent.js +2907 -0
- package/dist/agent.js.map +7 -0
- package/dist/bin.js +32512 -4419
- package/dist/bin.js.map +4 -4
- package/dist/cli-runtime.js +33404 -0
- package/dist/cli-runtime.js.map +7 -0
- package/dist/coding-agent.js +19088 -0
- package/dist/coding-agent.js.map +7 -0
- package/dist/core.js +1398 -0
- package/dist/core.js.map +7 -0
- package/dist/eval.js +23905 -0
- package/dist/eval.js.map +7 -0
- package/dist/events.js +1215 -0
- package/dist/events.js.map +7 -0
- package/dist/evolve.js +18303 -0
- package/dist/evolve.js.map +7 -0
- package/dist/index.js +33087 -4450
- package/dist/index.js.map +4 -4
- package/dist/llm.js +1016 -0
- package/dist/llm.js.map +7 -0
- package/dist/services.js +1142 -0
- package/dist/services.js.map +7 -0
- package/dist/session.js +1045 -0
- package/dist/session.js.map +7 -0
- package/dist/tools.js +2577 -0
- package/dist/tools.js.map +7 -0
- package/dist/types/packages/agent/src/definition.d.ts +17 -0
- package/dist/types/packages/agent/src/inbox-durable.d.ts +54 -0
- package/dist/types/packages/agent/src/index.d.ts +7 -0
- package/dist/types/packages/agent/src/live.d.ts +115 -0
- package/dist/types/packages/agent/src/llm-service.d.ts +32 -0
- package/dist/types/packages/agent/src/prompt.d.ts +55 -0
- package/dist/types/packages/agent/src/service.d.ts +68 -0
- package/dist/types/packages/agent/src/types.d.ts +215 -0
- package/dist/types/packages/benchmark/src/bigcodebench.d.ts +6 -0
- package/dist/types/packages/benchmark/src/humaneval.d.ts +11 -0
- package/dist/types/packages/benchmark/src/index.d.ts +9 -0
- package/dist/types/packages/benchmark/src/manifest.d.ts +10 -0
- package/dist/types/packages/benchmark/src/mbpp.d.ts +10 -0
- package/dist/types/packages/benchmark/src/parquet.d.ts +2 -0
- package/dist/types/packages/benchmark/src/stdlib.d.ts +3 -0
- package/dist/types/packages/benchmark/src/swebench.d.ts +2 -0
- package/dist/types/packages/benchmark/src/types.d.ts +58 -0
- package/dist/types/packages/cli/src/bin.d.ts +2 -0
- package/dist/types/packages/cli/src/commands.d.ts +146 -0
- package/dist/types/packages/cli/src/config.d.ts +28 -0
- package/dist/types/packages/cli/src/index.d.ts +9 -0
- package/dist/types/packages/cli/src/profile-file.d.ts +26 -0
- package/dist/types/packages/cli/src/profile.d.ts +9 -0
- package/dist/types/packages/cli/src/server.d.ts +14 -0
- package/dist/types/packages/cli/src/store.d.ts +60 -0
- package/dist/types/packages/cli/src/yaml.d.ts +1 -0
- package/dist/types/packages/coding-agent/src/codingAgent.d.ts +25 -0
- package/dist/types/packages/coding-agent/src/index.d.ts +6 -0
- package/dist/types/packages/coding-agent/src/mcp.d.ts +24 -0
- package/dist/types/packages/coding-agent/src/plan.d.ts +13 -0
- package/dist/types/packages/coding-agent/src/skills.d.ts +12 -0
- package/dist/types/packages/coding-agent/src/slash.d.ts +28 -0
- package/dist/types/packages/coding-agent/src/types.d.ts +41 -0
- package/dist/types/packages/core/src/context.d.ts +28 -0
- package/dist/types/packages/core/src/events.d.ts +57 -0
- package/dist/types/packages/core/src/fiber.d.ts +79 -0
- package/dist/types/packages/core/src/index.d.ts +10 -0
- package/dist/types/packages/core/src/invariant.d.ts +45 -0
- package/dist/types/packages/core/src/logger.d.ts +48 -0
- package/dist/types/packages/core/src/reflect.d.ts +42 -0
- package/dist/types/packages/core/src/registry.d.ts +54 -0
- package/dist/types/packages/core/src/service.d.ts +19 -0
- package/dist/types/packages/core/src/utils.d.ts +54 -0
- package/dist/types/packages/eval/src/codingRuntime.d.ts +18 -0
- package/dist/types/packages/eval/src/index.d.ts +5 -0
- package/dist/types/packages/eval/src/policy.d.ts +8 -0
- package/dist/types/packages/eval/src/runner.d.ts +31 -0
- package/dist/types/packages/eval/src/service.d.ts +23 -0
- package/dist/types/packages/eval/src/strategies.d.ts +58 -0
- package/dist/types/packages/eval/src/trace.d.ts +7 -0
- package/dist/types/packages/eval/src/types.d.ts +281 -0
- package/dist/types/packages/eval/src/utils.d.ts +5 -0
- package/dist/types/packages/eval/src/workspace.d.ts +17 -0
- package/dist/types/packages/evolve/src/diagnose.d.ts +9 -0
- package/dist/types/packages/evolve/src/index.d.ts +7 -0
- package/dist/types/packages/evolve/src/llm.d.ts +39 -0
- package/dist/types/packages/evolve/src/log.d.ts +26 -0
- package/dist/types/packages/evolve/src/select.d.ts +3 -0
- package/dist/types/packages/evolve/src/service.d.ts +29 -0
- package/dist/types/packages/evolve/src/types.d.ts +176 -0
- package/dist/types/packages/llm/src/anthropic-messages.d.ts +4 -0
- package/dist/types/packages/llm/src/errors.d.ts +6 -0
- package/dist/types/packages/llm/src/index.d.ts +7 -0
- package/dist/types/packages/llm/src/models.d.ts +29 -0
- package/dist/types/packages/llm/src/openai.d.ts +4 -0
- package/dist/types/packages/llm/src/provider.d.ts +3 -0
- package/dist/types/packages/llm/src/shared.d.ts +15 -0
- package/dist/types/packages/llm/src/types.d.ts +13 -0
- package/dist/types/packages/session/src/index.d.ts +500 -0
- package/dist/types/packages/session/src/invariant.d.ts +33 -0
- package/dist/types/packages/tools/src/builtins.d.ts +25 -0
- package/dist/types/packages/tools/src/calc.d.ts +4 -0
- package/dist/types/packages/tools/src/execution.d.ts +31 -0
- package/dist/types/packages/tools/src/index.d.ts +107 -0
- package/dist/types/packages/tools/src/path.d.ts +4 -0
- package/dist/types/packages/tools/src/policy.d.ts +14 -0
- package/dist/types/src/events.d.ts +1 -0
- package/dist/types/src/index.d.ts +15 -0
- package/dist/types/src/services.d.ts +4 -0
- package/dist/web/assets/index-45pokiBH.js +270 -0
- package/dist/web/assets/index-DCLL69Kz.css +1 -0
- package/dist/web/index.html +13 -0
- package/package.json +92 -35
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { Plugin } from "../../core/src/index.js";
|
|
2
|
+
import type { CandidatePreset, CompareResult, EvalRun, EvalRunOptions, RunBudget, Task, VerdictStatus } from "../../eval/src/index.js";
|
|
3
|
+
export interface CandidateMutation {
|
|
4
|
+
type: string;
|
|
5
|
+
description: string;
|
|
6
|
+
patch?: Record<string, unknown>;
|
|
7
|
+
config?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface Candidate {
|
|
10
|
+
name: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
config?: Record<string, unknown>;
|
|
13
|
+
model?: Record<string, unknown>;
|
|
14
|
+
plugin: Plugin;
|
|
15
|
+
mutation?: CandidateMutation;
|
|
16
|
+
rationale?: string;
|
|
17
|
+
}
|
|
18
|
+
export type CandidateSnapshot = Omit<Candidate, 'plugin'>;
|
|
19
|
+
export interface FailureMode {
|
|
20
|
+
taskId: string;
|
|
21
|
+
strategy: string;
|
|
22
|
+
status: VerdictStatus;
|
|
23
|
+
score: number;
|
|
24
|
+
reason?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface StrategySummary {
|
|
27
|
+
total: number;
|
|
28
|
+
passed: number;
|
|
29
|
+
failed: number;
|
|
30
|
+
errors: number;
|
|
31
|
+
}
|
|
32
|
+
export interface Diagnosis {
|
|
33
|
+
score: number;
|
|
34
|
+
total: number;
|
|
35
|
+
passed: number;
|
|
36
|
+
failed: number;
|
|
37
|
+
errors: number;
|
|
38
|
+
aborted: boolean;
|
|
39
|
+
abortedReason?: string;
|
|
40
|
+
failureModes: FailureMode[];
|
|
41
|
+
failingTasks: string[];
|
|
42
|
+
strategySummary: Record<string, StrategySummary>;
|
|
43
|
+
}
|
|
44
|
+
export interface ProposalContext {
|
|
45
|
+
baseline?: EvalRun;
|
|
46
|
+
diagnosis: Diagnosis;
|
|
47
|
+
iteration: number;
|
|
48
|
+
history: readonly ExperimentNode[];
|
|
49
|
+
rules: readonly ProposeRule[];
|
|
50
|
+
}
|
|
51
|
+
export type ProposeRuleResult = Candidate | readonly Candidate[] | null | undefined;
|
|
52
|
+
export interface ProposeRule {
|
|
53
|
+
id: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
apply(context: ProposalContext): ProposeRuleResult | Promise<ProposeRuleResult>;
|
|
56
|
+
}
|
|
57
|
+
export type ExperimentStatus = 'pending' | 'accepted' | 'rejected' | 'aborted' | 'error';
|
|
58
|
+
export interface GateCheck {
|
|
59
|
+
name: string;
|
|
60
|
+
ok: boolean;
|
|
61
|
+
detail: string;
|
|
62
|
+
}
|
|
63
|
+
export interface SelectionDecision {
|
|
64
|
+
status: ExperimentStatus;
|
|
65
|
+
reason: string;
|
|
66
|
+
checks: GateCheck[];
|
|
67
|
+
approved?: boolean;
|
|
68
|
+
requiresApproval?: boolean;
|
|
69
|
+
delta?: number;
|
|
70
|
+
regressions?: string[];
|
|
71
|
+
improvements?: string[];
|
|
72
|
+
abortedReason?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface ApprovalRequest {
|
|
75
|
+
nodeId: string;
|
|
76
|
+
candidate: CandidateSnapshot;
|
|
77
|
+
run: EvalRun;
|
|
78
|
+
baseline?: EvalRun;
|
|
79
|
+
}
|
|
80
|
+
export interface SelectionPolicy {
|
|
81
|
+
minScore?: number;
|
|
82
|
+
requiredStrategies?: string[];
|
|
83
|
+
safetyStrategies?: string[];
|
|
84
|
+
safetyTasks?: string[];
|
|
85
|
+
maxDegradation?: number;
|
|
86
|
+
maxRegressions?: number;
|
|
87
|
+
maxRegressionRatio?: number;
|
|
88
|
+
minDelta?: number;
|
|
89
|
+
minPairs?: number;
|
|
90
|
+
requireImprovement?: boolean;
|
|
91
|
+
requiresApproval?: boolean;
|
|
92
|
+
significance?: (compare: CompareResult, policy: SelectionPolicy) => boolean | Promise<boolean>;
|
|
93
|
+
}
|
|
94
|
+
export interface ExperimentNode {
|
|
95
|
+
id: string;
|
|
96
|
+
parentId?: string;
|
|
97
|
+
candidate: CandidateSnapshot;
|
|
98
|
+
run: EvalRun;
|
|
99
|
+
status: ExperimentStatus;
|
|
100
|
+
createdAt: number;
|
|
101
|
+
decision?: SelectionDecision;
|
|
102
|
+
}
|
|
103
|
+
export interface ExperimentLogData {
|
|
104
|
+
version: 1;
|
|
105
|
+
id: string;
|
|
106
|
+
createdAt: number;
|
|
107
|
+
updatedAt: number;
|
|
108
|
+
baselineId?: string;
|
|
109
|
+
nodes: Record<string, ExperimentNode>;
|
|
110
|
+
}
|
|
111
|
+
export interface ExperimentReplay {
|
|
112
|
+
node: ExperimentNode;
|
|
113
|
+
diagnosis: Diagnosis;
|
|
114
|
+
history: string[];
|
|
115
|
+
baseline?: ExperimentNode;
|
|
116
|
+
}
|
|
117
|
+
export type EvolveStepResult = {
|
|
118
|
+
kind: 'established';
|
|
119
|
+
node: ExperimentNode;
|
|
120
|
+
} | {
|
|
121
|
+
kind: 'accepted';
|
|
122
|
+
node: ExperimentNode;
|
|
123
|
+
} | {
|
|
124
|
+
kind: 'rejected';
|
|
125
|
+
node: ExperimentNode;
|
|
126
|
+
} | {
|
|
127
|
+
kind: 'aborted';
|
|
128
|
+
node: ExperimentNode;
|
|
129
|
+
} | {
|
|
130
|
+
kind: 'approval-pending';
|
|
131
|
+
node: ExperimentNode;
|
|
132
|
+
} | {
|
|
133
|
+
kind: 'no-candidate';
|
|
134
|
+
reason: string;
|
|
135
|
+
};
|
|
136
|
+
export interface EvolveStepOptions {
|
|
137
|
+
candidate?: Candidate;
|
|
138
|
+
establishBaseline?: boolean;
|
|
139
|
+
iteration?: number;
|
|
140
|
+
run?: Partial<EvalRunOptions>;
|
|
141
|
+
}
|
|
142
|
+
export interface EvolveOptions {
|
|
143
|
+
maxIterations?: number;
|
|
144
|
+
maxRuns?: number;
|
|
145
|
+
candidate?: Candidate;
|
|
146
|
+
run?: Partial<EvalRunOptions>;
|
|
147
|
+
}
|
|
148
|
+
export interface EvolvePluginConfig {
|
|
149
|
+
outputDir?: string;
|
|
150
|
+
logFile?: string;
|
|
151
|
+
policy?: SelectionPolicy;
|
|
152
|
+
rules?: ProposeRule[];
|
|
153
|
+
tasks?: readonly Task[];
|
|
154
|
+
strategyNames?: string[];
|
|
155
|
+
budget?: RunBudget;
|
|
156
|
+
cache?: boolean;
|
|
157
|
+
}
|
|
158
|
+
export interface EvolveRunEvent {
|
|
159
|
+
nodeId: string;
|
|
160
|
+
runId: string;
|
|
161
|
+
candidate: CandidateSnapshot;
|
|
162
|
+
}
|
|
163
|
+
export interface EvolveApprovalEvent {
|
|
164
|
+
node: ExperimentNode;
|
|
165
|
+
request: ApprovalRequest;
|
|
166
|
+
}
|
|
167
|
+
export interface EvolveDecisionEvent {
|
|
168
|
+
node: ExperimentNode;
|
|
169
|
+
decision: SelectionDecision;
|
|
170
|
+
}
|
|
171
|
+
export interface EvolveProposeEvent {
|
|
172
|
+
iteration: number;
|
|
173
|
+
baselineRunId?: string;
|
|
174
|
+
candidates: CandidateSnapshot[];
|
|
175
|
+
}
|
|
176
|
+
export type { CandidatePreset };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { anthropicMessagesAdapter, type AnthropicMessagesConfig, } from './anthropic-messages.js';
|
|
2
|
+
export { OpenAICompatibleError } from './errors.js';
|
|
3
|
+
export { DEFAULT_DEEPSEEK_MODEL, DEFAULT_MODEL, MODEL_CATALOG, lookupModel, type LlmProtocol, type ModelDefinition, type ModelPricing, type ModelPricingMeta, } from './models.js';
|
|
4
|
+
export { openaiCompatAdapter, listModels } from './openai.js';
|
|
5
|
+
export { createLlmAdapter } from './provider.js';
|
|
6
|
+
export { DEFAULT_LLM_MAX_RETRIES, DEFAULT_LLM_RETRY_DELAY_MS, DEFAULT_LLM_TIMEOUT_MS, DEFAULT_OPENCODE_GO_BASE_URL, assertOk, combineSignal, errorMessage, isAbortLike, isExternalAbort, isRetryableStatus, normalizeBaseUrl, parseArguments, parseJson, sleep, stringifyArguments, } from './shared.js';
|
|
7
|
+
export type { LlmConfig, OpenAICompatibleConfig } from './types.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type LlmProtocol = 'openai' | 'anthropic';
|
|
2
|
+
export interface ModelPricing {
|
|
3
|
+
/** USD per 1M input tokens */
|
|
4
|
+
input: number;
|
|
5
|
+
/** USD per 1M output tokens */
|
|
6
|
+
output: number;
|
|
7
|
+
/** USD per 1M cached input tokens, when the provider publishes a rate */
|
|
8
|
+
cachedRead?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ModelPricingMeta {
|
|
11
|
+
/** USD per 1M tokens for peak / off-peak tiers */
|
|
12
|
+
rates: ModelPricing | {
|
|
13
|
+
offPeak: ModelPricing;
|
|
14
|
+
peak: ModelPricing;
|
|
15
|
+
};
|
|
16
|
+
/** USD usage allowance included in the OpenCode Go subscription */
|
|
17
|
+
monthlyUsage: number;
|
|
18
|
+
}
|
|
19
|
+
export interface ModelDefinition {
|
|
20
|
+
id: string;
|
|
21
|
+
provider: 'opencode-go';
|
|
22
|
+
protocol: LlmProtocol;
|
|
23
|
+
contextWindow: number;
|
|
24
|
+
pricing: ModelPricingMeta;
|
|
25
|
+
}
|
|
26
|
+
export declare const DEFAULT_MODEL = "deepseek-v4-flash";
|
|
27
|
+
export declare const DEFAULT_DEEPSEEK_MODEL = "deepseek-v4-flash";
|
|
28
|
+
export declare const MODEL_CATALOG: readonly ModelDefinition[];
|
|
29
|
+
export declare function lookupModel(id: string | undefined): ModelDefinition | undefined;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LLMAdapter } from "../../agent/src/index.js";
|
|
2
|
+
import type { OpenAICompatibleConfig } from './types.js';
|
|
3
|
+
export declare function openaiCompatAdapter(config?: OpenAICompatibleConfig): LLMAdapter;
|
|
4
|
+
export declare function listModels(config?: OpenAICompatibleConfig): Promise<string[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const DEFAULT_OPENCODE_GO_BASE_URL = "https://opencode.ai/zen/go/v1";
|
|
2
|
+
export declare const DEFAULT_LLM_TIMEOUT_MS = 120000;
|
|
3
|
+
export declare const DEFAULT_LLM_MAX_RETRIES = 2;
|
|
4
|
+
export declare const DEFAULT_LLM_RETRY_DELAY_MS = 500;
|
|
5
|
+
export declare function combineSignal(signal: AbortSignal | undefined, timeoutMs: number): AbortSignal;
|
|
6
|
+
export declare function isRetryableStatus(status: number): boolean;
|
|
7
|
+
export declare function isExternalAbort(error: unknown, signal: AbortSignal | undefined): boolean;
|
|
8
|
+
export declare function isAbortLike(error: unknown): boolean;
|
|
9
|
+
export declare function errorMessage(error: unknown): string;
|
|
10
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
11
|
+
export declare function normalizeBaseUrl(baseUrl: string | undefined): string;
|
|
12
|
+
export declare function stringifyArguments(value: unknown): string;
|
|
13
|
+
export declare function parseArguments(raw: string): unknown;
|
|
14
|
+
export declare function assertOk(response: Response, redact?: string): Promise<void>;
|
|
15
|
+
export declare function parseJson(response: Response): Promise<unknown>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface LlmConfig {
|
|
2
|
+
apiKey?: string;
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
model?: string;
|
|
5
|
+
/** Force the wire protocol instead of inferring it from the model catalog. */
|
|
6
|
+
protocol?: 'anthropic' | 'openai';
|
|
7
|
+
temperature?: number;
|
|
8
|
+
maxTokens?: number;
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
maxRetries?: number;
|
|
11
|
+
retryDelayMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export type OpenAICompatibleConfig = LlmConfig;
|