@obora/runtime 0.1.0

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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +183 -0
  3. package/dist/_legacy/actor/base/BaseActor.d.ts +87 -0
  4. package/dist/_legacy/actor/pool/ActorPool.d.ts +194 -0
  5. package/dist/_legacy/actor/pool/NoOpMessageBus.d.ts +16 -0
  6. package/dist/_legacy/actor/pool/PoolManager.d.ts +76 -0
  7. package/dist/_legacy/actor/pool/index.d.ts +3 -0
  8. package/dist/_legacy/actor/runtime/ActorRunner.d.ts +54 -0
  9. package/dist/_legacy/actor/runtime/ActorRuntime.d.ts +161 -0
  10. package/dist/_legacy/actor/runtime/DefaultActorFactory.d.ts +44 -0
  11. package/dist/_legacy/actor/runtime/types.d.ts +41 -0
  12. package/dist/_legacy/actor/runtime/utils/delay.d.ts +7 -0
  13. package/dist/_legacy/actor/supervision/Supervisor.d.ts +102 -0
  14. package/dist/_legacy/actor/supervision/SupervisorTree.d.ts +54 -0
  15. package/dist/_legacy/actor/supervision/types.d.ts +130 -0
  16. package/dist/_legacy/actor/types/action.d.ts +65 -0
  17. package/dist/_legacy/actor/types/actor.d.ts +251 -0
  18. package/dist/_legacy/actor/types/blackboard.d.ts +46 -0
  19. package/dist/_legacy/actor/types/crypto.d.ts +6 -0
  20. package/dist/_legacy/actor/types/message.d.ts +209 -0
  21. package/dist/_legacy/actor/types/metrics.d.ts +43 -0
  22. package/dist/_legacy/actor/types/observation.d.ts +45 -0
  23. package/dist/_legacy/actor/types/result.d.ts +110 -0
  24. package/dist/_legacy/agents/roles/analyst-agent.d.ts +18 -0
  25. package/dist/_legacy/agents/roles/base-agent.d.ts +320 -0
  26. package/dist/_legacy/agents/roles/director-agent.d.ts +26 -0
  27. package/dist/_legacy/agents/roles/executor-agent.d.ts +26 -0
  28. package/dist/_legacy/agents/roles/factory.d.ts +30 -0
  29. package/dist/_legacy/agents/roles/index.d.ts +6 -0
  30. package/dist/_legacy/agents/roles/verifier-agent.d.ts +18 -0
  31. package/dist/_legacy/blackboard/core/accessors/decisions-accessor.d.ts +190 -0
  32. package/dist/_legacy/blackboard/core/accessors/index.d.ts +7 -0
  33. package/dist/_legacy/blackboard/core/accessors/knowledge-accessor.d.ts +154 -0
  34. package/dist/_legacy/blackboard/core/accessors/state-accessor.d.ts +173 -0
  35. package/dist/_legacy/blackboard/core/blackboard-events.d.ts +105 -0
  36. package/dist/_legacy/blackboard/core/blackboard.d.ts +286 -0
  37. package/dist/_legacy/blackboard/core/id-generator.d.ts +53 -0
  38. package/dist/_legacy/blackboard/core/immutable.d.ts +45 -0
  39. package/dist/_legacy/blackboard/core/index.d.ts +13 -0
  40. package/dist/_legacy/blackboard/core/path-utils.d.ts +75 -0
  41. package/dist/_legacy/blackboard/core/tkg.d.ts +50 -0
  42. package/dist/_legacy/blackboard/core/versioning.d.ts +80 -0
  43. package/dist/_legacy/blackboard/domains/agenda/AgendaStore.d.ts +34 -0
  44. package/dist/_legacy/blackboard/domains/agenda/events.d.ts +12 -0
  45. package/dist/_legacy/blackboard/domains/agenda/index.d.ts +6 -0
  46. package/dist/_legacy/blackboard/domains/agenda/types.d.ts +26 -0
  47. package/dist/_legacy/blackboard/domains/consensus/ConsensusRuleEngine.d.ts +10 -0
  48. package/dist/_legacy/blackboard/domains/consensus/index.d.ts +4 -0
  49. package/dist/_legacy/blackboard/domains/consensus/types.d.ts +27 -0
  50. package/dist/_legacy/blackboard/domains/tkg/InMemoryTKG.d.ts +38 -0
  51. package/dist/_legacy/blackboard/domains/tkg/JsonFileReflectorStateStore.d.ts +9 -0
  52. package/dist/_legacy/blackboard/domains/tkg/ObserverReflector.d.ts +114 -0
  53. package/dist/_legacy/blackboard/domains/tkg/index.d.ts +4 -0
  54. package/dist/_legacy/blackboard/domains/voting/VotingSessionStore.d.ts +14 -0
  55. package/dist/_legacy/blackboard/domains/voting/index.d.ts +3 -0
  56. package/dist/_legacy/blackboard/domains/voting/types.d.ts +32 -0
  57. package/dist/_legacy/blackboard/events/event-bus.d.ts +254 -0
  58. package/dist/_legacy/blackboard/events/event-factory.d.ts +80 -0
  59. package/dist/_legacy/blackboard/events/index.d.ts +17 -0
  60. package/dist/_legacy/blackboard/events/types.d.ts +554 -0
  61. package/dist/_legacy/blackboard/snapshot/compression.d.ts +170 -0
  62. package/dist/_legacy/blackboard/snapshot/id-utils.d.ts +20 -0
  63. package/dist/_legacy/blackboard/snapshot/index.d.ts +21 -0
  64. package/dist/_legacy/blackboard/snapshot/serializer.d.ts +123 -0
  65. package/dist/_legacy/blackboard/snapshot/snapshot-comparer.d.ts +102 -0
  66. package/dist/_legacy/blackboard/snapshot/snapshot-creator.d.ts +49 -0
  67. package/dist/_legacy/blackboard/snapshot/snapshot-manager.d.ts +253 -0
  68. package/dist/_legacy/blackboard/snapshot/snapshot-restorer.d.ts +54 -0
  69. package/dist/_legacy/blackboard/snapshot/snapshot-serializer.d.ts +45 -0
  70. package/dist/_legacy/blackboard/snapshot/snapshot-validator.d.ts +55 -0
  71. package/dist/_legacy/blackboard/snapshot/type-guards.d.ts +12 -0
  72. package/dist/_legacy/blackboard/snapshot/types.d.ts +151 -0
  73. package/dist/_legacy/blackboard/snapshot/utils.d.ts +20 -0
  74. package/dist/_legacy/blackboard/types/agent.d.ts +89 -0
  75. package/dist/_legacy/blackboard/types/base.d.ts +213 -0
  76. package/dist/_legacy/blackboard/types/blackboard.d.ts +217 -0
  77. package/dist/_legacy/blackboard/types/decision.d.ts +260 -0
  78. package/dist/_legacy/blackboard/types/index.d.ts +12 -0
  79. package/dist/_legacy/blackboard/types/knowledge.d.ts +224 -0
  80. package/dist/_legacy/blackboard/types/message.d.ts +162 -0
  81. package/dist/_legacy/blackboard/types/task.d.ts +154 -0
  82. package/dist/_legacy/blackboard/types/tkg.d.ts +189 -0
  83. package/dist/_legacy/blackboard/workflow/meeting-state-machine/MeetingStateMachine.d.ts +22 -0
  84. package/dist/_legacy/blackboard/workflow/meeting-state-machine/types.d.ts +30 -0
  85. package/dist/_legacy/cli-runtime/runtime/agent-registry.d.ts +33 -0
  86. package/dist/_legacy/cli-runtime/runtime/blackboard.d.ts +41 -0
  87. package/dist/_legacy/cli-runtime/runtime/context-builder.d.ts +88 -0
  88. package/dist/_legacy/cli-runtime/runtime/retry-policy.d.ts +8 -0
  89. package/dist/_legacy/cli-runtime/runtime/step-executor.d.ts +33 -0
  90. package/dist/_legacy/cli-runtime/runtime/types.d.ts +12 -0
  91. package/dist/_legacy/cli-runtime/runtime/utils.d.ts +2 -0
  92. package/dist/_legacy/database/src/duckdb-client.d.ts +178 -0
  93. package/dist/_legacy/workflow/errors/diagnosis.d.ts +32 -0
  94. package/dist/_legacy/workflow/errors/index.d.ts +52 -0
  95. package/dist/_legacy/workflow/graph/index.d.ts +57 -0
  96. package/dist/_legacy/workflow/index.d.ts +9 -0
  97. package/dist/_legacy/workflow/parser/workflow-parser.d.ts +13 -0
  98. package/dist/_legacy/workflow/resolver/dependency-resolver.d.ts +83 -0
  99. package/dist/_legacy/workflow/types/workflow.d.ts +173 -0
  100. package/dist/_legacy/workflow/utils.d.ts +2 -0
  101. package/dist/_legacy/workflow/validator/workflow-validator.d.ts +71 -0
  102. package/dist/artifacts/index.d.ts +2 -0
  103. package/dist/artifacts/local-file-artifact-store.d.ts +22 -0
  104. package/dist/artifacts/types.d.ts +19 -0
  105. package/dist/audit/AuditReplay.d.ts +4 -0
  106. package/dist/audit/AuditStore.d.ts +13 -0
  107. package/dist/audit/AuditTrail.d.ts +28 -0
  108. package/dist/audit/DefaultAuditRecorder.d.ts +10 -0
  109. package/dist/audit/EventBusAdapter.d.ts +12 -0
  110. package/dist/audit/InMemoryAuditStore.d.ts +9 -0
  111. package/dist/audit/ReExecutionDiffReport.d.ts +24 -0
  112. package/dist/audit/ReExecutionPlanner.d.ts +30 -0
  113. package/dist/audit/ReExecutionRuntime.d.ts +35 -0
  114. package/dist/audit/database-api.d.ts +32 -0
  115. package/dist/audit/database-index.d.ts +5 -0
  116. package/dist/audit/event-bus.d.ts +1 -0
  117. package/dist/audit/event-factory.d.ts +1 -0
  118. package/dist/audit/index.d.ts +12 -0
  119. package/dist/audit/testing.d.ts +15 -0
  120. package/dist/audit/tkg/InMemoryTKG.d.ts +1 -0
  121. package/dist/audit/tkg/JsonFileReflectorStateStore.d.ts +1 -0
  122. package/dist/audit/tkg/ObserverReflector.d.ts +1 -0
  123. package/dist/audit/tkg/index.d.ts +1 -0
  124. package/dist/audit/types.d.ts +23 -0
  125. package/dist/blackboard/core/accessors/decisions-accessor.d.ts +190 -0
  126. package/dist/blackboard/core/accessors/index.d.ts +7 -0
  127. package/dist/blackboard/core/accessors/knowledge-accessor.d.ts +154 -0
  128. package/dist/blackboard/core/accessors/state-accessor.d.ts +173 -0
  129. package/dist/blackboard/core/blackboard-events.d.ts +105 -0
  130. package/dist/blackboard/core/blackboard.d.ts +286 -0
  131. package/dist/blackboard/core/id-generator.d.ts +53 -0
  132. package/dist/blackboard/core/immutable.d.ts +45 -0
  133. package/dist/blackboard/core/index.d.ts +13 -0
  134. package/dist/blackboard/core/path-utils.d.ts +75 -0
  135. package/dist/blackboard/core/tkg.d.ts +50 -0
  136. package/dist/blackboard/core/versioning.d.ts +80 -0
  137. package/dist/blackboard/events/event-bus.d.ts +254 -0
  138. package/dist/blackboard/events/event-factory.d.ts +80 -0
  139. package/dist/blackboard/events/index.d.ts +17 -0
  140. package/dist/blackboard/events/types.d.ts +554 -0
  141. package/dist/blackboard/index.d.ts +20 -0
  142. package/dist/blackboard/observer-reflector.d.ts +114 -0
  143. package/dist/blackboard/snapshot/compression.d.ts +170 -0
  144. package/dist/blackboard/snapshot/id-utils.d.ts +20 -0
  145. package/dist/blackboard/snapshot/index.d.ts +21 -0
  146. package/dist/blackboard/snapshot/serializer.d.ts +123 -0
  147. package/dist/blackboard/snapshot/snapshot-comparer.d.ts +102 -0
  148. package/dist/blackboard/snapshot/snapshot-creator.d.ts +49 -0
  149. package/dist/blackboard/snapshot/snapshot-manager.d.ts +253 -0
  150. package/dist/blackboard/snapshot/snapshot-restorer.d.ts +54 -0
  151. package/dist/blackboard/snapshot/snapshot-serializer.d.ts +45 -0
  152. package/dist/blackboard/snapshot/snapshot-validator.d.ts +55 -0
  153. package/dist/blackboard/snapshot/type-guards.d.ts +12 -0
  154. package/dist/blackboard/snapshot/types.d.ts +151 -0
  155. package/dist/blackboard/snapshot/utils.d.ts +20 -0
  156. package/dist/blackboard/types/agent.d.ts +89 -0
  157. package/dist/blackboard/types/base.d.ts +213 -0
  158. package/dist/blackboard/types/blackboard.d.ts +217 -0
  159. package/dist/blackboard/types/decision.d.ts +260 -0
  160. package/dist/blackboard/types/index.d.ts +12 -0
  161. package/dist/blackboard/types/knowledge.d.ts +224 -0
  162. package/dist/blackboard/types/message.d.ts +162 -0
  163. package/dist/blackboard/types/task.d.ts +154 -0
  164. package/dist/blackboard/types/tkg.d.ts +189 -0
  165. package/dist/cell/ActorPool.d.ts +1 -0
  166. package/dist/cell/AgentFactory.d.ts +1 -0
  167. package/dist/cell/AgentRegistry.d.ts +1 -0
  168. package/dist/cell/BaseActor.d.ts +1 -0
  169. package/dist/cell/CellContext.d.ts +39 -0
  170. package/dist/cell/CellManager.d.ts +80 -0
  171. package/dist/cell/ExecutionCell.d.ts +44 -0
  172. package/dist/cell/PoolManager.d.ts +1 -0
  173. package/dist/cell/actor-types/action.d.ts +65 -0
  174. package/dist/cell/actor-types/actor.d.ts +251 -0
  175. package/dist/cell/actor-types/blackboard.d.ts +46 -0
  176. package/dist/cell/actor-types/crypto.d.ts +6 -0
  177. package/dist/cell/actor-types/index.d.ts +12 -0
  178. package/dist/cell/actor-types/message.d.ts +209 -0
  179. package/dist/cell/actor-types/metrics.d.ts +43 -0
  180. package/dist/cell/actor-types/observation.d.ts +45 -0
  181. package/dist/cell/actor-types/result.d.ts +110 -0
  182. package/dist/cell/agents/AnalystCellAgent.d.ts +2 -0
  183. package/dist/cell/agents/BaseRuntimeAgent.d.ts +2 -0
  184. package/dist/cell/agents/DirectorCellAgent.d.ts +2 -0
  185. package/dist/cell/agents/ExecutorCellAgent.d.ts +2 -0
  186. package/dist/cell/agents/VerifierCellAgent.d.ts +2 -0
  187. package/dist/cell/agents/index.d.ts +5 -0
  188. package/dist/cell/index.d.ts +9 -0
  189. package/dist/cell/internal/ActorRunnerAdapter.d.ts +2 -0
  190. package/dist/cell/internal/CellActorFactory.d.ts +2 -0
  191. package/dist/cell/internal/NoOpRuntimeBus.d.ts +2 -0
  192. package/dist/cell/internal/delay.d.ts +1 -0
  193. package/dist/cell/pool-index.d.ts +1 -0
  194. package/dist/cell/types.d.ts +47 -0
  195. package/dist/checkpoint/CheckpointFactoryRegistry.d.ts +16 -0
  196. package/dist/checkpoint/CheckpointManager.d.ts +41 -0
  197. package/dist/checkpoint/index.d.ts +5 -0
  198. package/dist/checkpoint/policy-hash.d.ts +11 -0
  199. package/dist/consensus/ConsensusGate.d.ts +83 -0
  200. package/dist/consensus/ConsensusRuleEngine.d.ts +1 -0
  201. package/dist/consensus/agenda/AgendaStore.d.ts +1 -0
  202. package/dist/consensus/agenda/events.d.ts +1 -0
  203. package/dist/consensus/agenda/index.d.ts +1 -0
  204. package/dist/consensus/agenda/types.d.ts +1 -0
  205. package/dist/consensus/index.d.ts +2 -0
  206. package/dist/consensus/types.d.ts +1 -0
  207. package/dist/consensus/voting/VotingSessionStore.d.ts +1 -0
  208. package/dist/consensus/voting/index.d.ts +1 -0
  209. package/dist/consensus/voting/types.d.ts +1 -0
  210. package/dist/errors/OboraErrorCode.d.ts +28 -0
  211. package/dist/errors/index.d.ts +1 -0
  212. package/dist/gates/GateAssignment.d.ts +28 -0
  213. package/dist/gates/MultiStageApproval.d.ts +74 -0
  214. package/dist/gates/SLAManager.d.ts +21 -0
  215. package/dist/gates/index.d.ts +4 -0
  216. package/dist/gates/types.d.ts +19 -0
  217. package/dist/index.cjs +26588 -0
  218. package/dist/index.cjs.map +1 -0
  219. package/dist/index.d.ts +39 -0
  220. package/dist/index.js +26330 -0
  221. package/dist/index.js.map +1 -0
  222. package/dist/judgment/JudgmentEngine.d.ts +24 -0
  223. package/dist/judgment/JudgmentNormalizer.d.ts +37 -0
  224. package/dist/judgment/JudgmentPolicy.d.ts +74 -0
  225. package/dist/judgment/JudgmentReporter.d.ts +70 -0
  226. package/dist/judgment/OperationalLogger.d.ts +68 -0
  227. package/dist/judgment/index.d.ts +6 -0
  228. package/dist/judgment/types.d.ts +42 -0
  229. package/dist/orchestrator/ExecutionContextBuilder.d.ts +1 -0
  230. package/dist/orchestrator/RuntimeOrchestrator.d.ts +94 -0
  231. package/dist/orchestrator/StepScheduler.d.ts +2 -0
  232. package/dist/orchestrator/index.d.ts +4 -0
  233. package/dist/orchestrator/types.d.ts +80 -0
  234. package/dist/orchestrator/utils.d.ts +1 -0
  235. package/dist/patterns/CustomPatternAPI.d.ts +10 -0
  236. package/dist/patterns/PatternRegistry.d.ts +19 -0
  237. package/dist/patterns/builtin/BrainstormPattern.d.ts +13 -0
  238. package/dist/patterns/builtin/CompositePattern.d.ts +11 -0
  239. package/dist/patterns/builtin/ConsensusPattern.d.ts +17 -0
  240. package/dist/patterns/builtin/DiscussionPattern.d.ts +13 -0
  241. package/dist/patterns/builtin/FanOutFanInPattern.d.ts +21 -0
  242. package/dist/patterns/builtin/PeerReviewPattern.d.ts +40 -0
  243. package/dist/patterns/builtin/PipelinePattern.d.ts +6 -0
  244. package/dist/patterns/builtin/RedBluePattern.d.ts +13 -0
  245. package/dist/patterns/builtin/SupervisorPattern.d.ts +13 -0
  246. package/dist/patterns/builtin/discussion/MeetingStateMachine.d.ts +1 -0
  247. package/dist/patterns/builtin/discussion/index.d.ts +2 -0
  248. package/dist/patterns/builtin/discussion/types.d.ts +1 -0
  249. package/dist/patterns/examples/OxfordDebatePattern.d.ts +11 -0
  250. package/dist/patterns/examples/index.d.ts +1 -0
  251. package/dist/patterns/index.d.ts +14 -0
  252. package/dist/patterns/resolveCustomPattern.d.ts +22 -0
  253. package/dist/patterns/types.d.ts +252 -0
  254. package/dist/plugins/PluginLoader.d.ts +16 -0
  255. package/dist/plugins/PluginRegistry.d.ts +15 -0
  256. package/dist/plugins/builtins.d.ts +137 -0
  257. package/dist/plugins/index.d.ts +5 -0
  258. package/dist/plugins/types.d.ts +52 -0
  259. package/dist/plugins/validator.d.ts +3 -0
  260. package/dist/policy/DefaultPolicyEngine.d.ts +43 -0
  261. package/dist/policy/DynamicPolicyContext.d.ts +21 -0
  262. package/dist/policy/DynamicQuotaEvaluator.d.ts +9 -0
  263. package/dist/policy/DynamicToolPolicy.d.ts +10 -0
  264. package/dist/policy/PolicyEngine.d.ts +14 -0
  265. package/dist/policy/PolicyLoader.d.ts +3 -0
  266. package/dist/policy/expressions/ExpressionEvaluator.d.ts +37 -0
  267. package/dist/policy/expressions/ExpressionParser.d.ts +35 -0
  268. package/dist/policy/expressions/constants.d.ts +5 -0
  269. package/dist/policy/expressions/index.d.ts +2 -0
  270. package/dist/policy/index.d.ts +9 -0
  271. package/dist/policy/rules/GateRule.d.ts +7 -0
  272. package/dist/policy/rules/ResourceRule.d.ts +7 -0
  273. package/dist/policy/rules/SandboxRule.d.ts +7 -0
  274. package/dist/policy/rules/ToolRule.d.ts +23 -0
  275. package/dist/policy/rules/index.d.ts +4 -0
  276. package/dist/policy/types.d.ts +156 -0
  277. package/dist/recovery/RecoveryEngine.d.ts +11 -0
  278. package/dist/recovery/RetryStrategy.d.ts +2 -0
  279. package/dist/recovery/SupervisionTree.d.ts +1 -0
  280. package/dist/recovery/index.d.ts +4 -0
  281. package/dist/recovery/types.d.ts +103 -0
  282. package/dist/state/RuntimeBlackboardCompat.d.ts +1 -0
  283. package/dist/state/StateBinder.d.ts +40 -0
  284. package/dist/state/StateManager.d.ts +1 -0
  285. package/dist/state/accessors/decisions-accessor.d.ts +1 -0
  286. package/dist/state/accessors/index.d.ts +1 -0
  287. package/dist/state/accessors/knowledge-accessor.d.ts +1 -0
  288. package/dist/state/accessors/state-accessor.d.ts +1 -0
  289. package/dist/state/blackboard-events.d.ts +1 -0
  290. package/dist/state/core-index.d.ts +1 -0
  291. package/dist/state/id-generator.d.ts +1 -0
  292. package/dist/state/immutable.d.ts +1 -0
  293. package/dist/state/index.d.ts +6 -0
  294. package/dist/state/path-utils.d.ts +1 -0
  295. package/dist/state/snapshot/compression.d.ts +1 -0
  296. package/dist/state/snapshot/id-utils.d.ts +1 -0
  297. package/dist/state/snapshot/index.d.ts +1 -0
  298. package/dist/state/snapshot/serializer.d.ts +1 -0
  299. package/dist/state/snapshot/snapshot-comparer.d.ts +1 -0
  300. package/dist/state/snapshot/snapshot-creator.d.ts +1 -0
  301. package/dist/state/snapshot/snapshot-manager.d.ts +1 -0
  302. package/dist/state/snapshot/snapshot-restorer.d.ts +1 -0
  303. package/dist/state/snapshot/snapshot-serializer.d.ts +1 -0
  304. package/dist/state/snapshot/snapshot-validator.d.ts +1 -0
  305. package/dist/state/snapshot/type-guards.d.ts +1 -0
  306. package/dist/state/snapshot/types.d.ts +1 -0
  307. package/dist/state/snapshot/utils.d.ts +1 -0
  308. package/dist/state/tkg.d.ts +1 -0
  309. package/dist/state/types/agent.d.ts +1 -0
  310. package/dist/state/types/base.d.ts +1 -0
  311. package/dist/state/types/blackboard.d.ts +1 -0
  312. package/dist/state/types/decision.d.ts +1 -0
  313. package/dist/state/types/index.d.ts +1 -0
  314. package/dist/state/types/knowledge.d.ts +1 -0
  315. package/dist/state/types/message.d.ts +1 -0
  316. package/dist/state/types/task.d.ts +1 -0
  317. package/dist/state/types/tkg.d.ts +1 -0
  318. package/dist/state/versioning.d.ts +1 -0
  319. package/dist/storage/index.d.ts +3 -0
  320. package/dist/storage/inmemory-adapter.d.ts +27 -0
  321. package/dist/storage/sqlite-adapter.d.ts +43 -0
  322. package/dist/storage/types.d.ts +129 -0
  323. package/package.json +76 -0
