groundswell 0.0.3 → 1.0.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 (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +20 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -1
  5. package/dist/cache/cache-key.js +9 -0
  6. package/dist/cache/cache-key.js.map +1 -1
  7. package/dist/core/agent.d.ts +120 -29
  8. package/dist/core/agent.d.ts.map +1 -1
  9. package/dist/core/agent.js +584 -177
  10. package/dist/core/agent.js.map +1 -1
  11. package/dist/core/mcp-handler.d.ts +63 -5
  12. package/dist/core/mcp-handler.d.ts.map +1 -1
  13. package/dist/core/mcp-handler.js +184 -4
  14. package/dist/core/mcp-handler.js.map +1 -1
  15. package/dist/core/workflow-context.d.ts +6 -2
  16. package/dist/core/workflow-context.d.ts.map +1 -1
  17. package/dist/core/workflow-context.js +99 -4
  18. package/dist/core/workflow-context.js.map +1 -1
  19. package/dist/core/workflow.d.ts +315 -13
  20. package/dist/core/workflow.d.ts.map +1 -1
  21. package/dist/core/workflow.js +552 -30
  22. package/dist/core/workflow.js.map +1 -1
  23. package/dist/debugger/event-replayer.d.ts +422 -0
  24. package/dist/debugger/event-replayer.d.ts.map +1 -0
  25. package/dist/debugger/event-replayer.js +639 -0
  26. package/dist/debugger/event-replayer.js.map +1 -0
  27. package/dist/debugger/tree-debugger.d.ts +170 -1
  28. package/dist/debugger/tree-debugger.d.ts.map +1 -1
  29. package/dist/debugger/tree-debugger.js +423 -1
  30. package/dist/debugger/tree-debugger.js.map +1 -1
  31. package/dist/decorators/step.d.ts.map +1 -1
  32. package/dist/decorators/step.js +129 -47
  33. package/dist/decorators/step.js.map +1 -1
  34. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  35. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  36. package/dist/harnesses/claude-code-harness.js +1076 -0
  37. package/dist/harnesses/claude-code-harness.js.map +1 -0
  38. package/dist/harnesses/harness-registry.d.ts +440 -0
  39. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  40. package/dist/harnesses/harness-registry.js +543 -0
  41. package/dist/harnesses/harness-registry.js.map +1 -0
  42. package/dist/harnesses/index.d.ts +12 -0
  43. package/dist/harnesses/index.d.ts.map +1 -0
  44. package/dist/harnesses/index.js +11 -0
  45. package/dist/harnesses/index.js.map +1 -0
  46. package/dist/harnesses/pi-harness.d.ts +219 -0
  47. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  48. package/dist/harnesses/pi-harness.js +676 -0
  49. package/dist/harnesses/pi-harness.js.map +1 -0
  50. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  51. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  52. package/dist/harnesses/pi-schema-converter.js +81 -0
  53. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  54. package/dist/harnesses/register-defaults.d.ts +24 -0
  55. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  56. package/dist/harnesses/register-defaults.js +40 -0
  57. package/dist/harnesses/register-defaults.js.map +1 -0
  58. package/dist/harnesses/session-store.d.ts +201 -0
  59. package/dist/harnesses/session-store.d.ts.map +1 -0
  60. package/dist/harnesses/session-store.js +254 -0
  61. package/dist/harnesses/session-store.js.map +1 -0
  62. package/dist/index.d.ts +12 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +17 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/reflection/reflection.d.ts.map +1 -1
  67. package/dist/reflection/reflection.js +19 -4
  68. package/dist/reflection/reflection.js.map +1 -1
  69. package/dist/types/agent.d.ts +1253 -2
  70. package/dist/types/agent.d.ts.map +1 -1
  71. package/dist/types/agent.js +418 -1
  72. package/dist/types/agent.js.map +1 -1
  73. package/dist/types/decorators.d.ts +10 -1
  74. package/dist/types/decorators.d.ts.map +1 -1
  75. package/dist/types/events.d.ts +26 -0
  76. package/dist/types/events.d.ts.map +1 -1
  77. package/dist/types/harnesses.d.ts +474 -0
  78. package/dist/types/harnesses.d.ts.map +1 -0
  79. package/dist/types/harnesses.js +2 -0
  80. package/dist/types/harnesses.js.map +1 -0
  81. package/dist/types/index.d.ts +9 -1
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/dist/types/index.js +6 -0
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/providers.d.ts +691 -0
  86. package/dist/types/providers.d.ts.map +1 -0
  87. package/dist/types/providers.js +14 -0
  88. package/dist/types/providers.js.map +1 -0
  89. package/dist/types/restart.d.ts +132 -0
  90. package/dist/types/restart.d.ts.map +1 -0
  91. package/dist/types/restart.js +2 -0
  92. package/dist/types/restart.js.map +1 -0
  93. package/dist/types/streaming.d.ts +194 -0
  94. package/dist/types/streaming.d.ts.map +1 -0
  95. package/dist/types/streaming.js +67 -0
  96. package/dist/types/streaming.js.map +1 -0
  97. package/dist/types/workflow-context.d.ts +137 -1
  98. package/dist/types/workflow-context.d.ts.map +1 -1
  99. package/dist/utils/agent-validation.d.ts +88 -0
  100. package/dist/utils/agent-validation.d.ts.map +1 -0
  101. package/dist/utils/agent-validation.js +87 -0
  102. package/dist/utils/agent-validation.js.map +1 -0
  103. package/dist/utils/delay.d.ts +7 -0
  104. package/dist/utils/delay.d.ts.map +1 -0
  105. package/dist/utils/delay.js +9 -0
  106. package/dist/utils/delay.js.map +1 -0
  107. package/dist/utils/harness-config.d.ts +180 -0
  108. package/dist/utils/harness-config.d.ts.map +1 -0
  109. package/dist/utils/harness-config.js +311 -0
  110. package/dist/utils/harness-config.js.map +1 -0
  111. package/dist/utils/index.d.ts +9 -1
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +8 -1
  114. package/dist/utils/index.js.map +1 -1
  115. package/dist/utils/model-spec.d.ts +110 -0
  116. package/dist/utils/model-spec.d.ts.map +1 -0
  117. package/dist/utils/model-spec.js +149 -0
  118. package/dist/utils/model-spec.js.map +1 -0
  119. package/dist/utils/provider-config.d.ts +10 -0
  120. package/dist/utils/provider-config.d.ts.map +1 -0
  121. package/dist/utils/provider-config.js +10 -0
  122. package/dist/utils/provider-config.js.map +1 -0
  123. package/dist/utils/restart-analysis.d.ts +202 -0
  124. package/dist/utils/restart-analysis.d.ts.map +1 -0
  125. package/dist/utils/restart-analysis.js +426 -0
  126. package/dist/utils/restart-analysis.js.map +1 -0
  127. package/dist/utils/session-serialization.d.ts +118 -0
  128. package/dist/utils/session-serialization.d.ts.map +1 -0
  129. package/dist/utils/session-serialization.js +217 -0
  130. package/dist/utils/session-serialization.js.map +1 -0
  131. package/package.json +31 -5
  132. package/CHANGELOG.md +0 -188
  133. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +0 -16
  134. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +0 -1
  135. package/dist/__tests__/adversarial/attachChild-performance.test.js +0 -187
  136. package/dist/__tests__/adversarial/attachChild-performance.test.js.map +0 -1
  137. package/dist/__tests__/adversarial/circular-reference.test.d.ts +0 -13
  138. package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +0 -1
  139. package/dist/__tests__/adversarial/circular-reference.test.js +0 -92
  140. package/dist/__tests__/adversarial/circular-reference.test.js.map +0 -1
  141. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +0 -16
  142. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +0 -1
  143. package/dist/__tests__/adversarial/complex-circular-reference.test.js +0 -127
  144. package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +0 -1
  145. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +0 -21
  146. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +0 -1
  147. package/dist/__tests__/adversarial/concurrent-task-failures.test.js +0 -667
  148. package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +0 -1
  149. package/dist/__tests__/adversarial/deep-analysis.test.d.ts +0 -6
  150. package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +0 -1
  151. package/dist/__tests__/adversarial/deep-analysis.test.js +0 -877
  152. package/dist/__tests__/adversarial/deep-analysis.test.js.map +0 -1
  153. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +0 -13
  154. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +0 -1
  155. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +0 -186
  156. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +0 -1
  157. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +0 -6
  158. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +0 -1
  159. package/dist/__tests__/adversarial/e2e-prd-validation.test.js +0 -626
  160. package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +0 -1
  161. package/dist/__tests__/adversarial/edge-case.test.d.ts +0 -6
  162. package/dist/__tests__/adversarial/edge-case.test.d.ts.map +0 -1
  163. package/dist/__tests__/adversarial/edge-case.test.js +0 -857
  164. package/dist/__tests__/adversarial/edge-case.test.js.map +0 -1
  165. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +0 -20
  166. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +0 -1
  167. package/dist/__tests__/adversarial/error-merge-strategy.test.js +0 -907
  168. package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +0 -1
  169. package/dist/__tests__/adversarial/incremental-performance.test.d.ts +0 -2
  170. package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +0 -1
  171. package/dist/__tests__/adversarial/incremental-performance.test.js +0 -113
  172. package/dist/__tests__/adversarial/incremental-performance.test.js.map +0 -1
  173. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +0 -22
  174. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +0 -1
  175. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +0 -383
  176. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +0 -1
  177. package/dist/__tests__/adversarial/observer-propagation.test.d.ts +0 -21
  178. package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +0 -1
  179. package/dist/__tests__/adversarial/observer-propagation.test.js +0 -404
  180. package/dist/__tests__/adversarial/observer-propagation.test.js.map +0 -1
  181. package/dist/__tests__/adversarial/parent-validation.test.d.ts +0 -13
  182. package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +0 -1
  183. package/dist/__tests__/adversarial/parent-validation.test.js +0 -128
  184. package/dist/__tests__/adversarial/parent-validation.test.js.map +0 -1
  185. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +0 -20
  186. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +0 -1
  187. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +0 -482
  188. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +0 -1
  189. package/dist/__tests__/adversarial/prd-compliance.test.d.ts +0 -6
  190. package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +0 -1
  191. package/dist/__tests__/adversarial/prd-compliance.test.js +0 -886
  192. package/dist/__tests__/adversarial/prd-compliance.test.js.map +0 -1
  193. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +0 -22
  194. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +0 -1
  195. package/dist/__tests__/compatibility/backward-compatibility.test.js +0 -1843
  196. package/dist/__tests__/compatibility/backward-compatibility.test.js.map +0 -1
  197. package/dist/__tests__/helpers/index.d.ts +0 -10
  198. package/dist/__tests__/helpers/index.d.ts.map +0 -1
  199. package/dist/__tests__/helpers/index.js +0 -10
  200. package/dist/__tests__/helpers/index.js.map +0 -1
  201. package/dist/__tests__/helpers/tree-verification.d.ts +0 -90
  202. package/dist/__tests__/helpers/tree-verification.d.ts.map +0 -1
  203. package/dist/__tests__/helpers/tree-verification.js +0 -202
  204. package/dist/__tests__/helpers/tree-verification.js.map +0 -1
  205. package/dist/__tests__/integration/agent-workflow.test.d.ts +0 -2
  206. package/dist/__tests__/integration/agent-workflow.test.d.ts.map +0 -1
  207. package/dist/__tests__/integration/agent-workflow.test.js +0 -256
  208. package/dist/__tests__/integration/agent-workflow.test.js.map +0 -1
  209. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +0 -14
  210. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +0 -1
  211. package/dist/__tests__/integration/bidirectional-consistency.test.js +0 -668
  212. package/dist/__tests__/integration/bidirectional-consistency.test.js.map +0 -1
  213. package/dist/__tests__/integration/observer-logging.test.d.ts +0 -2
  214. package/dist/__tests__/integration/observer-logging.test.d.ts.map +0 -1
  215. package/dist/__tests__/integration/observer-logging.test.js +0 -517
  216. package/dist/__tests__/integration/observer-logging.test.js.map +0 -1
  217. package/dist/__tests__/integration/tree-mirroring.test.d.ts +0 -2
  218. package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +0 -1
  219. package/dist/__tests__/integration/tree-mirroring.test.js +0 -117
  220. package/dist/__tests__/integration/tree-mirroring.test.js.map +0 -1
  221. package/dist/__tests__/integration/workflow-reparenting.test.d.ts +0 -12
  222. package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +0 -1
  223. package/dist/__tests__/integration/workflow-reparenting.test.js +0 -239
  224. package/dist/__tests__/integration/workflow-reparenting.test.js.map +0 -1
  225. package/dist/__tests__/unit/agent.test.d.ts +0 -2
  226. package/dist/__tests__/unit/agent.test.d.ts.map +0 -1
  227. package/dist/__tests__/unit/agent.test.js +0 -143
  228. package/dist/__tests__/unit/agent.test.js.map +0 -1
  229. package/dist/__tests__/unit/cache-key.test.d.ts +0 -5
  230. package/dist/__tests__/unit/cache-key.test.d.ts.map +0 -1
  231. package/dist/__tests__/unit/cache-key.test.js +0 -145
  232. package/dist/__tests__/unit/cache-key.test.js.map +0 -1
  233. package/dist/__tests__/unit/cache.test.d.ts +0 -5
  234. package/dist/__tests__/unit/cache.test.d.ts.map +0 -1
  235. package/dist/__tests__/unit/cache.test.js +0 -132
  236. package/dist/__tests__/unit/cache.test.js.map +0 -1
  237. package/dist/__tests__/unit/context.test.d.ts +0 -2
  238. package/dist/__tests__/unit/context.test.d.ts.map +0 -1
  239. package/dist/__tests__/unit/context.test.js +0 -220
  240. package/dist/__tests__/unit/context.test.js.map +0 -1
  241. package/dist/__tests__/unit/decorators.test.d.ts +0 -2
  242. package/dist/__tests__/unit/decorators.test.d.ts.map +0 -1
  243. package/dist/__tests__/unit/decorators.test.js +0 -162
  244. package/dist/__tests__/unit/decorators.test.js.map +0 -1
  245. package/dist/__tests__/unit/introspection-tools.test.d.ts +0 -5
  246. package/dist/__tests__/unit/introspection-tools.test.d.ts.map +0 -1
  247. package/dist/__tests__/unit/introspection-tools.test.js +0 -191
  248. package/dist/__tests__/unit/introspection-tools.test.js.map +0 -1
  249. package/dist/__tests__/unit/logger.test.d.ts +0 -2
  250. package/dist/__tests__/unit/logger.test.d.ts.map +0 -1
  251. package/dist/__tests__/unit/logger.test.js +0 -241
  252. package/dist/__tests__/unit/logger.test.js.map +0 -1
  253. package/dist/__tests__/unit/observable.test.d.ts +0 -2
  254. package/dist/__tests__/unit/observable.test.d.ts.map +0 -1
  255. package/dist/__tests__/unit/observable.test.js +0 -251
  256. package/dist/__tests__/unit/observable.test.js.map +0 -1
  257. package/dist/__tests__/unit/prompt.test.d.ts +0 -2
  258. package/dist/__tests__/unit/prompt.test.d.ts.map +0 -1
  259. package/dist/__tests__/unit/prompt.test.js +0 -113
  260. package/dist/__tests__/unit/prompt.test.js.map +0 -1
  261. package/dist/__tests__/unit/reflection.test.d.ts +0 -5
  262. package/dist/__tests__/unit/reflection.test.d.ts.map +0 -1
  263. package/dist/__tests__/unit/reflection.test.js +0 -160
  264. package/dist/__tests__/unit/reflection.test.js.map +0 -1
  265. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +0 -2
  266. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +0 -1
  267. package/dist/__tests__/unit/tree-debugger-incremental.test.js +0 -136
  268. package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +0 -1
  269. package/dist/__tests__/unit/tree-debugger.test.d.ts +0 -2
  270. package/dist/__tests__/unit/tree-debugger.test.d.ts.map +0 -1
  271. package/dist/__tests__/unit/tree-debugger.test.js +0 -69
  272. package/dist/__tests__/unit/tree-debugger.test.js.map +0 -1
  273. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +0 -2
  274. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +0 -1
  275. package/dist/__tests__/unit/utils/workflow-error-utils.test.js +0 -154
  276. package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +0 -1
  277. package/dist/__tests__/unit/workflow-detachChild.test.d.ts +0 -2
  278. package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +0 -1
  279. package/dist/__tests__/unit/workflow-detachChild.test.js +0 -76
  280. package/dist/__tests__/unit/workflow-detachChild.test.js.map +0 -1
  281. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +0 -2
  282. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +0 -1
  283. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +0 -122
  284. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +0 -1
  285. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +0 -2
  286. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +0 -1
  287. package/dist/__tests__/unit/workflow-isDescendantOf.test.js +0 -140
  288. package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +0 -1
  289. package/dist/__tests__/unit/workflow.test.d.ts +0 -2
  290. package/dist/__tests__/unit/workflow.test.d.ts.map +0 -1
  291. package/dist/__tests__/unit/workflow.test.js +0 -330
  292. package/dist/__tests__/unit/workflow.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-context.js","sourceRoot":"","sources":["../../src/core/workflow-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-context.js","sourceRoot":"","sources":["../../src/core/workflow-context.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,32 @@
1
- import type { WorkflowNode, WorkflowStatus, WorkflowEvent, WorkflowObserver } from '../types/index.js';
1
+ import type { WorkflowNode, WorkflowStatus, WorkflowEvent, WorkflowObserver, SerializedWorkflowState, WorkflowError } from '../types/index.js';
2
2
  import type { WorkflowContext, WorkflowConfig, WorkflowResult } from '../types/workflow-context.js';
3
+ import type { AgentResponse } from '../types/agent.js';
4
+ import { z } from 'zod';
3
5
  import { WorkflowLogger } from './logger.js';
4
6
  /**
5
7
  * Executor function type for functional workflows
6
8
  */
7
9
  export type WorkflowExecutor<T = unknown> = (ctx: WorkflowContext) => Promise<T>;
10
+ /**
11
+ * Options for restarting a step
12
+ */
13
+ export interface RestartStepOptions {
14
+ /** Current retry count (will be incremented by 1 for the attempt) */
15
+ retryCount?: number;
16
+ /** Maximum number of retries allowed (overrides step default) */
17
+ maxRetries?: number;
18
+ /** Override state to restore (defaults to current snapshot) */
19
+ stateOverride?: SerializedWorkflowState;
20
+ }
21
+ /**
22
+ * Options for replaying historical events
23
+ */
24
+ interface ReplayEventsOptions {
25
+ /** Only replay events after this timestamp (milliseconds since epoch) */
26
+ since?: number;
27
+ /** Maximum number of events to replay */
28
+ limit?: number;
29
+ }
8
30
  /**
9
31
  * Base class for all workflows
10
32
  * Supports both class-based (subclass with run()) and functional (executor) patterns
@@ -31,6 +53,7 @@ export type WorkflowExecutor<T = unknown> = (ctx: WorkflowContext) => Promise<T>
31
53
  * ```
32
54
  */
33
55
  export declare class Workflow<T = unknown> {
56
+ #private;
34
57
  /** Unique identifier for this workflow instance */
35
58
  readonly id: string;
36
59
  /** Parent workflow (null for root workflows) */
@@ -49,16 +72,23 @@ export declare class Workflow<T = unknown> {
49
72
  private executor?;
50
73
  /** Workflow configuration */
51
74
  private config;
75
+ /** Error collection state for workflow-level error merge */
76
+ private collectedErrors;
77
+ /** Total operations count for error merge context */
78
+ private totalOperations;
79
+ /** Operation counter for error merge context */
80
+ private operationCounter;
52
81
  /**
53
82
  * Create a new workflow instance
54
83
  *
55
- * @overload Class-based pattern
56
- * @param name Human-readable name (defaults to class name)
57
- * @param parent Optional parent workflow
84
+ * @overload Class-based pattern: constructor(name?: string, parent?: Workflow)
85
+ * @overload Functional pattern: constructor(config: WorkflowConfig, executor?: WorkflowExecutor)
86
+ * @param name For class-based pattern, human-readable name. Allowed characters: alphanumeric (a-z, A-Z, 0-9), spaces, hyphens (-), underscores (_). (default: class name).
87
+ * For functional pattern, config object with workflow settings.
88
+ * @param parentOrExecutor For class-based pattern, optional parent workflow.
89
+ * For functional pattern, executor function.
58
90
  *
59
- * @overload Functional pattern
60
- * @param config Workflow configuration
61
- * @param executor Executor function
91
+ * @remarks Security validation rejects names containing control characters, HTML tags, JavaScript patterns, path traversal sequences (..), and file system special characters (/ \ : * ? " < > |). This prevents XSS attacks, injection attacks, and path traversal vulnerabilities.
62
92
  */
63
93
  constructor(name?: string | WorkflowConfig, parentOrExecutor?: Workflow | WorkflowExecutor<T>);
64
94
  /**
@@ -67,6 +97,32 @@ export declare class Workflow<T = unknown> {
67
97
  * Uses cycle detection to prevent infinite loops from circular parent-child relationships
68
98
  */
69
99
  private getRootObservers;
100
+ /**
101
+ * Check if event history is enabled for this workflow
102
+ *
103
+ * @returns true if event history is enabled, false otherwise
104
+ */
105
+ private isEventHistoryEnabled;
106
+ /**
107
+ * Get event history configuration with defaults applied
108
+ *
109
+ * @returns Configuration object with all required fields populated
110
+ */
111
+ private getEventHistoryConfig;
112
+ /**
113
+ * Trim event history based on configuration
114
+ *
115
+ * Uses lazy trimming for performance:
116
+ * - Only trims when at least 1.5x over the maxEvents limit
117
+ * - Applies both count and age constraints
118
+ * - Uses slice() for efficiency (not shift())
119
+ *
120
+ * @remarks
121
+ * Lazy trimming reduces the number of trim operations by only trimming
122
+ * when the history is significantly over the limit (1.5x). This provides
123
+ * better performance for high-frequency event emission.
124
+ */
125
+ private trimEventHistory;
70
126
  /**
71
127
  * Check if this workflow is a descendant of the given ancestor workflow.
72
128
  *
@@ -75,12 +131,11 @@ export declare class Workflow<T = unknown> {
75
131
  * a convenient way to check workflow hierarchy relationships without manually
76
132
  * traversing the parent chain.
77
133
  *
78
- * @warning This method reveals workflow hierarchy information. If your
79
- * application exposes workflows via an API, ensure you implement proper
80
- * access control to prevent unauthorized topology discovery. Note that
81
- * the `parent` and `children` properties are already public, so this
82
- * method does not expose any new information beyond what is currently
83
- * accessible.
134
+ * @remarks SECURITY WARNING: This method reveals workflow hierarchy information.
135
+ * If your application exposes workflows via an API, ensure you implement proper
136
+ * access control to prevent unauthorized topology discovery. Note that the parent
137
+ * and children properties are already public, so this method does not expose any
138
+ * new information beyond what is currently accessible.
84
139
  *
85
140
  * **Time Complexity**: O(d) where d is the depth of the hierarchy
86
141
  * **Space Complexity**: O(d) for the visited Set in worst case (cycle detection)
@@ -125,6 +180,8 @@ export declare class Workflow<T = unknown> {
125
180
  /**
126
181
  * Add an observer to this workflow (must be root)
127
182
  * @throws Error if called on non-root workflow
183
+ * @side effects Adds observer to internal observers array for root workflows.
184
+ * Observers will receive notifications for workflow events.
128
185
  */
129
186
  addObserver(observer: WorkflowObserver): void;
130
187
  /**
@@ -145,6 +202,7 @@ export declare class Workflow<T = unknown> {
145
202
  * - Sets child.parent = this (workflow tree)
146
203
  * - Sets child.node.parent = this.node (node tree)
147
204
  * - Emits childAttached event to notify observers
205
+ * - Emits treeUpdated event to trigger tree debugger rebuild
148
206
  *
149
207
  * **Invariants Maintained:**
150
208
  * - Single-parent rule: A workflow can only have one parent
@@ -159,6 +217,8 @@ export declare class Workflow<T = unknown> {
159
217
  * @throws {Error} If the child is already attached to this workflow
160
218
  * @throws {Error} If the child already has a different parent (use detachChild() first for reparenting)
161
219
  * @throws {Error} If the child is an ancestor of this parent (would create circular reference)
220
+ * @side effects Modifies workflow tree structure, emits childAttached event,
221
+ * and triggers treeUpdated event for debugger.
162
222
  *
163
223
  * @example
164
224
  * ```ts
@@ -192,10 +252,14 @@ export declare class Workflow<T = unknown> {
192
252
  * the node tree (this.node.children), clears the child's parent reference,
193
253
  * and emits a childDetached event to notify observers.
194
254
  *
255
+ * Also emits treeUpdated event to trigger tree debugger rebuild.
256
+ *
195
257
  * This enables reparenting workflows: oldParent.detachChild(child); newParent.attachChild(child);
196
258
  *
197
259
  * @param child - The child workflow to detach
198
260
  * @throws {Error} If the child is not attached to this parent workflow
261
+ * @side effects Modifies workflow tree structure, emits childDetached event,
262
+ * and triggers treeUpdated event for debugger.
199
263
  *
200
264
  * @example
201
265
  * ```ts
@@ -210,12 +274,249 @@ export declare class Workflow<T = unknown> {
210
274
  detachChild(child: Workflow): void;
211
275
  /**
212
276
  * Emit an event to all root observers
277
+ * @side effects Pushes event to node.events array and notifies all registered observers.
278
+ * May trigger treeUpdated notifications for specific event types.
213
279
  */
214
280
  emitEvent(event: WorkflowEvent): void;
281
+ /**
282
+ * Replay historical events to an observer
283
+ *
284
+ * **Strategy:**
285
+ * 1. Start with event history array
286
+ * 2. Filter by timestamp if `since` is provided
287
+ * 3. Limit events if `limit` is provided
288
+ * 4. Call observer.onEvent() for each event
289
+ * 5. Handle observer errors gracefully
290
+ *
291
+ * **Performance:** O(n) where n = number of events in history
292
+ *
293
+ * **Timestamp Handling:**
294
+ * - Events with timestamps: stepRetry, stepRestarted, invalidResponse
295
+ * - Events without timestamps: Always included (considered timeless)
296
+ * - Filter applies only to events with timestamp field
297
+ *
298
+ * **Order of Operations:** Filter first, then limit (more efficient)
299
+ *
300
+ * **Use Case:**
301
+ * - Catch up new observers to current state
302
+ * - Debug by replaying events to diagnostic observers
303
+ * - Test scenarios by replaying historical events
304
+ *
305
+ * @param observer - The observer to replay events to
306
+ * @param options - Optional replay configuration
307
+ * @param options.since - Only replay events after this timestamp (ms since epoch)
308
+ * @param options.limit - Maximum number of events to replay
309
+ *
310
+ * @example Replay all events to new observer
311
+ * ```ts
312
+ * const observer = {
313
+ * onLog: () => {},
314
+ * onEvent: (e) => console.log(e.type),
315
+ * onStateUpdated: () => {},
316
+ * onTreeChanged: () => {},
317
+ * };
318
+ * workflow.replayEvents(observer);
319
+ * ```
320
+ *
321
+ * @example Replay last 10 events
322
+ * ```ts
323
+ * workflow.replayEvents(observer, { limit: 10 });
324
+ * ```
325
+ *
326
+ * @example Replay events from last 5 minutes
327
+ * ```ts
328
+ * const fiveMinutesAgo = Date.now() - 5 * 60 * 1000;
329
+ * workflow.replayEvents(observer, { since: fiveMinutesAgo });
330
+ * ```
331
+ */
332
+ replayEvents(observer: WorkflowObserver, options?: ReplayEventsOptions): void;
333
+ /**
334
+ * Clear the event history array
335
+ *
336
+ * **Strategy:**
337
+ * - Reassign #eventHistory to empty array
338
+ * - Frees memory by discarding all stored events
339
+ * - Events in node.events are preserved
340
+ *
341
+ * **Use Case:**
342
+ * - Free memory after workflow completes
343
+ * - Reset history between test runs
344
+ * - Prevent memory leaks in long-running workflows
345
+ *
346
+ * **Side Effects:**
347
+ * - Frees memory for discarded events
348
+ * - Future replayEvents() calls will return empty
349
+ * - Does NOT affect node.events array
350
+ *
351
+ * @example Clear history after workflow completes
352
+ * ```ts
353
+ * await workflow.run();
354
+ * workflow.clearEventHistory(); // Free memory
355
+ * ```
356
+ */
357
+ clearEventHistory(): void;
215
358
  /**
216
359
  * Capture and emit a state snapshot
360
+ * @side effects Updates node.stateSnapshot, notifies observers via onStateUpdated callback,
361
+ * emits snapshot event, and triggers treeUpdated event for debugger.
217
362
  */
218
363
  snapshotState(): void;
364
+ /**
365
+ * Restart a specific step with state restoration and retry tracking
366
+ *
367
+ * This method enables manual step restart from parent workflows. It validates
368
+ * the step exists, checks retry limits, optionally restores state, re-executes
369
+ * the step method, and emits a stepRestarted event for observability.
370
+ *
371
+ * @param stepName - The name of the step method to restart
372
+ * @param options - Optional configuration for the restart attempt
373
+ * @returns The result of the step execution
374
+ * @throws {WorkflowError} When step is not found or max retries exceeded
375
+ *
376
+ * @example Restart a step with default retry tracking
377
+ * ```ts
378
+ * class MyWorkflow extends Workflow {
379
+ * @Step({ restartable: true })
380
+ * async myStep() { return 'result'; }
381
+ *
382
+ * async run() {
383
+ * const result = await this.restartStep('myStep');
384
+ * }
385
+ * }
386
+ * ```
387
+ *
388
+ * @example Restart with explicit retry count and state override
389
+ * ```ts
390
+ * await this.restartStep('failingStep', {
391
+ * retryCount: 1,
392
+ * maxRetries: 3,
393
+ * stateOverride: { counter: 5 }
394
+ * });
395
+ * ```
396
+ */
397
+ restartStep(stepName: string, options?: RestartStepOptions): Promise<unknown>;
398
+ /**
399
+ * Analyze a WorkflowError from a child workflow and determine restart action
400
+ *
401
+ * This method enables parent workflows to make intelligent decisions about child
402
+ * workflow failures by analyzing the error and step metadata to determine whether
403
+ * to retry the child, abort the parent, or rebuild the execution plan.
404
+ *
405
+ * **Analysis Flow:**
406
+ * 1. Check `error.original?.recoverable` - if false, return 'abort'
407
+ * 2. Extract stepName from error metadata (if available)
408
+ * 3. Retrieve step metadata from stepMetadata map (if exists)
409
+ * 4. Check if step is marked as restartable - if not, return 'abort'
410
+ * 5. Use `analyzeErrorForRestart` utility to check retry criteria
411
+ * 6. Return 'retry' if any criteria match, otherwise 'abort'
412
+ *
413
+ * **Integration with restartStep:**
414
+ * This method is designed to be used alongside `restartStep()`:
415
+ * - Call `analyzeError()` to get the decision
416
+ * - If 'retry', call `restartStep(stepName)` to execute
417
+ * - If 'abort', throw the error or return early
418
+ * - If 'rebuild', trigger plan rebuild logic
419
+ *
420
+ * @param error - The WorkflowError to analyze (typically from child workflow)
421
+ * @returns The recommended action: 'retry', 'abort', or 'rebuild'
422
+ *
423
+ * @example Parent workflow error handling
424
+ * ```ts
425
+ * class ParentWorkflow extends Workflow {
426
+ * @Step({ restartable: true, retryOn: [{ code: 'TIMEOUT' }] })
427
+ * async childWorkflow(): Promise<void> {
428
+ * // Child logic that may fail
429
+ * }
430
+ *
431
+ * async run(): Promise<void> {
432
+ * try {
433
+ * await this.childWorkflow();
434
+ * } catch (err) {
435
+ * const error = err as WorkflowError;
436
+ * const action = this.analyzeError(error);
437
+ *
438
+ * if (action === 'retry') {
439
+ * await this.restartStep('childWorkflow');
440
+ * } else if (action === 'abort') {
441
+ * throw error;
442
+ * } else if (action === 'rebuild') {
443
+ * // Trigger plan rebuild logic
444
+ * }
445
+ * }
446
+ * }
447
+ * }
448
+ * ```
449
+ *
450
+ * @example Analyze error from child workflow event
451
+ * ```ts
452
+ * class ParentWorkflow extends Workflow {
453
+ * private lastError: WorkflowError | null = null;
454
+ *
455
+ * async run(): Promise<void> {
456
+ * // Subscribe to error events
457
+ * this.on('error', (event) => {
458
+ * this.lastError = event.error;
459
+ * });
460
+ *
461
+ * // Later, analyze the error
462
+ * if (this.lastError) {
463
+ * const action = this.analyzeError(this.lastError);
464
+ * // Take action based on decision
465
+ * }
466
+ * }
467
+ * }
468
+ * ```
469
+ *
470
+ * @remarks
471
+ * **Known Limitation:**
472
+ * The `stepMetadata` map is not yet populated by the `@Step` decorator.
473
+ * This method will return 'abort' if stepMetadata is not available or the step
474
+ * is not found. This will be improved in a future update to the decorator.
475
+ *
476
+ * **Error Metadata:**
477
+ * The stepName is extracted from `error.state?.stepName`. Ensure child
478
+ * workflows populate this field when creating WorkflowError instances.
479
+ *
480
+ * @see {@link restartStep} - For executing a retry after analysis
481
+ * @see {@link analyzeErrorForRestart} - For the underlying utility function
482
+ */
483
+ analyzeError(error: WorkflowError): 'retry' | 'abort' | 'rebuild';
484
+ /**
485
+ * Validate an agent response at the workflow level
486
+ *
487
+ * This method enables parent workflows to validate agent responses
488
+ * before processing them. It follows the same validation pattern as
489
+ * Agent.validateResponse() but emits events and creates WorkflowError
490
+ * for workflow-level error handling.
491
+ *
492
+ * @template T - The type of response data
493
+ * @param response - The AgentResponse to validate
494
+ * @param agentId - Identifier of the agent that produced the response
495
+ * @param dataSchema - Optional Zod schema for response data (defaults to z.unknown())
496
+ * @returns true if validation passes, false if validation fails
497
+ *
498
+ * @example Validate response from child workflow
499
+ * ```ts
500
+ * class ParentWorkflow extends Workflow {
501
+ * @Step()
502
+ * async processChildResult() {
503
+ * const response = await this.childWorkflow.run();
504
+ *
505
+ * if (!this.validateAgentResponse(response, this.childWorkflow.agent.id)) {
506
+ * // Handle validation failure
507
+ * const action = this.analyzeError(this.lastError);
508
+ * if (action === 'retry') {
509
+ * return await this.restartStep('processChildResult');
510
+ * }
511
+ * }
512
+ *
513
+ * // Process valid response
514
+ * return response.data;
515
+ * }
516
+ * }
517
+ * ```
518
+ */
519
+ validateAgentResponse<T>(response: AgentResponse<T>, agentId: string, dataSchema?: z.ZodTypeAny): boolean;
219
520
  /**
220
521
  * Update workflow status and sync with node
221
522
  */
@@ -238,4 +539,5 @@ export declare class Workflow<T = unknown> {
238
539
  */
239
540
  private runFunctional;
240
541
  }
542
+ export {};
241
543
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEpG,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC/B,mDAAmD;IACnD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B,gDAAgD;IACzC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEtC,sBAAsB;IACf,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAEjC,+BAA+B;IACxB,MAAM,EAAE,cAAc,CAAU;IAEvC,wCAAwC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAE1C,+CAA+C;IAC/C,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA0B;IAE3C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,CAAsB;IAEvC,6BAA6B;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;;;;;;;;OAUG;gBACS,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,gBAAgB,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC;IA+C7F;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAoBlD;;;OAGG;IACH,SAAS,CAAC,OAAO,IAAI,QAAQ;IAiB7B;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOpD;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCzC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IA+BzC;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAkB5C;;OAEG;IACI,aAAa,IAAI,IAAI;IAwB5B;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAM9C;;OAEG;IACI,OAAO,IAAI,YAAY;IAI9B;;;;;;;OAOG;IACU,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAWrE;;OAEG;YACW,aAAa;CA4C5B"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAEhB,uBAAuB,EACvB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,8BAA8B,CAAC;AACxH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAgBD;;GAEG;AACH,UAAU,mBAAmB;IAC3B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;;IAC/B,mDAAmD;IACnD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B,gDAAgD;IACzC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEtC,sBAAsB;IACf,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAEjC,+BAA+B;IACxB,MAAM,EAAE,cAAc,CAAU;IAEvC,wCAAwC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAE1C,+CAA+C;IAC/C,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA0B;IAE3C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,CAAsB;IAEvC,6BAA6B;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAE/B,4DAA4D;IAC5D,OAAO,CAAC,eAAe,CAAuB;IAK9C,qDAAqD;IACrD,OAAO,CAAC,eAAe,CAAa;IAEpC,gDAAgD;IAChD,OAAO,CAAC,gBAAgB,CAAa;IAErC;;;;;;;;;;;OAWG;gBACS,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,gBAAgB,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAgF7F;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAoBlD;;;OAGG;IACH,SAAS,CAAC,OAAO,IAAI,QAAQ;IAiB7B;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOpD;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCzC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IA+BzC;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAwB5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACI,YAAY,CACjB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAkCP;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;;;OAIG;IACI,aAAa,IAAI,IAAI;IAwB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2D1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoFG;IACI,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS;IAyCxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACI,qBAAqB,CAAC,CAAC,EAC5B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,CAAC,CAAC,UAAwB,GACrC,OAAO;IAuCV;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAM9C;;OAEG;IACI,OAAO,IAAI,YAAY;IAI9B;;;;;;;OAOG;IACU,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAWrE;;OAEG;YACW,aAAa;CAqF5B"}