@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,251 @@
1
+ /**
2
+ * @module actor
3
+ * @description Actor 타입 정의 - 액터의 기본 인터페이스와 상태 관리
4
+ */
5
+ import type { Action } from "./action";
6
+ import type { IBlackboard } from "./blackboard";
7
+ import type { Message } from "./message";
8
+ import type { IMessageBus } from "./message";
9
+ import type { ActorMetrics } from "./metrics";
10
+ import type { Observation } from "./observation";
11
+ import type { Result } from "./result";
12
+ /**
13
+ * Actor 고유 ID 타입
14
+ * @description 브랜드 타입을 사용하여 타입 안전성을 확보
15
+ *
16
+ * 형식: `<role>-<uuid>`
17
+ * 예: analyst-550e8400-e29b-41d4-a716-446655440000
18
+ */
19
+ export type ActorId = string & {
20
+ readonly __brand: "ActorId";
21
+ };
22
+ /**
23
+ * Task 고유 ID 타입
24
+ * @description 브랜드 타입을 사용하여 타입 안전성을 확보
25
+ */
26
+ export type TaskId = string & {
27
+ readonly __brand: "TaskId";
28
+ };
29
+ /**
30
+ * Actor 역할 타입
31
+ * @description 액터가 수행하는 역할을 정의
32
+ */
33
+ export type ActorRole = "analyst" | "executor" | "verifier" | "director";
34
+ /**
35
+ * Actor 역할 설명
36
+ * @description 각 역할의 설명 정의
37
+ */
38
+ export declare const ActorRoleDescription: Record<ActorRole, string>;
39
+ /**
40
+ * Actor 역할별 권한 레벨
41
+ * @description 각 역할의 권한 레벨 정의
42
+ */
43
+ export declare const ActorRoleLevel: Record<ActorRole, number>;
44
+ /**
45
+ * Actor 생명주기 상태 열거형
46
+ * @description 액터의 현재 실행 상태를 나타냄
47
+ */
48
+ export declare enum ActorLifecycleStatus {
49
+ /** 생성됨 - 초기화 완료, 시작 대기 */
50
+ CREATED = "created",
51
+ /** 시작 중 - 초기화 및 리소스 로딩 중 */
52
+ STARTING = "starting",
53
+ /** 실행 중 - 정상적으로 동작 중 */
54
+ RUNNING = "running",
55
+ /** 유휴 상태 - 대기 중, 작업 수행 가능 */
56
+ IDLE = "idle",
57
+ /** 바쁨 - 현재 작업 수행 중 */
58
+ BUSY = "busy",
59
+ /** 중지 중 - 종료 처리 중 */
60
+ STOPPING = "stopping",
61
+ /** 중지됨 - 완전히 종료됨 */
62
+ STOPPED = "stopped",
63
+ /** 재시작 중 - 재시작 처리 중 */
64
+ RESTARTING = "restarting",
65
+ /** 오류 상태 - 오류 발생으로 중단됨 */
66
+ ERROR = "error"
67
+ }
68
+ /**
69
+ * Actor 상태 인터페이스
70
+ * @description 액터의 현재 상태 정보
71
+ */
72
+ export interface ActorStatus {
73
+ /** Actor ID */
74
+ id: ActorId;
75
+ /** Actor 이름 */
76
+ name: string;
77
+ /** Actor 역할 */
78
+ role: ActorRole;
79
+ /** 생명주기 상태 */
80
+ status: ActorLifecycleStatus;
81
+ /** 메시지 큐 상태 */
82
+ messageQueue: {
83
+ pending: number;
84
+ processing: boolean;
85
+ };
86
+ /** 현재 작업 */
87
+ currentTask?: {
88
+ id: TaskId;
89
+ type: string;
90
+ startedAt: Date;
91
+ };
92
+ /** 성능 메트릭 */
93
+ metrics: {
94
+ totalMessagesProcessed: number;
95
+ totalActionsExecuted: number;
96
+ totalErrors: number;
97
+ averageResponseTime: number;
98
+ uptime: number;
99
+ };
100
+ /** 마지막 활동 시간 */
101
+ lastSeen: Date;
102
+ /** 마지막 활동 유형 */
103
+ lastActivity?: "message_received" | "action_executed" | "error_occurred";
104
+ /** 에러 카운트 */
105
+ errorCount: number;
106
+ /** 마지막 에러 */
107
+ lastError?: {
108
+ message: string;
109
+ timestamp: Date;
110
+ };
111
+ }
112
+ /**
113
+ * 상태 전이 유효성 검사 함수
114
+ *
115
+ * 상태 전이 다이어그램:
116
+ * CREATED → STARTING
117
+ * STARTING → RUNNING | ERROR
118
+ * RUNNING → IDLE | BUSY | STOPPING | ERROR | RESTARTING
119
+ * IDLE → BUSY | STOPPING | RESTARTING
120
+ * BUSY → IDLE | ERROR | RESTARTING
121
+ * ERROR → RESTARTING | STOPPING
122
+ * RESTARTING → RUNNING | ERROR
123
+ * STOPPING → STOPPED
124
+ * STOPPED → (터미널 상태)
125
+ *
126
+ * @param current - 현재 상태
127
+ * @param next - 다음 상태
128
+ * @returns 전환 가능 여부
129
+ */
130
+ export declare function isValidTransition(current: ActorLifecycleStatus, next: ActorLifecycleStatus): boolean;
131
+ /**
132
+ * Actor 인터페이스
133
+ * @description 모든 액터가 구현해야 하는 기본 인터페이스
134
+ */
135
+ export interface Actor {
136
+ /** 고유 식별자 */
137
+ readonly id: ActorId;
138
+ /** 액터 이름 */
139
+ readonly name: string;
140
+ /** 액터 역할 */
141
+ readonly role: ActorRole;
142
+ /** 현재 상태 */
143
+ readonly status: ActorStatus;
144
+ /** 공유 데이터 저장소 (Blackboard) */
145
+ board: IBlackboard;
146
+ /** 메시지 버스 (message.ts의 IMessageBus 타입 사용) */
147
+ messageBus: IMessageBus;
148
+ /** 마지막 활동 시간 */
149
+ lastActivity: Date;
150
+ /** 생성 시간 */
151
+ createdAt: Date;
152
+ /** 성능 메트릭 */
153
+ metrics: ActorMetrics;
154
+ /**
155
+ * 메시지 수신
156
+ * @param message - 수신할 메시지
157
+ * @returns 메시지 처리 결과
158
+ */
159
+ receive(message: Message): void | Promise<void>;
160
+ /**
161
+ * 환경 관찰
162
+ * @returns 관찰 결과
163
+ */
164
+ observe(): Observation | Promise<Observation>;
165
+ /**
166
+ * 의사결정 (생각)
167
+ * @param observation - 관찰 결과
168
+ * @returns 결정된 행동
169
+ */
170
+ think(observation: Observation): Action | Promise<Action>;
171
+ /**
172
+ * 행동 수행
173
+ * @param action - 수행할 행동
174
+ * @returns 행동 결과
175
+ */
176
+ act(action: Action): Result | Promise<Result>;
177
+ /**
178
+ * 결과 보고
179
+ * @param result - 보고할 결과
180
+ */
181
+ report(result: Result): void | Promise<void>;
182
+ /**
183
+ * 액터 시작
184
+ */
185
+ start(): void | Promise<void>;
186
+ /**
187
+ * 액터 중지
188
+ */
189
+ stop(): void | Promise<void>;
190
+ /**
191
+ * 액터 재시작
192
+ */
193
+ restart(): void | Promise<void>;
194
+ /**
195
+ * 액터 현재 상태 조회
196
+ */
197
+ getStatus(): ActorStatus;
198
+ /**
199
+ * 액터가 살아있는지 확인
200
+ */
201
+ isAlive(): boolean;
202
+ }
203
+ /**
204
+ * Actor ID 생성 함수
205
+ * @param role - Actor 역할
206
+ * @returns 브랜드 타입이 적용된 ActorId
207
+ * @example
208
+ * ```typescript
209
+ * const actorId = createActorId('analyst');
210
+ * // 결과: "analyst-550e8400-e29b-41d4-a716-446655440000"
211
+ * ```
212
+ */
213
+ export declare function createActorId(role: ActorRole): ActorId;
214
+ /**
215
+ * Actor ID 유효성 검사
216
+ * @param value - 확인할 값
217
+ * @returns 유효한 ActorId 여부
218
+ * @example
219
+ * ```typescript
220
+ * const value = 'analyst-550e8400-e29b-41d4-a716-446655440000';
221
+ * if (isValidActorId(value)) {
222
+ * // value는 유효한 ActorId
223
+ * }
224
+ * ```
225
+ */
226
+ export declare function isValidActorId(value: unknown): value is ActorId;
227
+ /**
228
+ * Task ID 생성 함수
229
+ * @param id - 원본 문자열 ID
230
+ * @returns 브랜드 타입이 적용된 TaskId
231
+ * @example
232
+ * ```typescript
233
+ * const taskId = createTaskId('task-001');
234
+ * // 타입: TaskId
235
+ * ```
236
+ */
237
+ export declare function createTaskId(id: string): TaskId;
238
+ /**
239
+ * Task ID 유효성 검사
240
+ * @param value - 확인할 값
241
+ * @returns 유효한 TaskId 여부
242
+ * @example
243
+ * ```typescript
244
+ * const value = 'task-001';
245
+ * if (isValidTaskId(value)) {
246
+ * // value는 유효한 TaskId
247
+ * }
248
+ * ```
249
+ */
250
+ export declare function isValidTaskId(value: unknown): value is TaskId;
251
+ export type { IBlackboard } from "./blackboard";
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @module blackboard
3
+ * @description Blackboard 인터페이스 - Actor 연결용
4
+ */
5
+ /**
6
+ * Actor와 상호작용하는 Blackboard 인터페이스 (스펙 기준: IBlackboard)
7
+ *
8
+ * Actor 시스템에서 필요한 Blackboard의 기능을 정의합니다.
9
+ * 전체 구현은 @obora-kit/blackboard 패키지에서 제공됩니다.
10
+ *
11
+ * 참고: [[spec/13-actor.md|13-actor.md]]
12
+ */
13
+ export interface IBlackboard {
14
+ /**
15
+ * 현재 Blackboard 버전
16
+ */
17
+ readonly version: number;
18
+ /**
19
+ * Blackboard에서 데이터 읽기
20
+ * @param key - 읽을 키 또는 경로
21
+ * @returns 읽은 데이터
22
+ */
23
+ read(key: string): unknown | undefined;
24
+ /**
25
+ * Blackboard에 데이터 쓰기
26
+ * @param key - 쓸 키 또는 경로
27
+ * @param value - 쓸 데이터
28
+ */
29
+ write(key: string, value: unknown): void;
30
+ /**
31
+ * Blackboard에서 데이터 삭제
32
+ * @param key - 삭제할 키 또는 경로
33
+ */
34
+ delete(key: string): void;
35
+ /**
36
+ * 모든 키 조회
37
+ * @returns 모든 키 배열
38
+ */
39
+ keys(): string[];
40
+ /**
41
+ * 특정 패턴의 키 조회
42
+ * @param pattern - 검색할 패턴
43
+ * @returns 일치하는 키 배열
44
+ */
45
+ find(pattern: string): string[];
46
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Unified Actor ID generation using cryptographically-secure UUIDs.
3
+ * @param role Actor role to prefix the ID with
4
+ * @returns ActorId-style string: `<role>-<uuid>`
5
+ */
6
+ export declare function generateActorId(role: string): string;
@@ -0,0 +1,209 @@
1
+ /**
2
+ * @module message
3
+ * @description Message 타입 정의 - 액터 간 통신
4
+ */
5
+ import type { ActorId } from "./actor";
6
+ /**
7
+ * Message 고유 ID 타입
8
+ * @description 브랜드 타입을 사용하여 타입 안전성을 확보
9
+ */
10
+ export type MessageId = string & {
11
+ readonly __brand: "MessageId";
12
+ };
13
+ /**
14
+ * 메시지 우선순위 열거형
15
+ * @description 메시지 처리 우선순위를 정의
16
+ */
17
+ export declare enum MessagePriority {
18
+ /** 낮음 */
19
+ LOW = 0,
20
+ /** 보통 */
21
+ NORMAL = 1,
22
+ /** 높음 */
23
+ HIGH = 2,
24
+ /** 매우 높음 */
25
+ CRITICAL = 3
26
+ }
27
+ /**
28
+ * 메시지 유형 열거형
29
+ * @description 메시지의 종류를 정의
30
+ */
31
+ export declare enum MessageType {
32
+ /** 상태 읽기 */
33
+ STATE_READ = "state.read",
34
+ /** 상태 쓰기 */
35
+ STATE_WRITE = "state.write",
36
+ /** 상태 구독 */
37
+ STATE_SUBSCRIBE = "state.subscribe",
38
+ /** 상태 구독 취소 */
39
+ STATE_UNSUBSCRIBE = "state.unsubscribe",
40
+ /** 작업 할당 */
41
+ TASK_ASSIGN = "task.assign",
42
+ /** 작업 시작 */
43
+ TASK_START = "task.start",
44
+ /** 작업 완료 */
45
+ TASK_COMPLETE = "task.complete",
46
+ /** 작업 실패 */
47
+ TASK_FAILED = "task.failed",
48
+ /** 작업 취소 */
49
+ TASK_CANCEL = "task.cancel",
50
+ /** 의사결정 요청 */
51
+ DECISION_REQUEST = "decision.request",
52
+ /** 의견 제출 */
53
+ OPINION_SUBMIT = "opinion.submit",
54
+ /** 의견 요청 */
55
+ OPINION_REQUEST = "opinion.request",
56
+ /** 투표 제출 */
57
+ VOTE_SUBMIT = "vote.submit",
58
+ /** 투표 요청 */
59
+ VOTE_REQUEST = "vote.request",
60
+ /** 합의 도달 */
61
+ CONSENSUS_REACHED = "consensus.reached",
62
+ /** 핑 */
63
+ PING = "ping",
64
+ /** 퐁 */
65
+ PONG = "pong",
66
+ /** 하트비트 */
67
+ HEARTBEAT = "heartbeat",
68
+ /** 상태 요청 */
69
+ STATUS_REQUEST = "status.request",
70
+ /** 상태 응답 */
71
+ STATUS_RESPONSE = "status.response",
72
+ /** 에러 */
73
+ ERROR = "error",
74
+ /** 에러 승인 */
75
+ ERROR_ACK = "error.ack",
76
+ /** 시작 */
77
+ START = "start",
78
+ /** 중지 */
79
+ STOP = "stop",
80
+ /** 재시작 */
81
+ RESTART = "restart",
82
+ /** 강제 종료 */
83
+ KILL = "kill",
84
+ /** 사용자 정의 메시지 */
85
+ CUSTOM = "custom"
86
+ }
87
+ /**
88
+ * Message 인터페이스
89
+ * @description 액터 간 통신에 사용되는 메시지
90
+ */
91
+ export interface Message<T = unknown> {
92
+ /** 고유 식별자 */
93
+ id: MessageId;
94
+ /** 메시지 유형 */
95
+ type: MessageType;
96
+ /** 발신자 액터 ID */
97
+ from: ActorId;
98
+ /** 수신자 액터 ID ('broadcast' 시 전체 전송) */
99
+ to: ActorId | "broadcast";
100
+ /** 메시지 내용 */
101
+ payload: T;
102
+ /** 메시지 생성 시간 */
103
+ timestamp: Date;
104
+ /** 상관 관계 ID (선택적) - 응답 메시지와 요청 메시지 연결 */
105
+ correlationId?: string;
106
+ /** 응답 대상 (선택적) - 응답 메시지의 수신자 */
107
+ replyTo?: ActorId;
108
+ /** 메시지 우선순위 (선택적) */
109
+ priority?: MessagePriority;
110
+ /** Time to Live (선택적) - 메시지 유효 시간 (ms) */
111
+ ttl?: number;
112
+ /** 전달 확인 요청 (선택적) */
113
+ deliveryReceipt?: boolean;
114
+ }
115
+ /**
116
+ * 구독 취소 함수 타입
117
+ * @description 메시지 구독을 취소하는 함수
118
+ */
119
+ export type UnsubscribeFn = () => void;
120
+ /**
121
+ * IMessageBus 인터페이스
122
+ * @description 액터 간 메시지 전달 시스템
123
+ */
124
+ export interface IMessageBus {
125
+ /**
126
+ * 메시지 전송
127
+ * @param message - 전송할 메시지
128
+ */
129
+ send(message: Message): void;
130
+ /**
131
+ * 특정 Actor에 메시지 전송
132
+ * @param to - 수신자 Actor ID
133
+ * @param message - 전송할 메시지 (to 필드 제외)
134
+ */
135
+ sendTo(to: ActorId, message: Omit<Message, "to">): void;
136
+ /**
137
+ * 브로드캐스트 전송
138
+ * @param message - 전송할 메시지 (to 필드 제외)
139
+ */
140
+ broadcast(message: Omit<Message, "to">): void;
141
+ /**
142
+ * 메시지 수신 핸들러 등록
143
+ * @param handler - 메시지 처리 핸들러
144
+ */
145
+ receive(handler: (message: Message) => void): void;
146
+ /**
147
+ * 요청-응답 패턴
148
+ * @param message - 요청 메시지
149
+ * @param timeoutMs - 타임아웃 시간 (ms)
150
+ * @returns 응답 메시지 Promise
151
+ */
152
+ request<T>(message: Message, timeoutMs?: number): Promise<Message<T>>;
153
+ /**
154
+ * 메시지 타입 구독
155
+ * @param messageType - 구독할 메시지 타입
156
+ * @param handler - 메시지 처리 핸들러
157
+ * @returns 구독 취소 함수
158
+ */
159
+ subscribe(messageType: MessageType, handler: (message: Message) => void): UnsubscribeFn;
160
+ /**
161
+ * 메시지 큐 크기 조회
162
+ * @param actorId - Actor ID
163
+ * @returns 큐에 대기 중인 메시지 수
164
+ */
165
+ getQueueSize(actorId: ActorId): number;
166
+ /**
167
+ * 메시지 큐 비우기
168
+ * @param actorId - Actor ID
169
+ */
170
+ clearQueue(actorId: ActorId): void;
171
+ /**
172
+ * 메시지 필터링
173
+ * @param predicate - 필터링 조건
174
+ */
175
+ filter(predicate: (message: Message) => boolean): Message[];
176
+ }
177
+ /**
178
+ * Message ID 생성 함수
179
+ * @param id - 원본 문자열 ID
180
+ * @returns 브랜드 타입이 적용된 MessageId
181
+ * @example
182
+ * ```typescript
183
+ * const messageId = createMessageId('msg-001');
184
+ * // 타입: MessageId
185
+ * ```
186
+ */
187
+ export declare function createMessageId(id: string): MessageId;
188
+ /**
189
+ * Message ID 유효성 검사
190
+ * @param value - 확인할 값
191
+ * @returns 유효한 MessageId 여부
192
+ */
193
+ export declare function isValidMessageId(value: unknown): value is MessageId;
194
+ /**
195
+ * Message 생성 함수
196
+ * @param params - Message 생성 파라미터
197
+ * @returns 생성된 Message 객체
198
+ * @example
199
+ * ```typescript
200
+ * const message = createMessage({
201
+ * id: createMessageId('msg-001'),
202
+ * type: MessageType.COMMAND,
203
+ * from: createActorId('analyst-550e8400-e29b-41d4-a716-446655440000'),
204
+ * to: createActorId('executor-550e8400-e29b-41d4-a716-446655440001'),
205
+ * payload: { action: 'start' }
206
+ * });
207
+ * ```
208
+ */
209
+ export declare function createMessage<T>(params: Omit<Message<T>, "timestamp">): Message<T>;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @module metrics
3
+ * @description Metrics 타입 정의 - 액터 성능 메트릭
4
+ */
5
+ /**
6
+ * Actor 성능 메트릭 인터페이스
7
+ * @description 액터의 성능 및 실행 통계
8
+ */
9
+ export interface ActorMetrics {
10
+ /** 총 실행 횟수 */
11
+ totalRuns: number;
12
+ /** 성공 횟수 */
13
+ successCount: number;
14
+ /** 실패 횟수 */
15
+ failureCount: number;
16
+ /** 마지막 오류 */
17
+ lastError: Error | null;
18
+ /** 평균 실행 시간 */
19
+ averageExecutionTime: number;
20
+ /** 총 실행 시간 (밀리초) */
21
+ totalExecutionTimeMs: number;
22
+ /** 마지막 실행 시간 */
23
+ lastRunAt?: Date;
24
+ /** 생성 시간 */
25
+ createdAt: Date;
26
+ /** 마지막 업데이트 시간 */
27
+ updatedAt: Date;
28
+ /** 마지막 실행 시간 (밀리초) */
29
+ lastExecutionTime: number | null;
30
+ /** 총 CPU 사용 시간 (밀리초) */
31
+ totalCpuTime: number;
32
+ /** 메모리 사용량 (바이트) */
33
+ memoryUsage: number;
34
+ }
35
+ /**
36
+ * Actor 메트릭 생성 함수
37
+ * @returns 생성된 ActorMetrics 객체
38
+ * @example
39
+ * ```typescript
40
+ * const metrics = createActorMetrics();
41
+ * ```
42
+ */
43
+ export declare function createActorMetrics(): ActorMetrics;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @module observation
3
+ * @description Observation 타입 정의 - 액터의 환경 관찰 결과
4
+ */
5
+ import type { ActorId } from "./actor";
6
+ /**
7
+ * 관찰 인터페이스
8
+ * @description 액터가 환경에서 관찰한 정보
9
+ */
10
+ export interface Observation {
11
+ /** 관찰을 수행한 액터 ID */
12
+ actorId: ActorId;
13
+ /** 관찰 시간 */
14
+ timestamp: Date;
15
+ /** 관찰된 상태 (선택적) */
16
+ state?: {
17
+ context: Record<string, unknown>;
18
+ agents: unknown[];
19
+ tasks: unknown[];
20
+ };
21
+ /** 획득한 지식 (선택적) */
22
+ knowledge?: {
23
+ facts: unknown[];
24
+ inferences: unknown[];
25
+ };
26
+ /** 관찰된 결정사항 (선택적) */
27
+ decisions?: {
28
+ currentAgenda: unknown | null;
29
+ opinions: unknown[];
30
+ };
31
+ }
32
+ /**
33
+ * 관찰 생성 함수
34
+ * @param params - 관찰 생성 파라미터
35
+ * @returns 생성된 Observation 객체
36
+ * @example
37
+ * ```typescript
38
+ * const observation = createObservation({
39
+ * actorId: createActorId('actor-001'),
40
+ * state: { temperature: 25 },
41
+ * knowledge: [{ id: 'k1', content: 'fact', confidence: 0.9 }]
42
+ * });
43
+ * ```
44
+ */
45
+ export declare function createObservation(params: Omit<Observation, "timestamp">): Observation;