@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,133 @@
1
+ /**
2
+ * PromptMessage — Factory Helpers for Prompt Messages
3
+ *
4
+ * Provides ergonomic factory methods for creating `PromptMessagePayload`
5
+ * objects used in `PromptResult.messages`.
6
+ *
7
+ * These helpers encode the MCP wire format so developers never deal
8
+ * with `{ role: 'user', content: { type: 'text', text: '...' } }`
9
+ * manually.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { PromptMessage } from 'vurb';
14
+ *
15
+ * return {
16
+ * messages: [
17
+ * PromptMessage.system('You are a Senior Auditor.'),
18
+ * PromptMessage.user('Begin the audit.'),
19
+ * PromptMessage.assistant('Analyzing invoices...'),
20
+ * ],
21
+ * };
22
+ * ```
23
+ *
24
+ * @module
25
+ */
26
+ import { type PromptMessagePayload } from './types.js';
27
+ import { type ResponseBuilder } from '../presenter/ResponseBuilder.js';
28
+ /**
29
+ * Factory for creating MCP prompt messages.
30
+ *
31
+ * **Note on `system()`:** The MCP protocol only supports `user` and
32
+ * `assistant` roles in `PromptMessage`. System instructions are encoded
33
+ * as a `user` message (the first message) by convention — the MCP client
34
+ * prepends it to the conversation context.
35
+ */
36
+ export declare const PromptMessage: {
37
+ /**
38
+ * Create a system instruction message.
39
+ *
40
+ * Encoded as `role: 'user'` per MCP spec (MCP does not have
41
+ * a `system` role in PromptMessage — system instructions are
42
+ * conveyed as the first `user` message by convention).
43
+ *
44
+ * @param text - System instruction text
45
+ */
46
+ readonly system: (text: string) => PromptMessagePayload;
47
+ /**
48
+ * Create a user message.
49
+ *
50
+ * @param text - User message text
51
+ */
52
+ readonly user: (text: string) => PromptMessagePayload;
53
+ /**
54
+ * Create an assistant message (for multi-turn seeding).
55
+ *
56
+ * Use this to pre-seed the assistant's initial response,
57
+ * guiding the LLM's first reasoning step.
58
+ *
59
+ * @param text - Assistant message text
60
+ */
61
+ readonly assistant: (text: string) => PromptMessagePayload;
62
+ /**
63
+ * Create a message with an embedded image.
64
+ *
65
+ * @param role - Message role ('user' or 'assistant')
66
+ * @param data - Base64-encoded image data
67
+ * @param mimeType - MIME type (e.g., 'image/png', 'image/jpeg')
68
+ */
69
+ readonly image: (role: "user" | "assistant", data: string, mimeType: string) => PromptMessagePayload;
70
+ /**
71
+ * Create a message with embedded audio.
72
+ *
73
+ * @param role - Message role ('user' or 'assistant')
74
+ * @param data - Base64-encoded audio data
75
+ * @param mimeType - MIME type (e.g., 'audio/wav', 'audio/mp3')
76
+ */
77
+ readonly audio: (role: "user" | "assistant", data: string, mimeType: string) => PromptMessagePayload;
78
+ /**
79
+ * Create a message with an embedded resource reference.
80
+ *
81
+ * @param role - Message role ('user' or 'assistant')
82
+ * @param uri - Resource URI
83
+ * @param options - Optional mime type, text, or blob data
84
+ */
85
+ readonly resource: (role: "user" | "assistant", uri: string, options?: {
86
+ mimeType?: string;
87
+ text?: string;
88
+ blob?: string;
89
+ }) => PromptMessagePayload;
90
+ /**
91
+ * Decompose a Presenter view into prompt messages.
92
+ *
93
+ * MVA-Driven Prompts — the bridge between the Presenter layer
94
+ * (MVA View for Tools) and the Prompt Engine. Extracts system rules,
95
+ * data, UI blocks, and action suggestions from a `ResponseBuilder`
96
+ * into composable `PromptMessagePayload[]` messages.
97
+ *
98
+ * Uses XML-tagged semantic blocks (`<domain_rules>`, `<dataset>`,
99
+ * `<visual_context>`, `<system_guidance>`) optimized for frontier
100
+ * LLM context handling — prevents context leakage between layers.
101
+ *
102
+ * **Single Source of Truth**: If a Presenter's `systemRules()` change,
103
+ * both Tools and Prompts update automatically — zero duplication.
104
+ *
105
+ * @param builder - A `ResponseBuilder` from `Presenter.make()` or `response()`
106
+ * @returns Array of prompt messages, ready to spread into `messages: [...]`
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * import { definePrompt, PromptMessage } from 'vurb';
111
+ * import { InvoicePresenter } from './presenters';
112
+ *
113
+ * const AuditPrompt = definePrompt<AppContext>('audit', {
114
+ * args: { invoiceId: 'string' } as const,
115
+ * handler: async (ctx, { invoiceId }) => {
116
+ * const invoice = await ctx.db.getInvoice(invoiceId);
117
+ * return {
118
+ * messages: [
119
+ * PromptMessage.system('You are a Senior Financial Auditor.'),
120
+ * ...PromptMessage.fromView(InvoicePresenter.make(invoice, ctx)),
121
+ * PromptMessage.user('Begin the audit for this invoice.'),
122
+ * ],
123
+ * };
124
+ * },
125
+ * });
126
+ * ```
127
+ *
128
+ * @see {@link Presenter} for the MVA View layer
129
+ * @see {@link ResponseBuilder} for the data source
130
+ */
131
+ readonly fromView: (builder: ResponseBuilder) => PromptMessagePayload[];
132
+ };
133
+ //# sourceMappingURL=PromptMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptMessage.d.ts","sourceRoot":"","sources":["../../src/prompt/PromptMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;IACtB;;;;;;;;OAQG;4BACU,MAAM,KAAG,oBAAoB;IAI1C;;;;OAIG;0BACQ,MAAM,KAAG,oBAAoB;IAIxC;;;;;;;OAOG;+BACa,MAAM,KAAG,oBAAoB;IAI7C;;;;;;OAMG;2BACS,MAAM,GAAG,WAAW,QAAQ,MAAM,YAAY,MAAM,KAAG,oBAAoB;IAIvF;;;;;;OAMG;2BACS,MAAM,GAAG,WAAW,QAAQ,MAAM,YAAY,MAAM,KAAG,oBAAoB;IAIvF;;;;;;OAMG;8BAEO,MAAM,GAAG,WAAW,OACrB,MAAM,YACD;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAC9D,oBAAoB;IAUvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;iCACe,eAAe,KAAG,oBAAoB,EAAE;CA4CpD,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * PromptMessage — Factory Helpers for Prompt Messages
3
+ *
4
+ * Provides ergonomic factory methods for creating `PromptMessagePayload`
5
+ * objects used in `PromptResult.messages`.
6
+ *
7
+ * These helpers encode the MCP wire format so developers never deal
8
+ * with `{ role: 'user', content: { type: 'text', text: '...' } }`
9
+ * manually.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { PromptMessage } from 'vurb';
14
+ *
15
+ * return {
16
+ * messages: [
17
+ * PromptMessage.system('You are a Senior Auditor.'),
18
+ * PromptMessage.user('Begin the audit.'),
19
+ * PromptMessage.assistant('Analyzing invoices...'),
20
+ * ],
21
+ * };
22
+ * ```
23
+ *
24
+ * @module
25
+ */
26
+ import {} from './types.js';
27
+ import {} from '../presenter/ResponseBuilder.js';
28
+ /**
29
+ * Factory for creating MCP prompt messages.
30
+ *
31
+ * **Note on `system()`:** The MCP protocol only supports `user` and
32
+ * `assistant` roles in `PromptMessage`. System instructions are encoded
33
+ * as a `user` message (the first message) by convention — the MCP client
34
+ * prepends it to the conversation context.
35
+ */
36
+ export const PromptMessage = {
37
+ /**
38
+ * Create a system instruction message.
39
+ *
40
+ * Encoded as `role: 'user'` per MCP spec (MCP does not have
41
+ * a `system` role in PromptMessage — system instructions are
42
+ * conveyed as the first `user` message by convention).
43
+ *
44
+ * @param text - System instruction text
45
+ */
46
+ system(text) {
47
+ return { role: 'user', content: { type: 'text', text } };
48
+ },
49
+ /**
50
+ * Create a user message.
51
+ *
52
+ * @param text - User message text
53
+ */
54
+ user(text) {
55
+ return { role: 'user', content: { type: 'text', text } };
56
+ },
57
+ /**
58
+ * Create an assistant message (for multi-turn seeding).
59
+ *
60
+ * Use this to pre-seed the assistant's initial response,
61
+ * guiding the LLM's first reasoning step.
62
+ *
63
+ * @param text - Assistant message text
64
+ */
65
+ assistant(text) {
66
+ return { role: 'assistant', content: { type: 'text', text } };
67
+ },
68
+ /**
69
+ * Create a message with an embedded image.
70
+ *
71
+ * @param role - Message role ('user' or 'assistant')
72
+ * @param data - Base64-encoded image data
73
+ * @param mimeType - MIME type (e.g., 'image/png', 'image/jpeg')
74
+ */
75
+ image(role, data, mimeType) {
76
+ return { role, content: { type: 'image', data, mimeType } };
77
+ },
78
+ /**
79
+ * Create a message with embedded audio.
80
+ *
81
+ * @param role - Message role ('user' or 'assistant')
82
+ * @param data - Base64-encoded audio data
83
+ * @param mimeType - MIME type (e.g., 'audio/wav', 'audio/mp3')
84
+ */
85
+ audio(role, data, mimeType) {
86
+ return { role, content: { type: 'audio', data, mimeType } };
87
+ },
88
+ /**
89
+ * Create a message with an embedded resource reference.
90
+ *
91
+ * @param role - Message role ('user' or 'assistant')
92
+ * @param uri - Resource URI
93
+ * @param options - Optional mime type, text, or blob data
94
+ */
95
+ resource(role, uri, options) {
96
+ return {
97
+ role,
98
+ content: {
99
+ type: 'resource',
100
+ resource: { uri, ...options },
101
+ },
102
+ };
103
+ },
104
+ /**
105
+ * Decompose a Presenter view into prompt messages.
106
+ *
107
+ * MVA-Driven Prompts — the bridge between the Presenter layer
108
+ * (MVA View for Tools) and the Prompt Engine. Extracts system rules,
109
+ * data, UI blocks, and action suggestions from a `ResponseBuilder`
110
+ * into composable `PromptMessagePayload[]` messages.
111
+ *
112
+ * Uses XML-tagged semantic blocks (`<domain_rules>`, `<dataset>`,
113
+ * `<visual_context>`, `<system_guidance>`) optimized for frontier
114
+ * LLM context handling — prevents context leakage between layers.
115
+ *
116
+ * **Single Source of Truth**: If a Presenter's `systemRules()` change,
117
+ * both Tools and Prompts update automatically — zero duplication.
118
+ *
119
+ * @param builder - A `ResponseBuilder` from `Presenter.make()` or `response()`
120
+ * @returns Array of prompt messages, ready to spread into `messages: [...]`
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * import { definePrompt, PromptMessage } from 'vurb';
125
+ * import { InvoicePresenter } from './presenters';
126
+ *
127
+ * const AuditPrompt = definePrompt<AppContext>('audit', {
128
+ * args: { invoiceId: 'string' } as const,
129
+ * handler: async (ctx, { invoiceId }) => {
130
+ * const invoice = await ctx.db.getInvoice(invoiceId);
131
+ * return {
132
+ * messages: [
133
+ * PromptMessage.system('You are a Senior Financial Auditor.'),
134
+ * ...PromptMessage.fromView(InvoicePresenter.make(invoice, ctx)),
135
+ * PromptMessage.user('Begin the audit for this invoice.'),
136
+ * ],
137
+ * };
138
+ * },
139
+ * });
140
+ * ```
141
+ *
142
+ * @see {@link Presenter} for the MVA View layer
143
+ * @see {@link ResponseBuilder} for the data source
144
+ */
145
+ fromView(builder) {
146
+ const messages = [];
147
+ // 1. RULES → SYSTEM ROLE (domain directives travel with the data)
148
+ const rules = builder.getRules();
149
+ if (rules.length > 0) {
150
+ messages.push(PromptMessage.system(`<domain_rules>\n${rules.map(r => `- ${r}`).join('\n')}\n</domain_rules>`));
151
+ }
152
+ // 2. DATA & UI BLOCKS → USER ROLE (context for the LLM)
153
+ const data = builder.getData();
154
+ const uiBlocks = builder.getUiBlocks();
155
+ let userContent = '';
156
+ if (data) {
157
+ userContent += `<dataset>\n\`\`\`json\n${data}\n\`\`\`\n</dataset>\n\n`;
158
+ }
159
+ if (uiBlocks.length > 0) {
160
+ userContent += `<visual_context>\n${uiBlocks.map(b => b.content).join('\n\n')}\n</visual_context>\n\n`;
161
+ }
162
+ if (userContent.trim()) {
163
+ messages.push(PromptMessage.user(userContent.trim()));
164
+ }
165
+ // 3. AFFORDANCES → SYSTEM ROLE (hints + HATEOAS suggestions)
166
+ const hints = builder.getHints();
167
+ const suggestions = builder.getSuggestions();
168
+ if (hints.length > 0 || suggestions.length > 0) {
169
+ let guidance = '<system_guidance>\n';
170
+ if (hints.length > 0) {
171
+ guidance += hints.map(h => `Hint: ${h}`).join('\n') + '\n';
172
+ }
173
+ if (suggestions.length > 0) {
174
+ guidance += `Suggested Next Actions: ${suggestions.map(s => `${s.tool} (${s.reason})`).join(', ')}\n`;
175
+ }
176
+ guidance += '</system_guidance>';
177
+ messages.push(PromptMessage.system(guidance));
178
+ }
179
+ return messages;
180
+ },
181
+ };
182
+ //# sourceMappingURL=PromptMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptMessage.js","sourceRoot":"","sources":["../../src/prompt/PromptMessage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * PromptRegistry — Centralized Prompt Registration & Routing
3
+ *
4
+ * The single place where all prompt builders are registered and where
5
+ * incoming `prompts/list` and `prompts/get` requests are routed.
6
+ *
7
+ * Mirrors the design of {@link ToolRegistry} with prompt-specific features:
8
+ * - O(1) routing via Map lookup
9
+ * - Tag-based filtering for RBAC exposure
10
+ * - Lifecycle sync via `notifyChanged()` (→ `notifications/prompts/list_changed`)
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { PromptRegistry, definePrompt } from 'vurb';
15
+ *
16
+ * const promptRegistry = new PromptRegistry<AppContext>();
17
+ * promptRegistry.register(AuditPrompt);
18
+ * promptRegistry.register(OnboardingPrompt);
19
+ *
20
+ * // Attach alongside tools:
21
+ * attachToServer(server, {
22
+ * tools: toolRegistry,
23
+ * prompts: promptRegistry,
24
+ * contextFactory: createContext,
25
+ * });
26
+ *
27
+ * // Lifecycle sync (e.g., after RBAC change):
28
+ * promptRegistry.notifyChanged();
29
+ * ```
30
+ *
31
+ * @see {@link definePrompt} for creating prompt builders
32
+ * @see {@link PromptBuilder} for the builder contract
33
+ *
34
+ * @module
35
+ */
36
+ import { type PromptBuilder, type PromptResult, type PromptInterceptorFn } from './types.js';
37
+ import { type CursorMode } from './CursorCodec.js';
38
+ /** MCP Prompt definition (for `prompts/list`) */
39
+ export interface McpPromptDef {
40
+ name: string;
41
+ description?: string;
42
+ arguments?: Array<{
43
+ name: string;
44
+ description?: string;
45
+ required?: boolean;
46
+ }>;
47
+ }
48
+ /** Filter options for selective prompt exposure */
49
+ export interface PromptFilter {
50
+ /** Only include prompts that have ALL these tags (AND logic) */
51
+ tags?: string[];
52
+ /** Only include prompts that have at least ONE of these tags (OR logic) */
53
+ anyTag?: string[];
54
+ /** Exclude prompts that have ANY of these tags */
55
+ exclude?: string[];
56
+ }
57
+ /** Options for configuring pagination in PromptRegistry */
58
+ export interface PromptPaginationOptions {
59
+ /**
60
+ * Maximum number of prompts to return per page.
61
+ * Default: 50
62
+ */
63
+ pageSize?: number;
64
+ /**
65
+ * 'signed' (HMAC) or 'encrypted' (AES-GCM). Default: 'signed'
66
+ */
67
+ cursorMode?: CursorMode;
68
+ /**
69
+ * 32-byte secret for the cursor codec. If omitted, uses ephemeral keys.
70
+ */
71
+ cursorSecret?: string;
72
+ }
73
+ /**
74
+ * Callback type for sending `notifications/prompts/list_changed`.
75
+ * Set by ServerAttachment when the registry is attached to a server.
76
+ */
77
+ export type PromptNotificationSink = () => void;
78
+ export declare class PromptRegistry<TContext = void> {
79
+ private readonly _builders;
80
+ private readonly _interceptors;
81
+ private _notificationSink?;
82
+ private _notifyDebounceTimer;
83
+ private _defaultHydrationTimeout;
84
+ private _cursorCodec;
85
+ private _pageSize;
86
+ /**
87
+ * Configure stateless cursor-based pagination for `prompts/list`.
88
+ * Overrides the default page size of 50.
89
+ *
90
+ * @param options Pagination configuration (pageSize, modes, secrets)
91
+ */
92
+ configurePagination(options: PromptPaginationOptions): void;
93
+ /**
94
+ * Set a global hydration timeout for ALL prompts in this registry.
95
+ *
96
+ * Individual prompts can override with their own `hydrationTimeout`.
97
+ * If neither is set, no timeout is applied (backward compatible).
98
+ *
99
+ * **Enterprise use case**: The platform team sets a 5s global deadline.
100
+ * Critical prompts like `morning_briefing` set their own 3s deadline.
101
+ * Simple prompts (no external I/O) inherit the 5s safety net.
102
+ *
103
+ * @param ms - Maximum hydration time in milliseconds (must be > 0)
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const promptRegistry = new PromptRegistry<AppContext>();
108
+ * promptRegistry.setDefaultHydrationTimeout(5000); // 5s global safety net
109
+ * ```
110
+ */
111
+ setDefaultHydrationTimeout(ms: number): void;
112
+ /**
113
+ * Register a single prompt builder.
114
+ *
115
+ * Validates that the prompt name is unique and triggers
116
+ * `buildPromptDefinition()` to compile at registration time.
117
+ *
118
+ * @param builder - A prompt builder (from `definePrompt()`)
119
+ * @throws If a prompt with the same name is already registered
120
+ */
121
+ register(builder: PromptBuilder<TContext>): void;
122
+ /**
123
+ * Register multiple prompt builders at once.
124
+ */
125
+ registerAll(...builders: PromptBuilder<TContext>[]): void;
126
+ /**
127
+ * Register a global Prompt Interceptor.
128
+ *
129
+ * Interceptors run AFTER the handler produces its `PromptResult` and BEFORE
130
+ * the result is returned to the MCP client. They can prepend/append messages
131
+ * to inject compliance headers, tenant context, RBAC constraints, or any
132
+ * global state that should wrap every prompt.
133
+ *
134
+ * **Enterprise use case**: The CISO requires every LLM interaction to include
135
+ * tenant isolation rules. Register one interceptor — it applies to all 50 prompts.
136
+ *
137
+ * Multiple interceptors are supported. They execute in registration order.
138
+ *
139
+ * @param interceptor - Callback receiving (ctx, builder, promptMeta)
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * promptRegistry.useInterceptor(async (ctx, builder, meta) => {
144
+ * builder.prependSystem(
145
+ * `[ENTERPRISE COMPLIANCE LAYER]\n` +
146
+ * `User Role: ${ctx.user.role} (Tenant ID: ${ctx.tenant.id})\n` +
147
+ * `Server Time: ${new Date().toISOString()}`
148
+ * );
149
+ * });
150
+ * ```
151
+ */
152
+ useInterceptor(interceptor: PromptInterceptorFn<TContext>): void;
153
+ /**
154
+ * Get all registered MCP Prompt definitions.
155
+ *
156
+ * Returns the compiled prompt metadata for `prompts/list`.
157
+ * @deprecated Use `listPrompts({ filter })` instead for pagination support.
158
+ */
159
+ getAllPrompts(): McpPromptDef[];
160
+ /**
161
+ * Get prompt definitions filtered by tags.
162
+ *
163
+ * Uses Set-based lookups for O(1) tag matching.
164
+ * @deprecated Use `listPrompts({ filter })` instead for pagination support.
165
+ */
166
+ getPrompts(filter: PromptFilter): McpPromptDef[];
167
+ /**
168
+ * Get paginated prompt definitions for `prompts/list`.
169
+ *
170
+ * Applies tag filters and decodes stateless cursors to return
171
+ * the requested slice of prompts, along with a `nextCursor` if more exist.
172
+ * Memory consumption is strictly O(1) across connections.
173
+ *
174
+ * @param request - Configuration containing optional `filter` and `cursor`.
175
+ * @returns Object with the array of prompts and an optional `nextCursor`.
176
+ */
177
+ listPrompts(request?: {
178
+ filter?: PromptFilter;
179
+ cursor?: string;
180
+ }): Promise<{
181
+ prompts: McpPromptDef[];
182
+ nextCursor?: string;
183
+ }>;
184
+ /**
185
+ * Route an incoming `prompts/get` request to the correct builder.
186
+ *
187
+ * Looks up the builder by name and delegates to its `execute()` method.
188
+ * Returns an error prompt result if the prompt is not found.
189
+ *
190
+ * @param ctx - Application context (from contextFactory)
191
+ * @param name - Prompt name from the incoming MCP request
192
+ * @param args - Raw string arguments from the MCP client
193
+ * @returns The hydrated prompt result
194
+ */
195
+ routeGet(ctx: TContext, name: string, args: Record<string, string>): Promise<PromptResult>;
196
+ /**
197
+ * Set the notification sink for `notifications/prompts/list_changed`.
198
+ *
199
+ * Called by `ServerAttachment` when attaching the registry to a server.
200
+ * The sink invokes the MCP SDK's `sendPromptListChanged()` method.
201
+ *
202
+ * @internal — not part of the public API
203
+ */
204
+ setNotificationSink(sink: PromptNotificationSink): void;
205
+ /**
206
+ * Notify all connected clients that the prompt catalog has changed.
207
+ *
208
+ * Sends `notifications/prompts/list_changed` to all connected clients,
209
+ * causing them to re-fetch `prompts/list` and update their UI.
210
+ *
211
+ * **Debounced:** Multiple calls within 100ms are coalesced into a single
212
+ * notification to prevent storms during bulk registration or RBAC updates.
213
+ *
214
+ * Use cases:
215
+ * - RBAC change: user promoted/demoted → visible prompts change
216
+ * - SOP update: compliance rules changed → prompt logic updated
217
+ * - Feature flag: new prompt enabled for beta users
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * // In your RBAC webhook handler:
222
+ * app.post('/webhooks/role-changed', async (req) => {
223
+ * await db.users.updateRole(req.userId, req.newRole);
224
+ * promptRegistry.notifyChanged(); // All clients refresh instantly
225
+ * });
226
+ * ```
227
+ */
228
+ notifyChanged(): void;
229
+ /** Check if a prompt with the given name is registered. */
230
+ has(name: string): boolean;
231
+ /** Remove all registered prompts, interceptors, and cancel pending timers. */
232
+ clear(): void;
233
+ /** Number of registered prompts. */
234
+ get size(): number;
235
+ }
236
+ //# sourceMappingURL=PromptRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptRegistry.d.ts","sourceRoot":"","sources":["../../src/prompt/PromptRegistry.ts"],"names":[],"mappings":"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"}