@decaf-ts/integrations 0.3.8 → 0.3.9

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 (413) hide show
  1. package/dist/integrations.cjs +3 -3
  2. package/dist/integrations.js +3 -3
  3. package/lib/cjs/graph/engine/constants.cjs +58 -0
  4. package/lib/cjs/graph/engine/decorators.cjs +4 -0
  5. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
  6. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
  7. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
  8. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
  9. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
  10. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
  11. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
  12. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
  13. package/lib/cjs/graph/{errors → engine/errors}/index.cjs +2 -2
  14. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
  15. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
  16. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
  17. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
  18. package/lib/cjs/graph/{events → engine/events}/index.cjs +2 -2
  19. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
  20. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
  21. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +408 -0
  22. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
  23. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
  24. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
  25. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
  26. package/lib/cjs/graph/{execution → engine/execution}/index.cjs +2 -2
  27. package/lib/cjs/graph/engine/index.cjs +84 -0
  28. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
  29. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
  30. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
  31. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
  32. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
  33. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
  34. package/lib/cjs/graph/{loops → engine/loops}/index.cjs +2 -2
  35. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
  36. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
  37. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
  38. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
  39. package/lib/cjs/graph/{pinning → engine/pinning}/index.cjs +2 -2
  40. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
  41. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
  42. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
  43. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
  44. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
  45. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
  46. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
  47. package/lib/cjs/graph/{planning → engine/planning}/index.cjs +2 -2
  48. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
  49. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
  50. package/lib/cjs/graph/{registry → engine/registry}/index.cjs +2 -2
  51. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
  52. package/lib/cjs/graph/{snapshots → engine/snapshots}/index.cjs +2 -2
  53. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
  54. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
  55. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
  56. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
  57. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
  58. package/lib/cjs/graph/{store → engine/store}/index.cjs +2 -2
  59. package/lib/cjs/graph/engine/types.cjs +4 -0
  60. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
  61. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
  62. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
  63. package/lib/cjs/graph/{validation → engine/validation}/index.cjs +2 -2
  64. package/lib/cjs/graph/index.cjs +10 -60
  65. package/lib/cjs/graph/shared/constants.cjs +44 -0
  66. package/lib/cjs/graph/shared/index.cjs +38 -0
  67. package/lib/cjs/graph/{nodes → shared/nodes}/agent.cjs +2 -2
  68. package/lib/cjs/graph/shared/nodes/base.cjs +35 -0
  69. package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
  70. package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
  71. package/lib/cjs/graph/{nodes → shared/nodes}/index.cjs +2 -2
  72. package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
  73. package/lib/cjs/graph/shared/types.cjs +4 -0
  74. package/lib/cjs/index.cjs +3 -3
  75. package/lib/esm/graph/engine/constants.js +62 -0
  76. package/lib/esm/graph/engine/decorators.js +2 -0
  77. package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
  78. package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
  79. package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
  80. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
  81. package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
  82. package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
  83. package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
  84. package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
  85. package/lib/esm/graph/engine/errors/index.js +14 -0
  86. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
  87. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
  88. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
  89. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
  90. package/lib/esm/graph/engine/events/index.js +10 -0
  91. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
  92. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
  93. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +403 -0
  94. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
  95. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
  96. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
  97. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
  98. package/lib/esm/graph/engine/execution/index.js +13 -0
  99. package/lib/esm/graph/engine/index.js +67 -0
  100. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
  101. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
  102. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
  103. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
  104. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
  105. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
  106. package/lib/esm/graph/engine/loops/index.js +12 -0
  107. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
  108. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
  109. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
  110. package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
  111. package/lib/esm/graph/engine/pinning/index.js +10 -0
  112. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
  113. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
  114. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
  115. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
  116. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
  117. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
  118. package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
  119. package/lib/esm/graph/engine/planning/index.js +13 -0
  120. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
  121. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
  122. package/lib/esm/graph/engine/registry/index.js +8 -0
  123. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  124. package/lib/esm/graph/engine/snapshots/index.js +7 -0
  125. package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
  126. package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
  127. package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
  128. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
  129. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
  130. package/lib/esm/graph/engine/store/index.js +11 -0
  131. package/lib/esm/graph/engine/types.js +2 -0
  132. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
  133. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
  134. package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
  135. package/lib/esm/graph/engine/validation/index.js +9 -0
  136. package/lib/esm/graph/index.js +9 -59
  137. package/lib/esm/graph/shared/constants.js +56 -0
  138. package/lib/esm/graph/shared/index.js +19 -0
  139. package/lib/esm/graph/shared/nodes/agent.js +101 -0
  140. package/lib/esm/graph/shared/nodes/base.js +30 -0
  141. package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
  142. package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
  143. package/lib/esm/graph/shared/nodes/index.js +18 -0
  144. package/lib/esm/graph/shared/nodes/triggers.js +241 -0
  145. package/lib/esm/graph/shared/types.js +2 -0
  146. package/lib/esm/index.js +3 -3
  147. package/lib/types/graph/engine/constants.d.cts +59 -0
  148. package/lib/types/graph/engine/constants.d.mts +59 -0
  149. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
  150. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
  151. package/lib/types/graph/engine/index.d.cts +61 -0
  152. package/lib/types/graph/engine/index.d.mts +61 -0
  153. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
  154. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
  155. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
  156. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
  157. package/lib/types/graph/{types.d.cts → engine/types.d.cts} +8 -116
  158. package/lib/types/graph/{types.d.mts → engine/types.d.mts} +8 -116
  159. package/lib/types/graph/index.d.cts +8 -53
  160. package/lib/types/graph/index.d.mts +8 -53
  161. package/lib/types/graph/shared/constants.d.cts +53 -0
  162. package/lib/types/graph/shared/constants.d.mts +53 -0
  163. package/lib/types/graph/shared/index.d.cts +18 -0
  164. package/lib/types/graph/shared/index.d.mts +18 -0
  165. package/lib/types/graph/shared/types.d.cts +121 -0
  166. package/lib/types/graph/shared/types.d.mts +121 -0
  167. package/lib/types/index.d.cts +2 -2
  168. package/lib/types/index.d.mts +2 -2
  169. package/package.json +14 -3
  170. package/lib/cjs/graph/constants.cjs +0 -94
  171. package/lib/cjs/graph/decorators.cjs +0 -4
  172. package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
  173. package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
  174. package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
  175. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
  176. package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
  177. package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
  178. package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
  179. package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
  180. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
  181. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
  182. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
  183. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
  184. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
  185. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
  186. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
  187. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
  188. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
  189. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
  190. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
  191. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
  192. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
  193. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
  194. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
  195. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
  196. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
  197. package/lib/cjs/graph/nodes/base.cjs +0 -35
  198. package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
  199. package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
  200. package/lib/cjs/graph/nodes/triggers.cjs +0 -250
  201. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
  202. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
  203. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
  204. package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
  205. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
  206. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
  207. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
  208. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
  209. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
  210. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
  211. package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
  212. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
  213. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
  214. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
  215. package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
  216. package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
  217. package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
  218. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
  219. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
  220. package/lib/cjs/graph/types.cjs +0 -4
  221. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
  222. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
  223. package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
  224. package/lib/esm/graph/constants.js +0 -106
  225. package/lib/esm/graph/decorators.js +0 -2
  226. package/lib/esm/graph/errors/GraphCycleError.js +0 -15
  227. package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
  228. package/lib/esm/graph/errors/GraphInputError.js +0 -15
  229. package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
  230. package/lib/esm/graph/errors/GraphPinningError.js +0 -15
  231. package/lib/esm/graph/errors/GraphPortError.js +0 -15
  232. package/lib/esm/graph/errors/GraphStoreError.js +0 -15
  233. package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
  234. package/lib/esm/graph/errors/index.js +0 -14
  235. package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
  236. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
  237. package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
  238. package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
  239. package/lib/esm/graph/events/index.js +0 -10
  240. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
  241. package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
  242. package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
  243. package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
  244. package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
  245. package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
  246. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
  247. package/lib/esm/graph/execution/index.js +0 -13
  248. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
  249. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
  250. package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
  251. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
  252. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
  253. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
  254. package/lib/esm/graph/loops/index.js +0 -12
  255. package/lib/esm/graph/nodes/agent.js +0 -101
  256. package/lib/esm/graph/nodes/base.js +0 -30
  257. package/lib/esm/graph/nodes/category-styles.js +0 -34
  258. package/lib/esm/graph/nodes/flow-control.js +0 -455
  259. package/lib/esm/graph/nodes/index.js +0 -18
  260. package/lib/esm/graph/nodes/triggers.js +0 -241
  261. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
  262. package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
  263. package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
  264. package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
  265. package/lib/esm/graph/pinning/index.js +0 -10
  266. package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
  267. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
  268. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
  269. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
  270. package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
  271. package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
  272. package/lib/esm/graph/planning/GraphTopology.js +0 -52
  273. package/lib/esm/graph/planning/index.js +0 -13
  274. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
  275. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
  276. package/lib/esm/graph/registry/index.js +0 -8
  277. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
  278. package/lib/esm/graph/snapshots/index.js +0 -7
  279. package/lib/esm/graph/store/GraphCachedValue.js +0 -2
  280. package/lib/esm/graph/store/GraphValueKey.js +0 -7
  281. package/lib/esm/graph/store/GraphValueStore.js +0 -71
  282. package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
  283. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
  284. package/lib/esm/graph/store/index.js +0 -11
  285. package/lib/esm/graph/types.js +0 -2
  286. package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
  287. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
  288. package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
  289. package/lib/esm/graph/validation/index.js +0 -9
  290. package/lib/types/graph/constants.d.cts +0 -101
  291. package/lib/types/graph/constants.d.mts +0 -101
  292. /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
  293. /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
  294. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
  295. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
  296. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
  297. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
  298. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
  299. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
  300. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
  301. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
  302. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
  303. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
  304. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
  305. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
  306. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
  307. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
  308. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
  309. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
  310. /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
  311. /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
  312. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
  313. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
  314. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
  315. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
  316. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
  317. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
  318. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
  319. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
  320. /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
  321. /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
  322. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
  323. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
  324. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
  325. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
  326. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
  327. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
  328. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
  329. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
  330. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
  331. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
  332. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
  333. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
  334. /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
  335. /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
  336. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
  337. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
  338. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
  339. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
  340. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
  341. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
  342. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
  343. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
  344. /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
  345. /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
  346. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
  347. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
  348. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
  349. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
  350. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
  351. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
  352. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
  353. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
  354. /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
  355. /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
  356. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
  357. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
  358. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
  359. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
  360. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
  361. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
  362. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
  363. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
  364. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
  365. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
  366. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
  367. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
  368. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
  369. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
  370. /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
  371. /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
  372. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
  373. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
  374. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
  375. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
  376. /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
  377. /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
  378. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
  379. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
  380. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
  381. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
  382. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
  383. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
  384. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
  385. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
  386. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
  387. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
  388. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
  389. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
  390. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
  391. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
  392. /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
  393. /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
  394. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
  395. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
  396. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
  397. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
  398. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
  399. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
  400. /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
  401. /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
  402. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
  403. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
  404. /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
  405. /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
  406. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
  407. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
  408. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
  409. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
  410. /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
  411. /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
  412. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
  413. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