@@ -0,0 +1,254 @@
1
+ /**
2
+ * @module events/event-bus
3
+ * @description Event Bus 구현 - Pub/Sub 패턴, 와일드카드 구독, 이벤트 필터링 지원
4
+ */
5
+ import type { Event, EventType, EventByType, EventCategory } from "./types";
6
+ import type { AgentId } from "../types";
7
+ /**
8
+ * 이벤트 핸들러 타입
9
+ */
10
+ export type EventHandler<T extends Event = Event> = (event: T) => void | Promise<void>;
11
+ /**
12
+ * 구독 해제 함수
13
+ */
14
+ export type Unsubscribe = () => void;
15
+ /**
16
+ * 이벤트 필터 조건
17
+ */
18
+ export interface EventFilter {
19
+ /** 소스 에이전트 ID */
20
+ source?: AgentId | "system";
21
+ /** 상관 ID */
22
+ correlationId?: string;
23
+ /** 커스텀 필터 함수 */
24
+ predicate?: (event: Event) => boolean;
25
+ }
26
+ /**
27
+ * Event Bus 설정
28
+ */
29
+ export interface EventBusOptions {
30
+ /** 최대 리스너 수 (기본: 100) */
31
+ maxListeners?: number;
32
+ /** 비동기 핸들러 에러 시 throw 여부 (기본: false) */
33
+ throwOnAsyncError?: boolean;
34
+ /** 비동기 핸들러 에러 시 에러 이벤트 발행 여부 (기본: true) */
35
+ emitErrorEvent?: boolean;
36
+ /** 이벤트 히스토리 유지 개수 (기본: 0 = 유지 안함) */
37
+ historySize?: number;
38
+ /** 디버그 모드 */
39
+ debug?: boolean;
40
+ }
41
+ /**
42
+ * Event Bus 통계
43
+ */
44
+ export interface EventBusStats {
45
+ /** 총 발행된 이벤트 수 */
46
+ totalEmitted: number;
47
+ /** 타입별 발행 수 */
48
+ emittedByType: Map<string, number>;
49
+ /** 현재 구독자 수 */
50
+ subscriberCount: number;
51
+ /** 타입별 구독자 수 */
52
+ subscribersByType: Map<string, number>;
53
+ }
54
+ /**
55
+ * 이벤트 대기용 타임아웃 에러
56
+ */
57
+ export declare class EventTimeoutError extends Error {
58
+ constructor(eventType: string, timeout: number);
59
+ }
60
+ /**
61
+ * Event Bus
62
+ * @description Blackboard 이벤트를 위한 Pub/Sub 시스템
63
+ * @description EventEmitter 상속하지 않고 자체 구현 (브라우저 호환)
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const bus = new EventBus({ historySize: 100 });
68
+ *
69
+ * // 특정 이벤트 구독
70
+ * const unsub = bus.subscribe('task.completed', (event) => {
71
+ * console.log('Task completed:', event.payload.taskId);
72
+ * });
73
+ *
74
+ * // 와일드카드 구독
75
+ * bus.subscribe('task.*', (event) => {
76
+ * console.log('Task event:', event.type);
77
+ * });
78
+ *
79
+ * // 모든 이벤트 구독
80
+ * bus.subscribe('*', (event) => {
81
+ * console.log('Any event:', event.type);
82
+ * });
83
+ *
84
+ * // 필터와 함께 구독
85
+ * bus.subscribeWithFilter('decision.*',
86
+ * { source: createAgentId('ceo') },
87
+ * (event) => console.log('CEO decision event')
88
+ * );
89
+ *
90
+ * // 이벤트 발행
91
+ * bus.emit({
92
+ * id: generateId(),
93
+ * type: 'task.completed',
94
+ * timestamp: new Date(),
95
+ * source: 'system',
96
+ * payload: { taskId: createTaskId('task-1'), result: {}, duration: 5000 }
97
+ * });
98
+ *
99
+ * // 구독 해제
100
+ * unsub();
101
+ * ```
102
+ */
103
+ export declare class EventBus {
104
+ private readonly options;
105
+ private history;
106
+ private stats;
107
+ private subscriptions;
108
+ private nextSubscriptionId;
109
+ /** 에러 이벤트 발행 중인지 체크 (재귀 방지) */
110
+ private isEmittingError;
111
+ constructor(options?: EventBusOptions);
112
+ /**
113
+ * 이벤트 구독
114
+ * @param eventType - 이벤트 타입 (와일드카드 지원: 'task.*', '*')
115
+ * @param handler - 이벤트 핸들러
116
+ * @returns 구독 해제 함수
117
+ */
118
+ subscribe<T extends EventType>(eventType: T | `${EventCategory}.*` | "*", handler: EventHandler<EventByType<T>>): Unsubscribe;
119
+ /**
120
+ * 필터와 함께 구독
121
+ * @param eventType - 이벤트 타입
122
+ * @param filter - 필터 조건
123
+ * @param handler - 이벤트 핸들러
124
+ * @returns 구독 해제 함수
125
+ */
126
+ subscribeWithFilter<T extends EventType>(eventType: T | `${EventCategory}.*` | "*", filter: EventFilter, handler: EventHandler<EventByType<T>>): Unsubscribe;
127
+ /**
128
+ * 일회성 구독
129
+ * @param eventType - 이벤트 타입
130
+ * @param handler - 이벤트 핸들러
131
+ * @returns 구독 해제 함수
132
+ */
133
+ subscribeOnce<T extends EventType>(eventType: T, handler: EventHandler<EventByType<T>>): Unsubscribe;
134
+ /**
135
+ * 구독 해제
136
+ * @param eventType - 이벤트 타입
137
+ * @param handler - 제거할 핸들러
138
+ */
139
+ unsubscribe<T extends EventType>(eventType: T | `${EventCategory}.*` | "*", handler: EventHandler<EventByType<T>>): void;
140
+ /**
141
+ * 모든 구독 해제
142
+ * @param eventType - 특정 이벤트 타입만 해제 (선택)
143
+ */
144
+ unsubscribeAll<T extends EventType>(eventType?: T | `${EventCategory}.*` | "*"): void;
145
+ /**
146
+ * 이벤트 버스 초기화 (히스토리만 지움, 구독자는 유지)
147
+ */
148
+ clear(): void;
149
+ /**
150
+ * 이벤트 발행
151
+ * @param event - 발행할 이벤트
152
+ */
153
+ emit<T extends Event>(event: T): void;
154
+ /**
155
+ * 이벤트 발행 (비동기 핸들러 완료 대기)
156
+ * @param event - 발행할 이벤트
157
+ * @returns 모든 핸들러 완료 시 resolve
158
+ */
159
+ emitAsync<T extends Event>(event: T): Promise<void>;
160
+ /**
161
+ * 배치 이벤트 발행
162
+ * @param events - 발행할 이벤트 목록
163
+ */
164
+ emitBatch(events: Event[]): void;
165
+ /**
166
+ * 이벤트 히스토리 조회
167
+ * @param filter - 필터 조건
168
+ * @param limit - 최대 개수
169
+ * @returns 필터링된 이벤트 목록
170
+ */
171
+ getHistory(filter?: {
172
+ type?: EventType | `${EventCategory}.*`;
173
+ source?: AgentId | "system";
174
+ since?: Date;
175
+ until?: Date;
176
+ limit?: number;
177
+ }, limitArg?: number): Event[];
178
+ /**
179
+ * 히스토리 재생
180
+ * @description 지정된 이벤트들을 다시 발행
181
+ * @param events - 재생할 이벤트 목록
182
+ */
183
+ replay(events: Event[]): void;
184
+ /**
185
+ * 히스토리 클리어
186
+ */
187
+ clearHistory(): void;
188
+ /**
189
+ * 통계 조회
190
+ */
191
+ getStats(): Readonly<EventBusStats> & {
192
+ eventsByType: Record<string, number>;
193
+ };
194
+ /**
195
+ * 모든 구독 해제
196
+ */
197
+ removeAllSubscribers(): void;
198
+ /**
199
+ * 특정 타입의 모든 구독 해제
200
+ */
201
+ removeSubscribersForType(eventType: EventType | `${EventCategory}.*` | "*"): void;
202
+ /**
203
+ * 이벤트 대기 (Promise 기반)
204
+ * @param eventType - 대기할 이벤트 타입
205
+ * @param timeout - 타임아웃 (ms)
206
+ * @returns 발생한 이벤트
207
+ */
208
+ waitFor<T extends EventType>(eventType: T, timeout?: number, predicate?: (event: EventByType<T>) => boolean): Promise<EventByType<T>>;
209
+ /**
210
+ * 이벤트 대기 (조건 충족 시)
211
+ * @param eventType - 대기할 이벤트 타입
212
+ * @param predicate - 조건 함수
213
+ * @param timeout - 타임아웃 (ms)
214
+ */
215
+ waitForCondition<T extends EventType>(eventType: T, predicate: (event: EventByType<T>) => boolean, timeout?: number): Promise<EventByType<T>>;
216
+ /**
217
+ * 에러 이벤트 발행
218
+ * @description 핸들러 에러 발생 시 시스템 에러 이벤트 발행
219
+ * @private
220
+ */
221
+ private emitError;
222
+ /**
223
+ * 와일드카드 패턴 매칭
224
+ * @param pattern - 패턴 (예: 'task.*')
225
+ * @param eventType - 실제 이벤트 타입
226
+ */
227
+ private matchesPattern;
228
+ /**
229
+ * 필터 적용
230
+ * @param event - 이벤트
231
+ * @param filter - 필터 조건
232
+ */
233
+ private applyFilter;
234
+ /**
235
+ * 히스토리에 이벤트 추가
236
+ */
237
+ private addToHistory;
238
+ /**
239
+ * 통계 업데이트
240
+ */
241
+ private updateStats;
242
+ /**
243
+ * 구독자 통계 업데이트
244
+ */
245
+ private updateSubscriberStats;
246
+ /**
247
+ * 초기 통계 생성
248
+ */
249
+ private createInitialStats;
250
+ /**
251
+ * 디버그 로그
252
+ */
253
+ private debugLog;
254
+ }
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @module events/event-factory
3
+ * @description 이벤트 팩토리 - 타입 안전한 이벤트 생성
4
+ */
5
+ import type { AgentId, TaskId, AgendaId } from "../types";
6
+ import type { PhaseChangedEvent, ContextUpdatedEvent, StateAgentRegisteredEvent, StateAgentUpdatedEvent, StateTaskCreatedEvent, StateTaskAssignedEvent, StateTaskCompletedEvent, StateTaskFailedEvent, AgentRegisteredEvent, AgentStatusChangedEvent, AgentUpdatedEvent, AgentRemovedEvent, TaskCreatedEvent, TaskAssignedEvent, TaskStartedEvent, TaskStatusChangedEvent, TaskCompletedEvent, TaskFailedEvent, TaskCancelledEvent, DecisionsAgendaCreatedEvent, DecisionsAgendaStartedEvent, DecisionsOpinionSubmittedEvent, DecisionsVotingStartedEvent, DecisionsVoteSubmittedEvent, DecisionsVotingEndedEvent, DecisionsConsensusReachedEvent, DecisionsAgendaResolvedEvent, AgendaSubmittedEvent, AgendaStatusChangedEvent, OpinionSubmittedEvent, VoteRequestedEvent, ConsensusReachedEvent, VotingCompletedEvent, FactAddedEvent, FactUpdatedEvent, FactRemovedEvent, InferenceAddedEvent, KnowledgePatternLearnedEvent, PatternAddedEvent, SystemSnapshotCreatedEvent, SystemSnapshotRestoredEvent, SystemErrorEvent, VersionConflictEvent, StateInitializedEvent, SnapshotCreatedEvent, SnapshotRestoredEvent, BoardPhase, AgentStatus, TaskStatus, AgendaStatus, Task, Agenda, Opinion, Resolution, Fact, Inference, Pattern, TaskError } from "./types";
7
+ /**
8
+ * 이벤트 생성 옵션
9
+ */
10
+ export interface CreateEventOptions {
11
+ /** 상관 ID */
12
+ correlationId?: string;
13
+ /** 소스 (기본: 'system') */
14
+ source?: AgentId | "system";
15
+ }
16
+ /**
17
+ * 이벤트 팩토리
18
+ * @description 타입 안전한 이벤트 생성
19
+ */
20
+ export declare class EventFactory {
21
+ private idGenerator;
22
+ constructor(idGenerator?: () => string);
23
+ createPhaseChanged(previousPhase: BoardPhase, newPhase: BoardPhase, optionsOrSource?: CreateEventOptions | AgentId | "system"): PhaseChangedEvent;
24
+ createContextUpdated(key: string, previousValue: unknown, newValue: unknown, options?: CreateEventOptions): ContextUpdatedEvent;
25
+ createStateAgentRegistered(agent: AgentStatus, options?: CreateEventOptions): StateAgentRegisteredEvent;
26
+ createStateAgentUpdated(agentId: AgentId, previousStatus: AgentStatus, newStatus: AgentStatus, options?: CreateEventOptions): StateAgentUpdatedEvent;
27
+ createStateTaskCreated(task: Task, options?: CreateEventOptions): StateTaskCreatedEvent;
28
+ createStateTaskAssigned(taskId: TaskId, assignedTo: AgentId, options?: CreateEventOptions): StateTaskAssignedEvent;
29
+ createStateTaskCompleted(taskId: TaskId, result: unknown, duration: number, options?: CreateEventOptions): StateTaskCompletedEvent;
30
+ createStateTaskFailed(taskId: TaskId, error: TaskError, retryable: boolean, options?: CreateEventOptions): StateTaskFailedEvent;
31
+ createAgentRegistered(agent: AgentStatus, options?: CreateEventOptions): AgentRegisteredEvent;
32
+ createAgentStatusChanged(agentId: AgentId, previousStatus: AgentStatus, newStatus: AgentStatus, options?: CreateEventOptions): AgentStatusChangedEvent;
33
+ createAgentRemoved(agentId: AgentId, reason: string, options?: CreateEventOptions): AgentRemovedEvent;
34
+ createAgentUpdated(agentId: AgentId, changes: Partial<AgentStatus>, previousValues: Partial<AgentStatus>, options?: CreateEventOptions): AgentUpdatedEvent;
35
+ createTaskCreated(task: Task, options?: CreateEventOptions): TaskCreatedEvent;
36
+ createTaskAssigned(taskId: TaskId, agentId: AgentId, options?: CreateEventOptions): TaskAssignedEvent;
37
+ createTaskStatusChanged(taskId: TaskId, previousStatus: TaskStatus, newStatus: TaskStatus, options?: CreateEventOptions): TaskStatusChangedEvent;
38
+ createTaskCompleted(taskId: TaskId, outputs: unknown, duration: number, options?: CreateEventOptions): TaskCompletedEvent;
39
+ createTaskFailed(taskId: TaskId, error: TaskError, duration: number, options?: CreateEventOptions): TaskFailedEvent;
40
+ createTaskStarted(taskId: TaskId, agentId: AgentId, options?: CreateEventOptions): TaskStartedEvent;
41
+ createTaskCancelled(taskId: TaskId, reason: string, options?: CreateEventOptions): TaskCancelledEvent;
42
+ createDecisionsAgendaCreated(agenda: Agenda, options?: CreateEventOptions): DecisionsAgendaCreatedEvent;
43
+ createDecisionsAgendaStarted(agendaId: AgendaId, options?: CreateEventOptions): DecisionsAgendaStartedEvent;
44
+ createDecisionsOpinionSubmitted(opinion: Opinion, options?: CreateEventOptions): DecisionsOpinionSubmittedEvent;
45
+ createDecisionsVotingStarted(agendaId: AgendaId, deadline: Date, options?: CreateEventOptions): DecisionsVotingStartedEvent;
46
+ createDecisionsVoteSubmitted(agendaId: AgendaId, agentId: AgentId, vote: "approve" | "reject" | "abstain", options?: CreateEventOptions): DecisionsVoteSubmittedEvent;
47
+ createDecisionsVotingEnded(agendaId: AgendaId, result: Resolution, options?: CreateEventOptions): DecisionsVotingEndedEvent;
48
+ createDecisionsConsensusReached(resolution: Resolution, options?: CreateEventOptions): DecisionsConsensusReachedEvent;
49
+ createDecisionsAgendaResolved(agendaId: AgendaId, resolution: Resolution, options?: CreateEventOptions): DecisionsAgendaResolvedEvent;
50
+ createAgendaSubmitted(agenda: Agenda, options?: CreateEventOptions): AgendaSubmittedEvent;
51
+ createAgendaStatusChanged(agendaId: AgendaId, previousStatus: AgendaStatus, newStatus: AgendaStatus, options?: CreateEventOptions): AgendaStatusChangedEvent;
52
+ createOpinionSubmitted(opinion: Opinion, options?: CreateEventOptions): OpinionSubmittedEvent;
53
+ createVoteRequested(agendaId: AgendaId, deadline: Date, requiredVoters: AgentId[], options?: CreateEventOptions): VoteRequestedEvent;
54
+ createConsensusReached(resolution: Resolution, options?: CreateEventOptions): ConsensusReachedEvent;
55
+ createVotingCompleted(agendaId: AgendaId, result: {
56
+ passed: boolean;
57
+ method: string;
58
+ summary: {
59
+ total: number;
60
+ approve: number;
61
+ reject: number;
62
+ abstain: number;
63
+ approvalRate: number;
64
+ quorumReached: boolean;
65
+ };
66
+ }, options?: CreateEventOptions): VotingCompletedEvent;
67
+ createFactAdded(fact: Fact, options?: CreateEventOptions): FactAddedEvent;
68
+ createInferenceAdded(inference: Inference, options?: CreateEventOptions): InferenceAddedEvent;
69
+ createKnowledgePatternLearned(pattern: Pattern, options?: CreateEventOptions): KnowledgePatternLearnedEvent;
70
+ createFactUpdated(factId: string, changes: Partial<Fact>, previousValues?: Partial<Fact>, options?: CreateEventOptions): FactUpdatedEvent;
71
+ createFactRemoved(factId: string, reason: string, options?: CreateEventOptions): FactRemovedEvent;
72
+ createPatternAdded(pattern: Pattern, options?: CreateEventOptions): PatternAddedEvent;
73
+ createSystemSnapshotCreated(snapshotId: string, timestamp: Date, options?: CreateEventOptions): SystemSnapshotCreatedEvent;
74
+ createSystemSnapshotRestored(snapshotId: string, timestamp: Date, options?: CreateEventOptions): SystemSnapshotRestoredEvent;
75
+ createSystemError(code: string, message: string, details?: unknown, options?: CreateEventOptions): SystemErrorEvent;
76
+ createVersionConflict(path: string, expectedVersion: number, actualVersion: number, options?: CreateEventOptions): VersionConflictEvent;
77
+ createStateInitialized(sessionId: string, options?: CreateEventOptions): StateInitializedEvent;
78
+ createSnapshotCreated(snapshotId: string, version: number, options?: CreateEventOptions): SnapshotCreatedEvent;
79
+ createSnapshotRestored(snapshotId: string, previousVersion: number, restoredVersion: number, options?: CreateEventOptions): SnapshotRestoredEvent;
80
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module events/index
3
+ * @description 이벤트 모듈 exports
4
+ */
5
+ export type { EventCategory, BaseEvent, EventType, EventByType, Event, } from './types';
6
+ export type { Event as BusEvent } from './types';
7
+ export type { PhaseChangedEvent, ContextUpdatedEvent, StateAgentRegisteredEvent, StateAgentUpdatedEvent, StateTaskCreatedEvent, StateTaskAssignedEvent, StateTaskCompletedEvent, StateTaskFailedEvent, } from './types';
8
+ export type { AgentRegisteredEvent, AgentStatusChangedEvent, AgentRemovedEvent, } from './types';
9
+ export type { TaskCreatedEvent, TaskAssignedEvent, TaskStatusChangedEvent, TaskCompletedEvent, TaskFailedEvent, } from './types';
10
+ export type { DecisionsAgendaCreatedEvent, DecisionsAgendaStartedEvent, DecisionsOpinionSubmittedEvent, DecisionsVotingStartedEvent, DecisionsVoteSubmittedEvent, DecisionsVotingEndedEvent, DecisionsConsensusReachedEvent, DecisionsAgendaResolvedEvent, AgendaSubmittedEvent, AgendaStatusChangedEvent, OpinionSubmittedEvent, VoteRequestedEvent, ConsensusReachedEvent, } from './types';
11
+ export type { AgendaCreatedDomainEvent, AgendaUpdatedDomainEvent, AgendaStatusChangedDomainEvent, AgendaDeletedDomainEvent, } from './types';
12
+ export type { FactAddedEvent, InferenceAddedEvent, KnowledgePatternLearnedEvent, } from './types';
13
+ export type { SystemSnapshotCreatedEvent, SystemSnapshotRestoredEvent, SystemErrorEvent, VersionConflictEvent, } from './types';
14
+ export { EventBus, EventTimeoutError } from './event-bus';
15
+ export type { EventHandler, Unsubscribe, EventFilter, EventBusOptions, EventBusStats, } from './event-bus';
16
+ export { EventFactory } from './event-factory';
17
+ export type { CreateEventOptions } from './event-factory';