@agentick/core 0.0.1

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 (626) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +875 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/.tsbuildinfo.build +1 -0
  5. package/dist/agent.d.ts +32 -0
  6. package/dist/agent.d.ts.map +1 -0
  7. package/dist/agent.js +26 -0
  8. package/dist/agent.js.map +1 -0
  9. package/dist/agentick-instance.d.ts +285 -0
  10. package/dist/agentick-instance.d.ts.map +1 -0
  11. package/dist/agentick-instance.js +700 -0
  12. package/dist/agentick-instance.js.map +1 -0
  13. package/dist/aidk-instance.d.ts +294 -0
  14. package/dist/aidk-instance.d.ts.map +1 -0
  15. package/dist/aidk-instance.js +340 -0
  16. package/dist/aidk-instance.js.map +1 -0
  17. package/dist/app/session-store.d.ts +57 -0
  18. package/dist/app/session-store.d.ts.map +1 -0
  19. package/dist/app/session-store.js +87 -0
  20. package/dist/app/session-store.js.map +1 -0
  21. package/dist/app/session.d.ts +209 -0
  22. package/dist/app/session.d.ts.map +1 -0
  23. package/dist/app/session.js +2131 -0
  24. package/dist/app/session.js.map +1 -0
  25. package/dist/app/sqlite-session-store.d.ts +60 -0
  26. package/dist/app/sqlite-session-store.d.ts.map +1 -0
  27. package/dist/app/sqlite-session-store.js +234 -0
  28. package/dist/app/sqlite-session-store.js.map +1 -0
  29. package/dist/app/types.d.ts +1461 -0
  30. package/dist/app/types.d.ts.map +1 -0
  31. package/dist/app/types.js +14 -0
  32. package/dist/app/types.js.map +1 -0
  33. package/dist/app.d.ts +79 -0
  34. package/dist/app.d.ts.map +1 -0
  35. package/dist/app.js +83 -0
  36. package/dist/app.js.map +1 -0
  37. package/dist/channels/adapters/index.d.ts +2 -0
  38. package/dist/channels/adapters/index.d.ts.map +1 -0
  39. package/dist/channels/adapters/index.js +2 -0
  40. package/dist/channels/adapters/index.js.map +1 -0
  41. package/dist/channels/adapters/redis.d.ts +77 -0
  42. package/dist/channels/adapters/redis.d.ts.map +1 -0
  43. package/dist/channels/adapters/redis.js +259 -0
  44. package/dist/channels/adapters/redis.js.map +1 -0
  45. package/dist/channels/index.d.ts +38 -0
  46. package/dist/channels/index.d.ts.map +1 -0
  47. package/dist/channels/index.js +38 -0
  48. package/dist/channels/index.js.map +1 -0
  49. package/dist/channels/service.d.ts +684 -0
  50. package/dist/channels/service.d.ts.map +1 -0
  51. package/dist/channels/service.js +870 -0
  52. package/dist/channels/service.js.map +1 -0
  53. package/dist/channels/transports/index.d.ts +4 -0
  54. package/dist/channels/transports/index.d.ts.map +1 -0
  55. package/dist/channels/transports/index.js +4 -0
  56. package/dist/channels/transports/index.js.map +1 -0
  57. package/dist/channels/transports/socketio.d.ts +98 -0
  58. package/dist/channels/transports/socketio.d.ts.map +1 -0
  59. package/dist/channels/transports/socketio.js +246 -0
  60. package/dist/channels/transports/socketio.js.map +1 -0
  61. package/dist/channels/transports/streamable-http.d.ts +107 -0
  62. package/dist/channels/transports/streamable-http.d.ts.map +1 -0
  63. package/dist/channels/transports/streamable-http.js +353 -0
  64. package/dist/channels/transports/streamable-http.js.map +1 -0
  65. package/dist/channels/transports/websocket.d.ts +117 -0
  66. package/dist/channels/transports/websocket.d.ts.map +1 -0
  67. package/dist/channels/transports/websocket.js +416 -0
  68. package/dist/channels/transports/websocket.js.map +1 -0
  69. package/dist/com/index.d.ts +29 -0
  70. package/dist/com/index.d.ts.map +1 -0
  71. package/dist/com/index.js +29 -0
  72. package/dist/com/index.js.map +1 -0
  73. package/dist/com/object-model.d.ts +634 -0
  74. package/dist/com/object-model.d.ts.map +1 -0
  75. package/dist/com/object-model.js +963 -0
  76. package/dist/com/object-model.js.map +1 -0
  77. package/dist/com/types.d.ts +192 -0
  78. package/dist/com/types.d.ts.map +1 -0
  79. package/dist/com/types.js +1 -0
  80. package/dist/com/types.js.map +1 -0
  81. package/dist/compiler/collector.d.ts +16 -0
  82. package/dist/compiler/collector.d.ts.map +1 -0
  83. package/dist/compiler/collector.js +388 -0
  84. package/dist/compiler/collector.js.map +1 -0
  85. package/dist/compiler/content-block-registry.d.ts +11 -0
  86. package/dist/compiler/content-block-registry.d.ts.map +1 -0
  87. package/dist/compiler/content-block-registry.js +312 -0
  88. package/dist/compiler/content-block-registry.js.map +1 -0
  89. package/dist/compiler/extractors.d.ts +68 -0
  90. package/dist/compiler/extractors.d.ts.map +1 -0
  91. package/dist/compiler/extractors.js +547 -0
  92. package/dist/compiler/extractors.js.map +1 -0
  93. package/dist/compiler/fiber-compiler.d.ts +203 -0
  94. package/dist/compiler/fiber-compiler.d.ts.map +1 -0
  95. package/dist/compiler/fiber-compiler.js +498 -0
  96. package/dist/compiler/fiber-compiler.js.map +1 -0
  97. package/dist/compiler/fiber.d.ts +61 -0
  98. package/dist/compiler/fiber.d.ts.map +1 -0
  99. package/dist/compiler/fiber.js +244 -0
  100. package/dist/compiler/fiber.js.map +1 -0
  101. package/dist/compiler/index.d.ts +18 -0
  102. package/dist/compiler/index.d.ts.map +1 -0
  103. package/dist/compiler/index.js +38 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/compiler/scheduler.d.ts +95 -0
  106. package/dist/compiler/scheduler.d.ts.map +1 -0
  107. package/dist/compiler/scheduler.js +138 -0
  108. package/dist/compiler/scheduler.js.map +1 -0
  109. package/dist/compiler/structure-renderer.d.ts +42 -0
  110. package/dist/compiler/structure-renderer.d.ts.map +1 -0
  111. package/dist/compiler/structure-renderer.js +189 -0
  112. package/dist/compiler/structure-renderer.js.map +1 -0
  113. package/dist/compiler/types.d.ts +96 -0
  114. package/dist/compiler/types.d.ts.map +1 -0
  115. package/dist/compiler/types.js +19 -0
  116. package/dist/compiler/types.js.map +1 -0
  117. package/dist/component/component-hooks.d.ts +68 -0
  118. package/dist/component/component-hooks.d.ts.map +1 -0
  119. package/dist/component/component-hooks.js +112 -0
  120. package/dist/component/component-hooks.js.map +1 -0
  121. package/dist/component/component.d.ts +314 -0
  122. package/dist/component/component.d.ts.map +1 -0
  123. package/dist/component/component.js +64 -0
  124. package/dist/component/component.js.map +1 -0
  125. package/dist/component/index.d.ts +47 -0
  126. package/dist/component/index.d.ts.map +1 -0
  127. package/dist/component/index.js +47 -0
  128. package/dist/component/index.js.map +1 -0
  129. package/dist/component/tentickle-component.d.ts +185 -0
  130. package/dist/component/tentickle-component.d.ts.map +1 -0
  131. package/dist/component/tentickle-component.js +182 -0
  132. package/dist/component/tentickle-component.js.map +1 -0
  133. package/dist/content/index.d.ts +12 -0
  134. package/dist/content/index.d.ts.map +1 -0
  135. package/dist/content/index.js +17 -0
  136. package/dist/content/index.js.map +1 -0
  137. package/dist/context/index.d.ts +51 -0
  138. package/dist/context/index.d.ts.map +1 -0
  139. package/dist/context/index.js +69 -0
  140. package/dist/context/index.js.map +1 -0
  141. package/dist/core/channel-helpers.d.ts +31 -0
  142. package/dist/core/channel-helpers.d.ts.map +1 -0
  143. package/dist/core/channel-helpers.js +62 -0
  144. package/dist/core/channel-helpers.js.map +1 -0
  145. package/dist/core/channel.d.ts +164 -0
  146. package/dist/core/channel.d.ts.map +1 -0
  147. package/dist/core/channel.js +199 -0
  148. package/dist/core/channel.js.map +1 -0
  149. package/dist/core/context.d.ts +412 -0
  150. package/dist/core/context.d.ts.map +1 -0
  151. package/dist/core/context.js +290 -0
  152. package/dist/core/context.js.map +1 -0
  153. package/dist/core/event-buffer.d.ts +212 -0
  154. package/dist/core/event-buffer.d.ts.map +1 -0
  155. package/dist/core/event-buffer.js +346 -0
  156. package/dist/core/event-buffer.js.map +1 -0
  157. package/dist/core/execution-helpers.d.ts +179 -0
  158. package/dist/core/execution-helpers.d.ts.map +1 -0
  159. package/dist/core/execution-helpers.js +212 -0
  160. package/dist/core/execution-helpers.js.map +1 -0
  161. package/dist/core/execution-tracker.d.ts +53 -0
  162. package/dist/core/execution-tracker.d.ts.map +1 -0
  163. package/dist/core/execution-tracker.js +309 -0
  164. package/dist/core/execution-tracker.js.map +1 -0
  165. package/dist/core/index.d.ts +58 -0
  166. package/dist/core/index.d.ts.map +1 -0
  167. package/dist/core/index.js +58 -0
  168. package/dist/core/index.js.map +1 -0
  169. package/dist/core/logger.d.ts +341 -0
  170. package/dist/core/logger.d.ts.map +1 -0
  171. package/dist/core/logger.js +346 -0
  172. package/dist/core/logger.js.map +1 -0
  173. package/dist/core/metrics-helpers.d.ts +40 -0
  174. package/dist/core/metrics-helpers.d.ts.map +1 -0
  175. package/dist/core/metrics-helpers.js +72 -0
  176. package/dist/core/metrics-helpers.js.map +1 -0
  177. package/dist/core/otel-provider.d.ts +54 -0
  178. package/dist/core/otel-provider.d.ts.map +1 -0
  179. package/dist/core/otel-provider.js +107 -0
  180. package/dist/core/otel-provider.js.map +1 -0
  181. package/dist/core/procedure-graph.d.ts +136 -0
  182. package/dist/core/procedure-graph.d.ts.map +1 -0
  183. package/dist/core/procedure-graph.js +272 -0
  184. package/dist/core/procedure-graph.js.map +1 -0
  185. package/dist/core/procedure.d.ts +755 -0
  186. package/dist/core/procedure.d.ts.map +1 -0
  187. package/dist/core/procedure.js +899 -0
  188. package/dist/core/procedure.js.map +1 -0
  189. package/dist/core/stream.d.ts +106 -0
  190. package/dist/core/stream.d.ts.map +1 -0
  191. package/dist/core/stream.js +186 -0
  192. package/dist/core/stream.js.map +1 -0
  193. package/dist/core/telemetry.d.ts +182 -0
  194. package/dist/core/telemetry.d.ts.map +1 -0
  195. package/dist/core/telemetry.js +124 -0
  196. package/dist/core/telemetry.js.map +1 -0
  197. package/dist/engine/client-tool-coordinator.d.ts +50 -0
  198. package/dist/engine/client-tool-coordinator.d.ts.map +1 -0
  199. package/dist/engine/client-tool-coordinator.js +121 -0
  200. package/dist/engine/client-tool-coordinator.js.map +1 -0
  201. package/dist/engine/engine-events.d.ts +117 -0
  202. package/dist/engine/engine-events.d.ts.map +1 -0
  203. package/dist/engine/engine-events.js +178 -0
  204. package/dist/engine/engine-events.js.map +1 -0
  205. package/dist/engine/engine-response.d.ts +48 -0
  206. package/dist/engine/engine-response.d.ts.map +1 -0
  207. package/dist/engine/engine-response.js +2 -0
  208. package/dist/engine/engine-response.js.map +1 -0
  209. package/dist/engine/execution-graph.d.ts +104 -0
  210. package/dist/engine/execution-graph.d.ts.map +1 -0
  211. package/dist/engine/execution-graph.js +257 -0
  212. package/dist/engine/execution-graph.js.map +1 -0
  213. package/dist/engine/execution-handle.d.ts +212 -0
  214. package/dist/engine/execution-handle.d.ts.map +1 -0
  215. package/dist/engine/execution-handle.js +602 -0
  216. package/dist/engine/execution-handle.js.map +1 -0
  217. package/dist/engine/execution-types.d.ts +248 -0
  218. package/dist/engine/execution-types.d.ts.map +1 -0
  219. package/dist/engine/execution-types.js +23 -0
  220. package/dist/engine/execution-types.js.map +1 -0
  221. package/dist/engine/index.d.ts +21 -0
  222. package/dist/engine/index.d.ts.map +1 -0
  223. package/dist/engine/index.js +23 -0
  224. package/dist/engine/index.js.map +1 -0
  225. package/dist/engine/tool-confirmation-coordinator.d.ts +74 -0
  226. package/dist/engine/tool-confirmation-coordinator.d.ts.map +1 -0
  227. package/dist/engine/tool-confirmation-coordinator.js +137 -0
  228. package/dist/engine/tool-confirmation-coordinator.js.map +1 -0
  229. package/dist/engine/tool-executor.d.ts +127 -0
  230. package/dist/engine/tool-executor.d.ts.map +1 -0
  231. package/dist/engine/tool-executor.js +363 -0
  232. package/dist/engine/tool-executor.js.map +1 -0
  233. package/dist/hibernation/index.d.ts +126 -0
  234. package/dist/hibernation/index.d.ts.map +1 -0
  235. package/dist/hibernation/index.js +127 -0
  236. package/dist/hibernation/index.js.map +1 -0
  237. package/dist/hooks/base-hook-registry.d.ts +41 -0
  238. package/dist/hooks/base-hook-registry.d.ts.map +1 -0
  239. package/dist/hooks/base-hook-registry.js +76 -0
  240. package/dist/hooks/base-hook-registry.js.map +1 -0
  241. package/dist/hooks/com-state.d.ts +40 -0
  242. package/dist/hooks/com-state.d.ts.map +1 -0
  243. package/dist/hooks/com-state.js +90 -0
  244. package/dist/hooks/com-state.js.map +1 -0
  245. package/dist/hooks/context-info.d.ts +139 -0
  246. package/dist/hooks/context-info.d.ts.map +1 -0
  247. package/dist/hooks/context-info.js +115 -0
  248. package/dist/hooks/context-info.js.map +1 -0
  249. package/dist/hooks/context-internal.d.ts +21 -0
  250. package/dist/hooks/context-internal.d.ts.map +1 -0
  251. package/dist/hooks/context-internal.js +20 -0
  252. package/dist/hooks/context-internal.js.map +1 -0
  253. package/dist/hooks/context.d.ts +64 -0
  254. package/dist/hooks/context.d.ts.map +1 -0
  255. package/dist/hooks/context.js +83 -0
  256. package/dist/hooks/context.js.map +1 -0
  257. package/dist/hooks/data.d.ts +33 -0
  258. package/dist/hooks/data.d.ts.map +1 -0
  259. package/dist/hooks/data.js +84 -0
  260. package/dist/hooks/data.js.map +1 -0
  261. package/dist/hooks/formatter-context.d.ts +34 -0
  262. package/dist/hooks/formatter-context.d.ts.map +1 -0
  263. package/dist/hooks/formatter-context.js +34 -0
  264. package/dist/hooks/formatter-context.js.map +1 -0
  265. package/dist/hooks/hook-registry.d.ts +45 -0
  266. package/dist/hooks/hook-registry.d.ts.map +1 -0
  267. package/dist/hooks/hook-registry.js +109 -0
  268. package/dist/hooks/hook-registry.js.map +1 -0
  269. package/dist/hooks/index.d.ts +20 -0
  270. package/dist/hooks/index.d.ts.map +1 -0
  271. package/dist/hooks/index.js +47 -0
  272. package/dist/hooks/index.js.map +1 -0
  273. package/dist/hooks/knob.d.ts +87 -0
  274. package/dist/hooks/knob.d.ts.map +1 -0
  275. package/dist/hooks/knob.js +129 -0
  276. package/dist/hooks/knob.js.map +1 -0
  277. package/dist/hooks/knobs-component.d.ts +70 -0
  278. package/dist/hooks/knobs-component.d.ts.map +1 -0
  279. package/dist/hooks/knobs-component.js +300 -0
  280. package/dist/hooks/knobs-component.js.map +1 -0
  281. package/dist/hooks/lifecycle.d.ts +158 -0
  282. package/dist/hooks/lifecycle.d.ts.map +1 -0
  283. package/dist/hooks/lifecycle.js +217 -0
  284. package/dist/hooks/lifecycle.js.map +1 -0
  285. package/dist/hooks/message-context.d.ts +101 -0
  286. package/dist/hooks/message-context.d.ts.map +1 -0
  287. package/dist/hooks/message-context.js +145 -0
  288. package/dist/hooks/message-context.js.map +1 -0
  289. package/dist/hooks/policy-context.d.ts.map +1 -0
  290. package/dist/hooks/runtime-context.d.ts +122 -0
  291. package/dist/hooks/runtime-context.d.ts.map +1 -0
  292. package/dist/hooks/runtime-context.js +149 -0
  293. package/dist/hooks/runtime-context.js.map +1 -0
  294. package/dist/hooks/signal.d.ts +267 -0
  295. package/dist/hooks/signal.d.ts.map +1 -0
  296. package/dist/hooks/signal.js +825 -0
  297. package/dist/hooks/signal.js.map +1 -0
  298. package/dist/hooks/types.d.ts +179 -0
  299. package/dist/hooks/types.d.ts.map +1 -0
  300. package/dist/hooks/types.js +5 -0
  301. package/dist/hooks/types.js.map +1 -0
  302. package/dist/index.d.ts +20 -0
  303. package/dist/index.d.ts.map +1 -0
  304. package/dist/index.js +50 -0
  305. package/dist/index.js.map +1 -0
  306. package/dist/jsx/components/agent.d.ts +64 -0
  307. package/dist/jsx/components/agent.d.ts.map +1 -0
  308. package/dist/jsx/components/agent.js +80 -0
  309. package/dist/jsx/components/agent.js.map +1 -0
  310. package/dist/jsx/components/complete.d.ts +65 -0
  311. package/dist/jsx/components/complete.d.ts.map +1 -0
  312. package/dist/jsx/components/complete.js +64 -0
  313. package/dist/jsx/components/complete.js.map +1 -0
  314. package/dist/jsx/components/content.d.ts +98 -0
  315. package/dist/jsx/components/content.d.ts.map +1 -0
  316. package/dist/jsx/components/content.js +51 -0
  317. package/dist/jsx/components/content.js.map +1 -0
  318. package/dist/jsx/components/harness.d.ts +118 -0
  319. package/dist/jsx/components/harness.d.ts.map +1 -0
  320. package/dist/jsx/components/harness.js +117 -0
  321. package/dist/jsx/components/harness.js.map +1 -0
  322. package/dist/jsx/components/index.d.ts +11 -0
  323. package/dist/jsx/components/index.d.ts.map +1 -0
  324. package/dist/jsx/components/index.js +11 -0
  325. package/dist/jsx/components/index.js.map +1 -0
  326. package/dist/jsx/components/markdown.d.ts +31 -0
  327. package/dist/jsx/components/markdown.d.ts.map +1 -0
  328. package/dist/jsx/components/markdown.js +17 -0
  329. package/dist/jsx/components/markdown.js.map +1 -0
  330. package/dist/jsx/components/messages.d.ts +283 -0
  331. package/dist/jsx/components/messages.d.ts.map +1 -0
  332. package/dist/jsx/components/messages.js +257 -0
  333. package/dist/jsx/components/messages.js.map +1 -0
  334. package/dist/jsx/components/model.d.ts +94 -0
  335. package/dist/jsx/components/model.d.ts.map +1 -0
  336. package/dist/jsx/components/model.js +96 -0
  337. package/dist/jsx/components/model.js.map +1 -0
  338. package/dist/jsx/components/primitives.d.ts +117 -0
  339. package/dist/jsx/components/primitives.d.ts.map +1 -0
  340. package/dist/jsx/components/primitives.js +83 -0
  341. package/dist/jsx/components/primitives.js.map +1 -0
  342. package/dist/jsx/components/renderer.d.ts +24 -0
  343. package/dist/jsx/components/renderer.d.ts.map +1 -0
  344. package/dist/jsx/components/renderer.js +11 -0
  345. package/dist/jsx/components/renderer.js.map +1 -0
  346. package/dist/jsx/components/semantic.d.ts +155 -0
  347. package/dist/jsx/components/semantic.d.ts.map +1 -0
  348. package/dist/jsx/components/semantic.js +39 -0
  349. package/dist/jsx/components/semantic.js.map +1 -0
  350. package/dist/jsx/components/timeline.d.ts +157 -0
  351. package/dist/jsx/components/timeline.d.ts.map +1 -0
  352. package/dist/jsx/components/timeline.js +357 -0
  353. package/dist/jsx/components/timeline.js.map +1 -0
  354. package/dist/jsx/components/token-budget.d.ts +70 -0
  355. package/dist/jsx/components/token-budget.d.ts.map +1 -0
  356. package/dist/jsx/components/token-budget.js +135 -0
  357. package/dist/jsx/components/token-budget.js.map +1 -0
  358. package/dist/jsx/components/xml.d.ts +27 -0
  359. package/dist/jsx/components/xml.d.ts.map +1 -0
  360. package/dist/jsx/components/xml.js +17 -0
  361. package/dist/jsx/components/xml.js.map +1 -0
  362. package/dist/jsx/index.d.ts +58 -0
  363. package/dist/jsx/index.d.ts.map +1 -0
  364. package/dist/jsx/index.js +59 -0
  365. package/dist/jsx/index.js.map +1 -0
  366. package/dist/jsx/jsx-runtime.d.ts +370 -0
  367. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  368. package/dist/jsx/jsx-runtime.js +79 -0
  369. package/dist/jsx/jsx-runtime.js.map +1 -0
  370. package/dist/jsx/jsx-types.d.ts +23 -0
  371. package/dist/jsx/jsx-types.d.ts.map +1 -0
  372. package/dist/jsx/jsx-types.js +1 -0
  373. package/dist/jsx/jsx-types.js.map +1 -0
  374. package/dist/mcp/client.d.ts +46 -0
  375. package/dist/mcp/client.d.ts.map +1 -0
  376. package/dist/mcp/client.js +138 -0
  377. package/dist/mcp/client.js.map +1 -0
  378. package/dist/mcp/component.d.ts +95 -0
  379. package/dist/mcp/component.d.ts.map +1 -0
  380. package/dist/mcp/component.js +185 -0
  381. package/dist/mcp/component.js.map +1 -0
  382. package/dist/mcp/create-mcp-tool.d.ts +191 -0
  383. package/dist/mcp/create-mcp-tool.d.ts.map +1 -0
  384. package/dist/mcp/create-mcp-tool.js +228 -0
  385. package/dist/mcp/create-mcp-tool.js.map +1 -0
  386. package/dist/mcp/index.d.ts +49 -0
  387. package/dist/mcp/index.d.ts.map +1 -0
  388. package/dist/mcp/index.js +48 -0
  389. package/dist/mcp/index.js.map +1 -0
  390. package/dist/mcp/service.d.ts +39 -0
  391. package/dist/mcp/service.d.ts.map +1 -0
  392. package/dist/mcp/service.js +77 -0
  393. package/dist/mcp/service.js.map +1 -0
  394. package/dist/mcp/tool.d.ts +55 -0
  395. package/dist/mcp/tool.d.ts.map +1 -0
  396. package/dist/mcp/tool.js +119 -0
  397. package/dist/mcp/tool.js.map +1 -0
  398. package/dist/mcp/types.d.ts +72 -0
  399. package/dist/mcp/types.d.ts.map +1 -0
  400. package/dist/mcp/types.js +6 -0
  401. package/dist/mcp/types.js.map +1 -0
  402. package/dist/middleware/defaults.d.ts +9 -0
  403. package/dist/middleware/defaults.d.ts.map +1 -0
  404. package/dist/middleware/defaults.js +47 -0
  405. package/dist/middleware/defaults.js.map +1 -0
  406. package/dist/model/adapter-helpers.d.ts +161 -0
  407. package/dist/model/adapter-helpers.d.ts.map +1 -0
  408. package/dist/model/adapter-helpers.js +351 -0
  409. package/dist/model/adapter-helpers.js.map +1 -0
  410. package/dist/model/adapter.d.ts +399 -0
  411. package/dist/model/adapter.d.ts.map +1 -0
  412. package/dist/model/adapter.js +497 -0
  413. package/dist/model/adapter.js.map +1 -0
  414. package/dist/model/index.d.ts +54 -0
  415. package/dist/model/index.d.ts.map +1 -0
  416. package/dist/model/index.js +55 -0
  417. package/dist/model/index.js.map +1 -0
  418. package/dist/model/model-hooks.d.ts +45 -0
  419. package/dist/model/model-hooks.d.ts.map +1 -0
  420. package/dist/model/model-hooks.js +24 -0
  421. package/dist/model/model-hooks.js.map +1 -0
  422. package/dist/model/model.d.ts +302 -0
  423. package/dist/model/model.d.ts.map +1 -0
  424. package/dist/model/model.js +20 -0
  425. package/dist/model/model.js.map +1 -0
  426. package/dist/model/simple-adapter.d.ts +176 -0
  427. package/dist/model/simple-adapter.d.ts.map +1 -0
  428. package/dist/model/simple-adapter.js +264 -0
  429. package/dist/model/simple-adapter.js.map +1 -0
  430. package/dist/model/stream-accumulator.d.ts +284 -0
  431. package/dist/model/stream-accumulator.d.ts.map +1 -0
  432. package/dist/model/stream-accumulator.js +532 -0
  433. package/dist/model/stream-accumulator.js.map +1 -0
  434. package/dist/model/utils/index.d.ts +2 -0
  435. package/dist/model/utils/index.d.ts.map +1 -0
  436. package/dist/model/utils/index.js +2 -0
  437. package/dist/model/utils/index.js.map +1 -0
  438. package/dist/model/utils/language-model.d.ts +26 -0
  439. package/dist/model/utils/language-model.d.ts.map +1 -0
  440. package/dist/model/utils/language-model.js +706 -0
  441. package/dist/model/utils/language-model.js.map +1 -0
  442. package/dist/procedure/index.d.ts +20 -0
  443. package/dist/procedure/index.d.ts.map +1 -0
  444. package/dist/procedure/index.js +19 -0
  445. package/dist/procedure/index.js.map +1 -0
  446. package/dist/reconciler/devtools-bridge.d.ts +40 -0
  447. package/dist/reconciler/devtools-bridge.d.ts.map +1 -0
  448. package/dist/reconciler/devtools-bridge.js +79 -0
  449. package/dist/reconciler/devtools-bridge.js.map +1 -0
  450. package/dist/reconciler/host-config.d.ts +39 -0
  451. package/dist/reconciler/host-config.d.ts.map +1 -0
  452. package/dist/reconciler/host-config.js +195 -0
  453. package/dist/reconciler/host-config.js.map +1 -0
  454. package/dist/reconciler/index.d.ts +7 -0
  455. package/dist/reconciler/index.d.ts.map +1 -0
  456. package/dist/reconciler/index.js +7 -0
  457. package/dist/reconciler/index.js.map +1 -0
  458. package/dist/reconciler/reconciler.d.ts +47 -0
  459. package/dist/reconciler/reconciler.d.ts.map +1 -0
  460. package/dist/reconciler/reconciler.js +89 -0
  461. package/dist/reconciler/reconciler.js.map +1 -0
  462. package/dist/reconciler/types.d.ts +86 -0
  463. package/dist/reconciler/types.d.ts.map +1 -0
  464. package/dist/reconciler/types.js +37 -0
  465. package/dist/reconciler/types.js.map +1 -0
  466. package/dist/renderers/base.d.ts +98 -0
  467. package/dist/renderers/base.d.ts.map +1 -0
  468. package/dist/renderers/base.js +82 -0
  469. package/dist/renderers/base.js.map +1 -0
  470. package/dist/renderers/index.d.ts +31 -0
  471. package/dist/renderers/index.d.ts.map +1 -0
  472. package/dist/renderers/index.js +31 -0
  473. package/dist/renderers/index.js.map +1 -0
  474. package/dist/renderers/markdown.d.ts +48 -0
  475. package/dist/renderers/markdown.d.ts.map +1 -0
  476. package/dist/renderers/markdown.js +432 -0
  477. package/dist/renderers/markdown.js.map +1 -0
  478. package/dist/renderers/types.d.ts +7 -0
  479. package/dist/renderers/types.d.ts.map +1 -0
  480. package/dist/renderers/types.js +7 -0
  481. package/dist/renderers/types.js.map +1 -0
  482. package/dist/renderers/xml.d.ts +49 -0
  483. package/dist/renderers/xml.d.ts.map +1 -0
  484. package/dist/renderers/xml.js +444 -0
  485. package/dist/renderers/xml.js.map +1 -0
  486. package/dist/state/boundary.d.ts +347 -0
  487. package/dist/state/boundary.d.ts.map +1 -0
  488. package/dist/state/boundary.js +341 -0
  489. package/dist/state/boundary.js.map +1 -0
  490. package/dist/state/context.d.ts +138 -0
  491. package/dist/state/context.d.ts.map +1 -0
  492. package/dist/state/context.js +139 -0
  493. package/dist/state/context.js.map +1 -0
  494. package/dist/state/hooks.d.ts +798 -0
  495. package/dist/state/hooks.d.ts.map +1 -0
  496. package/dist/state/hooks.js +1437 -0
  497. package/dist/state/hooks.js.map +1 -0
  498. package/dist/state/index.d.ts +72 -0
  499. package/dist/state/index.d.ts.map +1 -0
  500. package/dist/state/index.js +73 -0
  501. package/dist/state/index.js.map +1 -0
  502. package/dist/state/signal.d.ts +223 -0
  503. package/dist/state/signal.d.ts.map +1 -0
  504. package/dist/state/signal.js +699 -0
  505. package/dist/state/signal.js.map +1 -0
  506. package/dist/state/use-state.d.ts +210 -0
  507. package/dist/state/use-state.d.ts.map +1 -0
  508. package/dist/state/use-state.js +327 -0
  509. package/dist/state/use-state.js.map +1 -0
  510. package/dist/tentickle-instance.d.ts +285 -0
  511. package/dist/tentickle-instance.d.ts.map +1 -0
  512. package/dist/tentickle-instance.js +700 -0
  513. package/dist/tentickle-instance.js.map +1 -0
  514. package/dist/testing/act.d.ts +59 -0
  515. package/dist/testing/act.d.ts.map +1 -0
  516. package/dist/testing/act.js +92 -0
  517. package/dist/testing/act.js.map +1 -0
  518. package/dist/testing/async-helpers.d.ts +99 -0
  519. package/dist/testing/async-helpers.d.ts.map +1 -0
  520. package/dist/testing/async-helpers.js +193 -0
  521. package/dist/testing/async-helpers.js.map +1 -0
  522. package/dist/testing/compile-agent.d.ts +101 -0
  523. package/dist/testing/compile-agent.d.ts.map +1 -0
  524. package/dist/testing/compile-agent.js +136 -0
  525. package/dist/testing/compile-agent.js.map +1 -0
  526. package/dist/testing/index.d.ts +57 -0
  527. package/dist/testing/index.d.ts.map +1 -0
  528. package/dist/testing/index.js +59 -0
  529. package/dist/testing/index.js.map +1 -0
  530. package/dist/testing/mock-app.d.ts +163 -0
  531. package/dist/testing/mock-app.d.ts.map +1 -0
  532. package/dist/testing/mock-app.js +393 -0
  533. package/dist/testing/mock-app.js.map +1 -0
  534. package/dist/testing/mocks.d.ts +142 -0
  535. package/dist/testing/mocks.d.ts.map +1 -0
  536. package/dist/testing/mocks.js +191 -0
  537. package/dist/testing/mocks.js.map +1 -0
  538. package/dist/testing/render-agent.d.ts +146 -0
  539. package/dist/testing/render-agent.d.ts.map +1 -0
  540. package/dist/testing/render-agent.js +200 -0
  541. package/dist/testing/render-agent.js.map +1 -0
  542. package/dist/testing/test-adapter.d.ts +157 -0
  543. package/dist/testing/test-adapter.d.ts.map +1 -0
  544. package/dist/testing/test-adapter.js +297 -0
  545. package/dist/testing/test-adapter.js.map +1 -0
  546. package/dist/testing/test-model.d.ts +132 -0
  547. package/dist/testing/test-model.d.ts.map +1 -0
  548. package/dist/testing/test-model.js +260 -0
  549. package/dist/testing/test-model.js.map +1 -0
  550. package/dist/tool/index.d.ts +61 -0
  551. package/dist/tool/index.d.ts.map +1 -0
  552. package/dist/tool/index.js +63 -0
  553. package/dist/tool/index.js.map +1 -0
  554. package/dist/tool/tool-hooks.d.ts +45 -0
  555. package/dist/tool/tool-hooks.d.ts.map +1 -0
  556. package/dist/tool/tool-hooks.js +35 -0
  557. package/dist/tool/tool-hooks.js.map +1 -0
  558. package/dist/tool/tool.d.ts +403 -0
  559. package/dist/tool/tool.d.ts.map +1 -0
  560. package/dist/tool/tool.js +176 -0
  561. package/dist/tool/tool.js.map +1 -0
  562. package/dist/types.d.ts +442 -0
  563. package/dist/types.d.ts.map +1 -0
  564. package/dist/types.js +97 -0
  565. package/dist/types.js.map +1 -0
  566. package/dist/utils/abort-utils.d.ts +5 -0
  567. package/dist/utils/abort-utils.d.ts.map +1 -0
  568. package/dist/utils/abort-utils.js +50 -0
  569. package/dist/utils/abort-utils.js.map +1 -0
  570. package/dist/utils/classify-error.d.ts +19 -0
  571. package/dist/utils/classify-error.d.ts.map +1 -0
  572. package/dist/utils/classify-error.js +77 -0
  573. package/dist/utils/classify-error.js.map +1 -0
  574. package/dist/utils/index.d.ts +21 -0
  575. package/dist/utils/index.d.ts.map +1 -0
  576. package/dist/utils/index.js +21 -0
  577. package/dist/utils/index.js.map +1 -0
  578. package/dist/utils/normalization.d.ts +6 -0
  579. package/dist/utils/normalization.d.ts.map +1 -0
  580. package/dist/utils/normalization.js +103 -0
  581. package/dist/utils/normalization.js.map +1 -0
  582. package/dist/utils/registry.d.ts +15 -0
  583. package/dist/utils/registry.d.ts.map +1 -0
  584. package/dist/utils/registry.js +28 -0
  585. package/dist/utils/registry.js.map +1 -0
  586. package/dist/utils/schema.d.ts +7 -0
  587. package/dist/utils/schema.d.ts.map +1 -0
  588. package/dist/utils/schema.js +13 -0
  589. package/dist/utils/schema.js.map +1 -0
  590. package/dist/utils/token-estimate.d.ts +87 -0
  591. package/dist/utils/token-estimate.d.ts.map +1 -0
  592. package/dist/utils/token-estimate.js +199 -0
  593. package/dist/utils/token-estimate.js.map +1 -0
  594. package/dist/v2/reconciler/host-config.d.ts +31 -0
  595. package/dist/v2/reconciler/host-config.d.ts.map +1 -0
  596. package/dist/v2/reconciler/host-config.js +197 -0
  597. package/dist/v2/reconciler/host-config.js.map +1 -0
  598. package/dist/v2/reconciler/index.d.ts +7 -0
  599. package/dist/v2/reconciler/index.d.ts.map +1 -0
  600. package/dist/v2/reconciler/index.js +7 -0
  601. package/dist/v2/reconciler/index.js.map +1 -0
  602. package/dist/v2/reconciler/reconciler.d.ts +39 -0
  603. package/dist/v2/reconciler/reconciler.d.ts.map +1 -0
  604. package/dist/v2/reconciler/reconciler.js +54 -0
  605. package/dist/v2/reconciler/reconciler.js.map +1 -0
  606. package/dist/v2/reconciler/types.d.ts +64 -0
  607. package/dist/v2/reconciler/types.d.ts.map +1 -0
  608. package/dist/v2/reconciler/types.js +20 -0
  609. package/dist/v2/reconciler/types.js.map +1 -0
  610. package/dist/v2/renderers/index.d.ts +7 -0
  611. package/dist/v2/renderers/index.d.ts.map +1 -0
  612. package/dist/v2/renderers/index.js +7 -0
  613. package/dist/v2/renderers/index.js.map +1 -0
  614. package/dist/v2/renderers/markdown.d.ts +16 -0
  615. package/dist/v2/renderers/markdown.d.ts.map +1 -0
  616. package/dist/v2/renderers/markdown.js +65 -0
  617. package/dist/v2/renderers/markdown.js.map +1 -0
  618. package/dist/v2/renderers/types.d.ts +26 -0
  619. package/dist/v2/renderers/types.d.ts.map +1 -0
  620. package/dist/v2/renderers/types.js +6 -0
  621. package/dist/v2/renderers/types.js.map +1 -0
  622. package/dist/v2/renderers/xml.d.ts +17 -0
  623. package/dist/v2/renderers/xml.d.ts.map +1 -0
  624. package/dist/v2/renderers/xml.js +73 -0
  625. package/dist/v2/renderers/xml.js.map +1 -0
  626. package/package.json +49 -0
