@claude-flow/cli 3.10.4 → 3.10.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.
- package/dist/src/benchmarks/capability-tasks.d.ts +126 -0
- package/dist/src/benchmarks/capability-tasks.d.ts.map +1 -0
- package/dist/src/benchmarks/capability-tasks.js +147 -0
- package/dist/src/benchmarks/capability-tasks.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts +53 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.js +177 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts +51 -0
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent-gemini.js +352 -0
- package/dist/src/benchmarks/gaia-agent-gemini.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +18 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.js +253 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent.d.ts +198 -0
- package/dist/src/benchmarks/gaia-agent.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent.js +651 -0
- package/dist/src/benchmarks/gaia-agent.js.map +1 -0
- package/dist/src/benchmarks/gaia-causal-memory.d.ts +133 -0
- package/dist/src/benchmarks/gaia-causal-memory.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-causal-memory.js +281 -0
- package/dist/src/benchmarks/gaia-causal-memory.js.map +1 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +22 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.js +300 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.d.ts +105 -0
- package/dist/src/benchmarks/gaia-claude-p.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.js +269 -0
- package/dist/src/benchmarks/gaia-claude-p.js.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.js +168 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent-runner.py +556 -0
- package/dist/src/benchmarks/gaia-codeagent.d.ts +129 -0
- package/dist/src/benchmarks/gaia-codeagent.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.js +590 -0
- package/dist/src/benchmarks/gaia-codeagent.js.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts +33 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.js +241 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-convergence.d.ts +138 -0
- package/dist/src/benchmarks/gaia-convergence.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-convergence.js +260 -0
- package/dist/src/benchmarks/gaia-convergence.js.map +1 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.d.ts +19 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.js +246 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-critic.d.ts +123 -0
- package/dist/src/benchmarks/gaia-critic.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-critic.js +312 -0
- package/dist/src/benchmarks/gaia-critic.js.map +1 -0
- package/dist/src/benchmarks/gaia-critic.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-critic.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-critic.smoke.js +327 -0
- package/dist/src/benchmarks/gaia-critic.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts +22 -0
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag-pilot.js +158 -0
- package/dist/src/benchmarks/gaia-dag-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-dag.d.ts +110 -0
- package/dist/src/benchmarks/gaia-dag.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag.js +658 -0
- package/dist/src/benchmarks/gaia-dag.js.map +1 -0
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag.smoke.js +290 -0
- package/dist/src/benchmarks/gaia-dag.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-decomposer.d.ts +125 -0
- package/dist/src/benchmarks/gaia-decomposer.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-decomposer.js +350 -0
- package/dist/src/benchmarks/gaia-decomposer.js.map +1 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.js +228 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.d.ts +27 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.js +136 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts +17 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.js +106 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble.d.ts +103 -0
- package/dist/src/benchmarks/gaia-ensemble.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble.js +462 -0
- package/dist/src/benchmarks/gaia-ensemble.js.map +1 -0
- package/dist/src/benchmarks/gaia-extract.smoke.d.ts +45 -0
- package/dist/src/benchmarks/gaia-extract.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-extract.smoke.js +242 -0
- package/dist/src/benchmarks/gaia-extract.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts +17 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.js +168 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/features.d.ts +46 -0
- package/dist/src/benchmarks/gaia-hardness/features.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/features.js +170 -0
- package/dist/src/benchmarks/gaia-hardness/features.js.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.d.ts +105 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.js +260 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.js.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +235 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +51 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.js +179 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.js.map +1 -0
- package/dist/src/benchmarks/gaia-judge.d.ts +88 -0
- package/dist/src/benchmarks/gaia-judge.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-judge.js +437 -0
- package/dist/src/benchmarks/gaia-judge.js.map +1 -0
- package/dist/src/benchmarks/gaia-loader.d.ts +87 -0
- package/dist/src/benchmarks/gaia-loader.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-loader.js +326 -0
- package/dist/src/benchmarks/gaia-loader.js.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.d.ts +67 -0
- package/dist/src/benchmarks/gaia-mode-router.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.js +126 -0
- package/dist/src/benchmarks/gaia-mode-router.js.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts +15 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.js +131 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/file_read.d.ts +35 -0
- package/dist/src/benchmarks/gaia-tools/file_read.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/file_read.js +403 -0
- package/dist/src/benchmarks/gaia-tools/file_read.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +126 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.js +225 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js +276 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts +45 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.js +222 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js +169 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/index.d.ts +32 -0
- package/dist/src/benchmarks/gaia-tools/index.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/index.js +36 -0
- package/dist/src/benchmarks/gaia-tools/index.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts +27 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.js +226 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts +31 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.js +94 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts +13 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js +98 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/types.d.ts +62 -0
- package/dist/src/benchmarks/gaia-tools/types.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/types.js +12 -0
- package/dist/src/benchmarks/gaia-tools/types.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts +52 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js +304 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts +61 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.js +217 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts +26 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js +152 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.d.ts +30 -0
- package/dist/src/benchmarks/gaia-tools/web_search.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.js +210 -0
- package/dist/src/benchmarks/gaia-tools/web_search.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js +311 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts +25 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js +304 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-voting.d.ts +88 -0
- package/dist/src/benchmarks/gaia-voting.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-voting.js +297 -0
- package/dist/src/benchmarks/gaia-voting.js.map +1 -0
- package/dist/src/benchmarks/gaia-voting.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-voting.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-voting.smoke.js +332 -0
- package/dist/src/benchmarks/gaia-voting.smoke.js.map +1 -0
- package/dist/src/commands/gaia-bench.d.ts +40 -0
- package/dist/src/commands/gaia-bench.d.ts.map +1 -0
- package/dist/src/commands/gaia-bench.js +597 -0
- package/dist/src/commands/gaia-bench.js.map +1 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +41 -4
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/performance-capability.d.ts +30 -0
- package/dist/src/commands/performance-capability.d.ts.map +1 -0
- package/dist/src/commands/performance-capability.js +349 -0
- package/dist/src/commands/performance-capability.js.map +1 -0
- package/dist/src/commands/route.d.ts.map +1 -1
- package/dist/src/commands/route.js +9 -0
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +25 -6
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +9 -4
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +25 -2
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +20 -3
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +12 -1
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +34 -0
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GAIA Agent — ADR-133-PR3 / ADR-135 (planning interval)
|
|
3
|
+
*
|
|
4
|
+
* Multi-turn Anthropic Messages API loop that drives Claude through the
|
|
5
|
+
* GAIA benchmark questions using a tool-use agent pattern.
|
|
6
|
+
*
|
|
7
|
+
* Loop algorithm:
|
|
8
|
+
* 1. Build initial message with the question and a system prompt that
|
|
9
|
+
* instructs Claude to output `FINAL_ANSWER: <value>` when done.
|
|
10
|
+
* 2. Call Anthropic Messages API with the registered tool definitions.
|
|
11
|
+
* 3. On `stop_reason === 'tool_use'`: execute all tool_use blocks in
|
|
12
|
+
* parallel, append results as a `user` turn, and repeat.
|
|
13
|
+
* Every PLANNING_INTERVAL turns, inject a planning-checkpoint text
|
|
14
|
+
* alongside the tool results to force strategy re-evaluation.
|
|
15
|
+
* 4. On `stop_reason === 'end_turn'`: scan content for the final answer
|
|
16
|
+
* pattern and return the result.
|
|
17
|
+
* 5. On timeout (maxTurns exceeded): return `{ timedOut: true }`.
|
|
18
|
+
*
|
|
19
|
+
* API key resolution order (mirrors resolveHfToken from gaia-loader.ts):
|
|
20
|
+
* 1. `options.apiKey` (caller-supplied)
|
|
21
|
+
* 2. `ANTHROPIC_API_KEY` env var
|
|
22
|
+
* 3. `gcloud secrets versions access latest --secret=ANTHROPIC_API_KEY`
|
|
23
|
+
*
|
|
24
|
+
* Cost discipline: smoke runs use `claude-haiku-4-5` only. The smoke
|
|
25
|
+
* runner at the bottom of this file enforces that model.
|
|
26
|
+
*
|
|
27
|
+
* Planning interval (iter 30 finding #3):
|
|
28
|
+
* smolagents CodeAgent uses planning_interval=4 — replans every 4 steps
|
|
29
|
+
* to prevent tunnel-vision on bad strategies. Adds ~80 tokens per
|
|
30
|
+
* replan event (~$0.0001 each), negligible cost.
|
|
31
|
+
*
|
|
32
|
+
* Iter 53a T2 narrowing:
|
|
33
|
+
* Three precise changes from iter 52 T2 (which had net -1q: +6 recoveries, -7 regressions):
|
|
34
|
+
* 1. extractFinalAnswer uses Stage 1 only (no Stage 2/3 prose fallback).
|
|
35
|
+
* Stage 2/3 fired too aggressively: overwriting correct Stage 1 answers and
|
|
36
|
+
* extracting wrong prose fragments. Now Stage 1 is the only extraction path.
|
|
37
|
+
* 2. System prompt removes surrender instruction ("FINAL_ANSWER: unknown / I don't know").
|
|
38
|
+
* That instruction caused the agent to give up on questions it would have figured out.
|
|
39
|
+
* Replaced with: "When you reach a final answer, output FINAL_ANSWER: <value>."
|
|
40
|
+
* 3. Reversed-text preprocessor is preserved (iter 52 T2 finding: 2d83110e has reversed text).
|
|
41
|
+
*
|
|
42
|
+
* Refs: ADR-133, ADR-135, iter 30, iter 52, iter 53a, #2156
|
|
43
|
+
*/
|
|
44
|
+
import { GaiaQuestion } from './gaia-loader.js';
|
|
45
|
+
import { GaiaToolCatalogue, ContentBlock } from './gaia-tools/index.js';
|
|
46
|
+
/**
|
|
47
|
+
* Every PLANNING_INTERVAL tool_use turns, inject a planning-checkpoint
|
|
48
|
+
* message to force the agent to reassess its strategy.
|
|
49
|
+
*
|
|
50
|
+
* Based on iter 30 research: smolagents CodeAgent uses planning_interval=4.
|
|
51
|
+
* HAL reliability analysis showed agents fail when they exhaust step
|
|
52
|
+
* budgets without recalibrating.
|
|
53
|
+
*/
|
|
54
|
+
export declare const PLANNING_INTERVAL = 4;
|
|
55
|
+
/**
|
|
56
|
+
* Build the planning-checkpoint text injected every PLANNING_INTERVAL turns.
|
|
57
|
+
* Exported so tests can snapshot the exact wording.
|
|
58
|
+
*/
|
|
59
|
+
export declare function buildPlanningCheckpoint(turn: number, maxTurns: number): string;
|
|
60
|
+
export interface GaiaAgentResult {
|
|
61
|
+
questionId: string;
|
|
62
|
+
finalAnswer: string | null;
|
|
63
|
+
turns: number;
|
|
64
|
+
toolCallsByName: Record<string, number>;
|
|
65
|
+
totalInputTokens: number;
|
|
66
|
+
totalOutputTokens: number;
|
|
67
|
+
wallMs: number;
|
|
68
|
+
/** Number of planning-checkpoint injections during this run (0 when planning is disabled). */
|
|
69
|
+
replanCount?: number;
|
|
70
|
+
timedOut?: boolean;
|
|
71
|
+
/** Set when the convergence layer fired and committed the final answer. */
|
|
72
|
+
convergenceTrigger?: string;
|
|
73
|
+
/** True when the convergence layer recovered the answer from prior message history. */
|
|
74
|
+
convergenceUsedFallback?: boolean;
|
|
75
|
+
error?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface GaiaAgentOptions {
|
|
78
|
+
/** Model to use (default: 'claude-haiku-4-5'). */
|
|
79
|
+
model?: string;
|
|
80
|
+
/** Maximum number of agent turns before giving up (default: 8). */
|
|
81
|
+
maxTurns?: number;
|
|
82
|
+
/** Maximum tokens per Anthropic API call (default: 2048). */
|
|
83
|
+
maxTokensPerTurn?: number;
|
|
84
|
+
/** Per-turn HTTP timeout in milliseconds (default: 60 000). */
|
|
85
|
+
perTurnTimeoutMs?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Inject a planning-checkpoint every N tool_use turns (default: PLANNING_INTERVAL = 4).
|
|
88
|
+
* Set to 0 to disable planning checkpoints.
|
|
89
|
+
*/
|
|
90
|
+
planningInterval?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Anthropic API key. Resolved automatically via env var + gcloud fallback
|
|
93
|
+
* if omitted.
|
|
94
|
+
*/
|
|
95
|
+
apiKey?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Pre-built tool catalogue. Defaults to `createDefaultToolCatalogue()`.
|
|
98
|
+
* Exposed so callers can inject mocks for testing.
|
|
99
|
+
*/
|
|
100
|
+
catalogue?: GaiaToolCatalogue;
|
|
101
|
+
/**
|
|
102
|
+
* Enable the convergence layer (default: true).
|
|
103
|
+
*
|
|
104
|
+
* When enabled, the convergence layer monitors for three failure modes:
|
|
105
|
+
* 1. max_turns hit without FINAL_ANSWER
|
|
106
|
+
* 2. Loop (same tool+args 3× in a 5-turn window)
|
|
107
|
+
* 3. Token overflow (>120k input tokens)
|
|
108
|
+
*
|
|
109
|
+
* On detection, a forced-commit phase is run: one API call with a
|
|
110
|
+
* directive prompt, no tools, then a fallback scan of prior messages.
|
|
111
|
+
* Set to false to disable (e.g. for ablation testing).
|
|
112
|
+
*/
|
|
113
|
+
enableConvergence?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Resolve the Anthropic API key.
|
|
117
|
+
*
|
|
118
|
+
* Resolution order:
|
|
119
|
+
* 1. Caller-supplied `apiKey`
|
|
120
|
+
* 2. `ANTHROPIC_API_KEY` env var
|
|
121
|
+
* 3. `gcloud secrets versions access latest --secret=ANTHROPIC_API_KEY`
|
|
122
|
+
*
|
|
123
|
+
* Throws with a clear message if none of the above is available.
|
|
124
|
+
*/
|
|
125
|
+
export declare function resolveAnthropicApiKey(apiKey?: string): string;
|
|
126
|
+
/**
|
|
127
|
+
* If the question text appears to be reversed English, prepend a de-reversed
|
|
128
|
+
* version so the agent sees both the original and the decoded form.
|
|
129
|
+
*
|
|
130
|
+
* Iter 52 T2 — gate 1 finding: task 2d83110e has a reversed sentence.
|
|
131
|
+
* Kept in iter 53a (this is not the source of the iter 52 regressions).
|
|
132
|
+
*/
|
|
133
|
+
declare function buildUserMessage(question: string): string;
|
|
134
|
+
/** Anthropic image content block for vision API. */
|
|
135
|
+
interface ImageContentBlock {
|
|
136
|
+
type: 'image';
|
|
137
|
+
source: {
|
|
138
|
+
type: 'base64';
|
|
139
|
+
media_type: string;
|
|
140
|
+
data: string;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Parse an IMAGE_BASE64 marker returned by file_read's extractImage().
|
|
145
|
+
* Returns an Anthropic image content block, or null if the marker is invalid.
|
|
146
|
+
*
|
|
147
|
+
* Marker format: [IMAGE_BASE64:{"mediaType":"image/png","base64":"...","path":"..."}]
|
|
148
|
+
*/
|
|
149
|
+
export declare function parseImageMarker(marker: string): ImageContentBlock | null;
|
|
150
|
+
/** Minimal types for the Anthropic Messages API response. */
|
|
151
|
+
interface AnthropicResponse {
|
|
152
|
+
id: string;
|
|
153
|
+
model: string;
|
|
154
|
+
stop_reason: 'end_turn' | 'tool_use' | 'max_tokens' | string;
|
|
155
|
+
content: ContentBlock[];
|
|
156
|
+
usage: {
|
|
157
|
+
input_tokens: number;
|
|
158
|
+
output_tokens: number;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
declare function extractFinalAnswer(resp: AnthropicResponse): string | null;
|
|
162
|
+
/**
|
|
163
|
+
* Run a GAIA question through Claude with tool use.
|
|
164
|
+
*
|
|
165
|
+
* @returns GaiaAgentResult with the final answer (or null if timed out),
|
|
166
|
+
* turn count, token totals, and per-tool call counts.
|
|
167
|
+
*/
|
|
168
|
+
export declare function runGaiaAgent(question: GaiaQuestion, options?: GaiaAgentOptions): Promise<GaiaAgentResult>;
|
|
169
|
+
/**
|
|
170
|
+
* Check whether a model answer matches the expected ground-truth answer.
|
|
171
|
+
*
|
|
172
|
+
* Matching rules (mirrors GAIA evaluation):
|
|
173
|
+
* - Normalise: trim whitespace, lowercase.
|
|
174
|
+
* - Substring match: expected is contained in model answer (handles "Paris" vs "Paris, France").
|
|
175
|
+
* - Direct equality after normalisation.
|
|
176
|
+
* - Numeric: parse as floats and compare with ±1% tolerance.
|
|
177
|
+
*/
|
|
178
|
+
export declare function isAnswerCorrect(modelAnswer: string, expected: string): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Run all 5 SMOKE_FIXTURE questions and report results to stdout.
|
|
181
|
+
*
|
|
182
|
+
* Pass criteria: ≥3/5 correct (60% pass rate).
|
|
183
|
+
*
|
|
184
|
+
* Cost estimate is printed at the end using Haiku pricing.
|
|
185
|
+
*
|
|
186
|
+
* This function is exported so tests can call it directly and capture output;
|
|
187
|
+
* it also runs when this file is executed directly via `node gaia-agent.js --smoke`.
|
|
188
|
+
*/
|
|
189
|
+
export declare function runSmokeTest(opts?: {
|
|
190
|
+
verbose?: boolean;
|
|
191
|
+
apiKey?: string;
|
|
192
|
+
}): Promise<{
|
|
193
|
+
passRate: number;
|
|
194
|
+
passed: number;
|
|
195
|
+
total: number;
|
|
196
|
+
}>;
|
|
197
|
+
export { extractFinalAnswer as _extractFinalAnswerForTest, buildUserMessage as _buildUserMessageForTest, };
|
|
198
|
+
//# sourceMappingURL=gaia-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gaia-agent.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/gaia-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAKH,OAAO,EACL,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,iBAAiB,EAIjB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAqB/B;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW9E;AAcD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAoB9D;AAyCD;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAalD;AAED,oDAAoD;AACpD,UAAU,iBAAiB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAazE;AA8CD,6DAA6D;AAC7D,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC7D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAqDD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAWlE;AAyED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAqP1B;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA2B9E;AAMD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,IAAI,GAAE;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFpE;AA4BD,OAAO,EACL,kBAAkB,IAAI,0BAA0B,EAChD,gBAAgB,IAAI,wBAAwB,GAC7C,CAAC"}
|