@@ -0,0 +1,101 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /**
11
+ * @module integrations/graph/nodes/agent
12
+ * @summary Production Agent node declaration.
13
+ * @description The Agent node is the primary AI agent entrypoint. It is a
14
+ * rectangular node with `@connection()` ports for its structural dependencies:
15
+ * `model` (the LLM), `memory` (the memory store), and `workspace` (the
16
+ * workspace/context). Connections are rendered on the bottom side of the node
17
+ * (DECAF-32 §21.3). Each connection category has a distinct color defined in
18
+ * the category style registry.
19
+ *
20
+ * The single `prompt` input accepts placeholder expressions (§22.4) such as
21
+ * `{{ $input.brief }}` or `{{ $node["Research"].output.summary }}` that are
22
+ * resolved at execution time by the placeholder compiler.
23
+ */
24
+ import { Model, model, required } from "@decaf-ts/decorator-validation";
25
+ import { uielement } from "@decaf-ts/ui-decorators";
26
+ import { connection, input, node, output } from "@decaf-ts/ui-decorators/graph";
27
+ // Ensure category styles are registered (idempotent).
28
+ import "./category-styles.js";
29
+ /**
30
+ * Agent node — an AI agent that orchestrates a model, memory, and workspace.
31
+ *
32
+ * The agent has:
33
+ * - `@input` port on the **left**: `prompt` (the task prompt; supports
34
+ * placeholder expressions like `{{ $input.something }}` per §22.4).
35
+ * - `@output` ports on the **right**: `response` (the agent's output), `actions`
36
+ * (any actions the agent decided to take).
37
+ * - `@connection` ports on the **bottom**: `model` (LLM), `memory` (memory
38
+ * store), `workspace` (workspace/context). Each connection has a distinct
39
+ * category color.
40
+ *
41
+ * The node is rectangular (not rounded) to visually distinguish it from
42
+ * regular processing nodes. The `color` and `icon` are omitted from `@node()`
43
+ * so they are resolved from the `"Agent"` category style.
44
+ */
45
+ let AgentNode = class AgentNode extends Model {
46
+ };
47
+ __decorate([
48
+ required(),
49
+ uielement("textarea", {
50
+ label: "Prompt",
51
+ placeholder: "Enter task prompt. Supports placeholders like {{ $input.brief }} or {{ $node[\"Research\"].output.summary }}",
52
+ }),
53
+ input({ handle: "prompt" }),
54
+ __metadata("design:type", String)
55
+ ], AgentNode.prototype, "prompt", void 0);
56
+ __decorate([
57
+ required(),
58
+ uielement("textarea", { label: "Response", placeholder: "Agent response" }),
59
+ output({ handle: "response" }),
60
+ __metadata("design:type", String)
61
+ ], AgentNode.prototype, "response", void 0);
62
+ __decorate([
63
+ required(),
64
+ uielement("textarea", { label: "Actions", placeholder: "Actions taken by the agent" }),
65
+ output({ handle: "actions" }),
66
+ __metadata("design:type", Array)
67
+ ], AgentNode.prototype, "actions", void 0);
68
+ __decorate([
69
+ connection({ category: "model", handle: "model" }),
70
+ __metadata("design:type", Object)
71
+ ], AgentNode.prototype, "model", void 0);
72
+ __decorate([
73
+ connection({ category: "memory", handle: "memory" }),
74
+ __metadata("design:type", Object)
75
+ ], AgentNode.prototype, "memory", void 0);
76
+ __decorate([
77
+ connection({ category: "workspace", handle: "workspace" }),
78
+ __metadata("design:type", Object)
79
+ ], AgentNode.prototype, "workspace", void 0);
80
+ AgentNode = __decorate([
81
+ node("core.agent", {
82
+ kind: "core.agent",
83
+ category: "Agent",
84
+ // color and icon omitted — resolved from the "Agent" category style
85
+ width: 120,
86
+ height: 140,
87
+ labels: ["agent", "ai", "orchestrator"],
88
+ metadata: {
89
+ title: "Agent",
90
+ description: "AI agent that orchestrates a model, memory, and workspace to complete a task.",
91
+ shape: "rectangle",
92
+ },
93
+ }),
94
+ model()
95
+ ], AgentNode);
96
+ export { AgentNode };
97
+ /**
98
+ * All built-in agent node constructors.
99
+ */
100
+ export const GRAPH_AGENT_NODES = [AgentNode];
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvc2hhcmVkL25vZGVzL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhGLHNEQUFzRDtBQUN0RCw4QkFBMkI7QUFFM0I7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBZ0JJLElBQU0sU0FBUyxHQUFmLE1BQU0sU0FBVSxTQUFRLEtBQUs7Q0FpQ25DLENBQUE7QUF4QkM7SUFOQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3JCLEtBQUssRUFBRSxRQUFRO1FBQ2YsV0FBVyxFQUFFLDhHQUE4RztLQUM1SCxDQUFDO0lBQ0QsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOzt5Q0FDWjtBQU9oQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQzs7MkNBQ2I7QUFLbEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztJQUN0RixNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7OzBDQUNWO0FBS3BCO0lBREMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7O3dDQUNuQztBQUdoQjtJQURDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOzt5Q0FDcEM7QUFHakI7SUFEQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQzs7NENBQ3ZDO0FBaENULFNBQVM7SUFmckIsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNsQixJQUFJLEVBQUUsWUFBWTtRQUNsQixRQUFRLEVBQUUsT0FBTztRQUNqQixvRUFBb0U7UUFDcEUsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsR0FBRztRQUNYLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDO1FBQ3ZDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUNULCtFQUErRTtZQUNqRixLQUFLLEVBQUUsV0FBVztTQUNuQjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxTQUFTLENBaUNyQjs7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBUyxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL2FnZW50XG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIEFnZW50IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gVGhlIEFnZW50IG5vZGUgaXMgdGhlIHByaW1hcnkgQUkgYWdlbnQgZW50cnlwb2ludC4gSXQgaXMgYVxuICogcmVjdGFuZ3VsYXIgbm9kZSB3aXRoIGBAY29ubmVjdGlvbigpYCBwb3J0cyBmb3IgaXRzIHN0cnVjdHVyYWwgZGVwZW5kZW5jaWVzOlxuICogYG1vZGVsYCAodGhlIExMTSksIGBtZW1vcnlgICh0aGUgbWVtb3J5IHN0b3JlKSwgYW5kIGB3b3Jrc3BhY2VgICh0aGVcbiAqIHdvcmtzcGFjZS9jb250ZXh0KS4gQ29ubmVjdGlvbnMgYXJlIHJlbmRlcmVkIG9uIHRoZSBib3R0b20gc2lkZSBvZiB0aGUgbm9kZVxuICogKERFQ0FGLTMyIMKnMjEuMykuIEVhY2ggY29ubmVjdGlvbiBjYXRlZ29yeSBoYXMgYSBkaXN0aW5jdCBjb2xvciBkZWZpbmVkIGluXG4gKiB0aGUgY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cnkuXG4gKlxuICogVGhlIHNpbmdsZSBgcHJvbXB0YCBpbnB1dCBhY2NlcHRzIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zICjCpzIyLjQpIHN1Y2ggYXNcbiAqIGB7eyAkaW5wdXQuYnJpZWYgfX1gIG9yIGB7eyAkbm9kZVtcIlJlc2VhcmNoXCJdLm91dHB1dC5zdW1tYXJ5IH19YCB0aGF0IGFyZVxuICogcmVzb2x2ZWQgYXQgZXhlY3V0aW9uIHRpbWUgYnkgdGhlIHBsYWNlaG9sZGVyIGNvbXBpbGVyLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBjb25uZWN0aW9uLCBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuLyoqXG4gKiBBZ2VudCBub2RlIOKAlCBhbiBBSSBhZ2VudCB0aGF0IG9yY2hlc3RyYXRlcyBhIG1vZGVsLCBtZW1vcnksIGFuZCB3b3Jrc3BhY2UuXG4gKlxuICogVGhlIGFnZW50IGhhczpcbiAqIC0gYEBpbnB1dGAgcG9ydCBvbiB0aGUgKipsZWZ0Kio6IGBwcm9tcHRgICh0aGUgdGFzayBwcm9tcHQ7IHN1cHBvcnRzXG4gKiAgIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zIGxpa2UgYHt7ICRpbnB1dC5zb21ldGhpbmcgfX1gIHBlciDCpzIyLjQpLlxuICogLSBgQG91dHB1dGAgcG9ydHMgb24gdGhlICoqcmlnaHQqKjogYHJlc3BvbnNlYCAodGhlIGFnZW50J3Mgb3V0cHV0KSwgYGFjdGlvbnNgXG4gKiAgIChhbnkgYWN0aW9ucyB0aGUgYWdlbnQgZGVjaWRlZCB0byB0YWtlKS5cbiAqIC0gYEBjb25uZWN0aW9uYCBwb3J0cyBvbiB0aGUgKipib3R0b20qKjogYG1vZGVsYCAoTExNKSwgYG1lbW9yeWAgKG1lbW9yeVxuICogICBzdG9yZSksIGB3b3Jrc3BhY2VgICh3b3Jrc3BhY2UvY29udGV4dCkuIEVhY2ggY29ubmVjdGlvbiBoYXMgYSBkaXN0aW5jdFxuICogICBjYXRlZ29yeSBjb2xvci5cbiAqXG4gKiBUaGUgbm9kZSBpcyByZWN0YW5ndWxhciAobm90IHJvdW5kZWQpIHRvIHZpc3VhbGx5IGRpc3Rpbmd1aXNoIGl0IGZyb21cbiAqIHJlZ3VsYXIgcHJvY2Vzc2luZyBub2Rlcy4gVGhlIGBjb2xvcmAgYW5kIGBpY29uYCBhcmUgb21pdHRlZCBmcm9tIGBAbm9kZSgpYFxuICogc28gdGhleSBhcmUgcmVzb2x2ZWQgZnJvbSB0aGUgYFwiQWdlbnRcImAgY2F0ZWdvcnkgc3R5bGUuXG4gKi9cbkBub2RlKFwiY29yZS5hZ2VudFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5hZ2VudFwiLFxuICBjYXRlZ29yeTogXCJBZ2VudFwiLFxuICAvLyBjb2xvciBhbmQgaWNvbiBvbWl0dGVkIOKAlCByZXNvbHZlZCBmcm9tIHRoZSBcIkFnZW50XCIgY2F0ZWdvcnkgc3R5bGVcbiAgd2lkdGg6IDEyMCxcbiAgaGVpZ2h0OiAxNDAsXG4gIGxhYmVsczogW1wiYWdlbnRcIiwgXCJhaVwiLCBcIm9yY2hlc3RyYXRvclwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJBZ2VudFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBSSBhZ2VudCB0aGF0IG9yY2hlc3RyYXRlcyBhIG1vZGVsLCBtZW1vcnksIGFuZCB3b3Jrc3BhY2UgdG8gY29tcGxldGUgYSB0YXNrLlwiLFxuICAgIHNoYXBlOiBcInJlY3RhbmdsZVwiLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgQWdlbnROb2RlIGV4dGVuZHMgTW9kZWwge1xuICAvLyAtLS0gSW5wdXRzIChsZWZ0IHNpZGUpIC0tLVxuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7XG4gICAgbGFiZWw6IFwiUHJvbXB0XCIsXG4gICAgcGxhY2Vob2xkZXI6IFwiRW50ZXIgdGFzayBwcm9tcHQuIFN1cHBvcnRzIHBsYWNlaG9sZGVycyBsaWtlIHt7ICRpbnB1dC5icmllZiB9fSBvciB7eyAkbm9kZVtcXFwiUmVzZWFyY2hcXFwiXS5vdXRwdXQuc3VtbWFyeSB9fVwiLFxuICB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwicHJvbXB0XCIgfSlcbiAgcHJvbXB0ITogc3RyaW5nO1xuXG4gIC8vIC0tLSBPdXRwdXRzIChyaWdodCBzaWRlKSAtLS1cblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJSZXNwb25zZVwiLCBwbGFjZWhvbGRlcjogXCJBZ2VudCByZXNwb25zZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzcG9uc2VcIiB9KVxuICByZXNwb25zZSE6IHN0cmluZztcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJBY3Rpb25zXCIsIHBsYWNlaG9sZGVyOiBcIkFjdGlvbnMgdGFrZW4gYnkgdGhlIGFnZW50XCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJhY3Rpb25zXCIgfSlcbiAgYWN0aW9ucyE6IHVua25vd25bXTtcblxuICAvLyAtLS0gQ29ubmVjdGlvbnMgKGJvdHRvbSBzaWRlKSAtLS1cblxuICBAY29ubmVjdGlvbih7IGNhdGVnb3J5OiBcIm1vZGVsXCIsIGhhbmRsZTogXCJtb2RlbFwiIH0pXG4gIG1vZGVsITogdW5rbm93bjtcblxuICBAY29ubmVjdGlvbih7IGNhdGVnb3J5OiBcIm1lbW9yeVwiLCBoYW5kbGU6IFwibWVtb3J5XCIgfSlcbiAgbWVtb3J5ITogdW5rbm93bjtcblxuICBAY29ubmVjdGlvbih7IGNhdGVnb3J5OiBcIndvcmtzcGFjZVwiLCBoYW5kbGU6IFwid29ya3NwYWNlXCIgfSlcbiAgd29ya3NwYWNlITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBBbGwgYnVpbHQtaW4gYWdlbnQgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9BR0VOVF9OT0RFUyA9IFtBZ2VudE5vZGVdIGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @module integrations/graph/nodes/base
3
+ * @summary Base class for graph node declarations.
4
+ * @description `GraphNode` extends {@link Model} with an overridable
5
+ * `applyMetadata` static method. Concrete node kinds that support dynamic
6
+ * metadata changes (e.g. `SwitchFlowNode` adding case output ports) override
7
+ * this method to compute their own ports, size, and data patches — the node
8
+ * is exclusively responsible for itself in every way.
9
+ */
10
+ import { Model } from "@decaf-ts/decorator-validation";
11
+ export class GraphNode extends Model {
12
+ /**
13
+ * Applies a metadata patch to this node class, returning the resulting
14
+ * ports, size, and data patches.
15
+ *
16
+ * The default implementation returns `null` (no changes). Concrete node
17
+ * kinds that support dynamic metadata override this to compute their own
18
+ * ports and size from the metadata — the caller (renderer) simply relays
19
+ * the result to the diagram model.
20
+ *
21
+ * @param _meta - The metadata patch (node-kind-specific, e.g.
22
+ * `SwitchNodeMetadata`).
23
+ * @returns The computed change, or `null` when the node kind does not
24
+ * support dynamic metadata.
25
+ */
26
+ static applyMetadata(_meta) {
27
+ return null;
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9zaGFyZWQvbm9kZXMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd2RCxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDbEM7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbm9kZXMvYmFzZVxuICogQHN1bW1hcnkgQmFzZSBjbGFzcyBmb3IgZ3JhcGggbm9kZSBkZWNsYXJhdGlvbnMuXG4gKiBAZGVzY3JpcHRpb24gYEdyYXBoTm9kZWAgZXh0ZW5kcyB7QGxpbmsgTW9kZWx9IHdpdGggYW4gb3ZlcnJpZGFibGVcbiAqIGBhcHBseU1ldGFkYXRhYCBzdGF0aWMgbWV0aG9kLiBDb25jcmV0ZSBub2RlIGtpbmRzIHRoYXQgc3VwcG9ydCBkeW5hbWljXG4gKiBtZXRhZGF0YSBjaGFuZ2VzIChlLmcuIGBTd2l0Y2hGbG93Tm9kZWAgYWRkaW5nIGNhc2Ugb3V0cHV0IHBvcnRzKSBvdmVycmlkZVxuICogdGhpcyBtZXRob2QgdG8gY29tcHV0ZSB0aGVpciBvd24gcG9ydHMsIHNpemUsIGFuZCBkYXRhIHBhdGNoZXMg4oCUIHRoZSBub2RlXG4gKiBpcyBleGNsdXNpdmVseSByZXNwb25zaWJsZSBmb3IgaXRzZWxmIGluIGV2ZXJ5IHdheS5cbiAqL1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IE5vZGVNZXRhZGF0YUNoYW5nZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgR3JhcGhOb2RlIGV4dGVuZHMgTW9kZWwge1xuICAvKipcbiAgICogQXBwbGllcyBhIG1ldGFkYXRhIHBhdGNoIHRvIHRoaXMgbm9kZSBjbGFzcywgcmV0dXJuaW5nIHRoZSByZXN1bHRpbmdcbiAgICogcG9ydHMsIHNpemUsIGFuZCBkYXRhIHBhdGNoZXMuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgYG51bGxgIChubyBjaGFuZ2VzKS4gQ29uY3JldGUgbm9kZVxuICAgKiBraW5kcyB0aGF0IHN1cHBvcnQgZHluYW1pYyBtZXRhZGF0YSBvdmVycmlkZSB0aGlzIHRvIGNvbXB1dGUgdGhlaXIgb3duXG4gICAqIHBvcnRzIGFuZCBzaXplIGZyb20gdGhlIG1ldGFkYXRhIOKAlCB0aGUgY2FsbGVyIChyZW5kZXJlcikgc2ltcGx5IHJlbGF5c1xuICAgKiB0aGUgcmVzdWx0IHRvIHRoZSBkaWFncmFtIG1vZGVsLlxuICAgKlxuICAgKiBAcGFyYW0gX21ldGEgLSBUaGUgbWV0YWRhdGEgcGF0Y2ggKG5vZGUta2luZC1zcGVjaWZpYywgZS5nLlxuICAgKiAgIGBTd2l0Y2hOb2RlTWV0YWRhdGFgKS5cbiAgICogQHJldHVybnMgVGhlIGNvbXB1dGVkIGNoYW5nZSwgb3IgYG51bGxgIHdoZW4gdGhlIG5vZGUga2luZCBkb2VzIG5vdFxuICAgKiAgIHN1cHBvcnQgZHluYW1pYyBtZXRhZGF0YS5cbiAgICovXG4gIHN0YXRpYyBhcHBseU1ldGFkYXRhKF9tZXRhOiB1bmtub3duKTogTm9kZU1ldGFkYXRhQ2hhbmdlIHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @module integrations/graph/nodes/category-styles
3
+ * @summary Built-in node/connection category style registrations.
4
+ * @description Registers default colors and icons for the built-in node and
5
+ * connection categories (DECAF-32 §21.2). The `color` / `icon` on a node's
6
+ * `@node()` metadata are optional overrides — when omitted, the effective
7
+ * style is resolved from the category registry.
8
+ */
9
+ import { registerGraphCategoryStyle, } from "@decaf-ts/ui-decorators/graph";
10
+ /**
11
+ * Registers all built-in category styles. Called once at module init.
12
+ *
13
+ * Categories define the default visual style for nodes and connection ports.
14
+ * A node's explicit `color` / `icon` (on `@node()`) overrides the category
15
+ * style; when omitted, the category style is used.
16
+ */
17
+ export function registerBuiltinCategoryStyles() {
18
+ // Node categories
19
+ registerGraphCategoryStyle("Trigger", { color: "#3b82f6", icon: "ti-bolt" });
20
+ registerGraphCategoryStyle("Flow Control", { color: "#f59e0b", icon: "ti-arrows-split-2" });
21
+ registerGraphCategoryStyle("Utility", { color: "#0d9488", icon: "ti-tool" });
22
+ registerGraphCategoryStyle("Loop", { color: "#eab308", icon: "ti-repeat" });
23
+ registerGraphCategoryStyle("Workflow", { color: "#f97316", icon: "ti-sitemap" });
24
+ registerGraphCategoryStyle("Pipeline", { color: "#0ea5e9", icon: "ti-git-merge" });
25
+ registerGraphCategoryStyle("Node", { color: "#8b5cf6", icon: "ti-point-filled" });
26
+ registerGraphCategoryStyle("Agent", { color: "#7c3aed", icon: "ti-robot" });
27
+ // Connection categories (for @connection() ports)
28
+ registerGraphCategoryStyle("model", { color: "#3b82f6", icon: "ti-cpu" });
29
+ registerGraphCategoryStyle("memory", { color: "#10b981", icon: "ti-database" });
30
+ registerGraphCategoryStyle("workspace", { color: "#f59e0b", icon: "ti-folder" });
31
+ }
32
+ // Register at module load so the styles are available immediately.
33
+ registerBuiltinCategoryStyles();
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3NoYXJlZC9ub2Rlcy9jYXRlZ29yeS1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE9BQU8sRUFDTCwwQkFBMEIsR0FDM0IsTUFBTSwrQkFBK0IsQ0FBQztBQUV2Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUM1RiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUUsMEJBQTBCLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRiwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNsRiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLGtEQUFrRDtJQUNsRCwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEYsMEJBQTBCLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsbUVBQW1FO0FBQ25FLDZCQUE2QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL2NhdGVnb3J5LXN0eWxlc1xuICogQHN1bW1hcnkgQnVpbHQtaW4gbm9kZS9jb25uZWN0aW9uIGNhdGVnb3J5IHN0eWxlIHJlZ2lzdHJhdGlvbnMuXG4gKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXJzIGRlZmF1bHQgY29sb3JzIGFuZCBpY29ucyBmb3IgdGhlIGJ1aWx0LWluIG5vZGUgYW5kXG4gKiBjb25uZWN0aW9uIGNhdGVnb3JpZXMgKERFQ0FGLTMyIMKnMjEuMikuIFRoZSBgY29sb3JgIC8gYGljb25gIG9uIGEgbm9kZSdzXG4gKiBgQG5vZGUoKWAgbWV0YWRhdGEgYXJlIG9wdGlvbmFsIG92ZXJyaWRlcyDigJQgd2hlbiBvbWl0dGVkLCB0aGUgZWZmZWN0aXZlXG4gKiBzdHlsZSBpcyByZXNvbHZlZCBmcm9tIHRoZSBjYXRlZ29yeSByZWdpc3RyeS5cbiAqL1xuaW1wb3J0IHtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUsXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgYnVpbHQtaW4gY2F0ZWdvcnkgc3R5bGVzLiBDYWxsZWQgb25jZSBhdCBtb2R1bGUgaW5pdC5cbiAqXG4gKiBDYXRlZ29yaWVzIGRlZmluZSB0aGUgZGVmYXVsdCB2aXN1YWwgc3R5bGUgZm9yIG5vZGVzIGFuZCBjb25uZWN0aW9uIHBvcnRzLlxuICogQSBub2RlJ3MgZXhwbGljaXQgYGNvbG9yYCAvIGBpY29uYCAob24gYEBub2RlKClgKSBvdmVycmlkZXMgdGhlIGNhdGVnb3J5XG4gKiBzdHlsZTsgd2hlbiBvbWl0dGVkLCB0aGUgY2F0ZWdvcnkgc3R5bGUgaXMgdXNlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk6IHZvaWQge1xuICAvLyBOb2RlIGNhdGVnb3JpZXNcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJUcmlnZ2VyXCIsIHsgY29sb3I6IFwiIzNiODJmNlwiLCBpY29uOiBcInRpLWJvbHRcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJGbG93IENvbnRyb2xcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJVdGlsaXR5XCIsIHsgY29sb3I6IFwiIzBkOTQ4OFwiLCBpY29uOiBcInRpLXRvb2xcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJMb29wXCIsIHsgY29sb3I6IFwiI2VhYjMwOFwiLCBpY29uOiBcInRpLXJlcGVhdFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIldvcmtmbG93XCIsIHsgY29sb3I6IFwiI2Y5NzMxNlwiLCBpY29uOiBcInRpLXNpdGVtYXBcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJQaXBlbGluZVwiLCB7IGNvbG9yOiBcIiMwZWE1ZTlcIiwgaWNvbjogXCJ0aS1naXQtbWVyZ2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJOb2RlXCIsIHsgY29sb3I6IFwiIzhiNWNmNlwiLCBpY29uOiBcInRpLXBvaW50LWZpbGxlZFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIkFnZW50XCIsIHsgY29sb3I6IFwiIzdjM2FlZFwiLCBpY29uOiBcInRpLXJvYm90XCIgfSk7XG5cbiAgLy8gQ29ubmVjdGlvbiBjYXRlZ29yaWVzIChmb3IgQGNvbm5lY3Rpb24oKSBwb3J0cylcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtb2RlbFwiLCB7IGNvbG9yOiBcIiMzYjgyZjZcIiwgaWNvbjogXCJ0aS1jcHVcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtZW1vcnlcIiwgeyBjb2xvcjogXCIjMTBiOTgxXCIsIGljb246IFwidGktZGF0YWJhc2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJ3b3Jrc3BhY2VcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktZm9sZGVyXCIgfSk7XG59XG5cbi8vIFJlZ2lzdGVyIGF0IG1vZHVsZSBsb2FkIHNvIHRoZSBzdHlsZXMgYXJlIGF2YWlsYWJsZSBpbW1lZGlhdGVseS5cbnJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk7XG4iXX0=