@frontmcp/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/README.md +11 -0
  2. package/package.json +29 -0
  3. package/src/constants.d.ts +30 -0
  4. package/src/constants.js +36 -0
  5. package/src/constants.js.map +1 -0
  6. package/src/decorators/adapter.decorator.d.ts +7 -0
  7. package/src/decorators/adapter.decorator.js +20 -0
  8. package/src/decorators/adapter.decorator.js.map +1 -0
  9. package/src/decorators/app.decorator.d.ts +7 -0
  10. package/src/decorators/app.decorator.js +44 -0
  11. package/src/decorators/app.decorator.js.map +1 -0
  12. package/src/decorators/auth-provider.decorator.d.ts +7 -0
  13. package/src/decorators/auth-provider.decorator.js +20 -0
  14. package/src/decorators/auth-provider.decorator.js.map +1 -0
  15. package/src/decorators/flow-hooks.decorator.d.ts +12 -0
  16. package/src/decorators/flow-hooks.decorator.js +63 -0
  17. package/src/decorators/flow-hooks.decorator.js.map +1 -0
  18. package/src/decorators/flow.decorator.d.ts +6 -0
  19. package/src/decorators/flow.decorator.js +19 -0
  20. package/src/decorators/flow.decorator.js.map +1 -0
  21. package/src/decorators/front-mcp.decorator.d.ts +6 -0
  22. package/src/decorators/front-mcp.decorator.js +40 -0
  23. package/src/decorators/front-mcp.decorator.js.map +1 -0
  24. package/src/decorators/index.d.ts +12 -0
  25. package/src/decorators/index.js +16 -0
  26. package/src/decorators/index.js.map +1 -0
  27. package/src/decorators/logger.decorator.d.ts +7 -0
  28. package/src/decorators/logger.decorator.js +20 -0
  29. package/src/decorators/logger.decorator.js.map +1 -0
  30. package/src/decorators/plugin.decorator.d.ts +7 -0
  31. package/src/decorators/plugin.decorator.js +38 -0
  32. package/src/decorators/plugin.decorator.js.map +1 -0
  33. package/src/decorators/prompt.decorator.d.ts +13 -0
  34. package/src/decorators/prompt.decorator.js +38 -0
  35. package/src/decorators/prompt.decorator.js.map +1 -0
  36. package/src/decorators/provider.decorator.d.ts +7 -0
  37. package/src/decorators/provider.decorator.js +20 -0
  38. package/src/decorators/provider.decorator.js.map +1 -0
  39. package/src/decorators/resource.decorator.d.ts +17 -0
  40. package/src/decorators/resource.decorator.js +52 -0
  41. package/src/decorators/resource.decorator.js.map +1 -0
  42. package/src/decorators/tool.decorator.d.ts +14 -0
  43. package/src/decorators/tool.decorator.js +38 -0
  44. package/src/decorators/tool.decorator.js.map +1 -0
  45. package/src/decorators-old/async-with.decorator.d.ts +9 -0
  46. package/src/decorators-old/async-with.decorator.js +23 -0
  47. package/src/decorators-old/async-with.decorator.js.map +1 -0
  48. package/src/decorators-old/auth-hook.decorator.d.ts +14 -0
  49. package/src/decorators-old/auth-hook.decorator.js +27 -0
  50. package/src/decorators-old/auth-hook.decorator.js.map +1 -0
  51. package/src/decorators-old/session-hook.decorator.d.ts +14 -0
  52. package/src/decorators-old/session-hook.decorator.js +27 -0
  53. package/src/decorators-old/session-hook.decorator.js.map +1 -0
  54. package/src/decorators-old/tool-hook.decorator.d.ts +14 -0
  55. package/src/decorators-old/tool-hook.decorator.js +27 -0
  56. package/src/decorators-old/tool-hook.decorator.js.map +1 -0
  57. package/src/dynamic/dynamic.adapter.d.ts +42 -0
  58. package/src/dynamic/dynamic.adapter.js +28 -0
  59. package/src/dynamic/dynamic.adapter.js.map +1 -0
  60. package/src/dynamic/dynamic.plugin.d.ts +52 -0
  61. package/src/dynamic/dynamic.plugin.js +33 -0
  62. package/src/dynamic/dynamic.plugin.js.map +1 -0
  63. package/src/dynamic/dynamic.utils.d.ts +3 -0
  64. package/src/dynamic/dynamic.utils.js +27 -0
  65. package/src/dynamic/dynamic.utils.js.map +1 -0
  66. package/src/dynamic/index.d.ts +2 -0
  67. package/src/dynamic/index.js +6 -0
  68. package/src/dynamic/index.js.map +1 -0
  69. package/src/entries/adapter.entry.d.ts +6 -0
  70. package/src/entries/adapter.entry.js +8 -0
  71. package/src/entries/adapter.entry.js.map +1 -0
  72. package/src/entries/app.entry.d.ts +13 -0
  73. package/src/entries/app.entry.js +9 -0
  74. package/src/entries/app.entry.js.map +1 -0
  75. package/src/entries/auth-provider.entry.d.ts +6 -0
  76. package/src/entries/auth-provider.entry.js +8 -0
  77. package/src/entries/auth-provider.entry.js.map +1 -0
  78. package/src/entries/base.entry.d.ts +20 -0
  79. package/src/entries/base.entry.js +17 -0
  80. package/src/entries/base.entry.js.map +1 -0
  81. package/src/entries/flow.entry.d.ts +15 -0
  82. package/src/entries/flow.entry.js +21 -0
  83. package/src/entries/flow.entry.js.map +1 -0
  84. package/src/entries/index.d.ts +12 -0
  85. package/src/entries/index.js +16 -0
  86. package/src/entries/index.js.map +1 -0
  87. package/src/entries/logger.entry.d.ts +6 -0
  88. package/src/entries/logger.entry.js +8 -0
  89. package/src/entries/logger.entry.js.map +1 -0
  90. package/src/entries/plugin.entry.d.ts +6 -0
  91. package/src/entries/plugin.entry.js +8 -0
  92. package/src/entries/plugin.entry.js.map +1 -0
  93. package/src/entries/prompt.entry.d.ts +6 -0
  94. package/src/entries/prompt.entry.js +8 -0
  95. package/src/entries/prompt.entry.js.map +1 -0
  96. package/src/entries/provider.entry.d.ts +7 -0
  97. package/src/entries/provider.entry.js +8 -0
  98. package/src/entries/provider.entry.js.map +1 -0
  99. package/src/entries/resource.entry.d.ts +7 -0
  100. package/src/entries/resource.entry.js +11 -0
  101. package/src/entries/resource.entry.js.map +1 -0
  102. package/src/entries/scope.entry.d.ts +17 -0
  103. package/src/entries/scope.entry.js +8 -0
  104. package/src/entries/scope.entry.js.map +1 -0
  105. package/src/entries/tool.entry.d.ts +15 -0
  106. package/src/entries/tool.entry.js +11 -0
  107. package/src/entries/tool.entry.js.map +1 -0
  108. package/src/index.d.ts +18 -0
  109. package/src/index.js +22 -0
  110. package/src/index.js.map +1 -0
  111. package/src/interfaces/adapter.interface.d.ts +20 -0
  112. package/src/interfaces/adapter.interface.js +3 -0
  113. package/src/interfaces/adapter.interface.js.map +1 -0
  114. package/src/interfaces/app.interface.d.ts +6 -0
  115. package/src/interfaces/app.interface.js +3 -0
  116. package/src/interfaces/app.interface.js.map +1 -0
  117. package/src/interfaces/auth-hook.interface.d.ts +126 -0
  118. package/src/interfaces/auth-hook.interface.js +135 -0
  119. package/src/interfaces/auth-hook.interface.js.map +1 -0
  120. package/src/interfaces/auth-provider.interface.d.ts +22 -0
  121. package/src/interfaces/auth-provider.interface.js +18 -0
  122. package/src/interfaces/auth-provider.interface.js.map +1 -0
  123. package/src/interfaces/base.interface.d.ts +77 -0
  124. package/src/interfaces/base.interface.js +3 -0
  125. package/src/interfaces/base.interface.js.map +1 -0
  126. package/src/interfaces/flow.interface.d.ts +38 -0
  127. package/src/interfaces/flow.interface.js +69 -0
  128. package/src/interfaces/flow.interface.js.map +1 -0
  129. package/src/interfaces/front-mcp.interface.d.ts +5 -0
  130. package/src/interfaces/front-mcp.interface.js +3 -0
  131. package/src/interfaces/front-mcp.interface.js.map +1 -0
  132. package/src/interfaces/index.d.ts +15 -0
  133. package/src/interfaces/index.js +19 -0
  134. package/src/interfaces/index.js.map +1 -0
  135. package/src/interfaces/internal/flow.utils.d.ts +24 -0
  136. package/src/interfaces/internal/flow.utils.js +83 -0
  137. package/src/interfaces/internal/flow.utils.js.map +1 -0
  138. package/src/interfaces/internal/index.d.ts +2 -0
  139. package/src/interfaces/internal/index.js +7 -0
  140. package/src/interfaces/internal/index.js.map +1 -0
  141. package/src/interfaces/internal/primary-auth-provider.interface.d.ts +24 -0
  142. package/src/interfaces/internal/primary-auth-provider.interface.js +33 -0
  143. package/src/interfaces/internal/primary-auth-provider.interface.js.map +1 -0
  144. package/src/interfaces/internal/registry.interface.d.ts +71 -0
  145. package/src/interfaces/internal/registry.interface.js +3 -0
  146. package/src/interfaces/internal/registry.interface.js.map +1 -0
  147. package/src/interfaces/logger.interface.d.ts +42 -0
  148. package/src/interfaces/logger.interface.js +10 -0
  149. package/src/interfaces/logger.interface.js.map +1 -0
  150. package/src/interfaces/plugin.interface.d.ts +8 -0
  151. package/src/interfaces/plugin.interface.js +3 -0
  152. package/src/interfaces/plugin.interface.js.map +1 -0
  153. package/src/interfaces/prompt.interface.d.ts +5 -0
  154. package/src/interfaces/prompt.interface.js +3 -0
  155. package/src/interfaces/prompt.interface.js.map +1 -0
  156. package/src/interfaces/provider.interface.d.ts +20 -0
  157. package/src/interfaces/provider.interface.js +18 -0
  158. package/src/interfaces/provider.interface.js.map +1 -0
  159. package/src/interfaces/resource.interface.d.ts +21 -0
  160. package/src/interfaces/resource.interface.js +3 -0
  161. package/src/interfaces/resource.interface.js.map +1 -0
  162. package/src/interfaces/scope.interface.d.ts +5 -0
  163. package/src/interfaces/scope.interface.js +3 -0
  164. package/src/interfaces/scope.interface.js.map +1 -0
  165. package/src/interfaces/server.interface.d.ts +46 -0
  166. package/src/interfaces/server.interface.js +18 -0
  167. package/src/interfaces/server.interface.js.map +1 -0
  168. package/src/interfaces/session-hook.interface.d.ts +131 -0
  169. package/src/interfaces/session-hook.interface.js +140 -0
  170. package/src/interfaces/session-hook.interface.js.map +1 -0
  171. package/src/interfaces/tool-hook.interface.d.ts +80 -0
  172. package/src/interfaces/tool-hook.interface.js +92 -0
  173. package/src/interfaces/tool-hook.interface.js.map +1 -0
  174. package/src/interfaces/tool.interface.d.ts +45 -0
  175. package/src/interfaces/tool.interface.js +89 -0
  176. package/src/interfaces/tool.interface.js.map +1 -0
  177. package/src/metadata/adapter.metadata.d.ts +22 -0
  178. package/src/metadata/adapter.metadata.js +10 -0
  179. package/src/metadata/adapter.metadata.js.map +1 -0
  180. package/src/metadata/app.metadata.d.ts +872 -0
  181. package/src/metadata/app.metadata.js +30 -0
  182. package/src/metadata/app.metadata.js.map +1 -0
  183. package/src/metadata/auth-provider.metadata.d.ts +33 -0
  184. package/src/metadata/auth-provider.metadata.js +19 -0
  185. package/src/metadata/auth-provider.metadata.js.map +1 -0
  186. package/src/metadata/flow-hooks.metadata.d.ts +20 -0
  187. package/src/metadata/flow-hooks.metadata.js +3 -0
  188. package/src/metadata/flow-hooks.metadata.js.map +1 -0
  189. package/src/metadata/flow.metadata.d.ts +75 -0
  190. package/src/metadata/flow.metadata.js +15 -0
  191. package/src/metadata/flow.metadata.js.map +1 -0
  192. package/src/metadata/front-mcp.metadata.d.ts +1144 -0
  193. package/src/metadata/front-mcp.metadata.js +25 -0
  194. package/src/metadata/front-mcp.metadata.js.map +1 -0
  195. package/src/metadata/index.d.ts +12 -0
  196. package/src/metadata/index.js +16 -0
  197. package/src/metadata/index.js.map +1 -0
  198. package/src/metadata/logger.metadata.d.ts +39 -0
  199. package/src/metadata/logger.metadata.js +10 -0
  200. package/src/metadata/logger.metadata.js.map +1 -0
  201. package/src/metadata/plugin.metadata.d.ts +93 -0
  202. package/src/metadata/plugin.metadata.js +18 -0
  203. package/src/metadata/plugin.metadata.js.map +1 -0
  204. package/src/metadata/prompt.metadata.d.ts +226 -0
  205. package/src/metadata/prompt.metadata.js +27 -0
  206. package/src/metadata/prompt.metadata.js.map +1 -0
  207. package/src/metadata/provider.metadata.d.ts +34 -0
  208. package/src/metadata/provider.metadata.js +20 -0
  209. package/src/metadata/provider.metadata.js.map +1 -0
  210. package/src/metadata/resource.metadata.d.ts +199 -0
  211. package/src/metadata/resource.metadata.js +22 -0
  212. package/src/metadata/resource.metadata.js.map +1 -0
  213. package/src/metadata/tool.metadata.d.ts +278 -0
  214. package/src/metadata/tool.metadata.js +28 -0
  215. package/src/metadata/tool.metadata.js.map +1 -0
  216. package/src/providers/session.provider.d.ts +13 -0
  217. package/src/providers/session.provider.js +27 -0
  218. package/src/providers/session.provider.js.map +1 -0
  219. package/src/records/adapter.record.d.ts +26 -0
  220. package/src/records/adapter.record.js +11 -0
  221. package/src/records/adapter.record.js.map +1 -0
  222. package/src/records/app.record.d.ts +19 -0
  223. package/src/records/app.record.js +9 -0
  224. package/src/records/app.record.js.map +1 -0
  225. package/src/records/auth-provider.record.d.ts +37 -0
  226. package/src/records/auth-provider.record.js +12 -0
  227. package/src/records/auth-provider.record.js.map +1 -0
  228. package/src/records/flow.record.d.ts +11 -0
  229. package/src/records/flow.record.js +8 -0
  230. package/src/records/flow.record.js.map +1 -0
  231. package/src/records/index.d.ts +11 -0
  232. package/src/records/index.js +15 -0
  233. package/src/records/index.js.map +1 -0
  234. package/src/records/logger.record.d.ts +11 -0
  235. package/src/records/logger.record.js +8 -0
  236. package/src/records/logger.record.js.map +1 -0
  237. package/src/records/plugin.record.d.ts +21 -0
  238. package/src/records/plugin.record.js +11 -0
  239. package/src/records/plugin.record.js.map +1 -0
  240. package/src/records/prompt.record.d.ts +18 -0
  241. package/src/records/prompt.record.js +9 -0
  242. package/src/records/prompt.record.js.map +1 -0
  243. package/src/records/provider.record.d.ts +36 -0
  244. package/src/records/provider.record.js +14 -0
  245. package/src/records/provider.record.js.map +1 -0
  246. package/src/records/resource.record.d.ts +18 -0
  247. package/src/records/resource.record.js +14 -0
  248. package/src/records/resource.record.js.map +1 -0
  249. package/src/records/scope.record.d.ts +18 -0
  250. package/src/records/scope.record.js +9 -0
  251. package/src/records/scope.record.js.map +1 -0
  252. package/src/records/tool.record.d.ts +17 -0
  253. package/src/records/tool.record.js +9 -0
  254. package/src/records/tool.record.js.map +1 -0
  255. package/src/schemas/annotated-class.schema.d.ts +11 -0
  256. package/src/schemas/annotated-class.schema.js +40 -0
  257. package/src/schemas/annotated-class.schema.js.map +1 -0
  258. package/src/schemas/http-input.schema.d.ts +33 -0
  259. package/src/schemas/http-input.schema.js +13 -0
  260. package/src/schemas/http-input.schema.js.map +1 -0
  261. package/src/schemas/http-output.schema.d.ts +2011 -0
  262. package/src/schemas/http-output.schema.js +283 -0
  263. package/src/schemas/http-output.schema.js.map +1 -0
  264. package/src/schemas/index.d.ts +3 -0
  265. package/src/schemas/index.js +7 -0
  266. package/src/schemas/index.js.map +1 -0
  267. package/src/tokens/adapter.tokens.d.ts +3 -0
  268. package/src/tokens/adapter.tokens.js +11 -0
  269. package/src/tokens/adapter.tokens.js.map +1 -0
  270. package/src/tokens/app.tokens.d.ts +4 -0
  271. package/src/tokens/app.tokens.js +30 -0
  272. package/src/tokens/app.tokens.js.map +1 -0
  273. package/src/tokens/auth-provider.tokens.d.ts +3 -0
  274. package/src/tokens/auth-provider.tokens.js +12 -0
  275. package/src/tokens/auth-provider.tokens.js.map +1 -0
  276. package/src/tokens/base.tokens.d.ts +5 -0
  277. package/src/tokens/base.tokens.js +9 -0
  278. package/src/tokens/base.tokens.js.map +1 -0
  279. package/src/tokens/flow-hook.tokens.d.ts +4 -0
  280. package/src/tokens/flow-hook.tokens.js +9 -0
  281. package/src/tokens/flow-hook.tokens.js.map +1 -0
  282. package/src/tokens/flow.tokens.d.ts +11 -0
  283. package/src/tokens/flow.tokens.js +16 -0
  284. package/src/tokens/flow.tokens.js.map +1 -0
  285. package/src/tokens/front-mcp.tokens.d.ts +3 -0
  286. package/src/tokens/front-mcp.tokens.js +19 -0
  287. package/src/tokens/front-mcp.tokens.js.map +1 -0
  288. package/src/tokens/index.d.ts +13 -0
  289. package/src/tokens/index.js +17 -0
  290. package/src/tokens/index.js.map +1 -0
  291. package/src/tokens/logger.tokens.d.ts +3 -0
  292. package/src/tokens/logger.tokens.js +11 -0
  293. package/src/tokens/logger.tokens.js.map +1 -0
  294. package/src/tokens/plugin.tokens.d.ts +13 -0
  295. package/src/tokens/plugin.tokens.js +18 -0
  296. package/src/tokens/plugin.tokens.js.map +1 -0
  297. package/src/tokens/prompt.tokens.d.ts +9 -0
  298. package/src/tokens/prompt.tokens.js +14 -0
  299. package/src/tokens/prompt.tokens.js.map +1 -0
  300. package/src/tokens/provider.tokens.d.ts +3 -0
  301. package/src/tokens/provider.tokens.js +12 -0
  302. package/src/tokens/provider.tokens.js.map +1 -0
  303. package/src/tokens/resource.tokens.d.ts +20 -0
  304. package/src/tokens/resource.tokens.js +25 -0
  305. package/src/tokens/resource.tokens.js.map +1 -0
  306. package/src/tokens/server.tokens.d.ts +6 -0
  307. package/src/tokens/server.tokens.js +11 -0
  308. package/src/tokens/server.tokens.js.map +1 -0
  309. package/src/tokens/tool.tokens.d.ts +13 -0
  310. package/src/tokens/tool.tokens.js +18 -0
  311. package/src/tokens/tool.tokens.js.map +1 -0
  312. package/src/types/auth/index.d.ts +2 -0
  313. package/src/types/auth/index.js +6 -0
  314. package/src/types/auth/index.js.map +1 -0
  315. package/src/types/auth/jwt.types.d.ts +112 -0
  316. package/src/types/auth/jwt.types.js +36 -0
  317. package/src/types/auth/jwt.types.js.map +1 -0
  318. package/src/types/auth/session.types.d.ts +263 -0
  319. package/src/types/auth/session.types.js +40 -0
  320. package/src/types/auth/session.types.js.map +1 -0
  321. package/src/types/common.types.d.ts +11 -0
  322. package/src/types/common.types.js +3 -0
  323. package/src/types/common.types.js.map +1 -0
  324. package/src/types/index.d.ts +3 -0
  325. package/src/types/index.js +7 -0
  326. package/src/types/index.js.map +1 -0
  327. package/src/types/options/auth.options.d.ts +513 -0
  328. package/src/types/options/auth.options.js +53 -0
  329. package/src/types/options/auth.options.js.map +1 -0
  330. package/src/types/options/http.options.d.ts +22 -0
  331. package/src/types/options/http.options.js +10 -0
  332. package/src/types/options/http.options.js.map +1 -0
  333. package/src/types/options/index.d.ts +5 -0
  334. package/src/types/options/index.js +9 -0
  335. package/src/types/options/index.js.map +1 -0
  336. package/src/types/options/logging.options.d.ts +39 -0
  337. package/src/types/options/logging.options.js +37 -0
  338. package/src/types/options/logging.options.js.map +1 -0
  339. package/src/types/options/server-info.options.d.ts +48 -0
  340. package/src/types/options/server-info.options.js +13 -0
  341. package/src/types/options/server-info.options.js.map +1 -0
  342. package/src/types/options/session.options.d.ts +67 -0
  343. package/src/types/options/session.options.js +9 -0
  344. package/src/types/options/session.options.js.map +1 -0
  345. package/src/utils/decide-request-intent.utils.d.ts +79 -0
  346. package/src/utils/decide-request-intent.utils.js +326 -0
  347. package/src/utils/decide-request-intent.utils.js.map +1 -0
  348. package/src/utils/index.d.ts +2 -0
  349. package/src/utils/index.js +6 -0
  350. package/src/utils/index.js.map +1 -0
  351. package/src/utils/path.utils.d.ts +20 -0
  352. package/src/utils/path.utils.js +66 -0
  353. package/src/utils/path.utils.js.map +1 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdapterEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class AdapterEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.AdapterEntry = AdapterEntry;
