@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,170 @@
1
+ /**
2
+ * @module snapshot/compression
3
+ * @description 압축 유틸리티 (브라우저/Node.js 호환)
4
+ */
5
+ /**
6
+ * 압축 알고리즘
7
+ * @note brotli는 pako에서 지원하지 않음
8
+ */
9
+ export type CompressionAlgorithm = 'gzip' | 'none';
10
+ /**
11
+ * 압축 레벨 (테스트 호환 타입)
12
+ */
13
+ export type CompressionLevel = 'none' | 'fast' | 'balanced' | 'max';
14
+ /**
15
+ * 내부 pako 압축 레벨 숫자 타입
16
+ */
17
+ type PakoCompressionLevel = -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
18
+ /**
19
+ * 압축 옵션
20
+ */
21
+ export interface CompressionOptions {
22
+ /** 알고리즘 (기본: 'gzip') */
23
+ algorithm?: CompressionAlgorithm;
24
+ /** 압축 레벨 (기본: 'balanced') */
25
+ level?: CompressionLevel | PakoCompressionLevel;
26
+ /** 출력 형식 (기본: 'base64') */
27
+ outputFormat?: 'base64' | 'buffer' | 'uint8array';
28
+ /** 메타데이터 포함 여부 */
29
+ includeMetadata?: boolean;
30
+ }
31
+ /**
32
+ * 압축 해제 옵션
33
+ */
34
+ export interface DecompressionOptions {
35
+ /** 압축 알고리즘 */
36
+ algorithm?: CompressionAlgorithm;
37
+ /** 입력 형식 (기본: 'base64') */
38
+ inputFormat?: 'base64' | 'buffer' | 'uint8array';
39
+ /** 유효성 검사 건너뛰기 (algorithm='none'인 경우 자동 true) */
40
+ skipValidation?: boolean;
41
+ }
42
+ /**
43
+ * 압축 메타데이터
44
+ */
45
+ export interface CompressionMetadata {
46
+ /** 원본 크기 */
47
+ originalSize: number;
48
+ /** 압축된 크기 */
49
+ compressedSize: number;
50
+ /** 사용된 알고리즘 */
51
+ algorithm: CompressionAlgorithm;
52
+ /** 사용된 압축 레벨 */
53
+ level: CompressionLevel | PakoCompressionLevel;
54
+ /** 타임스탬프 */
55
+ timestamp: string;
56
+ }
57
+ /**
58
+ * 메타데이터가 포함된 압축 결과
59
+ */
60
+ export interface CompressedWithMeta {
61
+ /** 압축된 데이터 */
62
+ data: string;
63
+ /** 메타데이터 */
64
+ metadata: CompressionMetadata;
65
+ }
66
+ /**
67
+ * 압축 통계
68
+ */
69
+ export interface CompressionStats {
70
+ /** 원본 크기 */
71
+ originalSize: number;
72
+ /** 압축된 크기 */
73
+ compressedSize: number;
74
+ /** 압축 비율 (originalSize / compressedSize) */
75
+ ratio: number;
76
+ /** 절감된 크기 (bytes) */
77
+ savings: number;
78
+ /** 절감 비율 (%) */
79
+ savingsPercent: number;
80
+ }
81
+ /**
82
+ * 데이터 압축
83
+ * @param data - 압축할 데이터 (string | Uint8Array | Buffer)
84
+ * @param options - 압축 옵션
85
+ * @returns 압축된 데이터 (string | Uint8Array | Buffer)
86
+ */
87
+ export declare function compress(data: string | Uint8Array | Buffer, options?: CompressionOptions): string | Uint8Array | Buffer;
88
+ /**
89
+ * 데이터 압축 해제
90
+ * @param compressed - 압축된 데이터
91
+ * @param options - 압축 해제 옵션
92
+ * @returns 원본 데이터
93
+ * @throws {Error} 데이터 크기 제한 초과 시
94
+ */
95
+ export declare function decompress(compressed: string | Uint8Array | Buffer, options?: DecompressionOptions): string | Uint8Array | Buffer;
96
+ /**
97
+ * 압축 여부 감지
98
+ * @param data - 검사할 데이터
99
+ * @returns 압축 알고리즘 또는 null
100
+ */
101
+ export declare function detectCompression(data: string): CompressionAlgorithm | null;
102
+ /**
103
+ * 체크섬 계산 (비동기)
104
+ */
105
+ export declare function calculateChecksumAsync(data: string): Promise<string>;
106
+ /**
107
+ * 체크섬 검증
108
+ */
109
+ export declare function verifyChecksum(data: string, expectedChecksum: string): Promise<boolean>;
110
+ /**
111
+ * Compressor 클래스 - 상태 저장형 압축
112
+ */
113
+ export declare class Compressor {
114
+ private options;
115
+ private history;
116
+ constructor(options?: CompressionOptions);
117
+ /**
118
+ * 데이터 압축
119
+ */
120
+ compress(data: string | Uint8Array | Buffer): Uint8Array;
121
+ /**
122
+ * 데이터 압축 해제
123
+ */
124
+ decompress(data: Uint8Array): string;
125
+ /**
126
+ * 비동기 압축
127
+ */
128
+ compressAsync(data: string | Uint8Array | Buffer): Promise<Uint8Array>;
129
+ /**
130
+ * 비동기 압축 해제
131
+ */
132
+ decompressAsync(data: Uint8Array): Promise<string>;
133
+ /**
134
+ * 압축 비율 계산
135
+ */
136
+ ratio(originalSize: number, compressedSize: number): number;
137
+ /**
138
+ * 압축 통계 계산
139
+ */
140
+ stats(originalSize: number, compressedSize: number): CompressionStats;
141
+ /**
142
+ * 내부 통계 계산
143
+ */
144
+ private calculateStatsInternal;
145
+ /**
146
+ * 메타데이터 포함 압축
147
+ */
148
+ compressWithMeta(data: string | Uint8Array | Buffer): CompressedWithMeta;
149
+ /**
150
+ * 메타데이터 포함 압축 해제
151
+ */
152
+ decompressWithMeta(compressed: CompressedWithMeta | string): string;
153
+ /**
154
+ * 기록된 압축 통계 가져오기
155
+ */
156
+ getHistory(): CompressionStats[];
157
+ /**
158
+ * 기록된 통계 지우기
159
+ */
160
+ clearHistory(): void;
161
+ /**
162
+ * 옵션 업데이트
163
+ */
164
+ setOptions(options: Partial<CompressionOptions>): void;
165
+ /**
166
+ * 현재 옵션 가져오기
167
+ */
168
+ getOptions(): CompressionOptions;
169
+ }
170
+ export {};
@@ -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
+ }