@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 @@
1
+ {"version":3,"file":"ServerAttachment.js","sourceRoot":"","sources":["../../src/server/ServerAttachment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ServerResolver — Chain of Responsibility for MCP Server Detection
3
+ *
4
+ * Resolves an unknown input into a low-level McpServerLike instance
5
+ * using a chain of type-narrowing strategies. Each step either resolves
6
+ * the server or passes to the next resolver.
7
+ *
8
+ * Pure-function module: no state, no side effects.
9
+ */
10
+ /** Minimal duck-typed interface for the low-level MCP Server */
11
+ export interface McpServerLike {
12
+ setRequestHandler: (...args: never[]) => void;
13
+ }
14
+ /**
15
+ * Resolve an unknown server input into a McpServerLike instance.
16
+ *
17
+ * Walks the resolver chain until one succeeds, or throws if none match.
18
+ *
19
+ * @param server - Server or McpServer instance (duck-typed)
20
+ * @returns The resolved low-level Server
21
+ * @throws Error if the input is not a valid server
22
+ */
23
+ export declare function resolveServer(server: unknown): McpServerLike;
24
+ //# sourceMappingURL=ServerResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerResolver.d.ts","sourceRoot":"","sources":["../../src/server/ServerResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC1B,iBAAiB,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;CACjD;AAiCD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAkB5D"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ServerResolver — Chain of Responsibility for MCP Server Detection
3
+ *
4
+ * Resolves an unknown input into a low-level McpServerLike instance
5
+ * using a chain of type-narrowing strategies. Each step either resolves
6
+ * the server or passes to the next resolver.
7
+ *
8
+ * Pure-function module: no state, no side effects.
9
+ */
10
+ // ── Type Guards (pure predicates) ────────────────────────
11
+ function isMcpServerLike(obj) {
12
+ return typeof obj === 'object' && obj !== null && 'setRequestHandler' in obj;
13
+ }
14
+ function hasServerProperty(obj) {
15
+ return typeof obj === 'object' && obj !== null && 'server' in obj;
16
+ }
17
+ // ── Resolver Chain ───────────────────────────────────────
18
+ /** Resolve direct Server instance */
19
+ const directServerResolver = (input) => isMcpServerLike(input) ? input : undefined;
20
+ /** Resolve McpServer wrapper (has .server property exposing low-level Server) */
21
+ const wrappedServerResolver = (input) => hasServerProperty(input) && isMcpServerLike(input.server) ? input.server : undefined;
22
+ /** Ordered chain of resolvers — first match wins */
23
+ const resolverChain = [
24
+ directServerResolver,
25
+ wrappedServerResolver,
26
+ ];
27
+ // ── Public API ───────────────────────────────────────────
28
+ /**
29
+ * Resolve an unknown server input into a McpServerLike instance.
30
+ *
31
+ * Walks the resolver chain until one succeeds, or throws if none match.
32
+ *
33
+ * @param server - Server or McpServer instance (duck-typed)
34
+ * @returns The resolved low-level Server
35
+ * @throws Error if the input is not a valid server
36
+ */
37
+ export function resolveServer(server) {
38
+ if (server === null || server === undefined || typeof server !== 'object') {
39
+ throw new Error('attachToServer() requires a Server or McpServer instance.');
40
+ }
41
+ for (const resolver of resolverChain) {
42
+ const resolved = resolver(server);
43
+ if (resolved !== undefined) {
44
+ return resolved;
45
+ }
46
+ }
47
+ throw new Error('attachToServer() requires a Server or McpServer instance. ' +
48
+ 'The provided object does not have setRequestHandler().');
49
+ }
50
+ //# sourceMappingURL=ServerResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerResolver.js","sourceRoot":"","sources":["../../src/server/ServerResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,4DAA4D;AAE5D,SAAS,eAAe,CAAC,GAAY;IACjC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,mBAAmB,IAAI,GAAG,CAAC;AACjF,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,CAAC;AACtE,CAAC;AAED,4DAA4D;AAE5D,qCAAqC;AACrC,MAAM,oBAAoB,GAAa,CAAC,KAAK,EAAE,EAAE,CAC7C,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAE/C,iFAAiF;AACjF,MAAM,qBAAqB,GAAa,CAAC,KAAK,EAAE,EAAE,CAC9C,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAEzF,oDAAoD;AACpD,MAAM,aAAa,GAAwB;IACvC,oBAAoB;IACpB,qBAAqB;CACxB,CAAC;AAEF,4DAA4D;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IACzC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACX,2DAA2D,CAC9D,CAAC;IACN,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CACX,4DAA4D;QAC5D,wDAAwD,CAC3D,CAAC;AACN,CAAC"}
@@ -0,0 +1,75 @@
1
+ /** Duck-typed ToolBuilder — avoids circular imports */
2
+ interface ToolBuilderLike {
3
+ getName(): string;
4
+ buildToolDefinition?(): unknown;
5
+ }
6
+ /** Duck-typed ToolRegistry — avoids circular imports */
7
+ interface ToolRegistryLike {
8
+ register(builder: ToolBuilderLike): void;
9
+ }
10
+ /**
11
+ * Options for `autoDiscover()`.
12
+ */
13
+ export interface AutoDiscoverOptions {
14
+ /**
15
+ * Regex pattern to filter files. Only files matching this pattern
16
+ * are imported. Default: matches `.ts`, `.js`, `.mjs`, `.mts` files,
17
+ * excluding `.test.`, `.spec.`, and `.d.ts` files.
18
+ */
19
+ pattern?: RegExp;
20
+ /**
21
+ * Whether to recurse into subdirectories.
22
+ * @default true
23
+ */
24
+ recursive?: boolean;
25
+ /**
26
+ * Module resolution style:
27
+ * - `'esm'` — Uses dynamic `import()` (default for ESM projects)
28
+ * - `'cjs'` — Uses `require()` (for CommonJS projects)
29
+ *
30
+ * @default 'esm'
31
+ */
32
+ loader?: 'esm' | 'cjs';
33
+ /**
34
+ * Custom export resolver. When provided, this function is called
35
+ * with the module's exports and must return the tool builder(s).
36
+ *
37
+ * Default behavior: looks for `default` export or named `tool` export.
38
+ */
39
+ resolve?: (mod: Record<string, unknown>) => ToolBuilderLike | ToolBuilderLike[] | undefined;
40
+ /**
41
+ * Error handler called when a file fails to import.
42
+ * Receives the file path and the thrown error.
43
+ * If not provided, import errors are silently ignored.
44
+ */
45
+ onError?: (filePath: string, error: unknown) => void;
46
+ /**
47
+ * When `true`, rethrow import errors instead of skipping.
48
+ * Takes precedence over `onError`.
49
+ * @default false
50
+ */
51
+ strict?: boolean;
52
+ }
53
+ /**
54
+ * Scan a directory and auto-register all discovered tool builders.
55
+ *
56
+ * Eliminates the need for a central `index.ts` that manually imports
57
+ * and registers every tool. New tools are automatically picked up
58
+ * when they are dropped into the scanned directory.
59
+ *
60
+ * @param registry - A ToolRegistry instance to register discovered tools
61
+ * @param dir - Path to the tools directory (absolute or relative to CWD)
62
+ * @param options - Discovery options (pattern, recursive, loader, resolve)
63
+ * @returns Array of discovered file paths (for logging/debugging)
64
+ * @throws If the directory does not exist or is not readable
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const registry = new ToolRegistry<AppContext>();
69
+ * const files = await autoDiscover(registry, './src/tools');
70
+ * console.log(`Discovered ${files.length} tool files`);
71
+ * ```
72
+ */
73
+ export declare function autoDiscover(registry: ToolRegistryLike, dir: string, options?: AutoDiscoverOptions): Promise<string[]>;
74
+ export {};
75
+ //# sourceMappingURL=autoDiscover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoDiscover.d.ts","sourceRoot":"","sources":["../../src/server/autoDiscover.ts"],"names":[],"mappings":"AAkDA,uDAAuD;AACvD,UAAU,eAAe;IACrB,OAAO,IAAI,MAAM,CAAC;IAClB,mBAAmB,CAAC,IAAI,OAAO,CAAC;CACnC;AAED,wDAAwD;AACxD,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC;IAE5F;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAoED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,MAAM,EAAE,CAAC,CAmDnB"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * File-Based Routing — Auto-Discovery of Tools via Directory Structure
3
+ *
4
+ * Scans a directory at startup and auto-registers tools based on the
5
+ * file-system naming convention:
6
+ *
7
+ * ```
8
+ * src/tools/
9
+ * ├── billing/
10
+ * │ ├── get_invoice.ts → billing.get_invoice
11
+ * │ └── pay.ts → billing.pay
12
+ * └── users/
13
+ * ├── list.ts → users.list
14
+ * └── ban.ts → users.ban
15
+ * ```
16
+ *
17
+ * Each file must export a `GroupedToolBuilder` (via `defineTool()`,
18
+ * `createTool()`, `f.tool()`, etc.) as the **default export** or
19
+ * a named export called `tool`.
20
+ *
21
+ * **Benefits:**
22
+ * - Zero code orchestration — no central `index.ts` with 50 imports
23
+ * - Git-friendly — reduced merge conflicts (no shared import file)
24
+ * - Instant onboarding — "drop a file → it's a tool"
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { autoDiscover, ToolRegistry } from 'vurb';
29
+ *
30
+ * const registry = new ToolRegistry<AppContext>();
31
+ *
32
+ * // Scan src/tools/ and register everything
33
+ * await autoDiscover(registry, './src/tools');
34
+ *
35
+ * // Or with options
36
+ * await autoDiscover(registry, './src/tools', {
37
+ * pattern: /\.tool\.ts$/, // only files ending in .tool.ts
38
+ * recursive: true, // scan subdirectories (default: true)
39
+ * separator: '.', // directory separator for tool names
40
+ * });
41
+ * ```
42
+ *
43
+ * @module
44
+ */
45
+ import { promises as fs } from 'node:fs';
46
+ import { join, resolve, relative, basename, extname, sep } from 'node:path';
47
+ import { pathToFileURL } from 'node:url';
48
+ // ── Internal ─────────────────────────────────────────────
49
+ const DEFAULT_PATTERN = /\.(ts|js|mjs|mts)$/;
50
+ const EXCLUDED_PATTERN = /\.(test|spec|d)\./;
51
+ /**
52
+ * Walk a directory tree and collect file paths matching the filter.
53
+ * @internal
54
+ */
55
+ async function walkDir(dir, pattern, recursive) {
56
+ const entries = await fs.readdir(dir, { withFileTypes: true });
57
+ entries.sort((a, b) => a.name.localeCompare(b.name));
58
+ const files = [];
59
+ for (const entry of entries) {
60
+ const fullPath = join(dir, entry.name);
61
+ if (entry.isDirectory() && recursive) {
62
+ const nested = await walkDir(fullPath, pattern, recursive);
63
+ files.push(...nested);
64
+ }
65
+ else if (entry.isFile() && pattern.test(entry.name) && !EXCLUDED_PATTERN.test(entry.name)) {
66
+ files.push(fullPath);
67
+ }
68
+ }
69
+ return files;
70
+ }
71
+ /**
72
+ * Check if a value looks like a ToolBuilder (duck typing).
73
+ * @internal
74
+ */
75
+ function isToolBuilder(value) {
76
+ return (typeof value === 'object' &&
77
+ value !== null &&
78
+ typeof value.getName === 'function');
79
+ }
80
+ /**
81
+ * Default export resolver: check default → tool → any exported builder.
82
+ * @internal
83
+ */
84
+ function defaultResolver(mod) {
85
+ // Priority 1: default export
86
+ const defaultExport = mod['default'];
87
+ if (isToolBuilder(defaultExport))
88
+ return defaultExport;
89
+ // Priority 2: named `tool` export
90
+ const toolExport = mod['tool'];
91
+ if (isToolBuilder(toolExport))
92
+ return toolExport;
93
+ // Priority 3: collect all exported builders
94
+ const builders = [];
95
+ for (const value of Object.values(mod)) {
96
+ if (isToolBuilder(value)) {
97
+ builders.push(value);
98
+ }
99
+ }
100
+ return builders.length > 0 ? builders : undefined;
101
+ }
102
+ // ── Public API ───────────────────────────────────────────
103
+ /**
104
+ * Scan a directory and auto-register all discovered tool builders.
105
+ *
106
+ * Eliminates the need for a central `index.ts` that manually imports
107
+ * and registers every tool. New tools are automatically picked up
108
+ * when they are dropped into the scanned directory.
109
+ *
110
+ * @param registry - A ToolRegistry instance to register discovered tools
111
+ * @param dir - Path to the tools directory (absolute or relative to CWD)
112
+ * @param options - Discovery options (pattern, recursive, loader, resolve)
113
+ * @returns Array of discovered file paths (for logging/debugging)
114
+ * @throws If the directory does not exist or is not readable
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * const registry = new ToolRegistry<AppContext>();
119
+ * const files = await autoDiscover(registry, './src/tools');
120
+ * console.log(`Discovered ${files.length} tool files`);
121
+ * ```
122
+ */
123
+ export async function autoDiscover(registry, dir, options = {}) {
124
+ const { pattern = DEFAULT_PATTERN, recursive = true, loader = 'esm', resolve: customResolve, onError, strict = false, } = options;
125
+ const absoluteDir = resolve(dir);
126
+ const files = await walkDir(absoluteDir, pattern, recursive);
127
+ const discoveredFiles = [];
128
+ const seen = new Set(); // Bug #129: dedup by tool name
129
+ for (const filePath of files) {
130
+ try {
131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
132
+ let mod;
133
+ if (loader === 'cjs') {
134
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
135
+ mod = require(filePath);
136
+ }
137
+ else {
138
+ const fileUrl = pathToFileURL(filePath).href;
139
+ mod = await import(fileUrl);
140
+ }
141
+ const resolver = customResolve ?? defaultResolver;
142
+ const result = resolver(mod);
143
+ if (!result)
144
+ continue;
145
+ const builders = Array.isArray(result) ? result : [result];
146
+ for (const builder of builders) {
147
+ const name = builder.getName();
148
+ if (seen.has(name))
149
+ continue; // Bug #129: deduplicate by tool name
150
+ seen.add(name);
151
+ registry.register(builder);
152
+ }
153
+ discoveredFiles.push(filePath);
154
+ }
155
+ catch (err) {
156
+ if (strict)
157
+ throw err;
158
+ onError?.(filePath, err);
159
+ continue;
160
+ }
161
+ }
162
+ return discoveredFiles;
163
+ }
164
+ //# sourceMappingURL=autoDiscover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoDiscover.js","sourceRoot":"","sources":["../../src/server/autoDiscover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Server Integration — Barrel Export */
2
+ export { resolveServer } from './ServerResolver.js';
3
+ export { attachToServer, type AttachOptions, type DetachFn, type RegistryDelegate, } from './ServerAttachment.js';
4
+ export type { ToolExposition, ExpositionConfig } from '../exposition/index.js';
5
+ export { compileExposition, type FlatRoute, type ExpositionResult } from '../exposition/index.js';
6
+ export { autoDiscover } from './autoDiscover.js';
7
+ export type { AutoDiscoverOptions } from './autoDiscover.js';
8
+ export { createDevServer, cacheBustUrl } from './DevServer.js';
9
+ export type { DevServerConfig, DevServer } from './DevServer.js';
10
+ export { startServer } from './startServer.js';
11
+ export type { StartServerOptions, StartServerResult } from './startServer.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACH,cAAc,EACd,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,GAC3D,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Server Integration — Barrel Export */
2
+ export { resolveServer } from './ServerResolver.js';
3
+ export { attachToServer, } from './ServerAttachment.js';
4
+ export { compileExposition } from '../exposition/index.js';
5
+ // ── File-Based Routing ───────────────────────────────────
6
+ export { autoDiscover } from './autoDiscover.js';
7
+ // ── Dev Server (HMR) ────────────────────────────────────
8
+ export { createDevServer, cacheBustUrl } from './DevServer.js';
9
+ // ── Quick Start (One-Liner Bootstrap) ────────────────────
10
+ export { startServer } from './startServer.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACH,cAAc,GAEjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAyC,MAAM,wBAAwB,CAAC;AAElG,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,2DAA2D;AAC3D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG/D,4DAA4D;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * startServer — One-Liner Bootstrap for Vurb Servers
3
+ *
4
+ * Abstracts the entire server startup boilerplate into a single call:
5
+ * 1. Creates the MCP Server instance
6
+ * 2. Attaches the tool registry with telemetry
7
+ * 3. Builds the topology for Inspector TUI auto-discovery
8
+ * 4. Starts the Telemetry Bus (IPC)
9
+ * 5. Connects the stdio transport
10
+ *
11
+ * @module
12
+ */
13
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
+ import { type AttachOptions } from './ServerAttachment.js';
15
+ import { type TelemetryBusInstance } from '../observability/TelemetryBus.js';
16
+ import type { PromptRegistry } from '../prompt/PromptRegistry.js';
17
+ import type { ProgressSink } from '../core/execution/ProgressHelper.js';
18
+ /** Options for `startServer`. */
19
+ export interface StartServerOptions<TContext> {
20
+ /** Server display name (shown in MCP clients and Inspector). */
21
+ readonly name: string;
22
+ /** Server version string (e.g. '1.0.0'). */
23
+ readonly version?: string;
24
+ /** The tool registry to expose. */
25
+ readonly registry: ServerRegistry<TContext>;
26
+ /** Optional prompt registry. */
27
+ readonly prompts?: PromptRegistry<TContext>;
28
+ /** Factory to create per-request context. */
29
+ readonly contextFactory?: (extra: unknown) => TContext | Promise<TContext>;
30
+ /** Enable Inspector TUI telemetry (default: true). */
31
+ readonly telemetry?: boolean;
32
+ /** Extra attach options (debug, tracing, zeroTrust, etc.). */
33
+ readonly attach?: Omit<AttachOptions<TContext>, 'contextFactory' | 'prompts' | 'telemetry'>;
34
+ }
35
+ /**
36
+ * Minimal registry interface expected by `startServer`.
37
+ * Both `ToolRegistry` and any object with `getBuilders()` + `attachToServer()` qualify.
38
+ */
39
+ interface ServerRegistry<TContext> {
40
+ getBuilders(): Iterable<ToolBuilderLike>;
41
+ attachToServer(server: unknown, options: AttachOptions<TContext>): Promise<unknown>;
42
+ routeCall(ctx: TContext, name: string, args: Record<string, unknown>, progressSink?: ProgressSink, signal?: AbortSignal): Promise<unknown>;
43
+ }
44
+ /** Minimal builder shape for topology extraction. */
45
+ interface ToolBuilderLike {
46
+ getName(): string;
47
+ getActionNames(): string[];
48
+ buildToolDefinition(): unknown;
49
+ }
50
+ /** Result returned by `startServer`. */
51
+ export interface StartServerResult {
52
+ /** The MCP Server instance (`null` in edge/interceptor mode). */
53
+ readonly server: InstanceType<typeof Server> | null;
54
+ /** The Telemetry Bus (if enabled). */
55
+ readonly bus?: TelemetryBusInstance;
56
+ /** Gracefully shut down everything. */
57
+ readonly close: () => Promise<void>;
58
+ }
59
+ /**
60
+ * Start an Vurb server with a single call.
61
+ *
62
+ * Handles all bootstrap boilerplate: Server creation, registry attachment,
63
+ * telemetry bus, and stdio transport connection.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * import { startServer, autoDiscover } from 'vurb';
68
+ *
69
+ * const registry = f.registry();
70
+ * await autoDiscover(registry, new URL('./tools', import.meta.url));
71
+ *
72
+ * await startServer({
73
+ * name: 'my-server',
74
+ * registry,
75
+ * contextFactory: () => createContext(),
76
+ * });
77
+ * ```
78
+ */
79
+ export declare function startServer<TContext>(options: StartServerOptions<TContext>): Promise<StartServerResult>;
80
+ export {};
81
+ //# sourceMappingURL=startServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startServer.d.ts","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAkB,KAAK,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAMxE,iCAAiC;AACjC,MAAM,WAAW,kBAAkB,CAAC,QAAQ;IACxC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5C,gCAAgC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5C,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3E,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAE7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC;CAC/F;AAED;;;GAGG;AACH,UAAU,cAAc,CAAC,QAAQ;IAC7B,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9I;AAED,qDAAqD;AACrD,UAAU,eAAe;IACrB,OAAO,IAAI,MAAM,CAAC;IAClB,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,mBAAmB,IAAI,OAAO,CAAC;CAClC;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC;IACpD,sCAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC;IACpC,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EACtC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA4H5B"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * startServer — One-Liner Bootstrap for Vurb Servers
3
+ *
4
+ * Abstracts the entire server startup boilerplate into a single call:
5
+ * 1. Creates the MCP Server instance
6
+ * 2. Attaches the tool registry with telemetry
7
+ * 3. Builds the topology for Inspector TUI auto-discovery
8
+ * 4. Starts the Telemetry Bus (IPC)
9
+ * 5. Connects the stdio transport
10
+ *
11
+ * @module
12
+ */
13
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
15
+ import { attachToServer, _missingContextProxy } from './ServerAttachment.js';
16
+ import { createTelemetryBus } from '../observability/TelemetryBus.js';
17
+ // ============================================================================
18
+ // Implementation
19
+ // ============================================================================
20
+ /**
21
+ * Start an Vurb server with a single call.
22
+ *
23
+ * Handles all bootstrap boilerplate: Server creation, registry attachment,
24
+ * telemetry bus, and stdio transport connection.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { startServer, autoDiscover } from 'vurb';
29
+ *
30
+ * const registry = f.registry();
31
+ * await autoDiscover(registry, new URL('./tools', import.meta.url));
32
+ *
33
+ * await startServer({
34
+ * name: 'my-server',
35
+ * registry,
36
+ * contextFactory: () => createContext(),
37
+ * });
38
+ * ```
39
+ */
40
+ export async function startServer(options) {
41
+ const { name, version = '1.0.0', registry, prompts, contextFactory, telemetry = true, attach = {}, } = options;
42
+ // ── Vinkius Cloud Edge Detection ─────────────────────────────────────
43
+ // When running inside a V8 Isolate, the host injects
44
+ // __vinkius_edge_interceptor into globalThis. If present:
45
+ // 1. Serialize tool definitions to host via IPC
46
+ // 2. Expose __vinkius_edge_dispatch for tool invocations
47
+ // 3. Abort normal server startup (no stdio transport)
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ const g = globalThis;
50
+ if (typeof g.__vinkius_edge_interceptor !== 'undefined') {
51
+ const tools = [];
52
+ for (const b of registry.getBuilders()) {
53
+ tools.push({
54
+ definition: b.buildToolDefinition(),
55
+ name: b.getName(),
56
+ });
57
+ }
58
+ // Send definitions to host via C++ IPC
59
+ g.__vinkius_edge_interceptor.applySync(undefined, [
60
+ JSON.stringify({ serverName: name, version, tools }),
61
+ ]);
62
+ // Expose async dispatcher — PLAIN OBJECT return, never Error class.
63
+ // Host extracts via { result: { copy: true } } (C++ structured clone).
64
+ g.__vinkius_edge_dispatch = async (toolName, args) => {
65
+ try {
66
+ const ctx = contextFactory
67
+ ? await contextFactory(undefined)
68
+ : _missingContextProxy;
69
+ return await registry.routeCall(ctx, toolName, args);
70
+ }
71
+ catch (e) {
72
+ // Error class cannot survive C++ structured clone.
73
+ // Return MCP-protocol plain object instead.
74
+ const err = e;
75
+ return {
76
+ isError: true,
77
+ content: [{
78
+ type: 'text',
79
+ text: String(err?.stack || err?.message || e),
80
+ }],
81
+ };
82
+ }
83
+ };
84
+ // Abort normal startup — no Server, no Transport (Bug #45 fix)
85
+ return { server: null, close: async () => { } };
86
+ }
87
+ // ── Normal Server Startup ────────────────────────────────────────────
88
+ // 1. Telemetry Bus (optional, default on)
89
+ // Gracefully degrades on serverless platforms (Vercel, Cloudflare)
90
+ // where IPC sockets / Named Pipes are not available.
91
+ let bus;
92
+ if (telemetry) {
93
+ try {
94
+ // Build topology from registry builders
95
+ const toolGroups = new Map();
96
+ for (const b of registry.getBuilders()) {
97
+ const group = b.getName();
98
+ for (const actionKey of b.getActionNames()) {
99
+ const list = toolGroups.get(group) ?? [];
100
+ list.push(actionKey);
101
+ toolGroups.set(group, list);
102
+ }
103
+ }
104
+ bus = await createTelemetryBus({
105
+ onConnect: () => ({
106
+ type: 'topology',
107
+ serverName: name,
108
+ pid: process.pid,
109
+ tools: [...toolGroups.entries()].map(([n, actions]) => ({ name: n, actions })),
110
+ timestamp: Date.now(),
111
+ }),
112
+ });
113
+ process.stderr.write(`📡 Telemetry bus ready (PID ${process.pid})\n`);
114
+ }
115
+ catch {
116
+ // Serverless / sandboxed environments — telemetry unavailable
117
+ }
118
+ }
119
+ // 2. MCP Server Instance
120
+ const server = new Server({ name, version }, { capabilities: { tools: {}, ...(prompts ? { prompts: {} } : {}) } });
121
+ // 3. Attach Registry
122
+ await registry.attachToServer(server, {
123
+ ...attach,
124
+ ...(contextFactory ? { contextFactory } : {}),
125
+ ...(prompts ? { prompts } : {}),
126
+ ...(bus ? { telemetry: bus.emit } : {}),
127
+ });
128
+ // 4. Connect Stdio Transport
129
+ const transport = new StdioServerTransport();
130
+ await server.connect(transport);
131
+ process.stderr.write(`⚡ ${name} running on stdio\n`);
132
+ // 5. Close helper
133
+ async function close() {
134
+ if (bus)
135
+ await bus.close();
136
+ await server.close();
137
+ }
138
+ const result = { server, close };
139
+ if (bus)
140
+ result.bus = bus;
141
+ return result;
142
+ }
143
+ //# sourceMappingURL=startServer.js.map