@vurb/core 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/README.md +677 -0
  2. package/dist/cli/args.d.ts +26 -0
  3. package/dist/cli/args.d.ts.map +1 -0
  4. package/dist/cli/args.js +117 -0
  5. package/dist/cli/args.js.map +1 -0
  6. package/dist/cli/commands/create.d.ts +11 -0
  7. package/dist/cli/commands/create.d.ts.map +1 -0
  8. package/dist/cli/commands/create.js +121 -0
  9. package/dist/cli/commands/create.js.map +1 -0
  10. package/dist/cli/commands/deploy.d.ts +3 -0
  11. package/dist/cli/commands/deploy.d.ts.map +1 -0
  12. package/dist/cli/commands/deploy.js +268 -0
  13. package/dist/cli/commands/deploy.js.map +1 -0
  14. package/dist/cli/commands/dev.d.ts +9 -0
  15. package/dist/cli/commands/dev.d.ts.map +1 -0
  16. package/dist/cli/commands/dev.js +58 -0
  17. package/dist/cli/commands/dev.js.map +1 -0
  18. package/dist/cli/commands/lock.d.ts +5 -0
  19. package/dist/cli/commands/lock.d.ts.map +1 -0
  20. package/dist/cli/commands/lock.js +94 -0
  21. package/dist/cli/commands/lock.js.map +1 -0
  22. package/dist/cli/commands/remote.d.ts +3 -0
  23. package/dist/cli/commands/remote.d.ts.map +1 -0
  24. package/dist/cli/commands/remote.js +37 -0
  25. package/dist/cli/commands/remote.js.map +1 -0
  26. package/dist/cli/constants.d.ts +18 -0
  27. package/dist/cli/constants.d.ts.map +1 -0
  28. package/dist/cli/constants.js +95 -0
  29. package/dist/cli/constants.js.map +1 -0
  30. package/dist/cli/progress.d.ts +34 -0
  31. package/dist/cli/progress.d.ts.map +1 -0
  32. package/dist/cli/progress.js +102 -0
  33. package/dist/cli/progress.js.map +1 -0
  34. package/dist/cli/rc.d.ts +11 -0
  35. package/dist/cli/rc.d.ts.map +1 -0
  36. package/dist/cli/rc.js +75 -0
  37. package/dist/cli/rc.js.map +1 -0
  38. package/dist/cli/registry.d.ts +25 -0
  39. package/dist/cli/registry.d.ts.map +1 -0
  40. package/dist/cli/registry.js +86 -0
  41. package/dist/cli/registry.js.map +1 -0
  42. package/dist/cli/scaffold.d.ts +10 -0
  43. package/dist/cli/scaffold.d.ts.map +1 -0
  44. package/dist/cli/scaffold.js +105 -0
  45. package/dist/cli/scaffold.js.map +1 -0
  46. package/dist/cli/templates/config.d.ts +14 -0
  47. package/dist/cli/templates/config.d.ts.map +1 -0
  48. package/dist/cli/templates/config.js +133 -0
  49. package/dist/cli/templates/config.js.map +1 -0
  50. package/dist/cli/templates/constants.d.ts +9 -0
  51. package/dist/cli/templates/constants.d.ts.map +1 -0
  52. package/dist/cli/templates/constants.js +9 -0
  53. package/dist/cli/templates/constants.js.map +1 -0
  54. package/dist/cli/templates/core.d.ts +14 -0
  55. package/dist/cli/templates/core.d.ts.map +1 -0
  56. package/dist/cli/templates/core.js +186 -0
  57. package/dist/cli/templates/core.js.map +1 -0
  58. package/dist/cli/templates/cursor.d.ts +8 -0
  59. package/dist/cli/templates/cursor.d.ts.map +1 -0
  60. package/dist/cli/templates/cursor.js +13 -0
  61. package/dist/cli/templates/cursor.js.map +1 -0
  62. package/dist/cli/templates/index.d.ts +17 -0
  63. package/dist/cli/templates/index.d.ts.map +1 -0
  64. package/dist/cli/templates/index.js +27 -0
  65. package/dist/cli/templates/index.js.map +1 -0
  66. package/dist/cli/templates/middleware.d.ts +7 -0
  67. package/dist/cli/templates/middleware.d.ts.map +1 -0
  68. package/dist/cli/templates/middleware.js +34 -0
  69. package/dist/cli/templates/middleware.js.map +1 -0
  70. package/dist/cli/templates/presenter.d.ts +7 -0
  71. package/dist/cli/templates/presenter.d.ts.map +1 -0
  72. package/dist/cli/templates/presenter.js +46 -0
  73. package/dist/cli/templates/presenter.js.map +1 -0
  74. package/dist/cli/templates/prompt.d.ts +7 -0
  75. package/dist/cli/templates/prompt.d.ts.map +1 -0
  76. package/dist/cli/templates/prompt.js +42 -0
  77. package/dist/cli/templates/prompt.js.map +1 -0
  78. package/dist/cli/templates/readme.d.ts +8 -0
  79. package/dist/cli/templates/readme.d.ts.map +1 -0
  80. package/dist/cli/templates/readme.js +173 -0
  81. package/dist/cli/templates/readme.js.map +1 -0
  82. package/dist/cli/templates/testing.d.ts +11 -0
  83. package/dist/cli/templates/testing.d.ts.map +1 -0
  84. package/dist/cli/templates/testing.js +101 -0
  85. package/dist/cli/templates/testing.js.map +1 -0
  86. package/dist/cli/templates/tools.d.ts +13 -0
  87. package/dist/cli/templates/tools.d.ts.map +1 -0
  88. package/dist/cli/templates/tools.js +63 -0
  89. package/dist/cli/templates/tools.js.map +1 -0
  90. package/dist/cli/templates/vectors/database.d.ts +9 -0
  91. package/dist/cli/templates/vectors/database.d.ts.map +1 -0
  92. package/dist/cli/templates/vectors/database.js +82 -0
  93. package/dist/cli/templates/vectors/database.js.map +1 -0
  94. package/dist/cli/templates/vectors/index.d.ts +9 -0
  95. package/dist/cli/templates/vectors/index.d.ts.map +1 -0
  96. package/dist/cli/templates/vectors/index.js +9 -0
  97. package/dist/cli/templates/vectors/index.js.map +1 -0
  98. package/dist/cli/templates/vectors/oauth.d.ts +10 -0
  99. package/dist/cli/templates/vectors/oauth.d.ts.map +1 -0
  100. package/dist/cli/templates/vectors/oauth.js +76 -0
  101. package/dist/cli/templates/vectors/oauth.js.map +1 -0
  102. package/dist/cli/templates/vectors/openapi.d.ts +10 -0
  103. package/dist/cli/templates/vectors/openapi.d.ts.map +1 -0
  104. package/dist/cli/templates/vectors/openapi.js +106 -0
  105. package/dist/cli/templates/vectors/openapi.js.map +1 -0
  106. package/dist/cli/templates/vectors/workflow.d.ts +7 -0
  107. package/dist/cli/templates/vectors/workflow.d.ts.map +1 -0
  108. package/dist/cli/templates/vectors/workflow.js +49 -0
  109. package/dist/cli/templates/vectors/workflow.js.map +1 -0
  110. package/dist/cli/types.d.ts +36 -0
  111. package/dist/cli/types.d.ts.map +1 -0
  112. package/dist/cli/types.js +10 -0
  113. package/dist/cli/types.js.map +1 -0
  114. package/dist/cli/utils.d.ts +27 -0
  115. package/dist/cli/utils.d.ts.map +1 -0
  116. package/dist/cli/utils.js +73 -0
  117. package/dist/cli/utils.js.map +1 -0
  118. package/dist/cli/vurb.d.ts +15 -0
  119. package/dist/cli/vurb.d.ts.map +1 -0
  120. package/dist/cli/vurb.js +87 -0
  121. package/dist/cli/vurb.js.map +1 -0
  122. package/dist/client/InferRouter.d.ts +92 -0
  123. package/dist/client/InferRouter.d.ts.map +1 -0
  124. package/dist/client/InferRouter.js +31 -0
  125. package/dist/client/InferRouter.js.map +1 -0
  126. package/dist/client/VurbClient.d.ts +282 -0
  127. package/dist/client/VurbClient.d.ts.map +1 -0
  128. package/dist/client/VurbClient.js +287 -0
  129. package/dist/client/VurbClient.js.map +1 -0
  130. package/dist/client/createTypedRegistry.d.ts +25 -0
  131. package/dist/client/createTypedRegistry.d.ts.map +1 -0
  132. package/dist/client/createTypedRegistry.js +74 -0
  133. package/dist/client/createTypedRegistry.js.map +1 -0
  134. package/dist/client/index.d.ts +6 -0
  135. package/dist/client/index.d.ts.map +1 -0
  136. package/dist/client/index.js +4 -0
  137. package/dist/client/index.js.map +1 -0
  138. package/dist/converters/ConverterBase.d.ts +68 -0
  139. package/dist/converters/ConverterBase.d.ts.map +1 -0
  140. package/dist/converters/ConverterBase.js +62 -0
  141. package/dist/converters/ConverterBase.js.map +1 -0
  142. package/dist/converters/GroupConverter.d.ts +33 -0
  143. package/dist/converters/GroupConverter.d.ts.map +1 -0
  144. package/dist/converters/GroupConverter.js +26 -0
  145. package/dist/converters/GroupConverter.js.map +1 -0
  146. package/dist/converters/PromptConverter.d.ts +33 -0
  147. package/dist/converters/PromptConverter.d.ts.map +1 -0
  148. package/dist/converters/PromptConverter.js +26 -0
  149. package/dist/converters/PromptConverter.js.map +1 -0
  150. package/dist/converters/ResourceConverter.d.ts +35 -0
  151. package/dist/converters/ResourceConverter.d.ts.map +1 -0
  152. package/dist/converters/ResourceConverter.js +28 -0
  153. package/dist/converters/ResourceConverter.js.map +1 -0
  154. package/dist/converters/ToolAnnotationsConverter.d.ts +33 -0
  155. package/dist/converters/ToolAnnotationsConverter.d.ts.map +1 -0
  156. package/dist/converters/ToolAnnotationsConverter.js +26 -0
  157. package/dist/converters/ToolAnnotationsConverter.js.map +1 -0
  158. package/dist/converters/ToolConverter.d.ts +35 -0
  159. package/dist/converters/ToolConverter.d.ts.map +1 -0
  160. package/dist/converters/ToolConverter.js +28 -0
  161. package/dist/converters/ToolConverter.js.map +1 -0
  162. package/dist/converters/index.d.ts +7 -0
  163. package/dist/converters/index.d.ts.map +1 -0
  164. package/dist/converters/index.js +7 -0
  165. package/dist/converters/index.js.map +1 -0
  166. package/dist/core/StandardSchema.d.ts +178 -0
  167. package/dist/core/StandardSchema.d.ts.map +1 -0
  168. package/dist/core/StandardSchema.js +174 -0
  169. package/dist/core/StandardSchema.js.map +1 -0
  170. package/dist/core/builder/ActionGroupBuilder.d.ts +208 -0
  171. package/dist/core/builder/ActionGroupBuilder.d.ts.map +1 -0
  172. package/dist/core/builder/ActionGroupBuilder.js +193 -0
  173. package/dist/core/builder/ActionGroupBuilder.js.map +1 -0
  174. package/dist/core/builder/ErrorBuilder.d.ts +59 -0
  175. package/dist/core/builder/ErrorBuilder.d.ts.map +1 -0
  176. package/dist/core/builder/ErrorBuilder.js +99 -0
  177. package/dist/core/builder/ErrorBuilder.js.map +1 -0
  178. package/dist/core/builder/FluentRouter.d.ts +96 -0
  179. package/dist/core/builder/FluentRouter.d.ts.map +1 -0
  180. package/dist/core/builder/FluentRouter.js +116 -0
  181. package/dist/core/builder/FluentRouter.js.map +1 -0
  182. package/dist/core/builder/FluentSchemaHelpers.d.ts +237 -0
  183. package/dist/core/builder/FluentSchemaHelpers.d.ts.map +1 -0
  184. package/dist/core/builder/FluentSchemaHelpers.js +227 -0
  185. package/dist/core/builder/FluentSchemaHelpers.js.map +1 -0
  186. package/dist/core/builder/FluentToolBuilder.d.ts +419 -0
  187. package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -0
  188. package/dist/core/builder/FluentToolBuilder.js +643 -0
  189. package/dist/core/builder/FluentToolBuilder.js.map +1 -0
  190. package/dist/core/builder/GroupedToolBuilder.d.ts +832 -0
  191. package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -0
  192. package/dist/core/builder/GroupedToolBuilder.js +1306 -0
  193. package/dist/core/builder/GroupedToolBuilder.js.map +1 -0
  194. package/dist/core/builder/ParamDescriptors.d.ts +142 -0
  195. package/dist/core/builder/ParamDescriptors.d.ts.map +1 -0
  196. package/dist/core/builder/ParamDescriptors.js +164 -0
  197. package/dist/core/builder/ParamDescriptors.js.map +1 -0
  198. package/dist/core/builder/ToolDefinitionCompiler.d.ts +37 -0
  199. package/dist/core/builder/ToolDefinitionCompiler.d.ts.map +1 -0
  200. package/dist/core/builder/ToolDefinitionCompiler.js +72 -0
  201. package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -0
  202. package/dist/core/builder/defineTool.d.ts +180 -0
  203. package/dist/core/builder/defineTool.d.ts.map +1 -0
  204. package/dist/core/builder/defineTool.js +164 -0
  205. package/dist/core/builder/defineTool.js.map +1 -0
  206. package/dist/core/builder/index.d.ts +13 -0
  207. package/dist/core/builder/index.d.ts.map +1 -0
  208. package/dist/core/builder/index.js +13 -0
  209. package/dist/core/builder/index.js.map +1 -0
  210. package/dist/core/createGroup.d.ts +140 -0
  211. package/dist/core/createGroup.d.ts.map +1 -0
  212. package/dist/core/createGroup.js +144 -0
  213. package/dist/core/createGroup.js.map +1 -0
  214. package/dist/core/execution/ConcurrencyGuard.d.ts +103 -0
  215. package/dist/core/execution/ConcurrencyGuard.d.ts.map +1 -0
  216. package/dist/core/execution/ConcurrencyGuard.js +147 -0
  217. package/dist/core/execution/ConcurrencyGuard.js.map +1 -0
  218. package/dist/core/execution/EgressGuard.d.ts +72 -0
  219. package/dist/core/execution/EgressGuard.d.ts.map +1 -0
  220. package/dist/core/execution/EgressGuard.js +163 -0
  221. package/dist/core/execution/EgressGuard.js.map +1 -0
  222. package/dist/core/execution/ExecutionPipeline.d.ts +67 -0
  223. package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -0
  224. package/dist/core/execution/ExecutionPipeline.js +176 -0
  225. package/dist/core/execution/ExecutionPipeline.js.map +1 -0
  226. package/dist/core/execution/MiddlewareCompiler.d.ts +35 -0
  227. package/dist/core/execution/MiddlewareCompiler.d.ts.map +1 -0
  228. package/dist/core/execution/MiddlewareCompiler.js +111 -0
  229. package/dist/core/execution/MiddlewareCompiler.js.map +1 -0
  230. package/dist/core/execution/MutationSerializer.d.ts +78 -0
  231. package/dist/core/execution/MutationSerializer.d.ts.map +1 -0
  232. package/dist/core/execution/MutationSerializer.js +106 -0
  233. package/dist/core/execution/MutationSerializer.js.map +1 -0
  234. package/dist/core/execution/PipelineHooks.d.ts +46 -0
  235. package/dist/core/execution/PipelineHooks.d.ts.map +1 -0
  236. package/dist/core/execution/PipelineHooks.js +66 -0
  237. package/dist/core/execution/PipelineHooks.js.map +1 -0
  238. package/dist/core/execution/ProgressHelper.d.ts +67 -0
  239. package/dist/core/execution/ProgressHelper.d.ts.map +1 -0
  240. package/dist/core/execution/ProgressHelper.js +59 -0
  241. package/dist/core/execution/ProgressHelper.js.map +1 -0
  242. package/dist/core/execution/ValidationErrorFormatter.d.ts +34 -0
  243. package/dist/core/execution/ValidationErrorFormatter.d.ts.map +1 -0
  244. package/dist/core/execution/ValidationErrorFormatter.js +193 -0
  245. package/dist/core/execution/ValidationErrorFormatter.js.map +1 -0
  246. package/dist/core/execution/index.d.ts +9 -0
  247. package/dist/core/execution/index.d.ts.map +1 -0
  248. package/dist/core/execution/index.js +9 -0
  249. package/dist/core/execution/index.js.map +1 -0
  250. package/dist/core/index.d.ts +34 -0
  251. package/dist/core/index.d.ts.map +1 -0
  252. package/dist/core/index.js +29 -0
  253. package/dist/core/index.js.map +1 -0
  254. package/dist/core/initVurb.d.ts +295 -0
  255. package/dist/core/initVurb.d.ts.map +1 -0
  256. package/dist/core/initVurb.js +171 -0
  257. package/dist/core/initVurb.js.map +1 -0
  258. package/dist/core/middleware/ContextDerivation.d.ts +124 -0
  259. package/dist/core/middleware/ContextDerivation.d.ts.map +1 -0
  260. package/dist/core/middleware/ContextDerivation.js +117 -0
  261. package/dist/core/middleware/ContextDerivation.js.map +1 -0
  262. package/dist/core/middleware/index.d.ts +4 -0
  263. package/dist/core/middleware/index.d.ts.map +1 -0
  264. package/dist/core/middleware/index.js +3 -0
  265. package/dist/core/middleware/index.js.map +1 -0
  266. package/dist/core/registry/ToolFilterEngine.d.ts +27 -0
  267. package/dist/core/registry/ToolFilterEngine.d.ts.map +1 -0
  268. package/dist/core/registry/ToolFilterEngine.js +45 -0
  269. package/dist/core/registry/ToolFilterEngine.js.map +1 -0
  270. package/dist/core/registry/ToolRegistry.d.ts +259 -0
  271. package/dist/core/registry/ToolRegistry.d.ts.map +1 -0
  272. package/dist/core/registry/ToolRegistry.js +343 -0
  273. package/dist/core/registry/ToolRegistry.js.map +1 -0
  274. package/dist/core/registry/index.d.ts +4 -0
  275. package/dist/core/registry/index.d.ts.map +1 -0
  276. package/dist/core/registry/index.js +3 -0
  277. package/dist/core/registry/index.js.map +1 -0
  278. package/dist/core/response.d.ts +289 -0
  279. package/dist/core/response.d.ts.map +1 -0
  280. package/dist/core/response.js +286 -0
  281. package/dist/core/response.js.map +1 -0
  282. package/dist/core/result.d.ts +93 -0
  283. package/dist/core/result.d.ts.map +1 -0
  284. package/dist/core/result.js +66 -0
  285. package/dist/core/result.js.map +1 -0
  286. package/dist/core/schema/AnnotationAggregator.d.ts +11 -0
  287. package/dist/core/schema/AnnotationAggregator.d.ts.map +1 -0
  288. package/dist/core/schema/AnnotationAggregator.js +40 -0
  289. package/dist/core/schema/AnnotationAggregator.js.map +1 -0
  290. package/dist/core/schema/DescriptionGenerator.d.ts +12 -0
  291. package/dist/core/schema/DescriptionGenerator.d.ts.map +1 -0
  292. package/dist/core/schema/DescriptionGenerator.js +81 -0
  293. package/dist/core/schema/DescriptionGenerator.js.map +1 -0
  294. package/dist/core/schema/SchemaGenerator.d.ts +15 -0
  295. package/dist/core/schema/SchemaGenerator.d.ts.map +1 -0
  296. package/dist/core/schema/SchemaGenerator.js +192 -0
  297. package/dist/core/schema/SchemaGenerator.js.map +1 -0
  298. package/dist/core/schema/SchemaUtils.d.ts +26 -0
  299. package/dist/core/schema/SchemaUtils.d.ts.map +1 -0
  300. package/dist/core/schema/SchemaUtils.js +85 -0
  301. package/dist/core/schema/SchemaUtils.js.map +1 -0
  302. package/dist/core/schema/ToonDescriptionGenerator.d.ts +3 -0
  303. package/dist/core/schema/ToonDescriptionGenerator.d.ts.map +1 -0
  304. package/dist/core/schema/ToonDescriptionGenerator.js +65 -0
  305. package/dist/core/schema/ToonDescriptionGenerator.js.map +1 -0
  306. package/dist/core/schema/index.d.ts +7 -0
  307. package/dist/core/schema/index.d.ts.map +1 -0
  308. package/dist/core/schema/index.js +7 -0
  309. package/dist/core/schema/index.js.map +1 -0
  310. package/dist/core/serialization/JsonSerializer.d.ts +71 -0
  311. package/dist/core/serialization/JsonSerializer.d.ts.map +1 -0
  312. package/dist/core/serialization/JsonSerializer.js +192 -0
  313. package/dist/core/serialization/JsonSerializer.js.map +1 -0
  314. package/dist/core/serialization/index.d.ts +7 -0
  315. package/dist/core/serialization/index.d.ts.map +1 -0
  316. package/dist/core/serialization/index.js +7 -0
  317. package/dist/core/serialization/index.js.map +1 -0
  318. package/dist/core/types.d.ts +303 -0
  319. package/dist/core/types.d.ts.map +1 -0
  320. package/dist/core/types.js +17 -0
  321. package/dist/core/types.js.map +1 -0
  322. package/dist/domain/Annotations.d.ts +42 -0
  323. package/dist/domain/Annotations.d.ts.map +1 -0
  324. package/dist/domain/Annotations.js +16 -0
  325. package/dist/domain/Annotations.js.map +1 -0
  326. package/dist/domain/BaseModel.d.ts +50 -0
  327. package/dist/domain/BaseModel.d.ts.map +1 -0
  328. package/dist/domain/BaseModel.js +41 -0
  329. package/dist/domain/BaseModel.js.map +1 -0
  330. package/dist/domain/Group.d.ts +99 -0
  331. package/dist/domain/Group.d.ts.map +1 -0
  332. package/dist/domain/Group.js +172 -0
  333. package/dist/domain/Group.js.map +1 -0
  334. package/dist/domain/GroupItem.d.ts +46 -0
  335. package/dist/domain/GroupItem.d.ts.map +1 -0
  336. package/dist/domain/GroupItem.js +58 -0
  337. package/dist/domain/GroupItem.js.map +1 -0
  338. package/dist/domain/Icon.d.ts +41 -0
  339. package/dist/domain/Icon.d.ts.map +1 -0
  340. package/dist/domain/Icon.js +15 -0
  341. package/dist/domain/Icon.js.map +1 -0
  342. package/dist/domain/Prompt.d.ts +49 -0
  343. package/dist/domain/Prompt.d.ts.map +1 -0
  344. package/dist/domain/Prompt.js +59 -0
  345. package/dist/domain/Prompt.js.map +1 -0
  346. package/dist/domain/PromptArgument.d.ts +23 -0
  347. package/dist/domain/PromptArgument.d.ts.map +1 -0
  348. package/dist/domain/PromptArgument.js +27 -0
  349. package/dist/domain/PromptArgument.js.map +1 -0
  350. package/dist/domain/Resource.d.ts +37 -0
  351. package/dist/domain/Resource.d.ts.map +1 -0
  352. package/dist/domain/Resource.js +39 -0
  353. package/dist/domain/Resource.js.map +1 -0
  354. package/dist/domain/Role.d.ts +23 -0
  355. package/dist/domain/Role.d.ts.map +1 -0
  356. package/dist/domain/Role.js +24 -0
  357. package/dist/domain/Role.js.map +1 -0
  358. package/dist/domain/Tool.d.ts +39 -0
  359. package/dist/domain/Tool.d.ts.map +1 -0
  360. package/dist/domain/Tool.js +41 -0
  361. package/dist/domain/Tool.js.map +1 -0
  362. package/dist/domain/ToolAnnotations.d.ts +48 -0
  363. package/dist/domain/ToolAnnotations.d.ts.map +1 -0
  364. package/dist/domain/ToolAnnotations.js +15 -0
  365. package/dist/domain/ToolAnnotations.js.map +1 -0
  366. package/dist/domain/index.d.ts +16 -0
  367. package/dist/domain/index.d.ts.map +1 -0
  368. package/dist/domain/index.js +13 -0
  369. package/dist/domain/index.js.map +1 -0
  370. package/dist/domain/utils.d.ts +6 -0
  371. package/dist/domain/utils.d.ts.map +1 -0
  372. package/dist/domain/utils.js +12 -0
  373. package/dist/domain/utils.js.map +1 -0
  374. package/dist/edge-stub.d.ts +73 -0
  375. package/dist/edge-stub.d.ts.map +1 -0
  376. package/dist/edge-stub.js +83 -0
  377. package/dist/edge-stub.js.map +1 -0
  378. package/dist/exposition/ExpositionCompiler.d.ts +66 -0
  379. package/dist/exposition/ExpositionCompiler.d.ts.map +1 -0
  380. package/dist/exposition/ExpositionCompiler.js +279 -0
  381. package/dist/exposition/ExpositionCompiler.js.map +1 -0
  382. package/dist/exposition/index.d.ts +4 -0
  383. package/dist/exposition/index.d.ts.map +1 -0
  384. package/dist/exposition/index.js +2 -0
  385. package/dist/exposition/index.js.map +1 -0
  386. package/dist/exposition/types.d.ts +58 -0
  387. package/dist/exposition/types.d.ts.map +1 -0
  388. package/dist/exposition/types.js +11 -0
  389. package/dist/exposition/types.js.map +1 -0
  390. package/dist/fsm/StateMachineGate.d.ts +294 -0
  391. package/dist/fsm/StateMachineGate.d.ts.map +1 -0
  392. package/dist/fsm/StateMachineGate.js +400 -0
  393. package/dist/fsm/StateMachineGate.js.map +1 -0
  394. package/dist/index.d.ts +148 -0
  395. package/dist/index.d.ts.map +1 -0
  396. package/dist/index.js +112 -0
  397. package/dist/index.js.map +1 -0
  398. package/dist/introspection/BehaviorDigest.d.ts +112 -0
  399. package/dist/introspection/BehaviorDigest.d.ts.map +1 -0
  400. package/dist/introspection/BehaviorDigest.js +149 -0
  401. package/dist/introspection/BehaviorDigest.js.map +1 -0
  402. package/dist/introspection/CapabilityLockfile.d.ts +261 -0
  403. package/dist/introspection/CapabilityLockfile.d.ts.map +1 -0
  404. package/dist/introspection/CapabilityLockfile.js +395 -0
  405. package/dist/introspection/CapabilityLockfile.js.map +1 -0
  406. package/dist/introspection/ContractAwareSelfHealing.d.ts +90 -0
  407. package/dist/introspection/ContractAwareSelfHealing.d.ts.map +1 -0
  408. package/dist/introspection/ContractAwareSelfHealing.js +132 -0
  409. package/dist/introspection/ContractAwareSelfHealing.js.map +1 -0
  410. package/dist/introspection/ContractDiff.d.ts +91 -0
  411. package/dist/introspection/ContractDiff.d.ts.map +1 -0
  412. package/dist/introspection/ContractDiff.js +466 -0
  413. package/dist/introspection/ContractDiff.js.map +1 -0
  414. package/dist/introspection/CryptoAttestation.d.ts +143 -0
  415. package/dist/introspection/CryptoAttestation.d.ts.map +1 -0
  416. package/dist/introspection/CryptoAttestation.js +192 -0
  417. package/dist/introspection/CryptoAttestation.js.map +1 -0
  418. package/dist/introspection/EntitlementScanner.d.ts +177 -0
  419. package/dist/introspection/EntitlementScanner.d.ts.map +1 -0
  420. package/dist/introspection/EntitlementScanner.js +459 -0
  421. package/dist/introspection/EntitlementScanner.js.map +1 -0
  422. package/dist/introspection/GovernanceObserver.d.ts +88 -0
  423. package/dist/introspection/GovernanceObserver.d.ts.map +1 -0
  424. package/dist/introspection/GovernanceObserver.js +136 -0
  425. package/dist/introspection/GovernanceObserver.js.map +1 -0
  426. package/dist/introspection/IntrospectionResource.d.ts +20 -0
  427. package/dist/introspection/IntrospectionResource.d.ts.map +1 -0
  428. package/dist/introspection/IntrospectionResource.js +112 -0
  429. package/dist/introspection/IntrospectionResource.js.map +1 -0
  430. package/dist/introspection/ManifestCompiler.d.ts +33 -0
  431. package/dist/introspection/ManifestCompiler.d.ts.map +1 -0
  432. package/dist/introspection/ManifestCompiler.js +88 -0
  433. package/dist/introspection/ManifestCompiler.js.map +1 -0
  434. package/dist/introspection/SemanticProbe.d.ts +207 -0
  435. package/dist/introspection/SemanticProbe.d.ts.map +1 -0
  436. package/dist/introspection/SemanticProbe.js +274 -0
  437. package/dist/introspection/SemanticProbe.js.map +1 -0
  438. package/dist/introspection/TokenEconomics.d.ts +210 -0
  439. package/dist/introspection/TokenEconomics.d.ts.map +1 -0
  440. package/dist/introspection/TokenEconomics.js +292 -0
  441. package/dist/introspection/TokenEconomics.js.map +1 -0
  442. package/dist/introspection/ToolContract.d.ts +161 -0
  443. package/dist/introspection/ToolContract.d.ts.map +1 -0
  444. package/dist/introspection/ToolContract.js +218 -0
  445. package/dist/introspection/ToolContract.js.map +1 -0
  446. package/dist/introspection/canonicalize.d.ts +35 -0
  447. package/dist/introspection/canonicalize.d.ts.map +1 -0
  448. package/dist/introspection/canonicalize.js +72 -0
  449. package/dist/introspection/canonicalize.js.map +1 -0
  450. package/dist/introspection/index.d.ts +26 -0
  451. package/dist/introspection/index.d.ts.map +1 -0
  452. package/dist/introspection/index.js +24 -0
  453. package/dist/introspection/index.js.map +1 -0
  454. package/dist/introspection/types.d.ts +120 -0
  455. package/dist/introspection/types.d.ts.map +1 -0
  456. package/dist/introspection/types.js +13 -0
  457. package/dist/introspection/types.js.map +1 -0
  458. package/dist/observability/DebugObserver.d.ts +185 -0
  459. package/dist/observability/DebugObserver.d.ts.map +1 -0
  460. package/dist/observability/DebugObserver.js +102 -0
  461. package/dist/observability/DebugObserver.js.map +1 -0
  462. package/dist/observability/TelemetryBus.d.ts +88 -0
  463. package/dist/observability/TelemetryBus.d.ts.map +1 -0
  464. package/dist/observability/TelemetryBus.js +463 -0
  465. package/dist/observability/TelemetryBus.js.map +1 -0
  466. package/dist/observability/TelemetryEvent.d.ts +177 -0
  467. package/dist/observability/TelemetryEvent.d.ts.map +1 -0
  468. package/dist/observability/TelemetryEvent.js +2 -0
  469. package/dist/observability/TelemetryEvent.js.map +1 -0
  470. package/dist/observability/Tracing.d.ts +155 -0
  471. package/dist/observability/Tracing.d.ts.map +1 -0
  472. package/dist/observability/Tracing.js +67 -0
  473. package/dist/observability/Tracing.js.map +1 -0
  474. package/dist/observability/index.d.ts +13 -0
  475. package/dist/observability/index.d.ts.map +1 -0
  476. package/dist/observability/index.js +12 -0
  477. package/dist/observability/index.js.map +1 -0
  478. package/dist/presenter/PostProcessor.d.ts +52 -0
  479. package/dist/presenter/PostProcessor.d.ts.map +1 -0
  480. package/dist/presenter/PostProcessor.js +148 -0
  481. package/dist/presenter/PostProcessor.js.map +1 -0
  482. package/dist/presenter/Presenter.d.ts +575 -0
  483. package/dist/presenter/Presenter.d.ts.map +1 -0
  484. package/dist/presenter/Presenter.js +768 -0
  485. package/dist/presenter/Presenter.js.map +1 -0
  486. package/dist/presenter/PresenterValidationError.d.ts +42 -0
  487. package/dist/presenter/PresenterValidationError.d.ts.map +1 -0
  488. package/dist/presenter/PresenterValidationError.js +55 -0
  489. package/dist/presenter/PresenterValidationError.js.map +1 -0
  490. package/dist/presenter/RedactEngine.d.ts +110 -0
  491. package/dist/presenter/RedactEngine.d.ts.map +1 -0
  492. package/dist/presenter/RedactEngine.js +128 -0
  493. package/dist/presenter/RedactEngine.js.map +1 -0
  494. package/dist/presenter/ResponseBuilder.d.ts +262 -0
  495. package/dist/presenter/ResponseBuilder.d.ts.map +1 -0
  496. package/dist/presenter/ResponseBuilder.js +374 -0
  497. package/dist/presenter/ResponseBuilder.js.map +1 -0
  498. package/dist/presenter/SelectUtils.d.ts +78 -0
  499. package/dist/presenter/SelectUtils.d.ts.map +1 -0
  500. package/dist/presenter/SelectUtils.js +141 -0
  501. package/dist/presenter/SelectUtils.js.map +1 -0
  502. package/dist/presenter/ZodDescriptionExtractor.d.ts +54 -0
  503. package/dist/presenter/ZodDescriptionExtractor.d.ts.map +1 -0
  504. package/dist/presenter/ZodDescriptionExtractor.js +131 -0
  505. package/dist/presenter/ZodDescriptionExtractor.js.map +1 -0
  506. package/dist/presenter/definePresenter.d.ts +193 -0
  507. package/dist/presenter/definePresenter.d.ts.map +1 -0
  508. package/dist/presenter/definePresenter.js +99 -0
  509. package/dist/presenter/definePresenter.js.map +1 -0
  510. package/dist/presenter/index.d.ts +21 -0
  511. package/dist/presenter/index.d.ts.map +1 -0
  512. package/dist/presenter/index.js +28 -0
  513. package/dist/presenter/index.js.map +1 -0
  514. package/dist/presenter/suggest.d.ts +39 -0
  515. package/dist/presenter/suggest.d.ts.map +1 -0
  516. package/dist/presenter/suggest.js +41 -0
  517. package/dist/presenter/suggest.js.map +1 -0
  518. package/dist/presenter/typeHelpers.d.ts +147 -0
  519. package/dist/presenter/typeHelpers.d.ts.map +1 -0
  520. package/dist/presenter/typeHelpers.js +152 -0
  521. package/dist/presenter/typeHelpers.js.map +1 -0
  522. package/dist/presenter/ui.d.ts +205 -0
  523. package/dist/presenter/ui.d.ts.map +1 -0
  524. package/dist/presenter/ui.js +222 -0
  525. package/dist/presenter/ui.js.map +1 -0
  526. package/dist/prompt/CursorCodec.d.ts +43 -0
  527. package/dist/prompt/CursorCodec.d.ts.map +1 -0
  528. package/dist/prompt/CursorCodec.js +171 -0
  529. package/dist/prompt/CursorCodec.js.map +1 -0
  530. package/dist/prompt/FluentPromptBuilder.d.ts +155 -0
  531. package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -0
  532. package/dist/prompt/FluentPromptBuilder.js +195 -0
  533. package/dist/prompt/FluentPromptBuilder.js.map +1 -0
  534. package/dist/prompt/HydrationSandbox.d.ts +55 -0
  535. package/dist/prompt/HydrationSandbox.d.ts.map +1 -0
  536. package/dist/prompt/HydrationSandbox.js +122 -0
  537. package/dist/prompt/HydrationSandbox.js.map +1 -0
  538. package/dist/prompt/PromptExecutionPipeline.d.ts +61 -0
  539. package/dist/prompt/PromptExecutionPipeline.d.ts.map +1 -0
  540. package/dist/prompt/PromptExecutionPipeline.js +177 -0
  541. package/dist/prompt/PromptExecutionPipeline.js.map +1 -0
  542. package/dist/prompt/PromptMessage.d.ts +133 -0
  543. package/dist/prompt/PromptMessage.d.ts.map +1 -0
  544. package/dist/prompt/PromptMessage.js +182 -0
  545. package/dist/prompt/PromptMessage.js.map +1 -0
  546. package/dist/prompt/PromptRegistry.d.ts +236 -0
  547. package/dist/prompt/PromptRegistry.d.ts.map +1 -0
  548. package/dist/prompt/PromptRegistry.js +399 -0
  549. package/dist/prompt/PromptRegistry.js.map +1 -0
  550. package/dist/prompt/definePrompt.d.ts +111 -0
  551. package/dist/prompt/definePrompt.d.ts.map +1 -0
  552. package/dist/prompt/definePrompt.js +130 -0
  553. package/dist/prompt/definePrompt.js.map +1 -0
  554. package/dist/prompt/index.d.ts +12 -0
  555. package/dist/prompt/index.d.ts.map +1 -0
  556. package/dist/prompt/index.js +13 -0
  557. package/dist/prompt/index.js.map +1 -0
  558. package/dist/prompt/types.d.ts +425 -0
  559. package/dist/prompt/types.d.ts.map +1 -0
  560. package/dist/prompt/types.js +19 -0
  561. package/dist/prompt/types.js.map +1 -0
  562. package/dist/sandbox/SandboxEngine.d.ts +225 -0
  563. package/dist/sandbox/SandboxEngine.d.ts.map +1 -0
  564. package/dist/sandbox/SandboxEngine.js +437 -0
  565. package/dist/sandbox/SandboxEngine.js.map +1 -0
  566. package/dist/sandbox/SandboxGuard.d.ts +47 -0
  567. package/dist/sandbox/SandboxGuard.d.ts.map +1 -0
  568. package/dist/sandbox/SandboxGuard.js +127 -0
  569. package/dist/sandbox/SandboxGuard.js.map +1 -0
  570. package/dist/sandbox/index.d.ts +23 -0
  571. package/dist/sandbox/index.d.ts.map +1 -0
  572. package/dist/sandbox/index.js +26 -0
  573. package/dist/sandbox/index.js.map +1 -0
  574. package/dist/server/DevServer.d.ts +120 -0
  575. package/dist/server/DevServer.d.ts.map +1 -0
  576. package/dist/server/DevServer.js +252 -0
  577. package/dist/server/DevServer.js.map +1 -0
  578. package/dist/server/ServerAttachment.d.ts +354 -0
  579. package/dist/server/ServerAttachment.d.ts.map +1 -0
  580. package/dist/server/ServerAttachment.js +709 -0
  581. package/dist/server/ServerAttachment.js.map +1 -0
  582. package/dist/server/ServerResolver.d.ts +24 -0
  583. package/dist/server/ServerResolver.d.ts.map +1 -0
  584. package/dist/server/ServerResolver.js +50 -0
  585. package/dist/server/ServerResolver.js.map +1 -0
  586. package/dist/server/autoDiscover.d.ts +75 -0
  587. package/dist/server/autoDiscover.d.ts.map +1 -0
  588. package/dist/server/autoDiscover.js +164 -0
  589. package/dist/server/autoDiscover.js.map +1 -0
  590. package/dist/server/index.d.ts +12 -0
  591. package/dist/server/index.d.ts.map +1 -0
  592. package/dist/server/index.js +11 -0
  593. package/dist/server/index.js.map +1 -0
  594. package/dist/server/startServer.d.ts +81 -0
  595. package/dist/server/startServer.d.ts.map +1 -0
  596. package/dist/server/startServer.js +143 -0
  597. package/dist/server/startServer.js.map +1 -0
  598. package/dist/state-sync/CausalEngine.d.ts +28 -0
  599. package/dist/state-sync/CausalEngine.d.ts.map +1 -0
  600. package/dist/state-sync/CausalEngine.js +17 -0
  601. package/dist/state-sync/CausalEngine.js.map +1 -0
  602. package/dist/state-sync/DescriptionDecorator.d.ts +31 -0
  603. package/dist/state-sync/DescriptionDecorator.d.ts.map +1 -0
  604. package/dist/state-sync/DescriptionDecorator.js +38 -0
  605. package/dist/state-sync/DescriptionDecorator.js.map +1 -0
  606. package/dist/state-sync/GlobMatcher.d.ts +29 -0
  607. package/dist/state-sync/GlobMatcher.d.ts.map +1 -0
  608. package/dist/state-sync/GlobMatcher.js +79 -0
  609. package/dist/state-sync/GlobMatcher.js.map +1 -0
  610. package/dist/state-sync/PolicyEngine.d.ts +75 -0
  611. package/dist/state-sync/PolicyEngine.d.ts.map +1 -0
  612. package/dist/state-sync/PolicyEngine.js +107 -0
  613. package/dist/state-sync/PolicyEngine.js.map +1 -0
  614. package/dist/state-sync/PolicyValidator.d.ts +67 -0
  615. package/dist/state-sync/PolicyValidator.d.ts.map +1 -0
  616. package/dist/state-sync/PolicyValidator.js +122 -0
  617. package/dist/state-sync/PolicyValidator.js.map +1 -0
  618. package/dist/state-sync/ResponseDecorator.d.ts +33 -0
  619. package/dist/state-sync/ResponseDecorator.d.ts.map +1 -0
  620. package/dist/state-sync/ResponseDecorator.js +20 -0
  621. package/dist/state-sync/ResponseDecorator.js.map +1 -0
  622. package/dist/state-sync/StateSyncBuilder.d.ts +77 -0
  623. package/dist/state-sync/StateSyncBuilder.d.ts.map +1 -0
  624. package/dist/state-sync/StateSyncBuilder.js +129 -0
  625. package/dist/state-sync/StateSyncBuilder.js.map +1 -0
  626. package/dist/state-sync/StateSyncLayer.d.ts +107 -0
  627. package/dist/state-sync/StateSyncLayer.d.ts.map +1 -0
  628. package/dist/state-sync/StateSyncLayer.js +158 -0
  629. package/dist/state-sync/StateSyncLayer.js.map +1 -0
  630. package/dist/state-sync/index.d.ts +27 -0
  631. package/dist/state-sync/index.d.ts.map +1 -0
  632. package/dist/state-sync/index.js +27 -0
  633. package/dist/state-sync/index.js.map +1 -0
  634. package/dist/state-sync/types.d.ts +174 -0
  635. package/dist/state-sync/types.d.ts.map +1 -0
  636. package/dist/state-sync/types.js +17 -0
  637. package/dist/state-sync/types.js.map +1 -0
  638. package/dist/testing/MvaMetaSymbol.d.ts +45 -0
  639. package/dist/testing/MvaMetaSymbol.d.ts.map +1 -0
  640. package/dist/testing/MvaMetaSymbol.js +34 -0
  641. package/dist/testing/MvaMetaSymbol.js.map +1 -0
  642. package/package.json +153 -0
