agentic-qe 2.8.0 → 2.8.2

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.
Files changed (226) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +329 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +657 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/cli/commands/supabase/index.d.ts +20 -0
  8. package/dist/cli/commands/supabase/index.d.ts.map +1 -0
  9. package/dist/cli/commands/supabase/index.js +632 -0
  10. package/dist/cli/commands/supabase/index.js.map +1 -0
  11. package/dist/cli/index.js +3 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts +135 -0
  14. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.d.ts.map +1 -0
  15. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js +301 -0
  16. package/dist/code-intelligence/embeddings/EmbeddingCacheFactory.js.map +1 -0
  17. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +78 -6
  18. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -1
  19. package/dist/code-intelligence/embeddings/NomicEmbedder.js +162 -21
  20. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -1
  21. package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts +59 -0
  22. package/dist/code-intelligence/embeddings/backends/MemoryBackend.d.ts.map +1 -0
  23. package/dist/code-intelligence/embeddings/backends/MemoryBackend.js +173 -0
  24. package/dist/code-intelligence/embeddings/backends/MemoryBackend.js.map +1 -0
  25. package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts +50 -0
  26. package/dist/code-intelligence/embeddings/backends/RedisBackend.d.ts.map +1 -0
  27. package/dist/code-intelligence/embeddings/backends/RedisBackend.js +279 -0
  28. package/dist/code-intelligence/embeddings/backends/RedisBackend.js.map +1 -0
  29. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts +64 -0
  30. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.d.ts.map +1 -0
  31. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js +314 -0
  32. package/dist/code-intelligence/embeddings/backends/SQLiteBackend.js.map +1 -0
  33. package/dist/code-intelligence/embeddings/backends/index.d.ts +16 -0
  34. package/dist/code-intelligence/embeddings/backends/index.d.ts.map +1 -0
  35. package/dist/code-intelligence/embeddings/backends/index.js +28 -0
  36. package/dist/code-intelligence/embeddings/backends/index.js.map +1 -0
  37. package/dist/code-intelligence/embeddings/backends/types.d.ts +177 -0
  38. package/dist/code-intelligence/embeddings/backends/types.d.ts.map +1 -0
  39. package/dist/code-intelligence/embeddings/backends/types.js +30 -0
  40. package/dist/code-intelligence/embeddings/backends/types.js.map +1 -0
  41. package/dist/code-intelligence/embeddings/index.d.ts +7 -0
  42. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -1
  43. package/dist/code-intelligence/embeddings/index.js +16 -1
  44. package/dist/code-intelligence/embeddings/index.js.map +1 -1
  45. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  46. package/dist/infrastructure/index.d.ts +15 -0
  47. package/dist/infrastructure/index.d.ts.map +1 -0
  48. package/dist/infrastructure/index.js +44 -0
  49. package/dist/infrastructure/index.js.map +1 -0
  50. package/dist/infrastructure/network/AgentRateLimiter.d.ts +59 -0
  51. package/dist/infrastructure/network/AgentRateLimiter.d.ts.map +1 -0
  52. package/dist/infrastructure/network/AgentRateLimiter.js +186 -0
  53. package/dist/infrastructure/network/AgentRateLimiter.js.map +1 -0
  54. package/dist/infrastructure/network/AuditLogger.d.ts +102 -0
  55. package/dist/infrastructure/network/AuditLogger.d.ts.map +1 -0
  56. package/dist/infrastructure/network/AuditLogger.js +284 -0
  57. package/dist/infrastructure/network/AuditLogger.js.map +1 -0
  58. package/dist/infrastructure/network/DomainWhitelist.d.ts +111 -0
  59. package/dist/infrastructure/network/DomainWhitelist.d.ts.map +1 -0
  60. package/dist/infrastructure/network/DomainWhitelist.js +216 -0
  61. package/dist/infrastructure/network/DomainWhitelist.js.map +1 -0
  62. package/dist/infrastructure/network/NetworkPolicyManager.d.ts +97 -0
  63. package/dist/infrastructure/network/NetworkPolicyManager.d.ts.map +1 -0
  64. package/dist/infrastructure/network/NetworkPolicyManager.js +309 -0
  65. package/dist/infrastructure/network/NetworkPolicyManager.js.map +1 -0
  66. package/dist/infrastructure/network/index.d.ts +19 -0
  67. package/dist/infrastructure/network/index.d.ts.map +1 -0
  68. package/dist/infrastructure/network/index.js +46 -0
  69. package/dist/infrastructure/network/index.js.map +1 -0
  70. package/dist/infrastructure/network/policies/default-policies.d.ts +78 -0
  71. package/dist/infrastructure/network/policies/default-policies.d.ts.map +1 -0
  72. package/dist/infrastructure/network/policies/default-policies.js +312 -0
  73. package/dist/infrastructure/network/policies/default-policies.js.map +1 -0
  74. package/dist/infrastructure/network/types.d.ts +214 -0
  75. package/dist/infrastructure/network/types.d.ts.map +1 -0
  76. package/dist/infrastructure/network/types.js +25 -0
  77. package/dist/infrastructure/network/types.js.map +1 -0
  78. package/dist/infrastructure/sandbox/ResourceMonitor.d.ts +124 -0
  79. package/dist/infrastructure/sandbox/ResourceMonitor.d.ts.map +1 -0
  80. package/dist/infrastructure/sandbox/ResourceMonitor.js +305 -0
  81. package/dist/infrastructure/sandbox/ResourceMonitor.js.map +1 -0
  82. package/dist/infrastructure/sandbox/SandboxManager.d.ts +122 -0
  83. package/dist/infrastructure/sandbox/SandboxManager.d.ts.map +1 -0
  84. package/dist/infrastructure/sandbox/SandboxManager.js +527 -0
  85. package/dist/infrastructure/sandbox/SandboxManager.js.map +1 -0
  86. package/dist/infrastructure/sandbox/index.d.ts +18 -0
  87. package/dist/infrastructure/sandbox/index.d.ts.map +1 -0
  88. package/dist/infrastructure/sandbox/index.js +38 -0
  89. package/dist/infrastructure/sandbox/index.js.map +1 -0
  90. package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts +53 -0
  91. package/dist/infrastructure/sandbox/profiles/agent-profiles.d.ts.map +1 -0
  92. package/dist/infrastructure/sandbox/profiles/agent-profiles.js +433 -0
  93. package/dist/infrastructure/sandbox/profiles/agent-profiles.js.map +1 -0
  94. package/dist/infrastructure/sandbox/types.d.ts +227 -0
  95. package/dist/infrastructure/sandbox/types.d.ts.map +1 -0
  96. package/dist/infrastructure/sandbox/types.js +63 -0
  97. package/dist/infrastructure/sandbox/types.js.map +1 -0
  98. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
  99. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
  100. package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
  101. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
  102. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
  103. package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
  104. package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
  105. package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
  106. package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
  107. package/dist/mcp/handlers/ruvector/index.js +9 -0
  108. package/dist/mcp/handlers/ruvector/index.js.map +1 -0
  109. package/dist/mcp/server-instructions.d.ts +1 -1
  110. package/dist/mcp/server-instructions.js +1 -1
  111. package/dist/mcp/server.d.ts.map +1 -1
  112. package/dist/mcp/server.js +100 -22
  113. package/dist/mcp/server.js.map +1 -1
  114. package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
  115. package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
  116. package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
  117. package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
  118. package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
  119. package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
  120. package/dist/nervous-system/adapters/CircadianController.js +882 -0
  121. package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
  122. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
  123. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
  124. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
  125. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
  126. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
  127. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
  128. package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
  129. package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
  130. package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
  131. package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
  132. package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
  133. package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
  134. package/dist/nervous-system/index.d.ts +25 -0
  135. package/dist/nervous-system/index.d.ts.map +1 -0
  136. package/dist/nervous-system/index.js +80 -0
  137. package/dist/nervous-system/index.js.map +1 -0
  138. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
  139. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
  140. package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
  141. package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
  142. package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
  143. package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
  144. package/dist/nervous-system/integration/CircadianAgent.js +696 -0
  145. package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
  146. package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
  147. package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
  148. package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
  149. package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
  150. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
  151. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
  152. package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
  153. package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
  154. package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
  155. package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
  156. package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
  157. package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
  158. package/dist/nervous-system/integration/index.d.ts +22 -0
  159. package/dist/nervous-system/integration/index.d.ts.map +1 -0
  160. package/dist/nervous-system/integration/index.js +44 -0
  161. package/dist/nervous-system/integration/index.js.map +1 -0
  162. package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
  163. package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
  164. package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
  165. package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
  166. package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
  167. package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
  168. package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
  169. package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
  170. package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
  171. package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
  172. package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
  173. package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
  174. package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
  175. package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
  176. package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
  177. package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
  178. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
  179. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
  180. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
  181. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
  182. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
  183. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
  184. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
  185. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
  186. package/dist/nervous-system/persistence/index.d.ts +22 -0
  187. package/dist/nervous-system/persistence/index.d.ts.map +1 -0
  188. package/dist/nervous-system/persistence/index.js +45 -0
  189. package/dist/nervous-system/persistence/index.js.map +1 -0
  190. package/dist/nervous-system/wasm-loader.d.ts +52 -0
  191. package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
  192. package/dist/nervous-system/wasm-loader.js +188 -0
  193. package/dist/nervous-system/wasm-loader.js.map +1 -0
  194. package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
  195. package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
  196. package/dist/persistence/HybridPersistenceProvider.js +1086 -0
  197. package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
  198. package/dist/persistence/IPersistenceProvider.d.ts +657 -0
  199. package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
  200. package/dist/persistence/IPersistenceProvider.js +11 -0
  201. package/dist/persistence/IPersistenceProvider.js.map +1 -0
  202. package/dist/persistence/SupabaseConfig.d.ts +176 -0
  203. package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
  204. package/dist/persistence/SupabaseConfig.js +277 -0
  205. package/dist/persistence/SupabaseConfig.js.map +1 -0
  206. package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
  207. package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
  208. package/dist/persistence/SupabasePersistenceProvider.js +959 -0
  209. package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
  210. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
  211. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
  212. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
  213. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
  214. package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
  215. package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
  216. package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
  217. package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
  218. package/dist/persistence/adapters/index.d.ts +11 -0
  219. package/dist/persistence/adapters/index.d.ts.map +1 -0
  220. package/dist/persistence/adapters/index.js +20 -0
  221. package/dist/persistence/adapters/index.js.map +1 -0
  222. package/dist/persistence/index.d.ts +14 -0
  223. package/dist/persistence/index.d.ts.map +1 -1
  224. package/dist/persistence/index.js +36 -1
  225. package/dist/persistence/index.js.map +1 -1
  226. package/package.json +7 -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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"}