@frontmcp/sdk 0.6.0 → 0.6.2

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 (1053) 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/{src/auth → auth}/session/index.d.ts +1 -0
  4. package/auth/session/vercel-kv-session.store.d.ts +96 -0
  5. package/{src/common → common}/interfaces/internal/primary-auth-provider.interface.d.ts +1 -4
  6. package/{src/common → common}/metadata/front-mcp.metadata.d.ts +1779 -67
  7. package/{src/common → common}/metadata/prompt.metadata.d.ts +4 -0
  8. package/{src/common → common}/metadata/resource.metadata.d.ts +8 -0
  9. package/{src/common → common}/metadata/tool-ui.metadata.d.ts +2 -2
  10. package/{src/common → common}/metadata/tool.metadata.d.ts +4 -0
  11. package/{src/common → common}/schemas/http-output.schema.d.ts +24 -6
  12. package/common/types/options/auth/app-auth.schema.d.ts +275 -0
  13. package/common/types/options/auth/auth.interfaces.d.ts +461 -0
  14. package/common/types/options/auth/auth.schema.d.ts +284 -0
  15. package/common/types/options/auth/auth.utils.d.ts +32 -0
  16. package/common/types/options/auth/index.d.ts +16 -0
  17. package/common/types/options/auth/orchestrated.schema.d.ts +381 -0
  18. package/common/types/options/auth/public.schema.d.ts +42 -0
  19. package/common/types/options/auth/shared.schemas.d.ts +120 -0
  20. package/common/types/options/auth/transparent.schema.d.ts +56 -0
  21. package/common/types/options/auth/transport.deprecated.d.ts +63 -0
  22. package/{src/common → common}/types/options/index.d.ts +1 -1
  23. package/common/types/options/redis.options.d.ts +190 -0
  24. package/{src/common → common}/types/options/server-info.options.d.ts +4 -0
  25. package/{src/common → common}/types/options/transport.options.d.ts +74 -5
  26. package/{src/common → common}/utils/decide-request-intent.utils.d.ts +6 -7
  27. package/common/utils/global-config.utils.d.ts +36 -0
  28. package/{src/common → common}/utils/index.d.ts +1 -0
  29. package/{src/completion → completion}/flows/complete.flow.d.ts +6 -8
  30. package/{src/errors → errors}/index.d.ts +1 -1
  31. package/{src/errors → errors}/mcp.error.d.ts +9 -0
  32. package/esm/index.mjs +22664 -0
  33. package/esm/mcp-apps/index.mjs +723 -0
  34. package/esm/package.json +81 -0
  35. package/{src/front-mcp → front-mcp}/front-mcp.providers.d.ts +246 -38
  36. package/front-mcp/index.d.ts +2 -0
  37. package/{src/index.d.ts → index.d.ts} +1 -1
  38. package/index.js +22957 -0
  39. package/logger/logger.tokens.d.ts +1 -0
  40. package/{src/logging → logging}/flows/set-level.flow.d.ts +6 -8
  41. package/mcp-apps/index.js +799 -0
  42. package/package.json +37 -17
  43. package/{src/prompt → prompt}/flows/get-prompt.flow.d.ts +14 -8
  44. package/{src/prompt → prompt}/flows/prompts-list.flow.d.ts +8 -7
  45. package/{src/resource → resource}/flows/read-resource.flow.d.ts +8 -9
  46. package/{src/resource → resource}/flows/resource-templates-list.flow.d.ts +8 -7
  47. package/{src/resource → resource}/flows/resources-list.flow.d.ts +8 -7
  48. package/{src/resource → resource}/flows/subscribe-resource.flow.d.ts +6 -8
  49. package/{src/resource → resource}/flows/unsubscribe-resource.flow.d.ts +6 -8
  50. package/store/adapters/store.vercel-kv.adapter.d.ts +86 -0
  51. package/{src/store → store}/index.d.ts +2 -0
  52. package/store/store.factory.d.ts +86 -0
  53. package/{src/tool → tool}/flows/call-tool.flow.d.ts +18 -9
  54. package/{src/tool → tool}/flows/tools-list.flow.d.ts +9 -8
  55. package/{src/tool → tool}/ui/index.d.ts +4 -4
  56. package/{src/tool → tool}/ui/platform-adapters.d.ts +2 -2
  57. package/{src/tool → tool}/ui/template-helpers.d.ts +5 -7
  58. package/{src/tool → tool}/ui/ui-resource.handler.d.ts +1 -1
  59. package/{src/transport → transport}/mcp-handlers/complete-request.handler.d.ts +4 -15
  60. package/{src/transport → transport}/mcp-handlers/get-prompt-request.handler.d.ts +5 -15
  61. package/{src/transport → transport}/mcp-handlers/index.d.ts +67 -195
  62. package/{src/transport → transport}/mcp-handlers/list-prompts-request.handler.d.ts +5 -15
  63. package/{src/transport → transport}/mcp-handlers/list-resource-templates-request.handler.d.ts +5 -15
  64. package/{src/transport → transport}/mcp-handlers/list-resources-request.handler.d.ts +5 -15
  65. package/{src/transport → transport}/mcp-handlers/list-tools-request.handler.d.ts +5 -15
  66. package/{src/transport → transport}/mcp-handlers/logging-set-level-request.handler.d.ts +3 -14
  67. package/{src/transport → transport}/mcp-handlers/read-resource-request.handler.d.ts +4 -15
  68. package/{src/transport → transport}/mcp-handlers/subscribe-request.handler.d.ts +3 -14
  69. package/{src/transport → transport}/mcp-handlers/unsubscribe-request.handler.d.ts +3 -14
  70. package/{src/transport → transport}/transport.registry.d.ts +5 -1
  71. package/README.md +0 -460
  72. package/src/adapter/adapter.instance.js +0 -70
  73. package/src/adapter/adapter.instance.js.map +0 -1
  74. package/src/adapter/adapter.regsitry.js +0 -54
  75. package/src/adapter/adapter.regsitry.js.map +0 -1
  76. package/src/adapter/adapter.utils.js +0 -83
  77. package/src/adapter/adapter.utils.js.map +0 -1
  78. package/src/app/app.registry.js +0 -66
  79. package/src/app/app.registry.js.map +0 -1
  80. package/src/app/app.utils.js +0 -58
  81. package/src/app/app.utils.js.map +0 -1
  82. package/src/app/instances/app.local.instance.js +0 -67
  83. package/src/app/instances/app.local.instance.js.map +0 -1
  84. package/src/app/instances/app.remote.instance.js +0 -36
  85. package/src/app/instances/app.remote.instance.js.map +0 -1
  86. package/src/app/instances/index.js +0 -6
  87. package/src/app/instances/index.js.map +0 -1
  88. package/src/auth/auth.registry.js +0 -219
  89. package/src/auth/auth.registry.js.map +0 -1
  90. package/src/auth/auth.utils.js +0 -84
  91. package/src/auth/auth.utils.js.map +0 -1
  92. package/src/auth/authorization/authorization.class.js +0 -217
  93. package/src/auth/authorization/authorization.class.js.map +0 -1
  94. package/src/auth/authorization/authorization.types.js +0 -79
  95. package/src/auth/authorization/authorization.types.js.map +0 -1
  96. package/src/auth/authorization/index.js +0 -19
  97. package/src/auth/authorization/index.js.map +0 -1
  98. package/src/auth/authorization/orchestrated.authorization.js +0 -306
  99. package/src/auth/authorization/orchestrated.authorization.js.map +0 -1
  100. package/src/auth/authorization/public.authorization.js +0 -132
  101. package/src/auth/authorization/public.authorization.js.map +0 -1
  102. package/src/auth/authorization/transparent.authorization.js +0 -147
  103. package/src/auth/authorization/transparent.authorization.js.map +0 -1
  104. package/src/auth/consent/consent.types.js +0 -119
  105. package/src/auth/consent/consent.types.js.map +0 -1
  106. package/src/auth/consent/index.js +0 -13
  107. package/src/auth/consent/index.js.map +0 -1
  108. package/src/auth/detection/auth-provider-detection.js +0 -230
  109. package/src/auth/detection/auth-provider-detection.js.map +0 -1
  110. package/src/auth/detection/index.js +0 -15
  111. package/src/auth/detection/index.js.map +0 -1
  112. package/src/auth/flows/auth.verify.flow.js +0 -379
  113. package/src/auth/flows/auth.verify.flow.js.map +0 -1
  114. package/src/auth/flows/oauth.authorize.flow.js +0 -822
  115. package/src/auth/flows/oauth.authorize.flow.js.map +0 -1
  116. package/src/auth/flows/oauth.callback.flow.js +0 -357
  117. package/src/auth/flows/oauth.callback.flow.js.map +0 -1
  118. package/src/auth/flows/oauth.register.flow.js +0 -201
  119. package/src/auth/flows/oauth.register.flow.js.map +0 -1
  120. package/src/auth/flows/oauth.token.flow.js +0 -319
  121. package/src/auth/flows/oauth.token.flow.js.map +0 -1
  122. package/src/auth/flows/session.verify.flow.js +0 -304
  123. package/src/auth/flows/session.verify.flow.js.map +0 -1
  124. package/src/auth/flows/well-known.jwks.flow.js +0 -89
  125. package/src/auth/flows/well-known.jwks.flow.js.map +0 -1
  126. package/src/auth/flows/well-known.oauth-authorization-server.flow.js +0 -122
  127. package/src/auth/flows/well-known.oauth-authorization-server.flow.js.map +0 -1
  128. package/src/auth/flows/well-known.prm.flow.js +0 -106
  129. package/src/auth/flows/well-known.prm.flow.js.map +0 -1
  130. package/src/auth/instances/instance.local-primary-auth.js +0 -308
  131. package/src/auth/instances/instance.local-primary-auth.js.map +0 -1
  132. package/src/auth/instances/instance.remote-primary-auth.js +0 -49
  133. package/src/auth/instances/instance.remote-primary-auth.js.map +0 -1
  134. package/src/auth/jwks/dev-key-persistence.js +0 -219
  135. package/src/auth/jwks/dev-key-persistence.js.map +0 -1
  136. package/src/auth/jwks/index.js +0 -7
  137. package/src/auth/jwks/index.js.map +0 -1
  138. package/src/auth/jwks/jwks.service.js +0 -303
  139. package/src/auth/jwks/jwks.service.js.map +0 -1
  140. package/src/auth/jwks/jwks.types.js +0 -3
  141. package/src/auth/jwks/jwks.types.js.map +0 -1
  142. package/src/auth/jwks/jwks.utils.js +0 -32
  143. package/src/auth/jwks/jwks.utils.js.map +0 -1
  144. package/src/auth/machine-id.js +0 -32
  145. package/src/auth/machine-id.js.map +0 -1
  146. package/src/auth/oauth/flows/oauth.authorize.flow.js +0 -33
  147. package/src/auth/oauth/flows/oauth.authorize.flow.js.map +0 -1
  148. package/src/auth/oauth/flows/oauth.device-authorization.flow.js +0 -48
  149. package/src/auth/oauth/flows/oauth.device-authorization.flow.js.map +0 -1
  150. package/src/auth/oauth/flows/oauth.introspect.flow.js +0 -28
  151. package/src/auth/oauth/flows/oauth.introspect.flow.js.map +0 -1
  152. package/src/auth/oauth/flows/oauth.par.flow.js +0 -29
  153. package/src/auth/oauth/flows/oauth.par.flow.js.map +0 -1
  154. package/src/auth/oauth/flows/oauth.revoke.flow.js +0 -27
  155. package/src/auth/oauth/flows/oauth.revoke.flow.js.map +0 -1
  156. package/src/auth/oauth/flows/oauth.token.flow.js +0 -59
  157. package/src/auth/oauth/flows/oauth.token.flow.js.map +0 -1
  158. package/src/auth/oauth/flows/oauth.userinfo.flow.js +0 -24
  159. package/src/auth/oauth/flows/oauth.userinfo.flow.js.map +0 -1
  160. package/src/auth/oauth/flows/oidc.logout.flow.js +0 -20
  161. package/src/auth/oauth/flows/oidc.logout.flow.js.map +0 -1
  162. package/src/auth/session/authorization-vault.js +0 -817
  163. package/src/auth/session/authorization-vault.js.map +0 -1
  164. package/src/auth/session/authorization.store.js +0 -323
  165. package/src/auth/session/authorization.store.js.map +0 -1
  166. package/src/auth/session/encrypted-authorization-vault.js +0 -493
  167. package/src/auth/session/encrypted-authorization-vault.js.map +0 -1
  168. package/src/auth/session/index.js +0 -16
  169. package/src/auth/session/index.js.map +0 -1
  170. package/src/auth/session/record/session.base.js +0 -125
  171. package/src/auth/session/record/session.base.js.map +0 -1
  172. package/src/auth/session/record/session.stateful.js +0 -55
  173. package/src/auth/session/record/session.stateful.js.map +0 -1
  174. package/src/auth/session/record/session.stateless.js +0 -32
  175. package/src/auth/session/record/session.stateless.js.map +0 -1
  176. package/src/auth/session/record/session.transparent.js +0 -22
  177. package/src/auth/session/record/session.transparent.js.map +0 -1
  178. package/src/auth/session/redis-session.store.js +0 -204
  179. package/src/auth/session/redis-session.store.js.map +0 -1
  180. package/src/auth/session/session.crypto.js +0 -47
  181. package/src/auth/session/session.crypto.js.map +0 -1
  182. package/src/auth/session/session.schema.js +0 -13
  183. package/src/auth/session/session.schema.js.map +0 -1
  184. package/src/auth/session/session.service.js +0 -105
  185. package/src/auth/session/session.service.js.map +0 -1
  186. package/src/auth/session/session.transport.js +0 -20
  187. package/src/auth/session/session.transport.js.map +0 -1
  188. package/src/auth/session/session.types.js +0 -4
  189. package/src/auth/session/session.types.js.map +0 -1
  190. package/src/auth/session/token.refresh.js +0 -63
  191. package/src/auth/session/token.refresh.js.map +0 -1
  192. package/src/auth/session/token.store.js +0 -53
  193. package/src/auth/session/token.store.js.map +0 -1
  194. package/src/auth/session/token.vault.js +0 -54
  195. package/src/auth/session/token.vault.js.map +0 -1
  196. package/src/auth/session/transport-session.manager.js +0 -298
  197. package/src/auth/session/transport-session.manager.js.map +0 -1
  198. package/src/auth/session/transport-session.types.js +0 -111
  199. package/src/auth/session/transport-session.types.js.map +0 -1
  200. package/src/auth/session/utils/auth-token.utils.js +0 -57
  201. package/src/auth/session/utils/auth-token.utils.js.map +0 -1
  202. package/src/auth/session/utils/session-id.utils.js +0 -217
  203. package/src/auth/session/utils/session-id.utils.js.map +0 -1
  204. package/src/auth/session/utils/tiny-ttl-cache.js +0 -26
  205. package/src/auth/session/utils/tiny-ttl-cache.js.map +0 -1
  206. package/src/auth/session/vault-encryption.js +0 -263
  207. package/src/auth/session/vault-encryption.js.map +0 -1
  208. package/src/auth/ui/base-layout.js +0 -279
  209. package/src/auth/ui/base-layout.js.map +0 -1
  210. package/src/auth/ui/index.js +0 -34
  211. package/src/auth/ui/index.js.map +0 -1
  212. package/src/auth/ui/templates.js +0 -426
  213. package/src/auth/ui/templates.js.map +0 -1
  214. package/src/auth/utils/audience.validator.js +0 -196
  215. package/src/auth/utils/audience.validator.js.map +0 -1
  216. package/src/auth/utils/index.js +0 -7
  217. package/src/auth/utils/index.js.map +0 -1
  218. package/src/auth/utils/www-authenticate.utils.js +0 -183
  219. package/src/auth/utils/www-authenticate.utils.js.map +0 -1
  220. package/src/common/common.schema.js +0 -35
  221. package/src/common/common.schema.js.map +0 -1
  222. package/src/common/constants.js +0 -13
  223. package/src/common/constants.js.map +0 -1
  224. package/src/common/decorators/adapter.decorator.js +0 -20
  225. package/src/common/decorators/adapter.decorator.js.map +0 -1
  226. package/src/common/decorators/app.decorator.js +0 -44
  227. package/src/common/decorators/app.decorator.js.map +0 -1
  228. package/src/common/decorators/auth-provider.decorator.js +0 -20
  229. package/src/common/decorators/auth-provider.decorator.js.map +0 -1
  230. package/src/common/decorators/decorator-utils.js +0 -195
  231. package/src/common/decorators/decorator-utils.js.map +0 -1
  232. package/src/common/decorators/flow.decorator.js +0 -19
  233. package/src/common/decorators/flow.decorator.js.map +0 -1
  234. package/src/common/decorators/front-mcp.decorator.js +0 -67
  235. package/src/common/decorators/front-mcp.decorator.js.map +0 -1
  236. package/src/common/decorators/hook.decorator.js +0 -178
  237. package/src/common/decorators/hook.decorator.js.map +0 -1
  238. package/src/common/decorators/index.js +0 -16
  239. package/src/common/decorators/index.js.map +0 -1
  240. package/src/common/decorators/logger.decorator.js +0 -20
  241. package/src/common/decorators/logger.decorator.js.map +0 -1
  242. package/src/common/decorators/plugin.decorator.js +0 -39
  243. package/src/common/decorators/plugin.decorator.js.map +0 -1
  244. package/src/common/decorators/prompt.decorator.js +0 -38
  245. package/src/common/decorators/prompt.decorator.js.map +0 -1
  246. package/src/common/decorators/provider.decorator.js +0 -20
  247. package/src/common/decorators/provider.decorator.js.map +0 -1
  248. package/src/common/decorators/resource.decorator.js +0 -94
  249. package/src/common/decorators/resource.decorator.js.map +0 -1
  250. package/src/common/decorators/tool.decorator.js +0 -45
  251. package/src/common/decorators/tool.decorator.js.map +0 -1
  252. package/src/common/dynamic/dynamic.adapter.js +0 -28
  253. package/src/common/dynamic/dynamic.adapter.js.map +0 -1
  254. package/src/common/dynamic/dynamic.plugin.js +0 -42
  255. package/src/common/dynamic/dynamic.plugin.js.map +0 -1
  256. package/src/common/dynamic/dynamic.utils.js +0 -27
  257. package/src/common/dynamic/dynamic.utils.js.map +0 -1
  258. package/src/common/dynamic/index.js +0 -6
  259. package/src/common/dynamic/index.js.map +0 -1
  260. package/src/common/entries/adapter.entry.js +0 -8
  261. package/src/common/entries/adapter.entry.js.map +0 -1
  262. package/src/common/entries/app.entry.js +0 -9
  263. package/src/common/entries/app.entry.js.map +0 -1
  264. package/src/common/entries/auth-provider.entry.js +0 -8
  265. package/src/common/entries/auth-provider.entry.js.map +0 -1
  266. package/src/common/entries/base.entry.js +0 -17
  267. package/src/common/entries/base.entry.js.map +0 -1
  268. package/src/common/entries/flow.entry.js +0 -21
  269. package/src/common/entries/flow.entry.js.map +0 -1
  270. package/src/common/entries/hook.entry.js +0 -20
  271. package/src/common/entries/hook.entry.js.map +0 -1
  272. package/src/common/entries/index.js +0 -17
  273. package/src/common/entries/index.js.map +0 -1
  274. package/src/common/entries/logger.entry.js +0 -8
  275. package/src/common/entries/logger.entry.js.map +0 -1
  276. package/src/common/entries/plugin.entry.js +0 -8
  277. package/src/common/entries/plugin.entry.js.map +0 -1
  278. package/src/common/entries/prompt.entry.js +0 -18
  279. package/src/common/entries/prompt.entry.js.map +0 -1
  280. package/src/common/entries/provider.entry.js +0 -8
  281. package/src/common/entries/provider.entry.js.map +0 -1
  282. package/src/common/entries/resource.entry.js +0 -35
  283. package/src/common/entries/resource.entry.js.map +0 -1
  284. package/src/common/entries/scope.entry.js +0 -14
  285. package/src/common/entries/scope.entry.js.map +0 -1
  286. package/src/common/entries/tool.entry.js +0 -31
  287. package/src/common/entries/tool.entry.js.map +0 -1
  288. package/src/common/flow/flow.utils.js +0 -96
  289. package/src/common/flow/flow.utils.js.map +0 -1
  290. package/src/common/index.js +0 -20
  291. package/src/common/index.js.map +0 -1
  292. package/src/common/interfaces/adapter.interface.js +0 -3
  293. package/src/common/interfaces/adapter.interface.js.map +0 -1
  294. package/src/common/interfaces/app.interface.js +0 -3
  295. package/src/common/interfaces/app.interface.js.map +0 -1
  296. package/src/common/interfaces/auth-hook.interface.js +0 -135
  297. package/src/common/interfaces/auth-hook.interface.js.map +0 -1
  298. package/src/common/interfaces/auth-provider.interface.js +0 -18
  299. package/src/common/interfaces/auth-provider.interface.js.map +0 -1
  300. package/src/common/interfaces/base.interface.js +0 -3
  301. package/src/common/interfaces/base.interface.js.map +0 -1
  302. package/src/common/interfaces/execution-context.interface.js +0 -166
  303. package/src/common/interfaces/execution-context.interface.js.map +0 -1
  304. package/src/common/interfaces/flow.interface.js +0 -95
  305. package/src/common/interfaces/flow.interface.js.map +0 -1
  306. package/src/common/interfaces/front-mcp.interface.js +0 -3
  307. package/src/common/interfaces/front-mcp.interface.js.map +0 -1
  308. package/src/common/interfaces/hook.interface.js +0 -3
  309. package/src/common/interfaces/hook.interface.js.map +0 -1
  310. package/src/common/interfaces/index.js +0 -21
  311. package/src/common/interfaces/index.js.map +0 -1
  312. package/src/common/interfaces/internal/flow.utils.js +0 -83
  313. package/src/common/interfaces/internal/flow.utils.js.map +0 -1
  314. package/src/common/interfaces/internal/index.js +0 -7
  315. package/src/common/interfaces/internal/index.js.map +0 -1
  316. package/src/common/interfaces/internal/primary-auth-provider.interface.js +0 -81
  317. package/src/common/interfaces/internal/primary-auth-provider.interface.js.map +0 -1
  318. package/src/common/interfaces/internal/registry.interface.js +0 -3
  319. package/src/common/interfaces/internal/registry.interface.js.map +0 -1
  320. package/src/common/interfaces/logger.interface.js +0 -10
  321. package/src/common/interfaces/logger.interface.js.map +0 -1
  322. package/src/common/interfaces/plugin.interface.js +0 -3
  323. package/src/common/interfaces/plugin.interface.js.map +0 -1
  324. package/src/common/interfaces/prompt.interface.js +0 -81
  325. package/src/common/interfaces/prompt.interface.js.map +0 -1
  326. package/src/common/interfaces/provider.interface.js +0 -18
  327. package/src/common/interfaces/provider.interface.js.map +0 -1
  328. package/src/common/interfaces/resource.interface.js +0 -56
  329. package/src/common/interfaces/resource.interface.js.map +0 -1
  330. package/src/common/interfaces/scope.interface.js +0 -3
  331. package/src/common/interfaces/scope.interface.js.map +0 -1
  332. package/src/common/interfaces/server.interface.js +0 -18
  333. package/src/common/interfaces/server.interface.js.map +0 -1
  334. package/src/common/interfaces/session-hook.interface.js +0 -140
  335. package/src/common/interfaces/session-hook.interface.js.map +0 -1
  336. package/src/common/interfaces/tool-hook.interface.js +0 -92
  337. package/src/common/interfaces/tool-hook.interface.js.map +0 -1
  338. package/src/common/interfaces/tool.interface.js +0 -117
  339. package/src/common/interfaces/tool.interface.js.map +0 -1
  340. package/src/common/metadata/adapter.metadata.js +0 -10
  341. package/src/common/metadata/adapter.metadata.js.map +0 -1
  342. package/src/common/metadata/app.metadata.js +0 -30
  343. package/src/common/metadata/app.metadata.js.map +0 -1
  344. package/src/common/metadata/auth-provider.metadata.js +0 -19
  345. package/src/common/metadata/auth-provider.metadata.js.map +0 -1
  346. package/src/common/metadata/flow.metadata.js +0 -15
  347. package/src/common/metadata/flow.metadata.js.map +0 -1
  348. package/src/common/metadata/front-mcp.metadata.js +0 -29
  349. package/src/common/metadata/front-mcp.metadata.js.map +0 -1
  350. package/src/common/metadata/hook.metadata.js +0 -3
  351. package/src/common/metadata/hook.metadata.js.map +0 -1
  352. package/src/common/metadata/index.js +0 -17
  353. package/src/common/metadata/index.js.map +0 -1
  354. package/src/common/metadata/logger.metadata.js +0 -10
  355. package/src/common/metadata/logger.metadata.js.map +0 -1
  356. package/src/common/metadata/plugin.metadata.js +0 -18
  357. package/src/common/metadata/plugin.metadata.js.map +0 -1
  358. package/src/common/metadata/prompt.metadata.js +0 -27
  359. package/src/common/metadata/prompt.metadata.js.map +0 -1
  360. package/src/common/metadata/provider.metadata.js +0 -36
  361. package/src/common/metadata/provider.metadata.js.map +0 -1
  362. package/src/common/metadata/resource.metadata.js +0 -31
  363. package/src/common/metadata/resource.metadata.js.map +0 -1
  364. package/src/common/metadata/tool-ui.metadata.js +0 -12
  365. package/src/common/metadata/tool-ui.metadata.js.map +0 -1
  366. package/src/common/metadata/tool.metadata.js +0 -55
  367. package/src/common/metadata/tool.metadata.js.map +0 -1
  368. package/src/common/migrate/auth-transport.migrate.js +0 -140
  369. package/src/common/migrate/auth-transport.migrate.js.map +0 -1
  370. package/src/common/migrate/index.js +0 -6
  371. package/src/common/migrate/index.js.map +0 -1
  372. package/src/common/providers/base-config.provider.js +0 -128
  373. package/src/common/providers/base-config.provider.js.map +0 -1
  374. package/src/common/records/adapter.record.js +0 -11
  375. package/src/common/records/adapter.record.js.map +0 -1
  376. package/src/common/records/app.record.js +0 -9
  377. package/src/common/records/app.record.js.map +0 -1
  378. package/src/common/records/auth-provider.record.js +0 -12
  379. package/src/common/records/auth-provider.record.js.map +0 -1
  380. package/src/common/records/flow.record.js +0 -8
  381. package/src/common/records/flow.record.js.map +0 -1
  382. package/src/common/records/hook.record.js +0 -8
  383. package/src/common/records/hook.record.js.map +0 -1
  384. package/src/common/records/index.js +0 -16
  385. package/src/common/records/index.js.map +0 -1
  386. package/src/common/records/logger.record.js +0 -8
  387. package/src/common/records/logger.record.js.map +0 -1
  388. package/src/common/records/plugin.record.js +0 -11
  389. package/src/common/records/plugin.record.js.map +0 -1
  390. package/src/common/records/prompt.record.js +0 -9
  391. package/src/common/records/prompt.record.js.map +0 -1
  392. package/src/common/records/provider.record.js +0 -14
  393. package/src/common/records/provider.record.js.map +0 -1
  394. package/src/common/records/resource.record.js +0 -20
  395. package/src/common/records/resource.record.js.map +0 -1
  396. package/src/common/records/scope.record.js +0 -9
  397. package/src/common/records/scope.record.js.map +0 -1
  398. package/src/common/records/tool.record.js +0 -9
  399. package/src/common/records/tool.record.js.map +0 -1
  400. package/src/common/schemas/annotated-class.schema.js +0 -109
  401. package/src/common/schemas/annotated-class.schema.js.map +0 -1
  402. package/src/common/schemas/http-input.schema.js +0 -13
  403. package/src/common/schemas/http-input.schema.js.map +0 -1
  404. package/src/common/schemas/http-output.schema.js +0 -321
  405. package/src/common/schemas/http-output.schema.js.map +0 -1
  406. package/src/common/schemas/index.js +0 -8
  407. package/src/common/schemas/index.js.map +0 -1
  408. package/src/common/schemas/session-header.schema.js +0 -42
  409. package/src/common/schemas/session-header.schema.js.map +0 -1
  410. package/src/common/tokens/adapter.tokens.js +0 -11
  411. package/src/common/tokens/adapter.tokens.js.map +0 -1
  412. package/src/common/tokens/app.tokens.js +0 -30
  413. package/src/common/tokens/app.tokens.js.map +0 -1
  414. package/src/common/tokens/auth-provider.tokens.js +0 -12
  415. package/src/common/tokens/auth-provider.tokens.js.map +0 -1
  416. package/src/common/tokens/base.tokens.js +0 -9
  417. package/src/common/tokens/base.tokens.js.map +0 -1
  418. package/src/common/tokens/flow-hook.tokens.js +0 -9
  419. package/src/common/tokens/flow-hook.tokens.js.map +0 -1
  420. package/src/common/tokens/flow.tokens.js +0 -16
  421. package/src/common/tokens/flow.tokens.js.map +0 -1
  422. package/src/common/tokens/front-mcp.tokens.js +0 -24
  423. package/src/common/tokens/front-mcp.tokens.js.map +0 -1
  424. package/src/common/tokens/index.js +0 -17
  425. package/src/common/tokens/index.js.map +0 -1
  426. package/src/common/tokens/logger.tokens.js +0 -11
  427. package/src/common/tokens/logger.tokens.js.map +0 -1
  428. package/src/common/tokens/plugin.tokens.js +0 -18
  429. package/src/common/tokens/plugin.tokens.js.map +0 -1
  430. package/src/common/tokens/prompt.tokens.js +0 -14
  431. package/src/common/tokens/prompt.tokens.js.map +0 -1
  432. package/src/common/tokens/provider.tokens.js +0 -12
  433. package/src/common/tokens/provider.tokens.js.map +0 -1
  434. package/src/common/tokens/resource.tokens.js +0 -28
  435. package/src/common/tokens/resource.tokens.js.map +0 -1
  436. package/src/common/tokens/server.tokens.js +0 -11
  437. package/src/common/tokens/server.tokens.js.map +0 -1
  438. package/src/common/tokens/tool.tokens.js +0 -21
  439. package/src/common/tokens/tool.tokens.js.map +0 -1
  440. package/src/common/types/auth/index.js +0 -6
  441. package/src/common/types/auth/index.js.map +0 -1
  442. package/src/common/types/auth/jwt.types.js +0 -36
  443. package/src/common/types/auth/jwt.types.js.map +0 -1
  444. package/src/common/types/auth/session.types.js +0 -53
  445. package/src/common/types/auth/session.types.js.map +0 -1
  446. package/src/common/types/common.types.js +0 -3
  447. package/src/common/types/common.types.js.map +0 -1
  448. package/src/common/types/index.js +0 -7
  449. package/src/common/types/index.js.map +0 -1
  450. package/src/common/types/options/auth.options.d.ts +0 -1266
  451. package/src/common/types/options/auth.options.js +0 -560
  452. package/src/common/types/options/auth.options.js.map +0 -1
  453. package/src/common/types/options/http.options.js +0 -10
  454. package/src/common/types/options/http.options.js.map +0 -1
  455. package/src/common/types/options/index.js +0 -11
  456. package/src/common/types/options/index.js.map +0 -1
  457. package/src/common/types/options/logging.options.js +0 -33
  458. package/src/common/types/options/logging.options.js.map +0 -1
  459. package/src/common/types/options/redis.options.d.ts +0 -22
  460. package/src/common/types/options/redis.options.js +0 -45
  461. package/src/common/types/options/redis.options.js.map +0 -1
  462. package/src/common/types/options/server-info.options.js +0 -13
  463. package/src/common/types/options/server-info.options.js.map +0 -1
  464. package/src/common/types/options/session.options.js +0 -32
  465. package/src/common/types/options/session.options.js.map +0 -1
  466. package/src/common/types/options/transport.options.js +0 -121
  467. package/src/common/types/options/transport.options.js.map +0 -1
  468. package/src/common/utils/decide-request-intent.utils.js +0 -391
  469. package/src/common/utils/decide-request-intent.utils.js.map +0 -1
  470. package/src/common/utils/index.js +0 -6
  471. package/src/common/utils/index.js.map +0 -1
  472. package/src/common/utils/path.utils.js +0 -66
  473. package/src/common/utils/path.utils.js.map +0 -1
  474. package/src/completion/flows/complete.flow.js +0 -199
  475. package/src/completion/flows/complete.flow.js.map +0 -1
  476. package/src/context/frontmcp-context-storage.js +0 -183
  477. package/src/context/frontmcp-context-storage.js.map +0 -1
  478. package/src/context/frontmcp-context.js +0 -360
  479. package/src/context/frontmcp-context.js.map +0 -1
  480. package/src/context/frontmcp-context.provider.js +0 -61
  481. package/src/context/frontmcp-context.provider.js.map +0 -1
  482. package/src/context/index.js +0 -64
  483. package/src/context/index.js.map +0 -1
  484. package/src/context/request-context-storage.js +0 -183
  485. package/src/context/request-context-storage.js.map +0 -1
  486. package/src/context/request-context.js +0 -209
  487. package/src/context/request-context.js.map +0 -1
  488. package/src/context/request-context.provider.js +0 -51
  489. package/src/context/request-context.provider.js.map +0 -1
  490. package/src/context/session-key.provider.js +0 -65
  491. package/src/context/session-key.provider.js.map +0 -1
  492. package/src/context/trace-context.js +0 -142
  493. package/src/context/trace-context.js.map +0 -1
  494. package/src/errors/authorization-required.error.js +0 -274
  495. package/src/errors/authorization-required.error.js.map +0 -1
  496. package/src/errors/error-handler.js +0 -107
  497. package/src/errors/error-handler.js.map +0 -1
  498. package/src/errors/index.js +0 -44
  499. package/src/errors/index.js.map +0 -1
  500. package/src/errors/mcp.error.js +0 -398
  501. package/src/errors/mcp.error.js.map +0 -1
  502. package/src/exceptions/mcp-exceptions/session-missing.exception.js +0 -11
  503. package/src/exceptions/mcp-exceptions/session-missing.exception.js.map +0 -1
  504. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js +0 -15
  505. package/src/exceptions/mcp-exceptions/unsupported-client-version.exception.js.map +0 -1
  506. package/src/flows/flow.instance.js +0 -420
  507. package/src/flows/flow.instance.js.map +0 -1
  508. package/src/flows/flow.registry.js +0 -121
  509. package/src/flows/flow.registry.js.map +0 -1
  510. package/src/flows/flow.stages.js +0 -113
  511. package/src/flows/flow.stages.js.map +0 -1
  512. package/src/flows/flow.utils.js +0 -36
  513. package/src/flows/flow.utils.js.map +0 -1
  514. package/src/front-mcp/front-mcp.js +0 -63
  515. package/src/front-mcp/front-mcp.js.map +0 -1
  516. package/src/front-mcp/front-mcp.providers.js +0 -29
  517. package/src/front-mcp/front-mcp.providers.js.map +0 -1
  518. package/src/front-mcp/front-mcp.tokens.js +0 -5
  519. package/src/front-mcp/front-mcp.tokens.js.map +0 -1
  520. package/src/front-mcp/index.d.ts +0 -1
  521. package/src/front-mcp/index.js +0 -5
  522. package/src/front-mcp/index.js.map +0 -1
  523. package/src/front-mcp/serverless-handler.js +0 -61
  524. package/src/front-mcp/serverless-handler.js.map +0 -1
  525. package/src/hooks/hook.instance.js +0 -26
  526. package/src/hooks/hook.instance.js.map +0 -1
  527. package/src/hooks/hook.registry.js +0 -152
  528. package/src/hooks/hook.registry.js.map +0 -1
  529. package/src/hooks/hooks.utils.js +0 -34
  530. package/src/hooks/hooks.utils.js.map +0 -1
  531. package/src/index.js +0 -36
  532. package/src/index.js.map +0 -1
  533. package/src/logger/instances/instance.console-logger.js +0 -75
  534. package/src/logger/instances/instance.console-logger.js.map +0 -1
  535. package/src/logger/instances/instance.logger.js +0 -77
  536. package/src/logger/instances/instance.logger.js.map +0 -1
  537. package/src/logger/logger.registry.js +0 -96
  538. package/src/logger/logger.registry.js.map +0 -1
  539. package/src/logger/logger.tokens.js +0 -3
  540. package/src/logger/logger.tokens.js.map +0 -1
  541. package/src/logger/logger.types.js +0 -8
  542. package/src/logger/logger.types.js.map +0 -1
  543. package/src/logger/logger.utils.js +0 -42
  544. package/src/logger/logger.utils.js.map +0 -1
  545. package/src/logging/flows/set-level.flow.js +0 -108
  546. package/src/logging/flows/set-level.flow.js.map +0 -1
  547. package/src/mcp-apps/csp.js +0 -267
  548. package/src/mcp-apps/csp.js.map +0 -1
  549. package/src/mcp-apps/index.js +0 -91
  550. package/src/mcp-apps/index.js.map +0 -1
  551. package/src/mcp-apps/schemas.js +0 -345
  552. package/src/mcp-apps/schemas.js.map +0 -1
  553. package/src/mcp-apps/template.js +0 -419
  554. package/src/mcp-apps/template.js.map +0 -1
  555. package/src/mcp-apps/types.js +0 -59
  556. package/src/mcp-apps/types.js.map +0 -1
  557. package/src/notification/index.js +0 -13
  558. package/src/notification/index.js.map +0 -1
  559. package/src/notification/notification.service.js +0 -731
  560. package/src/notification/notification.service.js.map +0 -1
  561. package/src/plugin/plugin.registry.js +0 -152
  562. package/src/plugin/plugin.registry.js.map +0 -1
  563. package/src/plugin/plugin.utils.js +0 -88
  564. package/src/plugin/plugin.utils.js.map +0 -1
  565. package/src/prompt/flows/get-prompt.flow.js +0 -214
  566. package/src/prompt/flows/get-prompt.flow.js.map +0 -1
  567. package/src/prompt/flows/prompts-list.flow.js +0 -176
  568. package/src/prompt/flows/prompts-list.flow.js.map +0 -1
  569. package/src/prompt/index.js +0 -17
  570. package/src/prompt/index.js.map +0 -1
  571. package/src/prompt/prompt.events.js +0 -25
  572. package/src/prompt/prompt.events.js.map +0 -1
  573. package/src/prompt/prompt.instance.js +0 -120
  574. package/src/prompt/prompt.instance.js.map +0 -1
  575. package/src/prompt/prompt.registry.js +0 -380
  576. package/src/prompt/prompt.registry.js.map +0 -1
  577. package/src/prompt/prompt.types.js +0 -11
  578. package/src/prompt/prompt.types.js.map +0 -1
  579. package/src/prompt/prompt.utils.js +0 -136
  580. package/src/prompt/prompt.utils.js.map +0 -1
  581. package/src/provider/provider.registry.js +0 -868
  582. package/src/provider/provider.registry.js.map +0 -1
  583. package/src/provider/provider.types.js +0 -3
  584. package/src/provider/provider.types.js.map +0 -1
  585. package/src/provider/provider.utils.js +0 -103
  586. package/src/provider/provider.utils.js.map +0 -1
  587. package/src/regsitry/index.js +0 -5
  588. package/src/regsitry/index.js.map +0 -1
  589. package/src/regsitry/registry.base.js +0 -32
  590. package/src/regsitry/registry.base.js.map +0 -1
  591. package/src/resource/flows/read-resource.flow.js +0 -270
  592. package/src/resource/flows/read-resource.flow.js.map +0 -1
  593. package/src/resource/flows/resource-templates-list.flow.js +0 -191
  594. package/src/resource/flows/resource-templates-list.flow.js.map +0 -1
  595. package/src/resource/flows/resources-list.flow.js +0 -196
  596. package/src/resource/flows/resources-list.flow.js.map +0 -1
  597. package/src/resource/flows/subscribe-resource.flow.js +0 -123
  598. package/src/resource/flows/subscribe-resource.flow.js.map +0 -1
  599. package/src/resource/flows/unsubscribe-resource.flow.js +0 -107
  600. package/src/resource/flows/unsubscribe-resource.flow.js.map +0 -1
  601. package/src/resource/index.js +0 -20
  602. package/src/resource/index.js.map +0 -1
  603. package/src/resource/resource.events.js +0 -17
  604. package/src/resource/resource.events.js.map +0 -1
  605. package/src/resource/resource.instance.js +0 -163
  606. package/src/resource/resource.instance.js.map +0 -1
  607. package/src/resource/resource.registry.js +0 -468
  608. package/src/resource/resource.registry.js.map +0 -1
  609. package/src/resource/resource.types.js +0 -11
  610. package/src/resource/resource.types.js.map +0 -1
  611. package/src/resource/resource.utils.js +0 -151
  612. package/src/resource/resource.utils.js.map +0 -1
  613. package/src/scope/flows/http.request.flow.js +0 -474
  614. package/src/scope/flows/http.request.flow.js.map +0 -1
  615. package/src/scope/index.js +0 -6
  616. package/src/scope/index.js.map +0 -1
  617. package/src/scope/scope.instance.js +0 -263
  618. package/src/scope/scope.instance.js.map +0 -1
  619. package/src/scope/scope.registry.js +0 -94
  620. package/src/scope/scope.registry.js.map +0 -1
  621. package/src/scope/scope.utils.js +0 -61
  622. package/src/scope/scope.utils.js.map +0 -1
  623. package/src/server/adapters/base.host.adapter.js +0 -8
  624. package/src/server/adapters/base.host.adapter.js.map +0 -1
  625. package/src/server/adapters/express.host.adapter.js +0 -70
  626. package/src/server/adapters/express.host.adapter.js.map +0 -1
  627. package/src/server/server.instance.js +0 -54
  628. package/src/server/server.instance.js.map +0 -1
  629. package/src/server/server.types.js +0 -3
  630. package/src/server/server.types.js.map +0 -1
  631. package/src/server/server.validation.js +0 -192
  632. package/src/server/server.validation.js.map +0 -1
  633. package/src/store/adapters/store.base.adapter.js +0 -16
  634. package/src/store/adapters/store.base.adapter.js.map +0 -1
  635. package/src/store/adapters/store.memory.adapter.js +0 -89
  636. package/src/store/adapters/store.memory.adapter.js.map +0 -1
  637. package/src/store/adapters/store.redis.adapter.js +0 -104
  638. package/src/store/adapters/store.redis.adapter.js.map +0 -1
  639. package/src/store/index.js +0 -12
  640. package/src/store/index.js.map +0 -1
  641. package/src/store/store.helpers.js +0 -67
  642. package/src/store/store.helpers.js.map +0 -1
  643. package/src/store/store.registry.js +0 -37
  644. package/src/store/store.registry.js.map +0 -1
  645. package/src/store/store.tokens.js +0 -7
  646. package/src/store/store.tokens.js.map +0 -1
  647. package/src/store/store.types.js +0 -11
  648. package/src/store/store.types.js.map +0 -1
  649. package/src/store/store.utils.js +0 -18
  650. package/src/store/store.utils.js.map +0 -1
  651. package/src/tool/flows/call-tool.flow.js +0 -616
  652. package/src/tool/flows/call-tool.flow.js.map +0 -1
  653. package/src/tool/flows/tools-list.flow.js +0 -328
  654. package/src/tool/flows/tools-list.flow.js.map +0 -1
  655. package/src/tool/tool.events.js +0 -16
  656. package/src/tool/tool.events.js.map +0 -1
  657. package/src/tool/tool.instance.js +0 -117
  658. package/src/tool/tool.instance.js.map +0 -1
  659. package/src/tool/tool.registry.js +0 -353
  660. package/src/tool/tool.registry.js.map +0 -1
  661. package/src/tool/tool.types.js +0 -10
  662. package/src/tool/tool.types.js.map +0 -1
  663. package/src/tool/tool.utils.js +0 -366
  664. package/src/tool/tool.utils.js.map +0 -1
  665. package/src/tool/ui/index.js +0 -63
  666. package/src/tool/ui/index.js.map +0 -1
  667. package/src/tool/ui/platform-adapters.js +0 -18
  668. package/src/tool/ui/platform-adapters.js.map +0 -1
  669. package/src/tool/ui/template-helpers.js +0 -112
  670. package/src/tool/ui/template-helpers.js.map +0 -1
  671. package/src/tool/ui/ui-resource-template.js +0 -64
  672. package/src/tool/ui/ui-resource-template.js.map +0 -1
  673. package/src/tool/ui/ui-resource.handler.js +0 -129
  674. package/src/tool/ui/ui-resource.handler.js.map +0 -1
  675. package/src/transport/adapters/transport.local.adapter.js +0 -148
  676. package/src/transport/adapters/transport.local.adapter.js.map +0 -1
  677. package/src/transport/adapters/transport.sse.adapter.js +0 -65
  678. package/src/transport/adapters/transport.sse.adapter.js.map +0 -1
  679. package/src/transport/adapters/transport.streamable-http.adapter.js +0 -112
  680. package/src/transport/adapters/transport.streamable-http.adapter.js.map +0 -1
  681. package/src/transport/flows/handle.sse.flow.js +0 -197
  682. package/src/transport/flows/handle.sse.flow.js.map +0 -1
  683. package/src/transport/flows/handle.stateless-http.flow.js +0 -102
  684. package/src/transport/flows/handle.stateless-http.flow.js.map +0 -1
  685. package/src/transport/flows/handle.streamable-http.flow.js +0 -315
  686. package/src/transport/flows/handle.streamable-http.flow.js.map +0 -1
  687. package/src/transport/legacy/legacy.sse.tranporter.js +0 -185
  688. package/src/transport/legacy/legacy.sse.tranporter.js.map +0 -1
  689. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js +0 -14
  690. package/src/transport/mcp-handlers/Initialized-notification.hanlder.js.map +0 -1
  691. package/src/transport/mcp-handlers/call-tool-request.handler.js +0 -46
  692. package/src/transport/mcp-handlers/call-tool-request.handler.js.map +0 -1
  693. package/src/transport/mcp-handlers/complete-request.handler.js +0 -11
  694. package/src/transport/mcp-handlers/complete-request.handler.js.map +0 -1
  695. package/src/transport/mcp-handlers/get-prompt-request.handler.js +0 -11
  696. package/src/transport/mcp-handlers/get-prompt-request.handler.js.map +0 -1
  697. package/src/transport/mcp-handlers/index.js +0 -57
  698. package/src/transport/mcp-handlers/index.js.map +0 -1
  699. package/src/transport/mcp-handlers/initialize-request.handler.js +0 -109
  700. package/src/transport/mcp-handlers/initialize-request.handler.js.map +0 -1
  701. package/src/transport/mcp-handlers/list-prompts-request.handler.js +0 -11
  702. package/src/transport/mcp-handlers/list-prompts-request.handler.js.map +0 -1
  703. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js +0 -12
  704. package/src/transport/mcp-handlers/list-resource-templates-request.handler.js.map +0 -1
  705. package/src/transport/mcp-handlers/list-resources-request.handler.js +0 -12
  706. package/src/transport/mcp-handlers/list-resources-request.handler.js.map +0 -1
  707. package/src/transport/mcp-handlers/list-tools-request.handler.js +0 -11
  708. package/src/transport/mcp-handlers/list-tools-request.handler.js.map +0 -1
  709. package/src/transport/mcp-handlers/logging-set-level-request.handler.js +0 -34
  710. package/src/transport/mcp-handlers/logging-set-level-request.handler.js.map +0 -1
  711. package/src/transport/mcp-handlers/mcp-handlers.types.js +0 -3
  712. package/src/transport/mcp-handlers/mcp-handlers.types.js.map +0 -1
  713. package/src/transport/mcp-handlers/read-resource-request.handler.js +0 -12
  714. package/src/transport/mcp-handlers/read-resource-request.handler.js.map +0 -1
  715. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js +0 -26
  716. package/src/transport/mcp-handlers/roots-list-changed-notification.handler.js.map +0 -1
  717. package/src/transport/mcp-handlers/subscribe-request.handler.js +0 -34
  718. package/src/transport/mcp-handlers/subscribe-request.handler.js.map +0 -1
  719. package/src/transport/mcp-handlers/unsubscribe-request.handler.js +0 -34
  720. package/src/transport/mcp-handlers/unsubscribe-request.handler.js.map +0 -1
  721. package/src/transport/transport.error.js +0 -25
  722. package/src/transport/transport.error.js.map +0 -1
  723. package/src/transport/transport.event-store.js +0 -36
  724. package/src/transport/transport.event-store.js.map +0 -1
  725. package/src/transport/transport.local.js +0 -71
  726. package/src/transport/transport.local.js.map +0 -1
  727. package/src/transport/transport.registry.js +0 -523
  728. package/src/transport/transport.registry.js.map +0 -1
  729. package/src/transport/transport.remote.js +0 -31
  730. package/src/transport/transport.remote.js.map +0 -1
  731. package/src/transport/transport.types.js +0 -3
  732. package/src/transport/transport.types.js.map +0 -1
  733. package/src/types/drinen-hooks.types.js +0 -3
  734. package/src/types/drinen-hooks.types.js.map +0 -1
  735. package/src/types/invoke.type.js +0 -34
  736. package/src/types/invoke.type.js.map +0 -1
  737. package/src/types/token.types.js +0 -3
  738. package/src/types/token.types.js.map +0 -1
  739. package/src/utils/content.utils.js +0 -194
  740. package/src/utils/content.utils.js.map +0 -1
  741. package/src/utils/index.js +0 -55
  742. package/src/utils/index.js.map +0 -1
  743. package/src/utils/lineage.utils.js +0 -82
  744. package/src/utils/lineage.utils.js.map +0 -1
  745. package/src/utils/metadata.utils.js +0 -26
  746. package/src/utils/metadata.utils.js.map +0 -1
  747. package/src/utils/naming.utils.js +0 -136
  748. package/src/utils/naming.utils.js.map +0 -1
  749. package/src/utils/server.utils.js +0 -59
  750. package/src/utils/server.utils.js.map +0 -1
  751. package/src/utils/string.utils.js +0 -10
  752. package/src/utils/string.utils.js.map +0 -1
  753. package/src/utils/token.utils.js +0 -65
  754. package/src/utils/token.utils.js.map +0 -1
  755. package/src/utils/types.utils.js +0 -3
  756. package/src/utils/types.utils.js.map +0 -1
  757. package/src/utils/uri-template.utils.js +0 -113
  758. package/src/utils/uri-template.utils.js.map +0 -1
  759. package/src/utils/uri-validation.utils.js +0 -76
  760. package/src/utils/uri-validation.utils.js.map +0 -1
  761. package/{src/adapter → adapter}/adapter.instance.d.ts +0 -0
  762. package/{src/adapter → adapter}/adapter.regsitry.d.ts +0 -0
  763. package/{src/adapter → adapter}/adapter.utils.d.ts +0 -0
  764. package/{src/app → app}/app.registry.d.ts +0 -0
  765. package/{src/app → app}/app.utils.d.ts +0 -0
  766. package/{src/app → app}/instances/app.local.instance.d.ts +0 -0
  767. package/{src/app → app}/instances/app.remote.instance.d.ts +0 -0
  768. package/{src/app → app}/instances/index.d.ts +0 -0
  769. package/{src/auth → auth}/auth.registry.d.ts +0 -0
  770. package/{src/auth → auth}/auth.utils.d.ts +0 -0
  771. package/{src/auth → auth}/authorization/authorization.class.d.ts +0 -0
  772. package/{src/auth → auth}/authorization/authorization.types.d.ts +0 -0
  773. package/{src/auth → auth}/authorization/index.d.ts +0 -0
  774. package/{src/auth → auth}/authorization/orchestrated.authorization.d.ts +0 -0
  775. package/{src/auth → auth}/authorization/public.authorization.d.ts +0 -0
  776. package/{src/auth → auth}/authorization/transparent.authorization.d.ts +0 -0
  777. package/{src/auth → auth}/consent/consent.types.d.ts +0 -0
  778. package/{src/auth → auth}/consent/index.d.ts +0 -0
  779. package/{src/auth → auth}/detection/auth-provider-detection.d.ts +0 -0
  780. package/{src/auth → auth}/detection/index.d.ts +0 -0
  781. package/{src/auth → auth}/flows/auth.verify.flow.d.ts +0 -0
  782. package/{src/auth → auth}/flows/oauth.authorize.flow.d.ts +0 -0
  783. package/{src/auth → auth}/flows/oauth.callback.flow.d.ts +0 -0
  784. package/{src/auth → auth}/flows/oauth.register.flow.d.ts +0 -0
  785. package/{src/auth → auth}/flows/oauth.token.flow.d.ts +0 -0
  786. package/{src/auth → auth}/flows/session.verify.flow.d.ts +0 -0
  787. package/{src/auth → auth}/flows/well-known.jwks.flow.d.ts +0 -0
  788. package/{src/auth → auth}/flows/well-known.oauth-authorization-server.flow.d.ts +0 -0
  789. package/{src/auth → auth}/flows/well-known.prm.flow.d.ts +0 -0
  790. package/{src/auth → auth}/jwks/dev-key-persistence.d.ts +0 -0
  791. package/{src/auth → auth}/jwks/index.d.ts +0 -0
  792. package/{src/auth → auth}/jwks/jwks.service.d.ts +0 -0
  793. package/{src/auth → auth}/jwks/jwks.types.d.ts +0 -0
  794. package/{src/auth → auth}/jwks/jwks.utils.d.ts +0 -0
  795. package/{src/auth → auth}/machine-id.d.ts +0 -0
  796. package/{src/auth → auth}/oauth/flows/oauth.authorize.flow.d.ts +0 -0
  797. package/{src/auth → auth}/oauth/flows/oauth.device-authorization.flow.d.ts +0 -0
  798. package/{src/auth → auth}/oauth/flows/oauth.introspect.flow.d.ts +0 -0
  799. package/{src/auth → auth}/oauth/flows/oauth.par.flow.d.ts +0 -0
  800. package/{src/auth → auth}/oauth/flows/oauth.revoke.flow.d.ts +0 -0
  801. package/{src/auth → auth}/oauth/flows/oauth.token.flow.d.ts +0 -0
  802. package/{src/auth → auth}/oauth/flows/oauth.userinfo.flow.d.ts +0 -0
  803. package/{src/auth → auth}/oauth/flows/oidc.logout.flow.d.ts +0 -0
  804. package/{src/auth → auth}/session/authorization-vault.d.ts +0 -0
  805. package/{src/auth → auth}/session/authorization.store.d.ts +0 -0
  806. package/{src/auth → auth}/session/encrypted-authorization-vault.d.ts +0 -0
  807. package/{src/auth → auth}/session/record/session.base.d.ts +0 -0
  808. package/{src/auth → auth}/session/record/session.stateful.d.ts +0 -0
  809. package/{src/auth → auth}/session/record/session.stateless.d.ts +0 -0
  810. package/{src/auth → auth}/session/record/session.transparent.d.ts +0 -0
  811. package/{src/auth → auth}/session/redis-session.store.d.ts +0 -0
  812. package/{src/auth → auth}/session/session.crypto.d.ts +0 -0
  813. package/{src/auth → auth}/session/session.schema.d.ts +0 -0
  814. package/{src/auth → auth}/session/session.service.d.ts +0 -0
  815. package/{src/auth → auth}/session/session.transport.d.ts +0 -0
  816. package/{src/auth → auth}/session/session.types.d.ts +0 -0
  817. package/{src/auth → auth}/session/token.refresh.d.ts +0 -0
  818. package/{src/auth → auth}/session/token.store.d.ts +0 -0
  819. package/{src/auth → auth}/session/token.vault.d.ts +0 -0
  820. package/{src/auth → auth}/session/transport-session.manager.d.ts +0 -0
  821. package/{src/auth → auth}/session/transport-session.types.d.ts +0 -0
  822. package/{src/auth → auth}/session/utils/auth-token.utils.d.ts +0 -0
  823. package/{src/auth → auth}/session/utils/session-id.utils.d.ts +0 -0
  824. package/{src/auth → auth}/session/utils/tiny-ttl-cache.d.ts +0 -0
  825. package/{src/auth → auth}/session/vault-encryption.d.ts +0 -0
  826. package/{src/auth → auth}/ui/base-layout.d.ts +0 -0
  827. package/{src/auth → auth}/ui/index.d.ts +0 -0
  828. package/{src/auth → auth}/ui/templates.d.ts +0 -0
  829. package/{src/auth → auth}/utils/audience.validator.d.ts +0 -0
  830. package/{src/auth → auth}/utils/index.d.ts +0 -0
  831. package/{src/auth → auth}/utils/www-authenticate.utils.d.ts +0 -0
  832. package/{src/common → common}/common.schema.d.ts +0 -0
  833. package/{src/common → common}/constants.d.ts +0 -0
  834. package/{src/common → common}/decorators/adapter.decorator.d.ts +0 -0
  835. package/{src/common → common}/decorators/app.decorator.d.ts +0 -0
  836. package/{src/common → common}/decorators/auth-provider.decorator.d.ts +0 -0
  837. package/{src/common → common}/decorators/decorator-utils.d.ts +0 -0
  838. package/{src/common → common}/decorators/flow.decorator.d.ts +0 -0
  839. package/{src/common → common}/decorators/front-mcp.decorator.d.ts +0 -0
  840. package/{src/common → common}/decorators/hook.decorator.d.ts +0 -0
  841. package/{src/common → common}/decorators/index.d.ts +0 -0
  842. package/{src/common → common}/decorators/logger.decorator.d.ts +0 -0
  843. package/{src/common → common}/decorators/plugin.decorator.d.ts +0 -0
  844. package/{src/common → common}/decorators/prompt.decorator.d.ts +0 -0
  845. package/{src/common → common}/decorators/provider.decorator.d.ts +0 -0
  846. package/{src/common → common}/decorators/resource.decorator.d.ts +0 -0
  847. package/{src/common → common}/decorators/tool.decorator.d.ts +0 -0
  848. package/{src/common → common}/dynamic/dynamic.adapter.d.ts +0 -0
  849. package/{src/common → common}/dynamic/dynamic.plugin.d.ts +0 -0
  850. package/{src/common → common}/dynamic/dynamic.utils.d.ts +0 -0
  851. package/{src/common → common}/dynamic/index.d.ts +0 -0
  852. package/{src/common → common}/entries/adapter.entry.d.ts +0 -0
  853. package/{src/common → common}/entries/app.entry.d.ts +0 -0
  854. package/{src/common → common}/entries/auth-provider.entry.d.ts +0 -0
  855. package/{src/common → common}/entries/base.entry.d.ts +0 -0
  856. package/{src/common → common}/entries/flow.entry.d.ts +0 -0
  857. package/{src/common → common}/entries/hook.entry.d.ts +0 -0
  858. package/{src/common → common}/entries/index.d.ts +0 -0
  859. package/{src/common → common}/entries/logger.entry.d.ts +0 -0
  860. package/{src/common → common}/entries/plugin.entry.d.ts +0 -0
  861. package/{src/common → common}/entries/prompt.entry.d.ts +0 -0
  862. package/{src/common → common}/entries/provider.entry.d.ts +0 -0
  863. package/{src/common → common}/entries/resource.entry.d.ts +0 -0
  864. package/{src/common → common}/entries/scope.entry.d.ts +0 -0
  865. package/{src/common → common}/entries/tool.entry.d.ts +0 -0
  866. package/{src/common → common}/flow/flow.utils.d.ts +0 -0
  867. package/{src/common → common}/index.d.ts +0 -0
  868. package/{src/common → common}/interfaces/adapter.interface.d.ts +0 -0
  869. package/{src/common → common}/interfaces/app.interface.d.ts +0 -0
  870. package/{src/common → common}/interfaces/auth-hook.interface.d.ts +0 -0
  871. package/{src/common → common}/interfaces/auth-provider.interface.d.ts +0 -0
  872. package/{src/common → common}/interfaces/base.interface.d.ts +0 -0
  873. package/{src/common → common}/interfaces/execution-context.interface.d.ts +0 -0
  874. package/{src/common → common}/interfaces/flow.interface.d.ts +0 -0
  875. package/{src/common → common}/interfaces/front-mcp.interface.d.ts +0 -0
  876. package/{src/common → common}/interfaces/hook.interface.d.ts +0 -0
  877. package/{src/common → common}/interfaces/index.d.ts +0 -0
  878. package/{src/common → common}/interfaces/internal/flow.utils.d.ts +0 -0
  879. package/{src/common → common}/interfaces/internal/index.d.ts +0 -0
  880. package/{src/common → common}/interfaces/internal/registry.interface.d.ts +0 -0
  881. package/{src/common → common}/interfaces/logger.interface.d.ts +0 -0
  882. package/{src/common → common}/interfaces/plugin.interface.d.ts +0 -0
  883. package/{src/common → common}/interfaces/prompt.interface.d.ts +0 -0
  884. package/{src/common → common}/interfaces/provider.interface.d.ts +0 -0
  885. package/{src/common → common}/interfaces/resource.interface.d.ts +0 -0
  886. package/{src/common → common}/interfaces/scope.interface.d.ts +0 -0
  887. package/{src/common → common}/interfaces/server.interface.d.ts +0 -0
  888. package/{src/common → common}/interfaces/session-hook.interface.d.ts +0 -0
  889. package/{src/common → common}/interfaces/tool-hook.interface.d.ts +0 -0
  890. package/{src/common → common}/interfaces/tool.interface.d.ts +0 -0
  891. package/{src/common → common}/metadata/adapter.metadata.d.ts +0 -0
  892. package/{src/common → common}/metadata/app.metadata.d.ts +42 -42
  893. /package/{src/common → common}/metadata/auth-provider.metadata.d.ts +0 -0
  894. /package/{src/common → common}/metadata/flow.metadata.d.ts +0 -0
  895. /package/{src/common → common}/metadata/hook.metadata.d.ts +0 -0
  896. /package/{src/common → common}/metadata/index.d.ts +0 -0
  897. /package/{src/common → common}/metadata/logger.metadata.d.ts +0 -0
  898. /package/{src/common → common}/metadata/plugin.metadata.d.ts +0 -0
  899. /package/{src/common → common}/metadata/provider.metadata.d.ts +0 -0
  900. /package/{src/common → common}/migrate/auth-transport.migrate.d.ts +0 -0
  901. /package/{src/common → common}/migrate/index.d.ts +0 -0
  902. /package/{src/common → common}/providers/base-config.provider.d.ts +0 -0
  903. /package/{src/common → common}/records/adapter.record.d.ts +0 -0
  904. /package/{src/common → common}/records/app.record.d.ts +0 -0
  905. /package/{src/common → common}/records/auth-provider.record.d.ts +0 -0
  906. /package/{src/common → common}/records/flow.record.d.ts +0 -0
  907. /package/{src/common → common}/records/hook.record.d.ts +0 -0
  908. /package/{src/common → common}/records/index.d.ts +0 -0
  909. /package/{src/common → common}/records/logger.record.d.ts +0 -0
  910. /package/{src/common → common}/records/plugin.record.d.ts +0 -0
  911. /package/{src/common → common}/records/prompt.record.d.ts +0 -0
  912. /package/{src/common → common}/records/provider.record.d.ts +0 -0
  913. /package/{src/common → common}/records/resource.record.d.ts +0 -0
  914. /package/{src/common → common}/records/scope.record.d.ts +0 -0
  915. /package/{src/common → common}/records/tool.record.d.ts +0 -0
  916. /package/{src/common → common}/schemas/annotated-class.schema.d.ts +0 -0
  917. /package/{src/common → common}/schemas/http-input.schema.d.ts +0 -0
  918. /package/{src/common → common}/schemas/index.d.ts +0 -0
  919. /package/{src/common → common}/schemas/session-header.schema.d.ts +0 -0
  920. /package/{src/common → common}/tokens/adapter.tokens.d.ts +0 -0
  921. /package/{src/common → common}/tokens/app.tokens.d.ts +0 -0
  922. /package/{src/common → common}/tokens/auth-provider.tokens.d.ts +0 -0
  923. /package/{src/common → common}/tokens/base.tokens.d.ts +0 -0
  924. /package/{src/common → common}/tokens/flow-hook.tokens.d.ts +0 -0
  925. /package/{src/common → common}/tokens/flow.tokens.d.ts +0 -0
  926. /package/{src/common → common}/tokens/front-mcp.tokens.d.ts +0 -0
  927. /package/{src/common → common}/tokens/index.d.ts +0 -0
  928. /package/{src/common → common}/tokens/logger.tokens.d.ts +0 -0
  929. /package/{src/common → common}/tokens/plugin.tokens.d.ts +0 -0
  930. /package/{src/common → common}/tokens/prompt.tokens.d.ts +0 -0
  931. /package/{src/common → common}/tokens/provider.tokens.d.ts +0 -0
  932. /package/{src/common → common}/tokens/resource.tokens.d.ts +0 -0
  933. /package/{src/common → common}/tokens/server.tokens.d.ts +0 -0
  934. /package/{src/common → common}/tokens/tool.tokens.d.ts +0 -0
  935. /package/{src/common → common}/types/auth/index.d.ts +0 -0
  936. /package/{src/common → common}/types/auth/jwt.types.d.ts +0 -0
  937. /package/{src/common → common}/types/auth/session.types.d.ts +0 -0
  938. /package/{src/common → common}/types/common.types.d.ts +0 -0
  939. /package/{src/common → common}/types/index.d.ts +0 -0
  940. /package/{src/logger/logger.tokens.d.ts → common/types/options/auth/auth.typecheck.d.ts} +0 -0
  941. /package/{src/common → common}/types/options/http.options.d.ts +0 -0
  942. /package/{src/common → common}/types/options/logging.options.d.ts +0 -0
  943. /package/{src/common → common}/types/options/session.options.d.ts +0 -0
  944. /package/{src/common → common}/utils/path.utils.d.ts +0 -0
  945. /package/{src/context → context}/frontmcp-context-storage.d.ts +0 -0
  946. /package/{src/context → context}/frontmcp-context.d.ts +0 -0
  947. /package/{src/context → context}/frontmcp-context.provider.d.ts +0 -0
  948. /package/{src/context → context}/index.d.ts +0 -0
  949. /package/{src/context → context}/request-context-storage.d.ts +0 -0
  950. /package/{src/context → context}/request-context.d.ts +0 -0
  951. /package/{src/context → context}/request-context.provider.d.ts +0 -0
  952. /package/{src/context → context}/session-key.provider.d.ts +0 -0
  953. /package/{src/context → context}/trace-context.d.ts +0 -0
  954. /package/{src/errors → errors}/authorization-required.error.d.ts +0 -0
  955. /package/{src/errors → errors}/error-handler.d.ts +0 -0
  956. /package/{src/exceptions → exceptions}/mcp-exceptions/session-missing.exception.d.ts +0 -0
  957. /package/{src/exceptions → exceptions}/mcp-exceptions/unsupported-client-version.exception.d.ts +0 -0
  958. /package/{src/flows → flows}/flow.instance.d.ts +0 -0
  959. /package/{src/flows → flows}/flow.registry.d.ts +0 -0
  960. /package/{src/flows → flows}/flow.stages.d.ts +0 -0
  961. /package/{src/flows → flows}/flow.utils.d.ts +0 -0
  962. /package/{src/front-mcp → front-mcp}/front-mcp.d.ts +0 -0
  963. /package/{src/front-mcp → front-mcp}/front-mcp.tokens.d.ts +0 -0
  964. /package/{src/front-mcp → front-mcp}/serverless-handler.d.ts +0 -0
  965. /package/{src/hooks → hooks}/hook.instance.d.ts +0 -0
  966. /package/{src/hooks → hooks}/hook.registry.d.ts +0 -0
  967. /package/{src/hooks → hooks}/hooks.utils.d.ts +0 -0
  968. /package/{src/logger → logger}/instances/instance.console-logger.d.ts +0 -0
  969. /package/{src/logger → logger}/instances/instance.logger.d.ts +0 -0
  970. /package/{src/logger → logger}/logger.registry.d.ts +0 -0
  971. /package/{src/logger → logger}/logger.types.d.ts +0 -0
  972. /package/{src/logger → logger}/logger.utils.d.ts +0 -0
  973. /package/{src/mcp-apps → mcp-apps}/csp.d.ts +0 -0
  974. /package/{src/mcp-apps → mcp-apps}/index.d.ts +0 -0
  975. /package/{src/mcp-apps → mcp-apps}/schemas.d.ts +0 -0
  976. /package/{src/mcp-apps → mcp-apps}/template.d.ts +0 -0
  977. /package/{src/mcp-apps → mcp-apps}/types.d.ts +0 -0
  978. /package/{src/notification → notification}/index.d.ts +0 -0
  979. /package/{src/notification → notification}/notification.service.d.ts +0 -0
  980. /package/{src/plugin → plugin}/plugin.registry.d.ts +0 -0
  981. /package/{src/plugin → plugin}/plugin.utils.d.ts +0 -0
  982. /package/{src/prompt → prompt}/index.d.ts +0 -0
  983. /package/{src/prompt → prompt}/prompt.events.d.ts +0 -0
  984. /package/{src/prompt → prompt}/prompt.instance.d.ts +0 -0
  985. /package/{src/prompt → prompt}/prompt.registry.d.ts +0 -0
  986. /package/{src/prompt → prompt}/prompt.types.d.ts +0 -0
  987. /package/{src/prompt → prompt}/prompt.utils.d.ts +0 -0
  988. /package/{src/provider → provider}/provider.registry.d.ts +0 -0
  989. /package/{src/provider → provider}/provider.types.d.ts +0 -0
  990. /package/{src/provider → provider}/provider.utils.d.ts +0 -0
  991. /package/{src/regsitry → regsitry}/index.d.ts +0 -0
  992. /package/{src/regsitry → regsitry}/registry.base.d.ts +0 -0
  993. /package/{src/resource → resource}/index.d.ts +0 -0
  994. /package/{src/resource → resource}/resource.events.d.ts +0 -0
  995. /package/{src/resource → resource}/resource.instance.d.ts +0 -0
  996. /package/{src/resource → resource}/resource.registry.d.ts +0 -0
  997. /package/{src/resource → resource}/resource.types.d.ts +0 -0
  998. /package/{src/resource → resource}/resource.utils.d.ts +0 -0
  999. /package/{src/scope → scope}/flows/http.request.flow.d.ts +0 -0
  1000. /package/{src/scope → scope}/index.d.ts +0 -0
  1001. /package/{src/scope → scope}/scope.instance.d.ts +0 -0
  1002. /package/{src/scope → scope}/scope.registry.d.ts +0 -0
  1003. /package/{src/scope → scope}/scope.utils.d.ts +0 -0
  1004. /package/{src/server → server}/adapters/base.host.adapter.d.ts +0 -0
  1005. /package/{src/server → server}/adapters/express.host.adapter.d.ts +0 -0
  1006. /package/{src/server → server}/server.instance.d.ts +0 -0
  1007. /package/{src/server → server}/server.types.d.ts +0 -0
  1008. /package/{src/server → server}/server.validation.d.ts +0 -0
  1009. /package/{src/store → store}/adapters/store.base.adapter.d.ts +0 -0
  1010. /package/{src/store → store}/adapters/store.memory.adapter.d.ts +0 -0
  1011. /package/{src/store → store}/adapters/store.redis.adapter.d.ts +0 -0
  1012. /package/{src/store → store}/store.helpers.d.ts +0 -0
  1013. /package/{src/store → store}/store.registry.d.ts +0 -0
  1014. /package/{src/store → store}/store.tokens.d.ts +0 -0
  1015. /package/{src/store → store}/store.types.d.ts +0 -0
  1016. /package/{src/store → store}/store.utils.d.ts +0 -0
  1017. /package/{src/tool → tool}/tool.events.d.ts +0 -0
  1018. /package/{src/tool → tool}/tool.instance.d.ts +0 -0
  1019. /package/{src/tool → tool}/tool.registry.d.ts +0 -0
  1020. /package/{src/tool → tool}/tool.types.d.ts +0 -0
  1021. /package/{src/tool → tool}/tool.utils.d.ts +0 -0
  1022. /package/{src/tool → tool}/ui/ui-resource-template.d.ts +0 -0
  1023. /package/{src/transport → transport}/adapters/transport.local.adapter.d.ts +0 -0
  1024. /package/{src/transport → transport}/adapters/transport.sse.adapter.d.ts +0 -0
  1025. /package/{src/transport → transport}/adapters/transport.streamable-http.adapter.d.ts +0 -0
  1026. /package/{src/transport → transport}/flows/handle.sse.flow.d.ts +0 -0
  1027. /package/{src/transport → transport}/flows/handle.stateless-http.flow.d.ts +0 -0
  1028. /package/{src/transport → transport}/flows/handle.streamable-http.flow.d.ts +0 -0
  1029. /package/{src/transport → transport}/legacy/legacy.sse.tranporter.d.ts +0 -0
  1030. /package/{src/transport → transport}/mcp-handlers/Initialized-notification.hanlder.d.ts +0 -0
  1031. /package/{src/transport → transport}/mcp-handlers/call-tool-request.handler.d.ts +0 -0
  1032. /package/{src/transport → transport}/mcp-handlers/initialize-request.handler.d.ts +0 -0
  1033. /package/{src/transport → transport}/mcp-handlers/mcp-handlers.types.d.ts +0 -0
  1034. /package/{src/transport → transport}/mcp-handlers/roots-list-changed-notification.handler.d.ts +0 -0
  1035. /package/{src/transport → transport}/transport.error.d.ts +0 -0
  1036. /package/{src/transport → transport}/transport.event-store.d.ts +0 -0
  1037. /package/{src/transport → transport}/transport.local.d.ts +0 -0
  1038. /package/{src/transport → transport}/transport.remote.d.ts +0 -0
  1039. /package/{src/transport → transport}/transport.types.d.ts +0 -0
  1040. /package/{src/types → types}/drinen-hooks.types.d.ts +0 -0
  1041. /package/{src/types → types}/invoke.type.d.ts +0 -0
  1042. /package/{src/types → types}/token.types.d.ts +0 -0
  1043. /package/{src/utils → utils}/content.utils.d.ts +0 -0
  1044. /package/{src/utils → utils}/index.d.ts +0 -0
  1045. /package/{src/utils → utils}/lineage.utils.d.ts +0 -0
  1046. /package/{src/utils → utils}/metadata.utils.d.ts +0 -0
  1047. /package/{src/utils → utils}/naming.utils.d.ts +0 -0
  1048. /package/{src/utils → utils}/server.utils.d.ts +0 -0
  1049. /package/{src/utils → utils}/string.utils.d.ts +0 -0
  1050. /package/{src/utils → utils}/token.utils.d.ts +0 -0
  1051. /package/{src/utils → utils}/types.utils.d.ts +0 -0
  1052. /package/{src/utils → utils}/uri-template.utils.d.ts +0 -0
  1053. /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":";AAAA,+CAA+C;;;AAW/C,4DAAsD;AACtD,mDAAmE;AAEnE,iDAUwB;AACxB,sDAAiD;AACjD,0CAAuE;AACvE,uDAAmD;AACnD,iDAAgG;AAChG,sFAAoD;AACpD,0FAAwD;AAGxD,yEAAyE;AACzE,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,MAAqB,cACnB,SAAQ,2BAIP;IAGD,oDAAoD;IACpD,KAAK,CAAgB;IAErB,8EAA8E;IACtE,SAAS,GAAoB,EAAE,CAAC;IAExC,sFAAsF;IAC9E,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE7D,wCAAwC;IAChC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,8DAA8D;IACtD,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC,CAAC,qBAAqB;IACvE,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC,CAAC,mBAAmB;IAChE,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC,CAAC,yBAAyB;IAC5E,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC,CAAC,mBAAmB;IAEzE,oBAAoB;IACZ,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,IAAI,6BAAa,EAAE,CAAC;IAEtC,YAAY,SAA2B,EAAE,IAAkB,EAAE,KAAoB;QAC/E,mDAAmD;QACnD,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,qCAAqC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,6EAA6E;IAE1D,QAAQ,CAAC,IAAkB;QAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAS,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;YAEjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAES,UAAU;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC,GAAG,CAAC,CAAC;YAEtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,mEAAmE;gBACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sGAAsG;IAEnF,KAAK,CAAC,UAAU;QACjC,iEAAiE;QACjE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YAElC,kDAAkD;YAClD,MAAM,EAAE,GAAG,IAAI,gCAAc,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC;YAEvD,MAAM,OAAO,GAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACvE,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,mBAAmB,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,mBAAmB;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;qBACrC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;oBAC7B,IAAI,CAAC,cAAc,CAAC,iBAAmC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7E,qBAAqB;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACzB,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,cAAgC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEL,mEAAmE;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,uCAAuC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,KAAK,CAAC,aAAa,CAAC,yBAAa,EAAE,2BAAe,CAAC,CAAC;IAC5D,CAAC;IAED,gGAAgG;IAEhG;;;OAGG;IACH,cAAc,CAAC,KAAqB,EAAE,WAA0B;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAErC,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,OAAO,GAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzB,6BAA6B;QAC7B,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,0DAA0D;IAE1D;;OAEG;IACH,UAAU,CAAC,aAAa,GAAG,KAAK;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,GAAG;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjC,MAAM,MAAM,GACV,mBAAmB,IAAI,IAAI,IAAK,IAAwC,CAAC,iBAAiB,KAAK,IAAI,CAAC;YACtG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;QAClC,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAY;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,sEAAsE;IACtE,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,6CAA6C;IAC7C,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,mEAAmE;IACnE,WAAW,CAAC,SAAiB;QAC3B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,kEAAkE;IAE1D,OAAO;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAExC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAExC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAEzC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E;;OAEG;IACH,mBAAmB,CAAC,IAA0B;QAC5C,MAAM,GAAG,GAAG,EAAE,GAAG,yCAA0B,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,IAAA,iCAAkB,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;QAE9C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,GAAG,CAAC,wBAAwB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS;gBACT,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjD,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACvB,MAAM,IAAI,GAAG,IAAA,iCAAkB,EAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACvD,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,GAAG,IAAI,GAAG,IAAA,qBAAM,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC3E,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,WAAW;gBACX,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtF,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,GAAG,GAAG,GAAG,IAAA,qBAAM,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1E,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtF,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,GAAG,GAAG,GAAG,IAAA,qBAAM,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1E,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEnH,SAAS,YAAY,CACnB,SAAiB,EACjB,IAAiC,EACjC,GAAkC;YAElC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,IAAI,yBAAyB,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAA,2BAAY,EAAC,GAAG,SAAS,GAAG,IAAA,qBAAM,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACnC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,WAAW,yBAAyB,WAAW,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,WAAW,CAAC,IAAY,EAAE,IAA0B;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,QAAQ,CAAC;IACtD,CAAC;IAED,6DAA6D;IAE7D,SAAS,CACP,IAAsE,EACtE,EAAoC;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,EAAE,CAAC;gBACD,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,QAAQ;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IAEO,IAAI,CAAC,IAA+B;QAC1C,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,uDAAuD;IAEvD,iCAAiC;IACzB,OAAO,CACb,KAAY,EACZ,QAAwB,EACxB,OAAqB,EACrB,MAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAA,yBAAU,EAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAA,8BAAe,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAA,uBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,aAAa;YACb,WAAW;YACX,MAAM;SACP,CAAC;IACJ,CAAC;IAED,6FAA6F;IACrF,SAAS,CAAC,GAAkB,EAAE,OAAqB;QACzD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAA,yBAAU,EAAC,OAAO,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,IAAA,8BAAe,EAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAA,uBAAS,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,8BAA8B;YACtD,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO;YACP,QAAQ;YACR,aAAa;YACb,WAAW;YACX,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kDAAkD;SACvE,CAAC;IACJ,CAAC;IAED,kDAAkD;IAC1C,YAAY,CAAC,IAAoB;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAY,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAExD,MAAM,OAAO,GAAG,IAA+B,CAAC;YAChD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEhE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,EAAE,GAAG,IAAA,4BAAW,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,EAAE,CAAC;gBACvD,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;YAC3E,4CAA4C;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mEAAmE;IACnE,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,EAAE;YAClB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,2EAA2E;oBAC3E,WAAW,EAAE,IAAI;iBAClB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;CACF;AA3aD,iCA2aC;AAED,+DAA+D;AAE/D,gFAAgF;AAChF,SAAS,YAAY,CAAC,CAAe;IACnC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","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":";AAAA,4CAA4C;;;AAkC5C,sDAUC;AAWD,0CAuBC;AAKD,kDAYC;AAKD,0DA+BC;AAjID,sCASmB;AACnB,sDAAwE;AACxE,4DAAsD;AAGtD,oCAAoC;AACpC,sDAS+B;AAR7B,0GAAA,UAAU,OAAA;AACV,sGAAA,MAAM,OAAA;AACN,sGAAA,MAAM,OAAA;AACN,gHAAA,gBAAgB,OAAA;AAChB,mHAAA,mBAAmB,OAAA;AACnB,kHAAA,kBAAkB,OAAA;AAClB,yGAAA,SAAS,OAAA;AACT,4GAAA,YAAY,OAAA;AAGd,qCAAqC;AACrC,wDAAqE;AAA5D,2GAAA,UAAU,OAAA;AAAE,gHAAA,eAAe,OAAA;AAEpC;;GAEG;AACH,SAAgB,qBAAqB,CAAC,GAAe;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,6BAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAA,4BAAW,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC7B,CAAC,GAAG,CAAC,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,EAAoB,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,IAAS;IACvC,6DAA6D;IAC7D,IACE,IAAI;QACJ,OAAO,IAAI,KAAK,UAAU;QAC1B,IAAI,CAAC,6BAAoB,CAAC,IAAI,CAAC,KAAK,iBAAiB;QACrD,IAAI,CAAC,6BAAoB,CAAC,QAAQ,CAAC,EACnC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,mBAAU,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,EAAE;YACf,QAAQ,EAAE,IAAI,CAAC,6BAAoB,CAAC,QAAQ,CAAmB;SAChE,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,IAAA,qBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAkB,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,mBAAU,CAAC,WAAW,EAAE,OAAO,EAAE,IAAyB,EAAE,QAAQ,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,IAAI,GAAI,IAAY,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,2CAA2C,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,GAAiB;IACnD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,mBAAU,CAAC,QAAQ;YACtB,OAAO,IAAA,wBAAU,EAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,KAAK,mBAAU,CAAC,WAAW;YACzB,OAAO,IAAA,yBAAW,EAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC;YACR,8DAA8D;YAC9D,MAAM,WAAW,GAAU,GAAG,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0BAA2B,WAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,GAAY,EAAE,QAAwB;IAC5E,uCAAuC;IACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,GAAoD,CAAC;QACpE,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;YACvD,QAAQ,EAAE,MAAM,CAAC,QAA2B;SAC7C,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KACnF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,2DAA2D;IAC3D,IACE,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,MAAM,IAAI,GAAG;QACb,SAAS,IAAI,GAAG;QAChB,OAAQ,GAA+B,CAAC,MAAM,CAAC,KAAK,QAAQ;QAC5D,OAAQ,GAA+B,CAAC,SAAS,CAAC,KAAK,QAAQ,EAC/D,CAAC;QACD,OAAO,GAAoB,CAAC;IAC9B,CAAC;IAED,wCAAwC;IACxC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;KACrF,CAAC;AACJ,CAAC","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"]}