moflo 4.8.17 → 4.8.20

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 (244) hide show
  1. package/.claude/guidance/shipped/moflo.md +45 -0
  2. package/.claude/helpers/statusline.cjs +1 -1
  3. package/.claude/workflow-state.json +9 -0
  4. package/bin/generate-code-map.mjs +91 -12
  5. package/package.json +2 -2
  6. package/src/@claude-flow/cli/bin/cli.js +5 -0
  7. package/src/@claude-flow/cli/dist/src/init/moflo-init.js +9 -0
  8. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
  9. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +8 -0
  10. package/src/@claude-flow/cli/package.json +1 -1
  11. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  12. package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  13. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  14. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
  15. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  16. package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  17. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
  18. package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
  19. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  20. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  21. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  22. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  23. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  24. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  25. package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
  26. package/src/@claude-flow/memory/dist/application/index.js +15 -0
  27. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  28. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  29. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  30. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  31. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  32. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  33. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  34. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
  35. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  36. package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
  37. package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  38. package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
  39. package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  40. package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
  41. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  42. package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
  43. package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  44. package/src/@claude-flow/memory/dist/database-provider.js +372 -0
  45. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  46. package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
  47. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  48. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  49. package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  50. package/src/@claude-flow/memory/dist/domain/index.js +12 -0
  51. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  52. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  53. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  54. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  55. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  56. package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
  57. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  58. package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  59. package/src/@claude-flow/memory/dist/index.d.ts +204 -0
  60. package/src/@claude-flow/memory/dist/index.js +358 -0
  61. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  62. package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  63. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  64. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  65. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  66. package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
  67. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  68. package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  69. package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  70. package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
  71. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  72. package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  73. package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
  74. package/src/@claude-flow/memory/dist/migration.js +513 -0
  75. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  76. package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
  77. package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  78. package/src/@claude-flow/memory/dist/query-builder.js +438 -0
  79. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  80. package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
  81. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  82. package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  83. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  84. package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
  85. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
  86. package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
  87. package/src/@claude-flow/memory/dist/types.d.ts +484 -0
  88. package/src/@claude-flow/memory/dist/types.js +58 -0
  89. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  90. package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  91. package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  92. package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
  93. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  94. package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
  95. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
  96. package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
  97. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  98. package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
  99. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  100. package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
  101. package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
  102. package/src/@claude-flow/shared/dist/core/index.js +19 -0
  103. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  104. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  105. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  106. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  107. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  108. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  109. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  110. package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  111. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  112. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  113. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  114. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  115. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  116. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  117. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  118. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  119. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  120. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  121. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  122. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  123. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  124. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  125. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  126. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  127. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  128. package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
  129. package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  130. package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
  131. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  132. package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
  133. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  134. package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
  135. package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
  136. package/src/@claude-flow/shared/dist/events/index.js +22 -0
  137. package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  138. package/src/@claude-flow/shared/dist/events/projections.js +421 -0
  139. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  140. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  141. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  142. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  143. package/src/@claude-flow/shared/dist/events.d.ts +80 -0
  144. package/src/@claude-flow/shared/dist/events.js +249 -0
  145. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  146. package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  147. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  148. package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
  149. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  150. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  151. package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  152. package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
  153. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  154. package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
  155. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  156. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  157. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  158. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  159. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  160. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  161. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  162. package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  163. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  164. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  165. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  166. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  167. package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  168. package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
  169. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  170. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  171. package/src/@claude-flow/shared/dist/index.d.ts +20 -0
  172. package/src/@claude-flow/shared/dist/index.js +50 -0
  173. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  174. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  175. package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  176. package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
  177. package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  178. package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
  179. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  180. package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  181. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  182. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  183. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  184. package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  185. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  186. package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  187. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  188. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  189. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  190. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  191. package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
  192. package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
  193. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  194. package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
  195. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  196. package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
  197. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  198. package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
  199. package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  200. package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
  201. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  202. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  203. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  204. package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  205. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  206. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  207. package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  208. package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
  209. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  210. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  211. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  212. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  213. package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  214. package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
  215. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  216. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  217. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  218. package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
  219. package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
  220. package/src/@claude-flow/shared/dist/security/index.js +12 -0
  221. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  222. package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
  223. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  224. package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
  225. package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
  226. package/src/@claude-flow/shared/dist/services/index.js +7 -0
  227. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  228. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  229. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  230. package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
  231. package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
  232. package/src/@claude-flow/shared/dist/types/index.js +17 -0
  233. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  234. package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  235. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  236. package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
  237. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  238. package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  239. package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  240. package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
  241. package/src/@claude-flow/shared/dist/types.d.ts +197 -0
  242. package/src/@claude-flow/shared/dist/types.js +21 -0
  243. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  244. package/src/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