@@ -0,0 +1,228 @@
1
+ /**
2
+ * MCP Tool Creation
3
+ *
4
+ * Factory functions for creating MCP tools that work like regular tools:
5
+ * - Pass to models: engine.execute({ tools: [tool] })
6
+ * - Run directly: await tool.run(input)
7
+ * - Use in JSX: <MyMCPTool />
8
+ *
9
+ * Three main entry points:
10
+ * 1. createMCPTool() - Component factory with discovery, for JSX usage
11
+ * 2. createMCPToolFromDefinition() - Direct creation from known definition
12
+ * 3. discoverMCPTools() - Batch discovery of all tools on a server
13
+ */
14
+ import React from "react";
15
+ import { MCPClient } from "./client";
16
+ import { MCPService } from "./service";
17
+ import { MCPTool } from "./tool";
18
+ import { MCPToolComponent } from "./component";
19
+ // ============================================================================
20
+ // Config Utilities
21
+ // ============================================================================
22
+ /**
23
+ * Normalizes Cursor-style config to full MCPConfig.
24
+ *
25
+ * Cursor-style: { command: 'npx', args: [...], env: {...} }
26
+ * Full MCPConfig: { serverName, transport, connection: {...} }
27
+ */
28
+ export function normalizeMCPConfig(serverName, config) {
29
+ // Already a full MCPConfig
30
+ if ("transport" in config && "connection" in config) {
31
+ return config;
32
+ }
33
+ // Convert Cursor-style to MCPConfig (assumes stdio transport)
34
+ const c = config;
35
+ return {
36
+ serverName,
37
+ transport: "stdio",
38
+ connection: {
39
+ command: c.command,
40
+ args: c.args || [],
41
+ env: c.env,
42
+ },
43
+ };
44
+ }
45
+ /**
46
+ * Merges base config with runtime overrides.
47
+ * Runtime values take precedence.
48
+ */
49
+ export function mergeMCPConfig(base, runtime) {
50
+ if (!runtime)
51
+ return base;
52
+ return {
53
+ ...base,
54
+ ...runtime,
55
+ connection: {
56
+ ...base.connection,
57
+ ...runtime.connection,
58
+ },
59
+ auth: runtime.auth || base.auth,
60
+ };
61
+ }
62
+ /**
63
+ * Creates an MCP tool component that discovers and registers on mount.
64
+ *
65
+ * Use this when you need:
66
+ * - Dynamic discovery at runtime
67
+ * - Runtime configuration (auth tokens)
68
+ * - JSX-based tool declaration
69
+ *
70
+ * @example Basic usage
71
+ * ```tsx
72
+ * const ReadFile = createMCPTool({
73
+ * server: 'filesystem',
74
+ * config: { command: 'npx', args: ['-y', '@modelcontextprotocol/server-filesystem', '/path'] },
75
+ * toolName: 'read_file',
76
+ * });
77
+ *
78
+ * function MyAgent() {
79
+ * return (
80
+ * <>
81
+ * <ReadFile />
82
+ * <Model />
83
+ * </>
84
+ * );
85
+ * }
86
+ * ```
87
+ *
88
+ * @example With runtime auth
89
+ * ```tsx
90
+ * const APITool = createMCPTool({
91
+ * server: 'api',
92
+ * config: { transport: 'sse', connection: { url: 'https://api.example.com/mcp' } },
93
+ * toolName: 'query',
94
+ * });
95
+ *
96
+ * // Runtime config from user context
97
+ * <APITool runtimeConfig={{ auth: { type: 'bearer', token: userToken } }} />
98
+ * ```
99
+ */
100
+ export function createMCPTool(options) {
101
+ // Return a functional component that wraps MCPToolComponent with merged props
102
+ const SingleMCPToolComponent = (props) => {
103
+ // Build merged props
104
+ const mergedProps = {
105
+ server: props?.server ?? options.server,
106
+ config: props?.config ?? options.config,
107
+ // If toolName specified, only include that tool; otherwise include first tool
108
+ include: options.toolName ? [options.toolName] : undefined,
109
+ toolPrefix: props?.toolPrefix ?? options.toolPrefix,
110
+ mcpClient: props?.client ?? options.client,
111
+ runtimeConfig: props?.runtimeConfig ?? options.runtimeConfig,
112
+ // Pass lifecycle hooks from options
113
+ onMount: options.onMount,
114
+ onUnmount: options.onUnmount,
115
+ onStart: options.onStart,
116
+ onTickStart: options.onTickStart,
117
+ onTickEnd: options.onTickEnd,
118
+ onComplete: options.onComplete,
119
+ onError: options.onError,
120
+ };
121
+ return React.createElement(MCPToolComponent, mergedProps);
122
+ };
123
+ return SingleMCPToolComponent;
124
+ }
125
+ /**
126
+ * Creates an ExecutableTool from an MCP tool definition.
127
+ *
128
+ * Use this when you already have:
129
+ * - An active MCPClient connection
130
+ * - The tool definition from discovery
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const client = new MCPClient();
135
+ * const service = new MCPService(client);
136
+ *
137
+ * // Connect and discover
138
+ * const config: MCPConfig = {
139
+ * serverName: 'filesystem',
140
+ * transport: 'stdio',
141
+ * connection: { command: 'npx', args: [...] }
142
+ * };
143
+ * const tools = await service.connectAndDiscover(config);
144
+ *
145
+ * // Create specific tool
146
+ * const readFile = createMCPToolFromDefinition({
147
+ * client,
148
+ * config,
149
+ * definition: tools.find(t => t.name === 'read_file')!,
150
+ * });
151
+ *
152
+ * // Pass to model
153
+ * engine.execute({ tools: [readFile] });
154
+ *
155
+ * // Or run directly
156
+ * const result = await readFile.run({ path: '/file.txt' });
157
+ * ```
158
+ */
159
+ export function createMCPToolFromDefinition(options) {
160
+ const { client, config, definition } = options;
161
+ const name = options.name || definition.name;
162
+ const mcpConfig = {
163
+ serverName: config.serverName,
164
+ serverUrl: config.connection.url,
165
+ transport: config.transport,
166
+ };
167
+ return new MCPTool(client, config.serverName, { ...definition, name }, mcpConfig);
168
+ }
169
+ /**
170
+ * Discovers all tools from an MCP server and creates ExecutableTools.
171
+ *
172
+ * Use this for batch tool registration or when you need all tools
173
+ * from a server without JSX.
174
+ *
175
+ * @example Basic discovery
176
+ * ```typescript
177
+ * const tools = await discoverMCPTools({
178
+ * config: {
179
+ * serverName: 'filesystem',
180
+ * transport: 'stdio',
181
+ * connection: { command: 'npx', args: [...] }
182
+ * },
183
+ * });
184
+ *
185
+ * // Pass all to model
186
+ * engine.execute({ tools });
187
+ * ```
188
+ *
189
+ * @example With filtering
190
+ * ```typescript
191
+ * const tools = await discoverMCPTools({
192
+ * config,
193
+ * include: ['read_file', 'list_directory'], // Only these
194
+ * toolPrefix: 'fs_',
195
+ * });
196
+ * ```
197
+ *
198
+ * @example Register with COM
199
+ * ```typescript
200
+ * const tools = await discoverMCPTools({ config });
201
+ * tools.forEach(tool => ctx.addTool(tool));
202
+ * ```
203
+ */
204
+ export async function discoverMCPTools(options) {
205
+ const { config } = options;
206
+ const client = options.client ?? new MCPClient();
207
+ const service = new MCPService(client);
208
+ // Discover
209
+ let definitions = await service.connectAndDiscover(config);
210
+ // Filter
211
+ if (options.include?.length) {
212
+ definitions = definitions.filter((t) => options.include.includes(t.name));
213
+ }
214
+ else if (options.exclude?.length) {
215
+ definitions = definitions.filter((t) => !options.exclude.includes(t.name));
216
+ }
217
+ // Create tools
218
+ return definitions.map((def) => {
219
+ const name = options.toolPrefix ? `${options.toolPrefix}${def.name}` : def.name;
220
+ return createMCPToolFromDefinition({
221
+ client,
222
+ config,
223
+ definition: def,
224
+ name,
225
+ });
226
+ });
227
+ }
228
+ //# sourceMappingURL=create-mcp-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-mcp-tool.js","sourceRoot":"","sources":["../../src/mcp/create-mcp-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * # Agentick MCP (Model Context Protocol)
3
+ *
4
+ * Integration with MCP servers for external tool execution.
5
+ * MCP allows agents to use tools provided by external servers.
6
+ *
7
+ * ## Features
8
+ *
9
+ * - **MCPClient** - Connect to MCP servers
10
+ * - **MCPService** - Manage multiple MCP connections
11
+ * - **Tool Discovery** - Auto-discover tools from MCP servers
12
+ * - **Tool Components** - Use MCP tools as JSX components
13
+ *
14
+ * ## Quick Start
15
+ *
16
+ * ```typescript
17
+ * import { discoverMCPTools } from 'agentick/mcp';
18
+ *
19
+ * // Discover tools from an MCP server
20
+ * const tools = await discoverMCPTools({
21
+ * server: {
22
+ * command: 'npx',
23
+ * args: ['-y', '@modelcontextprotocol/server-filesystem'],
24
+ * },
25
+ * });
26
+ *
27
+ * // Use in an agent
28
+ * const MyAgent = () => (
29
+ * <>
30
+ * <System>You can read and write files.</System>
31
+ * {tools.map(tool => <Tool key={tool.name} tool={tool} />)}
32
+ * </>
33
+ * );
34
+ * ```
35
+ *
36
+ * @see {@link MCPClient} - MCP server client
37
+ * @see {@link MCPService} - MCP connection manager
38
+ * @see {@link discoverMCPTools} - Tool discovery
39
+ *
40
+ * @module agentick/mcp
41
+ */
42
+ export * from "./types";
43
+ export * from "./client";
44
+ export * from "./service";
45
+ export * from "./tool";
46
+ export { MCPToolComponent, MCPTool } from "./component";
47
+ export { createMCPTool, createMCPToolFromDefinition, discoverMCPTools, normalizeMCPConfig, mergeMCPConfig, } from "./create-mcp-tool";
48
+ export type { CreateMCPToolOptions, CreateMCPToolFromDefinitionOptions, DiscoverMCPToolsOptions, } from "./create-mcp-tool";
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,kCAAkC,EAClC,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * # Agentick MCP (Model Context Protocol)
3
+ *
4
+ * Integration with MCP servers for external tool execution.
5
+ * MCP allows agents to use tools provided by external servers.
6
+ *
7
+ * ## Features
8
+ *
9
+ * - **MCPClient** - Connect to MCP servers
10
+ * - **MCPService** - Manage multiple MCP connections
11
+ * - **Tool Discovery** - Auto-discover tools from MCP servers
12
+ * - **Tool Components** - Use MCP tools as JSX components
13
+ *
14
+ * ## Quick Start
15
+ *
16
+ * ```typescript
17
+ * import { discoverMCPTools } from 'agentick/mcp';
18
+ *
19
+ * // Discover tools from an MCP server
20
+ * const tools = await discoverMCPTools({
21
+ * server: {
22
+ * command: 'npx',
23
+ * args: ['-y', '@modelcontextprotocol/server-filesystem'],
24
+ * },
25
+ * });
26
+ *
27
+ * // Use in an agent
28
+ * const MyAgent = () => (
29
+ * <>
30
+ * <System>You can read and write files.</System>
31
+ * {tools.map(tool => <Tool key={tool.name} tool={tool} />)}
32
+ * </>
33
+ * );
34
+ * ```
35
+ *
36
+ * @see {@link MCPClient} - MCP server client
37
+ * @see {@link MCPService} - MCP connection manager
38
+ * @see {@link discoverMCPTools} - Tool discovery
39
+ *
40
+ * @module agentick/mcp
41
+ */
42
+ export * from "./types";
43
+ export * from "./client";
44
+ export * from "./service";
45
+ export * from "./tool";
46
+ export { MCPToolComponent, MCPTool } from "./component";
47
+ export { createMCPTool, createMCPToolFromDefinition, discoverMCPTools, normalizeMCPConfig, mergeMCPConfig, } from "./create-mcp-tool";
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * MCP Service
3
+ *
4
+ * Manages MCP server connections, tool discovery, and registration.
5
+ * Uses the official @modelcontextprotocol/sdk Client.
6
+ */
7
+ import type { Client } from "@modelcontextprotocol/sdk/client";
8
+ import type { MCPClient } from "./client";
9
+ import type { MCPConfig, MCPToolDefinition } from "./types";
10
+ import type { COM } from "../com/object-model";
11
+ /**
12
+ * MCP Service handles discovery and registration of MCP tools
13
+ */
14
+ export declare class MCPService {
15
+ private mcpClient;
16
+ constructor(mcpClient: MCPClient);
17
+ connect(config: MCPConfig): Promise<Client>;
18
+ disconnect(serverName: string): Promise<void>;
19
+ disconnectAll(): Promise<void>;
20
+ /**
21
+ * Connect to an MCP server and discover its tools using SDK
22
+ */
23
+ connectAndDiscover(config: MCPConfig): Promise<MCPToolDefinition[]>;
24
+ /**
25
+ * Discover tools from an MCP server and register them with the COM
26
+ */
27
+ discoverAndRegister(config: MCPConfig, ctx: COM): Promise<void>;
28
+ listTools(serverName: string): Promise<MCPToolDefinition[]>;
29
+ /**
30
+ * Register a single MCP tool (useful for manual registration)
31
+ */
32
+ registerMCPTool(config: MCPConfig, mcpToolDef: MCPToolDefinition, ctx: COM): Promise<void>;
33
+ /**
34
+ * Disconnect from an MCP server and remove its tools.
35
+ * Finds tools belonging to this server by checking metadata.mcpConfig.serverName.
36
+ */
37
+ disconnectAndUnregister(serverName: string, ctx: COM): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/mcp/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAElC,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMzE;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIjE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhG;;;OAGG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3E"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * MCP Service
3
+ *
4
+ * Manages MCP server connections, tool discovery, and registration.
5
+ * Uses the official @modelcontextprotocol/sdk Client.
6
+ */
7
+ import { MCPTool } from "./tool";
8
+ /**
9
+ * MCP Service handles discovery and registration of MCP tools
10
+ */
11
+ export class MCPService {
12
+ mcpClient;
13
+ constructor(mcpClient) {
14
+ this.mcpClient = mcpClient;
15
+ }
16
+ async connect(config) {
17
+ return await this.mcpClient.connect(config);
18
+ }
19
+ async disconnect(serverName) {
20
+ await this.mcpClient.disconnect(serverName);
21
+ }
22
+ async disconnectAll() {
23
+ await this.mcpClient.disconnectAll();
24
+ }
25
+ /**
26
+ * Connect to an MCP server and discover its tools using SDK
27
+ */
28
+ async connectAndDiscover(config) {
29
+ await this.connect(config);
30
+ return await this.listTools(config.serverName);
31
+ }
32
+ /**
33
+ * Discover tools from an MCP server and register them with the COM
34
+ */
35
+ async discoverAndRegister(config, ctx) {
36
+ const tools = await this.connectAndDiscover(config);
37
+ for (const mcpToolDef of tools) {
38
+ const tool = new MCPTool(this.mcpClient, config.serverName, mcpToolDef, {
39
+ serverUrl: config.connection.url,
40
+ serverName: config.serverName,
41
+ transport: config.transport,
42
+ });
43
+ await ctx.addTool(tool);
44
+ }
45
+ }
46
+ async listTools(serverName) {
47
+ return await this.mcpClient.listTools(serverName);
48
+ }
49
+ /**
50
+ * Register a single MCP tool (useful for manual registration)
51
+ */
52
+ async registerMCPTool(config, mcpToolDef, ctx) {
53
+ const tool = new MCPTool(this.mcpClient, config.serverName, mcpToolDef, {
54
+ serverUrl: config.connection.url,
55
+ serverName: config.serverName,
56
+ transport: config.transport,
57
+ });
58
+ await ctx.addTool(tool);
59
+ }
60
+ /**
61
+ * Disconnect from an MCP server and remove its tools.
62
+ * Finds tools belonging to this server by checking metadata.mcpConfig.serverName.
63
+ */
64
+ async disconnectAndUnregister(serverName, ctx) {
65
+ // Find all tools that belong to this MCP server
66
+ const allTools = ctx.getTools();
67
+ const toolsToRemove = allTools
68
+ .filter((tool) => tool.metadata.mcpConfig?.serverName === serverName)
69
+ .map((tool) => tool.metadata.name);
70
+ // Remove each tool from the COM
71
+ for (const toolName of toolsToRemove) {
72
+ ctx.removeTool(toolName);
73
+ }
74
+ await this.disconnect(serverName);
75
+ }
76
+ }
77
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mcp/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC;;GAEG;AACH,MAAM,OAAO,UAAU;IACD;IAApB,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,KAAK,CAAC,OAAO,CAAC,MAAiB;QAC7B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAiB;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAiB,EAAE,GAAQ;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEpD,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE;gBACtE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;YAEH,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAiB,EAAE,UAA6B,EAAE,GAAQ;QAC9E,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE;YACtE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;YAChC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,GAAQ;QACxD,gDAAgD;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,QAAQ;aAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC;aACpE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErC,gCAAgC;QAChC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * MCP Tool
3
+ *
4
+ * Wraps an MCP server tool as an ExecutableTool.
5
+ * The tool forwards execution to the MCP server via MCPClient.
6
+ */
7
+ import { type ToolMetadata, type ExecutableTool, type ToolHandler } from "../tool/tool";
8
+ import type { ContentBlock } from "@agentick/shared";
9
+ import type { MCPClient } from "./client";
10
+ import type { MCPToolDefinition } from "./types";
11
+ import { z } from "zod";
12
+ import type { Procedure } from "@agentick/kernel";
13
+ /**
14
+ * Converts MCP JSON Schema to Zod schema.
15
+ * Basic conversion - supports common types.
16
+ */
17
+ export declare function mcpSchemaToZod(schema: MCPToolDefinition["inputSchema"]): z.ZodSchema;
18
+ /**
19
+ * Normalize MCP tool result to ContentBlock[].
20
+ */
21
+ export declare function normalizeResult(result: any): ContentBlock[];
22
+ /**
23
+ * MCP tool configuration stored in metadata.mcpConfig.
24
+ */
25
+ export interface MCPToolConfig {
26
+ serverUrl?: string;
27
+ serverName?: string;
28
+ transport?: "stdio" | "sse" | "websocket";
29
+ [key: string]: any;
30
+ }
31
+ /**
32
+ * MCPTool wraps an MCP server tool as an ExecutableTool.
33
+ *
34
+ * This class is used internally by MCP creation functions.
35
+ * For most use cases, prefer `createMCPTool()` or `discoverMCPTools()`.
36
+ *
37
+ * @example Direct usage (advanced)
38
+ * ```typescript
39
+ * const tool = new MCPTool(mcpClient, 'server-name', toolDefinition, mcpConfig);
40
+ *
41
+ * // Register with COM
42
+ * ctx.addTool(tool);
43
+ *
44
+ * // Or execute directly
45
+ * const result = await tool.run({ path: '/file.txt' });
46
+ * ```
47
+ */
48
+ export declare class MCPTool<THandler extends ToolHandler = ToolHandler> implements ExecutableTool<THandler> {
49
+ private mcpClient;
50
+ private serverName;
51
+ readonly metadata: ToolMetadata<Parameters<THandler>[0]>;
52
+ readonly run: Procedure<THandler>;
53
+ constructor(mcpClient: MCPClient, serverName: string, mcpToolDefinition: MCPToolDefinition, mcpConfig?: MCPToolConfig);
54
+ }
55
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/mcp/tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAyCpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY,EAAE,CAa3D;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,OAAO,CAClB,QAAQ,SAAS,WAAW,GAAG,WAAW,CAC1C,YAAW,cAAc,CAAC,QAAQ,CAAC;IAKjC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IALpB,SAAgB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,SAAgB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAG/B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,CAAC,EAAE,aAAa;CAoC5B"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * MCP Tool
3
+ *
4
+ * Wraps an MCP server tool as an ExecutableTool.
5
+ * The tool forwards execution to the MCP server via MCPClient.
6
+ */
7
+ import { ToolExecutionType, } from "../tool/tool";
8
+ import { z } from "zod";
9
+ import { createEngineProcedure } from "../procedure";
10
+ // ============================================================================
11
+ // Schema Conversion
12
+ // ============================================================================
13
+ /**
14
+ * Converts MCP JSON Schema to Zod schema.
15
+ * Basic conversion - supports common types.
16
+ */
17
+ export function mcpSchemaToZod(schema) {
18
+ const properties = schema.properties || {};
19
+ const required = schema.required || [];
20
+ const shape = {};
21
+ for (const [key, prop] of Object.entries(properties)) {
22
+ let zType;
23
+ switch (prop.type) {
24
+ case "string":
25
+ zType = z.string();
26
+ break;
27
+ case "number":
28
+ case "integer":
29
+ zType = z.number();
30
+ break;
31
+ case "boolean":
32
+ zType = z.boolean();
33
+ break;
34
+ case "array":
35
+ zType = z.array(z.any());
36
+ break;
37
+ case "object":
38
+ zType = z.record(z.string(), z.any());
39
+ break;
40
+ default:
41
+ zType = z.any();
42
+ }
43
+ if (prop.description) {
44
+ zType = zType.describe(prop.description);
45
+ }
46
+ if (!required.includes(key)) {
47
+ zType = zType.optional();
48
+ }
49
+ shape[key] = zType;
50
+ }
51
+ return z.object(shape);
52
+ }
53
+ /**
54
+ * Normalize MCP tool result to ContentBlock[].
55
+ */
56
+ export function normalizeResult(result) {
57
+ if (typeof result === "string") {
58
+ return [{ type: "text", text: result }];
59
+ }
60
+ if (result && typeof result === "object") {
61
+ if (Array.isArray(result.content)) {
62
+ return result.content;
63
+ }
64
+ return [{ type: "text", text: JSON.stringify(result, null, 2) }];
65
+ }
66
+ return [{ type: "text", text: String(result) }];
67
+ }
68
+ /**
69
+ * MCPTool wraps an MCP server tool as an ExecutableTool.
70
+ *
71
+ * This class is used internally by MCP creation functions.
72
+ * For most use cases, prefer `createMCPTool()` or `discoverMCPTools()`.
73
+ *
74
+ * @example Direct usage (advanced)
75
+ * ```typescript
76
+ * const tool = new MCPTool(mcpClient, 'server-name', toolDefinition, mcpConfig);
77
+ *
78
+ * // Register with COM
79
+ * ctx.addTool(tool);
80
+ *
81
+ * // Or execute directly
82
+ * const result = await tool.run({ path: '/file.txt' });
83
+ * ```
84
+ */
85
+ export class MCPTool {
86
+ mcpClient;
87
+ serverName;
88
+ metadata;
89
+ run;
90
+ constructor(mcpClient, serverName, mcpToolDefinition, mcpConfig) {
91
+ this.mcpClient = mcpClient;
92
+ this.serverName = serverName;
93
+ // Convert MCP schema to Zod
94
+ const zodSchema = mcpSchemaToZod(mcpToolDefinition.inputSchema);
95
+ // Build metadata
96
+ this.metadata = {
97
+ name: mcpToolDefinition.name,
98
+ description: mcpToolDefinition.description,
99
+ input: zodSchema,
100
+ type: ToolExecutionType.MCP,
101
+ mcpConfig: mcpConfig,
102
+ };
103
+ // Create procedure that forwards to MCP server
104
+ this.run = createEngineProcedure({
105
+ name: "tool:run", // Low cardinality span name (same as regular tools)
106
+ metadata: {
107
+ type: "mcp",
108
+ toolName: mcpToolDefinition.name,
109
+ id: mcpToolDefinition.name,
110
+ operation: "run",
111
+ server: this.serverName,
112
+ },
113
+ }, (async (input) => {
114
+ const result = await this.mcpClient.callTool(this.serverName, mcpToolDefinition.name, input);
115
+ return normalizeResult(result);
116
+ }));
117
+ }
118
+ }
119
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/mcp/tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAwC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,KAAmB,CAAC;QAExB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM;YACR,KAAK,SAAS;gBACZ,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtC,MAAM;YACR;gBACE,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAW;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,OAAyB,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAgBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,OAAO;IAOR;IACA;IALM,QAAQ,CAAwC;IAChD,GAAG,CAAsB;IAEzC,YACU,SAAoB,EACpB,UAAkB,EAC1B,iBAAoC,EACpC,SAAyB;QAHjB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAQ;QAI1B,4BAA4B;QAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEhE,iBAAiB;QACjB,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,iBAAiB,CAAC,GAAG;YAC3B,SAAS,EAAE,SAAS;SACrB,CAAC;QAEF,+CAA+C;QAC/C,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAC9B;YACE,IAAI,EAAE,UAAU,EAAE,oDAAoD;YACtE,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,iBAAiB,CAAC,IAAI;gBAChC,EAAE,EAAE,iBAAiB,CAAC,IAAI;gBAC1B,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI,CAAC,UAAU;aACxB;SACF,EACD,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC1C,IAAI,CAAC,UAAU,EACf,iBAAiB,CAAC,IAAI,EACtB,KAAK,CACN,CAAC;YACF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAa,CACf,CAAC;IACJ,CAAC;CACF"}