This commit is contained in:
Z User
2026-03-03 10:48:49 +00:00
Unverified
parent 00c2b6a1d0
commit 63a8b123c9
14 changed files with 4265 additions and 32 deletions

179
agent-system/index.ts Normal file
View File

@@ -0,0 +1,179 @@
/**
* Agent System - Complete Implementation
*
* A comprehensive agent framework with:
* - Token counting and management
* - Conversation summarization
* - Context compaction
* - Agent orchestration
* - Subagent spawning
* - Persistent storage
*
* @module agent-system
*/
// Core modules
export { TokenCounter, defaultTokenCounter, countTokens, countMessagesTokens } from './core/token-counter';
export type { TokenCountResult, MessageTokenCount, TokenBudget } from './core/token-counter';
export { ConversationSummarizer, defaultSummarizer } from './core/summarizer';
export type { SummaryResult, SummarizerOptions, ConversationTurn } from './core/summarizer';
export { ContextCompactor, ConversationContextManager, defaultCompactor, defaultContextManager } from './core/context-manager';
export type { CompactionResult, CompactionStrategy, CompactionConfig, MessagePriority } from './core/context-manager';
export { AgentOrchestrator, defaultOrchestrator } from './core/orchestrator';
export type {
AgentStatus,
TaskPriority,
TaskStatus,
AgentConfig,
Task,
AgentState,
OrchestratorEvent,
EventHandler
} from './core/orchestrator';
export {
SubagentSpawner,
SubagentInstance,
defaultSpawner,
spawnAndExecute
} from './core/subagent-spawner';
export type {
SubagentType,
SubagentDefinition,
SubagentResult,
SpawnOptions,
SubagentPool
} from './core/subagent-spawner';
// Agent classes
export { BaseAgent, SimpleAgent, createAgent } from './agents/base-agent';
export type { AgentMemory, AgentTool, AgentConfig, AgentResponse } from './agents/base-agent';
export { TaskAgent, createTaskAgent } from './agents/task-agent';
export type { TaskStep, TaskPlan, TaskResult } from './agents/task-agent';
// Storage
export { AgentStorage, defaultStorage } from './storage/memory-store';
export type { StoredConversation, StoredTask, StoredAgentState } from './storage/memory-store';
// Utilities
export {
debounce,
throttle,
retry,
sleep,
generateId,
deepClone,
deepMerge,
isObject,
truncate,
formatBytes,
formatDuration,
createRateLimiter,
createCache,
compose,
pipe,
chunk,
groupBy
} from './utils/helpers';
/**
* Quick Start Example:
*
* ```typescript
* import {
* createAgent,
* ConversationContextManager,
* SubagentSpawner
* } from './agent-system';
*
* // Create a simple agent
* const agent = createAgent(
* 'MyAgent',
* 'You are a helpful assistant.',
* { description: 'A simple helper agent' }
* );
*
* // Initialize and use
* await agent.initialize();
* const response = await agent.act('Hello!');
* console.log(response.content);
*
* // Use context management
* const context = new ConversationContextManager();
* context.addMessage({ role: 'user', content: 'Hello!' });
*
* // Spawn subagents
* const spawner = new SubagentSpawner();
* const result = await spawner.executeWithSubagent(
* 'researcher',
* 'Research AI agents',
* 'Focus on autonomous agents'
* );
* ```
*/
/**
* Context Compaction Example:
*
* ```typescript
* import { ContextCompactor, ConversationSummarizer } from './agent-system';
*
* // Create compactor with custom config
* const compactor = new ContextCompactor({
* maxTokens: 100000,
* strategy: 'hybrid',
* preserveRecentCount: 10
* });
*
* // Compact a conversation
* const messages = [
* { role: 'user', content: '...' },
* { role: 'assistant', content: '...' },
* // ... many more messages
* ];
*
* if (compactor.needsCompaction(messages)) {
* const result = await compactor.compact(messages);
* console.log(`Saved ${result.tokensSaved} tokens`);
* console.log(`Compression ratio: ${result.compressionRatio}`);
* }
* ```
*/
/**
* Agent Orchestration Example:
*
* ```typescript
* import { AgentOrchestrator, SubagentSpawner } from './agent-system';
*
* const orchestrator = new AgentOrchestrator();
*
* // Register agents
* orchestrator.registerAgent({
* id: 'agent-1',
* name: 'Worker Agent',
* type: 'worker',
* capabilities: ['process', 'execute'],
* maxConcurrentTasks: 3,
* timeout: 60000
* });
*
* // Create tasks
* orchestrator.createTask('process', 'Process data', { data: [...] });
*
* // Listen for events
* orchestrator.on('task_completed', (event) => {
* console.log('Task completed:', event.data);
* });
*
* // Start processing
* orchestrator.start();
* ```
*/
// Version
export const VERSION = '1.0.0';