8
+ //# sourceMappingURL=adapter.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.entry.js","sourceRoot":"","sources":["../../../src/entries/adapter.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,YAAa,SAAQ,sBAA2D;CAGrG;AAHD,oCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AdapterRecord } from '../records';\nimport { AdapterInterface } from '../interfaces';\nimport { AdapterMetadata } from '../metadata';\n\n\nexport abstract class AdapterEntry extends BaseEntry<AdapterRecord, AdapterInterface, AdapterMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1,13 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { AppRecord } from '../records';
3
+ import { AdapterRegistryInterface, AppInterface, PluginRegistryInterface, PromptRegistryInterface, ProviderRegistryInterface, ResourceRegistryInterface, ToolRegistryInterface } from '../interfaces';
4
+ import { AppMetadata } from '../metadata';
5
+ export declare abstract class AppEntry extends BaseEntry<AppRecord, AppInterface, AppMetadata> {
6
+ readonly id: string;
7
+ abstract get providers(): ProviderRegistryInterface;
8
+ abstract get adapters(): AdapterRegistryInterface;
9
+ abstract get plugins(): PluginRegistryInterface;
10
+ abstract get tools(): ToolRegistryInterface;
11
+ abstract get resources(): ResourceRegistryInterface;
12
+ abstract get prompts(): PromptRegistryInterface;
13
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class AppEntry extends base_entry_1.BaseEntry {
6
+ id;
7
+ }
8
+ exports.AppEntry = AppEntry;
9
+ //# sourceMappingURL=app.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.entry.js","sourceRoot":"","sources":["../../../src/entries/app.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AASzC,MAAsB,QAAS,SAAQ,sBAA+C;IAC3E,EAAE,CAAS;CAarB;AAdD,4BAcC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AppRecord } from '../records';\nimport {\n AdapterRegistryInterface,\n AppInterface, PluginRegistryInterface, PromptRegistryInterface, ProviderRegistryInterface, ResourceRegistryInterface,\n ToolRegistryInterface,\n} from '../interfaces';\nimport { AppMetadata } from '../metadata';\n\nexport abstract class AppEntry extends BaseEntry<AppRecord, AppInterface, AppMetadata> {\n readonly id: string;\n\n abstract get providers(): ProviderRegistryInterface;\n\n abstract get adapters(): AdapterRegistryInterface;\n\n abstract get plugins(): PluginRegistryInterface;\n\n abstract get tools(): ToolRegistryInterface;\n\n abstract get resources(): ResourceRegistryInterface;\n\n abstract get prompts(): PromptRegistryInterface;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { AuthProviderRecord } from '../records';
3
+ import { AuthProviderInterface } from '../interfaces';
4
+ import { AuthProviderMetadata } from '../metadata';
5
+ export declare abstract class AuthProviderEntry extends BaseEntry<AuthProviderRecord, AuthProviderInterface, AuthProviderMetadata> {
6
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthProviderEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class AuthProviderEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.AuthProviderEntry = AuthProviderEntry;
8
+ //# sourceMappingURL=auth-provider.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.entry.js","sourceRoot":"","sources":["../../../src/entries/auth-provider.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,iBAAkB,SAAQ,sBAA0E;CAGzH;AAHD,8CAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { AuthProviderRecord } from '../records';\nimport { AuthProviderInterface } from '../interfaces';\nimport { AuthProviderMetadata } from '../metadata';\n\n\nexport abstract class AuthProviderEntry extends BaseEntry<AuthProviderRecord, AuthProviderInterface, AuthProviderMetadata> {\n\n\n}"]}
@@ -0,0 +1,20 @@
1
+ import 'reflect-metadata';
2
+ import { Token } from '../interfaces';
3
+ export type EntryOwnerKind = 'scope' | 'app' | 'plugin' | 'adapter';
4
+ export type EntryOwnerRef = {
5
+ kind: EntryOwnerKind;
6
+ id: string;
7
+ ref: Token;
8
+ };
9
+ export type EntryLineage = EntryOwnerRef[];
10
+ export declare abstract class BaseEntry<Record extends {
11
+ provide: any;
12
+ metadata: any;
13
+ }, Interface, Metadata> {
14
+ ready: Promise<void>;
15
+ protected readonly record: Record;
16
+ protected readonly token: Token<Interface>;
17
+ readonly metadata: Metadata;
18
+ constructor(record: Record, token?: Token<Interface>, metadata?: Metadata);
19
+ protected abstract initialize(): Promise<void>;
20
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEntry = void 0;
4
+ require("reflect-metadata");
5
+ class BaseEntry {
6
+ ready;
7
+ record;
8
+ token;
9
+ metadata;
10
+ constructor(record, token, metadata) {
11
+ this.record = record;
12
+ this.token = token ?? record.provide;
13
+ this.metadata = metadata ?? record.metadata;
14
+ }
15
+ }
16
+ exports.BaseEntry = BaseEntry;
17
+ //# sourceMappingURL=base.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.entry.js","sourceRoot":"","sources":["../../../src/entries/base.entry.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAQ1B,MAAsB,SAAS;IAC7B,KAAK,CAAgB;IACF,MAAM,CAAS;IACf,KAAK,CAAmB;IAClC,QAAQ,CAAW;IAE5B,YAAY,MAAc,EAAE,KAAwB,EAAE,QAAmB;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC9C,CAAC;CAGF;AAbD,8BAaC","sourcesContent":["import 'reflect-metadata';\nimport { Token } from '../interfaces';\n\nexport type EntryOwnerKind = 'scope' | 'app' | 'plugin' | 'adapter';\nexport type EntryOwnerRef = { kind: EntryOwnerKind; id: string, ref: Token };\nexport type EntryLineage = EntryOwnerRef[]; // root -> leaf; e.g. [{kind:'app', id:'Portal'}, {kind:'plugin', id:'Okta'}]\n\n\nexport abstract class BaseEntry<Record extends { provide: any, metadata: any }, Interface, Metadata> {\n ready: Promise<void>;\n protected readonly record: Record;\n protected readonly token: Token<Interface>;\n readonly metadata: Metadata;\n\n constructor(record: Record, token?: Token<Interface>, metadata?: Metadata) {\n this.record = record;\n this.token = token ?? record.provide;\n this.metadata = metadata ?? record.metadata;\n }\n\n protected abstract initialize(): Promise<void>;\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import 'reflect-metadata';
2
+ import { BaseEntry } from './base.entry';
3
+ import { FlowRecord } from '../records';
4
+ import { FlowBase, FlowInputOf, FlowOutputOf, HttpMethod, ServerRequest, Token, Type } from '../interfaces';
5
+ import { FlowMetadata, FlowName } from '../metadata';
6
+ import { ScopeEntry } from './scope.entry';
7
+ export declare abstract class FlowEntry<Name extends FlowName> extends BaseEntry<FlowRecord, FlowBase, FlowMetadata<never>> {
8
+ readonly name: Name;
9
+ readonly path?: RegExp | string;
10
+ readonly method?: HttpMethod;
11
+ readonly scope: ScopeEntry;
12
+ abstract canActivate(request: ServerRequest): Promise<boolean>;
13
+ abstract run(input: FlowInputOf<Name>, deps: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>;
14
+ protected constructor(scope: ScopeEntry, record: FlowRecord, token?: Token<FlowBase>, metadata?: FlowMetadata<never>);
15
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowEntry = void 0;
4
+ require("reflect-metadata");
5
+ const base_entry_1 = require("./base.entry");
6
+ class FlowEntry extends base_entry_1.BaseEntry {
7
+ name;
8
+ path; // string can be "/test/**" or "/test/*/asds", default to all paths;
9
+ method;
10
+ scope;
11
+ constructor(scope, record, token, metadata) {
12
+ super(record, token, metadata);
13
+ const { path, method } = record.metadata.middleware ?? metadata?.middleware ?? {};
14
+ this.name = metadata?.name ?? record.metadata?.name;
15
+ this.path = path;
16
+ this.method = method;
17
+ this.scope = scope;
18
+ }
19
+ }
20
+ exports.FlowEntry = FlowEntry;
21
+ //# sourceMappingURL=flow.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.entry.js","sourceRoot":"","sources":["../../../src/entries/flow.entry.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,6CAAyC;AAQzC,MAAsB,SAAiC,SAAQ,sBAAoD;IACxG,IAAI,CAAO;IACX,IAAI,CAAmB,CAAC,oEAAoE;IAC5F,MAAM,CAAc;IACpB,KAAK,CAAa;IAM3B,YAAsB,KAAiB,EAAC,MAAkB,EAAE,KAAuB,EAAE,QAA8B;QACjH,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAEF;AAnBD,8BAmBC","sourcesContent":["import 'reflect-metadata';\nimport { BaseEntry } from './base.entry';\nimport { FlowRecord } from '../records';\nimport { FlowBase, FlowInputOf, FlowOutputOf, HttpMethod, ServerRequest, Token, Type } from '../interfaces';\nimport { FlowMetadata, FlowName } from '../metadata';\nimport { ScopeEntry } from './scope.entry';\nimport { z } from 'zod';\n\n\nexport abstract class FlowEntry<Name extends FlowName> extends BaseEntry<FlowRecord, FlowBase, FlowMetadata<never>> {\n readonly name: Name;\n readonly path?: RegExp | string; // string can be \"/test/**\" or \"/test/*/asds\", default to all paths;\n readonly method?: HttpMethod;\n readonly scope: ScopeEntry;\n\n abstract canActivate(request: ServerRequest): Promise<boolean>\n\n abstract run(input: FlowInputOf<Name>, deps: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>\n\n protected constructor(scope: ScopeEntry,record: FlowRecord, token?: Token<FlowBase>, metadata?: FlowMetadata<never>) {\n super(record, token, metadata);\n const { path, method } = record.metadata.middleware ?? metadata?.middleware ?? {};\n this.name = metadata?.name ?? record.metadata?.name;\n this.path = path;\n this.method = method;\n this.scope = scope;\n }\n\n}\n\n"]}
@@ -0,0 +1,12 @@
1
+ export * from './base.entry';
2
+ export * from './scope.entry';
3
+ export * from './flow.entry';
4
+ export * from './app.entry';
5
+ export * from './provider.entry';
6
+ export * from './auth-provider.entry';
7
+ export * from './plugin.entry';
8
+ export * from './adapter.entry';
9
+ export * from './tool.entry';
10
+ export * from './resource.entry';
11
+ export * from './prompt.entry';
12
+ export * from './logger.entry';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./base.entry"), exports);
5
+ tslib_1.__exportStar(require("./scope.entry"), exports);
6
+ tslib_1.__exportStar(require("./flow.entry"), exports);
7
+ tslib_1.__exportStar(require("./app.entry"), exports);
8
+ tslib_1.__exportStar(require("./provider.entry"), exports);
9
+ tslib_1.__exportStar(require("./auth-provider.entry"), exports);
10
+ tslib_1.__exportStar(require("./plugin.entry"), exports);
11
+ tslib_1.__exportStar(require("./adapter.entry"), exports);
12
+ tslib_1.__exportStar(require("./tool.entry"), exports);
13
+ tslib_1.__exportStar(require("./resource.entry"), exports);
14
+ tslib_1.__exportStar(require("./prompt.entry"), exports);
15
+ tslib_1.__exportStar(require("./logger.entry"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entries/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,wDAA8B;AAC9B,uDAA6B;AAC7B,sDAA4B;AAC5B,2DAAiC;AACjC,gEAAsC;AACtC,yDAA+B;AAC/B,0DAAgC;AAChC,uDAA6B;AAC7B,2DAAiC;AACjC,yDAA+B;AAC/B,yDAA+B","sourcesContent":["export * from './base.entry';\nexport * from './scope.entry';\nexport * from './flow.entry';\nexport * from './app.entry';\nexport * from './provider.entry';\nexport * from './auth-provider.entry';\nexport * from './plugin.entry';\nexport * from './adapter.entry';\nexport * from './tool.entry';\nexport * from './resource.entry';\nexport * from './prompt.entry';\nexport * from './logger.entry';\n"]}
@@ -0,0 +1,6 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { LogTransportInterface } from '../interfaces';
3
+ import { LoggerRecord } from '../records';
4
+ import { LogTransportMetadata } from '../metadata';
5
+ export declare abstract class LoggerEntry extends BaseEntry<LoggerRecord, LogTransportInterface, LogTransportMetadata> {
6
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class LoggerEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.LoggerEntry = LoggerEntry;
8
+ //# sourceMappingURL=logger.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.entry.js","sourceRoot":"","sources":["../../../src/entries/logger.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,WAAY,SAAQ,sBAAoE;CAG7G;AAHD,kCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { LogTransportInterface } from '../interfaces';\nimport { LoggerRecord } from '../records';\nimport { LogTransportMetadata } from '../metadata';\n\n\nexport abstract class LoggerEntry extends BaseEntry<LoggerRecord, LogTransportInterface, LogTransportMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1,6 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { PluginRecord } from '../records';
3
+ import { PluginInterface } from '../interfaces';
4
+ import { PluginMetadata } from '../metadata';
5
+ export declare abstract class PluginEntry extends BaseEntry<PluginRecord, PluginInterface, PluginMetadata> {
6
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class PluginEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.PluginEntry = PluginEntry;
8
+ //# sourceMappingURL=plugin.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.entry.js","sourceRoot":"","sources":["../../../src/entries/plugin.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,WAAY,SAAQ,sBAAwD;CAGjG;AAHD,kCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { PluginRecord } from '../records';\nimport { PluginInterface } from '../interfaces';\nimport { PluginMetadata } from '../metadata';\n\n\nexport abstract class PluginEntry extends BaseEntry<PluginRecord, PluginInterface, PluginMetadata> {\n\n\n}"]}
@@ -0,0 +1,6 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { PromptRecord } from '../records';
3
+ import { PromptInterface } from '../interfaces';
4
+ import { PromptMetadata } from '../metadata';
5
+ export declare abstract class PromptEntry extends BaseEntry<PromptRecord, PromptInterface, PromptMetadata> {
6
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromptEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class PromptEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.PromptEntry = PromptEntry;
8
+ //# sourceMappingURL=prompt.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.entry.js","sourceRoot":"","sources":["../../../src/entries/prompt.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAsB,WAAY,SAAQ,sBAAwD;CAGjG;AAHD,kCAGC","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { PromptRecord } from '../records';\nimport { PromptInterface } from '../interfaces';\nimport { PromptMetadata } from '../metadata';\n\n\nexport abstract class PromptEntry extends BaseEntry<PromptRecord, PromptInterface, PromptMetadata> {\n\n\n}\n\n"]}
@@ -0,0 +1,7 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { ProviderRecord } from '../records';
3
+ import { ProviderInterface } from '../interfaces';
4
+ import { ProviderMetadata } from '../metadata';
5
+ declare abstract class ProviderEntry extends BaseEntry<ProviderRecord, ProviderInterface, ProviderMetadata> {
6
+ }
7
+ export { ProviderEntry, };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class ProviderEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.ProviderEntry = ProviderEntry;
8
+ //# sourceMappingURL=provider.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.entry.js","sourceRoot":"","sources":["../../../src/entries/provider.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAMzC,MAAe,aAAc,SAAQ,sBAA8D;CAGlG;AAIC,sCAAa","sourcesContent":["import { BaseEntry } from './base.entry';\nimport { ProviderRecord } from '../records';\nimport { ProviderInterface } from '../interfaces';\nimport { ProviderMetadata } from '../metadata';\n\n\nabstract class ProviderEntry extends BaseEntry<ProviderRecord, ProviderInterface, ProviderMetadata> {\n\n\n}\n\n\nexport {\n ProviderEntry,\n};"]}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { BaseEntry } from './base.entry';
3
+ import { ResourceRecord } from '../records';
4
+ import { ResourceInterface } from '../interfaces';
5
+ import { ResourceMetadata } from '../metadata';
6
+ export declare abstract class ResourceEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ResourceRecord, ResourceInterface<In, Out>, ResourceMetadata> {
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class ResourceEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.ResourceEntry = ResourceEntry;
8
+ // TODO: support resource templates
9
+ // abstract class ResourceTemplateEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ResourceTemplateRecord, ResourceTemplateInterface<In, Out>, ResourceTemplateType> {
10
+ // }
11
+ //# sourceMappingURL=resource.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.entry.js","sourceRoot":"","sources":["../../../src/entries/resource.entry.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAMzC,MAAsB,aAAuD,SAAQ,sBACtB;CAG9D;AAJD,sCAIC;AAGD,mCAAmC;AACnC,sLAAsL;AACtL,IAAI","sourcesContent":["import { z } from 'zod';\nimport { BaseEntry } from './base.entry';\nimport { ResourceRecord } from '../records';\nimport { ResourceInterface } from '../interfaces';\nimport { ResourceMetadata } from '../metadata';\n\n\nexport abstract class ResourceEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<\n ResourceRecord, ResourceInterface<In, Out>, ResourceMetadata> {\n\n\n}\n\n\n// TODO: support resource templates\n// abstract class ResourceTemplateEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ResourceTemplateRecord, ResourceTemplateInterface<In, Out>, ResourceTemplateType> {\n// }"]}
@@ -0,0 +1,17 @@
1
+ import { BaseEntry } from './base.entry';
2
+ import { ScopeRecord } from '../records';
3
+ import { ScopeInterface, ProviderRegistryInterface, AppRegistryInterface, AuthRegistryInterface, FrontMcpAuth, Token, FlowInputOf, FlowOutputOf, Type, FlowType, FrontMcpLogger, ToolRegistryInterface } from '../interfaces';
4
+ import { FlowName, ScopeMetadata } from '../metadata';
5
+ export declare abstract class ScopeEntry extends BaseEntry<ScopeRecord, ScopeInterface, ScopeMetadata> {
6
+ abstract readonly id: string;
7
+ abstract readonly entryPath: string;
8
+ abstract readonly routeBase: string;
9
+ abstract readonly logger: FrontMcpLogger;
10
+ abstract get auth(): FrontMcpAuth;
11
+ abstract get authProviders(): AuthRegistryInterface;
12
+ abstract get providers(): ProviderRegistryInterface;
13
+ abstract get apps(): AppRegistryInterface;
14
+ abstract get tools(): ToolRegistryInterface;
15
+ abstract registryFlows(...flows: FlowType[]): Promise<void>;
16
+ abstract runFlow<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, additionalDeps?: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>;
17
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class ScopeEntry extends base_entry_1.BaseEntry {
6
+ }
7
+ exports.ScopeEntry = ScopeEntry;
8
+ //# sourceMappingURL=scope.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.entry.js","sourceRoot":"","sources":["../../../src/entries/scope.entry.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAYvC,MAAsB,UAAW,SAAQ,sBAAqD;CAmB7F;AAnBD,gCAmBC","sourcesContent":["import {BaseEntry} from './base.entry';\nimport {ScopeRecord} from '../records';\nimport {\n ScopeInterface,\n ProviderRegistryInterface,\n AppRegistryInterface,\n AuthRegistryInterface,\n FrontMcpAuth,\n Token, FlowInputOf, FlowOutputOf, Type, FlowType, FrontMcpLogger, ToolRegistryInterface,\n} from '../interfaces';\nimport {FlowName, ScopeMetadata} from '../metadata';\n\nexport abstract class ScopeEntry extends BaseEntry<ScopeRecord, ScopeInterface, ScopeMetadata> {\n abstract readonly id: string;\n abstract readonly entryPath: string;\n abstract readonly routeBase: string;\n abstract readonly logger: FrontMcpLogger;\n\n abstract get auth(): FrontMcpAuth;\n\n abstract get authProviders(): AuthRegistryInterface;\n\n abstract get providers(): ProviderRegistryInterface;\n\n abstract get apps(): AppRegistryInterface;\n\n abstract get tools(): ToolRegistryInterface;\n\n abstract registryFlows(...flows: FlowType[]): Promise<void>;\n\n abstract runFlow<Name extends FlowName>(name: Name, input: FlowInputOf<Name>, additionalDeps?: Map<Token, Type>): Promise<FlowOutputOf<Name> | undefined>;\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { BaseEntry, EntryOwnerRef } from './base.entry';
3
+ import { ToolRecord } from '../records';
4
+ import { ToolContext } from '../interfaces';
5
+ import { ToolMetadata } from '../metadata';
6
+ import { Request, Notification, CallToolRequest } from "@modelcontextprotocol/sdk/types.js";
7
+ import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
8
+ export type ToolCallArgs = CallToolRequest["params"]["arguments"];
9
+ export type ToolCallExtra = RequestHandlerExtra<Request, Notification>;
10
+ export declare abstract class ToolEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ToolRecord, ToolContext<In, Out>, ToolMetadata> {
11
+ owner: EntryOwnerRef;
12
+ inputSchema: z.ZodObject<any>;
13
+ outputSchema: z.ZodObject<any>;
14
+ abstract create(input: ToolCallArgs, ctx: ToolCallExtra): ToolContext<In, Out>;
15
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolEntry = void 0;
4
+ const base_entry_1 = require("./base.entry");
5
+ class ToolEntry extends base_entry_1.BaseEntry {
6
+ owner;
7
+ inputSchema;
8
+ outputSchema;
9
+ }
10
+ exports.ToolEntry = ToolEntry;
11
+ //# sourceMappingURL=tool.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.entry.js","sourceRoot":"","sources":["../../../src/entries/tool.entry.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAWtD,MAAsB,SAAmD,SAAQ,sBAAyD;IACxI,KAAK,CAAgB;IACrB,WAAW,CAAmB;IAC9B,YAAY,CAAmB;CAGhC;AAND,8BAMC","sourcesContent":["import {z} from 'zod';\nimport {BaseEntry, EntryOwnerRef} from './base.entry';\nimport {ToolRecord} from '../records';\nimport {ToolContext} from '../interfaces';\nimport {ToolMetadata} from '../metadata';\nimport {Request, Notification, CallToolRequest} from \"@modelcontextprotocol/sdk/types.js\";\nimport {RequestHandlerExtra} from \"@modelcontextprotocol/sdk/shared/protocol.js\";\n\n\nexport type ToolCallArgs = CallToolRequest[\"params\"][\"arguments\"];\nexport type ToolCallExtra = RequestHandlerExtra<Request, Notification>;\n\nexport abstract class ToolEntry<In = z.ZodRawShape, Out = z.ZodRawShape> extends BaseEntry<ToolRecord, ToolContext<In, Out>, ToolMetadata> {\n owner: EntryOwnerRef;\n inputSchema: z.ZodObject<any>;\n outputSchema: z.ZodObject<any>;\n\n abstract create(input: ToolCallArgs, ctx: ToolCallExtra): ToolContext<In, Out>;\n}\n"]}
package/src/index.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export * from './constants';
2
+ export * from './decorators';
3
+ export * from './types';
4
+ export * from './metadata';
5
+ export * from './interfaces';
6
+ export * from './tokens';
7
+ export * from './dynamic';
8
+ export * from './records';
9
+ export * from './entries';
10
+ export * from './utils';
11
+ export * from './schemas';
12
+ export * from './decorators-old/async-with.decorator';
13
+ export * from './decorators-old/tool-hook.decorator';
14
+ export * from './decorators-old/session-hook.decorator';
15
+ export * from './interfaces/tool-hook.interface';
16
+ export * from './interfaces/session-hook.interface';
17
+ export * from './interfaces/auth-hook.interface';
18
+ export * from './providers/session.provider';
package/src/index.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./constants"), exports);
5
+ tslib_1.__exportStar(require("./decorators"), exports);
6
+ tslib_1.__exportStar(require("./types"), exports);
7
+ tslib_1.__exportStar(require("./metadata"), exports);
8
+ tslib_1.__exportStar(require("./interfaces"), exports);
9
+ tslib_1.__exportStar(require("./tokens"), exports);
10
+ tslib_1.__exportStar(require("./dynamic"), exports);
11
+ tslib_1.__exportStar(require("./records"), exports);
12
+ tslib_1.__exportStar(require("./entries"), exports);
13
+ tslib_1.__exportStar(require("./utils"), exports);
14
+ tslib_1.__exportStar(require("./schemas"), exports);
15
+ tslib_1.__exportStar(require("./decorators-old/async-with.decorator"), exports);
16
+ tslib_1.__exportStar(require("./decorators-old/tool-hook.decorator"), exports);
17
+ tslib_1.__exportStar(require("./decorators-old/session-hook.decorator"), exports);
18
+ tslib_1.__exportStar(require("./interfaces/tool-hook.interface"), exports);
19
+ tslib_1.__exportStar(require("./interfaces/session-hook.interface"), exports);
20
+ tslib_1.__exportStar(require("./interfaces/auth-hook.interface"), exports);
21
+ tslib_1.__exportStar(require("./providers/session.provider"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B;AAC7B,kDAAwB;AACxB,qDAA2B;AAC3B,uDAA6B;AAC7B,mDAAyB;AACzB,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,oDAA0B;AAE1B,gFAAsD;AACtD,+EAAqD;AACrD,kFAAwD;AAExD,2EAAiD;AACjD,8EAAoD;AACpD,2EAAiD;AAGjD,uEAA6C","sourcesContent":["export * from './constants';\nexport * from './decorators';\nexport * from './types';\nexport * from './metadata';\nexport * from './interfaces';\nexport * from './tokens';\nexport * from './dynamic';\nexport * from './records';\nexport * from './entries';\nexport * from './utils';\nexport * from './schemas';\n\nexport * from './decorators-old/async-with.decorator';\nexport * from './decorators-old/tool-hook.decorator';\nexport * from './decorators-old/session-hook.decorator';\n\nexport * from './interfaces/tool-hook.interface';\nexport * from './interfaces/session-hook.interface';\nexport * from './interfaces/auth-hook.interface';\n\n\nexport * from './providers/session.provider';\n\n\n"]}
@@ -0,0 +1,20 @@
1
+ import { ClassType, FactoryType, Token, Type, ValueType } from './base.interface';
2
+ import { ToolType } from './tool.interface';
3
+ import { ResourceType } from './resource.interface';
4
+ import { PromptType } from './prompt.interface';
5
+ import { AdapterMetadata } from '../metadata';
6
+ export interface AdapterInterface {
7
+ options: {
8
+ name: string;
9
+ } & Record<string, unknown>;
10
+ fetch: () => Promise<FrontMcpAdapterResponse> | FrontMcpAdapterResponse;
11
+ }
12
+ export interface FrontMcpAdapterResponse {
13
+ tools?: ToolType[];
14
+ resources?: ResourceType[];
15
+ prompts?: PromptType[];
16
+ }
17
+ export type AdapterClassType<Provide> = ClassType<Provide> & AdapterMetadata;
18
+ export type AdapterValueType<Provide> = ValueType<Provide> & AdapterMetadata;
19
+ export type AdapterFactoryType<Provide, Tokens extends readonly Token[]> = FactoryType<Provide, Tokens> & AdapterMetadata;
20
+ export type AdapterType<Provide extends AdapterInterface = any> = Type<Provide> | AdapterClassType<Provide> | AdapterValueType<Provide> | AdapterFactoryType<Provide, any[]>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=adapter.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../../src/interfaces/adapter.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {ClassType, FactoryType, Token, Type, ValueType} from './base.interface';\nimport {ToolType} from './tool.interface';\nimport {ResourceType} from './resource.interface';\nimport {PromptType} from './prompt.interface';\nimport {AdapterMetadata} from '../metadata';\n\nexport interface AdapterInterface {\n options: { name: string } & Record<string, unknown>;\n fetch: () => Promise<FrontMcpAdapterResponse> | FrontMcpAdapterResponse;\n}\n\nexport interface FrontMcpAdapterResponse {\n tools?: ToolType[];\n resources?: ResourceType[];\n prompts?: PromptType[];\n}\n\n\nexport type AdapterClassType<Provide> = ClassType<Provide> & AdapterMetadata;\nexport type AdapterValueType<Provide> = ValueType<Provide> & AdapterMetadata;\nexport type AdapterFactoryType<Provide, Tokens extends readonly Token[]> =\n FactoryType<Provide, Tokens>\n & AdapterMetadata;\n\n\nexport type AdapterType<Provide extends AdapterInterface = any> =\n | Type<Provide>\n | AdapterClassType<Provide>\n | AdapterValueType<Provide>\n | AdapterFactoryType<Provide, any[]>\n\n"]}
@@ -0,0 +1,6 @@
1
+ import { Type, ValueType } from './base.interface';
2
+ import { AppMetadata } from '../metadata';
3
+ export interface AppInterface {
4
+ }
5
+ export type AppValueType<Provide> = ValueType<Provide> & AppMetadata;
6
+ export type AppType<T extends AppInterface = any> = Type<T> | AppValueType<T>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=app.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.interface.js","sourceRoot":"","sources":["../../../src/interfaces/app.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { Type, ValueType } from './base.interface';\nimport { AppMetadata } from '../metadata';\n\nexport interface AppInterface {\n\n}\n\nexport type AppValueType<Provide> = ValueType<Provide> & AppMetadata;\n\nexport type AppType<T extends AppInterface = any> =\n | Type<T>\n | AppValueType<T>"]}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Lifecycle stages for auth invocation.
3
+ *
4
+ * Ordering notes:
5
+ * - "will*" stages run before the action; "did*" stages run after.
6
+ * - Higher `priority()` runs earlier for "will*" (outermost), and later for "did*".
7
+ * - Finalization stages (`willFinalize`, `willAudit`, `didAudit`, `onMetrics`) should be placed
8
+ * in your plan’s `finalize` array to run on both success and error paths.
9
+ *
10
+ * Control flow:
11
+ * - Hooks may call `ctx.respond(value)` to short-circuit with a return value.
12
+ * - Hooks may call `ctx.abort(reason, code?, httpStatus?)` to stop with an error.
13
+ *
14
+ */
15
+ export declare enum AuthHookStage {
16
+ /** Prepare a new session (or re-register an incoming secureJwt).
17
+ * Responsibilities:
18
+ * - Validate incoming token (if any); compute defaults; attach user hints.
19
+ * - Initialize per-session resources and attach to `ctx.data`.
20
+ * Failure modes:
21
+ * - `ctx.abort('invalid jwt', 'INVALID_SESSION', 401)`.
22
+ */
23
+ willCreateSession = "willCreateSession",
24
+ /** Session created and registered.
25
+ * Responsibilities:
26
+ * - Announce readiness (mount handlers/streams), emit side-effects if needed.
27
+ * - Optionally shape `ctx.output` with a `SessionContextView`.
28
+ */
29
+ didCreateSession = "didCreateSession",
30
+ /** Bind DI providers needed for this session/request.
31
+ * Responsibilities:
32
+ * - Resolve and bind providers so later hooks can `ctx.get(...)`.
33
+ * - May set `ctx.bindProvider/bindProviders` helpers.
34
+ */
35
+ willBindProviders = "willBindProviders",
36
+ /** Signal the beginning of an auth sequence in the scope of this session.
37
+ * Responsibilities:
38
+ * - Initialize auth-related state (PKCE/state, CSRF, telemetry).
39
+ * - Decide transport (SSE/StreamableHTTP) for status/URL events if applicable.
40
+ */
41
+ willBeginAuth = "willBeginAuth",
42
+ /** Streamable authorization progress within the session.
43
+ * Responsibilities:
44
+ * - Emit URL/status events (e.g., “authorize_url”, “awaiting_callback”).
45
+ * - Optionally `ctx.respond({event: ...})` for push-style transports.
46
+ */
47
+ willAuthorize = "willAuthorize",// stream-able events (URL/status)
48
+ /** Prepare and gate the token exchange with the provider.
49
+ * Responsibilities:
50
+ * - Verify callback params; ensure prerequisites (sessionId present).
51
+ * - Compute exchange request; rate-limit/anti-replay checks.
52
+ * Failure modes:
53
+ * - `ctx.abort('invalid state/pkce', 'OAUTH_CALLBACK_ERROR', 400)`.
54
+ */
55
+ willExchangeToken = "willExchangeToken",
56
+ /** SecureMcp JWT has been minted/confirmed for this session.
57
+ * Responsibilities:
58
+ * - React to issuance (e.g., persist session claims, notify listeners).
59
+ * Notes:
60
+ * - Fired once the session’s secureJwt is known; avoid logging secrets.
61
+ */
62
+ didIssueSecureJwt = "didIssueSecureJwt",
63
+ /** Encrypt and store provider tokens for this session.
64
+ * Responsibilities:
65
+ * - Write encrypted blobs to the session record (per provider).
66
+ * - Derive minimal metadata (scopes/expiry) for later claims-only exposure.
67
+ */
68
+ willStoreTokens = "willStoreTokens",
69
+ /** Authorize and prepare a session read.
70
+ * Responsibilities:
71
+ * - Validate access to the session; attach read-scoped providers if required.
72
+ * - Optionally shape a partial view before execute.
73
+ */
74
+ willGetSession = "willGetSession",
75
+ /** Post-process the session view.
76
+ * Responsibilities:
77
+ * - Redact/transform/derive fields for the final response.
78
+ * - Set `ctx.output` to a `SessionContextView`.
79
+ */
80
+ didGetSession = "didGetSession",
81
+ /** Announce shutdown and allow flush/cleanup.
82
+ * Responsibilities:
83
+ * - Close streams, unsubscribe listeners, schedule disposers.
84
+ */
85
+ willDisposeSession = "willDisposeSession",
86
+ /** Confirm teardown and emit metrics.
87
+ * Responsibilities:
88
+ * - Final confirmation of resource release; summarize outcome.
89
+ */
90
+ didDisposeSession = "didDisposeSession",
91
+ /** Optional “late finally” hook if you need a single place before audit/metrics.
92
+ * Responsibilities:
93
+ * - Last-chance cleanup across success/error paths (idempotent, non-throwing).
94
+ * Notes:
95
+ * - Include this stage in your plan’s `finalize` array to activate.
96
+ */
97
+ willFinalize = "willFinalize",
98
+ /** Centralized error handler.
99
+ * Responsibilities:
100
+ * - Redact sensitive data; map internal errors to public codes.
101
+ * - Optionally `ctx.respond({ error })` or `ctx.abort(...)`.
102
+ * Notes:
103
+ * - Should not throw; runs before audit/metrics finalize.
104
+ */
105
+ onError = "onError",
106
+ /** Pre-audit collection on both success and error paths.
107
+ * Responsibilities:
108
+ * - Build audit envelope (actor, sessionId, providers touched).
109
+ * - Normalize and strip secrets (no raw tokens).
110
+ */
111
+ willAudit = "willAudit",
112
+ /** Persist/emit the audit record.
113
+ * Responsibilities:
114
+ * - Write to audit sink(s) with outcome and timings.
115
+ * - Correlate via `ctx.requestId`/`ctx.sessionId`.
116
+ */
117
+ didAudit = "didAudit",
118
+ /** Telemetry/metrics emission for both success and errors.
119
+ * Responsibilities:
120
+ * - Counters & timings (create/get/dispose/auth/exchange/store).
121
+ * - Error code/tag cardinality kept small for SLOs/alerts.
122
+ * Constraints:
123
+ * - Non-throwing; must not alter control flow.
124
+ */
125
+ onMetrics = "onMetrics"
126
+ }