@@ -0,0 +1,224 @@
1
+ /**
2
+ * V3 Event Interfaces
3
+ * Domain-Driven Design - Event Sourcing Pattern (ADR-007)
4
+ */
5
+ /**
6
+ * Event priority levels
7
+ */
8
+ export type EventPriority = 'critical' | 'high' | 'normal' | 'low';
9
+ /**
10
+ * Core event structure
11
+ */
12
+ export interface IEvent<T = unknown> {
13
+ readonly id: string;
14
+ readonly type: string;
15
+ readonly timestamp: Date;
16
+ readonly source: string;
17
+ payload: T;
18
+ priority?: EventPriority;
19
+ correlationId?: string;
20
+ causationId?: string;
21
+ metadata?: {
22
+ version?: number;
23
+ userId?: string;
24
+ sessionId?: string;
25
+ [key: string]: unknown;
26
+ };
27
+ }
28
+ /**
29
+ * Event creation parameters
30
+ */
31
+ export interface IEventCreate<T = unknown> {
32
+ type: string;
33
+ payload: T;
34
+ source?: string;
35
+ priority?: EventPriority;
36
+ correlationId?: string;
37
+ causationId?: string;
38
+ metadata?: IEvent['metadata'];
39
+ }
40
+ /**
41
+ * Event handler function type
42
+ */
43
+ export type IEventHandler<T = unknown> = (event: IEvent<T>) => void | Promise<void>;
44
+ /**
45
+ * Event filter for subscriptions
46
+ */
47
+ export interface IEventFilter {
48
+ types?: string[];
49
+ sources?: string[];
50
+ priority?: EventPriority[];
51
+ correlationId?: string;
52
+ }
53
+ /**
54
+ * Event subscription handle
55
+ */
56
+ export interface IEventSubscription {
57
+ readonly id: string;
58
+ readonly filter: IEventFilter;
59
+ /**
60
+ * Unsubscribe from events
61
+ */
62
+ unsubscribe(): void;
63
+ /**
64
+ * Pause subscription
65
+ */
66
+ pause(): void;
67
+ /**
68
+ * Resume subscription
69
+ */
70
+ resume(): void;
71
+ /**
72
+ * Check if subscription is active
73
+ */
74
+ isActive(): boolean;
75
+ }
76
+ /**
77
+ * Event bus interface for pub/sub communication
78
+ */
79
+ export interface IEventBus {
80
+ /**
81
+ * Emit an event to all subscribers
82
+ */
83
+ emit<T = unknown>(type: string, payload: T, options?: Partial<IEventCreate<T>>): void;
84
+ /**
85
+ * Emit an event and wait for all handlers
86
+ */
87
+ emitAsync<T = unknown>(type: string, payload: T, options?: Partial<IEventCreate<T>>): Promise<void>;
88
+ /**
89
+ * Subscribe to events matching a type pattern
90
+ */
91
+ on<T = unknown>(type: string, handler: IEventHandler<T>): IEventSubscription;
92
+ /**
93
+ * Subscribe to events with filter
94
+ */
95
+ subscribe<T = unknown>(filter: IEventFilter, handler: IEventHandler<T>): IEventSubscription;
96
+ /**
97
+ * Subscribe to a single event occurrence
98
+ */
99
+ once<T = unknown>(type: string, handler: IEventHandler<T>): IEventSubscription;
100
+ /**
101
+ * Remove a specific handler
102
+ */
103
+ off(type: string, handler: IEventHandler): void;
104
+ /**
105
+ * Remove all handlers for a type
106
+ */
107
+ removeAllListeners(type?: string): void;
108
+ /**
109
+ * Get count of listeners for a type
110
+ */
111
+ listenerCount(type: string): number;
112
+ /**
113
+ * Get all event types with active listeners
114
+ */
115
+ eventNames(): string[];
116
+ }
117
+ /**
118
+ * System event types enumeration
119
+ */
120
+ export declare const SystemEventTypes: {
121
+ readonly SYSTEM_READY: "system:ready";
122
+ readonly SYSTEM_SHUTDOWN: "system:shutdown";
123
+ readonly SYSTEM_ERROR: "system:error";
124
+ readonly SYSTEM_HEALTHCHECK: "system:healthcheck";
125
+ readonly AGENT_SPAWNED: "agent:spawned";
126
+ readonly AGENT_TERMINATED: "agent:terminated";
127
+ readonly AGENT_ERROR: "agent:error";
128
+ readonly AGENT_IDLE: "agent:idle";
129
+ readonly AGENT_BUSY: "agent:busy";
130
+ readonly AGENT_HEALTH_CHANGED: "agent:health:changed";
131
+ readonly TASK_CREATED: "task:created";
132
+ readonly TASK_ASSIGNED: "task:assigned";
133
+ readonly TASK_STARTED: "task:started";
134
+ readonly TASK_COMPLETED: "task:completed";
135
+ readonly TASK_FAILED: "task:failed";
136
+ readonly TASK_CANCELLED: "task:cancelled";
137
+ readonly TASK_TIMEOUT: "task:timeout";
138
+ readonly TASK_RETRY: "task:retry";
139
+ readonly SESSION_CREATED: "session:created";
140
+ readonly SESSION_RESTORED: "session:restored";
141
+ readonly SESSION_TERMINATED: "session:terminated";
142
+ readonly SESSION_PERSISTED: "session:persisted";
143
+ readonly MEMORY_STORED: "memory:stored";
144
+ readonly MEMORY_RETRIEVED: "memory:retrieved";
145
+ readonly MEMORY_CLEARED: "memory:cleared";
146
+ readonly COORDINATION_STARTED: "coordination:started";
147
+ readonly COORDINATION_COMPLETED: "coordination:completed";
148
+ readonly DEADLOCK_DETECTED: "coordination:deadlock";
149
+ readonly METRICS_COLLECTED: "metrics:collected";
150
+ };
151
+ export type SystemEventType = typeof SystemEventTypes[keyof typeof SystemEventTypes];
152
+ /**
153
+ * Event store interface for event sourcing
154
+ */
155
+ export interface IEventStore {
156
+ /**
157
+ * Append an event to the store
158
+ */
159
+ append(event: IEvent): Promise<void>;
160
+ /**
161
+ * Get events by aggregate ID
162
+ */
163
+ getByAggregateId(aggregateId: string, fromVersion?: number): Promise<IEvent[]>;
164
+ /**
165
+ * Get events by type
166
+ */
167
+ getByType(type: string, options?: {
168
+ limit?: number;
169
+ offset?: number;
170
+ }): Promise<IEvent[]>;
171
+ /**
172
+ * Get events in time range
173
+ */
174
+ getByTimeRange(start: Date, end: Date): Promise<IEvent[]>;
175
+ /**
176
+ * Get events by correlation ID
177
+ */
178
+ getByCorrelationId(correlationId: string): Promise<IEvent[]>;
179
+ /**
180
+ * Get all events (paginated)
181
+ */
182
+ getAll(options?: {
183
+ limit?: number;
184
+ offset?: number;
185
+ }): Promise<IEvent[]>;
186
+ /**
187
+ * Get event count
188
+ */
189
+ count(filter?: IEventFilter): Promise<number>;
190
+ /**
191
+ * Clear old events
192
+ */
193
+ prune(olderThan: Date): Promise<number>;
194
+ }
195
+ /**
196
+ * Event coordinator for routing and orchestration
197
+ */
198
+ export interface IEventCoordinator {
199
+ /**
200
+ * Initialize the coordinator
201
+ */
202
+ initialize(): Promise<void>;
203
+ /**
204
+ * Shutdown the coordinator
205
+ */
206
+ shutdown(): Promise<void>;
207
+ /**
208
+ * Route an event to appropriate handlers
209
+ */
210
+ route(event: IEvent): Promise<void>;
211
+ /**
212
+ * Register a handler for event routing
213
+ */
214
+ registerHandler(type: string, handler: IEventHandler): void;
215
+ /**
216
+ * Unregister a handler
217
+ */
218
+ unregisterHandler(type: string, handler: IEventHandler): void;
219
+ /**
220
+ * Get event bus instance
221
+ */
222
+ getEventBus(): IEventBus;
223
+ }
224
+ //# sourceMappingURL=event.interface.d.ts.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * V3 Event Interfaces
3
+ * Domain-Driven Design - Event Sourcing Pattern (ADR-007)
4
+ */
5
+ /**
6
+ * System event types enumeration
7
+ */
8
+ export const SystemEventTypes = {
9
+ // System lifecycle
10
+ SYSTEM_READY: 'system:ready',
11
+ SYSTEM_SHUTDOWN: 'system:shutdown',
12
+ SYSTEM_ERROR: 'system:error',
13
+ SYSTEM_HEALTHCHECK: 'system:healthcheck',
14
+ // Agent lifecycle
15
+ AGENT_SPAWNED: 'agent:spawned',
16
+ AGENT_TERMINATED: 'agent:terminated',
17
+ AGENT_ERROR: 'agent:error',
18
+ AGENT_IDLE: 'agent:idle',
19
+ AGENT_BUSY: 'agent:busy',
20
+ AGENT_HEALTH_CHANGED: 'agent:health:changed',
21
+ // Task lifecycle
22
+ TASK_CREATED: 'task:created',
23
+ TASK_ASSIGNED: 'task:assigned',
24
+ TASK_STARTED: 'task:started',
25
+ TASK_COMPLETED: 'task:completed',
26
+ TASK_FAILED: 'task:failed',
27
+ TASK_CANCELLED: 'task:cancelled',
28
+ TASK_TIMEOUT: 'task:timeout',
29
+ TASK_RETRY: 'task:retry',
30
+ // Session lifecycle
31
+ SESSION_CREATED: 'session:created',
32
+ SESSION_RESTORED: 'session:restored',
33
+ SESSION_TERMINATED: 'session:terminated',
34
+ SESSION_PERSISTED: 'session:persisted',
35
+ // Memory events
36
+ MEMORY_STORED: 'memory:stored',
37
+ MEMORY_RETRIEVED: 'memory:retrieved',
38
+ MEMORY_CLEARED: 'memory:cleared',
39
+ // Coordination events
40
+ COORDINATION_STARTED: 'coordination:started',
41
+ COORDINATION_COMPLETED: 'coordination:completed',
42
+ DEADLOCK_DETECTED: 'coordination:deadlock',
43
+ // Metrics events
44
+ METRICS_COLLECTED: 'metrics:collected',
45
+ };
46
+ //# sourceMappingURL=event.interface.js.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * V3 Core Interfaces - Public API
3
+ * Domain-Driven Design with Clean Architecture
4
+ */
5
+ export * from './task.interface.js';
6
+ export * from './agent.interface.js';
7
+ export * from './event.interface.js';
8
+ export * from './memory.interface.js';
9
+ export * from './coordinator.interface.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * V3 Core Interfaces - Public API
3
+ * Domain-Driven Design with Clean Architecture
4
+ */
5
+ // Task interfaces
6
+ export * from './task.interface.js';
7
+ // Agent interfaces
8
+ export * from './agent.interface.js';
9
+ // Event interfaces
10
+ export * from './event.interface.js';
11
+ // Memory interfaces
12
+ export * from './memory.interface.js';
13
+ // Coordinator interfaces
14
+ export * from './coordinator.interface.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,298 @@
1
+ /**
2
+ * V3 Memory Interfaces
3
+ * Domain-Driven Design - Memory Management Bounded Context
4
+ * Aligned with ADR-006 (Unified Memory Service) and ADR-009 (Hybrid Memory Backend)
5
+ */
6
+ /**
7
+ * Memory entry types
8
+ */
9
+ export type MemoryType = 'session' | 'persistent' | 'vector' | 'cache' | 'pattern';
10
+ /**
11
+ * Memory entry structure
12
+ */
13
+ export interface IMemoryEntry {
14
+ readonly id: string;
15
+ readonly key: string;
16
+ readonly type: MemoryType;
17
+ readonly createdAt: Date;
18
+ value: unknown;
19
+ updatedAt: Date;
20
+ expiresAt?: Date;
21
+ metadata?: {
22
+ source?: string;
23
+ agentId?: string;
24
+ sessionId?: string;
25
+ version?: number;
26
+ tags?: string[];
27
+ embedding?: number[];
28
+ [key: string]: unknown;
29
+ };
30
+ }
31
+ /**
32
+ * Memory entry creation parameters
33
+ */
34
+ export interface IMemoryEntryCreate {
35
+ key: string;
36
+ value: unknown;
37
+ type?: MemoryType;
38
+ expiresAt?: Date;
39
+ ttlMs?: number;
40
+ metadata?: IMemoryEntry['metadata'];
41
+ }
42
+ /**
43
+ * Vector search parameters
44
+ */
45
+ export interface IVectorSearchParams {
46
+ embedding: number[];
47
+ k?: number;
48
+ threshold?: number;
49
+ filter?: {
50
+ type?: MemoryType;
51
+ tags?: string[];
52
+ agentId?: string;
53
+ };
54
+ }
55
+ /**
56
+ * Vector search result
57
+ */
58
+ export interface IVectorSearchResult {
59
+ entry: IMemoryEntry;
60
+ score: number;
61
+ distance: number;
62
+ }
63
+ /**
64
+ * Memory backend interface for storage operations
65
+ */
66
+ export interface IMemoryBackend {
67
+ /**
68
+ * Initialize the backend
69
+ */
70
+ initialize(): Promise<void>;
71
+ /**
72
+ * Shutdown the backend
73
+ */
74
+ shutdown(): Promise<void>;
75
+ /**
76
+ * Store a memory entry
77
+ */
78
+ store(entry: IMemoryEntryCreate): Promise<IMemoryEntry>;
79
+ /**
80
+ * Retrieve a memory entry by key
81
+ */
82
+ retrieve(key: string): Promise<IMemoryEntry | undefined>;
83
+ /**
84
+ * Retrieve by ID
85
+ */
86
+ retrieveById(id: string): Promise<IMemoryEntry | undefined>;
87
+ /**
88
+ * Update a memory entry
89
+ */
90
+ update(key: string, value: unknown, metadata?: Partial<IMemoryEntry['metadata']>): Promise<IMemoryEntry | undefined>;
91
+ /**
92
+ * Delete a memory entry
93
+ */
94
+ delete(key: string): Promise<boolean>;
95
+ /**
96
+ * Check if a key exists
97
+ */
98
+ exists(key: string): Promise<boolean>;
99
+ /**
100
+ * List all keys matching a pattern
101
+ */
102
+ keys(pattern?: string): Promise<string[]>;
103
+ /**
104
+ * Get all entries matching filter
105
+ */
106
+ list(filter?: {
107
+ type?: MemoryType;
108
+ tags?: string[];
109
+ }): Promise<IMemoryEntry[]>;
110
+ /**
111
+ * Clear all entries
112
+ */
113
+ clear(): Promise<void>;
114
+ /**
115
+ * Get entry count
116
+ */
117
+ count(): Promise<number>;
118
+ /**
119
+ * Prune expired entries
120
+ */
121
+ prune(): Promise<number>;
122
+ /**
123
+ * Get health status
124
+ */
125
+ getHealthStatus(): Promise<{
126
+ healthy: boolean;
127
+ error?: string;
128
+ metrics?: Record<string, number>;
129
+ }>;
130
+ }
131
+ /**
132
+ * Vector memory backend for similarity search
133
+ */
134
+ export interface IVectorMemoryBackend extends IMemoryBackend {
135
+ /**
136
+ * Store with embedding
137
+ */
138
+ storeVector(entry: IMemoryEntryCreate & {
139
+ embedding: number[];
140
+ }): Promise<IMemoryEntry>;
141
+ /**
142
+ * Search by vector similarity
143
+ */
144
+ search(params: IVectorSearchParams): Promise<IVectorSearchResult[]>;
145
+ /**
146
+ * Update embedding for an entry
147
+ */
148
+ updateEmbedding(key: string, embedding: number[]): Promise<boolean>;
149
+ /**
150
+ * Build or rebuild index
151
+ */
152
+ buildIndex(): Promise<void>;
153
+ /**
154
+ * Get index statistics
155
+ */
156
+ getIndexStats(): Promise<{
157
+ vectorCount: number;
158
+ dimensions: number;
159
+ indexType: string;
160
+ memoryUsageMb: number;
161
+ }>;
162
+ }
163
+ /**
164
+ * Memory bank for agent-specific storage
165
+ */
166
+ export interface IMemoryBank {
167
+ readonly id: string;
168
+ readonly agentId: string;
169
+ readonly createdAt: Date;
170
+ /**
171
+ * Store in bank
172
+ */
173
+ store(key: string, value: unknown, options?: Partial<IMemoryEntryCreate>): Promise<IMemoryEntry>;
174
+ /**
175
+ * Retrieve from bank
176
+ */
177
+ retrieve(key: string): Promise<IMemoryEntry | undefined>;
178
+ /**
179
+ * Delete from bank
180
+ */
181
+ delete(key: string): Promise<boolean>;
182
+ /**
183
+ * List all entries in bank
184
+ */
185
+ list(): Promise<IMemoryEntry[]>;
186
+ /**
187
+ * Clear all entries in bank
188
+ */
189
+ clear(): Promise<void>;
190
+ /**
191
+ * Get bank size
192
+ */
193
+ size(): Promise<number>;
194
+ /**
195
+ * Close the bank
196
+ */
197
+ close(): Promise<void>;
198
+ }
199
+ /**
200
+ * Memory manager interface
201
+ */
202
+ export interface IMemoryManager {
203
+ /**
204
+ * Initialize the manager
205
+ */
206
+ initialize(): Promise<void>;
207
+ /**
208
+ * Shutdown the manager
209
+ */
210
+ shutdown(): Promise<void>;
211
+ /**
212
+ * Create a memory bank for an agent
213
+ */
214
+ createBank(agentId: string): Promise<string>;
215
+ /**
216
+ * Get a memory bank
217
+ */
218
+ getBank(bankId: string): IMemoryBank | undefined;
219
+ /**
220
+ * Close a memory bank
221
+ */
222
+ closeBank(bankId: string): Promise<void>;
223
+ /**
224
+ * Store in global memory
225
+ */
226
+ store(entry: IMemoryEntryCreate): Promise<IMemoryEntry>;
227
+ /**
228
+ * Retrieve from global memory
229
+ */
230
+ retrieve(key: string): Promise<IMemoryEntry | undefined>;
231
+ /**
232
+ * Search vectors (if vector backend available)
233
+ */
234
+ searchVectors?(params: IVectorSearchParams): Promise<IVectorSearchResult[]>;
235
+ /**
236
+ * Perform maintenance
237
+ */
238
+ performMaintenance(): Promise<void>;
239
+ /**
240
+ * Get health status
241
+ */
242
+ getHealthStatus(): Promise<{
243
+ healthy: boolean;
244
+ error?: string;
245
+ metrics?: Record<string, number>;
246
+ }>;
247
+ /**
248
+ * Get memory usage statistics
249
+ */
250
+ getStats(): Promise<{
251
+ totalEntries: number;
252
+ memoryUsageMb: number;
253
+ banksCount: number;
254
+ cacheHitRate?: number;
255
+ }>;
256
+ }
257
+ /**
258
+ * Pattern storage for ReasoningBank integration
259
+ */
260
+ export interface IPatternStorage {
261
+ /**
262
+ * Store a learned pattern
263
+ */
264
+ storePattern(pattern: {
265
+ sessionId: string;
266
+ task: string;
267
+ input: string;
268
+ output: string;
269
+ reward: number;
270
+ success: boolean;
271
+ critique?: string;
272
+ tokensUsed?: number;
273
+ latencyMs?: number;
274
+ }): Promise<void>;
275
+ /**
276
+ * Search for similar patterns
277
+ */
278
+ searchPatterns(params: {
279
+ task: string;
280
+ k?: number;
281
+ minReward?: number;
282
+ onlyFailures?: boolean;
283
+ }): Promise<Array<{
284
+ task: string;
285
+ reward: number;
286
+ critique: string;
287
+ output: string;
288
+ }>>;
289
+ /**
290
+ * Get pattern statistics
291
+ */
292
+ getPatternStats(): Promise<{
293
+ totalPatterns: number;
294
+ avgReward: number;
295
+ successRate: number;
296
+ }>;
297
+ }
298
+ //# sourceMappingURL=memory.interface.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * V3 Memory Interfaces
3
+ * Domain-Driven Design - Memory Management Bounded Context
4
+ * Aligned with ADR-006 (Unified Memory Service) and ADR-009 (Hybrid Memory Backend)
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=memory.interface.js.map