@frontmcp/sdk 0.6.1 → 0.6.3

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 (1066) hide show
  1. package/{src/auth → auth}/instances/instance.local-primary-auth.d.ts +1 -1
  2. package/{src/auth → auth}/instances/instance.remote-primary-auth.d.ts +1 -1
  3. package/auth/session/index.d.ts +8 -0
  4. package/{src/auth → auth}/session/redis-session.store.d.ts +26 -3
  5. package/auth/session/session-crypto.d.ts +86 -0
  6. package/auth/session/session-rate-limiter.d.ts +113 -0
  7. package/{src/auth → auth}/session/transport-session.types.d.ts +51 -34
  8. package/{src/auth → auth}/session/vercel-kv-session.store.d.ts +22 -2
  9. package/{src/common → common}/interfaces/internal/primary-auth-provider.interface.d.ts +1 -4
  10. package/{src/common → common}/metadata/front-mcp.metadata.d.ts +1074 -44
  11. package/common/types/options/auth/app-auth.schema.d.ts +275 -0
  12. package/common/types/options/auth/auth.interfaces.d.ts +461 -0
  13. package/common/types/options/auth/auth.schema.d.ts +284 -0
  14. package/common/types/options/auth/auth.utils.d.ts +32 -0
  15. package/common/types/options/auth/index.d.ts +16 -0
  16. package/common/types/options/auth/orchestrated.schema.d.ts +381 -0
  17. package/common/types/options/auth/public.schema.d.ts +42 -0
  18. package/common/types/options/auth/shared.schemas.d.ts +120 -0
  19. package/common/types/options/auth/transparent.schema.d.ts +56 -0
  20. package/common/types/options/auth/transport.deprecated.d.ts +63 -0
  21. package/{src/common → common}/types/options/index.d.ts +1 -1
  22. package/{src/common → common}/types/options/transport.options.d.ts +6 -1
  23. package/{src/common → common}/utils/decide-request-intent.utils.d.ts +6 -7
  24. package/esm/index.mjs +23219 -0
  25. package/esm/mcp-apps/index.mjs +723 -0
  26. package/esm/package.json +89 -0
  27. package/index.js +23513 -0
  28. package/logger/logger.tokens.d.ts +1 -0
  29. package/mcp-apps/index.js +799 -0
  30. package/package.json +36 -13
  31. package/transport/adapters/sse-transport.d.ts +65 -0
  32. package/transport/adapters/streamable-http-transport.d.ts +69 -0
  33. package/{src/transport → transport}/adapters/transport.local.adapter.d.ts +15 -1
  34. package/transport/adapters/transport.sse.adapter.d.ts +27 -0
  35. package/{src/transport → transport}/adapters/transport.streamable-http.adapter.d.ts +12 -3
  36. package/transport/index.d.ts +21 -0
  37. package/{src/transport → transport}/transport.local.d.ts +6 -0
  38. package/{src/transport → transport}/transport.registry.d.ts +7 -1
  39. package/{src/transport → transport}/transport.remote.d.ts +1 -0
  40. package/{src/transport → transport}/transport.types.d.ts +6 -0
  41. package/README.md +0 -461
  42. package/src/adapter/adapter.instance.js +0 -70
  43. package/src/adapter/adapter.instance.js.map +0 -1
  44. package/src/adapter/adapter.regsitry.js +0 -54
  45. package/src/adapter/adapter.regsitry.js.map +0 -1
  46. package/src/adapter/adapter.utils.js +0 -83
  47. package/src/adapter/adapter.utils.js.map +0 -1
  48. package/src/app/app.registry.js +0 -66
  49. package/src/app/app.registry.js.map +0 -1
  50. package/src/app/app.utils.js +0 -58
  51. package/src/app/app.utils.js.map +0 -1
  52. package/src/app/instances/app.local.instance.js +0 -67
  53. package/src/app/instances/app.local.instance.js.map +0 -1
  54. package/src/app/instances/app.remote.instance.js +0 -36
  55. package/src/app/instances/app.remote.instance.js.map +0 -1
  56. package/src/app/instances/index.js +0 -6
  57. package/src/app/instances/index.js.map +0 -1
  58. package/src/auth/auth.registry.js +0 -219
  59. package/src/auth/auth.registry.js.map +0 -1
  60. package/src/auth/auth.utils.js +0 -84
  61. package/src/auth/auth.utils.js.map +0 -1
  62. package/src/auth/authorization/authorization.class.js +0 -217
  63. package/src/auth/authorization/authorization.class.js.map +0 -1
  64. package/src/auth/authorization/authorization.types.js +0 -79
  65. package/src/auth/authorization/authorization.types.js.map +0 -1
  66. package/src/auth/authorization/index.js +0 -19
  67. package/src/auth/authorization/index.js.map +0 -1
  68. package/src/auth/authorization/orchestrated.authorization.js +0 -306
  69. package/src/auth/authorization/orchestrated.authorization.js.map +0 -1
  70. package/src/auth/authorization/public.authorization.js +0 -132
  71. package/src/auth/authorization/public.authorization.js.map +0 -1
  72. package/src/auth/authorization/transparent.authorization.js +0 -147
  73. package/src/auth/authorization/transparent.authorization.js.map +0 -1
  74. package/src/auth/consent/consent.types.js +0 -119
  75. package/src/auth/consent/consent.types.js.map +0 -1
  76. package/src/auth/consent/index.js +0 -13
  77. package/src/auth/consent/index.js.map +0 -1
  78. package/src/auth/detection/auth-provider-detection.js +0 -230
  79. package/src/auth/detection/auth-provider-detection.js.map +0 -1
  80. package/src/auth/detection/index.js +0 -15
  81. package/src/auth/detection/index.js.map +0 -1
  82. package/src/auth/flows/auth.verify.flow.js +0 -379
  83. package/src/auth/flows/auth.verify.flow.js.map +0 -1
  84. package/src/auth/flows/oauth.authorize.flow.js +0 -822
  85. package/src/auth/flows/oauth.authorize.flow.js.map +0 -1
  86. package/src/auth/flows/oauth.callback.flow.js +0 -357
  87. package/src/auth/flows/oauth.callback.flow.js.map +0 -1
  88. package/src/auth/flows/oauth.register.flow.js +0 -201
  89. package/src/auth/flows/oauth.register.flow.js.map +0 -1
  90. package/src/auth/flows/oauth.token.flow.js +0 -319
  91. package/src/auth/flows/oauth.token.flow.js.map +0 -1
  92. package/src/auth/flows/session.verify.flow.js +0 -304
  93. package/src/auth/flows/session.verify.flow.js.map +0 -1
  94. package/src/auth/flows/well-known.jwks.flow.js +0 -89
  95. package/src/auth/flows/well-known.jwks.flow.js.map +0 -1
  96. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +0 -122
  97. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +0 -1
  98. package/src/auth/flows/well-known.prm.flow.js +0 -106
  99. package/src/auth/flows/well-known.prm.flow.js.map +0 -1
  100. package/src/auth/instances/instance.local-primary-auth.js +0 -308
  101. package/src/auth/instances/instance.local-primary-auth.js.map +0 -1
  102. package/src/auth/instances/instance.remote-primary-auth.js +0 -49
  103. package/src/auth/instances/instance.remote-primary-auth.js.map +0 -1
  104. package/src/auth/jwks/dev-key-persistence.js +0 -219
  105. package/src/auth/jwks/dev-key-persistence.js.map +0 -1
  106. package/src/auth/jwks/index.js +0 -7
  107. package/src/auth/jwks/index.js.map +0 -1
  108. package/src/auth/jwks/jwks.service.js +0 -303
  109. package/src/auth/jwks/jwks.service.js.map +0 -1
  110. package/src/auth/jwks/jwks.types.js +0 -3
  111. package/src/auth/jwks/jwks.types.js.map +0 -1
  112. package/src/auth/jwks/jwks.utils.js +0 -32
  113. package/src/auth/jwks/jwks.utils.js.map +0 -1
  114. package/src/auth/machine-id.js +0 -32
  115. package/src/auth/machine-id.js.map +0 -1
  116. package/src/auth/oauth/flows/oauth.authorize.flow.js +0 -33
  117. package/src/auth/oauth/flows/oauth.authorize.flow.js.map +0 -1
  118. package/src/auth/oauth/flows/oauth.device-authorization.flow.js +0 -48
  119. package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +0 -1
  120. package/src/auth/oauth/flows/oauth.introspect.flow.js +0 -28
  121. package/src/auth/oauth/flows/oauth.introspect.flow.js.map +0 -1
  122. package/src/auth/oauth/flows/oauth.par.flow.js +0 -29
  123. package/src/auth/oauth/flows/oauth.par.flow.js.map +0 -1
  124. package/src/auth/oauth/flows/oauth.revoke.flow.js +0 -27
  125. package/src/auth/oauth/flows/oauth.revoke.flow.js.map +0 -1
  126. package/src/auth/oauth/flows/oauth.token.flow.js +0 -59
  127. package/src/auth/oauth/flows/oauth.token.flow.js.map +0 -1
  128. package/src/auth/oauth/flows/oauth.userinfo.flow.js +0 -24
  129. package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +0 -1
  130. package/src/auth/oauth/flows/oidc.logout.flow.js +0 -20
  131. package/src/auth/oauth/flows/oidc.logout.flow.js.map +0 -1
  132. package/src/auth/session/authorization-vault.js +0 -817
  133. package/src/auth/session/authorization-vault.js.map +0 -1
  134. package/src/auth/session/authorization.store.js +0 -323
  135. package/src/auth/session/authorization.store.js.map +0 -1
  136. package/src/auth/session/encrypted-authorization-vault.js +0 -493
  137. package/src/auth/session/encrypted-authorization-vault.js.map +0 -1
  138. package/src/auth/session/index.d.ts +0 -6
  139. package/src/auth/session/index.js +0 -18
  140. package/src/auth/session/index.js.map +0 -1
  141. package/src/auth/session/record/session.base.js +0 -125
  142. package/src/auth/session/record/session.base.js.map +0 -1
  143. package/src/auth/session/record/session.stateful.js +0 -55
  144. package/src/auth/session/record/session.stateful.js.map +0 -1
  145. package/src/auth/session/record/session.stateless.js +0 -32
  146. package/src/auth/session/record/session.stateless.js.map +0 -1
  147. package/src/auth/session/record/session.transparent.js +0 -22
  148. package/src/auth/session/record/session.transparent.js.map +0 -1
  149. package/src/auth/session/redis-session.store.js +0 -204
  150. package/src/auth/session/redis-session.store.js.map +0 -1
  151. package/src/auth/session/session.crypto.js +0 -47
  152. package/src/auth/session/session.crypto.js.map +0 -1
  153. package/src/auth/session/session.schema.js +0 -13
  154. package/src/auth/session/session.schema.js.map +0 -1
  155. package/src/auth/session/session.service.js +0 -105
  156. package/src/auth/session/session.service.js.map +0 -1
  157. package/src/auth/session/session.transport.js +0 -20
  158. package/src/auth/session/session.transport.js.map +0 -1
  159. package/src/auth/session/session.types.js +0 -4
  160. package/src/auth/session/session.types.js.map +0 -1
  161. package/src/auth/session/token.refresh.js +0 -63
  162. package/src/auth/session/token.refresh.js.map +0 -1
  163. package/src/auth/session/token.store.js +0 -53
  164. package/src/auth/session/token.store.js.map +0 -1
  165. package/src/auth/session/token.vault.js +0 -54
  166. package/src/auth/session/token.vault.js.map +0 -1
  167. package/src/auth/session/transport-session.manager.js +0 -298
  168. package/src/auth/session/transport-session.manager.js.map +0 -1
  169. package/src/auth/session/transport-session.types.js +0 -111
  170. package/src/auth/session/transport-session.types.js.map +0 -1
  171. package/src/auth/session/utils/auth-token.utils.js +0 -57
  172. package/src/auth/session/utils/auth-token.utils.js.map +0 -1
  173. package/src/auth/session/utils/session-id.utils.js +0 -217
  174. package/src/auth/session/utils/session-id.utils.js.map +0 -1
  175. package/src/auth/session/utils/tiny-ttl-cache.js +0 -26
  176. package/src/auth/session/utils/tiny-ttl-cache.js.map +0 -1
  177. package/src/auth/session/vault-encryption.js +0 -263
  178. package/src/auth/session/vault-encryption.js.map +0 -1
  179. package/src/auth/session/vercel-kv-session.store.js +0 -216
  180. package/src/auth/session/vercel-kv-session.store.js.map +0 -1
  181. package/src/auth/ui/base-layout.js +0 -279
  182. package/src/auth/ui/base-layout.js.map +0 -1
  183. package/src/auth/ui/index.js +0 -34
  184. package/src/auth/ui/index.js.map +0 -1
  185. package/src/auth/ui/templates.js +0 -426
  186. package/src/auth/ui/templates.js.map +0 -1
  187. package/src/auth/utils/audience.validator.js +0 -196
  188. package/src/auth/utils/audience.validator.js.map +0 -1
  189. package/src/auth/utils/index.js +0 -7
  190. package/src/auth/utils/index.js.map +0 -1
  191. package/src/auth/utils/www-authenticate.utils.js +0 -183
  192. package/src/auth/utils/www-authenticate.utils.js.map +0 -1
  193. package/src/common/common.schema.js +0 -35
  194. package/src/common/common.schema.js.map +0 -1
  195. package/src/common/constants.js +0 -13
  196. package/src/common/constants.js.map +0 -1
  197. package/src/common/decorators/adapter.decorator.js +0 -20
  198. package/src/common/decorators/adapter.decorator.js.map +0 -1
  199. package/src/common/decorators/app.decorator.js +0 -44
  200. package/src/common/decorators/app.decorator.js.map +0 -1
  201. package/src/common/decorators/auth-provider.decorator.js +0 -20
  202. package/src/common/decorators/auth-provider.decorator.js.map +0 -1
  203. package/src/common/decorators/decorator-utils.js +0 -195
  204. package/src/common/decorators/decorator-utils.js.map +0 -1
  205. package/src/common/decorators/flow.decorator.js +0 -19
  206. package/src/common/decorators/flow.decorator.js.map +0 -1
  207. package/src/common/decorators/front-mcp.decorator.js +0 -64
  208. package/src/common/decorators/front-mcp.decorator.js.map +0 -1
  209. package/src/common/decorators/hook.decorator.js +0 -178
  210. package/src/common/decorators/hook.decorator.js.map +0 -1
  211. package/src/common/decorators/index.js +0 -16
  212. package/src/common/decorators/index.js.map +0 -1
  213. package/src/common/decorators/logger.decorator.js +0 -20
  214. package/src/common/decorators/logger.decorator.js.map +0 -1
  215. package/src/common/decorators/plugin.decorator.js +0 -39
  216. package/src/common/decorators/plugin.decorator.js.map +0 -1
  217. package/src/common/decorators/prompt.decorator.js +0 -38
  218. package/src/common/decorators/prompt.decorator.js.map +0 -1
  219. package/src/common/decorators/provider.decorator.js +0 -20
  220. package/src/common/decorators/provider.decorator.js.map +0 -1
  221. package/src/common/decorators/resource.decorator.js +0 -94
  222. package/src/common/decorators/resource.decorator.js.map +0 -1
  223. package/src/common/decorators/tool.decorator.js +0 -45
  224. package/src/common/decorators/tool.decorator.js.map +0 -1
  225. package/src/common/dynamic/dynamic.adapter.js +0 -28
  226. package/src/common/dynamic/dynamic.adapter.js.map +0 -1
  227. package/src/common/dynamic/dynamic.plugin.js +0 -42
  228. package/src/common/dynamic/dynamic.plugin.js.map +0 -1
  229. package/src/common/dynamic/dynamic.utils.js +0 -27
  230. package/src/common/dynamic/dynamic.utils.js.map +0 -1
  231. package/src/common/dynamic/index.js +0 -6
  232. package/src/common/dynamic/index.js.map +0 -1
  233. package/src/common/entries/adapter.entry.js +0 -8
  234. package/src/common/entries/adapter.entry.js.map +0 -1
  235. package/src/common/entries/app.entry.js +0 -9
  236. package/src/common/entries/app.entry.js.map +0 -1
  237. package/src/common/entries/auth-provider.entry.js +0 -8
  238. package/src/common/entries/auth-provider.entry.js.map +0 -1
  239. package/src/common/entries/base.entry.js +0 -17
  240. package/src/common/entries/base.entry.js.map +0 -1
  241. package/src/common/entries/flow.entry.js +0 -21
  242. package/src/common/entries/flow.entry.js.map +0 -1
  243. package/src/common/entries/hook.entry.js +0 -20
  244. package/src/common/entries/hook.entry.js.map +0 -1
  245. package/src/common/entries/index.js +0 -17
  246. package/src/common/entries/index.js.map +0 -1
  247. package/src/common/entries/logger.entry.js +0 -8
  248. package/src/common/entries/logger.entry.js.map +0 -1
  249. package/src/common/entries/plugin.entry.js +0 -8
  250. package/src/common/entries/plugin.entry.js.map +0 -1
  251. package/src/common/entries/prompt.entry.js +0 -18
  252. package/src/common/entries/prompt.entry.js.map +0 -1
  253. package/src/common/entries/provider.entry.js +0 -8
  254. package/src/common/entries/provider.entry.js.map +0 -1
  255. package/src/common/entries/resource.entry.js +0 -35
  256. package/src/common/entries/resource.entry.js.map +0 -1
  257. package/src/common/entries/scope.entry.js +0 -14
  258. package/src/common/entries/scope.entry.js.map +0 -1
  259. package/src/common/entries/tool.entry.js +0 -31
  260. package/src/common/entries/tool.entry.js.map +0 -1
  261. package/src/common/flow/flow.utils.js +0 -96
  262. package/src/common/flow/flow.utils.js.map +0 -1
  263. package/src/common/index.js +0 -20
  264. package/src/common/index.js.map +0 -1
  265. package/src/common/interfaces/adapter.interface.js +0 -3
  266. package/src/common/interfaces/adapter.interface.js.map +0 -1
  267. package/src/common/interfaces/app.interface.js +0 -3
  268. package/src/common/interfaces/app.interface.js.map +0 -1
  269. package/src/common/interfaces/auth-hook.interface.js +0 -135
  270. package/src/common/interfaces/auth-hook.interface.js.map +0 -1
  271. package/src/common/interfaces/auth-provider.interface.js +0 -18
  272. package/src/common/interfaces/auth-provider.interface.js.map +0 -1
  273. package/src/common/interfaces/base.interface.js +0 -3
  274. package/src/common/interfaces/base.interface.js.map +0 -1
  275. package/src/common/interfaces/execution-context.interface.js +0 -166
  276. package/src/common/interfaces/execution-context.interface.js.map +0 -1
  277. package/src/common/interfaces/flow.interface.js +0 -95
  278. package/src/common/interfaces/flow.interface.js.map +0 -1
  279. package/src/common/interfaces/front-mcp.interface.js +0 -3
  280. package/src/common/interfaces/front-mcp.interface.js.map +0 -1
  281. package/src/common/interfaces/hook.interface.js +0 -3
  282. package/src/common/interfaces/hook.interface.js.map +0 -1
  283. package/src/common/interfaces/index.js +0 -21
  284. package/src/common/interfaces/index.js.map +0 -1
  285. package/src/common/interfaces/internal/flow.utils.js +0 -83
  286. package/src/common/interfaces/internal/flow.utils.js.map +0 -1
  287. package/src/common/interfaces/internal/index.js +0 -7
  288. package/src/common/interfaces/internal/index.js.map +0 -1
  289. package/src/common/interfaces/internal/primary-auth-provider.interface.js +0 -81
  290. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
  291. package/src/common/interfaces/internal/registry.interface.js +0 -3
  292. package/src/common/interfaces/internal/registry.interface.js.map +0 -1
  293. package/src/common/interfaces/logger.interface.js +0 -10
  294. package/src/common/interfaces/logger.interface.js.map +0 -1
  295. package/src/common/interfaces/plugin.interface.js +0 -3
  296. package/src/common/interfaces/plugin.interface.js.map +0 -1
  297. package/src/common/interfaces/prompt.interface.js +0 -81
  298. package/src/common/interfaces/prompt.interface.js.map +0 -1
  299. package/src/common/interfaces/provider.interface.js +0 -18
  300. package/src/common/interfaces/provider.interface.js.map +0 -1
  301. package/src/common/interfaces/resource.interface.js +0 -56
  302. package/src/common/interfaces/resource.interface.js.map +0 -1
  303. package/src/common/interfaces/scope.interface.js +0 -3
  304. package/src/common/interfaces/scope.interface.js.map +0 -1
  305. package/src/common/interfaces/server.interface.js +0 -18
  306. package/src/common/interfaces/server.interface.js.map +0 -1
  307. package/src/common/interfaces/session-hook.interface.js +0 -140
  308. package/src/common/interfaces/session-hook.interface.js.map +0 -1
  309. package/src/common/interfaces/tool-hook.interface.js +0 -92
  310. package/src/common/interfaces/tool-hook.interface.js.map +0 -1
  311. package/src/common/interfaces/tool.interface.js +0 -117
  312. package/src/common/interfaces/tool.interface.js.map +0 -1
  313. package/src/common/metadata/adapter.metadata.js +0 -10
  314. package/src/common/metadata/adapter.metadata.js.map +0 -1
  315. package/src/common/metadata/app.metadata.js +0 -30
  316. package/src/common/metadata/app.metadata.js.map +0 -1
  317. package/src/common/metadata/auth-provider.metadata.js +0 -19
  318. package/src/common/metadata/auth-provider.metadata.js.map +0 -1
  319. package/src/common/metadata/flow.metadata.js +0 -15
  320. package/src/common/metadata/flow.metadata.js.map +0 -1
  321. package/src/common/metadata/front-mcp.metadata.js +0 -30
  322. package/src/common/metadata/front-mcp.metadata.js.map +0 -1
  323. package/src/common/metadata/hook.metadata.js +0 -3
  324. package/src/common/metadata/hook.metadata.js.map +0 -1
  325. package/src/common/metadata/index.js +0 -17
  326. package/src/common/metadata/index.js.map +0 -1
  327. package/src/common/metadata/logger.metadata.js +0 -10
  328. package/src/common/metadata/logger.metadata.js.map +0 -1
  329. package/src/common/metadata/plugin.metadata.js +0 -18
  330. package/src/common/metadata/plugin.metadata.js.map +0 -1
  331. package/src/common/metadata/prompt.metadata.js +0 -27
  332. package/src/common/metadata/prompt.metadata.js.map +0 -1
  333. package/src/common/metadata/provider.metadata.js +0 -36
  334. package/src/common/metadata/provider.metadata.js.map +0 -1
  335. package/src/common/metadata/resource.metadata.js +0 -31
  336. package/src/common/metadata/resource.metadata.js.map +0 -1
  337. package/src/common/metadata/tool-ui.metadata.js +0 -12
  338. package/src/common/metadata/tool-ui.metadata.js.map +0 -1
  339. package/src/common/metadata/tool.metadata.js +0 -55
  340. package/src/common/metadata/tool.metadata.js.map +0 -1
  341. package/src/common/migrate/auth-transport.migrate.js +0 -140
  342. package/src/common/migrate/auth-transport.migrate.js.map +0 -1
  343. package/src/common/migrate/index.js +0 -6
  344. package/src/common/migrate/index.js.map +0 -1
  345. package/src/common/providers/base-config.provider.js +0 -128
  346. package/src/common/providers/base-config.provider.js.map +0 -1
  347. package/src/common/records/adapter.record.js +0 -11
  348. package/src/common/records/adapter.record.js.map +0 -1
  349. package/src/common/records/app.record.js +0 -9
  350. package/src/common/records/app.record.js.map +0 -1
  351. package/src/common/records/auth-provider.record.js +0 -12
  352. package/src/common/records/auth-provider.record.js.map +0 -1
  353. package/src/common/records/flow.record.js +0 -8
  354. package/src/common/records/flow.record.js.map +0 -1
  355. package/src/common/records/hook.record.js +0 -8
  356. package/src/common/records/hook.record.js.map +0 -1
  357. package/src/common/records/index.js +0 -16
  358. package/src/common/records/index.js.map +0 -1
  359. package/src/common/records/logger.record.js +0 -8
  360. package/src/common/records/logger.record.js.map +0 -1
  361. package/src/common/records/plugin.record.js +0 -11
  362. package/src/common/records/plugin.record.js.map +0 -1
  363. package/src/common/records/prompt.record.js +0 -9
  364. package/src/common/records/prompt.record.js.map +0 -1
  365. package/src/common/records/provider.record.js +0 -14
  366. package/src/common/records/provider.record.js.map +0 -1
  367. package/src/common/records/resource.record.js +0 -20
  368. package/src/common/records/resource.record.js.map +0 -1
  369. package/src/common/records/scope.record.js +0 -9
  370. package/src/common/records/scope.record.js.map +0 -1
  371. package/src/common/records/tool.record.js +0 -9
  372. package/src/common/records/tool.record.js.map +0 -1
  373. package/src/common/schemas/annotated-class.schema.js +0 -109
  374. package/src/common/schemas/annotated-class.schema.js.map +0 -1
  375. package/src/common/schemas/http-input.schema.js +0 -13
  376. package/src/common/schemas/http-input.schema.js.map +0 -1
  377. package/src/common/schemas/http-output.schema.js +0 -321
  378. package/src/common/schemas/http-output.schema.js.map +0 -1
  379. package/src/common/schemas/index.js +0 -8
  380. package/src/common/schemas/index.js.map +0 -1
  381. package/src/common/schemas/session-header.schema.js +0 -42
  382. package/src/common/schemas/session-header.schema.js.map +0 -1
  383. package/src/common/tokens/adapter.tokens.js +0 -11
  384. package/src/common/tokens/adapter.tokens.js.map +0 -1
  385. package/src/common/tokens/app.tokens.js +0 -30
  386. package/src/common/tokens/app.tokens.js.map +0 -1
  387. package/src/common/tokens/auth-provider.tokens.js +0 -12
  388. package/src/common/tokens/auth-provider.tokens.js.map +0 -1
  389. package/src/common/tokens/base.tokens.js +0 -9
  390. package/src/common/tokens/base.tokens.js.map +0 -1
  391. package/src/common/tokens/flow-hook.tokens.js +0 -9
  392. package/src/common/tokens/flow-hook.tokens.js.map +0 -1
  393. package/src/common/tokens/flow.tokens.js +0 -16
  394. package/src/common/tokens/flow.tokens.js.map +0 -1
  395. package/src/common/tokens/front-mcp.tokens.js +0 -25
  396. package/src/common/tokens/front-mcp.tokens.js.map +0 -1
  397. package/src/common/tokens/index.js +0 -17
  398. package/src/common/tokens/index.js.map +0 -1
  399. package/src/common/tokens/logger.tokens.js +0 -11
  400. package/src/common/tokens/logger.tokens.js.map +0 -1
  401. package/src/common/tokens/plugin.tokens.js +0 -18
  402. package/src/common/tokens/plugin.tokens.js.map +0 -1
  403. package/src/common/tokens/prompt.tokens.js +0 -14
  404. package/src/common/tokens/prompt.tokens.js.map +0 -1
  405. package/src/common/tokens/provider.tokens.js +0 -12
  406. package/src/common/tokens/provider.tokens.js.map +0 -1
  407. package/src/common/tokens/resource.tokens.js +0 -28
  408. package/src/common/tokens/resource.tokens.js.map +0 -1
  409. package/src/common/tokens/server.tokens.js +0 -11
  410. package/src/common/tokens/server.tokens.js.map +0 -1
  411. package/src/common/tokens/tool.tokens.js +0 -21
  412. package/src/common/tokens/tool.tokens.js.map +0 -1
  413. package/src/common/types/auth/index.js +0 -6
  414. package/src/common/types/auth/index.js.map +0 -1
  415. package/src/common/types/auth/jwt.types.js +0 -36
  416. package/src/common/types/auth/jwt.types.js.map +0 -1
  417. package/src/common/types/auth/session.types.js +0 -53
  418. package/src/common/types/auth/session.types.js.map +0 -1
  419. package/src/common/types/common.types.js +0 -3
  420. package/src/common/types/common.types.js.map +0 -1
  421. package/src/common/types/index.js +0 -7
  422. package/src/common/types/index.js.map +0 -1
  423. package/src/common/types/options/auth.options.d.ts +0 -1266
  424. package/src/common/types/options/auth.options.js +0 -560
  425. package/src/common/types/options/auth.options.js.map +0 -1
  426. package/src/common/types/options/http.options.js +0 -10
  427. package/src/common/types/options/http.options.js.map +0 -1
  428. package/src/common/types/options/index.js +0 -11
  429. package/src/common/types/options/index.js.map +0 -1
  430. package/src/common/types/options/logging.options.js +0 -33
  431. package/src/common/types/options/logging.options.js.map +0 -1
  432. package/src/common/types/options/redis.options.js +0 -191
  433. package/src/common/types/options/redis.options.js.map +0 -1
  434. package/src/common/types/options/server-info.options.js +0 -13
  435. package/src/common/types/options/server-info.options.js.map +0 -1
  436. package/src/common/types/options/session.options.js +0 -32
  437. package/src/common/types/options/session.options.js.map +0 -1
  438. package/src/common/types/options/transport.options.js +0 -121
  439. package/src/common/types/options/transport.options.js.map +0 -1
  440. package/src/common/utils/decide-request-intent.utils.js +0 -391
  441. package/src/common/utils/decide-request-intent.utils.js.map +0 -1
  442. package/src/common/utils/global-config.utils.js +0 -44
  443. package/src/common/utils/global-config.utils.js.map +0 -1
  444. package/src/common/utils/index.js +0 -7
  445. package/src/common/utils/index.js.map +0 -1
  446. package/src/common/utils/path.utils.js +0 -66
  447. package/src/common/utils/path.utils.js.map +0 -1
  448. package/src/completion/flows/complete.flow.js +0 -199
  449. package/src/completion/flows/complete.flow.js.map +0 -1
  450. package/src/context/frontmcp-context-storage.js +0 -183
  451. package/src/context/frontmcp-context-storage.js.map +0 -1
  452. package/src/context/frontmcp-context.js +0 -360
  453. package/src/context/frontmcp-context.js.map +0 -1
  454. package/src/context/frontmcp-context.provider.js +0 -61
  455. package/src/context/frontmcp-context.provider.js.map +0 -1
  456. package/src/context/index.js +0 -64
  457. package/src/context/index.js.map +0 -1
  458. package/src/context/request-context-storage.js +0 -183
  459. package/src/context/request-context-storage.js.map +0 -1
  460. package/src/context/request-context.js +0 -209
  461. package/src/context/request-context.js.map +0 -1
  462. package/src/context/request-context.provider.js +0 -51
  463. package/src/context/request-context.provider.js.map +0 -1
  464. package/src/context/session-key.provider.js +0 -65
  465. package/src/context/session-key.provider.js.map +0 -1
  466. package/src/context/trace-context.js +0 -142
  467. package/src/context/trace-context.js.map +0 -1
  468. package/src/errors/authorization-required.error.js +0 -274
  469. package/src/errors/authorization-required.error.js.map +0 -1
  470. package/src/errors/error-handler.js +0 -107
  471. package/src/errors/error-handler.js.map +0 -1
  472. package/src/errors/index.js +0 -45
  473. package/src/errors/index.js.map +0 -1
  474. package/src/errors/mcp.error.js +0 -416
  475. package/src/errors/mcp.error.js.map +0 -1
  476. package/src/exceptions/mcp-exceptions/session-missing.exception.js +0 -11
  477. package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +0 -1
  478. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +0 -15
  479. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +0 -1
  480. package/src/flows/flow.instance.js +0 -420
  481. package/src/flows/flow.instance.js.map +0 -1
  482. package/src/flows/flow.registry.js +0 -121
  483. package/src/flows/flow.registry.js.map +0 -1
  484. package/src/flows/flow.stages.js +0 -113
  485. package/src/flows/flow.stages.js.map +0 -1
  486. package/src/flows/flow.utils.js +0 -36
  487. package/src/flows/flow.utils.js.map +0 -1
  488. package/src/front-mcp/front-mcp.js +0 -63
  489. package/src/front-mcp/front-mcp.js.map +0 -1
  490. package/src/front-mcp/front-mcp.providers.js +0 -29
  491. package/src/front-mcp/front-mcp.providers.js.map +0 -1
  492. package/src/front-mcp/front-mcp.tokens.js +0 -5
  493. package/src/front-mcp/front-mcp.tokens.js.map +0 -1
  494. package/src/front-mcp/index.js +0 -8
  495. package/src/front-mcp/index.js.map +0 -1
  496. package/src/front-mcp/serverless-handler.js +0 -61
  497. package/src/front-mcp/serverless-handler.js.map +0 -1
  498. package/src/hooks/hook.instance.js +0 -26
  499. package/src/hooks/hook.instance.js.map +0 -1
  500. package/src/hooks/hook.registry.js +0 -152
  501. package/src/hooks/hook.registry.js.map +0 -1
  502. package/src/hooks/hooks.utils.js +0 -34
  503. package/src/hooks/hooks.utils.js.map +0 -1
  504. package/src/index.js +0 -37
  505. package/src/index.js.map +0 -1
  506. package/src/logger/instances/instance.console-logger.js +0 -75
  507. package/src/logger/instances/instance.console-logger.js.map +0 -1
  508. package/src/logger/instances/instance.logger.js +0 -77
  509. package/src/logger/instances/instance.logger.js.map +0 -1
  510. package/src/logger/logger.registry.js +0 -96
  511. package/src/logger/logger.registry.js.map +0 -1
  512. package/src/logger/logger.tokens.js +0 -3
  513. package/src/logger/logger.tokens.js.map +0 -1
  514. package/src/logger/logger.types.js +0 -8
  515. package/src/logger/logger.types.js.map +0 -1
  516. package/src/logger/logger.utils.js +0 -42
  517. package/src/logger/logger.utils.js.map +0 -1
  518. package/src/logging/flows/set-level.flow.js +0 -108
  519. package/src/logging/flows/set-level.flow.js.map +0 -1
  520. package/src/mcp-apps/csp.js +0 -267
  521. package/src/mcp-apps/csp.js.map +0 -1
  522. package/src/mcp-apps/index.js +0 -91
  523. package/src/mcp-apps/index.js.map +0 -1
  524. package/src/mcp-apps/schemas.js +0 -345
  525. package/src/mcp-apps/schemas.js.map +0 -1
  526. package/src/mcp-apps/template.js +0 -419
  527. package/src/mcp-apps/template.js.map +0 -1
  528. package/src/mcp-apps/types.js +0 -59
  529. package/src/mcp-apps/types.js.map +0 -1
  530. package/src/notification/index.js +0 -13
  531. package/src/notification/index.js.map +0 -1
  532. package/src/notification/notification.service.js +0 -731
  533. package/src/notification/notification.service.js.map +0 -1
  534. package/src/plugin/plugin.registry.js +0 -152
  535. package/src/plugin/plugin.registry.js.map +0 -1
  536. package/src/plugin/plugin.utils.js +0 -88
  537. package/src/plugin/plugin.utils.js.map +0 -1
  538. package/src/prompt/flows/get-prompt.flow.js +0 -214
  539. package/src/prompt/flows/get-prompt.flow.js.map +0 -1
  540. package/src/prompt/flows/prompts-list.flow.js +0 -176
  541. package/src/prompt/flows/prompts-list.flow.js.map +0 -1
  542. package/src/prompt/index.js +0 -17
  543. package/src/prompt/index.js.map +0 -1
  544. package/src/prompt/prompt.events.js +0 -25
  545. package/src/prompt/prompt.events.js.map +0 -1
  546. package/src/prompt/prompt.instance.js +0 -120
  547. package/src/prompt/prompt.instance.js.map +0 -1
  548. package/src/prompt/prompt.registry.js +0 -380
  549. package/src/prompt/prompt.registry.js.map +0 -1
  550. package/src/prompt/prompt.types.js +0 -11
  551. package/src/prompt/prompt.types.js.map +0 -1
  552. package/src/prompt/prompt.utils.js +0 -136
  553. package/src/prompt/prompt.utils.js.map +0 -1
  554. package/src/provider/provider.registry.js +0 -868
  555. package/src/provider/provider.registry.js.map +0 -1
  556. package/src/provider/provider.types.js +0 -3
  557. package/src/provider/provider.types.js.map +0 -1
  558. package/src/provider/provider.utils.js +0 -103
  559. package/src/provider/provider.utils.js.map +0 -1
  560. package/src/regsitry/index.js +0 -5
  561. package/src/regsitry/index.js.map +0 -1
  562. package/src/regsitry/registry.base.js +0 -32
  563. package/src/regsitry/registry.base.js.map +0 -1
  564. package/src/resource/flows/read-resource.flow.js +0 -270
  565. package/src/resource/flows/read-resource.flow.js.map +0 -1
  566. package/src/resource/flows/resource-templates-list.flow.js +0 -191
  567. package/src/resource/flows/resource-templates-list.flow.js.map +0 -1
  568. package/src/resource/flows/resources-list.flow.js +0 -196
  569. package/src/resource/flows/resources-list.flow.js.map +0 -1
  570. package/src/resource/flows/subscribe-resource.flow.js +0 -123
  571. package/src/resource/flows/subscribe-resource.flow.js.map +0 -1
  572. package/src/resource/flows/unsubscribe-resource.flow.js +0 -107
  573. package/src/resource/flows/unsubscribe-resource.flow.js.map +0 -1
  574. package/src/resource/index.js +0 -20
  575. package/src/resource/index.js.map +0 -1
  576. package/src/resource/resource.events.js +0 -17
  577. package/src/resource/resource.events.js.map +0 -1
  578. package/src/resource/resource.instance.js +0 -163
  579. package/src/resource/resource.instance.js.map +0 -1
  580. package/src/resource/resource.registry.js +0 -468
  581. package/src/resource/resource.registry.js.map +0 -1
  582. package/src/resource/resource.types.js +0 -11
  583. package/src/resource/resource.types.js.map +0 -1
  584. package/src/resource/resource.utils.js +0 -151
  585. package/src/resource/resource.utils.js.map +0 -1
  586. package/src/scope/flows/http.request.flow.js +0 -474
  587. package/src/scope/flows/http.request.flow.js.map +0 -1
  588. package/src/scope/index.js +0 -6
  589. package/src/scope/index.js.map +0 -1
  590. package/src/scope/scope.instance.js +0 -263
  591. package/src/scope/scope.instance.js.map +0 -1
  592. package/src/scope/scope.registry.js +0 -94
  593. package/src/scope/scope.registry.js.map +0 -1
  594. package/src/scope/scope.utils.js +0 -61
  595. package/src/scope/scope.utils.js.map +0 -1
  596. package/src/server/adapters/base.host.adapter.js +0 -8
  597. package/src/server/adapters/base.host.adapter.js.map +0 -1
  598. package/src/server/adapters/express.host.adapter.js +0 -70
  599. package/src/server/adapters/express.host.adapter.js.map +0 -1
  600. package/src/server/server.instance.js +0 -54
  601. package/src/server/server.instance.js.map +0 -1
  602. package/src/server/server.types.js +0 -3
  603. package/src/server/server.types.js.map +0 -1
  604. package/src/server/server.validation.js +0 -192
  605. package/src/server/server.validation.js.map +0 -1
  606. package/src/store/adapters/store.base.adapter.js +0 -16
  607. package/src/store/adapters/store.base.adapter.js.map +0 -1
  608. package/src/store/adapters/store.memory.adapter.js +0 -89
  609. package/src/store/adapters/store.memory.adapter.js.map +0 -1
  610. package/src/store/adapters/store.redis.adapter.js +0 -104
  611. package/src/store/adapters/store.redis.adapter.js.map +0 -1
  612. package/src/store/adapters/store.vercel-kv.adapter.js +0 -155
  613. package/src/store/adapters/store.vercel-kv.adapter.js.map +0 -1
  614. package/src/store/index.js +0 -14
  615. package/src/store/index.js.map +0 -1
  616. package/src/store/store.factory.js +0 -194
  617. package/src/store/store.factory.js.map +0 -1
  618. package/src/store/store.helpers.js +0 -67
  619. package/src/store/store.helpers.js.map +0 -1
  620. package/src/store/store.registry.js +0 -37
  621. package/src/store/store.registry.js.map +0 -1
  622. package/src/store/store.tokens.js +0 -7
  623. package/src/store/store.tokens.js.map +0 -1
  624. package/src/store/store.types.js +0 -11
  625. package/src/store/store.types.js.map +0 -1
  626. package/src/store/store.utils.js +0 -18
  627. package/src/store/store.utils.js.map +0 -1
  628. package/src/tool/flows/call-tool.flow.js +0 -616
  629. package/src/tool/flows/call-tool.flow.js.map +0 -1
  630. package/src/tool/flows/tools-list.flow.js +0 -328
  631. package/src/tool/flows/tools-list.flow.js.map +0 -1
  632. package/src/tool/tool.events.js +0 -16
  633. package/src/tool/tool.events.js.map +0 -1
  634. package/src/tool/tool.instance.js +0 -117
  635. package/src/tool/tool.instance.js.map +0 -1
  636. package/src/tool/tool.registry.js +0 -353
  637. package/src/tool/tool.registry.js.map +0 -1
  638. package/src/tool/tool.types.js +0 -10
  639. package/src/tool/tool.types.js.map +0 -1
  640. package/src/tool/tool.utils.js +0 -366
  641. package/src/tool/tool.utils.js.map +0 -1
  642. package/src/tool/ui/index.js +0 -63
  643. package/src/tool/ui/index.js.map +0 -1
  644. package/src/tool/ui/platform-adapters.js +0 -18
  645. package/src/tool/ui/platform-adapters.js.map +0 -1
  646. package/src/tool/ui/template-helpers.js +0 -95
  647. package/src/tool/ui/template-helpers.js.map +0 -1
  648. package/src/tool/ui/ui-resource-template.js +0 -64
  649. package/src/tool/ui/ui-resource-template.js.map +0 -1
  650. package/src/tool/ui/ui-resource.handler.js +0 -129
  651. package/src/tool/ui/ui-resource.handler.js.map +0 -1
  652. package/src/transport/adapters/transport.local.adapter.js +0 -148
  653. package/src/transport/adapters/transport.local.adapter.js.map +0 -1
  654. package/src/transport/adapters/transport.sse.adapter.d.ts +0 -14
  655. package/src/transport/adapters/transport.sse.adapter.js +0 -65
  656. package/src/transport/adapters/transport.sse.adapter.js.map +0 -1
  657. package/src/transport/adapters/transport.streamable-http.adapter.js +0 -112
  658. package/src/transport/adapters/transport.streamable-http.adapter.js.map +0 -1
  659. package/src/transport/flows/handle.sse.flow.js +0 -197
  660. package/src/transport/flows/handle.sse.flow.js.map +0 -1
  661. package/src/transport/flows/handle.stateless-http.flow.js +0 -102
  662. package/src/transport/flows/handle.stateless-http.flow.js.map +0 -1
  663. package/src/transport/flows/handle.streamable-http.flow.js +0 -315
  664. package/src/transport/flows/handle.streamable-http.flow.js.map +0 -1
  665. package/src/transport/legacy/legacy.sse.tranporter.js +0 -185
  666. package/src/transport/legacy/legacy.sse.tranporter.js.map +0 -1
  667. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +0 -14
  668. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +0 -1
  669. package/src/transport/mcp-handlers/call-tool-request.handler.js +0 -46
  670. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +0 -1
  671. package/src/transport/mcp-handlers/complete-request.handler.js +0 -11
  672. package/src/transport/mcp-handlers/complete-request.handler.js.map +0 -1
  673. package/src/transport/mcp-handlers/get-prompt-request.handler.js +0 -11
  674. package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +0 -1
  675. package/src/transport/mcp-handlers/index.js +0 -57
  676. package/src/transport/mcp-handlers/index.js.map +0 -1
  677. package/src/transport/mcp-handlers/initialize-request.handler.js +0 -109
  678. package/src/transport/mcp-handlers/initialize-request.handler.js.map +0 -1
  679. package/src/transport/mcp-handlers/list-prompts-request.handler.js +0 -11
  680. package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +0 -1
  681. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +0 -12
  682. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +0 -1
  683. package/src/transport/mcp-handlers/list-resources-request.handler.js +0 -12
  684. package/src/transport/mcp-handlers/list-resources-request.handler.js.map +0 -1
  685. package/src/transport/mcp-handlers/list-tools-request.handler.js +0 -11
  686. package/src/transport/mcp-handlers/list-tools-request.handler.js.map +0 -1
  687. package/src/transport/mcp-handlers/logging-set-level-request.handler.js +0 -34
  688. package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +0 -1
  689. package/src/transport/mcp-handlers/mcp-handlers.types.js +0 -3
  690. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +0 -1
  691. package/src/transport/mcp-handlers/read-resource-request.handler.js +0 -12
  692. package/src/transport/mcp-handlers/read-resource-request.handler.js.map +0 -1
  693. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +0 -26
  694. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +0 -1
  695. package/src/transport/mcp-handlers/subscribe-request.handler.js +0 -34
  696. package/src/transport/mcp-handlers/subscribe-request.handler.js.map +0 -1
  697. package/src/transport/mcp-handlers/unsubscribe-request.handler.js +0 -34
  698. package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +0 -1
  699. package/src/transport/transport.error.js +0 -25
  700. package/src/transport/transport.error.js.map +0 -1
  701. package/src/transport/transport.event-store.js +0 -36
  702. package/src/transport/transport.event-store.js.map +0 -1
  703. package/src/transport/transport.local.js +0 -71
  704. package/src/transport/transport.local.js.map +0 -1
  705. package/src/transport/transport.registry.js +0 -552
  706. package/src/transport/transport.registry.js.map +0 -1
  707. package/src/transport/transport.remote.js +0 -31
  708. package/src/transport/transport.remote.js.map +0 -1
  709. package/src/transport/transport.types.js +0 -3
  710. package/src/transport/transport.types.js.map +0 -1
  711. package/src/types/drinen-hooks.types.js +0 -3
  712. package/src/types/drinen-hooks.types.js.map +0 -1
  713. package/src/types/invoke.type.js +0 -34
  714. package/src/types/invoke.type.js.map +0 -1
  715. package/src/types/token.types.js +0 -3
  716. package/src/types/token.types.js.map +0 -1
  717. package/src/utils/content.utils.js +0 -194
  718. package/src/utils/content.utils.js.map +0 -1
  719. package/src/utils/index.js +0 -55
  720. package/src/utils/index.js.map +0 -1
  721. package/src/utils/lineage.utils.js +0 -82
  722. package/src/utils/lineage.utils.js.map +0 -1
  723. package/src/utils/metadata.utils.js +0 -26
  724. package/src/utils/metadata.utils.js.map +0 -1
  725. package/src/utils/naming.utils.js +0 -136
  726. package/src/utils/naming.utils.js.map +0 -1
  727. package/src/utils/server.utils.js +0 -59
  728. package/src/utils/server.utils.js.map +0 -1
  729. package/src/utils/string.utils.js +0 -10
  730. package/src/utils/string.utils.js.map +0 -1
  731. package/src/utils/token.utils.js +0 -65
  732. package/src/utils/token.utils.js.map +0 -1
  733. package/src/utils/types.utils.js +0 -3
  734. package/src/utils/types.utils.js.map +0 -1
  735. package/src/utils/uri-template.utils.js +0 -113
  736. package/src/utils/uri-template.utils.js.map +0 -1
  737. package/src/utils/uri-validation.utils.js +0 -76
  738. package/src/utils/uri-validation.utils.js.map +0 -1
  739. package/{src/adapter → adapter}/adapter.instance.d.ts +0 -0
  740. package/{src/adapter → adapter}/adapter.regsitry.d.ts +0 -0
  741. package/{src/adapter → adapter}/adapter.utils.d.ts +0 -0
  742. package/{src/app → app}/app.registry.d.ts +0 -0
  743. package/{src/app → app}/app.utils.d.ts +0 -0
  744. package/{src/app → app}/instances/app.local.instance.d.ts +0 -0
  745. package/{src/app → app}/instances/app.remote.instance.d.ts +0 -0
  746. package/{src/app → app}/instances/index.d.ts +0 -0
  747. package/{src/auth → auth}/auth.registry.d.ts +0 -0
  748. package/{src/auth → auth}/auth.utils.d.ts +0 -0
  749. package/{src/auth → auth}/authorization/authorization.class.d.ts +0 -0
  750. package/{src/auth → auth}/authorization/authorization.types.d.ts +0 -0
  751. package/{src/auth → auth}/authorization/index.d.ts +0 -0
  752. package/{src/auth → auth}/authorization/orchestrated.authorization.d.ts +0 -0
  753. package/{src/auth → auth}/authorization/public.authorization.d.ts +0 -0
  754. package/{src/auth → auth}/authorization/transparent.authorization.d.ts +0 -0
  755. package/{src/auth → auth}/consent/consent.types.d.ts +0 -0
  756. package/{src/auth → auth}/consent/index.d.ts +0 -0
  757. package/{src/auth → auth}/detection/auth-provider-detection.d.ts +0 -0
  758. package/{src/auth → auth}/detection/index.d.ts +0 -0
  759. package/{src/auth → auth}/flows/auth.verify.flow.d.ts +0 -0
  760. package/{src/auth → auth}/flows/oauth.authorize.flow.d.ts +0 -0
  761. package/{src/auth → auth}/flows/oauth.callback.flow.d.ts +0 -0
  762. package/{src/auth → auth}/flows/oauth.register.flow.d.ts +0 -0
  763. package/{src/auth → auth}/flows/oauth.token.flow.d.ts +0 -0
  764. package/{src/auth → auth}/flows/session.verify.flow.d.ts +0 -0
  765. package/{src/auth → auth}/flows/well-known.jwks.flow.d.ts +0 -0
  766. package/{src/auth → auth}/flows/well-known.oauth-authorization-server.flow.d.ts +0 -0
  767. package/{src/auth → auth}/flows/well-known.prm.flow.d.ts +0 -0
  768. package/{src/auth → auth}/jwks/dev-key-persistence.d.ts +0 -0
  769. package/{src/auth → auth}/jwks/index.d.ts +0 -0
  770. package/{src/auth → auth}/jwks/jwks.service.d.ts +0 -0
  771. package/{src/auth → auth}/jwks/jwks.types.d.ts +0 -0
  772. package/{src/auth → auth}/jwks/jwks.utils.d.ts +0 -0
  773. package/{src/auth → auth}/machine-id.d.ts +0 -0
  774. package/{src/auth → auth}/oauth/flows/oauth.authorize.flow.d.ts +0 -0
  775. package/{src/auth → auth}/oauth/flows/oauth.device-authorization.flow.d.ts +0 -0
  776. package/{src/auth → auth}/oauth/flows/oauth.introspect.flow.d.ts +0 -0
  777. package/{src/auth → auth}/oauth/flows/oauth.par.flow.d.ts +0 -0
  778. package/{src/auth → auth}/oauth/flows/oauth.revoke.flow.d.ts +0 -0
  779. package/{src/auth → auth}/oauth/flows/oauth.token.flow.d.ts +0 -0
  780. package/{src/auth → auth}/oauth/flows/oauth.userinfo.flow.d.ts +0 -0
  781. package/{src/auth → auth}/oauth/flows/oidc.logout.flow.d.ts +0 -0
  782. package/{src/auth → auth}/session/authorization-vault.d.ts +0 -0
  783. package/{src/auth → auth}/session/authorization.store.d.ts +0 -0
  784. package/{src/auth → auth}/session/encrypted-authorization-vault.d.ts +0 -0
  785. package/{src/auth → auth}/session/record/session.base.d.ts +0 -0
  786. package/{src/auth → auth}/session/record/session.stateful.d.ts +0 -0
  787. package/{src/auth → auth}/session/record/session.stateless.d.ts +0 -0
  788. package/{src/auth → auth}/session/record/session.transparent.d.ts +0 -0
  789. package/{src/auth → auth}/session/session.crypto.d.ts +0 -0
  790. package/{src/auth → auth}/session/session.schema.d.ts +0 -0
  791. package/{src/auth → auth}/session/session.service.d.ts +0 -0
  792. package/{src/auth → auth}/session/session.transport.d.ts +0 -0
  793. package/{src/auth → auth}/session/session.types.d.ts +0 -0
  794. package/{src/auth → auth}/session/token.refresh.d.ts +0 -0
  795. package/{src/auth → auth}/session/token.store.d.ts +0 -0
  796. package/{src/auth → auth}/session/token.vault.d.ts +0 -0
  797. package/{src/auth → auth}/session/transport-session.manager.d.ts +0 -0
  798. package/{src/auth → auth}/session/utils/auth-token.utils.d.ts +0 -0
  799. package/{src/auth → auth}/session/utils/session-id.utils.d.ts +0 -0
  800. package/{src/auth → auth}/session/utils/tiny-ttl-cache.d.ts +0 -0
  801. package/{src/auth → auth}/session/vault-encryption.d.ts +0 -0
  802. package/{src/auth → auth}/ui/base-layout.d.ts +0 -0
  803. package/{src/auth → auth}/ui/index.d.ts +0 -0
  804. package/{src/auth → auth}/ui/templates.d.ts +0 -0
  805. package/{src/auth → auth}/utils/audience.validator.d.ts +0 -0
  806. package/{src/auth → auth}/utils/index.d.ts +0 -0
  807. package/{src/auth → auth}/utils/www-authenticate.utils.d.ts +0 -0
  808. package/{src/common → common}/common.schema.d.ts +0 -0
  809. package/{src/common → common}/constants.d.ts +0 -0
  810. package/{src/common → common}/decorators/adapter.decorator.d.ts +0 -0
  811. package/{src/common → common}/decorators/app.decorator.d.ts +0 -0
  812. package/{src/common → common}/decorators/auth-provider.decorator.d.ts +0 -0
  813. package/{src/common → common}/decorators/decorator-utils.d.ts +0 -0
  814. package/{src/common → common}/decorators/flow.decorator.d.ts +0 -0
  815. package/{src/common → common}/decorators/front-mcp.decorator.d.ts +0 -0
  816. package/{src/common → common}/decorators/hook.decorator.d.ts +0 -0
  817. package/{src/common → common}/decorators/index.d.ts +0 -0
  818. package/{src/common → common}/decorators/logger.decorator.d.ts +0 -0
  819. package/{src/common → common}/decorators/plugin.decorator.d.ts +0 -0
  820. package/{src/common → common}/decorators/prompt.decorator.d.ts +0 -0
  821. package/{src/common → common}/decorators/provider.decorator.d.ts +0 -0
  822. package/{src/common → common}/decorators/resource.decorator.d.ts +0 -0
  823. package/{src/common → common}/decorators/tool.decorator.d.ts +0 -0
  824. package/{src/common → common}/dynamic/dynamic.adapter.d.ts +0 -0
  825. package/{src/common → common}/dynamic/dynamic.plugin.d.ts +0 -0
  826. package/{src/common → common}/dynamic/dynamic.utils.d.ts +0 -0
  827. package/{src/common → common}/dynamic/index.d.ts +0 -0
  828. package/{src/common → common}/entries/adapter.entry.d.ts +0 -0
  829. package/{src/common → common}/entries/app.entry.d.ts +0 -0
  830. package/{src/common → common}/entries/auth-provider.entry.d.ts +0 -0
  831. package/{src/common → common}/entries/base.entry.d.ts +0 -0
  832. package/{src/common → common}/entries/flow.entry.d.ts +0 -0
  833. package/{src/common → common}/entries/hook.entry.d.ts +0 -0
  834. package/{src/common → common}/entries/index.d.ts +0 -0
  835. package/{src/common → common}/entries/logger.entry.d.ts +0 -0
  836. package/{src/common → common}/entries/plugin.entry.d.ts +0 -0
  837. package/{src/common → common}/entries/prompt.entry.d.ts +0 -0
  838. package/{src/common → common}/entries/provider.entry.d.ts +0 -0
  839. package/{src/common → common}/entries/resource.entry.d.ts +0 -0
  840. package/{src/common → common}/entries/scope.entry.d.ts +0 -0
  841. package/{src/common → common}/entries/tool.entry.d.ts +0 -0
  842. package/{src/common → common}/flow/flow.utils.d.ts +0 -0
  843. package/{src/common → common}/index.d.ts +0 -0
  844. package/{src/common → common}/interfaces/adapter.interface.d.ts +0 -0
  845. package/{src/common → common}/interfaces/app.interface.d.ts +0 -0
  846. package/{src/common → common}/interfaces/auth-hook.interface.d.ts +0 -0
  847. package/{src/common → common}/interfaces/auth-provider.interface.d.ts +0 -0
  848. package/{src/common → common}/interfaces/base.interface.d.ts +0 -0
  849. package/{src/common → common}/interfaces/execution-context.interface.d.ts +0 -0
  850. package/{src/common → common}/interfaces/flow.interface.d.ts +0 -0
  851. package/{src/common → common}/interfaces/front-mcp.interface.d.ts +0 -0
  852. package/{src/common → common}/interfaces/hook.interface.d.ts +0 -0
  853. package/{src/common → common}/interfaces/index.d.ts +0 -0
  854. package/{src/common → common}/interfaces/internal/flow.utils.d.ts +0 -0
  855. package/{src/common → common}/interfaces/internal/index.d.ts +0 -0
  856. package/{src/common → common}/interfaces/internal/registry.interface.d.ts +0 -0
  857. package/{src/common → common}/interfaces/logger.interface.d.ts +0 -0
  858. package/{src/common → common}/interfaces/plugin.interface.d.ts +0 -0
  859. package/{src/common → common}/interfaces/prompt.interface.d.ts +0 -0
  860. package/{src/common → common}/interfaces/provider.interface.d.ts +0 -0
  861. package/{src/common → common}/interfaces/resource.interface.d.ts +0 -0
  862. package/{src/common → common}/interfaces/scope.interface.d.ts +0 -0
  863. package/{src/common → common}/interfaces/server.interface.d.ts +0 -0
  864. package/{src/common → common}/interfaces/session-hook.interface.d.ts +0 -0
  865. package/{src/common → common}/interfaces/tool-hook.interface.d.ts +0 -0
  866. package/{src/common → common}/interfaces/tool.interface.d.ts +0 -0
  867. package/{src/common → common}/metadata/adapter.metadata.d.ts +0 -0
  868. package/{src/common → common}/metadata/app.metadata.d.ts +42 -42
  869. package/{src/common → common}/metadata/auth-provider.metadata.d.ts +0 -0
  870. package/{src/common → common}/metadata/flow.metadata.d.ts +0 -0
  871. package/{src/common → common}/metadata/hook.metadata.d.ts +0 -0
  872. package/{src/common → common}/metadata/index.d.ts +0 -0
  873. package/{src/common → common}/metadata/logger.metadata.d.ts +0 -0
  874. package/{src/common → common}/metadata/plugin.metadata.d.ts +0 -0
  875. package/{src/common → common}/metadata/prompt.metadata.d.ts +0 -0
  876. package/{src/common → common}/metadata/provider.metadata.d.ts +0 -0
  877. package/{src/common → common}/metadata/resource.metadata.d.ts +0 -0
  878. package/{src/common → common}/metadata/tool-ui.metadata.d.ts +0 -0
  879. package/{src/common → common}/metadata/tool.metadata.d.ts +0 -0
  880. package/{src/common → common}/migrate/auth-transport.migrate.d.ts +0 -0
  881. package/{src/common → common}/migrate/index.d.ts +0 -0
  882. package/{src/common → common}/providers/base-config.provider.d.ts +0 -0
  883. package/{src/common → common}/records/adapter.record.d.ts +0 -0
  884. package/{src/common → common}/records/app.record.d.ts +0 -0
  885. package/{src/common → common}/records/auth-provider.record.d.ts +0 -0
  886. package/{src/common → common}/records/flow.record.d.ts +0 -0
  887. package/{src/common → common}/records/hook.record.d.ts +0 -0
  888. package/{src/common → common}/records/index.d.ts +0 -0
  889. package/{src/common → common}/records/logger.record.d.ts +0 -0
  890. package/{src/common → common}/records/plugin.record.d.ts +0 -0
  891. package/{src/common → common}/records/prompt.record.d.ts +0 -0
  892. package/{src/common → common}/records/provider.record.d.ts +0 -0
  893. package/{src/common → common}/records/resource.record.d.ts +0 -0
  894. package/{src/common → common}/records/scope.record.d.ts +0 -0
  895. package/{src/common → common}/records/tool.record.d.ts +0 -0
  896. package/{src/common → common}/schemas/annotated-class.schema.d.ts +0 -0
  897. package/{src/common → common}/schemas/http-input.schema.d.ts +0 -0
  898. package/{src/common → common}/schemas/http-output.schema.d.ts +0 -0
  899. package/{src/common → common}/schemas/index.d.ts +0 -0
  900. package/{src/common → common}/schemas/session-header.schema.d.ts +0 -0
  901. package/{src/common → common}/tokens/adapter.tokens.d.ts +0 -0
  902. package/{src/common → common}/tokens/app.tokens.d.ts +0 -0
  903. package/{src/common → common}/tokens/auth-provider.tokens.d.ts +0 -0
  904. package/{src/common → common}/tokens/base.tokens.d.ts +0 -0
  905. package/{src/common → common}/tokens/flow-hook.tokens.d.ts +0 -0
  906. package/{src/common → common}/tokens/flow.tokens.d.ts +0 -0
  907. package/{src/common → common}/tokens/front-mcp.tokens.d.ts +0 -0
  908. package/{src/common → common}/tokens/index.d.ts +0 -0
  909. package/{src/common → common}/tokens/logger.tokens.d.ts +0 -0
  910. package/{src/common → common}/tokens/plugin.tokens.d.ts +0 -0
  911. package/{src/common → common}/tokens/prompt.tokens.d.ts +0 -0
  912. package/{src/common → common}/tokens/provider.tokens.d.ts +0 -0
  913. package/{src/common → common}/tokens/resource.tokens.d.ts +0 -0
  914. package/{src/common → common}/tokens/server.tokens.d.ts +0 -0
  915. package/{src/common → common}/tokens/tool.tokens.d.ts +0 -0
  916. package/{src/common → common}/types/auth/index.d.ts +0 -0
  917. package/{src/common → common}/types/auth/jwt.types.d.ts +0 -0
  918. package/{src/common → common}/types/auth/session.types.d.ts +0 -0
  919. package/{src/common → common}/types/common.types.d.ts +0 -0
  920. package/{src/common → common}/types/index.d.ts +0 -0
  921. package/{src/logger/logger.tokens.d.ts → common/types/options/auth/auth.typecheck.d.ts} +0 -0
  922. package/{src/common → common}/types/options/http.options.d.ts +0 -0
  923. package/{src/common → common}/types/options/logging.options.d.ts +0 -0
  924. package/{src/common → common}/types/options/redis.options.d.ts +0 -0
  925. package/{src/common → common}/types/options/server-info.options.d.ts +0 -0
  926. package/{src/common → common}/types/options/session.options.d.ts +0 -0
  927. package/{src/common → common}/utils/global-config.utils.d.ts +0 -0
  928. package/{src/common → common}/utils/index.d.ts +0 -0
  929. package/{src/common → common}/utils/path.utils.d.ts +0 -0
  930. package/{src/completion → completion}/flows/complete.flow.d.ts +0 -0
  931. package/{src/context → context}/frontmcp-context-storage.d.ts +0 -0
  932. package/{src/context → context}/frontmcp-context.d.ts +0 -0
  933. package/{src/context → context}/frontmcp-context.provider.d.ts +0 -0
  934. package/{src/context → context}/index.d.ts +0 -0
  935. package/{src/context → context}/request-context-storage.d.ts +0 -0
  936. package/{src/context → context}/request-context.d.ts +0 -0
  937. package/{src/context → context}/request-context.provider.d.ts +0 -0
  938. package/{src/context → context}/session-key.provider.d.ts +0 -0
  939. package/{src/context → context}/trace-context.d.ts +0 -0
  940. package/{src/errors → errors}/authorization-required.error.d.ts +0 -0
  941. package/{src/errors → errors}/error-handler.d.ts +0 -0
  942. package/{src/errors → errors}/index.d.ts +0 -0
  943. package/{src/errors → errors}/mcp.error.d.ts +0 -0
  944. package/{src/exceptions → exceptions}/mcp-exceptions/session-missing.exception.d.ts +0 -0
  945. package/{src/exceptions → exceptions}/mcp-exceptions/unsupported-client-version.exception.d.ts +0 -0
  946. package/{src/flows → flows}/flow.instance.d.ts +0 -0
  947. package/{src/flows → flows}/flow.registry.d.ts +0 -0
  948. package/{src/flows → flows}/flow.stages.d.ts +0 -0
  949. package/{src/flows → flows}/flow.utils.d.ts +0 -0
  950. package/{src/front-mcp → front-mcp}/front-mcp.d.ts +0 -0
  951. package/{src/front-mcp → front-mcp}/front-mcp.providers.d.ts +38 -38
  952. /package/{src/front-mcp → front-mcp}/front-mcp.tokens.d.ts +0 -0
  953. /package/{src/front-mcp → front-mcp}/index.d.ts +0 -0
  954. /package/{src/front-mcp → front-mcp}/serverless-handler.d.ts +0 -0
  955. /package/{src/hooks → hooks}/hook.instance.d.ts +0 -0
  956. /package/{src/hooks → hooks}/hook.registry.d.ts +0 -0
  957. /package/{src/hooks → hooks}/hooks.utils.d.ts +0 -0
  958. /package/{src/index.d.ts → index.d.ts} +0 -0
  959. /package/{src/logger → logger}/instances/instance.console-logger.d.ts +0 -0
  960. /package/{src/logger → logger}/instances/instance.logger.d.ts +0 -0
  961. /package/{src/logger → logger}/logger.registry.d.ts +0 -0
  962. /package/{src/logger → logger}/logger.types.d.ts +0 -0
  963. /package/{src/logger → logger}/logger.utils.d.ts +0 -0
  964. /package/{src/logging → logging}/flows/set-level.flow.d.ts +0 -0
  965. /package/{src/mcp-apps → mcp-apps}/csp.d.ts +0 -0
  966. /package/{src/mcp-apps → mcp-apps}/index.d.ts +0 -0
  967. /package/{src/mcp-apps → mcp-apps}/schemas.d.ts +0 -0
  968. /package/{src/mcp-apps → mcp-apps}/template.d.ts +0 -0
  969. /package/{src/mcp-apps → mcp-apps}/types.d.ts +0 -0
  970. /package/{src/notification → notification}/index.d.ts +0 -0
  971. /package/{src/notification → notification}/notification.service.d.ts +0 -0
  972. /package/{src/plugin → plugin}/plugin.registry.d.ts +0 -0
  973. /package/{src/plugin → plugin}/plugin.utils.d.ts +0 -0
  974. /package/{src/prompt → prompt}/flows/get-prompt.flow.d.ts +0 -0
  975. /package/{src/prompt → prompt}/flows/prompts-list.flow.d.ts +0 -0
  976. /package/{src/prompt → prompt}/index.d.ts +0 -0
  977. /package/{src/prompt → prompt}/prompt.events.d.ts +0 -0
  978. /package/{src/prompt → prompt}/prompt.instance.d.ts +0 -0
  979. /package/{src/prompt → prompt}/prompt.registry.d.ts +0 -0
  980. /package/{src/prompt → prompt}/prompt.types.d.ts +0 -0
  981. /package/{src/prompt → prompt}/prompt.utils.d.ts +0 -0
  982. /package/{src/provider → provider}/provider.registry.d.ts +0 -0
  983. /package/{src/provider → provider}/provider.types.d.ts +0 -0
  984. /package/{src/provider → provider}/provider.utils.d.ts +0 -0
  985. /package/{src/regsitry → regsitry}/index.d.ts +0 -0
  986. /package/{src/regsitry → regsitry}/registry.base.d.ts +0 -0
  987. /package/{src/resource → resource}/flows/read-resource.flow.d.ts +0 -0
  988. /package/{src/resource → resource}/flows/resource-templates-list.flow.d.ts +0 -0
  989. /package/{src/resource → resource}/flows/resources-list.flow.d.ts +0 -0
  990. /package/{src/resource → resource}/flows/subscribe-resource.flow.d.ts +0 -0
  991. /package/{src/resource → resource}/flows/unsubscribe-resource.flow.d.ts +0 -0
  992. /package/{src/resource → resource}/index.d.ts +0 -0
  993. /package/{src/resource → resource}/resource.events.d.ts +0 -0
  994. /package/{src/resource → resource}/resource.instance.d.ts +0 -0
  995. /package/{src/resource → resource}/resource.registry.d.ts +0 -0
  996. /package/{src/resource → resource}/resource.types.d.ts +0 -0
  997. /package/{src/resource → resource}/resource.utils.d.ts +0 -0
  998. /package/{src/scope → scope}/flows/http.request.flow.d.ts +0 -0
  999. /package/{src/scope → scope}/index.d.ts +0 -0
  1000. /package/{src/scope → scope}/scope.instance.d.ts +0 -0
  1001. /package/{src/scope → scope}/scope.registry.d.ts +0 -0
  1002. /package/{src/scope → scope}/scope.utils.d.ts +0 -0
  1003. /package/{src/server → server}/adapters/base.host.adapter.d.ts +0 -0
  1004. /package/{src/server → server}/adapters/express.host.adapter.d.ts +0 -0
  1005. /package/{src/server → server}/server.instance.d.ts +0 -0
  1006. /package/{src/server → server}/server.types.d.ts +0 -0
  1007. /package/{src/server → server}/server.validation.d.ts +0 -0
  1008. /package/{src/store → store}/adapters/store.base.adapter.d.ts +0 -0
  1009. /package/{src/store → store}/adapters/store.memory.adapter.d.ts +0 -0
  1010. /package/{src/store → store}/adapters/store.redis.adapter.d.ts +0 -0
  1011. /package/{src/store → store}/adapters/store.vercel-kv.adapter.d.ts +0 -0
  1012. /package/{src/store → store}/index.d.ts +0 -0
  1013. /package/{src/store → store}/store.factory.d.ts +0 -0
  1014. /package/{src/store → store}/store.helpers.d.ts +0 -0
  1015. /package/{src/store → store}/store.registry.d.ts +0 -0
  1016. /package/{src/store → store}/store.tokens.d.ts +0 -0
  1017. /package/{src/store → store}/store.types.d.ts +0 -0
  1018. /package/{src/store → store}/store.utils.d.ts +0 -0
  1019. /package/{src/tool → tool}/flows/call-tool.flow.d.ts +0 -0
  1020. /package/{src/tool → tool}/flows/tools-list.flow.d.ts +0 -0
  1021. /package/{src/tool → tool}/tool.events.d.ts +0 -0
  1022. /package/{src/tool → tool}/tool.instance.d.ts +0 -0
  1023. /package/{src/tool → tool}/tool.registry.d.ts +0 -0
  1024. /package/{src/tool → tool}/tool.types.d.ts +0 -0
  1025. /package/{src/tool → tool}/tool.utils.d.ts +0 -0
  1026. /package/{src/tool → tool}/ui/index.d.ts +0 -0
  1027. /package/{src/tool → tool}/ui/platform-adapters.d.ts +0 -0
  1028. /package/{src/tool → tool}/ui/template-helpers.d.ts +0 -0
  1029. /package/{src/tool → tool}/ui/ui-resource-template.d.ts +0 -0
  1030. /package/{src/tool → tool}/ui/ui-resource.handler.d.ts +0 -0
  1031. /package/{src/transport → transport}/flows/handle.sse.flow.d.ts +0 -0
  1032. /package/{src/transport → transport}/flows/handle.stateless-http.flow.d.ts +0 -0
  1033. /package/{src/transport → transport}/flows/handle.streamable-http.flow.d.ts +0 -0
  1034. /package/{src/transport → transport}/legacy/legacy.sse.tranporter.d.ts +0 -0
  1035. /package/{src/transport → transport}/mcp-handlers/Initialized-notification.hanlder.d.ts +0 -0
  1036. /package/{src/transport → transport}/mcp-handlers/call-tool-request.handler.d.ts +0 -0
  1037. /package/{src/transport → transport}/mcp-handlers/complete-request.handler.d.ts +0 -0
  1038. /package/{src/transport → transport}/mcp-handlers/get-prompt-request.handler.d.ts +0 -0
  1039. /package/{src/transport → transport}/mcp-handlers/index.d.ts +0 -0
  1040. /package/{src/transport → transport}/mcp-handlers/initialize-request.handler.d.ts +0 -0
  1041. /package/{src/transport → transport}/mcp-handlers/list-prompts-request.handler.d.ts +0 -0
  1042. /package/{src/transport → transport}/mcp-handlers/list-resource-templates-request.handler.d.ts +0 -0
  1043. /package/{src/transport → transport}/mcp-handlers/list-resources-request.handler.d.ts +0 -0
  1044. /package/{src/transport → transport}/mcp-handlers/list-tools-request.handler.d.ts +0 -0
  1045. /package/{src/transport → transport}/mcp-handlers/logging-set-level-request.handler.d.ts +0 -0
  1046. /package/{src/transport → transport}/mcp-handlers/mcp-handlers.types.d.ts +0 -0
  1047. /package/{src/transport → transport}/mcp-handlers/read-resource-request.handler.d.ts +0 -0
  1048. /package/{src/transport → transport}/mcp-handlers/roots-list-changed-notification.handler.d.ts +0 -0
  1049. /package/{src/transport → transport}/mcp-handlers/subscribe-request.handler.d.ts +0 -0
  1050. /package/{src/transport → transport}/mcp-handlers/unsubscribe-request.handler.d.ts +0 -0
  1051. /package/{src/transport → transport}/transport.error.d.ts +0 -0
  1052. /package/{src/transport → transport}/transport.event-store.d.ts +0 -0
  1053. /package/{src/types → types}/drinen-hooks.types.d.ts +0 -0
  1054. /package/{src/types → types}/invoke.type.d.ts +0 -0
  1055. /package/{src/types → types}/token.types.d.ts +0 -0
  1056. /package/{src/utils → utils}/content.utils.d.ts +0 -0
  1057. /package/{src/utils → utils}/index.d.ts +0 -0
  1058. /package/{src/utils → utils}/lineage.utils.d.ts +0 -0
  1059. /package/{src/utils → utils}/metadata.utils.d.ts +0 -0
  1060. /package/{src/utils → utils}/naming.utils.d.ts +0 -0
  1061. /package/{src/utils → utils}/server.utils.d.ts +0 -0
  1062. /package/{src/utils → utils}/string.utils.d.ts +0 -0
  1063. /package/{src/utils → utils}/token.utils.d.ts +0 -0
  1064. /package/{src/utils → utils}/types.utils.d.ts +0 -0
  1065. /package/{src/utils → utils}/uri-template.utils.d.ts +0 -0
  1066. /package/{src/utils → utils}/uri-validation.utils.d.ts +0 -0
