@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,162 @@
1
+ /**
2
+ * @module message
3
+ * @description 메시지 관련 타입 정의
4
+ */
5
+ import type { Identifiable, Timestamped } from './base';
6
+ import type { AgentId, TaskId } from './base';
7
+ /**
8
+ * 메시지 타입 enum
9
+ * @description 시스템 내 모든 메시지 유형
10
+ */
11
+ export declare enum MessageType {
12
+ /** 상태 읽기 요청 */
13
+ STATE_READ = "state.read",
14
+ /** 상태 쓰기 요청 */
15
+ STATE_WRITE = "state.write",
16
+ /** 상태 구독 */
17
+ STATE_SUBSCRIBE = "state.subscribe",
18
+ /** 상태 변경 알림 */
19
+ STATE_UPDATED = "state.updated",
20
+ /** 안건 제출 요청 */
21
+ DECISION_REQUEST = "decision.request",
22
+ /** 의견 제출 */
23
+ OPINION_SUBMIT = "opinion.submit",
24
+ /** 투표 제출 */
25
+ VOTE_SUBMIT = "vote.submit",
26
+ /** 합의 도달 알림 */
27
+ CONSENSUS_REACHED = "consensus.reached",
28
+ /** 작업 할당 */
29
+ TASK_ASSIGN = "task.assign",
30
+ /** 작업 완료 */
31
+ TASK_COMPLETE = "task.complete",
32
+ /** 작업 실패 */
33
+ TASK_FAILED = "task.failed",
34
+ /** 작업 진행 상황 */
35
+ TASK_PROGRESS = "task.progress",
36
+ /** 사실 추가 */
37
+ KNOWLEDGE_FACT_ADD = "knowledge.fact.add",
38
+ /** 추론 추가 */
39
+ KNOWLEDGE_INFERENCE_ADD = "knowledge.inference.add",
40
+ /** 하트비트 */
41
+ HEARTBEAT = "heartbeat",
42
+ /** 에러 */
43
+ ERROR = "error",
44
+ /** 시스템 알림 */
45
+ SYSTEM_NOTIFICATION = "system.notification"
46
+ }
47
+ /**
48
+ * 메시지 기본 인터페이스
49
+ * @description 시스템 내에서 주고받는 모든 메시지의 기본 구조
50
+ * @typeParam T - 페이로드 타입
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const message: Message<string> = {
55
+ * id: 'msg-001',
56
+ * type: MessageType.HEARTBEAT,
57
+ * from: createAgentId('agent-001'),
58
+ * to: 'broadcast',
59
+ * payload: 'ping',
60
+ * priority: 1,
61
+ * ttl: null,
62
+ * createdAt: new Date(),
63
+ * updatedAt: new Date(),
64
+ * };
65
+ * ```
66
+ */
67
+ export interface Message<T = unknown> extends Identifiable, Timestamped {
68
+ /** 메시지 타입 */
69
+ type: MessageType;
70
+ /** 발신자 ID */
71
+ from: AgentId;
72
+ /** 수신자 ID ('broadcast'면 전체) */
73
+ to: AgentId | 'broadcast';
74
+ /** 메시지 내용 */
75
+ payload: T;
76
+ /** 상관 ID (요청-응답 연결용) */
77
+ correlationId?: string;
78
+ /** 우선순위 */
79
+ priority: number;
80
+ /** TTL (밀리초, null이면 무제한) */
81
+ ttl: number | null;
82
+ }
83
+ /**
84
+ * 상태 읽기 요청 페이로드
85
+ * @description Blackboard의 특정 섹션을 읽기 위한 요청
86
+ */
87
+ export interface StateReadPayload {
88
+ /** 읽을 섹션 */
89
+ section: 'state' | 'knowledge' | 'decisions';
90
+ /** 경로 */
91
+ path: string;
92
+ /** 쿼리 파라미터 */
93
+ query?: Record<string, unknown>;
94
+ }
95
+ /**
96
+ * 상태 쓰기 요청 페이로드
97
+ * @description Blackboard의 특정 섹션에 쓰기 위한 요청
98
+ */
99
+ export interface StateWritePayload {
100
+ /** 쓸 섹션 */
101
+ section: 'state' | 'knowledge' | 'decisions';
102
+ /** 경로 */
103
+ path: string;
104
+ /** 데이터 */
105
+ data: unknown;
106
+ /** 기대 버전 (optimistic locking용) */
107
+ expectedVersion?: number;
108
+ }
109
+ /**
110
+ * 에러 페이로드
111
+ * @description 에러 발생 시 전달하는 정보
112
+ */
113
+ export interface ErrorPayload {
114
+ /** 에러 코드 */
115
+ code: string;
116
+ /** 에러 메시지 */
117
+ message: string;
118
+ /** 상세 정보 */
119
+ details?: Record<string, unknown>;
120
+ /** 재시도 가능 여부 */
121
+ retryable: boolean;
122
+ }
123
+ /**
124
+ * 하트비트 페이로드
125
+ * @description 에이전트 하트비트 정보
126
+ */
127
+ export interface HeartbeatPayload {
128
+ /** 에이전트 ID */
129
+ agentId: AgentId;
130
+ /** 현재 작업 ID (없으면 null) */
131
+ currentTask?: TaskId | null;
132
+ /** 타임스탬프 */
133
+ timestamp: Date;
134
+ /** 추가 상태 정보 */
135
+ status?: Record<string, unknown>;
136
+ }
137
+ /**
138
+ * 메시지 전송 옵션
139
+ * @description 메시지 전송 시 설정 가능한 옵션
140
+ */
141
+ export interface MessageSendOptions {
142
+ /** 수신자 ID */
143
+ to: AgentId | 'broadcast';
144
+ /** 메시지 타입 */
145
+ type: MessageType;
146
+ /** 우선순위 (기본: 1) */
147
+ priority?: number;
148
+ /** TTL (밀리초) */
149
+ ttl?: number | null;
150
+ /** 상관 ID */
151
+ correlationId?: string;
152
+ }
153
+ /**
154
+ * 메시지 핸들러 타입
155
+ * @description 메시지를 처리하는 핸들러 함수의 타입
156
+ */
157
+ export type MessageHandler<T = unknown> = (message: Message<T>) => void | Promise<void>;
158
+ /**
159
+ * 메시지 필터 타입
160
+ * @description 메시지를 필터링하는 조건 함수의 타입
161
+ */
162
+ export type MessageFilter<T = unknown> = (message: Message<T>) => boolean;
@@ -0,0 +1,154 @@
1
+ /**
2
+ * @module task
3
+ * @description 작업(Task) 관련 타입 정의
4
+ */
5
+ import type { Identifiable, Timestamped, Versioned } from './base';
6
+ import type { AgentId, TaskId } from './base';
7
+ /**
8
+ * 작업 상태 enum
9
+ * @description 작업의 진행 상태를 나타냄
10
+ */
11
+ export declare enum TaskStatus {
12
+ /** 대기 중 */
13
+ PENDING = "pending",
14
+ /** 실행 중 */
15
+ RUNNING = "running",
16
+ /** 완료됨 */
17
+ COMPLETED = "completed",
18
+ /** 실패함 */
19
+ FAILED = "failed",
20
+ /** 취소됨 */
21
+ CANCELLED = "cancelled"
22
+ }
23
+ /**
24
+ * 작업 우선순위
25
+ * @description 작업의 중요도를 나타내는 순위
26
+ */
27
+ export declare enum TaskPriority {
28
+ LOW = 0,
29
+ NORMAL = 1,
30
+ HIGH = 2,
31
+ CRITICAL = 3
32
+ }
33
+ /**
34
+ * 작업 정의
35
+ * @description 시스템에서 실행할 작업의 정의
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const task: Task = {
40
+ * id: createTaskId('task-001'),
41
+ * name: '데이터 분석',
42
+ * description: '사용자 행동 데이터 분석',
43
+ * assignedTo: createAgentId('agent-001'),
44
+ * status: TaskStatus.PENDING,
45
+ * priority: TaskPriority.HIGH,
46
+ * inputs: { dataset: 'users-2026-01' },
47
+ * outputs: null,
48
+ * dependsOn: [],
49
+ * error: null,
50
+ * startedAt: null,
51
+ * completedAt: null,
52
+ * timeout: 3600000,
53
+ * version: 1,
54
+ * createdAt: new Date(),
55
+ * updatedAt: new Date(),
56
+ * };
57
+ * ```
58
+ */
59
+ export interface Task extends Identifiable<TaskId>, Timestamped, Versioned {
60
+ /** 작업 이름 */
61
+ name: string;
62
+ /** 작업 설명 */
63
+ description: string;
64
+ /** 할당된 에이전트 */
65
+ assignedTo: AgentId | null;
66
+ /** 현재 상태 */
67
+ status: TaskStatus;
68
+ /** 우선순위 */
69
+ priority: TaskPriority;
70
+ /** 입력 데이터 */
71
+ inputs: Record<string, unknown>;
72
+ /** 출력 데이터 (완료 시) */
73
+ outputs: Record<string, unknown> | null;
74
+ /** 의존하는 작업 ID 목록 */
75
+ dependsOn: TaskId[];
76
+ /** 에러 정보 (실패 시) */
77
+ error: TaskError | null;
78
+ /** 시작 시간 */
79
+ startedAt: Date | null;
80
+ /** 완료 시간 */
81
+ completedAt: Date | null;
82
+ /** 제한 시간 (밀리초) */
83
+ timeout: number | null;
84
+ }
85
+ /**
86
+ * 작업 에러 정보
87
+ * @description 작업 실행 중 발생한 에러의 상세 정보
88
+ */
89
+ export interface TaskError {
90
+ /** 에러 코드 */
91
+ code: string;
92
+ /** 에러 메시지 */
93
+ message: string;
94
+ /** 스택 트레이스 */
95
+ stack?: string;
96
+ /** 재시도 가능 여부 */
97
+ retryable: boolean;
98
+ }
99
+ /**
100
+ * 작업 생성 옵션
101
+ * @description 새 작업 생성 시 필요한 필드
102
+ */
103
+ export interface TaskCreateInput {
104
+ /** 작업 이름 */
105
+ name: string;
106
+ /** 작업 설명 */
107
+ description: string;
108
+ /** 할당할 에이전트 (선택) */
109
+ assignedTo?: AgentId | null;
110
+ /** 우선순위 (기본: NORMAL) */
111
+ priority?: TaskPriority;
112
+ /** 입력 데이터 */
113
+ inputs?: Record<string, unknown>;
114
+ /** 의존하는 작업 ID 목록 */
115
+ dependsOn?: TaskId[];
116
+ /** 제한 시간 (밀리초) */
117
+ timeout?: number | null;
118
+ }
119
+ /**
120
+ * 작업 업데이트 옵션
121
+ * @description 작업 상태 업데이트를 위한 선택적 필드
122
+ */
123
+ export interface TaskUpdateInput {
124
+ /** 새로운 상태 */
125
+ status?: TaskStatus;
126
+ /** 할당된 에이전트 */
127
+ assignedTo?: AgentId | null;
128
+ /** 우선순위 */
129
+ priority?: TaskPriority;
130
+ /** 출력 데이터 */
131
+ outputs?: Record<string, unknown> | null;
132
+ /** 에러 정보 */
133
+ error?: TaskError | null;
134
+ /** 시작 시간 */
135
+ startedAt?: Date | null;
136
+ /** 완료 시간 */
137
+ completedAt?: Date | null;
138
+ }
139
+ /**
140
+ * 작업 진행 상황
141
+ * @description 작업 실행 중의 진행 상황 보고
142
+ */
143
+ export interface TaskProgress {
144
+ /** 작업 ID */
145
+ taskId: TaskId;
146
+ /** 진행률 (0.0 - 1.0) */
147
+ progress: number;
148
+ /** 현재 단계 설명 */
149
+ currentStep: string;
150
+ /** 남은 예상 시간 (밀리초) */
151
+ estimatedTimeRemaining?: number;
152
+ /** 추가 메시지 */
153
+ message?: string;
154
+ }
@@ -0,0 +1,189 @@
1
+ /**
2
+ * @module types/tkg
3
+ * @description Temporal Knowledge Graph(TKG) 타입/계약 (spec/12 정렬)
4
+ */
5
+ import type { AgentId } from './base';
6
+ /** TKG 노드 ID */
7
+ export type NodeId = string & {
8
+ readonly __brand: 'NodeId';
9
+ };
10
+ /** TKG 엣지 ID */
11
+ export type EdgeId = string & {
12
+ readonly __brand: 'EdgeId';
13
+ };
14
+ /** 노드 ID 생성기 */
15
+ export declare function createNodeId(id: string): NodeId;
16
+ /** 엣지 ID 생성기 */
17
+ export declare function createEdgeId(id: string): EdgeId;
18
+ /** 노드 종류 */
19
+ export type TemporalNodeType = 'entity' | 'fact' | 'decision' | 'task' | 'pattern';
20
+ /** 엣지 종류 */
21
+ export type EdgeType = 'relates_to' | 'part_of' | 'contains' | 'supports' | 'contradicts' | 'explains' | 'based_on' | 'decided_by' | 'decided_on' | 'leads_to' | 'assigned_to' | 'depends_on' | 'blocks' | 'precedes' | 'exemplifies' | 'generalizes' | 'specializes';
22
+ export interface EntityData {
23
+ readonly name: string;
24
+ readonly entityType: 'agent' | 'task' | 'resource' | 'concept';
25
+ readonly attributes: Readonly<Record<string, unknown>>;
26
+ }
27
+ export interface FactData {
28
+ readonly statement: string;
29
+ readonly context?: string;
30
+ readonly evidence?: readonly NodeId[];
31
+ readonly verified: boolean;
32
+ }
33
+ export interface DecisionData {
34
+ readonly agendaId: string;
35
+ readonly outcome: 'approve' | 'reject' | 'deferred';
36
+ readonly reason: string;
37
+ readonly participants: readonly AgentId[];
38
+ }
39
+ export interface TaskData {
40
+ readonly description: string;
41
+ readonly status: 'pending' | 'running' | 'completed' | 'failed';
42
+ readonly assignedTo?: AgentId;
43
+ readonly result?: unknown;
44
+ }
45
+ export interface PatternData {
46
+ readonly description: string;
47
+ readonly frequency: number;
48
+ readonly examples: readonly string[];
49
+ readonly accuracy?: number;
50
+ }
51
+ export type NodeData = EntityData | FactData | DecisionData | TaskData | PatternData;
52
+ /**
53
+ * 시간축을 가진 TKG 노드
54
+ */
55
+ export interface TemporalNode {
56
+ readonly id: NodeId;
57
+ readonly type: TemporalNodeType;
58
+ readonly valid_from: Date;
59
+ readonly valid_to?: Date;
60
+ readonly observed_at: Date;
61
+ readonly updated_at: Date;
62
+ readonly confidence: number;
63
+ readonly source: AgentId;
64
+ readonly version: number;
65
+ readonly tags?: readonly string[];
66
+ readonly data: NodeData;
67
+ }
68
+ /**
69
+ * 시간축을 가진 TKG 엣지
70
+ */
71
+ export interface TemporalEdge {
72
+ readonly id: EdgeId;
73
+ readonly from: NodeId;
74
+ readonly to: NodeId;
75
+ readonly type: EdgeType;
76
+ readonly valid_from: Date;
77
+ readonly valid_to?: Date;
78
+ readonly observed_at: Date;
79
+ readonly confidence: number;
80
+ readonly source: AgentId;
81
+ readonly weight?: number;
82
+ }
83
+ /**
84
+ * TKG 조회 쿼리
85
+ */
86
+ export interface GraphQuery {
87
+ readonly nodeTypes?: readonly TemporalNodeType[];
88
+ readonly nodeIds?: readonly NodeId[];
89
+ readonly tags?: readonly string[];
90
+ readonly minConfidence?: number;
91
+ readonly edgeTypes?: readonly EdgeType[];
92
+ readonly from?: NodeId;
93
+ readonly to?: NodeId;
94
+ readonly depth?: number;
95
+ }
96
+ /**
97
+ * TKG 조회 결과
98
+ */
99
+ export interface QueryResult {
100
+ readonly nodes: readonly TemporalNode[];
101
+ readonly edges: readonly TemporalEdge[];
102
+ readonly metadata: {
103
+ readonly queryTime: Date;
104
+ readonly resultCount: number;
105
+ readonly confidenceRange: readonly [number, number];
106
+ };
107
+ }
108
+ export interface ValidationError {
109
+ readonly field: string;
110
+ readonly message: string;
111
+ readonly code: string;
112
+ }
113
+ export interface ValidationWarning {
114
+ readonly field: string;
115
+ readonly message: string;
116
+ readonly code: string;
117
+ }
118
+ /**
119
+ * 유효성 검사 결과
120
+ */
121
+ export interface ValidationResult {
122
+ readonly valid: boolean;
123
+ readonly errors: readonly ValidationError[];
124
+ readonly warnings: readonly ValidationWarning[];
125
+ }
126
+ export type ConflictResolution = 'pending' | 'supersedes' | 'higher_confidence' | 'merge' | 'discard' | 'soft_delete';
127
+ export interface Conflict {
128
+ readonly id: string;
129
+ readonly type: 'version' | 'contradiction' | 'supersedes' | 'confidence';
130
+ readonly nodes: readonly [TemporalNode, TemporalNode];
131
+ readonly detectedAt: Date;
132
+ readonly status: 'pending' | 'resolved' | 'deferred';
133
+ readonly resolution?: ConflictResolution;
134
+ readonly metadata?: Readonly<Record<string, unknown>>;
135
+ }
136
+ /**
137
+ * 승격(Promotion) 메타데이터
138
+ */
139
+ export interface PromotionMeta {
140
+ readonly promotedBy?: string;
141
+ readonly reason?: string;
142
+ readonly promotedAt?: Date;
143
+ }
144
+ /**
145
+ * 개별 승격 결과
146
+ */
147
+ export interface PromotionResult {
148
+ readonly nodeId: NodeId;
149
+ readonly success: boolean;
150
+ readonly timestamp: Date;
151
+ readonly reason?: string;
152
+ readonly conflict?: Conflict;
153
+ }
154
+ /**
155
+ * 병합 옵션
156
+ */
157
+ export interface ReflectionOptions {
158
+ readonly minConfidence?: number;
159
+ readonly resolveConflicts?: boolean;
160
+ readonly softDeleteOnConflict?: boolean;
161
+ readonly maxAge?: number;
162
+ }
163
+ /**
164
+ * Staging/Production 병합 결과
165
+ */
166
+ export interface MergeResult {
167
+ readonly mergeId: string;
168
+ readonly timestamp: Date;
169
+ readonly nodesPromoted: number;
170
+ readonly nodesSkipped: number;
171
+ readonly nodesFailed: number;
172
+ readonly edgesPromoted: number;
173
+ readonly edgesSkipped: number;
174
+ readonly conflicts: readonly Conflict[];
175
+ readonly duration: number;
176
+ }
177
+ /**
178
+ * Production 승격 전용 Port 계약.
179
+ * Reflector는 ProductionTKG 내부 맵에 직접 쓰지 않고 반드시 이 포트를 사용해야 합니다.
180
+ */
181
+ export interface IProductionPromotionPort {
182
+ promoteNode(node: TemporalNode, meta?: PromotionMeta): PromotionResult;
183
+ promoteEdge(edge: TemporalEdge, meta?: PromotionMeta): PromotionResult;
184
+ promoteBatch(payload: {
185
+ nodes: readonly TemporalNode[];
186
+ edges: readonly TemporalEdge[];
187
+ meta?: PromotionMeta;
188
+ }): MergeResult;
189
+ }
@@ -0,0 +1,22 @@
1
+ import type { ConsensusResult } from '../../domains/consensus';
2
+ import { EventBus } from '../../events';
3
+ import type { MeetingEvent, MeetingState, MeetingStateMachineOptions, MeetingStateSnapshot, TransitionLog } from './types';
4
+ export declare class MeetingStateMachine {
5
+ private readonly eventBus;
6
+ private state;
7
+ private enteredAt;
8
+ private lastEventAt;
9
+ private logs;
10
+ private readonly discussionTimeoutMs;
11
+ private readonly votingTimeoutMs;
12
+ constructor(eventBus?: EventBus, options?: MeetingStateMachineOptions);
13
+ getState(): MeetingState;
14
+ getLogs(): readonly TransitionLog[];
15
+ apply(event: MeetingEvent): MeetingState;
16
+ tick(now?: Date): MeetingState;
17
+ toSnapshot(): MeetingStateSnapshot;
18
+ static fromSnapshot(snapshot: MeetingStateSnapshot, eventBus?: EventBus): MeetingStateMachine;
19
+ private resolveNextState;
20
+ private emitTransitionEvent;
21
+ static consensusEvent(consensus: ConsensusResult, timestamp?: Date): MeetingEvent;
22
+ }
@@ -0,0 +1,30 @@
1
+ import type { ConsensusResult } from '../../domains/consensus';
2
+ export declare const MEETING_STATES: readonly ["idle", "agenda_setting", "discussion", "debate", "voting", "resolving", "resolved"];
3
+ export type MeetingState = (typeof MEETING_STATES)[number];
4
+ export type MeetingEventType = 'agenda.created' | 'agenda.status.changed' | 'decisions.voting.started' | 'decisions.voting.ended' | 'workflow.consensus.computed' | 'workflow.timeout' | 'workflow.quorum.lost' | 'workflow.cancelled';
5
+ export interface MeetingEvent {
6
+ readonly type: MeetingEventType;
7
+ readonly timestamp?: Date;
8
+ readonly payload?: {
9
+ readonly status?: string;
10
+ readonly consensus?: ConsensusResult;
11
+ readonly reason?: string;
12
+ };
13
+ }
14
+ export interface TransitionLog {
15
+ readonly from: MeetingState;
16
+ readonly to: MeetingState;
17
+ readonly eventType: MeetingEventType;
18
+ readonly timestamp: Date;
19
+ readonly reason?: string;
20
+ }
21
+ export interface MeetingStateSnapshot {
22
+ readonly state: MeetingState;
23
+ readonly enteredAt: Date;
24
+ readonly lastEventAt: Date;
25
+ readonly logs: readonly TransitionLog[];
26
+ }
27
+ export interface MeetingStateMachineOptions {
28
+ readonly discussionTimeoutMs?: number;
29
+ readonly votingTimeoutMs?: number;
30
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * AgentRegistry — resolves step.agent strings to BaseAgent instances.
3
+ *
4
+ * Registry responsibility is intentionally narrow:
5
+ * - lookup role for agent name
6
+ * - create/reuse provider adapter
7
+ * - create BaseAgent from fully-resolved config
8
+ */
9
+ import { type AgentConfig, type LLMAdapter, type ToolRegistry } from "@obora/adapters";
10
+ import { type BaseAgent, AgentRole } from "../../agents/roles/index.js";
11
+ import type { AgentResolver } from "./step-executor.js";
12
+ export interface AgentRegistryConfig {
13
+ llm?: LLMAdapter;
14
+ toolRegistry?: ToolRegistry;
15
+ roleMap?: Record<string, AgentRole>;
16
+ }
17
+ export declare class AgentRegistry implements AgentResolver {
18
+ private readonly fallbackLlm?;
19
+ private readonly toolRegistry?;
20
+ private readonly roleMap;
21
+ private readonly adapterByConfig;
22
+ constructor(config: AgentRegistryConfig);
23
+ resolve(agentName: string): Promise<BaseAgent>;
24
+ resolve(query: {
25
+ agent?: string;
26
+ type?: string;
27
+ config?: AgentConfig;
28
+ }): Promise<BaseAgent>;
29
+ getAdapterForProvider(provider: string, config: AgentConfig): Promise<LLMAdapter>;
30
+ has(agentName: string): boolean;
31
+ listAvailable(): string[];
32
+ private mapToRole;
33
+ }
@@ -0,0 +1,41 @@
1
+ import type { StepErrorMetadata } from "./types.js";
2
+ export interface StepRuntimeRecord {
3
+ success: boolean;
4
+ output: string | null;
5
+ error: string | null;
6
+ errorMeta?: StepErrorMetadata | null;
7
+ diagnosisCode: string | null;
8
+ completedAt: string | null;
9
+ failedAt: string | null;
10
+ }
11
+ export interface RuntimeState {
12
+ state: {
13
+ context: {
14
+ workflow?: Record<string, unknown>;
15
+ steps: Record<string, StepRuntimeRecord>;
16
+ [key: string]: unknown;
17
+ };
18
+ [key: string]: unknown;
19
+ };
20
+ [key: string]: unknown;
21
+ }
22
+ export declare class Blackboard {
23
+ #private;
24
+ constructor(initialState?: Partial<RuntimeState>);
25
+ get version(): number;
26
+ read<T = unknown>(path: string, options?: {
27
+ strict?: boolean;
28
+ }): T;
29
+ exists(path: string): boolean;
30
+ on(_event: string, _listener: (...args: unknown[]) => void): this;
31
+ off(_event: string, _listener: (...args: unknown[]) => void): this;
32
+ once(_event: string, _listener: (...args: unknown[]) => void): this;
33
+ emit(_event: string, ..._args: unknown[]): boolean;
34
+ removeAllListeners(_event?: string): this;
35
+ listenerCount(_event: string): number;
36
+ recordStepResult(name: string, result: StepRuntimeRecord): void;
37
+ recordStepError(name: string, error: Omit<StepErrorMetadata, "code"> & {
38
+ code?: StepErrorMetadata["code"];
39
+ }): void;
40
+ getSnapshot(): Readonly<RuntimeState>;
41
+ }