jiva-core 0.3.47 → 0.3.48-dev.3254e6a
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 +31 -1
- package/dist/code/agent.d.ts +13 -0
- package/dist/code/agent.d.ts.map +1 -1
- package/dist/code/agent.js +129 -13
- package/dist/code/agent.js.map +1 -1
- package/dist/code/benchmark/agent-factory.d.ts +18 -0
- package/dist/code/benchmark/agent-factory.d.ts.map +1 -0
- package/dist/code/benchmark/agent-factory.js +21 -0
- package/dist/code/benchmark/agent-factory.js.map +1 -0
- package/dist/code/benchmark/fixtures.d.ts +28 -0
- package/dist/code/benchmark/fixtures.d.ts.map +1 -0
- package/dist/code/benchmark/fixtures.js +177 -0
- package/dist/code/benchmark/fixtures.js.map +1 -0
- package/dist/code/benchmark/index.d.ts +16 -0
- package/dist/code/benchmark/index.d.ts.map +1 -0
- package/dist/code/benchmark/index.js +14 -0
- package/dist/code/benchmark/index.js.map +1 -0
- package/dist/code/benchmark/microcrm/assets/api.test.mjs +254 -0
- package/dist/code/benchmark/microcrm/assets/app.full.reference.mjs +267 -0
- package/dist/code/benchmark/microcrm/assets/app.reference.mjs +191 -0
- package/dist/code/benchmark/microcrm/assets/bulk.test.mjs +63 -0
- package/dist/code/benchmark/microcrm/assets/idempotency.test.mjs +64 -0
- package/dist/code/benchmark/microcrm/assets/query.test.mjs +96 -0
- package/dist/code/benchmark/microcrm/assets/stats.test.mjs +67 -0
- package/dist/code/benchmark/microcrm/index.d.ts +23 -0
- package/dist/code/benchmark/microcrm/index.d.ts.map +1 -0
- package/dist/code/benchmark/microcrm/index.js +72 -0
- package/dist/code/benchmark/microcrm/index.js.map +1 -0
- package/dist/code/benchmark/microcrm/spec.d.ts +13 -0
- package/dist/code/benchmark/microcrm/spec.d.ts.map +1 -0
- package/dist/code/benchmark/microcrm/spec.js +115 -0
- package/dist/code/benchmark/microcrm/spec.js.map +1 -0
- package/dist/code/benchmark/orchestrator-factory.d.ts +36 -0
- package/dist/code/benchmark/orchestrator-factory.d.ts.map +1 -0
- package/dist/code/benchmark/orchestrator-factory.js +57 -0
- package/dist/code/benchmark/orchestrator-factory.js.map +1 -0
- package/dist/code/benchmark/report.d.ts +8 -0
- package/dist/code/benchmark/report.d.ts.map +1 -0
- package/dist/code/benchmark/report.js +103 -0
- package/dist/code/benchmark/report.js.map +1 -0
- package/dist/code/benchmark/runner.d.ts +29 -0
- package/dist/code/benchmark/runner.d.ts.map +1 -0
- package/dist/code/benchmark/runner.js +219 -0
- package/dist/code/benchmark/runner.js.map +1 -0
- package/dist/code/benchmark/suites.d.ts +19 -0
- package/dist/code/benchmark/suites.d.ts.map +1 -0
- package/dist/code/benchmark/suites.js +48 -0
- package/dist/code/benchmark/suites.js.map +1 -0
- package/dist/code/benchmark/tasks.d.ts +16 -0
- package/dist/code/benchmark/tasks.d.ts.map +1 -0
- package/dist/code/benchmark/tasks.js +153 -0
- package/dist/code/benchmark/tasks.js.map +1 -0
- package/dist/code/benchmark/tests.d.ts +17 -0
- package/dist/code/benchmark/tests.d.ts.map +1 -0
- package/dist/code/benchmark/tests.js +234 -0
- package/dist/code/benchmark/tests.js.map +1 -0
- package/dist/code/benchmark/types.d.ts +161 -0
- package/dist/code/benchmark/types.d.ts.map +1 -0
- package/dist/code/benchmark/types.js +11 -0
- package/dist/code/benchmark/types.js.map +1 -0
- package/dist/code/benchmark/verify.d.ts +21 -0
- package/dist/code/benchmark/verify.d.ts.map +1 -0
- package/dist/code/benchmark/verify.js +108 -0
- package/dist/code/benchmark/verify.js.map +1 -0
- package/dist/code/tools/edit.d.ts.map +1 -1
- package/dist/code/tools/edit.js +12 -3
- package/dist/code/tools/edit.js.map +1 -1
- package/dist/code/tools/write.d.ts.map +1 -1
- package/dist/code/tools/write.js +13 -3
- package/dist/code/tools/write.js.map +1 -1
- package/dist/core/agent-interface.d.ts +5 -0
- package/dist/core/agent-interface.d.ts.map +1 -1
- package/dist/core/config.d.ts +48 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +7 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/manager-agent.d.ts +5 -0
- package/dist/core/manager-agent.d.ts.map +1 -1
- package/dist/core/manager-agent.js +8 -8
- package/dist/core/manager-agent.js.map +1 -1
- package/dist/interfaces/cli/index.js +129 -0
- package/dist/interfaces/cli/index.js.map +1 -1
- package/dist/interfaces/cli/repl.d.ts.map +1 -1
- package/dist/interfaces/cli/repl.js +41 -15
- package/dist/interfaces/cli/repl.js.map +1 -1
- package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
- package/dist/interfaces/cli/setup-wizard.js +2 -1
- package/dist/interfaces/cli/setup-wizard.js.map +1 -1
- package/dist/interfaces/http/index.d.ts.map +1 -1
- package/dist/interfaces/http/index.js +2 -0
- package/dist/interfaces/http/index.js.map +1 -1
- package/dist/interfaces/http/routes/benchmark.d.ts +14 -0
- package/dist/interfaces/http/routes/benchmark.d.ts.map +1 -0
- package/dist/interfaces/http/routes/benchmark.js +130 -0
- package/dist/interfaces/http/routes/benchmark.js.map +1 -0
- package/dist/interfaces/http/session-manager.d.ts.map +1 -1
- package/dist/interfaces/http/session-manager.js +1 -0
- package/dist/interfaces/http/session-manager.js.map +1 -1
- package/dist/models/base.d.ts +8 -0
- package/dist/models/base.d.ts.map +1 -1
- package/dist/models/model-client.d.ts +10 -1
- package/dist/models/model-client.d.ts.map +1 -1
- package/dist/models/model-client.js +3 -1
- package/dist/models/model-client.js.map +1 -1
- package/dist/models/orchestrator.d.ts +16 -3
- package/dist/models/orchestrator.d.ts.map +1 -1
- package/dist/models/orchestrator.js +32 -5
- package/dist/models/orchestrator.js.map +1 -1
- package/package.json +2 -2
- package/scripts/bench-selftest.mjs +112 -0
- package/scripts/copy-benchmark-assets.mjs +17 -0
package/README.md
CHANGED
|
@@ -17,10 +17,15 @@ Jiva is an autonomous AI agent for the terminal and cloud. It works with any Ope
|
|
|
17
17
|
```bash
|
|
18
18
|
npm install -g jiva-core
|
|
19
19
|
jiva setup
|
|
20
|
+
|
|
21
|
+
# Verify your model + config can do code mode well:
|
|
22
|
+
jiva benchmark
|
|
20
23
|
```
|
|
21
24
|
|
|
22
25
|
The setup wizard opens with a provider selection menu. Choose your provider and Jiva auto-fills the endpoint, model name, and tool format — you only supply your API key. Supported providers: **Krutrim**, **Groq**, **Sarvam**, **OpenAI**, and any **OpenAI-compatible** endpoint.
|
|
23
26
|
|
|
27
|
+
After setup, run **`jiva benchmark`** to confirm your chosen model and configuration work optimally in code mode. It runs the **baseline (taskstore) suite** — a deterministic set of coding tasks — against your config; a healthy setup passes all of them. See [Benchmarking](#benchmarking) for tuning and capability comparison.
|
|
28
|
+
|
|
24
29
|
### Development install
|
|
25
30
|
|
|
26
31
|
```bash
|
|
@@ -204,11 +209,12 @@ Configuration is stored at `~/.config/jiva-nodejs/config.json` (Linux/macOS) or
|
|
|
204
209
|
"model": "sarvam-105b",
|
|
205
210
|
"type": "reasoning",
|
|
206
211
|
"reasoningEffortStrategy": "api_param",
|
|
207
|
-
"defaultMaxTokens":
|
|
212
|
+
"defaultMaxTokens": 4096
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
215
|
}
|
|
211
216
|
```
|
|
217
|
+
> Sarvam's API caps completion output at 4096 tokens. Tasks needing larger single outputs (e.g. writing a big file in one shot) will be limited by this — the [benchmark](#benchmarking) flags such failures as `[output-limited]`.
|
|
212
218
|
|
|
213
219
|
**Ollama (local)**
|
|
214
220
|
```json
|
|
@@ -242,6 +248,30 @@ Full configuration reference: [Configuration Guide](docs/guides/CONFIGURATION.md
|
|
|
242
248
|
|
|
243
249
|
---
|
|
244
250
|
|
|
251
|
+
## Benchmarking
|
|
252
|
+
|
|
253
|
+
Jiva ships a built-in benchmark to measure how well your **model + configuration** performs in code mode. Tasks run in isolated throwaway workspaces and are scored deterministically with Node's built-in test runner — no LLM judge, no network.
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
jiva benchmark # baseline (taskstore) suite — verify your setup works
|
|
257
|
+
jiva benchmark --list # list available suites and tasks
|
|
258
|
+
jiva benchmark --suite microcrm --max-iterations 60 # capability suite (Node 22.5+)
|
|
259
|
+
jiva benchmark --output report.json # save a JSON report to compare configs
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Two suites, two purposes:
|
|
263
|
+
|
|
264
|
+
| Suite | Scoring | Use it to… |
|
|
265
|
+
|-------|---------|-----------|
|
|
266
|
+
| **`taskstore`** (baseline) | pass/fail, 8 tiers that build on each other | Confirm a model + config can do code mode at all. A healthy setup passes everything. |
|
|
267
|
+
| **`microcrm`** (capability) | % of spec tests | Differentiate models and tune configuration. The agent builds a Node + SQLite REST API and adds harder features (atomic bulk, advanced queries, analytics, idempotency). |
|
|
268
|
+
|
|
269
|
+
The report shows per-task iterations, tokens, and wall-time, lists exactly which spec tests were missed, and flags failures caused by a model's **output-token limit** as `[output-limited]` (distinct from logic failures). Run it after `jiva setup`, and re-run it as you tune `defaultMaxTokens`, `maxIterations`, or switch models — the config with the best score-per-token is your optimal setup.
|
|
270
|
+
|
|
271
|
+
Full guide: [Benchmark Suite](docs/guides/benchmark-suite.md)
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
245
275
|
## Directive Files
|
|
246
276
|
|
|
247
277
|
Create a `jiva-directive.md` in your project root to orient the agent to your codebase:
|
package/dist/code/agent.d.ts
CHANGED
|
@@ -15,6 +15,19 @@ export interface AgentResponse {
|
|
|
15
15
|
toolsUsed: string[];
|
|
16
16
|
iterations: number;
|
|
17
17
|
tokenUsage?: import('../models/token-tracker.js').TokenUsageSnapshot;
|
|
18
|
+
/**
|
|
19
|
+
* Number of times the model hit its output-token limit mid tool-call this turn
|
|
20
|
+
* (a write/edit was cut off and had to be re-attempted in stages). A non-zero
|
|
21
|
+
* count on a failed task indicates an output-length limitation, not a logic gap.
|
|
22
|
+
*/
|
|
23
|
+
truncationEvents?: number;
|
|
24
|
+
/**
|
|
25
|
+
* How the turn ended:
|
|
26
|
+
* 'completed' — the model produced a final response on its own.
|
|
27
|
+
* 'max-iterations' — the step limit was hit before finishing (caller may offer to continue).
|
|
28
|
+
* 'stopped' — the user cooperatively stopped the run.
|
|
29
|
+
*/
|
|
30
|
+
stopReason?: 'completed' | 'max-iterations' | 'stopped';
|
|
18
31
|
}
|
|
19
32
|
export interface CodeAgentConfig {
|
|
20
33
|
orchestrator: ModelOrchestrator;
|
package/dist/code/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAgBjE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/code/agent.js
CHANGED
|
@@ -30,6 +30,11 @@ function repairFailedToolCall(errorMsg, tools) {
|
|
|
30
30
|
const failed = JSON.parse(failedGenRaw);
|
|
31
31
|
const rawName = failed.name || '';
|
|
32
32
|
const args = typeof failed.arguments === 'object' ? failed.arguments : {};
|
|
33
|
+
// Normalize the common `path` alias to `file_path` so a repaired write_file/edit_file
|
|
34
|
+
// call actually executes (the tools accept either, but downstream consumers expect file_path).
|
|
35
|
+
if (args && typeof args === 'object' && 'path' in args && !('file_path' in args)) {
|
|
36
|
+
args.file_path = args.path;
|
|
37
|
+
}
|
|
33
38
|
// Strategy 1: strip all <|...|> tokens from the tool name and try exact match
|
|
34
39
|
const stripped = rawName
|
|
35
40
|
.replace(/<\|[^|]*\|>/g, '') // remove <|channel|>, <|return|>, etc.
|
|
@@ -363,6 +368,10 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
363
368
|
let consecutiveReadCount = 0;
|
|
364
369
|
let iterations = 0;
|
|
365
370
|
let finalContent = '';
|
|
371
|
+
// Count output-token-limit truncations this turn (surfaced in the response so
|
|
372
|
+
// benchmarks can flag output-length limitations vs genuine logic failures).
|
|
373
|
+
let truncationEvents = 0;
|
|
374
|
+
let stopReason = 'completed';
|
|
366
375
|
// Iteration limit management — two phases (ported from opencode):
|
|
367
376
|
// Phase 1 (0–84%): normal operation, all tools available.
|
|
368
377
|
// Phase 2 (85–94%): inject "continue" nudge — tools still available so the agent
|
|
@@ -379,6 +388,7 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
379
388
|
if (this._stopped) {
|
|
380
389
|
logger.info('[CodeAgent] Stop requested — exiting after current step');
|
|
381
390
|
finalContent = '[Task stopped by user]';
|
|
391
|
+
stopReason = 'stopped';
|
|
382
392
|
break;
|
|
383
393
|
}
|
|
384
394
|
iterations = i + 1;
|
|
@@ -480,13 +490,74 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
480
490
|
emptyResponseCount = 0; // fresh recovery budget after targeted guidance
|
|
481
491
|
continue;
|
|
482
492
|
}
|
|
493
|
+
// Distinguish genuine output-token truncation from schema/argument errors.
|
|
494
|
+
// Groq codes BOTH as tool_use_failed, so we inspect failed_generation directly:
|
|
495
|
+
// a complete, parseable failed_generation means the JSON was NOT cut off (a schema
|
|
496
|
+
// error); an unparseable one means it was truncated mid-content.
|
|
497
|
+
const failedGenIsTruncated = (() => {
|
|
498
|
+
try {
|
|
499
|
+
const m = msg.match(/API error \(\d+\): (.+)/s);
|
|
500
|
+
if (!m)
|
|
501
|
+
return null;
|
|
502
|
+
const body = JSON.parse(m[1]);
|
|
503
|
+
const fg = body?.error?.failed_generation;
|
|
504
|
+
if (typeof fg !== 'string')
|
|
505
|
+
return null;
|
|
506
|
+
try {
|
|
507
|
+
JSON.parse(fg);
|
|
508
|
+
return false;
|
|
509
|
+
} // complete JSON → schema error, not truncation
|
|
510
|
+
catch {
|
|
511
|
+
return true;
|
|
512
|
+
} // cut-off JSON → truncated
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
return null;
|
|
516
|
+
}
|
|
517
|
+
})();
|
|
518
|
+
const mentionsFileTool = msg.includes('write_file') || msg.includes('edit_file');
|
|
519
|
+
// --- Specific correction: schema / argument-name error (well-formed JSON, wrong args) ---
|
|
520
|
+
// The tool call parsed fine but violated the schema (e.g. an unexpected or misspelled
|
|
521
|
+
// argument name). Name the offending tool's exact parameters rather than mistaking it
|
|
522
|
+
// for truncation or falling through to a generic strategy reset.
|
|
523
|
+
const isSchemaArgError = failedGenIsTruncated === false &&
|
|
524
|
+
(msg.includes('did not match schema') || msg.includes('missing propert'));
|
|
525
|
+
if (isSchemaArgError) {
|
|
526
|
+
let failedToolName = '';
|
|
527
|
+
try {
|
|
528
|
+
const m = msg.match(/API error \(\d+\): (.+)/s);
|
|
529
|
+
if (m) {
|
|
530
|
+
const body = JSON.parse(m[1]);
|
|
531
|
+
const fg = body?.error?.failed_generation;
|
|
532
|
+
if (fg) {
|
|
533
|
+
const parsed = JSON.parse(fg);
|
|
534
|
+
if (parsed?.name)
|
|
535
|
+
failedToolName = parsed.name;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
catch { /* ignore extraction errors */ }
|
|
540
|
+
const tool = this.tools.find((t) => t.name === failedToolName);
|
|
541
|
+
const expected = tool
|
|
542
|
+
? `${tool.name} accepts: ${Object.keys(tool.parameters.properties ?? {}).join(', ')}` +
|
|
543
|
+
` (required: ${(tool.parameters.required ?? []).join(', ') || 'none'}).`
|
|
544
|
+
: `Check the tool's required parameters and use their exact names.`;
|
|
545
|
+
logger.warn(`[CodeAgent] schema/argument error for ${failedToolName || 'tool'} — injecting parameter correction`);
|
|
546
|
+
messages.push({
|
|
547
|
+
role: 'user',
|
|
548
|
+
content: `Your ${failedToolName || 'tool'} call failed schema validation (wrong or missing arguments).\n\n` +
|
|
549
|
+
`${expected}\n\n` +
|
|
550
|
+
`Call it again using those exact parameter names.`,
|
|
551
|
+
});
|
|
552
|
+
consecutiveToolCallErrors = 0;
|
|
553
|
+
emptyResponseCount = 0;
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
483
556
|
// --- Specific correction: tool content too large (output token limit hit) ---
|
|
484
|
-
//
|
|
485
|
-
//
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
const isContentTooLarge = (msg.includes('write_file') || msg.includes('edit_file')) &&
|
|
489
|
-
(msg.includes('Failed to parse tool call') || msg.includes('tool_use_failed'));
|
|
557
|
+
// Only genuine truncation routes here: the provider explicitly failed to parse the call,
|
|
558
|
+
// or failed_generation is present but cut off mid-content (unparseable JSON).
|
|
559
|
+
const isContentTooLarge = mentionsFileTool &&
|
|
560
|
+
(msg.includes('Failed to parse tool call') || failedGenIsTruncated === true);
|
|
490
561
|
if (isContentTooLarge) {
|
|
491
562
|
// Parse the actual tool name from failed_generation to distinguish write_file vs edit_file
|
|
492
563
|
let failedToolName = msg.includes('edit_file') && !msg.includes('write_file') ? 'edit_file' : 'write_file';
|
|
@@ -508,6 +579,7 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
508
579
|
}
|
|
509
580
|
catch { /* ignore extraction errors */ }
|
|
510
581
|
const isEditFile = failedToolName === 'edit_file';
|
|
582
|
+
truncationEvents++;
|
|
511
583
|
logger.warn(`[CodeAgent] ${isEditFile ? 'edit_file' : 'write_file'}${targetFile} content truncated (exceeded output token limit) — asking model to write in stages`);
|
|
512
584
|
const correctionContent = isEditFile
|
|
513
585
|
? `Your edit_file call${targetFile} failed: new_string was too large and the response was cut off mid-JSON.\n\n` +
|
|
@@ -616,14 +688,23 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
616
688
|
// ── In-loop context compaction ──────────────────────────────────────────
|
|
617
689
|
// Check if we're approaching the context window limit and compact if needed.
|
|
618
690
|
// Triggered once per turn (compactedThisTurn flag) to avoid thrashing.
|
|
619
|
-
// Only runs when: threshold > 0, orchestrator available, not already compacted
|
|
620
|
-
//
|
|
691
|
+
// Only runs when: threshold > 0, orchestrator available, not already compacted.
|
|
692
|
+
//
|
|
693
|
+
// Deliberately NOT gated on the response having tool calls: a model that's
|
|
694
|
+
// starved for completion-token budget by a bloated prompt (spending its
|
|
695
|
+
// whole budget "thinking" before it can emit a tool call, or even any
|
|
696
|
+
// visible text) is EXACTLY the scenario compaction needs to rescue —
|
|
697
|
+
// gating on tool calls here created a deadlock where a large context
|
|
698
|
+
// would push the model into empty responses, and because empty responses
|
|
699
|
+
// never carry tool calls, compaction could never fire to shrink the
|
|
700
|
+
// context back down. The model would then just keep re-hitting the same
|
|
701
|
+
// starved budget on every recovery-nudge retry and give up after
|
|
702
|
+
// MAX_EMPTY_RESPONSES, even with abundant maxIterations remaining.
|
|
621
703
|
const promptTokens = response.usage?.promptTokens ?? 0;
|
|
622
704
|
if (this.compactionThreshold > 0 &&
|
|
623
705
|
promptTokens > this.compactionThreshold &&
|
|
624
706
|
!compactedThisTurn &&
|
|
625
|
-
this.conversationManager
|
|
626
|
-
response.toolCalls && response.toolCalls.length > 0) {
|
|
707
|
+
this.conversationManager) {
|
|
627
708
|
logger.warn(`[CodeAgent] Context at ${promptTokens} tokens (threshold: ${this.compactionThreshold}) — compacting in-loop history`);
|
|
628
709
|
compactedThisTurn = true;
|
|
629
710
|
try {
|
|
@@ -651,6 +732,7 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
651
732
|
const isEditFile = response.content.includes('edit_file') && !response.content.includes('write_file');
|
|
652
733
|
const fpMatch = response.content.match(/<arg_key>file_path<\/arg_key>\s*<arg_value>([^<]+)<\/arg_value>/);
|
|
653
734
|
const targetFile = fpMatch ? ` for \`${fpMatch[1]}\`` : '';
|
|
735
|
+
truncationEvents++;
|
|
654
736
|
logger.warn(`[CodeAgent] Truncated XML tool call${targetFile} — injecting staged-writing correction`);
|
|
655
737
|
const correctionContent = isEditFile
|
|
656
738
|
? `Your edit_file call${targetFile} failed: the response was cut off before the tool call completed.\n\n` +
|
|
@@ -669,13 +751,46 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
669
751
|
continue;
|
|
670
752
|
}
|
|
671
753
|
if (!response.content && emptyResponseCount < MAX_EMPTY_RESPONSES) {
|
|
672
|
-
// Model returned empty content with no tool calls
|
|
754
|
+
// Model returned empty content with no tool calls.
|
|
755
|
+
//
|
|
756
|
+
// Two distinct causes look identical here but need different fixes:
|
|
757
|
+
// 1. finishReason === 'length' — the model hit its max_tokens ceiling
|
|
758
|
+
// while still "thinking" and never got to emit a tool call or text.
|
|
759
|
+
// This is a completion-token-budget problem, not confusion — nudging
|
|
760
|
+
// with MORE instructions only adds prompt weight and makes the next
|
|
761
|
+
// attempt hit the same wall (or worse). The real fix is to shrink the
|
|
762
|
+
// context so more of the budget is left for actual output, so we force
|
|
763
|
+
// an immediate compaction here regardless of the normal token threshold.
|
|
764
|
+
// 2. Anything else — the model is genuinely stuck/confused; a nudge is the
|
|
765
|
+
// right tool.
|
|
766
|
+
const isLengthStarved = response.finishReason === 'length';
|
|
767
|
+
if (isLengthStarved && !compactedThisTurn && this.conversationManager) {
|
|
768
|
+
logger.warn('[CodeAgent] Empty response with finishReason=length — model ran out of completion budget ' +
|
|
769
|
+
'while thinking. Forcing context compaction instead of a text nudge.');
|
|
770
|
+
compactedThisTurn = true;
|
|
771
|
+
try {
|
|
772
|
+
const compacted = await this.compactInLoopMessages(messages, systemPrompt);
|
|
773
|
+
messages.splice(0, messages.length, ...compacted);
|
|
774
|
+
logger.info(`[CodeAgent] Forced compaction complete: ${messages.length} messages after compaction`);
|
|
775
|
+
}
|
|
776
|
+
catch (compactErr) {
|
|
777
|
+
logger.error('[CodeAgent] Forced compaction failed, falling back to a recovery nudge', compactErr);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
673
780
|
// Inject an escalating recovery nudge and let it try again.
|
|
674
781
|
emptyResponseCount++;
|
|
675
782
|
logger.warn(`[CodeAgent] Empty response with no tool calls (${emptyResponseCount}/${MAX_EMPTY_RESPONSES}) — injecting recovery nudge`);
|
|
676
783
|
// Escalate urgency with each retry so the model doesn't keep ignoring it
|
|
677
784
|
let nudgeContent;
|
|
678
|
-
if (
|
|
785
|
+
if (isLengthStarved) {
|
|
786
|
+
nudgeContent =
|
|
787
|
+
'Your last response ran out of space before producing any output — the context has now been ' +
|
|
788
|
+
'compacted to free up room. Continue the task with a SHORT, direct next step:\n' +
|
|
789
|
+
'- If you need to CREATE a file → call write_file now.\n' +
|
|
790
|
+
'- If you need to EDIT a file → call edit_file directly (skip re-reading files you already read).\n' +
|
|
791
|
+
'- If the task is already complete → provide a brief one-paragraph summary.';
|
|
792
|
+
}
|
|
793
|
+
else if (emptyResponseCount <= 2) {
|
|
679
794
|
nudgeContent =
|
|
680
795
|
'Your last response was empty. Please continue working on the task.\n\n' +
|
|
681
796
|
'- If you need to CREATE a file → call write_file now.\n' +
|
|
@@ -808,6 +923,7 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
808
923
|
}
|
|
809
924
|
if (!finalContent) {
|
|
810
925
|
finalContent = '[Max iterations reached without a final response]';
|
|
926
|
+
stopReason = 'max-iterations';
|
|
811
927
|
}
|
|
812
928
|
// Update conversation history (trim system prompt from what we store)
|
|
813
929
|
const userMsg = { role: 'user', content: userMessage };
|
|
@@ -817,7 +933,7 @@ ${directive ? `\n${directive}` : ''}`;
|
|
|
817
933
|
if (this.conversationManager) {
|
|
818
934
|
await this.conversationManager.autoSave(this.history, this.workspace.getWorkspaceDir(), this.orchestrator, 'code', this.orchestrator.getTokenUsage());
|
|
819
935
|
}
|
|
820
|
-
return { content: finalContent, toolsUsed, iterations, tokenUsage: this.orchestrator.getTokenUsage() };
|
|
936
|
+
return { content: finalContent, toolsUsed, iterations, tokenUsage: this.orchestrator.getTokenUsage(), truncationEvents, stopReason };
|
|
821
937
|
}
|
|
822
938
|
/**
|
|
823
939
|
* Compact the live messages array when the context window is filling up.
|
package/dist/code/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a minimal CodeAgent for a single benchmark task.
|
|
3
|
+
*
|
|
4
|
+
* The agent is deliberately stripped down — no MCP servers, no persona, no
|
|
5
|
+
* conversation persistence, LSP off by default — so the benchmark measures the
|
|
6
|
+
* model's raw code-mode capability with as little environmental variance as
|
|
7
|
+
* possible.
|
|
8
|
+
*/
|
|
9
|
+
import { CodeAgent } from '../agent.js';
|
|
10
|
+
import type { ModelOrchestrator } from '../../models/orchestrator.js';
|
|
11
|
+
export interface BenchmarkAgentOptions {
|
|
12
|
+
orchestrator: ModelOrchestrator;
|
|
13
|
+
workspaceDir: string;
|
|
14
|
+
maxIterations: number;
|
|
15
|
+
lspEnabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function buildBenchmarkAgent(opts: BenchmarkAgentOptions): Promise<CodeAgent>;
|
|
18
|
+
//# sourceMappingURL=agent-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-factory.d.ts","sourceRoot":"","sources":["../../../src/code/benchmark/agent-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,iBAAiB,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAUzF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a minimal CodeAgent for a single benchmark task.
|
|
3
|
+
*
|
|
4
|
+
* The agent is deliberately stripped down — no MCP servers, no persona, no
|
|
5
|
+
* conversation persistence, LSP off by default — so the benchmark measures the
|
|
6
|
+
* model's raw code-mode capability with as little environmental variance as
|
|
7
|
+
* possible.
|
|
8
|
+
*/
|
|
9
|
+
import { CodeAgent } from '../agent.js';
|
|
10
|
+
import { WorkspaceManager } from '../../core/workspace.js';
|
|
11
|
+
export async function buildBenchmarkAgent(opts) {
|
|
12
|
+
const workspace = new WorkspaceManager({ workspaceDir: opts.workspaceDir });
|
|
13
|
+
await workspace.initialize();
|
|
14
|
+
return new CodeAgent({
|
|
15
|
+
orchestrator: opts.orchestrator,
|
|
16
|
+
workspace,
|
|
17
|
+
maxIterations: opts.maxIterations,
|
|
18
|
+
lspEnabled: opts.lspEnabled ?? false,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=agent-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-factory.js","sourceRoot":"","sources":["../../../src/code/benchmark/agent-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAU3D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA2B;IACnE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE7B,OAAO,IAAI,SAAS,CAAC;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS;QACT,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;KACrC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical "taskstore" library fixtures.
|
|
3
|
+
*
|
|
4
|
+
* A single evolving Node library is the substrate for the whole benchmark. Each
|
|
5
|
+
* tier's scaffold is the canonical (golden) state of the prior tiers plus the
|
|
6
|
+
* new failing test(s). These helpers are the single source of truth for that
|
|
7
|
+
* golden state, so the suite stays DRY and the tiers genuinely build on one
|
|
8
|
+
* another.
|
|
9
|
+
*
|
|
10
|
+
* Layout in the workspace:
|
|
11
|
+
* package.json { "type": "module" }
|
|
12
|
+
* src/index.js public entry (single file for tiers 1-4, re-export after)
|
|
13
|
+
* src/model.js mutation functions (after the tier-5 refactor)
|
|
14
|
+
* src/query.js read functions (after the tier-5 refactor)
|
|
15
|
+
* src/storage.js serialize/deserialize (after tier 7)
|
|
16
|
+
* test/tNN.test.mjs cumulative node:test files
|
|
17
|
+
*/
|
|
18
|
+
import type { TaskFile } from './types.js';
|
|
19
|
+
export declare const PACKAGE_JSON: string;
|
|
20
|
+
/**
|
|
21
|
+
* Canonical golden source state *after* a tier is completed. Used both as the
|
|
22
|
+
* baseline scaffold for the next tier and (by the harness self-test) as a
|
|
23
|
+
* "known-good" set of files a mock agent can write to prove the verifier works.
|
|
24
|
+
*/
|
|
25
|
+
export declare function goldenSrcAfter(tier: number): TaskFile;
|
|
26
|
+
/** The scaffolded (pre-agent) src state for a given tier — golden(N-1) plus any planted bug. */
|
|
27
|
+
export declare function scaffoldSrc(tier: number): TaskFile;
|
|
28
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../src/code/benchmark/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,YAAY,QAAuF,CAAC;AAyHjH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAsBrD;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAqBlD"}
|