@@ -1,380 +0,0 @@
1
- "use strict";
2
- // file: libs/sdk/src/prompt/prompt.registry.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const tslib_1 = require("tslib");
5
- const metadata_utils_1 = require("../utils/metadata.utils");
6
- const prompt_events_1 = require("./prompt.events");
7
- const prompt_utils_1 = require("./prompt.utils");
8
- const token_utils_1 = require("../utils/token.utils");
9
- const regsitry_1 = require("../regsitry");
10
- const prompt_instance_1 = require("./prompt.instance");
11
- const prompt_types_1 = require("./prompt.types");
12
- const get_prompt_flow_1 = tslib_1.__importDefault(require("./flows/get-prompt.flow"));
13
- const prompts_list_flow_1 = tslib_1.__importDefault(require("./flows/prompts-list.flow"));
14
- /** Maximum attempts for name disambiguation to prevent infinite loops */
15
- const MAX_DISAMBIGUATE_ATTEMPTS = 10000;
16
- class PromptRegistry extends regsitry_1.RegistryAbstract {
17
- /** Who owns this registry (used for provenance). */
18
- owner;
19
- /** Prompts truly owned/constructed by THIS registry (with lineage applied) */
20
- localRows = [];
21
- /** Adopted prompt rows from each child registry (references to the same instances) */
22
- adopted = new Map();
23
- /** Children registries that we track */
24
- children = new Set();
25
- // ---- O(1) indexes over EFFECTIVE set (local + adopted) ----
26
- byQualifiedId = new Map(); // qualifiedId -> row
27
- byName = new Map(); // baseName -> rows
28
- byOwnerAndName = new Map(); // "ownerKey:name" -> row
29
- byOwner = new Map(); // ownerKey -> rows
30
- // version + emitter
31
- version = 0;
32
- emitter = new prompt_events_1.PromptEmitter();
33
- constructor(providers, list, owner) {
34
- // disable auto so subclass fields initialize first
35
- super('PromptRegistry', providers, list, false);
36
- this.owner = owner;
37
- // now it's safe to run the lifecycle
38
- this.buildGraph();
39
- this.ready = this.initialize();
40
- }
41
- /* -------------------- Build-time: defs + dep checks -------------------- */
42
- buildMap(list) {
43
- const tokens = new Set();
44
- const defs = new Map();
45
- const graph = new Map();
46
- for (const raw of list) {
47
- const rec = (0, prompt_utils_1.normalizePrompt)(raw);
48
- const provide = rec.provide;
49
- tokens.add(provide);
50
- defs.set(provide, rec);
51
- graph.set(provide, new Set());
52
- }
53
- return { tokens, defs, graph };
54
- }
55
- buildGraph() {
56
- for (const token of this.tokens) {
57
- const rec = this.defs.get(token);
58
- const deps = (0, prompt_utils_1.promptDiscoveryDeps)(rec);
59
- for (const d of deps) {
60
- // Validate against hierarchical providers; throws early if missing
61
- this.providers.get(d);
62
- this.graph.get(token).add(d);
63
- }
64
- }
65
- }
66
- /* -------------------- Initialize: create ONE PromptInstance per local prompt -------------------- */
67
- async initialize() {
68
- // Instantiate each local prompt once and store in this.instances
69
- for (const token of this.tokens) {
70
- const rec = this.defs.get(token);
71
- // Single, authoritative instance per local prompt
72
- const pi = new prompt_instance_1.PromptInstance(rec, this.providers, this.owner);
73
- this.instances.set(token, pi);
74
- const lineage = this.owner ? [this.owner] : [];
75
- const row = this.makeRow(token, pi, lineage, this);
76
- this.localRows.push(row);
77
- }
78
- // Adopt prompts from child app registries
79
- const childAppRegistries = this.providers.getRegistries('AppRegistry');
80
- childAppRegistries.forEach((appRegistry) => {
81
- const apps = appRegistry.getApps();
82
- for (const app of apps) {
83
- const appPromptRegistries = app.providers.getRegistries('PromptRegistry');
84
- appPromptRegistries
85
- .filter((r) => r.owner.kind === 'app')
86
- .forEach((appPromptRegistry) => {
87
- this.adoptFromChild(appPromptRegistry, appPromptRegistry.owner);
88
- });
89
- }
90
- });
91
- // Adopt prompts from other child prompt registries
92
- const childPromptRegistries = this.providers.getRegistries('PromptRegistry');
93
- childPromptRegistries
94
- .filter((r) => r !== this)
95
- .forEach((promptRegistry) => {
96
- this.adoptFromChild(promptRegistry, promptRegistry.owner);
97
- });
98
- // Build effective indexes from (locals + already adopted children)
99
- this.reindex();
100
- this.bump('reset');
101
- // Register prompt flows with the scope
102
- const scope = this.providers.getActiveScope();
103
- await scope.registryFlows(get_prompt_flow_1.default, prompts_list_flow_1.default);
104
- }
105
- /* -------------------- Adoption: reference child instances (no cloning) -------------------- */
106
- /**
107
- * Adopt prompts from a child registry. Parent runs after children are ready.
108
- * We *reference* the child's prompt instances; no duplicates are created.
109
- */
110
- adoptFromChild(child, _childOwner) {
111
- if (this.children.has(child))
112
- return;
113
- const childRows = child.listAllIndexed();
114
- const prepend = this.owner ? [this.owner] : [];
115
- const adoptedRows = childRows.map((r) => this.relineage(r, prepend));
116
- this.adopted.set(child, adoptedRows);
117
- this.children.add(child);
118
- // keep live if child changes
119
- child.subscribe({ immediate: false }, () => {
120
- const latest = child.listAllIndexed().map((r) => this.relineage(r, prepend));
121
- this.adopted.set(child, latest);
122
- this.reindex();
123
- this.bump('reset');
124
- });
125
- this.reindex();
126
- this.bump('reset');
127
- }
128
- /* -------------------- Public API -------------------- */
129
- /**
130
- * Get all prompts
131
- */
132
- getPrompts(includeHidden = false) {
133
- const all = this.listAllIndexed();
134
- return all
135
- .filter((r) => {
136
- const meta = r.instance.metadata;
137
- const hidden = 'hideFromDiscovery' in meta && meta.hideFromDiscovery === true;
138
- return !hidden || includeHidden;
139
- })
140
- .map((r) => r.instance);
141
- }
142
- /**
143
- * Get inline prompts (local only)
144
- */
145
- getInlinePrompts() {
146
- return [...this.instances.values()];
147
- }
148
- /**
149
- * Find a prompt by exact name match
150
- */
151
- findByName(name) {
152
- const rows = this.byName.get(name);
153
- return rows?.[0]?.instance;
154
- }
155
- /**
156
- * Find all prompts matching a name
157
- */
158
- findAllByName(name) {
159
- const rows = this.byName.get(name) ?? [];
160
- return rows.map((r) => r.instance);
161
- }
162
- /** Internal snapshot of effective indexed rows (locals + adopted). */
163
- listAllIndexed() {
164
- return [...this.localRows, ...[...this.adopted.values()].flat()];
165
- }
166
- /** List all instances (locals + adopted). */
167
- listAllInstances() {
168
- return this.listAllIndexed().map((r) => r.instance);
169
- }
170
- /** List instances by owner path (e.g. "app:Portal/plugin:Okta") */
171
- listByOwner(ownerPath) {
172
- return (this.byOwner.get(ownerPath) ?? []).map((r) => r.instance);
173
- }
174
- /* -------------------- Indexing & lookups -------------------- */
175
- reindex() {
176
- const effective = this.listAllIndexed();
177
- this.byQualifiedId.clear();
178
- this.byName.clear();
179
- this.byOwnerAndName.clear();
180
- this.byOwner.clear();
181
- for (const r of effective) {
182
- this.byQualifiedId.set(r.qualifiedId, r);
183
- const listByName = this.byName.get(r.baseName) ?? [];
184
- listByName.push(r);
185
- this.byName.set(r.baseName, listByName);
186
- const byOwnerKey = this.byOwner.get(r.ownerKey) ?? [];
187
- byOwnerKey.push(r);
188
- this.byOwner.set(r.ownerKey, byOwnerKey);
189
- const on = `${r.ownerKey}:${r.baseName}`;
190
- if (!this.byOwnerAndName.has(on))
191
- this.byOwnerAndName.set(on, r);
192
- }
193
- }
194
- /* -------------------- Conflict-aware exported names -------------------- */
195
- /**
196
- * Produce unique, MCP-valid exported names.
197
- */
198
- exportResolvedNames(opts) {
199
- const cfg = { ...prompt_types_1.DEFAULT_PROMPT_EXPORT_OPTS, ...(opts ?? {}) };
200
- const rows = this.listAllIndexed().map((r) => {
201
- const base = (0, prompt_utils_1.normalizeSegment)(r.baseName, cfg.case);
202
- const isLocal = r.source === this;
203
- const provider = (0, prompt_utils_1.normalizeProviderId)(this.providerIdOf(r.instance), cfg.case);
204
- const ownerPath = (0, prompt_utils_1.normalizeOwnerPath)(r.ownerKey, cfg.case);
205
- return { base, row: r, isLocal, provider, ownerPath };
206
- });
207
- // group by standardized base
208
- const byBase = new Map();
209
- for (const r of rows) {
210
- const list = byBase.get(r.base) ?? [];
211
- list.push(r);
212
- byBase.set(r.base, list);
213
- }
214
- const out = new Map();
215
- for (const [base, group] of byBase.entries()) {
216
- if (group.length === 1) {
217
- const g = group[0];
218
- out.set((0, prompt_utils_1.ensureMaxLen)(base, cfg.maxLen), g.row.instance);
219
- continue;
220
- }
221
- const locals = group.filter((g) => g.isLocal);
222
- const children = group.filter((g) => !g.isLocal);
223
- if (cfg.prefixChildrenOnConflict && locals.length > 0) {
224
- // Locals
225
- if (locals.length === 1) {
226
- const localName = (0, prompt_utils_1.ensureMaxLen)(base, cfg.maxLen);
227
- out.set(disambiguate(localName, out, cfg), locals[0].row.instance);
228
- }
229
- else {
230
- for (const l of locals) {
231
- const pref = (0, prompt_utils_1.normalizeOwnerPath)(l.ownerPath, cfg.case);
232
- const name = (0, prompt_utils_1.ensureMaxLen)(`${pref}${(0, prompt_utils_1.sepFor)(cfg.case)}${base}`, cfg.maxLen);
233
- out.set(disambiguate(name, out, cfg), l.row.instance);
234
- }
235
- }
236
- // Children
237
- for (const c of children) {
238
- const pre = cfg.prefixSource === 'provider' ? c.provider ?? c.ownerPath : c.ownerPath;
239
- const name = (0, prompt_utils_1.ensureMaxLen)(`${pre}${(0, prompt_utils_1.sepFor)(cfg.case)}${base}`, cfg.maxLen);
240
- out.set(disambiguate(name, out, cfg), c.row.instance);
241
- }
242
- }
243
- else {
244
- // Prefix everyone by source
245
- for (const r of group) {
246
- const pre = cfg.prefixSource === 'provider' ? r.provider ?? r.ownerPath : r.ownerPath;
247
- const name = (0, prompt_utils_1.ensureMaxLen)(`${pre}${(0, prompt_utils_1.sepFor)(cfg.case)}${base}`, cfg.maxLen);
248
- out.set(disambiguate(name, out, cfg), r.row.instance);
249
- }
250
- }
251
- }
252
- return [...out.entries()].sort((a, b) => a[0].localeCompare(b[0])).map(([name, instance]) => ({ name, instance }));
253
- function disambiguate(candidate, pool, cfg) {
254
- if (!pool.has(candidate))
255
- return candidate;
256
- let n = 2;
257
- while (n <= MAX_DISAMBIGUATE_ATTEMPTS) {
258
- const withN = (0, prompt_utils_1.ensureMaxLen)(`${candidate}${(0, prompt_utils_1.sepFor)(cfg.case)}${n}`, cfg.maxLen);
259
- if (!pool.has(withN))
260
- return withN;
261
- n++;
262
- }
263
- throw new Error(`Failed to disambiguate name "${candidate}" after ${MAX_DISAMBIGUATE_ATTEMPTS} attempts`);
264
- }
265
- }
266
- /** Lookup by the exported (resolved) name. */
267
- getExported(name, opts) {
268
- const pairs = this.exportResolvedNames(opts);
269
- return pairs.find((p) => p.name === name)?.instance;
270
- }
271
- /* -------------------- Subscriptions -------------------- */
272
- subscribe(opts, cb) {
273
- const filter = opts.filter ?? (() => true);
274
- if (opts.immediate) {
275
- cb({
276
- kind: 'reset',
277
- changeScope: 'global',
278
- version: this.version,
279
- snapshot: this.listAllInstances().filter(filter),
280
- });
281
- }
282
- return this.emitter.on((e) => cb({ ...e, snapshot: this.listAllInstances().filter(filter) }));
283
- }
284
- bump(kind) {
285
- const version = ++this.version;
286
- this.emitter.emit({ kind, changeScope: 'global', version, snapshot: this.listAllInstances() });
287
- }
288
- /* -------------------- Helpers -------------------- */
289
- /** Build an IndexedPrompt row */
290
- makeRow(token, instance, lineage, source) {
291
- const ownerKey = (0, prompt_utils_1.ownerKeyOf)(lineage);
292
- const baseName = instance.name;
293
- const qualifiedName = (0, prompt_utils_1.qualifiedNameOf)(lineage, baseName);
294
- const qualifiedId = `${ownerKey}:${(0, token_utils_1.tokenName)(token)}`;
295
- return {
296
- token,
297
- instance,
298
- baseName,
299
- lineage,
300
- ownerKey,
301
- qualifiedName,
302
- qualifiedId,
303
- source,
304
- };
305
- }
306
- /** Clone a child row and prepend lineage (with adjacent de-dup to avoid double prefixes). */
307
- relineage(row, prepend) {
308
- const merged = [...prepend, ...row.lineage];
309
- const lineage = dedupLineage(merged);
310
- const ownerKey = (0, prompt_utils_1.ownerKeyOf)(lineage);
311
- const qualifiedName = (0, prompt_utils_1.qualifiedNameOf)(lineage, row.baseName);
312
- const qualifiedId = `${ownerKey}:${(0, token_utils_1.tokenName)(row.token)}`;
313
- return {
314
- token: row.token,
315
- instance: row.instance, // REFERENCE the same instance
316
- baseName: row.baseName,
317
- lineage,
318
- ownerKey,
319
- qualifiedName,
320
- qualifiedId,
321
- source: row.source, // keep original source (who constructed instance)
322
- };
323
- }
324
- /** Best-effort provider id used for prefixing. */
325
- providerIdOf(inst) {
326
- try {
327
- const meta = inst.getMetadata?.();
328
- if (!meta || typeof meta !== 'object')
329
- return undefined;
330
- const metaObj = meta;
331
- const maybe = metaObj['providerId'] ?? metaObj['provider'] ?? metaObj['ownerId'];
332
- if (typeof maybe === 'string' && maybe.length > 0)
333
- return maybe;
334
- const cls = metaObj['cls'];
335
- if (cls && typeof cls === 'function') {
336
- const id = (0, metadata_utils_1.getMetadata)('id', cls);
337
- if (typeof id === 'string' && id.length > 0)
338
- return id;
339
- if ('name' in cls && typeof cls.name === 'string')
340
- return cls.name;
341
- }
342
- }
343
- catch {
344
- // Silently ignore errors - provider ID lookup is best-effort for prefixing
345
- // and should not fail the overall operation
346
- }
347
- return undefined;
348
- }
349
- /** True if this registry (or adopted children) has any prompts. */
350
- hasAny() {
351
- return this.listAllIndexed().length > 0 || this.tokens.size > 0;
352
- }
353
- /**
354
- * Get the MCP capabilities for prompts.
355
- * These are reported to clients during initialization.
356
- */
357
- getCapabilities() {
358
- return this.hasAny()
359
- ? {
360
- prompts: {
361
- // List change notifications are only supported when prompts are registered
362
- listChanged: true,
363
- },
364
- }
365
- : {};
366
- }
367
- }
368
- exports.default = PromptRegistry;
369
- /* -------------------- lineage utility -------------------- */
370
- /** Remove only adjacent duplicates like [adapter:x, adapter:x] → [adapter:x] */
371
- function dedupLineage(l) {
372
- const out = [];
373
- for (const o of l) {
374
- const last = out[out.length - 1];
375
- if (!last || last.kind !== o.kind || last.id !== o.id)
376
- out.push(o);
377
- }
378
- return out;
379
- }
380
- //# sourceMappingURL=prompt.registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.registry.js","sourceRoot":"","sources":["../../../src/prompt/prompt.registry.ts"],"names":[],"mappings":"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","sourcesContent":["// file: libs/sdk/src/prompt/prompt.registry.ts\n\nimport {\n EntryLineage,\n EntryOwnerRef,\n Token,\n PromptEntry,\n PromptRecord,\n PromptRegistryInterface,\n PromptType,\n} from '../common';\nimport { getMetadata } from '../utils/metadata.utils';\nimport { PromptChangeEvent, PromptEmitter } from './prompt.events';\nimport ProviderRegistry from '../provider/provider.registry';\nimport {\n ensureMaxLen,\n normalizeOwnerPath,\n normalizeProviderId,\n normalizeSegment,\n normalizePrompt,\n ownerKeyOf,\n qualifiedNameOf,\n sepFor,\n promptDiscoveryDeps,\n} from './prompt.utils';\nimport { tokenName } from '../utils/token.utils';\nimport { RegistryAbstract, RegistryBuildMapResult } from '../regsitry';\nimport { PromptInstance } from './prompt.instance';\nimport { DEFAULT_PROMPT_EXPORT_OPTS, PromptExportOptions, IndexedPrompt } from './prompt.types';\nimport GetPromptFlow from './flows/get-prompt.flow';\nimport PromptsListFlow from './flows/prompts-list.flow';\nimport { ServerCapabilities } from '@modelcontextprotocol/sdk/types.js';\n\n/** Maximum attempts for name disambiguation to prevent infinite loops */\nconst MAX_DISAMBIGUATE_ATTEMPTS = 10000;\n\nexport default class PromptRegistry\n extends RegistryAbstract<\n PromptInstance, // instances map holds PromptInstance\n PromptRecord,\n PromptType[]\n >\n implements PromptRegistryInterface\n{\n /** Who owns this registry (used for provenance). */\n owner: EntryOwnerRef;\n\n /** Prompts truly owned/constructed by THIS registry (with lineage applied) */\n private localRows: IndexedPrompt[] = [];\n\n /** Adopted prompt rows from each child registry (references to the same instances) */\n private adopted = new Map<PromptRegistry, IndexedPrompt[]>();\n\n /** Children registries that we track */\n private children = new Set<PromptRegistry>();\n\n // ---- O(1) indexes over EFFECTIVE set (local + adopted) ----\n private byQualifiedId = new Map<string, IndexedPrompt>(); // qualifiedId -> row\n private byName = new Map<string, IndexedPrompt[]>(); // baseName -> rows\n private byOwnerAndName = new Map<string, IndexedPrompt>(); // \"ownerKey:name\" -> row\n private byOwner = new Map<string, IndexedPrompt[]>(); // ownerKey -> rows\n\n // version + emitter\n private version = 0;\n private emitter = new PromptEmitter();\n\n constructor(providers: ProviderRegistry, list: PromptType[], owner: EntryOwnerRef) {\n // disable auto so subclass fields initialize first\n super('PromptRegistry', providers, list, false);\n this.owner = owner;\n\n // now it's safe to run the lifecycle\n this.buildGraph();\n this.ready = this.initialize();\n }\n\n /* -------------------- Build-time: defs + dep checks -------------------- */\n\n protected override buildMap(list: PromptType[]): RegistryBuildMapResult<PromptRecord> {\n const tokens = new Set<Token>();\n const defs = new Map<Token, PromptRecord>();\n const graph = new Map<Token, Set<Token>>();\n\n for (const raw of list) {\n const rec = normalizePrompt(raw);\n\n const provide = rec.provide;\n tokens.add(provide);\n defs.set(provide, rec);\n graph.set(provide, new Set());\n }\n return { tokens, defs, graph };\n }\n\n protected buildGraph() {\n for (const token of this.tokens) {\n const rec = this.defs.get(token)!;\n const deps = promptDiscoveryDeps(rec);\n\n for (const d of deps) {\n // Validate against hierarchical providers; throws early if missing\n this.providers.get(d);\n this.graph.get(token)!.add(d);\n }\n }\n }\n\n /* -------------------- Initialize: create ONE PromptInstance per local prompt -------------------- */\n\n protected override async initialize(): Promise<void> {\n // Instantiate each local prompt once and store in this.instances\n for (const token of this.tokens) {\n const rec = this.defs.get(token)!;\n\n // Single, authoritative instance per local prompt\n const pi = new PromptInstance(rec, this.providers, this.owner);\n this.instances.set(token as Token<PromptInstance>, pi);\n\n const lineage: EntryLineage = this.owner ? [this.owner] : [];\n const row = this.makeRow(token, pi, lineage, this);\n this.localRows.push(row);\n }\n\n // Adopt prompts from child app registries\n const childAppRegistries = this.providers.getRegistries('AppRegistry');\n childAppRegistries.forEach((appRegistry) => {\n const apps = appRegistry.getApps();\n for (const app of apps) {\n const appPromptRegistries = app.providers.getRegistries('PromptRegistry');\n appPromptRegistries\n .filter((r) => r.owner.kind === 'app')\n .forEach((appPromptRegistry) => {\n this.adoptFromChild(appPromptRegistry as PromptRegistry, appPromptRegistry.owner);\n });\n }\n });\n\n // Adopt prompts from other child prompt registries\n const childPromptRegistries = this.providers.getRegistries('PromptRegistry');\n childPromptRegistries\n .filter((r) => r !== this)\n .forEach((promptRegistry) => {\n this.adoptFromChild(promptRegistry as PromptRegistry, promptRegistry.owner);\n });\n\n // Build effective indexes from (locals + already adopted children)\n this.reindex();\n this.bump('reset');\n\n // Register prompt flows with the scope\n const scope = this.providers.getActiveScope();\n await scope.registryFlows(GetPromptFlow, PromptsListFlow);\n }\n\n /* -------------------- Adoption: reference child instances (no cloning) -------------------- */\n\n /**\n * Adopt prompts from a child registry. Parent runs after children are ready.\n * We *reference* the child's prompt instances; no duplicates are created.\n */\n adoptFromChild(child: PromptRegistry, _childOwner: EntryOwnerRef): void {\n if (this.children.has(child)) return;\n\n const childRows = child.listAllIndexed();\n const prepend: EntryLineage = this.owner ? [this.owner] : [];\n\n const adoptedRows = childRows.map((r) => this.relineage(r, prepend));\n\n this.adopted.set(child, adoptedRows);\n this.children.add(child);\n\n // keep live if child changes\n child.subscribe({ immediate: false }, () => {\n const latest = child.listAllIndexed().map((r) => this.relineage(r, prepend));\n this.adopted.set(child, latest);\n this.reindex();\n this.bump('reset');\n });\n\n this.reindex();\n this.bump('reset');\n }\n\n /* -------------------- Public API -------------------- */\n\n /**\n * Get all prompts\n */\n getPrompts(includeHidden = false): PromptEntry[] {\n const all = this.listAllIndexed();\n return all\n .filter((r) => {\n const meta = r.instance.metadata;\n const hidden =\n 'hideFromDiscovery' in meta && (meta as { hideFromDiscovery?: boolean }).hideFromDiscovery === true;\n return !hidden || includeHidden;\n })\n .map((r) => r.instance);\n }\n\n /**\n * Get inline prompts (local only)\n */\n getInlinePrompts(): PromptEntry[] {\n return [...this.instances.values()];\n }\n\n /**\n * Find a prompt by exact name match\n */\n findByName(name: string): PromptInstance | undefined {\n const rows = this.byName.get(name);\n return rows?.[0]?.instance;\n }\n\n /**\n * Find all prompts matching a name\n */\n findAllByName(name: string): PromptInstance[] {\n const rows = this.byName.get(name) ?? [];\n return rows.map((r) => r.instance);\n }\n\n /** Internal snapshot of effective indexed rows (locals + adopted). */\n listAllIndexed(): IndexedPrompt[] {\n return [...this.localRows, ...[...this.adopted.values()].flat()];\n }\n\n /** List all instances (locals + adopted). */\n listAllInstances(): readonly PromptInstance[] {\n return this.listAllIndexed().map((r) => r.instance);\n }\n\n /** List instances by owner path (e.g. \"app:Portal/plugin:Okta\") */\n listByOwner(ownerPath: string): readonly PromptInstance[] {\n return (this.byOwner.get(ownerPath) ?? []).map((r) => r.instance);\n }\n\n /* -------------------- Indexing & lookups -------------------- */\n\n private reindex() {\n const effective = this.listAllIndexed();\n\n this.byQualifiedId.clear();\n this.byName.clear();\n this.byOwnerAndName.clear();\n this.byOwner.clear();\n\n for (const r of effective) {\n this.byQualifiedId.set(r.qualifiedId, r);\n\n const listByName = this.byName.get(r.baseName) ?? [];\n listByName.push(r);\n this.byName.set(r.baseName, listByName);\n\n const byOwnerKey = this.byOwner.get(r.ownerKey) ?? [];\n byOwnerKey.push(r);\n this.byOwner.set(r.ownerKey, byOwnerKey);\n\n const on = `${r.ownerKey}:${r.baseName}`;\n if (!this.byOwnerAndName.has(on)) this.byOwnerAndName.set(on, r);\n }\n }\n\n /* -------------------- Conflict-aware exported names -------------------- */\n\n /**\n * Produce unique, MCP-valid exported names.\n */\n exportResolvedNames(opts?: PromptExportOptions): Array<{ name: string; instance: PromptInstance }> {\n const cfg = { ...DEFAULT_PROMPT_EXPORT_OPTS, ...(opts ?? {}) };\n\n const rows = this.listAllIndexed().map((r) => {\n const base = normalizeSegment(r.baseName, cfg.case);\n const isLocal = r.source === this;\n const provider = normalizeProviderId(this.providerIdOf(r.instance), cfg.case);\n const ownerPath = normalizeOwnerPath(r.ownerKey, cfg.case);\n return { base, row: r, isLocal, provider, ownerPath };\n });\n\n // group by standardized base\n const byBase = new Map<string, typeof rows>();\n for (const r of rows) {\n const list = byBase.get(r.base) ?? [];\n list.push(r);\n byBase.set(r.base, list);\n }\n\n const out = new Map<string, PromptInstance>();\n\n for (const [base, group] of byBase.entries()) {\n if (group.length === 1) {\n const g = group[0];\n out.set(ensureMaxLen(base, cfg.maxLen), g.row.instance);\n continue;\n }\n\n const locals = group.filter((g) => g.isLocal);\n const children = group.filter((g) => !g.isLocal);\n\n if (cfg.prefixChildrenOnConflict && locals.length > 0) {\n // Locals\n if (locals.length === 1) {\n const localName = ensureMaxLen(base, cfg.maxLen);\n out.set(disambiguate(localName, out, cfg), locals[0].row.instance);\n } else {\n for (const l of locals) {\n const pref = normalizeOwnerPath(l.ownerPath, cfg.case);\n const name = ensureMaxLen(`${pref}${sepFor(cfg.case)}${base}`, cfg.maxLen);\n out.set(disambiguate(name, out, cfg), l.row.instance);\n }\n }\n\n // Children\n for (const c of children) {\n const pre = cfg.prefixSource === 'provider' ? c.provider ?? c.ownerPath : c.ownerPath;\n const name = ensureMaxLen(`${pre}${sepFor(cfg.case)}${base}`, cfg.maxLen);\n out.set(disambiguate(name, out, cfg), c.row.instance);\n }\n } else {\n // Prefix everyone by source\n for (const r of group) {\n const pre = cfg.prefixSource === 'provider' ? r.provider ?? r.ownerPath : r.ownerPath;\n const name = ensureMaxLen(`${pre}${sepFor(cfg.case)}${base}`, cfg.maxLen);\n out.set(disambiguate(name, out, cfg), r.row.instance);\n }\n }\n }\n\n return [...out.entries()].sort((a, b) => a[0].localeCompare(b[0])).map(([name, instance]) => ({ name, instance }));\n\n function disambiguate(\n candidate: string,\n pool: Map<string, PromptInstance>,\n cfg: Required<PromptExportOptions>,\n ): string {\n if (!pool.has(candidate)) return candidate;\n let n = 2;\n while (n <= MAX_DISAMBIGUATE_ATTEMPTS) {\n const withN = ensureMaxLen(`${candidate}${sepFor(cfg.case)}${n}`, cfg.maxLen);\n if (!pool.has(withN)) return withN;\n n++;\n }\n throw new Error(`Failed to disambiguate name \"${candidate}\" after ${MAX_DISAMBIGUATE_ATTEMPTS} attempts`);\n }\n }\n\n /** Lookup by the exported (resolved) name. */\n getExported(name: string, opts?: PromptExportOptions): PromptInstance | undefined {\n const pairs = this.exportResolvedNames(opts);\n return pairs.find((p) => p.name === name)?.instance;\n }\n\n /* -------------------- Subscriptions -------------------- */\n\n subscribe(\n opts: { immediate?: boolean; filter?: (i: PromptInstance) => boolean },\n cb: (evt: PromptChangeEvent) => void,\n ): () => void {\n const filter = opts.filter ?? (() => true);\n if (opts.immediate) {\n cb({\n kind: 'reset',\n changeScope: 'global',\n version: this.version,\n snapshot: this.listAllInstances().filter(filter),\n });\n }\n return this.emitter.on((e) => cb({ ...e, snapshot: this.listAllInstances().filter(filter) }));\n }\n\n private bump(kind: PromptChangeEvent['kind']) {\n const version = ++this.version;\n this.emitter.emit({ kind, changeScope: 'global', version, snapshot: this.listAllInstances() });\n }\n\n /* -------------------- Helpers -------------------- */\n\n /** Build an IndexedPrompt row */\n private makeRow(\n token: Token,\n instance: PromptInstance,\n lineage: EntryLineage,\n source: PromptRegistry,\n ): IndexedPrompt {\n const ownerKey = ownerKeyOf(lineage);\n const baseName = instance.name;\n const qualifiedName = qualifiedNameOf(lineage, baseName);\n const qualifiedId = `${ownerKey}:${tokenName(token)}`;\n return {\n token,\n instance,\n baseName,\n lineage,\n ownerKey,\n qualifiedName,\n qualifiedId,\n source,\n };\n }\n\n /** Clone a child row and prepend lineage (with adjacent de-dup to avoid double prefixes). */\n private relineage(row: IndexedPrompt, prepend: EntryLineage): IndexedPrompt {\n const merged = [...prepend, ...row.lineage];\n const lineage = dedupLineage(merged);\n\n const ownerKey = ownerKeyOf(lineage);\n const qualifiedName = qualifiedNameOf(lineage, row.baseName);\n const qualifiedId = `${ownerKey}:${tokenName(row.token)}`;\n return {\n token: row.token,\n instance: row.instance, // REFERENCE the same instance\n baseName: row.baseName,\n lineage,\n ownerKey,\n qualifiedName,\n qualifiedId,\n source: row.source, // keep original source (who constructed instance)\n };\n }\n\n /** Best-effort provider id used for prefixing. */\n private providerIdOf(inst: PromptInstance): string | undefined {\n try {\n const meta: unknown = inst.getMetadata?.();\n if (!meta || typeof meta !== 'object') return undefined;\n\n const metaObj = meta as Record<string, unknown>;\n const maybe = metaObj['providerId'] ?? metaObj['provider'] ?? metaObj['ownerId'];\n if (typeof maybe === 'string' && maybe.length > 0) return maybe;\n\n const cls = metaObj['cls'];\n if (cls && typeof cls === 'function') {\n const id = getMetadata('id', cls);\n if (typeof id === 'string' && id.length > 0) return id;\n if ('name' in cls && typeof cls.name === 'string') return cls.name;\n }\n } catch {\n // Silently ignore errors - provider ID lookup is best-effort for prefixing\n // and should not fail the overall operation\n }\n return undefined;\n }\n\n /** True if this registry (or adopted children) has any prompts. */\n hasAny(): boolean {\n return this.listAllIndexed().length > 0 || this.tokens.size > 0;\n }\n\n /**\n * Get the MCP capabilities for prompts.\n * These are reported to clients during initialization.\n */\n getCapabilities(): Partial<ServerCapabilities> {\n return this.hasAny()\n ? {\n prompts: {\n // List change notifications are only supported when prompts are registered\n listChanged: true,\n },\n }\n : {};\n }\n}\n\n/* -------------------- lineage utility -------------------- */\n\n/** Remove only adjacent duplicates like [adapter:x, adapter:x] → [adapter:x] */\nfunction dedupLineage(l: EntryLineage): EntryLineage {\n const out: EntryLineage = [];\n for (const o of l) {\n const last = out[out.length - 1];\n if (!last || last.kind !== o.kind || last.id !== o.id) out.push(o);\n }\n return out;\n}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- // file: libs/sdk/src/prompt/prompt.types.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DEFAULT_PROMPT_EXPORT_OPTS = void 0;
5
- exports.DEFAULT_PROMPT_EXPORT_OPTS = {
6
- case: 'snake',
7
- maxLen: 64,
8
- prefixChildrenOnConflict: true,
9
- prefixSource: 'provider',
10
- };
11
- //# sourceMappingURL=prompt.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.types.js","sourceRoot":"","sources":["../../../src/prompt/prompt.types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAwC/B,QAAA,0BAA0B,GAAkC;IACvE,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,EAAE;IACV,wBAAwB,EAAE,IAAI;IAC9B,YAAY,EAAE,UAAU;CACzB,CAAC","sourcesContent":["// file: libs/sdk/src/prompt/prompt.types.ts\n\nimport { EntryLineage, Token } from '../common';\nimport { PromptInstance } from './prompt.instance';\nimport PromptRegistry from './prompt.registry';\nimport type { NameCase } from '../utils/naming.utils';\n\n// Re-export NameCase as PromptNameCase for consistency\nexport type PromptNameCase = NameCase;\n\n// ============================================================================\n// Indexed Prompt (for registry internal use)\n// ============================================================================\n\n/** Internal augmented row: instance + provenance + token */\nexport type IndexedPrompt = {\n token: Token;\n instance: PromptInstance;\n /** base prompt name from metadata (unmodified) */\n baseName: string;\n /** lineage & qualified info */\n lineage: EntryLineage;\n ownerKey: string; // \"app:Portal/plugin:Okta\"\n qualifiedName: string; // \"app:Portal/plugin:Okta:promptName\"\n qualifiedId: string; // \"app:Portal/plugin:Okta:tokenName(<token>)\"\n /** which registry constructed the instance (the \"owner\" registry) */\n source: PromptRegistry;\n};\n\n// ============================================================================\n// Export Name Options\n// ============================================================================\n\nexport type PromptExportOptions = {\n case?: PromptNameCase; // default 'snake'\n maxLen?: number; // default 64\n prefixChildrenOnConflict?: boolean; // default true\n prefixSource?: 'provider' | 'owner'; // default 'provider'\n};\n\nexport const DEFAULT_PROMPT_EXPORT_OPTS: Required<PromptExportOptions> = {\n case: 'snake',\n maxLen: 64,\n prefixChildrenOnConflict: true,\n prefixSource: 'provider',\n};\n"]}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- // file: libs/sdk/src/prompt/prompt.utils.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.qualifiedNameOf = exports.ownerKeyOf = exports.ensureMaxLen = exports.shortHash = exports.normalizeOwnerPath = exports.normalizeProviderId = exports.normalizeSegment = exports.sepFor = exports.toCase = exports.splitWords = void 0;
5
- exports.collectPromptMetadata = collectPromptMetadata;
6
- exports.normalizePrompt = normalizePrompt;
7
- exports.promptDiscoveryDeps = promptDiscoveryDeps;
8
- exports.buildParsedPromptResult = buildParsedPromptResult;
9
- const common_1 = require("../common");
10
- const token_utils_1 = require("../utils/token.utils");
11
- const metadata_utils_1 = require("../utils/metadata.utils");
12
- // Re-export shared naming utilities
13
- var naming_utils_1 = require("../utils/naming.utils");
14
- Object.defineProperty(exports, "splitWords", { enumerable: true, get: function () { return naming_utils_1.splitWords; } });
15
- Object.defineProperty(exports, "toCase", { enumerable: true, get: function () { return naming_utils_1.toCase; } });
16
- Object.defineProperty(exports, "sepFor", { enumerable: true, get: function () { return naming_utils_1.sepFor; } });
17
- Object.defineProperty(exports, "normalizeSegment", { enumerable: true, get: function () { return naming_utils_1.normalizeSegment; } });
18
- Object.defineProperty(exports, "normalizeProviderId", { enumerable: true, get: function () { return naming_utils_1.normalizeProviderId; } });
19
- Object.defineProperty(exports, "normalizeOwnerPath", { enumerable: true, get: function () { return naming_utils_1.normalizeOwnerPath; } });
20
- Object.defineProperty(exports, "shortHash", { enumerable: true, get: function () { return naming_utils_1.shortHash; } });
21
- Object.defineProperty(exports, "ensureMaxLen", { enumerable: true, get: function () { return naming_utils_1.ensureMaxLen; } });
22
- // Re-export shared lineage utilities
23
- var lineage_utils_1 = require("../utils/lineage.utils");
24
- Object.defineProperty(exports, "ownerKeyOf", { enumerable: true, get: function () { return lineage_utils_1.ownerKeyOf; } });
25
- Object.defineProperty(exports, "qualifiedNameOf", { enumerable: true, get: function () { return lineage_utils_1.qualifiedNameOf; } });
26
- /**
27
- * Collect metadata from a class decorated with @FrontMcpPrompt
28
- */
29
- function collectPromptMetadata(cls) {
30
- return Object.entries(common_1.FrontMcpPromptTokens).reduce((metadata, [key, token]) => {
31
- const value = (0, metadata_utils_1.getMetadata)(token, cls);
32
- if (value !== undefined) {
33
- return Object.assign(metadata, {
34
- [key]: value,
35
- });
36
- }
37
- return metadata;
38
- }, {});
39
- }
40
- /**
41
- * Normalize any prompt input (class or function) to a PromptRecord.
42
- *
43
- * @param item - The prompt input to normalize. Accepts:
44
- * - A class decorated with @FrontMcpPrompt
45
- * - A function returned from prompt() builder
46
- * The `any` type is intentional to handle both decorator patterns and provide
47
- * meaningful error messages for invalid inputs.
48
- */
49
- function normalizePrompt(item) {
50
- // Function-style decorator: prompt({ name: '...' })(handler)
51
- if (item &&
52
- typeof item === 'function' &&
53
- item[common_1.FrontMcpPromptTokens.type] === 'function-prompt' &&
54
- item[common_1.FrontMcpPromptTokens.metadata]) {
55
- return {
56
- kind: common_1.PromptKind.FUNCTION,
57
- provide: item(),
58
- metadata: item[common_1.FrontMcpPromptTokens.metadata],
59
- };
60
- }
61
- // Class-style decorator: @FrontMcpPrompt({ name: '...' })
62
- if ((0, token_utils_1.isClass)(item)) {
63
- const metadata = collectPromptMetadata(item);
64
- return { kind: common_1.PromptKind.CLASS_TOKEN, provide: item, metadata };
65
- }
66
- const name = item?.name ?? String(item);
67
- throw new Error(`Invalid prompt '${name}'. Expected a class or a prompt function.`);
68
- }
69
- /**
70
- * Get dependency tokens for graph/cycle detection
71
- */
72
- function promptDiscoveryDeps(rec) {
73
- switch (rec.kind) {
74
- case common_1.PromptKind.FUNCTION:
75
- return (0, token_utils_1.depsOfFunc)(rec.provide, 'discovery');
76
- case common_1.PromptKind.CLASS_TOKEN:
77
- return (0, token_utils_1.depsOfClass)(rec.provide, 'discovery');
78
- default: {
79
- // Exhaustive check: ensures all PromptKind values are handled
80
- const _exhaustive = rec;
81
- throw new Error(`Unhandled prompt kind: ${_exhaustive.kind}`);
82
- }
83
- }
84
- }
85
- /**
86
- * Build a parsed prompt result from raw output
87
- */
88
- function buildParsedPromptResult(raw, metadata) {
89
- // If already in GetPromptResult format
90
- if (raw && typeof raw === 'object' && 'messages' in raw && Array.isArray(raw.messages)) {
91
- const rawObj = raw;
92
- return {
93
- description: rawObj.description ?? metadata.description,
94
- messages: rawObj.messages,
95
- };
96
- }
97
- // If raw is a string, convert to single user message
98
- if (typeof raw === 'string') {
99
- return {
100
- description: metadata.description,
101
- messages: [{ role: 'user', content: { type: 'text', text: raw } }],
102
- };
103
- }
104
- // If raw is an array of messages
105
- if (Array.isArray(raw)) {
106
- return {
107
- description: metadata.description,
108
- messages: raw.map(normalizePromptMessage),
109
- };
110
- }
111
- // Default: wrap in user message as JSON
112
- return {
113
- description: metadata.description,
114
- messages: [{ role: 'user', content: { type: 'text', text: JSON.stringify(raw) } }],
115
- };
116
- }
117
- /**
118
- * Normalize a single message to PromptMessage format
119
- */
120
- function normalizePromptMessage(msg) {
121
- // If already in correct format with valid role and content
122
- if (msg &&
123
- typeof msg === 'object' &&
124
- 'role' in msg &&
125
- 'content' in msg &&
126
- typeof msg['role'] === 'string' &&
127
- typeof msg['content'] === 'object') {
128
- return msg;
129
- }
130
- // Assume user message with text content
131
- return {
132
- role: 'user',
133
- content: { type: 'text', text: typeof msg === 'string' ? msg : JSON.stringify(msg) },
134
- };
135
- }
136
- //# sourceMappingURL=prompt.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.utils.js","sourceRoot":"","sources":["../../../src/prompt/prompt.utils.ts"],"names":[],"mappings":"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","sourcesContent":["// file: libs/sdk/src/prompt/prompt.utils.ts\n\nimport {\n PromptMetadata,\n FrontMcpPromptTokens,\n PromptType,\n Token,\n PromptRecord,\n PromptKind,\n Type,\n PromptEntry,\n} from '../common';\nimport { depsOfClass, depsOfFunc, isClass } from '../utils/token.utils';\nimport { getMetadata } from '../utils/metadata.utils';\nimport { GetPromptResult, PromptMessage } from '@modelcontextprotocol/sdk/types.js';\n\n// Re-export shared naming utilities\nexport {\n splitWords,\n toCase,\n sepFor,\n normalizeSegment,\n normalizeProviderId,\n normalizeOwnerPath,\n shortHash,\n ensureMaxLen,\n} from '../utils/naming.utils';\n\n// Re-export shared lineage utilities\nexport { ownerKeyOf, qualifiedNameOf } from '../utils/lineage.utils';\n\n/**\n * Collect metadata from a class decorated with @FrontMcpPrompt\n */\nexport function collectPromptMetadata(cls: PromptType): PromptMetadata {\n return Object.entries(FrontMcpPromptTokens).reduce((metadata, [key, token]) => {\n const value = getMetadata(token, cls);\n if (value !== undefined) {\n return Object.assign(metadata, {\n [key]: value,\n });\n }\n return metadata;\n }, {} as PromptMetadata);\n}\n\n/**\n * Normalize any prompt input (class or function) to a PromptRecord.\n *\n * @param item - The prompt input to normalize. Accepts:\n * - A class decorated with @FrontMcpPrompt\n * - A function returned from prompt() builder\n * The `any` type is intentional to handle both decorator patterns and provide\n * meaningful error messages for invalid inputs.\n */\nexport function normalizePrompt(item: any): PromptRecord {\n // Function-style decorator: prompt({ name: '...' })(handler)\n if (\n item &&\n typeof item === 'function' &&\n item[FrontMcpPromptTokens.type] === 'function-prompt' &&\n item[FrontMcpPromptTokens.metadata]\n ) {\n return {\n kind: PromptKind.FUNCTION,\n provide: item(),\n metadata: item[FrontMcpPromptTokens.metadata] as PromptMetadata,\n };\n }\n\n // Class-style decorator: @FrontMcpPrompt({ name: '...' })\n if (isClass(item)) {\n const metadata = collectPromptMetadata(item as PromptType);\n return { kind: PromptKind.CLASS_TOKEN, provide: item as Type<PromptEntry>, metadata };\n }\n\n const name = (item as any)?.name ?? String(item);\n throw new Error(`Invalid prompt '${name}'. Expected a class or a prompt function.`);\n}\n\n/**\n * Get dependency tokens for graph/cycle detection\n */\nexport function promptDiscoveryDeps(rec: PromptRecord): Token[] {\n switch (rec.kind) {\n case PromptKind.FUNCTION:\n return depsOfFunc(rec.provide, 'discovery');\n case PromptKind.CLASS_TOKEN:\n return depsOfClass(rec.provide, 'discovery');\n default: {\n // Exhaustive check: ensures all PromptKind values are handled\n const _exhaustive: never = rec;\n throw new Error(`Unhandled prompt kind: ${(_exhaustive as PromptRecord).kind}`);\n }\n }\n}\n\n/**\n * Build a parsed prompt result from raw output\n */\nexport function buildParsedPromptResult(raw: unknown, metadata: PromptMetadata): GetPromptResult {\n // If already in GetPromptResult format\n if (raw && typeof raw === 'object' && 'messages' in raw && Array.isArray(raw.messages)) {\n const rawObj = raw as { description?: string; messages: unknown[] };\n return {\n description: rawObj.description ?? metadata.description,\n messages: rawObj.messages as PromptMessage[],\n };\n }\n\n // If raw is a string, convert to single user message\n if (typeof raw === 'string') {\n return {\n description: metadata.description,\n messages: [{ role: 'user', content: { type: 'text', text: raw } }],\n };\n }\n\n // If raw is an array of messages\n if (Array.isArray(raw)) {\n return {\n description: metadata.description,\n messages: raw.map(normalizePromptMessage),\n };\n }\n\n // Default: wrap in user message as JSON\n return {\n description: metadata.description,\n messages: [{ role: 'user', content: { type: 'text', text: JSON.stringify(raw) } }],\n };\n}\n\n/**\n * Normalize a single message to PromptMessage format\n */\nfunction normalizePromptMessage(msg: unknown): PromptMessage {\n // If already in correct format with valid role and content\n if (\n msg &&\n typeof msg === 'object' &&\n 'role' in msg &&\n 'content' in msg &&\n typeof (msg as Record<string, unknown>)['role'] === 'string' &&\n typeof (msg as Record<string, unknown>)['content'] === 'object'\n ) {\n return msg as PromptMessage;\n }\n\n // Assume user message with text content\n return {\n role: 'user',\n content: { type: 'text', text: typeof msg === 'string' ? msg : JSON.stringify(msg) },\n };\n}\n"]}