@@ -0,0 +1,117 @@
1
+ /**
2
+ * defineMiddleware() — Context Derivation (tRPC-style)
3
+ *
4
+ * Middlewares that return data have that data merged into the context
5
+ * for downstream handlers. TypeScript infers the derived context type
6
+ * automatically, so removing a middleware causes a compile error
7
+ * if the handler accesses properties that middleware provided.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const requireAuth = defineMiddleware(async (ctx: BaseCtx) => {
12
+ * const user = await db.getUser(ctx.token);
13
+ * if (!user) throw new Error('Unauthorized');
14
+ * return { user }; // ← TS infers: { user: User }
15
+ * });
16
+ *
17
+ * const billing = defineTool('billing', {
18
+ * middleware: [requireAuth],
19
+ * actions: {
20
+ * refund: {
21
+ * handler: async (ctx, args) => {
22
+ * // ctx.user EXISTS and is typed! ✅
23
+ * return success(`Refunded by ${ctx.user.id}`);
24
+ * },
25
+ * },
26
+ * },
27
+ * });
28
+ * ```
29
+ *
30
+ * @module
31
+ */
32
+ import {} from '../types.js';
33
+ // ============================================================================
34
+ // defineMiddleware()
35
+ // ============================================================================
36
+ /**
37
+ * Define a context-deriving middleware.
38
+ *
39
+ * The returned object can be used in two ways:
40
+ * 1. As a type-level constraint (the generics carry the derived context)
41
+ * 2. As a runtime middleware via `.toMiddlewareFn()` (for the existing pipeline)
42
+ *
43
+ * @typeParam TContextIn - The input context type
44
+ * @typeParam TDerived - Auto-inferred derived properties
45
+ * @param derive - Function that inspects context and returns derived data
46
+ * @returns A {@link MiddlewareDefinition} with the derived type encoded
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Auth middleware that derives `user`
51
+ * const requireAuth = defineMiddleware(async (ctx: { token: string }) => {
52
+ * const user = await db.getUser(ctx.token);
53
+ * if (!user) throw new Error('Unauthorized');
54
+ * return { user };
55
+ * });
56
+ *
57
+ * // Rate limit middleware that derives `rateLimitInfo`
58
+ * const rateLimit = defineMiddleware(async (ctx: { ip: string }) => {
59
+ * const info = await checkRateLimit(ctx.ip);
60
+ * if (info.exceeded) throw new Error('Rate limited');
61
+ * return { rateLimitInfo: info };
62
+ * });
63
+ * ```
64
+ *
65
+ * @see {@link MiddlewareFn} for the standard middleware type
66
+ */
67
+ export function defineMiddleware(derive) {
68
+ const toMiddlewareFn = () => {
69
+ return async (ctx, args, next) => {
70
+ const derived = await derive(ctx);
71
+ // Merge derived properties into ctx for downstream propagation.
72
+ // Uses explicit loop instead of Object.assign to guard against
73
+ // __proto__ injection from untrusted derive functions.
74
+ // ⚠️ contextFactory MUST return a fresh object per invocation
75
+ // to prevent cross-call property leakage in parallel scenarios.
76
+ for (const [key, value] of Object.entries(derived)) {
77
+ // Bug #110 fix: block constructor/prototype in addition to __proto__,
78
+ // matching FluentToolBuilder's inline middleware guard.
79
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
80
+ continue;
81
+ ctx[key] = value;
82
+ }
83
+ return next();
84
+ };
85
+ };
86
+ return {
87
+ __brand: 'MiddlewareDefinition',
88
+ derive,
89
+ toMiddlewareFn,
90
+ };
91
+ }
92
+ /**
93
+ * Type guard: check if a value is a MiddlewareDefinition.
94
+ *
95
+ * Used internally to auto-convert MiddlewareDefinitions to MiddlewareFns
96
+ * when passed to `defineTool({ middleware: [...] })`.
97
+ *
98
+ * @internal
99
+ */
100
+ export function isMiddlewareDefinition(value) {
101
+ return (typeof value === 'object' &&
102
+ value !== null &&
103
+ '__brand' in value &&
104
+ value.__brand === 'MiddlewareDefinition');
105
+ }
106
+ /**
107
+ * Convert a middleware arg (either MiddlewareFn or MiddlewareDefinition) to MiddlewareFn.
108
+ *
109
+ * @internal
110
+ */
111
+ export function resolveMiddleware(mw) {
112
+ if (isMiddlewareDefinition(mw)) {
113
+ return mw.toMiddlewareFn();
114
+ }
115
+ return mw;
116
+ }
117
+ //# sourceMappingURL=ContextDerivation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextDerivation.js","sourceRoot":"","sources":["../../../src/core/middleware/ContextDerivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAqB,MAAM,aAAa,CAAC;AAwDhD,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,gBAAgB,CAI5B,MAAyD;IAEzD,MAAM,cAAc,GAAG,GAA6B,EAAE;QAClD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,gEAAgE;YAChE,+DAA+D;YAC/D,uDAAuD;YACvD,+DAA+D;YAC/D,gEAAgE;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;gBAC5E,sEAAsE;gBACtE,wDAAwD;gBACxD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW;oBAAE,SAAS;gBACjF,GAA+B,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,sBAAsB;QAC/B,MAAM;QACN,cAAc;KACjB,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAClC,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAA8B,CAAC,OAAO,KAAK,sBAAsB,CACrE,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,EAAoF;IAEpF,IAAI,sBAAsB,CAAW,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,EAA4B,CAAC;AACxC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Middleware Bounded Context — Barrel Export */
2
+ export { defineMiddleware, resolveMiddleware, isMiddlewareDefinition, } from './ContextDerivation.js';
3
+ export type { MiddlewareDefinition, MergeContext, InferContextOut, } from './ContextDerivation.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/middleware/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACR,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAClB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Middleware Bounded Context — Barrel Export */
2
+ export { defineMiddleware, resolveMiddleware, isMiddlewareDefinition, } from './ContextDerivation.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/middleware/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ToolFilterEngine — Tag-Based Tool Filtering Strategy
3
+ *
4
+ * Filters tool builders by tag criteria using the Specification pattern.
5
+ * Supports AND, OR, and exclusion logic with O(1) Set-based lookups.
6
+ *
7
+ * Pure-function module: no state, no side effects.
8
+ */
9
+ import { type Tool as McpTool } from '@modelcontextprotocol/sdk/types.js';
10
+ import { type ToolBuilder } from '../types.js';
11
+ /** Filter options for selective tool exposure */
12
+ export interface ToolFilter {
13
+ /** Only include tools that have ALL these tags (AND logic) */
14
+ tags?: string[];
15
+ /** Only include tools that have at least ONE of these tags (OR logic) */
16
+ anyTag?: string[];
17
+ /** Exclude tools that have ANY of these tags */
18
+ exclude?: string[];
19
+ }
20
+ /**
21
+ * Filter and build tool definitions from a collection of builders.
22
+ *
23
+ * Uses Set-based lookups for O(1) tag matching and single-pass iteration
24
+ * to avoid intermediate array allocations.
25
+ */
26
+ export declare function filterTools<TContext>(builders: Iterable<ToolBuilder<TContext>>, filter: ToolFilter): McpTool[];
27
+ //# sourceMappingURL=ToolFilterEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolFilterEngine.d.ts","sourceRoot":"","sources":["../../../src/core/registry/ToolFilterEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAChC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EACzC,MAAM,EAAE,UAAU,GACnB,OAAO,EAAE,CA+BX"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * ToolFilterEngine — Tag-Based Tool Filtering Strategy
3
+ *
4
+ * Filters tool builders by tag criteria using the Specification pattern.
5
+ * Supports AND, OR, and exclusion logic with O(1) Set-based lookups.
6
+ *
7
+ * Pure-function module: no state, no side effects.
8
+ */
9
+ import {} from '@modelcontextprotocol/sdk/types.js';
10
+ import {} from '../types.js';
11
+ // ── Filter Engine ────────────────────────────────────────
12
+ /**
13
+ * Filter and build tool definitions from a collection of builders.
14
+ *
15
+ * Uses Set-based lookups for O(1) tag matching and single-pass iteration
16
+ * to avoid intermediate array allocations.
17
+ */
18
+ export function filterTools(builders, filter) {
19
+ // Pre-convert filter arrays to Sets for O(1) lookup
20
+ const requiredTags = filter.tags && filter.tags.length > 0
21
+ ? new Set(filter.tags) : undefined;
22
+ const anyTags = filter.anyTag && filter.anyTag.length > 0
23
+ ? new Set(filter.anyTag) : undefined;
24
+ const excludeTags = filter.exclude && filter.exclude.length > 0
25
+ ? new Set(filter.exclude) : undefined;
26
+ const tools = [];
27
+ for (const builder of builders) {
28
+ const builderTags = builder.getTags();
29
+ // AND logic: builder must have ALL required tags
30
+ if (requiredTags && !Array.from(requiredTags).every(t => builderTags.includes(t))) {
31
+ continue;
32
+ }
33
+ // OR logic: builder must have at least ONE of these tags
34
+ if (anyTags && !builderTags.some(t => anyTags.has(t))) {
35
+ continue;
36
+ }
37
+ // Exclude: builder must not have ANY of these tags
38
+ if (excludeTags && builderTags.some(t => excludeTags.has(t))) {
39
+ continue;
40
+ }
41
+ tools.push(builder.buildToolDefinition());
42
+ }
43
+ return tools;
44
+ }
45
+ //# sourceMappingURL=ToolFilterEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolFilterEngine.js","sourceRoot":"","sources":["../../../src/core/registry/ToolFilterEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAwB,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAoB,MAAM,aAAa,CAAC;AAc/C,4DAA4D;AAE5D;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACvB,QAAyC,EACzC,MAAkB;IAElB,oDAAoD;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACtD,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1C,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEtC,iDAAiD;QACjD,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,SAAS;QACb,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,SAAS;QACb,CAAC;QAED,mDAAmD;QACnD,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,SAAS;QACb,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * ToolRegistry — Centralized Tool Registration & Routing
3
+ *
4
+ * The single place where all tool builders are registered and where
5
+ * incoming MCP calls are routed to the correct handler.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { ToolRegistry, createTool, success } from 'vurb';
10
+ *
11
+ * const registry = new ToolRegistry<AppContext>();
12
+ *
13
+ * registry.register(
14
+ * createTool<AppContext>('projects').action({ name: 'list', handler: listProjects }),
15
+ * );
16
+ *
17
+ * // Attach to any MCP server (duck-typed):
18
+ * const detach = registry.attachToServer(server, {
19
+ * contextFactory: (extra) => createAppContext(extra),
20
+ * });
21
+ *
22
+ * // Clean teardown (e.g. in tests):
23
+ * detach();
24
+ * ```
25
+ *
26
+ * @see {@link createTool} for building tools
27
+ * @see {@link GroupedToolBuilder} for the builder API
28
+ *
29
+ * @module
30
+ */
31
+ import { type Tool as McpTool } from '@modelcontextprotocol/sdk/types.js';
32
+ import { type ToolResponse } from '../response.js';
33
+ import { type ToolBuilder } from '../types.js';
34
+ import { type DebugObserverFn } from '../../observability/DebugObserver.js';
35
+ import { type TelemetrySink } from '../../observability/TelemetryEvent.js';
36
+ import { type VurbTracer } from '../../observability/Tracing.js';
37
+ import { type ToolFilter } from './ToolFilterEngine.js';
38
+ import { type AttachOptions, type DetachFn } from '../../server/ServerAttachment.js';
39
+ import { type ProgressSink } from '../execution/ProgressHelper.js';
40
+ export type { ToolFilter } from './ToolFilterEngine.js';
41
+ export type { AttachOptions, DetachFn } from '../../server/ServerAttachment.js';
42
+ /**
43
+ * Centralized registry for MCP tool builders.
44
+ *
45
+ * Manages tool registration, filtered retrieval, call routing,
46
+ * and MCP server attachment.
47
+ *
48
+ * @typeParam TContext - Application context type shared across all tools
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const registry = new ToolRegistry<AppContext>();
53
+ *
54
+ * // Register individually
55
+ * registry.register(projectsTool);
56
+ *
57
+ * // Register multiple at once
58
+ * registry.registerAll(usersTool, billingTool, adminTool);
59
+ *
60
+ * // Query registered tools
61
+ * registry.has('projects'); // true
62
+ * registry.size; // 4
63
+ * ```
64
+ */
65
+ export declare class ToolRegistry<TContext = void> {
66
+ private readonly _builders;
67
+ private _debug?;
68
+ private _tracer?;
69
+ private _telemetrySink?;
70
+ /**
71
+ * Register a single tool builder.
72
+ *
73
+ * Validates that the tool name is unique and triggers
74
+ * {@link GroupedToolBuilder.buildToolDefinition} to compile
75
+ * the tool definition at registration time.
76
+ *
77
+ * @param builder - A built or unbuilt tool builder
78
+ * @throws If a tool with the same name is already registered
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * registry.register(
83
+ * createTool<AppContext>('projects')
84
+ * .action({ name: 'list', handler: listProjects })
85
+ * );
86
+ * ```
87
+ */
88
+ register(builder: ToolBuilder<TContext>): void;
89
+ /**
90
+ * Register multiple tool builders at once.
91
+ *
92
+ * @param builders - One or more tool builders
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * registry.registerAll(usersTool, projectsTool, billingTool);
97
+ * ```
98
+ */
99
+ registerAll(...builders: ToolBuilder<TContext>[]): void;
100
+ /**
101
+ * Get all registered MCP tool definitions.
102
+ *
103
+ * Returns the compiled `McpTool` objects for all registered builders.
104
+ *
105
+ * @returns Array of MCP Tool objects
106
+ */
107
+ getAllTools(): McpTool[];
108
+ /**
109
+ * Get an iterable of all registered tool builders.
110
+ *
111
+ * Used by the introspection module to extract action
112
+ * metadata and presenter information from each builder.
113
+ *
114
+ * @returns Iterable of registered ToolBuilder instances
115
+ */
116
+ getBuilders(): Iterable<ToolBuilder<TContext>>;
117
+ /**
118
+ * Get tool definitions filtered by tags.
119
+ *
120
+ * Uses the {@link ToolFilter} to include/exclude tools
121
+ * based on their capability tags.
122
+ *
123
+ * @param filter - Tag-based filter configuration
124
+ * @returns Filtered array of MCP Tool objects
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * // Only core tools
129
+ * const coreTools = registry.getTools({ tags: ['core'] });
130
+ *
131
+ * // Everything except internal tools
132
+ * const publicTools = registry.getTools({ exclude: ['internal'] });
133
+ * ```
134
+ *
135
+ * @see {@link ToolFilter} for filter options
136
+ */
137
+ getTools(filter: ToolFilter): McpTool[];
138
+ /**
139
+ * Route an incoming tool call to the correct builder.
140
+ *
141
+ * Looks up the builder by name and delegates to its `execute()` method.
142
+ * Returns an error response if the tool is not found.
143
+ *
144
+ * @param ctx - Application context
145
+ * @param name - Tool name from the incoming MCP call
146
+ * @param args - Raw arguments from the LLM
147
+ * @param progressSink - Optional callback for streaming progress notifications.
148
+ * When called from `attachToServer()`, this is automatically wired to
149
+ * MCP `notifications/progress`. When omitted, progress events are silently consumed.
150
+ * @returns The handler's response
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const response = await registry.routeCall(ctx, 'projects', {
155
+ * action: 'list',
156
+ * workspace_id: 'ws_123',
157
+ * });
158
+ * ```
159
+ */
160
+ routeCall(ctx: TContext, name: string, args: Record<string, unknown>, progressSink?: ProgressSink, signal?: AbortSignal): Promise<ToolResponse>;
161
+ /**
162
+ * Attach this registry to an MCP server.
163
+ *
164
+ * Registers `tools/list` and `tools/call` handlers on the server.
165
+ * Supports both `McpServer` (high-level SDK) and `Server` (low-level SDK)
166
+ * via duck-type detection.
167
+ *
168
+ * @param server - Any MCP server instance (duck-typed)
169
+ * @param options - Attachment options (context factory, tag filter)
170
+ * @returns A detach function for clean teardown
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Basic attachment
175
+ * const detach = registry.attachToServer(server, {
176
+ * contextFactory: (extra) => createAppContext(extra),
177
+ * });
178
+ *
179
+ * // With tag filtering
180
+ * registry.attachToServer(server, {
181
+ * contextFactory: (extra) => createAppContext(extra),
182
+ * filter: { tags: ['core'] },
183
+ * });
184
+ *
185
+ * // Clean teardown (e.g. in tests)
186
+ * detach();
187
+ * ```
188
+ *
189
+ * @see {@link DetachFn} for the teardown function type
190
+ * @see {@link AttachOptions} for all options
191
+ */
192
+ attachToServer(server: unknown, options?: AttachOptions<TContext>): Promise<DetachFn>;
193
+ /** Check if a tool with the given name is registered. */
194
+ has(name: string): boolean;
195
+ /** Remove all registered tools. */
196
+ clear(): void;
197
+ /** Number of registered tools. */
198
+ get size(): number;
199
+ /**
200
+ * Enable debug observability for ALL registered tools.
201
+ *
202
+ * Propagates the debug observer to every registered builder that
203
+ * supports it (duck-typed via `.debug()` method).
204
+ *
205
+ * Also enables registry-level debug events (unknown tool errors).
206
+ *
207
+ * @param observer - A {@link DebugObserverFn} created by `createDebugObserver()`
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const debug = createDebugObserver();
212
+ * registry.enableDebug(debug);
213
+ * // Now ALL tools + registry routing emit debug events
214
+ * ```
215
+ */
216
+ enableDebug(observer: DebugObserverFn): void;
217
+ /**
218
+ * Enable OpenTelemetry-compatible tracing for ALL registered tools.
219
+ *
220
+ * Propagates the tracer to every registered builder that supports
221
+ * it (duck-typed via `.tracing()` method).
222
+ *
223
+ * Also enables registry-level tracing for unknown tool routing errors.
224
+ *
225
+ * **Important**: When both `enableDebug()` and `enableTracing()` are active,
226
+ * tracing takes precedence and debug events are NOT emitted from tool builders.
227
+ *
228
+ * @param tracer - A {@link VurbTracer} (or OTel `Tracer`) instance
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * import { trace } from '@opentelemetry/api';
233
+ *
234
+ * const tracer = trace.getTracer('vurb');
235
+ * registry.enableTracing(tracer);
236
+ * // Now ALL tools + registry routing emit OTel spans
237
+ * ```
238
+ *
239
+ * @see {@link VurbTracer} for the tracer interface contract
240
+ * @see {@link SpanStatusCode} for status code semantics
241
+ */
242
+ enableTracing(tracer: VurbTracer): void;
243
+ /**
244
+ * Enable telemetry emission for ALL registered tools.
245
+ *
246
+ * Propagates the TelemetrySink to every registered builder that supports
247
+ * it (duck-typed via `.telemetry()` method). This enables real-time
248
+ * event emission to the Inspector TUI via Shadow Socket IPC.
249
+ *
250
+ * @param sink - A {@link TelemetrySink} from `startServer()` or `TelemetryBus`
251
+ */
252
+ enableTelemetry(sink: TelemetrySink): void;
253
+ /**
254
+ * Propagate active debug/tracing/telemetry to a newly registered builder.
255
+ * @internal
256
+ */
257
+ private _propagateObservability;
258
+ }
259
+ //# sourceMappingURL=ToolRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/registry/ToolRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAEH,KAAK,aAAa,EAAE,KAAK,QAAQ,EACpC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAInE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAMhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY,CAAC,QAAQ,GAAG,IAAI;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IACtE,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI;IAY9C;;;;;;;;;OASG;IACH,WAAW,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI;IAMvD;;;;;;OAMG;IACH,WAAW,IAAI,OAAO,EAAE;IAQxB;;;;;;;OAOG;IACH,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAI9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE;IAIvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,SAAS,CACX,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;IAqBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,cAAc,CAChB,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,aAAa,CAAC,QAAQ,CAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;IAIpB,yDAAyD;IACzD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAE1B,mCAAmC;IACnC,KAAK,IAAI,IAAI;IAEb,kCAAkC;IAClC,IAAI,IAAI,IAAI,MAAM,CAAgC;IAElD;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAa5C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAavC;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAS1C;;;OAGG;IACH,OAAO,CAAC,uBAAuB;CAWlC"}