agentic-qe 2.8.0 → 2.8.1
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 +105 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +128 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +256 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/cli/commands/supabase/index.d.ts +20 -0
- package/dist/cli/commands/supabase/index.d.ts.map +1 -0
- package/dist/cli/commands/supabase/index.js +632 -0
- package/dist/cli/commands/supabase/index.js.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
- package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
- package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
- package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/index.js +9 -0
- package/dist/mcp/handlers/ruvector/index.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +100 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.js +882 -0
- package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
- package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
- package/dist/nervous-system/index.d.ts +25 -0
- package/dist/nervous-system/index.d.ts.map +1 -0
- package/dist/nervous-system/index.js +80 -0
- package/dist/nervous-system/index.js.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.js +696 -0
- package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
- package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
- package/dist/nervous-system/integration/index.d.ts +22 -0
- package/dist/nervous-system/integration/index.d.ts.map +1 -0
- package/dist/nervous-system/integration/index.js +44 -0
- package/dist/nervous-system/integration/index.js.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
- package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/index.d.ts +22 -0
- package/dist/nervous-system/persistence/index.d.ts.map +1 -0
- package/dist/nervous-system/persistence/index.js +45 -0
- package/dist/nervous-system/persistence/index.js.map +1 -0
- package/dist/nervous-system/wasm-loader.d.ts +52 -0
- package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
- package/dist/nervous-system/wasm-loader.js +188 -0
- package/dist/nervous-system/wasm-loader.js.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.js +1086 -0
- package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
- package/dist/persistence/IPersistenceProvider.d.ts +657 -0
- package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/IPersistenceProvider.js +11 -0
- package/dist/persistence/IPersistenceProvider.js.map +1 -0
- package/dist/persistence/SupabaseConfig.d.ts +176 -0
- package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
- package/dist/persistence/SupabaseConfig.js +277 -0
- package/dist/persistence/SupabaseConfig.js.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.js +955 -0
- package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/index.d.ts +11 -0
- package/dist/persistence/adapters/index.d.ts.map +1 -0
- package/dist/persistence/adapters/index.js +20 -0
- package/dist/persistence/adapters/index.js.map +1 -0
- package/dist/persistence/index.d.ts +14 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +36 -1
- package/dist/persistence/index.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CircadianAgentManager - Bio-inspired duty cycling for QE agent lifecycle management
|
|
3
|
+
*
|
|
4
|
+
* Integrates CircadianController with BaseAgent lifecycle to achieve 5-50x compute
|
|
5
|
+
* cost reduction by intelligently cycling agents between active and rest phases.
|
|
6
|
+
*
|
|
7
|
+
* ## Agent Lifecycle Phases
|
|
8
|
+
* - **ACTIVE**: Full compute, agents process all tasks, run tests, make decisions
|
|
9
|
+
* - **DAWN**: Ramping up, agents pre-warm caches, prepare for active period
|
|
10
|
+
* - **DUSK**: Ramping down, agents process backlog, batch operations
|
|
11
|
+
* - **REST**: Memory consolidation, minimal compute, only critical events handled
|
|
12
|
+
*
|
|
13
|
+
* ## Compute Savings
|
|
14
|
+
* - Active phase: 100% compute usage
|
|
15
|
+
* - Dawn phase: 60% compute usage
|
|
16
|
+
* - Dusk phase: 40% compute usage
|
|
17
|
+
* - Rest phase: 10% compute usage (5-10x reduction)
|
|
18
|
+
*
|
|
19
|
+
* @module nervous-system/integration/CircadianAgent
|
|
20
|
+
* @version 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
import { EventEmitter } from 'events';
|
|
23
|
+
import type { CircadianController, CircadianPhase, CircadianMetrics, CircadianState } from '../adapters/CircadianController.js';
|
|
24
|
+
import type { BaseAgent } from '../../agents/BaseAgent.js';
|
|
25
|
+
/**
|
|
26
|
+
* Criticality level determines agent behavior during phase transitions
|
|
27
|
+
*/
|
|
28
|
+
export type CriticalityLevel = 'low' | 'medium' | 'high' | 'critical';
|
|
29
|
+
/**
|
|
30
|
+
* Configuration for agent phase management
|
|
31
|
+
*/
|
|
32
|
+
export interface AgentPhaseConfig {
|
|
33
|
+
/** Unique agent identifier */
|
|
34
|
+
agentId: string;
|
|
35
|
+
/** Type of the agent (e.g., 'test-generator', 'coverage-analyzer') */
|
|
36
|
+
agentType: string;
|
|
37
|
+
/** Criticality level determines wake priority and rest eligibility */
|
|
38
|
+
criticalityLevel: CriticalityLevel;
|
|
39
|
+
/** Minimum hours agent must be active per cycle */
|
|
40
|
+
minActiveHours: number;
|
|
41
|
+
/** Whether agent can enter rest phase (critical agents never rest) */
|
|
42
|
+
canRest: boolean;
|
|
43
|
+
/** Custom duty factor override (0-1, optional) */
|
|
44
|
+
customDutyFactor?: number;
|
|
45
|
+
/** Tags for grouping agents (e.g., 'core', 'optional') */
|
|
46
|
+
tags?: string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* State of a managed agent
|
|
50
|
+
*/
|
|
51
|
+
export interface ManagedAgentState {
|
|
52
|
+
/** Current circadian phase for this agent */
|
|
53
|
+
phase: CircadianPhase;
|
|
54
|
+
/** Whether agent is currently active */
|
|
55
|
+
isActive: boolean;
|
|
56
|
+
/** Time spent in current state (ms) */
|
|
57
|
+
timeInState: number;
|
|
58
|
+
/** Total active time in current cycle (ms) */
|
|
59
|
+
activeTimeInCycle: number;
|
|
60
|
+
/** Number of tasks processed in current cycle */
|
|
61
|
+
tasksProcessed: number;
|
|
62
|
+
/** Last activity timestamp */
|
|
63
|
+
lastActivity: number;
|
|
64
|
+
/** Whether agent is currently sleeping */
|
|
65
|
+
isSleeping: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Energy savings report
|
|
69
|
+
*/
|
|
70
|
+
export interface EnergySavingsReport {
|
|
71
|
+
/** Total compute cycles saved */
|
|
72
|
+
savedCycles: number;
|
|
73
|
+
/** Percentage of compute saved (0-100) */
|
|
74
|
+
savingsPercentage: number;
|
|
75
|
+
/** Total time in rest phase (ms) */
|
|
76
|
+
totalRestTime: number;
|
|
77
|
+
/** Total time in active phase (ms) */
|
|
78
|
+
totalActiveTime: number;
|
|
79
|
+
/** Average duty factor achieved */
|
|
80
|
+
averageDutyFactor: number;
|
|
81
|
+
/** Estimated cost reduction factor (e.g., 5x) */
|
|
82
|
+
costReductionFactor: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Phase transition event data
|
|
86
|
+
*/
|
|
87
|
+
export interface PhaseTransitionEvent {
|
|
88
|
+
/** Agent that transitioned */
|
|
89
|
+
agentId: string;
|
|
90
|
+
/** Previous phase */
|
|
91
|
+
fromPhase: CircadianPhase;
|
|
92
|
+
/** New phase */
|
|
93
|
+
toPhase: CircadianPhase;
|
|
94
|
+
/** Timestamp of transition */
|
|
95
|
+
timestamp: number;
|
|
96
|
+
/** Reason for transition */
|
|
97
|
+
reason: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Agent wake/sleep event data
|
|
101
|
+
*/
|
|
102
|
+
export interface AgentSleepEvent {
|
|
103
|
+
/** Agent that changed sleep state */
|
|
104
|
+
agentId: string;
|
|
105
|
+
/** Whether agent is now sleeping */
|
|
106
|
+
isSleeping: boolean;
|
|
107
|
+
/** Current phase when sleep state changed */
|
|
108
|
+
phase: CircadianPhase;
|
|
109
|
+
/** Timestamp of change */
|
|
110
|
+
timestamp: number;
|
|
111
|
+
/** Expected duration of sleep (ms, 0 if waking) */
|
|
112
|
+
expectedDuration: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Manager configuration
|
|
116
|
+
*/
|
|
117
|
+
export interface CircadianAgentManagerConfig {
|
|
118
|
+
/** The CircadianController instance to use */
|
|
119
|
+
controller: CircadianController;
|
|
120
|
+
/** Default criticality for agents without explicit config */
|
|
121
|
+
defaultCriticality?: CriticalityLevel;
|
|
122
|
+
/** Whether to auto-register agents on add */
|
|
123
|
+
autoRegister?: boolean;
|
|
124
|
+
/** Time resolution for phase checks (ms) */
|
|
125
|
+
checkIntervalMs?: number;
|
|
126
|
+
/** Enable debug logging */
|
|
127
|
+
debug?: boolean;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Events emitted by CircadianAgentManager
|
|
131
|
+
*/
|
|
132
|
+
export interface CircadianAgentEvents {
|
|
133
|
+
/** Emitted when agent transitions between phases */
|
|
134
|
+
'phase-transition': PhaseTransitionEvent;
|
|
135
|
+
/** Emitted when agent enters/exits sleep */
|
|
136
|
+
'agent-sleep': AgentSleepEvent;
|
|
137
|
+
/** Emitted when all agents enter rest phase */
|
|
138
|
+
'fleet-rest': {
|
|
139
|
+
timestamp: number;
|
|
140
|
+
agentCount: number;
|
|
141
|
+
};
|
|
142
|
+
/** Emitted when fleet wakes from rest */
|
|
143
|
+
'fleet-wake': {
|
|
144
|
+
timestamp: number;
|
|
145
|
+
agentCount: number;
|
|
146
|
+
};
|
|
147
|
+
/** Emitted on phase change for the entire fleet */
|
|
148
|
+
'fleet-phase-change': {
|
|
149
|
+
fromPhase: CircadianPhase;
|
|
150
|
+
toPhase: CircadianPhase;
|
|
151
|
+
timestamp: number;
|
|
152
|
+
};
|
|
153
|
+
/** Emitted when energy savings milestone reached */
|
|
154
|
+
'savings-milestone': {
|
|
155
|
+
savingsPercentage: number;
|
|
156
|
+
savedCycles: number;
|
|
157
|
+
timestamp: number;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* CircadianAgentManager integrates bio-inspired duty cycling with QE agent lifecycle
|
|
162
|
+
*
|
|
163
|
+
* Manages agent active/rest states based on circadian phases to achieve
|
|
164
|
+
* significant compute cost reduction while maintaining responsiveness for
|
|
165
|
+
* critical operations.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* import { CircadianController } from '../adapters/CircadianController.js';
|
|
170
|
+
* import { CircadianAgentManager, AgentPhaseConfig } from './CircadianAgent.js';
|
|
171
|
+
*
|
|
172
|
+
* // Create controller with 1-hour cycles for demo
|
|
173
|
+
* const controller = new CircadianController({ cyclePeriodMs: 60 * 60 * 1000 });
|
|
174
|
+
*
|
|
175
|
+
* // Create manager
|
|
176
|
+
* const manager = new CircadianAgentManager({ controller });
|
|
177
|
+
*
|
|
178
|
+
* // Register agents
|
|
179
|
+
* const testAgent = await TestGeneratorAgent.create();
|
|
180
|
+
* await manager.registerAgent(testAgent, {
|
|
181
|
+
* agentId: testAgent.getAgentId().id,
|
|
182
|
+
* agentType: 'test-generator',
|
|
183
|
+
* criticalityLevel: 'medium',
|
|
184
|
+
* minActiveHours: 4,
|
|
185
|
+
* canRest: true,
|
|
186
|
+
* });
|
|
187
|
+
*
|
|
188
|
+
* // Listen for phase transitions
|
|
189
|
+
* manager.on('phase-transition', (event) => {
|
|
190
|
+
* console.log(`Agent ${event.agentId} transitioned to ${event.toPhase}`);
|
|
191
|
+
* });
|
|
192
|
+
*
|
|
193
|
+
* // Start the manager
|
|
194
|
+
* manager.start();
|
|
195
|
+
*
|
|
196
|
+
* // Check energy savings
|
|
197
|
+
* const savings = manager.getEnergySavings();
|
|
198
|
+
* console.log(`Saved ${savings.savingsPercentage}% compute`);
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
export declare class CircadianAgentManager extends EventEmitter {
|
|
202
|
+
private readonly controller;
|
|
203
|
+
private readonly agents;
|
|
204
|
+
private readonly defaultCriticality;
|
|
205
|
+
private readonly checkIntervalMs;
|
|
206
|
+
private readonly debug;
|
|
207
|
+
private checkInterval;
|
|
208
|
+
private lastPhase;
|
|
209
|
+
private totalComputeCycles;
|
|
210
|
+
private savedComputeCycles;
|
|
211
|
+
private lastSavingsMilestone;
|
|
212
|
+
private startTime;
|
|
213
|
+
private isRunning;
|
|
214
|
+
/**
|
|
215
|
+
* Create a new CircadianAgentManager
|
|
216
|
+
*
|
|
217
|
+
* @param config - Manager configuration
|
|
218
|
+
*/
|
|
219
|
+
constructor(config: CircadianAgentManagerConfig);
|
|
220
|
+
/**
|
|
221
|
+
* Register an agent for circadian management
|
|
222
|
+
*
|
|
223
|
+
* Agents must be registered before they can be managed. Critical agents
|
|
224
|
+
* will never enter rest phase; low criticality agents rest first.
|
|
225
|
+
*
|
|
226
|
+
* @param agent - The BaseAgent instance to manage
|
|
227
|
+
* @param config - Phase configuration for this agent
|
|
228
|
+
*/
|
|
229
|
+
registerAgent(agent: BaseAgent, config: AgentPhaseConfig): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Unregister an agent from circadian management
|
|
232
|
+
*
|
|
233
|
+
* @param agentId - ID of agent to unregister
|
|
234
|
+
*/
|
|
235
|
+
unregisterAgent(agentId: string): Promise<void>;
|
|
236
|
+
/**
|
|
237
|
+
* Check if an agent should be active in the current phase
|
|
238
|
+
*
|
|
239
|
+
* Takes into account:
|
|
240
|
+
* - Current circadian phase
|
|
241
|
+
* - Agent criticality level
|
|
242
|
+
* - Minimum active hours requirement
|
|
243
|
+
* - Custom duty factor overrides
|
|
244
|
+
*
|
|
245
|
+
* @param agentId - ID of agent to check
|
|
246
|
+
* @returns true if agent should be active
|
|
247
|
+
*/
|
|
248
|
+
shouldBeActive(agentId: string): boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Check if agent needs more active time to meet minimum requirement
|
|
251
|
+
*/
|
|
252
|
+
private needsMoreActiveTime;
|
|
253
|
+
/**
|
|
254
|
+
* Enter rest phase - put eligible agents to sleep
|
|
255
|
+
*
|
|
256
|
+
* Agents are put to sleep in order of criticality (low first).
|
|
257
|
+
* Critical agents never sleep.
|
|
258
|
+
*/
|
|
259
|
+
enterRestPhase(): Promise<void>;
|
|
260
|
+
/**
|
|
261
|
+
* Enter active phase - wake all agents
|
|
262
|
+
*/
|
|
263
|
+
enterActivePhase(): Promise<void>;
|
|
264
|
+
/**
|
|
265
|
+
* Force a specific phase transition for the fleet
|
|
266
|
+
*
|
|
267
|
+
* @param phase - Phase to transition to
|
|
268
|
+
*/
|
|
269
|
+
forcePhaseTransition(phase: CircadianPhase): Promise<void>;
|
|
270
|
+
/**
|
|
271
|
+
* Put an agent to sleep
|
|
272
|
+
*/
|
|
273
|
+
private sleepAgent;
|
|
274
|
+
/**
|
|
275
|
+
* Wake an agent from sleep
|
|
276
|
+
*/
|
|
277
|
+
private wakeAgent;
|
|
278
|
+
/**
|
|
279
|
+
* Get current state of all managed agents
|
|
280
|
+
*
|
|
281
|
+
* @returns Map of agent IDs to their current states
|
|
282
|
+
*/
|
|
283
|
+
getAgentStates(): Map<string, {
|
|
284
|
+
phase: CircadianPhase;
|
|
285
|
+
isActive: boolean;
|
|
286
|
+
}>;
|
|
287
|
+
/**
|
|
288
|
+
* Get detailed state for a specific agent
|
|
289
|
+
*/
|
|
290
|
+
getAgentState(agentId: string): ManagedAgentState | null;
|
|
291
|
+
/**
|
|
292
|
+
* Get agents by their current state
|
|
293
|
+
*/
|
|
294
|
+
private getAgentsByState;
|
|
295
|
+
/**
|
|
296
|
+
* Get agents sorted by criticality
|
|
297
|
+
*/
|
|
298
|
+
private getSortedAgentsByCriticality;
|
|
299
|
+
/**
|
|
300
|
+
* Calculate compute savings achieved by circadian cycling
|
|
301
|
+
*
|
|
302
|
+
* @returns Energy savings report with cycles saved and percentages
|
|
303
|
+
*/
|
|
304
|
+
getEnergySavings(): EnergySavingsReport;
|
|
305
|
+
/**
|
|
306
|
+
* Update compute savings tracking
|
|
307
|
+
*/
|
|
308
|
+
private updateComputeSavings;
|
|
309
|
+
/**
|
|
310
|
+
* Start the circadian manager
|
|
311
|
+
*
|
|
312
|
+
* Begins periodic phase checks and applies current phase to all agents.
|
|
313
|
+
*/
|
|
314
|
+
start(): void;
|
|
315
|
+
/**
|
|
316
|
+
* Stop the circadian manager
|
|
317
|
+
*
|
|
318
|
+
* Stops phase checks and wakes all sleeping agents.
|
|
319
|
+
*/
|
|
320
|
+
stop(): Promise<void>;
|
|
321
|
+
/**
|
|
322
|
+
* Advance the circadian controller time
|
|
323
|
+
*
|
|
324
|
+
* Call this to advance simulation time. In production, time advances
|
|
325
|
+
* automatically based on wall clock.
|
|
326
|
+
*
|
|
327
|
+
* @param dt - Time to advance in milliseconds
|
|
328
|
+
*/
|
|
329
|
+
advance(dt: number): void;
|
|
330
|
+
/**
|
|
331
|
+
* Check for and handle phase transitions
|
|
332
|
+
*/
|
|
333
|
+
private checkPhaseTransition;
|
|
334
|
+
/**
|
|
335
|
+
* Handle a phase change
|
|
336
|
+
*/
|
|
337
|
+
private handlePhaseChange;
|
|
338
|
+
/**
|
|
339
|
+
* Apply current phase to a specific agent
|
|
340
|
+
*/
|
|
341
|
+
private applyPhaseToAgent;
|
|
342
|
+
/**
|
|
343
|
+
* Handle dawn phase - prepare agents for active period
|
|
344
|
+
*/
|
|
345
|
+
private handleDawnPhase;
|
|
346
|
+
/**
|
|
347
|
+
* Handle dusk phase - start ramping down
|
|
348
|
+
*/
|
|
349
|
+
private handleDuskPhase;
|
|
350
|
+
/**
|
|
351
|
+
* Get circadian controller metrics
|
|
352
|
+
*/
|
|
353
|
+
getControllerMetrics(): CircadianMetrics;
|
|
354
|
+
/**
|
|
355
|
+
* Get circadian controller state
|
|
356
|
+
*/
|
|
357
|
+
getControllerState(): CircadianState;
|
|
358
|
+
/**
|
|
359
|
+
* Get manager statistics
|
|
360
|
+
*/
|
|
361
|
+
getStats(): {
|
|
362
|
+
totalAgents: number;
|
|
363
|
+
activeAgents: number;
|
|
364
|
+
sleepingAgents: number;
|
|
365
|
+
currentPhase: CircadianPhase;
|
|
366
|
+
uptime: number;
|
|
367
|
+
savings: EnergySavingsReport;
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Log message if debug is enabled
|
|
371
|
+
*/
|
|
372
|
+
private log;
|
|
373
|
+
/**
|
|
374
|
+
* Record a task completion for an agent
|
|
375
|
+
*
|
|
376
|
+
* Call this when an agent completes a task to track activity.
|
|
377
|
+
*/
|
|
378
|
+
recordTaskCompletion(agentId: string): void;
|
|
379
|
+
/**
|
|
380
|
+
* Get the number of registered agents
|
|
381
|
+
*/
|
|
382
|
+
get agentCount(): number;
|
|
383
|
+
/**
|
|
384
|
+
* Check if manager is currently running
|
|
385
|
+
*/
|
|
386
|
+
get running(): boolean;
|
|
387
|
+
}
|
|
388
|
+
export default CircadianAgentManager;
|
|
389
|
+
//# sourceMappingURL=CircadianAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircadianAgent.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/integration/CircadianAgent.ts"],"names":[],"mappings":"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"}
|