@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,20 @@
1
+ /**
2
+ * @module snapshot/id-utils
3
+ * @description ID 생성 유틸리티 (브라우저/Node.js 호환)
4
+ */
5
+ /**
6
+ * 기본 ID 생성 함수
7
+ * @returns 고유 ID 문자열
8
+ * @description Node.js 환경에서는 crypto.randomUUID(), 브라우저 환경에서는 fallback 사용
9
+ */
10
+ export declare function createDefaultId(): string;
11
+ /**
12
+ * ID 생성자 타입
13
+ */
14
+ export type IdGenerator = () => string;
15
+ /**
16
+ * 기본 ID 생성자 생성
17
+ * @param customGenerator - 사용자 정의 ID 생성 함수 (선택)
18
+ * @returns ID 생성 함수
19
+ */
20
+ export declare function createIdGenerator(customGenerator?: IdGenerator): IdGenerator;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @module snapshot
4
+ * @description 스냅샷/복원 기능
5
+ */
6
+ export * from './types';
7
+ export { createDefaultId, createIdGenerator } from './id-utils';
8
+ export { StateSerializer, calculateChecksum, calculateChecksumSync, verifyChecksum, verifyChecksumSync, } from './serializer';
9
+ export type { SerializeOptions } from './serializer';
10
+ export { compress, decompress, detectCompression } from './compression';
11
+ export type { CompressionAlgorithm, CompressionOptions } from './compression';
12
+ export { SnapshotManager, SnapshotRestoreError, } from './snapshot-manager';
13
+ export type { SnapshotManagerOptions } from './snapshot-manager';
14
+ export { SnapshotCreator } from './snapshot-creator';
15
+ export type { SnapshotCreatorOptions } from './snapshot-creator';
16
+ export { SnapshotValidator } from './snapshot-validator';
17
+ export { SnapshotRestorer } from './snapshot-restorer';
18
+ export type { SnapshotRestorerOptions } from './snapshot-restorer';
19
+ export { SnapshotSerializer } from './snapshot-serializer';
20
+ export { SnapshotComparer } from './snapshot-comparer';
21
+ export type { SnapshotDiff, SectionDiff, SectionData } from './snapshot-comparer';
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @module snapshot/serializer
3
+ * @description 직렬화/역직렬화 (브라우저/Node.js 호환)
4
+ */
5
+ import type { BlackboardState } from "../types";
6
+ import type { SerializedState } from "./types";
7
+ /**
8
+ * 직렬화 옵션
9
+ */
10
+ export interface SerializeOptions {
11
+ /** 날짜 형식 (기본: 'iso') */
12
+ dateFormat?: "iso" | "timestamp";
13
+ /** 정렬된 키 (재현 가능한 출력용) */
14
+ sortKeys?: boolean;
15
+ /** 들여쓰기 (기본: 0 = 압축) */
16
+ indent?: number;
17
+ }
18
+ /**
19
+ * 섹션 데이터 유효성 검증 결과
20
+ */
21
+ export interface ValidationResult {
22
+ valid: boolean;
23
+ errors: string[];
24
+ }
25
+ /**
26
+ * 상태 직렬화기
27
+ * @description Map, Date 등을 JSON 호환 형식으로 변환
28
+ */
29
+ export declare class StateSerializer {
30
+ private options;
31
+ constructor(options?: SerializeOptions);
32
+ /**
33
+ * BlackboardState → SerializedState
34
+ * @param state - 원본 상태
35
+ * @returns 직렬화된 상태
36
+ */
37
+ serialize(state: BlackboardState): SerializedState;
38
+ /**
39
+ * 임의의 객체를 JSON 문자열로 직렬화
40
+ * @param obj - 직렬화할 객체
41
+ * @returns JSON 문자열
42
+ * @description Date, Map, Set 등을 포함한 일반 객체 직렬화
43
+ */
44
+ serializeJSON(obj: unknown): string;
45
+ /**
46
+ * JSON 문자열을 객체로 역직렬화
47
+ * @param json - JSON 문자열
48
+ * @returns 역직렬화된 객체
49
+ * @throws {Error} JSON 파싱 실패 시
50
+ * @description JSON.parse를 사용한 기본 역직렬화
51
+ */
52
+ deserializeJSON<T = unknown>(json: string): T;
53
+ /**
54
+ * SerializedState → BlackboardState
55
+ * @param serialized - 직렬화된 상태
56
+ * @returns 복원된 상태
57
+ */
58
+ deserialize(serialized: SerializedState): BlackboardState;
59
+ /**
60
+ * JSON 문자열로 변환
61
+ * @param state - 원본 상태
62
+ * @returns JSON 문자열
63
+ */
64
+ toJSON(state: BlackboardState): string;
65
+ /**
66
+ * JSON 문자열에서 복원
67
+ * @param json - JSON 문자열
68
+ * @returns 복원된 상태
69
+ * @throws {Error} JSON 파싱 실패 시 명확한 에러 메시지 (P1: JSON.parse 에러 처리)
70
+ */
71
+ fromJSON(json: string): BlackboardState;
72
+ /**
73
+ * Map → Array 변환
74
+ */
75
+ private serializeMap;
76
+ /**
77
+ * Array → Map 변환
78
+ */
79
+ private deserializeMap;
80
+ /**
81
+ * Date → string 변환
82
+ */
83
+ private serializeDate;
84
+ /**
85
+ * string → Date 변환
86
+ */
87
+ private deserializeDate;
88
+ /**
89
+ * Branded ID 복원
90
+ * @param obj - 원본 ID 값 (일반적으로 문자열)
91
+ * @returns 브랜드 타입으로 캐스팅된 ID
92
+ * @description 문자열 타입 안전성 검증 후 반환
93
+ */
94
+ private restoreIds;
95
+ }
96
+ /**
97
+ * Web Crypto API를 사용한 체크섬 계산 (비동기)
98
+ * @param data - 대상 데이터
99
+ * @returns SHA-256 해시
100
+ */
101
+ export declare function calculateChecksum(data: unknown): Promise<string>;
102
+ /**
103
+ * Web Crypto API를 사용한 체크섬 검증 (비동기)
104
+ * @param data - 대상 데이터
105
+ * @param expectedChecksum - 예상 체크섬
106
+ * @returns 일치 여부
107
+ */
108
+ export declare function verifyChecksum(data: unknown, expectedChecksum: string): Promise<boolean>;
109
+ /**
110
+ * 동기 체크섬 계산 (Node.js 전용)
111
+ * @param data - 대상 데이터
112
+ * @returns SHA-256 해시
113
+ * @description 테스트 환경 등에서 동기 체크섬이 필요한 경우 사용
114
+ */
115
+ export declare function calculateChecksumSync(data: unknown): string;
116
+ /**
117
+ * 동기 체크섬 검증 (Node.js 전용)
118
+ * @param data - 대상 데이터
119
+ * @param expectedChecksum - 예상 체크섬
120
+ * @returns 일치 여부
121
+ * @description 테스트 환경 등에서 동기 체크섬이 필요한 경우 사용
122
+ */
123
+ export declare function verifyChecksumSync(data: unknown, expectedChecksum: string): boolean;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @module snapshot/snapshot-comparer
3
+ * @description 스냅샷 비교 담당
4
+ */
5
+ import type { Snapshot } from './types';
6
+ /**
7
+ * 스냅샷 차이점
8
+ */
9
+ export interface SnapshotDiff {
10
+ /** 메타데이터 차이 */
11
+ meta: {
12
+ versionDiff: number;
13
+ timeDiff: number;
14
+ };
15
+ /** 섹션별 차이 */
16
+ sections: {
17
+ state: SectionDiff;
18
+ knowledge: SectionDiff;
19
+ decisions: SectionDiff;
20
+ };
21
+ /** 차이점 존재 여부 */
22
+ hasDifferences: boolean;
23
+ /** 상세 변경 정보 */
24
+ details?: {
25
+ phase?: {
26
+ before: unknown;
27
+ after: unknown;
28
+ };
29
+ [key: string]: unknown;
30
+ };
31
+ }
32
+ /**
33
+ * 섹션 데이터 타입
34
+ */
35
+ export type SectionData = Record<string, unknown>;
36
+ /**
37
+ * 섹션 차이점
38
+ */
39
+ export interface SectionDiff {
40
+ /** 추가된 항목 수 */
41
+ added: number;
42
+ /** 제거된 항목 수 */
43
+ removed: number;
44
+ /** 변경된 항목 수 */
45
+ modified: number;
46
+ /** 상세 변경 목록 (경로 → [이전, 이후]) */
47
+ changes: Map<string, [unknown, unknown]>;
48
+ }
49
+ /**
50
+ * 스냅샷 비교자
51
+ * @description 스냅샷 비교 전담 클래스
52
+ */
53
+ export declare class SnapshotComparer {
54
+ /**
55
+ * Optional logger for error reporting
56
+ * If not provided, errors are silently ignored (fail-safe)
57
+ */
58
+ private logger?;
59
+ /**
60
+ * Set the logger for error reporting
61
+ */
62
+ setLogger(logger: (msg: string, error?: string) => void): void;
63
+ /**
64
+ * 스냅샷 비교
65
+ * @param a - 첫 번째 스냅샷
66
+ * @param b - 두 번째 스냅샷
67
+ * @returns 차이점 목록
68
+ */
69
+ compare(a: Snapshot, b: Snapshot): SnapshotDiff;
70
+ /**
71
+ * 섹션 차이점 생성
72
+ * @param data1 - 첫 번째 데이터
73
+ * @param data2 - 두 번째 데이터
74
+ * @returns 섹션 차이점
75
+ */
76
+ createSectionDiff(data1: SectionData, data2: SectionData): SectionDiff;
77
+ /**
78
+ * Generic section data extraction
79
+ * @param snapshot - 스냅샷
80
+ * @param section - 섹션 이름
81
+ * @returns 섹션 데이터
82
+ */
83
+ private extractSection;
84
+ /**
85
+ * 상태 데이터 추출
86
+ * @param snapshot - 스냅샷
87
+ * @returns 상태 데이터
88
+ */
89
+ extractStateData(snapshot: Snapshot): SectionData;
90
+ /**
91
+ * 지식 데이터 추출
92
+ * @param snapshot - 스냅샷
93
+ * @returns 지식 데이터
94
+ */
95
+ extractKnowledgeData(snapshot: Snapshot): SectionData;
96
+ /**
97
+ * 의사결정 데이터 추출
98
+ * @param snapshot - 스냅샷
99
+ * @returns 의사결정 데이터
100
+ */
101
+ extractDecisionsData(snapshot: Snapshot): SectionData;
102
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @module snapshot/snapshot-creator
3
+ * @description 스냅샷 생성 담당
4
+ */
5
+ import type { BlackboardState } from "../types";
6
+ import type { Snapshot, SnapshotMeta, CreateSnapshotOptions } from "./types";
7
+ import { type IdGenerator } from "./id-utils";
8
+ /**
9
+ * 스냅샷 생성자 설정
10
+ */
11
+ export interface SnapshotCreatorOptions {
12
+ /** 자동 압축 임계값 (바이트, 기본: 10KB) */
13
+ autoCompressThreshold?: number;
14
+ /** 기본 압축 사용 */
15
+ defaultCompress?: boolean;
16
+ /** ID 생성 함수 */
17
+ idGenerator?: IdGenerator;
18
+ }
19
+ /**
20
+ * 스냅샷 생성자
21
+ * @description 스냅샷 생성 전담 클래스
22
+ */
23
+ export declare class SnapshotCreator {
24
+ private serializer;
25
+ private options;
26
+ constructor(options?: SnapshotCreatorOptions);
27
+ /**
28
+ * 옵션 정규화
29
+ */
30
+ private normalizeOptions;
31
+ /**
32
+ * ID 생성자 가져오기
33
+ */
34
+ getIdGenerator(): IdGenerator;
35
+ /**
36
+ * 스냅샷 생성 (동기)
37
+ * @param state - 현재 Blackboard 상태
38
+ * @param options - 생성 옵션
39
+ * @returns 스냅샷
40
+ */
41
+ createSnapshot(state: BlackboardState, options?: CreateSnapshotOptions): Snapshot;
42
+ /**
43
+ * 메타데이터만 포함된 스냅샷 생성 (동기)
44
+ * @param state - 현재 상태
45
+ * @param description - 설명
46
+ * @returns 메타 전용 스냅샷
47
+ */
48
+ createMetaSnapshot(state: BlackboardState, description?: string): SnapshotMeta;
49
+ }
@@ -0,0 +1,253 @@
1
+ /**
2
+ * @module snapshot/snapshot-manager
3
+ * @description 스냅샷 관리자 (파사드 패턴)
4
+ */
5
+ import type { BlackboardState } from '../types';
6
+ import type { Snapshot, SnapshotMeta, CreateSnapshotOptions, RestoreSnapshotOptions, SnapshotValidationResult } from './types';
7
+ import type { SnapshotCreatorOptions } from './snapshot-creator';
8
+ import type { SnapshotRestorerOptions } from './snapshot-restorer';
9
+ import type { SnapshotDiff, SectionDiff, SectionData } from './snapshot-comparer';
10
+ import { SnapshotRestoreError } from './snapshot-restorer';
11
+ /**
12
+ * 스냅샷 목록 필터 옵션
13
+ */
14
+ export interface ListSnapshotOptions {
15
+ /** 태그로 필터링 */
16
+ tags?: string[];
17
+ /** 세션 ID로 필터링 */
18
+ sessionId?: string;
19
+ /** 정렬 기준 */
20
+ sortBy?: 'date' | 'id';
21
+ /** 정렬 순서 */
22
+ order?: 'asc' | 'desc';
23
+ }
24
+ /**
25
+ * 스냅샷 관리자 설정
26
+ */
27
+ export interface SnapshotManagerOptions extends SnapshotCreatorOptions, SnapshotRestorerOptions {
28
+ /** 자동 압축 임계값 (바이트, 기본: 10KB) */
29
+ autoCompressThreshold?: number;
30
+ /** 기본 압축 사용 */
31
+ defaultCompress?: boolean;
32
+ /** ID 생성 함수 */
33
+ idGenerator?: () => string;
34
+ }
35
+ /**
36
+ * 스냅샷 복원 에러
37
+ */
38
+ export { SnapshotRestoreError };
39
+ /**
40
+ * 스냅샷 관리자
41
+ * @description Blackboard 상태의 스냅샷 생성, 검증, 복원 담당
42
+ *
43
+ * 파사드 패턴으로 각 전문 클래스를 조합하여 기존 API 유지
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const manager = new SnapshotManager();
48
+ *
49
+ * // 스냅샷 생성
50
+ * const snapshot = await manager.createSnapshot(board.getState(), {
51
+ * description: 'Before major decision',
52
+ * tags: ['checkpoint', 'decision-001'],
53
+ * compress: true,
54
+ * });
55
+ *
56
+ * // JSON으로 저장
57
+ * const json = manager.toJSON(snapshot);
58
+ * fs.writeFileSync('snapshot.json', json);
59
+ *
60
+ * // JSON에서 로드
61
+ * const loaded = manager.fromJSON(fs.readFileSync('snapshot.json', 'utf-8'));
62
+ *
63
+ * // 검증
64
+ * const validation = await manager.validate(loaded);
65
+ * if (!validation.valid) {
66
+ * console.error('Invalid snapshot:', validation.errors);
67
+ * }
68
+ *
69
+ * // 복원
70
+ * const restoredState = manager.restore(loaded, {
71
+ * newSessionId: true,
72
+ * });
73
+ * board.replaceState(restoredState);
74
+ * ```
75
+ */
76
+ export declare class SnapshotManager {
77
+ private creator;
78
+ private validator;
79
+ private restorer;
80
+ private serializer;
81
+ private comparer;
82
+ private storage;
83
+ constructor(options?: SnapshotManagerOptions);
84
+ /**
85
+ * 스냅샷 저장 (내부)
86
+ */
87
+ private storeSnapshot;
88
+ /**
89
+ * 저장된 스냅샷 목록 조회
90
+ * @param options - 필터 및 정렬 옵션
91
+ * @returns 스냅샷 목록
92
+ */
93
+ list(options?: ListSnapshotOptions): Snapshot[];
94
+ /**
95
+ * ID로 스냅샷 조회
96
+ * @param id - 스냅샷 ID
97
+ * @returns 스냅샷 또는 undefined
98
+ */
99
+ get(id: string): Snapshot | undefined;
100
+ /**
101
+ * ID로 스냅샷 삭제
102
+ * @param id - 스냅샷 ID
103
+ * @returns 삭제 성공 여부
104
+ */
105
+ delete(id: string): boolean;
106
+ /**
107
+ * 스냅샷 생성 (동기)
108
+ * @param state - 현재 Blackboard 상태
109
+ * @param options - 생성 옵션
110
+ * @returns 스냅샷
111
+ */
112
+ createSnapshot(state: BlackboardState, options?: CreateSnapshotOptions): Snapshot;
113
+ /**
114
+ * 메타데이터만 포함된 스냅샷 생성 (동기)
115
+ * @param state - 현재 상태
116
+ * @param description - 설명
117
+ * @returns 메타 전용 스냅샷
118
+ */
119
+ createMetaSnapshot(state: BlackboardState, description?: string): SnapshotMeta;
120
+ /**
121
+ * 스냅샷 검증 (동기)
122
+ * @param snapshot - 검증할 스냅샷
123
+ * @returns 검증 결과
124
+ */
125
+ validate(snapshot: Snapshot): SnapshotValidationResult;
126
+ /**
127
+ * 스냅샷 검증 (비동기)
128
+ * @param snapshot - 검증할 스냅샷
129
+ * @returns 검증 결과
130
+ */
131
+ validateAsync(snapshot: Snapshot): Promise<SnapshotValidationResult>;
132
+ /**
133
+ * 버전 호환성 체크
134
+ * @param formatVersion - 스냅샷 형식 버전
135
+ * @returns 호환 여부 및 상세 정보
136
+ */
137
+ checkVersionCompatibility(formatVersion: string): {
138
+ compatible: boolean;
139
+ current: string;
140
+ snapshot: string;
141
+ migrationRequired: boolean;
142
+ };
143
+ /**
144
+ * 동기 체크섬 검증 (구조적 검증만, 체크섬 제외)
145
+ * @description restore()에서 사용하는 동기 검증 메서드
146
+ * @param snapshot - 검증할 스냅샷
147
+ * @returns 검증 결과
148
+ */
149
+ validateSyncStructure(snapshot: Snapshot): {
150
+ valid: boolean;
151
+ errors: string[];
152
+ };
153
+ /**
154
+ * 스냅샷에서 상태 복원
155
+ * @param snapshot - 스냅샷
156
+ * @param options - 복원 옵션
157
+ * @returns 복원된 상태
158
+ * @throws {SnapshotRestoreError} 복원 실패 시
159
+ * @description
160
+ * **옵션 동작:**
161
+ * - `skipVersionCheck`: 포맷 버전 호환성 검사 건너뜀
162
+ * - `skipStructuralValidation`: 구조적 검증 건너뜀 (validateSync)
163
+ * - `resetVersion`: 상태 버전 0으로 초기화 (기본: true)
164
+ * - `newSessionId`: 새 세션 ID 생성 (기본: true)
165
+ */
166
+ restore(snapshot: Snapshot, options?: RestoreSnapshotOptions): BlackboardState;
167
+ /**
168
+ * 부분 복원 (특정 섹션만)
169
+ * @param snapshot - 스냅샷
170
+ * @param currentState - 현재 상태
171
+ * @param sections - 복원할 섹션
172
+ * @returns 병합된 상태
173
+ */
174
+ partialRestore(snapshot: Snapshot, currentState: BlackboardState, sections: ('state' | 'knowledge' | 'decisions')[]): BlackboardState;
175
+ /**
176
+ * 스냅샷 → JSON 문자열
177
+ * @param snapshot - 스냅샷
178
+ * @param pretty - 예쁜 출력 여부
179
+ * @returns JSON 문자열
180
+ */
181
+ toJSON(snapshot: Snapshot, pretty?: boolean): string;
182
+ /**
183
+ * JSON 문자열 → 스냅샷
184
+ * @param json - JSON 문자열
185
+ * @returns 스냅샷
186
+ * @throws {Error} JSON 파싱 실패 시 명확한 에러 메시지
187
+ */
188
+ fromJSON(json: string): Snapshot;
189
+ /**
190
+ * 스냅샷 → Uint8Array (바이너리)
191
+ * @param snapshot - 스냅샷
192
+ * @returns Uint8Array
193
+ */
194
+ toUint8Array(snapshot: Snapshot): Uint8Array;
195
+ /**
196
+ * Uint8Array → 스냅샷
197
+ * @param bytes - 바이트 배열
198
+ * @returns 스냅샷
199
+ * @throws {Error} 디코딩 실패 시 명확한 에러 메시지
200
+ */
201
+ fromUint8Array(bytes: Uint8Array): Snapshot;
202
+ /**
203
+ * 스냅샷 비교
204
+ * @param a - 첫 번째 스냅샷
205
+ * @param b - 두 번째 스냅샷
206
+ * @returns 차이점 목록
207
+ */
208
+ compare(a: Snapshot, b: Snapshot): SnapshotDiff;
209
+ /**
210
+ * 섹션 차이점 생성
211
+ * @param data1 - 첫 번째 데이터
212
+ * @param data2 - 두 번째 데이터
213
+ * @returns 섹션 차이점
214
+ */
215
+ createSectionDiff(data1: SectionData, data2: SectionData): SectionDiff;
216
+ /**
217
+ * 상태 데이터 추출
218
+ * @param snapshot - 스냅샷
219
+ * @returns 상태 데이터
220
+ */
221
+ extractStateData(snapshot: Snapshot): SectionData;
222
+ /**
223
+ * 지식 데이터 추출
224
+ * @param snapshot - 스냅샷
225
+ * @returns 지식 데이터
226
+ */
227
+ extractKnowledgeData(snapshot: Snapshot): SectionData;
228
+ /**
229
+ * 의사결정 데이터 추출
230
+ * @param snapshot - 스냅샷
231
+ * @returns 의사결정 데이터
232
+ */
233
+ extractDecisionsData(snapshot: Snapshot): SectionData;
234
+ /**
235
+ * 스냅샷 메타데이터만 추출
236
+ */
237
+ extractMeta(snapshot: Snapshot): SnapshotMeta;
238
+ /**
239
+ * 스냅샷 크기 계산 (숫자)
240
+ * @param snapshot - 스냅샷
241
+ * @returns 바이트 크기
242
+ */
243
+ size(snapshot: Snapshot): number;
244
+ /**
245
+ * 스냅샷 크기 계산 (상세)
246
+ */
247
+ calculateSize(snapshot: Snapshot): {
248
+ total: number;
249
+ data: number;
250
+ meta: number;
251
+ compressed: boolean;
252
+ };
253
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @module snapshot/snapshot-restorer
3
+ * @description 스냅샷 복원 담당
4
+ */
5
+ import type { BlackboardState } from '../types';
6
+ import type { Snapshot, RestoreSnapshotOptions } from './types';
7
+ /**
8
+ * 스냅샷 복원 에러
9
+ */
10
+ export declare class SnapshotRestoreError extends Error {
11
+ readonly code: string;
12
+ readonly details?: unknown | undefined;
13
+ constructor(message: string, code: string, details?: unknown | undefined);
14
+ }
15
+ /**
16
+ * 스냅샷 복원자 설정
17
+ */
18
+ export interface SnapshotRestorerOptions {
19
+ /** ID 생성 함수 */
20
+ idGenerator?: () => string;
21
+ }
22
+ /**
23
+ * 스냅샷 복원자
24
+ * @description 스냅샷 복원 전담 클래스
25
+ */
26
+ export declare class SnapshotRestorer {
27
+ private serializer;
28
+ private validator;
29
+ private idGenerator;
30
+ constructor(options?: SnapshotRestorerOptions);
31
+ /**
32
+ * 스냅샷에서 상태 복원
33
+ * @param snapshot - 스냅샷
34
+ * @param options - 복원 옵션
35
+ * @returns 복원된 상태
36
+ * @throws {SnapshotRestoreError} 복원 실패 시
37
+ * @description
38
+ * **옵션 동작:**
39
+ * - `skipVersionCheck`: 포맷 버전 호환성 검사 건너뜀
40
+ * - `skipStructuralValidation`: 구조적 검증 건너뜀 (validateSync)
41
+ * - 참고: 체크섬 검증은 validate()에서 수행됨
42
+ * - `resetVersion`: 상태 버전 0으로 초기화 (기본: true)
43
+ * - `newSessionId`: 새 세션 ID 생성 (기본: true)
44
+ */
45
+ restore(snapshot: Snapshot, options?: RestoreSnapshotOptions): BlackboardState;
46
+ /**
47
+ * 부분 복원 (특정 섹션만)
48
+ * @param snapshot - 스냅샷
49
+ * @param currentState - 현재 상태
50
+ * @param sections - 복원할 섹션
51
+ * @returns 병합된 상태
52
+ */
53
+ partialRestore(snapshot: Snapshot, currentState: BlackboardState, sections: ('state' | 'knowledge' | 'decisions')[]): BlackboardState;
54
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @module snapshot/snapshot-serializer
3
+ * @description 스냅샷 직렬화 담당
4
+ */
5
+ import type { Snapshot } from './types';
6
+ /**
7
+ * 스냅샷 직렬화 옵션
8
+ */
9
+ export interface SnapshotSerializeOptions {
10
+ /** 예쁜 출력 여부 */
11
+ pretty?: boolean;
12
+ }
13
+ /**
14
+ * 스냅샷 직렬화자
15
+ * @description 스냅샷 직렬화/역직렬화 전담 클래스
16
+ */
17
+ export declare class SnapshotSerializer {
18
+ /**
19
+ * 스냅샷 → JSON 문자열
20
+ * @param snapshot - 스냅샷
21
+ * @param pretty - 예쁜 출력 여부
22
+ * @returns JSON 문자열
23
+ */
24
+ toJSON(snapshot: Snapshot, pretty?: boolean): string;
25
+ /**
26
+ * JSON 문자열 → 스냅샷
27
+ * @param json - JSON 문자열
28
+ * @returns 스냅샷
29
+ * @throws {Error} JSON 파싱 실패 시 명확한 에러 메시지
30
+ */
31
+ fromJSON(json: string): Snapshot;
32
+ /**
33
+ * 스냅샷 → Uint8Array (바이너리)
34
+ * @param snapshot - 스냅샷
35
+ * @returns Uint8Array
36
+ */
37
+ toUint8Array(snapshot: Snapshot): Uint8Array;
38
+ /**
39
+ * Uint8Array → 스냅샷
40
+ * @param bytes - 바이트 배열
41
+ * @returns 스냅샷
42
+ * @throws {Error} 디코딩 실패 시 명확한 에러 메시지
43
+ */
44
+ fromUint8Array(bytes: Uint8Array): Snapshot;
45
+ }