attocode 0.1.3 → 0.1.4
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/CHANGELOG.md +19 -1
- package/README.md +56 -0
- package/dist/src/agent.d.ts +5 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +201 -15
- package/dist/src/agent.js.map +1 -1
- package/dist/src/analysis/feedback-loop.d.ts +115 -0
- package/dist/src/analysis/feedback-loop.d.ts.map +1 -0
- package/dist/src/analysis/feedback-loop.js +226 -0
- package/dist/src/analysis/feedback-loop.js.map +1 -0
- package/dist/src/analysis/index.d.ts +9 -0
- package/dist/src/analysis/index.d.ts.map +1 -0
- package/dist/src/analysis/index.js +9 -0
- package/dist/src/analysis/index.js.map +1 -0
- package/dist/src/analysis/prompt-templates.d.ts +36 -0
- package/dist/src/analysis/prompt-templates.d.ts.map +1 -0
- package/dist/src/analysis/prompt-templates.js +198 -0
- package/dist/src/analysis/prompt-templates.js.map +1 -0
- package/dist/src/analysis/trace-summary.d.ts +56 -0
- package/dist/src/analysis/trace-summary.d.ts.map +1 -0
- package/dist/src/analysis/trace-summary.js +261 -0
- package/dist/src/analysis/trace-summary.js.map +1 -0
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +194 -2
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/defaults.d.ts +11 -2
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +25 -2
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/errors/index.d.ts +233 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +427 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/integrations/auto-compaction.d.ts +33 -0
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +47 -3
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/dead-letter-queue.d.ts +208 -0
- package/dist/src/integrations/dead-letter-queue.d.ts.map +1 -0
- package/dist/src/integrations/dead-letter-queue.js +458 -0
- package/dist/src/integrations/dead-letter-queue.js.map +1 -0
- package/dist/src/integrations/health-check.d.ts +218 -0
- package/dist/src/integrations/health-check.d.ts.map +1 -0
- package/dist/src/integrations/health-check.js +400 -0
- package/dist/src/integrations/health-check.js.map +1 -0
- package/dist/src/integrations/index.d.ts +5 -0
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +9 -0
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/mcp-client.d.ts +9 -0
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +49 -7
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/openrouter-pricing.d.ts +28 -3
- package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
- package/dist/src/integrations/openrouter-pricing.js +57 -16
- package/dist/src/integrations/openrouter-pricing.js.map +1 -1
- package/dist/src/integrations/retry.d.ts +131 -0
- package/dist/src/integrations/retry.d.ts.map +1 -0
- package/dist/src/integrations/retry.js +233 -0
- package/dist/src/integrations/retry.js.map +1 -0
- package/dist/src/integrations/sqlite-store.d.ts +42 -0
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +111 -0
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/main.js +88 -7
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +37 -1
- package/dist/src/modes/repl.js.map +1 -1
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +46 -5
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +10 -3
- package/dist/src/modes.js.map +1 -1
- package/dist/src/persistence/schema.d.ts +4 -0
- package/dist/src/persistence/schema.d.ts.map +1 -1
- package/dist/src/persistence/schema.js +49 -0
- package/dist/src/persistence/schema.js.map +1 -1
- package/dist/src/providers/adapters/anthropic.d.ts +24 -2
- package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
- package/dist/src/providers/adapters/anthropic.js +184 -0
- package/dist/src/providers/adapters/anthropic.js.map +1 -1
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +7 -4
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/file.d.ts.map +1 -1
- package/dist/src/tools/file.js +31 -10
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts +12 -0
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +136 -0
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/registry.d.ts +23 -1
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +77 -17
- package/dist/src/tools/registry.js.map +1 -1
- package/dist/src/tools/standard.d.ts.map +1 -1
- package/dist/src/tools/standard.js +8 -0
- package/dist/src/tools/standard.js.map +1 -1
- package/dist/src/tools/types.d.ts +20 -1
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tools/types.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +198 -2
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +315 -3
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +470 -2
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js +25 -0
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +161 -4
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/types.d.ts +35 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +6 -3
- package/dist/src/hello.d.ts +0 -2
- package/dist/src/hello.d.ts.map +0 -1
- package/dist/src/hello.js +0 -4
- package/dist/src/hello.js.map +0 -1
- package/dist/src/test-sqlite.d.ts +0 -2
- package/dist/src/test-sqlite.d.ts.map +0 -1
- package/dist/src/test-sqlite.js +0 -114
- package/dist/src/test-sqlite.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.4] - 2026-01-30
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Trace Mode** - Comprehensive system observability
|
|
14
|
+
- Captures full session execution including "thinking" blocks
|
|
15
|
+
- JSONL-based storage in `.traces/` for easy analysis
|
|
16
|
+
- Integrated `trace-dashboard` for visualizing agent decisions
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Trace Dashboard Consolidation** - Merged `trace-viewer` library into `trace-dashboard`
|
|
20
|
+
- Library code now lives in `tools/trace-dashboard/src/lib/`
|
|
21
|
+
- Simplified dependency structure with no more path aliases
|
|
22
|
+
- Dashboard is now the sole interface for trace analysis
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- `/trace compare` command now points to dashboard URL instead of removed CLI
|
|
26
|
+
|
|
10
27
|
## [0.1.3] - 2026-01-29
|
|
11
28
|
|
|
12
29
|
### Added
|
|
@@ -104,7 +121,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
104
121
|
- Sandbox execution for bash commands (macOS Seatbelt)
|
|
105
122
|
- Dangerous operation blocking in strict mode
|
|
106
123
|
|
|
107
|
-
[Unreleased]: https://github.com/eren23/attocode/compare/v0.1.
|
|
124
|
+
[Unreleased]: https://github.com/eren23/attocode/compare/v0.1.4...HEAD
|
|
125
|
+
[0.1.4]: https://github.com/eren23/attocode/compare/v0.1.3...v0.1.4
|
|
108
126
|
[0.1.3]: https://github.com/eren23/attocode/compare/v0.1.2...v0.1.3
|
|
109
127
|
[0.1.2]: https://github.com/eren23/attocode/compare/v0.1.1...v0.1.2
|
|
110
128
|
[0.1.1]: https://github.com/eren23/attocode/compare/v0.1.0...v0.1.1
|
package/README.md
CHANGED
|
@@ -275,6 +275,62 @@ Options:
|
|
|
275
275
|
--debug Enable debug logging
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
+
## Tracing & Performance Analysis
|
|
279
|
+
|
|
280
|
+
Attocode includes comprehensive tracing capabilities for understanding agent behavior, debugging issues, and optimizing performance.
|
|
281
|
+
|
|
282
|
+
### Quick Start
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Enable tracing when starting attocode
|
|
286
|
+
attocode --trace
|
|
287
|
+
|
|
288
|
+
# View trace summary after running commands
|
|
289
|
+
/trace
|
|
290
|
+
|
|
291
|
+
# Analyze efficiency issues
|
|
292
|
+
/trace --analyze
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Trace Commands
|
|
296
|
+
|
|
297
|
+
| Command | Description |
|
|
298
|
+
|---------|-------------|
|
|
299
|
+
| `/trace` | Show current session trace summary |
|
|
300
|
+
| `/trace --analyze` | Run efficiency analysis on trace |
|
|
301
|
+
| `/trace issues` | List detected inefficiencies |
|
|
302
|
+
| `/trace fixes` | List pending improvements |
|
|
303
|
+
| `/trace export [file]` | Export trace JSON for LLM analysis |
|
|
304
|
+
|
|
305
|
+
### Trace Viewer CLI
|
|
306
|
+
|
|
307
|
+
For detailed offline analysis, use the trace-viewer tool:
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
# Navigate to the trace viewer
|
|
311
|
+
cd tools/trace-viewer
|
|
312
|
+
|
|
313
|
+
# Build (first time)
|
|
314
|
+
npm install && npm run build
|
|
315
|
+
|
|
316
|
+
# View trace summary
|
|
317
|
+
npx tsx bin/trace-viewer.ts .traces/
|
|
318
|
+
|
|
319
|
+
# Timeline view
|
|
320
|
+
npx tsx bin/trace-viewer.ts .traces/ --view timeline
|
|
321
|
+
|
|
322
|
+
# Token flow analysis
|
|
323
|
+
npx tsx bin/trace-viewer.ts .traces/ --view tokens
|
|
324
|
+
|
|
325
|
+
# Generate HTML report
|
|
326
|
+
npx tsx bin/trace-viewer.ts .traces/ --output html
|
|
327
|
+
|
|
328
|
+
# Compare two sessions
|
|
329
|
+
npx tsx bin/trace-viewer.ts compare <baseline.jsonl> <comparison.jsonl>
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
See [docs/tracing-guide.md](docs/tracing-guide.md) for the complete tracing documentation.
|
|
333
|
+
|
|
278
334
|
## Uninstall
|
|
279
335
|
|
|
280
336
|
```bash
|
package/dist/src/agent.d.ts
CHANGED
|
@@ -145,6 +145,11 @@ export declare class ProductionAgent {
|
|
|
145
145
|
* Get current state.
|
|
146
146
|
*/
|
|
147
147
|
getState(): AgentState;
|
|
148
|
+
/**
|
|
149
|
+
* Get the maximum context tokens for this agent's model.
|
|
150
|
+
* Priority: user config > OpenRouter API > hardcoded ModelRegistry > 200K default
|
|
151
|
+
*/
|
|
152
|
+
getMaxContextTokens(): number;
|
|
148
153
|
/**
|
|
149
154
|
* Get the trace collector (Lesson 26).
|
|
150
155
|
* Returns null if trace capture is not enabled.
|
package/dist/src/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent.js
CHANGED
|
@@ -24,6 +24,9 @@ import { createLSPFileTools, } from './agent-tools/index.js';
|
|
|
24
24
|
import { HookManager, MemoryManager, PlanningManager, ObservabilityManager, SafetyManager, RoutingManager, MultiAgentManager, ReActManager, ExecutionPolicyManager, ThreadManager, RulesManager, DEFAULT_RULE_SOURCES, ExecutionEconomicsManager, STANDARD_BUDGET, AgentRegistry, filterToolsForAgent, formatAgentList, createCancellationManager, isCancellationError, createTimeoutToken, createLinkedToken, race, createResourceManager, createLSPManager, createSemanticCacheManager, createSkillManager, formatSkillList, createContextEngineering, stableStringify, createCodebaseContext, buildContextFromChunks, createPendingPlanManager, createInteractivePlanner, createRecursiveContext, createLearningStore, createCompactor, createAutoCompactionManager, createFileChangeTracker, createCapabilitiesRegistry, } from './integrations/index.js';
|
|
25
25
|
// Lesson 26: Tracing & Evaluation integration
|
|
26
26
|
import { createTraceCollector } from './tracing/trace-collector.js';
|
|
27
|
+
// Model registry for context window limits
|
|
28
|
+
import { modelRegistry } from './costs/index.js';
|
|
29
|
+
import { getModelContextLength } from './integrations/openrouter-pricing.js';
|
|
27
30
|
// Spawn agent tool for LLM-driven subagent delegation
|
|
28
31
|
import { createBoundSpawnAgentTool } from './tools/agent.js';
|
|
29
32
|
// =============================================================================
|
|
@@ -490,15 +493,50 @@ export class ProductionAgent {
|
|
|
490
493
|
summaryModel: compactionConfig.summaryModel,
|
|
491
494
|
});
|
|
492
495
|
// Create the auto-compaction manager with threshold monitoring
|
|
496
|
+
// Wire reversible compaction through contextEngineering when available
|
|
497
|
+
const compactHandler = this.contextEngineering
|
|
498
|
+
? async (messages) => {
|
|
499
|
+
// Use contextEngineering's reversible compaction to preserve references
|
|
500
|
+
const summarize = async (msgs) => {
|
|
501
|
+
// Use the basic compactor's summarization capability
|
|
502
|
+
const result = await this.compactor.compact(msgs);
|
|
503
|
+
return result.summary;
|
|
504
|
+
};
|
|
505
|
+
const contextMsgs = messages.map(m => ({
|
|
506
|
+
role: m.role,
|
|
507
|
+
content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content),
|
|
508
|
+
}));
|
|
509
|
+
const result = await this.contextEngineering.compact(contextMsgs, summarize);
|
|
510
|
+
const tokensBefore = this.compactor.estimateTokens(messages);
|
|
511
|
+
const tokensAfter = this.compactor.estimateTokens([{ role: 'assistant', content: result.summary }]);
|
|
512
|
+
return {
|
|
513
|
+
summary: result.summary + (result.reconstructionPrompt ? `\n\n${result.reconstructionPrompt}` : ''),
|
|
514
|
+
tokensBefore,
|
|
515
|
+
tokensAfter,
|
|
516
|
+
preservedMessages: [{ role: 'assistant', content: result.summary }],
|
|
517
|
+
references: result.references,
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
: undefined;
|
|
521
|
+
// Get model's actual context window - try OpenRouter first (real API data),
|
|
522
|
+
// then fall back to hardcoded ModelRegistry, then config, then default
|
|
523
|
+
const openRouterContext = getModelContextLength(this.config.model || '');
|
|
524
|
+
const registryInfo = modelRegistry.getModel(this.config.model || '');
|
|
525
|
+
const registryContext = registryInfo?.capabilities?.maxContextTokens;
|
|
526
|
+
const maxContextTokens = this.config.maxContextTokens
|
|
527
|
+
?? openRouterContext // From OpenRouter API (e.g., GLM-4.7 = 202752)
|
|
528
|
+
?? registryContext // From hardcoded registry (Claude, GPT-4o, etc.)
|
|
529
|
+
?? 200000; // Fallback to 200K
|
|
493
530
|
this.autoCompactionManager = createAutoCompactionManager(this.compactor, {
|
|
494
531
|
mode: compactionConfig.mode ?? 'auto',
|
|
495
|
-
warningThreshold: 0.
|
|
496
|
-
autoCompactThreshold: 0.90
|
|
497
|
-
hardLimitThreshold: 0.
|
|
532
|
+
warningThreshold: 0.70, // Warn at 70% of model's context
|
|
533
|
+
autoCompactThreshold: 0.80, // Compact at 80% (changed from 0.90)
|
|
534
|
+
hardLimitThreshold: 0.95, // Hard limit at 95%
|
|
498
535
|
preserveRecentUserMessages: Math.ceil((compactionConfig.preserveRecentCount ?? 10) / 2),
|
|
499
536
|
preserveRecentAssistantMessages: Math.ceil((compactionConfig.preserveRecentCount ?? 10) / 2),
|
|
500
537
|
cooldownMs: 60000, // 1 minute cooldown
|
|
501
|
-
maxContextTokens
|
|
538
|
+
maxContextTokens, // Dynamic from model registry or config
|
|
539
|
+
compactHandler, // Use reversible compaction when contextEngineering is available
|
|
502
540
|
});
|
|
503
541
|
// Forward compactor events to observability
|
|
504
542
|
this.compactor.on(event => {
|
|
@@ -626,9 +664,19 @@ export class ProductionAgent {
|
|
|
626
664
|
const traceId = this.observability?.tracer?.startTrace('agent.run') || `trace-${Date.now()}`;
|
|
627
665
|
this.emit({ type: 'start', task, traceId });
|
|
628
666
|
this.observability?.logger?.info('Agent started', { task });
|
|
629
|
-
// Lesson 26: Start trace capture
|
|
630
|
-
|
|
631
|
-
|
|
667
|
+
// Lesson 26: Start trace capture
|
|
668
|
+
// If session is already active (managed by REPL), start a task within it.
|
|
669
|
+
// Otherwise, start a new session for backward compatibility (single-task mode).
|
|
670
|
+
const taskId = `task-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
671
|
+
if (this.traceCollector?.isSessionActive()) {
|
|
672
|
+
// Session managed by REPL - just start a task
|
|
673
|
+
await this.traceCollector.startTask(taskId, task);
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
// Single-task mode (backward compatibility) - start session with task
|
|
677
|
+
const traceSessionId = `session-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
678
|
+
await this.traceCollector?.startSession(traceSessionId, task, this.config.model || 'default', {});
|
|
679
|
+
}
|
|
632
680
|
try {
|
|
633
681
|
// Check for cancellation before starting
|
|
634
682
|
cancellationToken?.throwIfCancellationRequested();
|
|
@@ -659,8 +707,14 @@ export class ProductionAgent {
|
|
|
659
707
|
};
|
|
660
708
|
this.emit({ type: 'complete', result });
|
|
661
709
|
this.observability?.logger?.info('Agent completed', { duration, success: true });
|
|
662
|
-
// Lesson 26: End trace capture
|
|
663
|
-
|
|
710
|
+
// Lesson 26: End trace capture
|
|
711
|
+
// If task is active (REPL mode), end the task. Otherwise end the session (single-task mode).
|
|
712
|
+
if (this.traceCollector?.isTaskActive()) {
|
|
713
|
+
await this.traceCollector.endTask({ success: true, output: response });
|
|
714
|
+
}
|
|
715
|
+
else if (this.traceCollector?.isSessionActive()) {
|
|
716
|
+
await this.traceCollector.endSession({ success: true, output: response });
|
|
717
|
+
}
|
|
664
718
|
return result;
|
|
665
719
|
}
|
|
666
720
|
catch (err) {
|
|
@@ -672,8 +726,13 @@ export class ProductionAgent {
|
|
|
672
726
|
const cleanupDuration = Date.now() - cleanupStart;
|
|
673
727
|
this.emit({ type: 'cancellation.completed', cleanupDuration });
|
|
674
728
|
this.observability?.logger?.info('Agent cancelled', { reason: error.message, cleanupDuration });
|
|
675
|
-
// Lesson 26: End trace capture
|
|
676
|
-
|
|
729
|
+
// Lesson 26: End trace capture on cancellation
|
|
730
|
+
if (this.traceCollector?.isTaskActive()) {
|
|
731
|
+
await this.traceCollector.endTask({ success: false, failureReason: `Cancelled: ${error.message}` });
|
|
732
|
+
}
|
|
733
|
+
else if (this.traceCollector?.isSessionActive()) {
|
|
734
|
+
await this.traceCollector.endSession({ success: false, failureReason: `Cancelled: ${error.message}` });
|
|
735
|
+
}
|
|
677
736
|
return {
|
|
678
737
|
success: false,
|
|
679
738
|
response: '',
|
|
@@ -687,8 +746,13 @@ export class ProductionAgent {
|
|
|
687
746
|
await this.observability?.tracer?.endTrace();
|
|
688
747
|
this.emit({ type: 'error', error: error.message });
|
|
689
748
|
this.observability?.logger?.error('Agent failed', { error: error.message });
|
|
690
|
-
// Lesson 26: End trace capture
|
|
691
|
-
|
|
749
|
+
// Lesson 26: End trace capture on error
|
|
750
|
+
if (this.traceCollector?.isTaskActive()) {
|
|
751
|
+
await this.traceCollector.endTask({ success: false, failureReason: error.message });
|
|
752
|
+
}
|
|
753
|
+
else if (this.traceCollector?.isSessionActive()) {
|
|
754
|
+
await this.traceCollector.endSession({ success: false, failureReason: error.message });
|
|
755
|
+
}
|
|
692
756
|
return {
|
|
693
757
|
success: false,
|
|
694
758
|
response: '',
|
|
@@ -761,6 +825,11 @@ export class ProductionAgent {
|
|
|
761
825
|
// Agent loop - now uses economics-based budget checking
|
|
762
826
|
while (true) {
|
|
763
827
|
this.state.iteration++;
|
|
828
|
+
// Record iteration start for tracing
|
|
829
|
+
this.traceCollector?.record({
|
|
830
|
+
type: 'iteration.start',
|
|
831
|
+
data: { iterationNumber: this.state.iteration },
|
|
832
|
+
});
|
|
764
833
|
// =======================================================================
|
|
765
834
|
// CANCELLATION CHECK
|
|
766
835
|
// =======================================================================
|
|
@@ -1091,6 +1160,11 @@ export class ProductionAgent {
|
|
|
1091
1160
|
continuations,
|
|
1092
1161
|
});
|
|
1093
1162
|
}
|
|
1163
|
+
// Record iteration end for tracing (no tool calls case)
|
|
1164
|
+
this.traceCollector?.record({
|
|
1165
|
+
type: 'iteration.end',
|
|
1166
|
+
data: { iterationNumber: this.state.iteration },
|
|
1167
|
+
});
|
|
1094
1168
|
break;
|
|
1095
1169
|
}
|
|
1096
1170
|
// Execute tool calls
|
|
@@ -1188,7 +1262,7 @@ export class ProductionAgent {
|
|
|
1188
1262
|
}
|
|
1189
1263
|
// Emit context health after adding tool results
|
|
1190
1264
|
const currentTokenEstimate = this.estimateContextTokens(messages);
|
|
1191
|
-
const contextLimit = this.
|
|
1265
|
+
const contextLimit = this.getMaxContextTokens();
|
|
1192
1266
|
const percentUsed = Math.round((currentTokenEstimate / contextLimit) * 100);
|
|
1193
1267
|
const avgTokensPerExchange = currentTokenEstimate / Math.max(1, this.state.iteration);
|
|
1194
1268
|
const remainingTokens = contextLimit - currentTokenEstimate;
|
|
@@ -1200,6 +1274,11 @@ export class ProductionAgent {
|
|
|
1200
1274
|
estimatedExchanges,
|
|
1201
1275
|
percentUsed,
|
|
1202
1276
|
});
|
|
1277
|
+
// Record iteration end for tracing (after tool execution)
|
|
1278
|
+
this.traceCollector?.record({
|
|
1279
|
+
type: 'iteration.end',
|
|
1280
|
+
data: { iterationNumber: this.state.iteration },
|
|
1281
|
+
});
|
|
1203
1282
|
}
|
|
1204
1283
|
// =======================================================================
|
|
1205
1284
|
// REFLECTION (Lesson 16)
|
|
@@ -1359,7 +1438,7 @@ export class ProductionAgent {
|
|
|
1359
1438
|
return sum + Math.ceil(content.length / 3.5); // ~3.5 chars per token estimate
|
|
1360
1439
|
}, 0);
|
|
1361
1440
|
// Use context window size, not output token limit
|
|
1362
|
-
const contextLimit = this.
|
|
1441
|
+
const contextLimit = this.getMaxContextTokens();
|
|
1363
1442
|
this.emit({
|
|
1364
1443
|
type: 'insight.context',
|
|
1365
1444
|
currentTokens: estimatedTokens,
|
|
@@ -1445,6 +1524,27 @@ export class ProductionAgent {
|
|
|
1445
1524
|
? [{ model, rejected: 'complexity threshold exceeded' }]
|
|
1446
1525
|
: undefined,
|
|
1447
1526
|
});
|
|
1527
|
+
// Enhanced tracing: Record routing decision
|
|
1528
|
+
this.traceCollector?.record({
|
|
1529
|
+
type: 'decision',
|
|
1530
|
+
data: {
|
|
1531
|
+
type: 'routing',
|
|
1532
|
+
decision: `Selected model: ${actualModel}`,
|
|
1533
|
+
outcome: 'allowed',
|
|
1534
|
+
reasoning: actualModel !== model
|
|
1535
|
+
? `Task complexity ${(complexity * 100).toFixed(0)}% exceeded threshold - routed to ${actualModel}`
|
|
1536
|
+
: `Default model ${model} suitable for task complexity ${(complexity * 100).toFixed(0)}%`,
|
|
1537
|
+
factors: [
|
|
1538
|
+
{ name: 'complexity', value: complexity, weight: 0.8 },
|
|
1539
|
+
{ name: 'hasTools', value: context.hasTools, weight: 0.1 },
|
|
1540
|
+
{ name: 'taskType', value: context.taskType, weight: 0.1 },
|
|
1541
|
+
],
|
|
1542
|
+
alternatives: actualModel !== model
|
|
1543
|
+
? [{ option: model, reason: 'complexity threshold exceeded', rejected: true }]
|
|
1544
|
+
: undefined,
|
|
1545
|
+
confidence: 0.9,
|
|
1546
|
+
},
|
|
1547
|
+
});
|
|
1448
1548
|
}
|
|
1449
1549
|
else {
|
|
1450
1550
|
response = await this.provider.chat(messages, {
|
|
@@ -1478,6 +1578,19 @@ export class ProductionAgent {
|
|
|
1478
1578
|
durationMs: duration,
|
|
1479
1579
|
},
|
|
1480
1580
|
});
|
|
1581
|
+
// Enhanced tracing: Record thinking/reasoning blocks if present
|
|
1582
|
+
if (response.thinking) {
|
|
1583
|
+
this.traceCollector?.record({
|
|
1584
|
+
type: 'llm.thinking',
|
|
1585
|
+
data: {
|
|
1586
|
+
requestId,
|
|
1587
|
+
content: response.thinking,
|
|
1588
|
+
summarized: response.thinking.length > 10000, // Summarize if very long
|
|
1589
|
+
originalLength: response.thinking.length,
|
|
1590
|
+
durationMs: duration,
|
|
1591
|
+
},
|
|
1592
|
+
});
|
|
1593
|
+
}
|
|
1481
1594
|
// Record metrics
|
|
1482
1595
|
this.observability?.metrics?.recordLLMCall(response.usage?.inputTokens || 0, response.usage?.outputTokens || 0, duration, actualModel, response.usage?.cost // Actual cost from provider (e.g., OpenRouter)
|
|
1483
1596
|
);
|
|
@@ -1551,6 +1664,7 @@ export class ProductionAgent {
|
|
|
1551
1664
|
type: 'plan.change.queued',
|
|
1552
1665
|
tool: toolCall.name,
|
|
1553
1666
|
changeId: change?.id,
|
|
1667
|
+
summary: this.formatToolArgsForPlan(toolCall.name, toolCall.arguments),
|
|
1554
1668
|
});
|
|
1555
1669
|
// Return a message indicating the change was queued
|
|
1556
1670
|
const queueMessage = `[PLAN MODE] Change queued for approval:\n` +
|
|
@@ -1590,6 +1704,23 @@ export class ProductionAgent {
|
|
|
1590
1704
|
: 'allowed',
|
|
1591
1705
|
policyMatch: evaluation.reason,
|
|
1592
1706
|
});
|
|
1707
|
+
// Enhanced tracing: Record policy decision
|
|
1708
|
+
this.traceCollector?.record({
|
|
1709
|
+
type: 'decision',
|
|
1710
|
+
data: {
|
|
1711
|
+
type: 'policy',
|
|
1712
|
+
decision: `Tool ${toolCall.name}: ${evaluation.policy}`,
|
|
1713
|
+
outcome: evaluation.policy === 'forbidden' ? 'blocked'
|
|
1714
|
+
: evaluation.policy === 'prompt' ? 'deferred'
|
|
1715
|
+
: 'allowed',
|
|
1716
|
+
reasoning: evaluation.reason,
|
|
1717
|
+
factors: [
|
|
1718
|
+
{ name: 'policy', value: evaluation.policy },
|
|
1719
|
+
{ name: 'requiresApproval', value: evaluation.requiresApproval ?? false },
|
|
1720
|
+
],
|
|
1721
|
+
confidence: evaluation.intent?.confidence ?? 0.8,
|
|
1722
|
+
},
|
|
1723
|
+
});
|
|
1593
1724
|
// Handle forbidden policy - always block
|
|
1594
1725
|
if (evaluation.policy === 'forbidden') {
|
|
1595
1726
|
throw new Error(`Forbidden by policy: ${evaluation.reason}`);
|
|
@@ -1855,6 +1986,12 @@ export class ProductionAgent {
|
|
|
1855
1986
|
if (toolName === 'delete_file') {
|
|
1856
1987
|
return `Delete: ${args.path || args.file_path}`;
|
|
1857
1988
|
}
|
|
1989
|
+
if (toolName === 'spawn_agent' || toolName === 'researcher') {
|
|
1990
|
+
const task = String(args.task || args.prompt || args.goal || '');
|
|
1991
|
+
const model = args.model ? ` (${args.model})` : '';
|
|
1992
|
+
const firstLine = task.split('\n')[0].slice(0, 100);
|
|
1993
|
+
return `${firstLine}${task.length > 100 ? '...' : ''}${model}`;
|
|
1994
|
+
}
|
|
1858
1995
|
// Generic
|
|
1859
1996
|
return `Args: ${JSON.stringify(args).slice(0, 100)}...`;
|
|
1860
1997
|
}
|
|
@@ -1882,6 +2019,27 @@ export class ProductionAgent {
|
|
|
1882
2019
|
getState() {
|
|
1883
2020
|
return { ...this.state };
|
|
1884
2021
|
}
|
|
2022
|
+
/**
|
|
2023
|
+
* Get the maximum context tokens for this agent's model.
|
|
2024
|
+
* Priority: user config > OpenRouter API > hardcoded ModelRegistry > 200K default
|
|
2025
|
+
*/
|
|
2026
|
+
getMaxContextTokens() {
|
|
2027
|
+
if (this.config.maxContextTokens) {
|
|
2028
|
+
return this.config.maxContextTokens;
|
|
2029
|
+
}
|
|
2030
|
+
// Try OpenRouter API cache (has real data for GLM-4.7, etc.)
|
|
2031
|
+
const openRouterContext = getModelContextLength(this.config.model || '');
|
|
2032
|
+
if (openRouterContext) {
|
|
2033
|
+
return openRouterContext;
|
|
2034
|
+
}
|
|
2035
|
+
// Fall back to hardcoded registry
|
|
2036
|
+
const registryInfo = modelRegistry.getModel(this.config.model || '');
|
|
2037
|
+
if (registryInfo?.capabilities?.maxContextTokens) {
|
|
2038
|
+
return registryInfo.capabilities.maxContextTokens;
|
|
2039
|
+
}
|
|
2040
|
+
// Default
|
|
2041
|
+
return 200000;
|
|
2042
|
+
}
|
|
1885
2043
|
/**
|
|
1886
2044
|
* Get the trace collector (Lesson 26).
|
|
1887
2045
|
* Returns null if trace capture is not enabled.
|
|
@@ -2602,6 +2760,8 @@ export class ProductionAgent {
|
|
|
2602
2760
|
this.emit({ type: 'agent.spawn', agentId: `spawn-${Date.now()}`, name: agentName, task });
|
|
2603
2761
|
this.observability?.logger?.info('Spawning agent', { name: agentName, task });
|
|
2604
2762
|
const startTime = Date.now();
|
|
2763
|
+
const childSessionId = `subagent-${agentName}-${Date.now()}`;
|
|
2764
|
+
const childTraceId = `trace-${childSessionId}`;
|
|
2605
2765
|
try {
|
|
2606
2766
|
// Filter tools for this agent
|
|
2607
2767
|
const agentTools = filterToolsForAgent(agentDef, Array.from(this.tools.values()));
|
|
@@ -2674,6 +2834,32 @@ export class ProductionAgent {
|
|
|
2674
2834
|
},
|
|
2675
2835
|
};
|
|
2676
2836
|
this.emit({ type: 'agent.complete', agentId: agentName, success: result.success });
|
|
2837
|
+
// Enhanced tracing: Record subagent completion
|
|
2838
|
+
this.traceCollector?.record({
|
|
2839
|
+
type: 'subagent.link',
|
|
2840
|
+
data: {
|
|
2841
|
+
parentSessionId: this.traceCollector.getSessionId() || 'unknown',
|
|
2842
|
+
childSessionId,
|
|
2843
|
+
childTraceId,
|
|
2844
|
+
childConfig: {
|
|
2845
|
+
agentType: agentName,
|
|
2846
|
+
model: resolvedModel || 'default',
|
|
2847
|
+
task,
|
|
2848
|
+
tools: agentTools.map(t => t.name),
|
|
2849
|
+
},
|
|
2850
|
+
spawnContext: {
|
|
2851
|
+
reason: `Delegated task: ${task.slice(0, 100)}`,
|
|
2852
|
+
expectedOutcome: agentDef.description,
|
|
2853
|
+
parentIteration: this.state.iteration,
|
|
2854
|
+
},
|
|
2855
|
+
result: {
|
|
2856
|
+
success: result.success,
|
|
2857
|
+
summary: (result.response || result.error || '').slice(0, 500),
|
|
2858
|
+
tokensUsed: result.metrics.totalTokens,
|
|
2859
|
+
durationMs: duration,
|
|
2860
|
+
},
|
|
2861
|
+
},
|
|
2862
|
+
});
|
|
2677
2863
|
await subAgent.cleanup();
|
|
2678
2864
|
return spawnResult;
|
|
2679
2865
|
}
|