@frontmcp/sdk 1.8.0 → 1.8.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 (240) hide show
  1. package/agent/agent.instance.d.ts.map +1 -1
  2. package/agent/agent.scope.d.ts +2 -411
  3. package/agent/agent.scope.d.ts.map +1 -1
  4. package/agent/flows/call-agent.flow.d.ts +1 -0
  5. package/agent/flows/call-agent.flow.d.ts.map +1 -1
  6. package/app/instances/app.local.instance.d.ts.map +1 -1
  7. package/app/remote-capabilities.utils.d.ts +4 -0
  8. package/app/remote-capabilities.utils.d.ts.map +1 -0
  9. package/auth/flows/oauth.auth-ui.flow.d.ts +3 -2
  10. package/auth/flows/oauth.auth-ui.flow.d.ts.map +1 -1
  11. package/auth/flows/oauth.authorize.flow.d.ts +5 -4
  12. package/auth/flows/oauth.authorize.flow.d.ts.map +1 -1
  13. package/auth/flows/oauth.callback.flow.d.ts +4 -3
  14. package/auth/flows/oauth.callback.flow.d.ts.map +1 -1
  15. package/auth/flows/oauth.connect.flow.d.ts +3 -2
  16. package/auth/flows/oauth.connect.flow.d.ts.map +1 -1
  17. package/auth/flows/oauth.provider-callback.flow.d.ts +4 -3
  18. package/auth/flows/oauth.provider-callback.flow.d.ts.map +1 -1
  19. package/auth/flows/oauth.register.flow.d.ts +3 -2
  20. package/auth/flows/oauth.register.flow.d.ts.map +1 -1
  21. package/auth/flows/oauth.token.flow.d.ts +3 -2
  22. package/auth/flows/oauth.token.flow.d.ts.map +1 -1
  23. package/auth/flows/oauth.userinfo.flow.d.ts +3 -2
  24. package/auth/flows/oauth.userinfo.flow.d.ts.map +1 -1
  25. package/auth/flows/well-known.jwks.flow.d.ts +5 -4
  26. package/auth/flows/well-known.jwks.flow.d.ts.map +1 -1
  27. package/auth/flows/well-known.oauth-authorization-server.flow.d.ts +4 -3
  28. package/auth/flows/well-known.oauth-authorization-server.flow.d.ts.map +1 -1
  29. package/auth/flows/well-known.prm.flow.d.ts +3 -2
  30. package/auth/flows/well-known.prm.flow.d.ts.map +1 -1
  31. package/common/decorators/agent.decorator.d.ts +27 -6
  32. package/common/decorators/agent.decorator.d.ts.map +1 -1
  33. package/common/decorators/resource.decorator.d.ts.map +1 -1
  34. package/common/decorators/tool.decorator.d.ts +17 -9
  35. package/common/decorators/tool.decorator.d.ts.map +1 -1
  36. package/common/dynamic/dynamic.plugin.d.ts +1 -0
  37. package/common/dynamic/dynamic.plugin.d.ts.map +1 -1
  38. package/common/entries/resource.entry.d.ts +2 -2
  39. package/common/entries/resource.entry.d.ts.map +1 -1
  40. package/common/interfaces/agent.interface.d.ts +1 -1
  41. package/common/interfaces/agent.interface.d.ts.map +1 -1
  42. package/common/interfaces/execution-context.interface.d.ts +4 -4
  43. package/common/interfaces/execution-context.interface.d.ts.map +1 -1
  44. package/common/interfaces/flow.interface.d.ts +7 -2
  45. package/common/interfaces/flow.interface.d.ts.map +1 -1
  46. package/common/interfaces/prompt.interface.d.ts +12 -5
  47. package/common/interfaces/prompt.interface.d.ts.map +1 -1
  48. package/common/interfaces/tool-hook.interface.d.ts +2 -2
  49. package/common/interfaces/tool.interface.d.ts +14 -8
  50. package/common/interfaces/tool.interface.d.ts.map +1 -1
  51. package/common/metadata/agent.metadata.d.ts +6 -6
  52. package/common/metadata/app.metadata.d.ts +40 -40
  53. package/common/metadata/app.metadata.d.ts.map +1 -1
  54. package/common/metadata/front-mcp.metadata.d.ts +488 -413
  55. package/common/metadata/front-mcp.metadata.d.ts.map +1 -1
  56. package/common/metadata/job.metadata.d.ts +2 -2
  57. package/common/metadata/output-policy.d.ts +1 -1
  58. package/common/metadata/plugin.metadata.d.ts +8 -8
  59. package/common/metadata/prompt.metadata.d.ts +1 -1
  60. package/common/metadata/prompt.metadata.d.ts.map +1 -1
  61. package/common/metadata/skill.metadata.d.ts +1 -1
  62. package/common/metadata/tool-ui.metadata.d.ts +1 -0
  63. package/common/metadata/tool-ui.metadata.d.ts.map +1 -1
  64. package/common/metadata/tool.metadata.d.ts +8 -3
  65. package/common/metadata/tool.metadata.d.ts.map +1 -1
  66. package/common/metadata/workflow.metadata.d.ts +2 -2
  67. package/common/schemas/annotated-class.schema.d.ts +16 -13
  68. package/common/schemas/annotated-class.schema.d.ts.map +1 -1
  69. package/common/schemas/http-output.schema.d.ts +24 -24
  70. package/common/tokens/front-mcp.tokens.d.ts.map +1 -1
  71. package/common/tokens/tool.tokens.d.ts +1 -0
  72. package/common/tokens/tool.tokens.d.ts.map +1 -1
  73. package/common/types/options/http/interfaces.d.ts +1 -1
  74. package/common/types/options/index.d.ts +1 -0
  75. package/common/types/options/index.d.ts.map +1 -1
  76. package/common/types/options/logging/schema.d.ts +1 -1
  77. package/common/types/options/outbound-fetch/index.d.ts +4 -0
  78. package/common/types/options/outbound-fetch/index.d.ts.map +1 -0
  79. package/common/types/options/outbound-fetch/interfaces.d.ts +32 -0
  80. package/common/types/options/outbound-fetch/interfaces.d.ts.map +1 -0
  81. package/common/types/options/outbound-fetch/schema.d.ts +19 -0
  82. package/common/types/options/outbound-fetch/schema.d.ts.map +1 -0
  83. package/common/types/options/skills-http/interfaces.d.ts +3 -2
  84. package/common/types/options/skills-http/interfaces.d.ts.map +1 -1
  85. package/common/types/options/skills-http/schema.d.ts +8 -8
  86. package/common/types/options/transport/index.d.ts +2 -2
  87. package/common/types/options/transport/index.d.ts.map +1 -1
  88. package/common/types/options/transport/schema.d.ts +11 -0
  89. package/common/types/options/transport/schema.d.ts.map +1 -1
  90. package/common/utils/auth-info.utils.d.ts +26 -0
  91. package/common/utils/auth-info.utils.d.ts.map +1 -0
  92. package/common/utils/decide-request-intent.utils.d.ts +1 -1
  93. package/common/utils/decide-request-intent.utils.d.ts.map +1 -1
  94. package/common/utils/guard.utils.d.ts +57 -0
  95. package/common/utils/guard.utils.d.ts.map +1 -0
  96. package/common/utils/index.d.ts +2 -0
  97. package/common/utils/index.d.ts.map +1 -1
  98. package/completion/flows/complete.flow.d.ts +18 -2
  99. package/completion/flows/complete.flow.d.ts.map +1 -1
  100. package/context/frontmcp-context-storage.d.ts +27 -1
  101. package/context/frontmcp-context-storage.d.ts.map +1 -1
  102. package/context/frontmcp-context.d.ts +21 -6
  103. package/context/frontmcp-context.d.ts.map +1 -1
  104. package/context/frontmcp-context.provider.d.ts +1 -1
  105. package/context/index.d.ts +0 -1
  106. package/context/index.d.ts.map +1 -1
  107. package/context/metadata.utils.d.ts.map +1 -1
  108. package/direct/client.types.d.ts +2 -0
  109. package/direct/client.types.d.ts.map +1 -1
  110. package/direct/direct-server.d.ts +1 -0
  111. package/direct/direct-server.d.ts.map +1 -1
  112. package/direct/index.d.ts +0 -1
  113. package/direct/index.d.ts.map +1 -1
  114. package/elicitation/helpers/elicit.helper.d.ts.map +1 -1
  115. package/errors/error-handler.d.ts +10 -5
  116. package/errors/error-handler.d.ts.map +1 -1
  117. package/errors/index.d.ts +2 -2
  118. package/errors/index.d.ts.map +1 -1
  119. package/errors/mcp.error.d.ts +28 -0
  120. package/errors/mcp.error.d.ts.map +1 -1
  121. package/errors/mrtr.error.d.ts +5 -0
  122. package/errors/mrtr.error.d.ts.map +1 -1
  123. package/esm/index.mjs +5610 -4600
  124. package/flows/flow.instance.d.ts.map +1 -1
  125. package/flows/flow.registry.d.ts.map +1 -1
  126. package/flows/flow.stages.d.ts +2 -1
  127. package/flows/flow.stages.d.ts.map +1 -1
  128. package/flows/resolved-entries.d.ts +9 -0
  129. package/flows/resolved-entries.d.ts.map +1 -0
  130. package/front-mcp/front-mcp.d.ts +2 -2
  131. package/front-mcp/front-mcp.d.ts.map +1 -1
  132. package/front-mcp/front-mcp.providers.d.ts +2 -3607
  133. package/front-mcp/front-mcp.providers.d.ts.map +1 -1
  134. package/hooks/hooks.utils.d.ts +12 -2
  135. package/hooks/hooks.utils.d.ts.map +1 -1
  136. package/index.d.ts +23 -22
  137. package/index.d.ts.map +1 -1
  138. package/index.js +5925 -4909
  139. package/package.json +10 -10
  140. package/plugin/plugin.registry.d.ts +2 -0
  141. package/plugin/plugin.registry.d.ts.map +1 -1
  142. package/plugin/plugin.utils.d.ts.map +1 -1
  143. package/prompt/flows/get-prompt.flow.d.ts +2 -1
  144. package/prompt/flows/get-prompt.flow.d.ts.map +1 -1
  145. package/prompt/prompt.registry.d.ts +4 -1
  146. package/prompt/prompt.registry.d.ts.map +1 -1
  147. package/provider/provider.registry.d.ts +7 -1
  148. package/provider/provider.registry.d.ts.map +1 -1
  149. package/resource/flows/read-resource.flow.d.ts +2 -1
  150. package/resource/flows/read-resource.flow.d.ts.map +1 -1
  151. package/resource/resource.instance.d.ts +4 -2
  152. package/resource/resource.instance.d.ts.map +1 -1
  153. package/resource/resource.registry.d.ts +4 -1
  154. package/resource/resource.registry.d.ts.map +1 -1
  155. package/scope/flows/http.ip-filter.flow.d.ts +17 -0
  156. package/scope/flows/http.ip-filter.flow.d.ts.map +1 -0
  157. package/scope/flows/http.request.flow.d.ts +5 -1
  158. package/scope/flows/http.request.flow.d.ts.map +1 -1
  159. package/scope/scope.instance.d.ts +7 -1
  160. package/scope/scope.instance.d.ts.map +1 -1
  161. package/server/custom-routes.helper.d.ts +7 -1
  162. package/server/custom-routes.helper.d.ts.map +1 -1
  163. package/skill/flows/filter-skills.flow.d.ts +39 -0
  164. package/skill/flows/filter-skills.flow.d.ts.map +1 -0
  165. package/skill/flows/http/llm-full-txt.flow.d.ts +3 -2
  166. package/skill/flows/http/llm-full-txt.flow.d.ts.map +1 -1
  167. package/skill/flows/http/llm-txt.flow.d.ts +3 -2
  168. package/skill/flows/http/llm-txt.flow.d.ts.map +1 -1
  169. package/skill/flows/http/skills-api.flow.d.ts +3 -8
  170. package/skill/flows/http/skills-api.flow.d.ts.map +1 -1
  171. package/skill/flows/index.d.ts +1 -0
  172. package/skill/flows/index.d.ts.map +1 -1
  173. package/skill/flows/load-skill.flow.d.ts +0 -7
  174. package/skill/flows/load-skill.flow.d.ts.map +1 -1
  175. package/skill/flows/search-skills.flow.d.ts +0 -13
  176. package/skill/flows/search-skills.flow.d.ts.map +1 -1
  177. package/skill/hooks/skill-tool.hook.d.ts +18 -1
  178. package/skill/hooks/skill-tool.hook.d.ts.map +1 -1
  179. package/skill/index.d.ts +4 -3
  180. package/skill/index.d.ts.map +1 -1
  181. package/skill/sep-2640/resources/skill-file.resource.d.ts.map +1 -1
  182. package/skill/sep-2640/resources/skill-index.resource.d.ts.map +1 -1
  183. package/skill/sep-2640/resources/skill-md.resource.d.ts.map +1 -1
  184. package/skill/sep-2640/sep-2640.per-skill.d.ts.map +1 -1
  185. package/skill/sep-2640/sep-2640.resource-helpers.d.ts +2 -1
  186. package/skill/sep-2640/sep-2640.resource-helpers.d.ts.map +1 -1
  187. package/skill/skill-audit.helper.d.ts +4 -0
  188. package/skill/skill-audit.helper.d.ts.map +1 -1
  189. package/skill/skill-authorities.helper.d.ts +0 -41
  190. package/skill/skill-authorities.helper.d.ts.map +1 -1
  191. package/skill/skill-entry.resolver.d.ts +27 -0
  192. package/skill/skill-entry.resolver.d.ts.map +1 -0
  193. package/skill/skill-filter.helper.d.ts +41 -0
  194. package/skill/skill-filter.helper.d.ts.map +1 -0
  195. package/skill/skill-http.utils.d.ts +3 -2
  196. package/skill/skill-http.utils.d.ts.map +1 -1
  197. package/skill/skill-instructions.helper.d.ts +43 -8
  198. package/skill/skill-instructions.helper.d.ts.map +1 -1
  199. package/skill/skill-scope.helper.d.ts +2 -1
  200. package/skill/skill-scope.helper.d.ts.map +1 -1
  201. package/tool/flows/call-tool.flow.d.ts +4 -2
  202. package/tool/flows/call-tool.flow.d.ts.map +1 -1
  203. package/tool/flows/tools-list.flow.d.ts.map +1 -1
  204. package/tool/tool.registry.d.ts +4 -1
  205. package/tool/tool.registry.d.ts.map +1 -1
  206. package/tool/tool.utils.d.ts.map +1 -1
  207. package/tool/ui/index.d.ts +1 -1
  208. package/tool/ui/index.d.ts.map +1 -1
  209. package/tool/ui/ui-shared.d.ts +26 -2
  210. package/tool/ui/ui-shared.d.ts.map +1 -1
  211. package/transport/adapters/transport.local.adapter.d.ts +0 -6
  212. package/transport/adapters/transport.local.adapter.d.ts.map +1 -1
  213. package/transport/adapters/transport.streamable-http.adapter.d.ts.map +1 -1
  214. package/transport/flows/handle.mcp-20260728.flow.d.ts.map +1 -1
  215. package/transport/flows/handle.stateless-http.flow.d.ts.map +1 -1
  216. package/transport/flows/handle.streamable-http.flow.d.ts +1 -1
  217. package/transport/index.d.ts +1 -0
  218. package/transport/index.d.ts.map +1 -1
  219. package/transport/mcp-20260728/dispatcher.d.ts +5 -3
  220. package/transport/mcp-20260728/dispatcher.d.ts.map +1 -1
  221. package/transport/mcp-20260728/mrtr.d.ts.map +1 -1
  222. package/transport/mcp-handlers/call-tool-request.handler.d.ts.map +1 -1
  223. package/transport/mcp-handlers/get-prompt-request.handler.d.ts.map +1 -1
  224. package/transport/mcp-handlers/index.d.ts +549 -549
  225. package/transport/mcp-handlers/index.d.ts.map +1 -1
  226. package/transport/mcp-handlers/mcp-error.utils.d.ts +17 -2
  227. package/transport/mcp-handlers/mcp-error.utils.d.ts.map +1 -1
  228. package/transport/mcp-handlers/mcp-handlers.types.d.ts +9 -9
  229. package/transport/mcp-handlers/mcp-handlers.types.d.ts.map +1 -1
  230. package/transport/mcp-handlers/read-resource-request.handler.d.ts.map +1 -1
  231. package/transport/mcp-handlers/skills-load-request.handler.d.ts.map +1 -1
  232. package/transport/mcp-handlers/skills-search-request.handler.d.ts.map +1 -1
  233. package/transport/transport.registry.d.ts +1 -1
  234. package/transport/transport.registry.d.ts.map +1 -1
  235. package/transport/transport.types.d.ts +2 -0
  236. package/transport/transport.types.d.ts.map +1 -1
  237. package/transport/web-fetch-handler.d.ts +9 -0
  238. package/transport/web-fetch-handler.d.ts.map +1 -1
  239. package/utils/lineage.utils.d.ts +34 -1
  240. package/utils/lineage.utils.d.ts.map +1 -1
@@ -158,13 +158,6 @@ export default class LoadSkillFlow extends FlowBase<typeof name> {
158
158
  logger: import("../../common").FrontMcpLogger;
159
159
  parseInput(): Promise<void>;
160
160
  loadSkills(): Promise<void>;
161
- /**
162
- * Resolve the registered skill entry that backs a loaded skill, so its
163
- * `authorities` metadata can be evaluated. Matches by the requested id, the
164
- * resolved content id, and finally by display name — covering id/name/
165
- * qualified-name lookups the registry's `loadSkill` accepts.
166
- */
167
- private findSkillEntry;
168
161
  /**
169
162
  * Activate skill sessions for tool authorization enforcement.
170
163
  * This stage only runs if activateSession is true in the input.
@@ -1 +1 @@
1
- {"version":3,"file":"load-skill.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/load-skill.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAQ,QAAQ,EAA8B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,gCAAgC,CAAC;AAG7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAoBf,CAAC;AA4CH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAShB,CAAC;AAMH,UAAU,wBAAwB;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;iBAKwB,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAGxF,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAGpC;;;;;;;;;;;;;;;;GAgBG;AAQH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAG3C,UAAU;IAkBV,UAAU;IAwChB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IAEG,gBAAgB;IA+ChB,QAAQ;CAyJf"}
1
+ {"version":3,"file":"load-skill.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/load-skill.flow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAQ,QAAQ,EAA8B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,gCAAgC,CAAC;AAK7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAoBf,CAAC;AA4CH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAShB,CAAC;AAMH,UAAU,wBAAwB;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;iBAKwB,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAGxF,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,aAAa,EAAE,cAAc,CAC3B,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,aAAsB,CAAC;AAGpC;;;;;;;;;;;;;;;;GAgBG;AAQH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAG3C,UAAU;IAkBV,UAAU;IA6ChB;;;OAGG;IAEG,gBAAgB;IA+ChB,QAAQ;CAyJf"}
@@ -95,19 +95,6 @@ export default class SearchSkillsFlow extends FlowBase<typeof name> {
95
95
  parseInput(): Promise<void>;
96
96
  search(): Promise<void>;
97
97
  finalize(): Promise<void>;
98
- /**
99
- * Remove search results the caller is not authorized to discover.
100
- *
101
- * Search-result metadata is projected from `SkillContent` and does NOT carry
102
- * the `authorities` field, so we resolve the live skill entry (by id/name)
103
- * to read its declared authorities, then evaluate via the scope's engine.
104
- * No-op when no authorities engine is configured; results unchanged.
105
- *
106
- * Evaluated WITHOUT request input — `fromInput`/ReBAC-by-input policies can't
107
- * be evaluated at search time and will be treated as a denial. Use
108
- * role/permission/claims-based authorities for discoverable skills.
109
- */
110
- private filterResultsByAuthorities;
111
98
  }
112
99
  export {};
113
100
  //# sourceMappingURL=search-skills.flow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-skills.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/search-skills.flow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,QAAQ,EAAgD,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAyCjH,QAAA,MAAM,WAAW;;;;;;;;;;;;gCAYf,CAAC;AAGH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;gCAmBhB,CAAC;AAKH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAUf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,eAAe,EAAE,cAAc,CAC7B,gBAAgB,EAChB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,eAAwB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACjE,MAAM,wCAA8C;IAG9C,UAAU;IAyBV,MAAM;IAyCN,QAAQ;IAoEd;;;;;;;;;;;OAWG;YACW,0BAA0B;CAOzC"}
1
+ {"version":3,"file":"search-skills.flow.d.ts","sourceRoot":"","sources":["../../../src/skill/flows/search-skills.flow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,QAAQ,EAAgD,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAyCjH,QAAA,MAAM,WAAW;;;;;;;;;;;;gCAYf,CAAC;AAGH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;gCAmBhB,CAAC;AAKH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAUf,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,eAAe,EAAE,cAAc,CAC7B,gBAAgB,EAChB,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,eAAwB,CAAC;AAGtC;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IACjE,MAAM,wCAA8C;IAG9C,UAAU;IAyBV,MAAM;IAyCN,QAAQ;CAwEf"}
@@ -20,12 +20,29 @@ export interface SkillToolGuardHookOptions {
20
20
  */
21
21
  trackToolCalls?: boolean;
22
22
  }
23
+ /**
24
+ * Hook context provided to the skill tool guard.
25
+ * Matches the state available during checkToolAuthorization stage.
26
+ */
27
+ export interface SkillToolHookContext {
28
+ state: {
29
+ tool?: {
30
+ metadata: {
31
+ name: string;
32
+ };
33
+ fullName?: string;
34
+ };
35
+ input?: {
36
+ name: string;
37
+ };
38
+ };
39
+ }
23
40
  /**
24
41
  * Base interface for the skill tool guard hook class.
25
42
  */
26
43
  export interface SkillToolGuardHookClass {
27
44
  new (): {
28
- checkSkillToolAuthorization(): Promise<void>;
45
+ checkSkillToolAuthorization(ctx: SkillToolHookContext): Promise<void>;
29
46
  };
30
47
  }
31
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skill-tool.hook.d.ts","sourceRoot":"","sources":["../../../src/skill/hooks/skill-tool.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAK5E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAaD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ;QAAE,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAC1D;AA8DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EACnC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA8EzB"}
1
+ {"version":3,"file":"skill-tool.hook.d.ts","sourceRoot":"","sources":["../../../src/skill/hooks/skill-tool.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAK5E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE;QACL,IAAI,CAAC,EAAE;YAAE,QAAQ,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ;QAAE,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CACnF;AA8DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EACnC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA2EzB"}
package/skill/index.d.ts CHANGED
@@ -69,7 +69,8 @@ export { SkillSemanticSearchToken } from './semantic/skill-semantic-search.inter
69
69
  export type { SkillSemanticSearchProvider } from './semantic/skill-semantic-search.interface';
70
70
  export { formatSkillsForLlmCompact, formatSkillsForLlmFull, formatSkillForLLMWithSchemas, skillToApiResponse, filterSkillsByVisibility, } from './skill-http.utils';
71
71
  export type { CompactSkillSummary } from './skill-http.utils';
72
- export { SearchSkillsFlow, LoadSkillFlow } from './flows';
72
+ export { SearchSkillsFlow, LoadSkillFlow, FilterSkillsFlow } from './flows';
73
+ export { filterServableSkills } from './skill-filter.helper';
73
74
  export { SEP_2640_EXTENSION_ID, SEP_2640_META_NAMESPACE, SKILL_ARCHIVE_MIME_TYPES, SKILL_INDEX_MIME_TYPE, SKILL_INDEX_SCHEMA_URI, SKILL_INDEX_URI, SKILL_MD_MIME_TYPE, SKILL_MD_PRIORITY, SKILL_SUPPORT_PRIORITY, SKILL_URI_SCHEME, buildArchiveIndexEntry, buildResourceTemplateIndexEntry, buildSkillIndex, buildSkillMdIndexEntry, buildSkillUri, isSkillIndexUri, isSkillUri, parseSkillUri, parseSkillUriWithKnownSkill, serializeSkillMd, validateSkillPath, type ParsedSkillUri, type SkillIndexDocument, type SkillIndexEntry, type SkillIndexEntryType, } from './sep-2640';
74
75
  export { getSep2640Resources, Sep2640SkillFileResource, Sep2640SkillIndexResource, Sep2640SkillMdResource, } from './sep-2640/resources';
75
76
  export { findAndLoadSkillByPath, findSkillByPath, getSepVisibleSkills, readSkillFileByPath, } from './sep-2640/sep-2640.resource-helpers';
@@ -92,8 +93,8 @@ export { registerSkillAuditWriter, setSkillAuditFactory, hasSkillAuditFactory }
92
93
  export type { AuditModuleShape, SkillAuditFactory } from './skill-audit.helper';
93
94
  export { detectSkillsOnlyMode, isSkillsOnlySession } from './skill-mode.utils';
94
95
  export type { SkillsOnlySessionPayload } from './skill-mode.utils';
95
- export { buildSkillsCatalogSummary, composeInitializeInstructions, buildChannelInstructions, } from './skill-instructions.helper';
96
- export type { InjectInstructionsPolicy } from './skill-instructions.helper';
96
+ export { buildSkillsCatalogSummary, composeInitializeInstructions, composeCallerInstructions, buildChannelInstructions, } from './skill-instructions.helper';
97
+ export type { InjectInstructionsPolicy, CallerInstructionsOptions, InstructionsScope, } from './skill-instructions.helper';
97
98
  export { SkillHttpAuthValidator, createSkillHttpAuthValidator } from './auth';
98
99
  export type { SkillHttpAuthContext, SkillHttpAuthResult, SkillHttpAuthValidatorOptions } from './auth';
99
100
  export { MemorySkillHttpCache, RedisSkillHttpCache, createSkillHttpCache, getSkillHttpCache, invalidateScopeCache, invalidateSkillInCache, disposeAllCaches, } from './cache';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-file.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-file.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAW5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,qBAOa,wBAAyB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC7D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAQtE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAyBrE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkCxE"}
1
+ {"version":3,"file":"skill-file.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-file.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAY5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,qBAOa,wBAAyB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC7D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAatE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA8BrE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqCxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-index.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-index.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBASa,yBAA0B,SAAQ,eAAe;IACtD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAuDxD"}
1
+ {"version":3,"file":"skill-index.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-index.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBASa,yBAA0B,SAAQ,eAAe;IACtD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4DxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-md.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-md.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAM5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,qBAQa,sBAAuB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC3D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAQtE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkBxE"}
1
+ {"version":3,"file":"skill-md.resource.d.ts","sourceRoot":"","sources":["../../../../src/skill/sep-2640/resources/skill-md.resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAO5F,KAAK,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,qBAQa,sBAAuB,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC3D,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAatE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAkBxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sep-2640.per-skill.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.per-skill.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,gBAAgB,MAAM,kCAAkC,CAAC;AAMrE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,sBAAsB,CA4DxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1E,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB"}
1
+ {"version":3,"file":"sep-2640.per-skill.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.per-skill.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,gBAAgB,MAAM,kCAAkC,CAAC;AAsBrE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,sBAAsB,CAiDxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1E,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDhB"}
@@ -15,7 +15,8 @@ export declare function getSepVisibleSkills(scope: ScopeEntry): SkillEntry[];
15
15
  */
16
16
  export declare function findSkillByPath(scope: ScopeEntry, skillPath: string): SkillEntry | undefined;
17
17
  /**
18
- * Load a skill addressed by its `<skill-path>`, asserting MCP visibility.
18
+ * Load a skill addressed by its `<skill-path>`, asserting MCP visibility and that the
19
+ * `skills:filter` flow lets the caller see it.
19
20
  */
20
21
  export declare function findAndLoadSkillByPath(scope: ScopeEntry, skillPath: string): Promise<{
21
22
  loadResult: SkillLoadResult;
@@ -1 +1 @@
1
- {"version":3,"file":"sep-2640.resource-helpers.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.resource-helpers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAe5F;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,UAAU,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CAiBnE;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBrD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkIjH"}
1
+ {"version":3,"file":"sep-2640.resource-helpers.d.ts","sourceRoot":"","sources":["../../../src/skill/sep-2640/sep-2640.resource-helpers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAe5F;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,UAAU,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CAiBnE;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBrD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkIjH"}
@@ -49,6 +49,10 @@ export type SkillAuditFactory = () => AuditModuleShape;
49
49
  * Pass `undefined` to clear the factory (used by tests).
50
50
  */
51
51
  export declare function setSkillAuditFactory(factory: SkillAuditFactory | undefined): void;
52
+ /**
53
+ * Whether a skill audit factory has been registered.
54
+ */
55
+ export declare function hasSkillAuditFactory(): boolean;
52
56
  /**
53
57
  * Register the SkillAuditWriter in the scope DI container when
54
58
  * `skillsConfig.audit.enabled` is set.
@@ -1 +1 @@
1
- {"version":3,"file":"skill-audit.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-audit.helper.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,KAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC;IACb,gBAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9E,gBAAgB,EAAE,UAAU,OAAO,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC;AAIvD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAEjF;AAoDD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,cAAc,CAAC;CACxB,GAAG,IAAI,CA2CP"}
1
+ {"version":3,"file":"skill-audit.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-audit.helper.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,KAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC;IACb,gBAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9E,gBAAgB,EAAE,UAAU,OAAO,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC;AAIvD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAEjF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AA4CD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,cAAc,CAAC;CACxB,GAAG,IAAI,CA2CP"}
@@ -1,26 +1,4 @@
1
- /**
2
- * Skill authorities enforcement helpers.
3
- *
4
- * Mirrors the tool/resource enforcement pattern (`checkEntryAuthorities` for
5
- * single-entry deny and `filterByAuthorities` for discovery filtering) for the
6
- * `@Skill({ authorities })` metadata field. Because skills are served across
7
- * several surfaces (MCP `skills/load` + `skills/search` flows, SEP-2640
8
- * `skill://` resources, and the HTTP `/skills` API), the deny/filter logic is
9
- * centralised here so every surface enforces the same policy.
10
- *
11
- * Behaviour preserved from the rest of the framework:
12
- * - When no authorities engine + context builder is configured on the scope,
13
- * every check is a no-op (skills behave exactly as before).
14
- * - Skills WITHOUT an `authorities` field are never gated.
15
- *
16
- * Discovery filtering ({@link filterSkillsByAuthorities}) evaluates policies
17
- * WITHOUT request input — `fromInput`/ReBAC-by-input conditions cannot be
18
- * evaluated at list time, mirroring the tool/resource list flows. Skill
19
- * authorities meant for discovery filtering should be role/permission/claims
20
- * based.
21
- */
22
1
  import type { ScopeEntry, SkillEntry } from '../common';
23
- import type { SkillRegistryInterface } from './skill.registry';
24
2
  /** Minimal duck-typed surface of the scope we rely on for authorities. */
25
3
  type AuthoritiesScopeView = Pick<ScopeEntry, 'authoritiesEngine' | 'authoritiesContextBuilder' | 'authoritiesScopeMapping'>;
26
4
  /**
@@ -77,24 +55,5 @@ export declare function assertSkillAuthorized(scope: AuthoritiesScopeView, skill
77
55
  * @returns The subset of skills the caller is authorized to see.
78
56
  */
79
57
  export declare function filterSkillsByAuthorities<T extends SkillEntry>(scope: AuthoritiesScopeView, skills: readonly T[], authInfo: Record<string, unknown>): Promise<T[]>;
80
- /**
81
- * Filter discovery results whose projected metadata only carries an id/name
82
- * (e.g. `skills/search` / `skills/list` MCP responses, or HTTP search results)
83
- * down to the skills the caller is authorized to see.
84
- *
85
- * Search/list metadata is projected from `SkillContent` and does NOT carry the
86
- * `authorities` field, so we resolve the live skill entry by id/name to read
87
- * its declared authorities, then evaluate via the scope's engine. No-op when no
88
- * authorities engine is configured (results returned unchanged), and items
89
- * whose backing entry can't be resolved are kept (treated as ungated).
90
- *
91
- * Evaluated WITHOUT request input — see {@link filterSkillsByAuthorities}.
92
- */
93
- export declare function filterSkillMetadataByAuthorities<T extends {
94
- metadata: {
95
- id?: string;
96
- name: string;
97
- };
98
- }>(scope: AuthoritiesScopeView, registry: SkillRegistryInterface, results: readonly T[], authInfo: Record<string, unknown>): Promise<T[]>;
99
58
  export {};
100
59
  //# sourceMappingURL=skill-authorities.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-authorities.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-authorities.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,0EAA0E;AAC1E,KAAK,oBAAoB,GAAG,IAAI,CAC9B,UAAU,EACV,mBAAmB,GAAG,2BAA2B,GAAG,yBAAyB,CAC9E,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1G;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,gBAAgB,EAAE,mBAAmB,GAAG,SAAS,CAI/G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,SAAS,UAAU,EAClE,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAoBd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC1G,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAsBd"}
1
+ {"version":3,"file":"skill-authorities.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-authorities.helper.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,0EAA0E;AAC1E,KAAK,oBAAoB,GAAG,IAAI,CAC9B,UAAU,EACV,mBAAmB,GAAG,2BAA2B,GAAG,yBAAyB,CAC9E,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1G;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,gBAAgB,EAAE,mBAAmB,GAAG,SAAS,CAI/G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,SAAS,UAAU,EAClE,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAoBd"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Maps a skill id to its registered entry, the same way on every skill surface.
3
+ *
4
+ * Search and list results, `skills/load` and `GET /skills/{id}` requests, and loaded skill content
5
+ * all name a skill by an id. Every surface resolves it here, so the skill authorities and the
6
+ * `skills:filter` flow judge the same entry for the same id. Each id is tried as a registry name,
7
+ * then a qualified name, then a skill id or display name.
8
+ */
9
+ import type { SkillEntry } from '../common';
10
+ import type { SkillRegistryInterface } from './skill.registry';
11
+ /** The registry lookups the resolver needs. */
12
+ export type SkillEntryLookup = Pick<SkillRegistryInterface, 'findByName' | 'findByQualifiedName' | 'getSkills'>;
13
+ /** Returns the entry the first of `ids` that names a registered skill resolves to. */
14
+ export type SkillEntryResolver = (...ids: Array<string | undefined>) => SkillEntry | undefined;
15
+ /** The id a search or list result names its skill by. */
16
+ export declare function skillResultId(result: {
17
+ metadata: {
18
+ id?: string;
19
+ name: string;
20
+ };
21
+ }): string;
22
+ /**
23
+ * Create a resolver for one request. The fallback index over every registered skill is built on the
24
+ * first id the registry lookups miss, and reused for every later one.
25
+ */
26
+ export declare function createSkillEntryResolver(registry: SkillEntryLookup): SkillEntryResolver;
27
+ //# sourceMappingURL=skill-entry.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-entry.resolver.d.ts","sourceRoot":"","sources":["../../src/skill/skill-entry.resolver.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,qBAAqB,GAAG,WAAW,CAAC,CAAC;AAEhH,sFAAsF;AACtF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,UAAU,GAAG,SAAS,CAAC;AAE/F,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAEzF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,CAgCvF"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Runs skills through the hookable `skills:filter` flow before a surface serves them.
3
+ *
4
+ * Every skill surface calls one of these helpers, so a plugin that hooks the flow (the
5
+ * feature-flag plugin, for one) gates skills on all of them at once. A skill the flow drops is
6
+ * treated as absent: left out of listings and not found when named.
7
+ */
8
+ import type { ScopeEntry, SkillEntry } from '../common';
9
+ import { type SkillEntryLookup } from './skill-entry.resolver';
10
+ type SkillFilterScope = Pick<ScopeEntry, 'runFlowForOutput'>;
11
+ type SkillDiscoveryScope = SkillFilterScope & Pick<ScopeEntry, 'authoritiesEngine' | 'authoritiesContextBuilder' | 'authoritiesScopeMapping'>;
12
+ /**
13
+ * The skills, in their order, that the `skills:filter` flow lets the current caller see.
14
+ *
15
+ * `ctx` is the MCP handler context (`{ authInfo }`) of a surface that runs outside a flow, so the
16
+ * filter judges that caller. Surfaces already inside a flow (resource reads, tool calls, HTTP) omit it.
17
+ */
18
+ export declare function filterServableSkills<T extends SkillEntry>(scope: SkillFilterScope, skills: readonly T[], ctx?: unknown): Promise<T[]>;
19
+ /** Whether the `skills:filter` flow lets the current caller see or load this skill. */
20
+ export declare function isSkillServable(scope: SkillFilterScope, skill: SkillEntry, ctx?: unknown): Promise<boolean>;
21
+ /** The caller a discovery surface filters for. */
22
+ export interface SkillDiscoveryCaller {
23
+ /** Request AuthInfo the skill authorities are evaluated against. */
24
+ authInfo?: Record<string, unknown>;
25
+ /** The MCP handler context, for a surface that runs outside a flow (see {@link filterServableSkills}). */
26
+ ctx?: unknown;
27
+ }
28
+ /**
29
+ * Filter search or list results, whose projected metadata only carries an id and name, down to the
30
+ * skills the caller may discover. Each result is resolved to its registered entry once, and the skill
31
+ * authorities and then the `skills:filter` flow judge that same entry. Results without a registered
32
+ * entry (external skills) are kept, as they carry no metadata a gate could judge.
33
+ */
34
+ export declare function filterDiscoverableSkillResults<T extends {
35
+ metadata: {
36
+ id?: string;
37
+ name: string;
38
+ };
39
+ }>(scope: SkillDiscoveryScope, registry: SkillEntryLookup, results: readonly T[], caller?: SkillDiscoveryCaller): Promise<T[]>;
40
+ export {};
41
+ //# sourceMappingURL=skill-filter.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-filter.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-filter.helper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExG,KAAK,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAE7D,KAAK,mBAAmB,GAAG,gBAAgB,GACzC,IAAI,CAAC,UAAU,EAAE,mBAAmB,GAAG,2BAA2B,GAAG,yBAAyB,CAAC,CAAC;AAElG;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,UAAU,EAC7D,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,EAAE,CAAC,CAKd;AAED,uFAAuF;AACvF,wBAAsB,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjH;AAED,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,0GAA0G;IAC1G,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACxG,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAUd"}
@@ -7,8 +7,8 @@
7
7
  * - /skills API - JSON responses
8
8
  */
9
9
  import type { SkillContent, SkillEntry } from '../common';
10
+ import type { SkillResources, SkillVisibility } from '../common/metadata/skill.metadata';
10
11
  import type ToolRegistry from '../tool/tool.registry';
11
- import type { SkillVisibility, SkillResources } from '../common/metadata/skill.metadata';
12
12
  import type { SkillRegistryInterface as SkillRegistryInterfaceType } from './skill.registry';
13
13
  /**
14
14
  * Compact skill summary for /llm.txt endpoint.
@@ -49,9 +49,10 @@ export declare function formatSkillsForLlmCompact(skills: SkillEntry[]): string;
49
49
  * @param registry - Skill registry to load skills from
50
50
  * @param toolRegistry - Tool registry to get tool schemas
51
51
  * @param visibility - Optional visibility filter ('http' or 'both')
52
+ * @param skills - The skills to format; defaults to every non-hidden skill in the registry
52
53
  * @returns Formatted plain text with full skill details
53
54
  */
54
- export declare function formatSkillsForLlmFull(registry: SkillRegistryInterfaceType, toolRegistry: ToolRegistry, visibility?: SkillVisibility): Promise<string>;
55
+ export declare function formatSkillsForLlmFull(registry: SkillRegistryInterfaceType, toolRegistry: ToolRegistry, visibility?: SkillVisibility, skills?: readonly SkillEntry[]): Promise<string>;
55
56
  /**
56
57
  * Format a skill with FULL tool schemas (input/output) - not just names.
57
58
  * Used by /llm_full.txt and enhanced loadSkill response.
@@ -1 +1 @@
1
- {"version":3,"file":"skill-http.utils.d.ts","sourceRoot":"","sources":["../../src/skill/skill-http.utils.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAiCtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,0BAA0B,EACpC,YAAY,EAAE,YAAY,EAC1B,UAAU,GAAE,eAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,YAAY,GACzB,MAAM,CAuGR;AAaD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,UAAU,CAAC,EAAE;IACX,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,GACA,gBAAgB,CA6BlB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,EAAE,CAMpG"}
1
+ {"version":3,"file":"skill-http.utils.d.ts","sourceRoot":"","sources":["../../src/skill/skill-http.utils.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAiCtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,0BAA0B,EACpC,YAAY,EAAE,YAAY,EAC1B,UAAU,GAAE,eAAwB,EACpC,MAAM,GAAE,SAAS,UAAU,EAA8B,GACxD,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,YAAY,GACzB,MAAM,CAuGR;AAaD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,UAAU,CAAC,EAAE;IACX,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,GACA,gBAAgB,CA6BlB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,EAAE,CAMpG"}
@@ -7,13 +7,12 @@
7
7
  * text that clients usually inject verbatim into the model context. Pushing
8
8
  * every skill's full SKILL.md body would balloon every initialize response
9
9
  * and burn token budget on tool calls. Instead, we ship a bounded catalog
10
- * summary (`**name**: description`) plus a pointer to the `skills://catalog`
11
- * resource and the `skills://{name}/SKILL.md` resource template for the full
12
- * content.
10
+ * summary (`**name**: description`) plus a pointer to where the full content
11
+ * is served: the SEP-2640 `skill://index.json` resource, or the
12
+ * `skills/search` and `skills/load` MCP extension methods when
13
+ * `skillsConfig.mcpResources` is false and no `skill://` resource exists.
13
14
  * - Resolution is sync — the registry already holds metadata at boot. The
14
- * per-skill `instructions` markdown body stays lazy and reachable through
15
- * `skills://` resources or the `skills/search` and `skills/load` MCP
16
- * extension methods.
15
+ * per-skill `instructions` markdown body stays lazy.
17
16
  * - Off / replace policies short-circuit before we touch the registry, so a
18
17
  * server with `injectInstructions: 'off'` pays zero cost regardless of how
19
18
  * many bundle skills are loaded.
@@ -21,7 +20,11 @@
21
20
  * `initialize-request.handler.ts`), so dynamic skill registrations made
22
21
  * after the server boots are reflected in subsequent reconnects without a
23
22
  * restart.
23
+ * - Transports compose it per caller with {@link composeCallerInstructions}:
24
+ * the catalog and the SEP-2640 hints only name skills the skill authorities
25
+ * and the `skills:filter` flow let that caller see, like `skills/list`.
24
26
  */
27
+ import type { ScopeEntry, SkillEntry } from '../common';
25
28
  import type { SkillRegistryInterface } from './skill.registry';
26
29
  export type InjectInstructionsPolicy = 'off' | 'append' | 'prepend' | 'replace';
27
30
  interface ComposeOptions {
@@ -33,6 +36,16 @@ interface ComposeOptions {
33
36
  skillRegistry?: SkillRegistryInterface;
34
37
  /** Merge policy from `skillsConfig.injectInstructions`. */
35
38
  policy?: InjectInstructionsPolicy;
39
+ /** `skillsConfig.mcpResources`; when false the catalog points at the `skills/*` methods. */
40
+ mcpResources?: boolean;
41
+ /** The skills the catalog lists; defaults to every MCP-visible skill in `skillRegistry`. */
42
+ skills?: readonly SkillEntry[];
43
+ }
44
+ export interface SkillsCatalogSummaryOptions {
45
+ /** `skillsConfig.mcpResources`; when false no `skill://` resource is served. Defaults to true. */
46
+ mcpResources?: boolean;
47
+ /** The skills to list, such as those a caller may see; defaults to every MCP-visible skill in the registry. */
48
+ skills?: readonly SkillEntry[];
36
49
  }
37
50
  /**
38
51
  * Sanitize a skill description so it can be embedded as a single bullet in a
@@ -75,7 +88,7 @@ export declare function sanitizeName(raw: string | undefined): string;
75
88
  * Output shape:
76
89
  *
77
90
  * ```
78
- * Available skills (read the `skills://catalog` resource to browse, or `skills://{name}/SKILL.md` for full content):
91
+ * Available skills (read the `skill://index.json` resource for each skill's `SKILL.md` URI):
79
92
  *
80
93
  * - **skill_name**: short description
81
94
  * - **another_skill**: ...
@@ -86,7 +99,7 @@ export declare function sanitizeName(raw: string | undefined): string;
86
99
  * reserve included), with a `_(catalog truncated — showing N of M skills…)_`
87
100
  * footer appended when the cap is hit.
88
101
  */
89
- export declare function buildSkillsCatalogSummary(skillRegistry: SkillRegistryInterface | undefined): string;
102
+ export declare function buildSkillsCatalogSummary(skillRegistry: SkillRegistryInterface | undefined, options?: SkillsCatalogSummaryOptions): string;
90
103
  /**
91
104
  * Compose the final `instructions` string for the MCP `initialize` response
92
105
  * by merging server instructions, channel hints, and the skill catalog
@@ -124,5 +137,27 @@ interface ChannelRegistryLike {
124
137
  twoWay?: boolean;
125
138
  }>;
126
139
  }
140
+ /** The scope surface instruction composition reads. */
141
+ export type InstructionsScope = Pick<ScopeEntry, 'metadata' | 'skills' | 'logger' | 'runFlowForOutput' | 'authoritiesEngine' | 'authoritiesContextBuilder' | 'authoritiesScopeMapping'> & {
142
+ readonly channels?: ChannelRegistryLike;
143
+ };
144
+ export interface CallerInstructionsOptions {
145
+ /** The caller's MCP handler context (`{ authInfo }`); omit inside a request flow, which already carries it. */
146
+ ctx?: {
147
+ authInfo?: unknown;
148
+ };
149
+ /** Append the SEP-2640 `skill://…/SKILL.md` hints when `skillsConfig.sep2640InInstructions` is on. */
150
+ skillUriHints?: boolean;
151
+ }
152
+ /**
153
+ * Compose the `initialize` instructions for one caller: server instructions, channel hints and the
154
+ * skill catalog (plus the SEP-2640 hints when asked), per `skillsConfig.injectInstructions`.
155
+ *
156
+ * The catalog and hints only name the MCP-visible skills the skill authorities and the hookable
157
+ * `skills:filter` flow let this caller see, the same skills `skills/list` returns. The filter only
158
+ * runs when the instructions would list a skill. If it fails, the skills are left out rather than
159
+ * failing the handshake. With nothing filtering, the result equals {@link composeInitializeInstructions}.
160
+ */
161
+ export declare function composeCallerInstructions(scope: InstructionsScope, options?: CallerInstructionsOptions): Promise<string>;
127
162
  export {};
128
163
  //# sourceMappingURL=skill-instructions.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-instructions.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-instructions.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAoBhF,UAAU,cAAc;IACtB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYnE;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO5D;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAsCnG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA0B7E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAM1F;AAED;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,MAAM,IAAI,OAAO,CAAC;IAClB,mBAAmB,IAAI,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD"}
1
+ {"version":3,"file":"skill-instructions.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-instructions.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAmBhF,UAAU,cAAc;IACtB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,kGAAkG;IAClG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+GAA+G;IAC/G,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC;AAiBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYnE;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO5D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,OAAO,GAAE,2BAAgC,GACxC,MAAM,CAoCR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA6B7E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAM1F;AAED;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,MAAM,IAAI,OAAO,CAAC;IAClB,mBAAmB,IAAI,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,UAAU,EACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,kBAAkB,GAClB,mBAAmB,GACnB,2BAA2B,GAC3B,yBAAyB,CAC5B,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEhD,MAAM,WAAW,yBAAyB;IACxC,+GAA+G;IAC/G,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
@@ -37,7 +37,8 @@ export interface SkillScopeRegistrationOptions {
37
37
  * Register skill-related flows and resources in the scope.
38
38
  *
39
39
  * Handles:
40
- * - MCP flows for skill discovery/loading (SearchSkillsFlow, LoadSkillFlow)
40
+ * - MCP flows for skill discovery/loading (SearchSkillsFlow, LoadSkillFlow) and the
41
+ * `skills:filter` flow every skill surface runs (FilterSkillsFlow)
41
42
  * - SEP-2640 conformant `skill://` resources unless disabled via
42
43
  * `skillsConfig.mcpResources: false`
43
44
  * - HTTP flows (`/llm.txt`, `/llm_full.txt`, `/skills`) when
@@ -1 +1 @@
1
- {"version":3,"file":"skill-scope.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-scope.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAMlE,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,kDAAkD;IAClD,aAAa,EAAE,aAAa,CAAC;IAC7B,gDAAgD;IAChD,YAAY,EAAE,YAAY,CAAC;IAC3B,iEAAiE;IACjE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iDAAiD;IACjD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,mDAAmD;IACnD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kCAAkC;IAClC,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CrG"}
1
+ {"version":3,"file":"skill-scope.helper.d.ts","sourceRoot":"","sources":["../../src/skill/skill-scope.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAMlE,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,kDAAkD;IAClD,aAAa,EAAE,aAAa,CAAC;IAC7B,gDAAgD;IAChD,YAAY,EAAE,YAAY,CAAC;IAC3B,iEAAiE;IACjE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iDAAiD;IACjD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,mDAAmD;IACnD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kCAAkC;IAClC,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDrG"}
@@ -1,7 +1,7 @@
1
1
  import { z } from '@frontmcp/lazy-zod';
2
2
  import { type AuthInfo } from '@frontmcp/protocol';
3
3
  import { type ToolResponseContent } from '@frontmcp/uipack/adapters';
4
- import { FlowBase, ToolContext, ToolEntry, type FlowRunOptions } from '../../common';
4
+ import { FlowBase, ToolContext, ToolEntry, type FlowRunOptions, type ScopeEntry } from '../../common';
5
5
  declare const inputSchema: import("@frontmcp/lazy-zod").ZodObject<{
6
6
  request: import("@frontmcp/lazy-zod").ZodObject<{
7
7
  method: import("@frontmcp/lazy-zod").ZodLiteral<"tools/call">;
@@ -228,12 +228,13 @@ declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{
228
228
  structuredContent: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodRecord<import("@frontmcp/lazy-zod").ZodString, import("@frontmcp/lazy-zod").ZodUnknown>>;
229
229
  isError: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodBoolean>;
230
230
  }, import("zod/v4/core").$loose>;
231
- _toolOwnerId: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
232
231
  uiResult: z.ZodType<ToolResponseContent | undefined>;
233
232
  uiMeta: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodRecord<import("@frontmcp/lazy-zod").ZodString, import("@frontmcp/lazy-zod").ZodUnknown>>;
234
233
  progressToken: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodUnion<readonly [import("@frontmcp/lazy-zod").ZodString, import("@frontmcp/lazy-zod").ZodNumber]>>;
235
234
  jsonRpcRequestId: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodUnion<readonly [import("@frontmcp/lazy-zod").ZodString, import("@frontmcp/lazy-zod").ZodNumber]>>;
236
235
  semaphoreTicket: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodAny>;
236
+ executionAbort: import("@frontmcp/lazy-zod").ZodOptional<import("zod").ZodInstanceOf<AbortController>>;
237
+ abandonedExecution: import("@frontmcp/lazy-zod").ZodOptional<import("zod").ZodInstanceOf<Promise<unknown>>>;
237
238
  taskRequest: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodObject<{
238
239
  ttl: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNullable<import("@frontmcp/lazy-zod").ZodNumber>>;
239
240
  }, import("zod/v4/core").$loose>>;
@@ -250,6 +251,7 @@ declare global {
250
251
  }
251
252
  declare const name: "tools:call-tool";
252
253
  export default class CallToolFlow extends FlowBase<typeof name> {
254
+ static resolveHookOwnerId(rawInput: unknown, scope: ScopeEntry): Promise<string | undefined>;
253
255
  logger: import("../../common").FrontMcpLogger;
254
256
  parseInput(): Promise<void>;
255
257
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"call-tool.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/call-tool.flow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAA+C,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAEL,QAAQ,EAIR,WAAW,EACX,SAAS,EAET,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAsEtB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAIf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAuB,CAAC;AAE1C,QAAA,MAAM,WAAW;;;;;cAKiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cASnB,CAAC,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;;;;;;;;gCAoB1E,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAuB2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,YAAY,EACZ,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAUxC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC7D,MAAM,wCAA0C;IAG1C,UAAU;IAsDhB;;;;OAIG;IAEG,wBAAwB;IA2CxB,QAAQ;IAkHd;;;;;;;;OAQG;IAEG,qBAAqB;IAqJ3B;;;;OAIG;IAEG,sBAAsB;IAiJ5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;OAIG;IAEG,qBAAqB;IAwDrB,qBAAqB;IAkE3B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEG,oBAAoB;IA2DpB,YAAY;IA4CZ,gBAAgB;IA0ChB,aAAa;IAuBb,OAAO;IAwIP,cAAc;IAed,gBAAgB;IAgBhB,YAAY;IAOlB;;;;OAIG;IAEG,OAAO;IAyLb;;;;;;;;OAQG;IAEG,QAAQ;CAsGf"}
1
+ {"version":3,"file":"call-tool.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/call-tool.flow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAA+C,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAanC,OAAO,EAIL,QAAQ,EAKR,WAAW,EACX,SAAS,EAET,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AA0EtB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;gCAIf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAuB,CAAC;AAE1C,QAAA,MAAM,WAAW;;;;;cAKiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAOnB,CAAC,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;;;;;;;;;;gCAwB1E,CAAC;AAEH,QAAA,MAAM,IAAI;;;;CAuB2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iBAAiB,EAAE,cAAc,CAC/B,YAAY,EACZ,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,iBAA0B,CAAC;AAaxC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;WACvC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa3G,MAAM,wCAA0C;IAG1C,UAAU;IA2ChB;;;;OAIG;IAEG,wBAAwB;IASxB,QAAQ;IAqEd;;;;;;;;OAQG;IAEG,qBAAqB;IAqJ3B;;;;OAIG;IAEG,sBAAsB;IAiJ5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;OAIG;IAEG,qBAAqB;IAsDrB,qBAAqB;IAuD3B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEG,oBAAoB;IA2DpB,YAAY;IAwCZ,gBAAgB;IAuBhB,aAAa;IAuBb,OAAO;IAsIP,cAAc;IAed,gBAAgB;IAsBhB,YAAY;IAOlB;;;;OAIG;IAEG,OAAO;IA0Lb;;;;;;;;OAQG;IAEG,QAAQ;CAsGf"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools-list.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/tools-list.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAMR,SAAS,EAET,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAgB,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAiD,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAyB,KAAK,mBAAmB,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ9G,QAAA,MAAM,WAAW;;;;;;;;;;;;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAwB,CAAC;AAE3C,QAAA,MAAM,WAAW;;cAIM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACD,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;;;;;;;;;;;;;;gCAc5E,CAAC;AAkBH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,kBAAkB,EAAE,cAAc,CAChC,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,kBAA2B,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAEjD,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKd,UAAU;IA+ChB;;;;OAIG;IAEG,wBAAwB;IA2CxB,SAAS;IAmDf;;;;OAIG;IAEG,mBAAmB;IA+BnB,gBAAgB;IAqChB,UAAU;CA+RjB"}
1
+ {"version":3,"file":"tools-list.flow.d.ts","sourceRoot":"","sources":["../../../src/tool/flows/tools-list.flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAMR,SAAS,EAET,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAEtB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAiD,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAyB,KAAK,mBAAmB,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ9G,QAAA,MAAM,WAAW;;;;;;;;;;;;;;gCAGf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAwB,CAAC;AAE3C,QAAA,MAAM,WAAW;;cAIM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACD,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;;;;;;;;;;;;;;gCAc5E,CAAC;AAkBH,QAAA,MAAM,IAAI;;;;CAI2B,CAAC;AAEtC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,kBAAkB,EAAE,cAAc,CAChC,aAAa,EACb,OAAO,IAAI,EACX,OAAO,WAAW,EAClB,OAAO,YAAY,EACnB,OAAO,WAAW,CACnB,CAAC;KACH;CACF;AAED,QAAA,MAAM,IAAI,EAAG,kBAA2B,CAAC;AAUzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ,CAAC,OAAO,IAAI,CAAC;IAC9D,MAAM,wCAA2C;IAEjD,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKd,UAAU;IA+ChB;;;;OAIG;IAEG,wBAAwB;IA2CxB,SAAS;IAoDf;;;;OAIG;IAEG,mBAAmB;IA+BnB,gBAAgB;IAqChB,UAAU;CA+QjB"}
@@ -1,6 +1,6 @@
1
1
  import { type Token } from '@frontmcp/di';
2
2
  import { type ServerCapabilities } from '@frontmcp/protocol';
3
- import { type EntryOwnerRef, type ToolEntry, type ToolRecord, type ToolType } from '../common';
3
+ import { type EntryLineage, type EntryOwnerRef, type ToolEntry, type ToolRecord, type ToolType } from '../common';
4
4
  import type ProviderRegistry from '../provider/provider.registry';
5
5
  import { RegistryAbstract, type RegistryBuildMapResult } from '../regsitry';
6
6
  import { type ToolChangeEvent } from './tool.events';
@@ -23,6 +23,7 @@ ToolRecord, ToolType[]> {
23
23
  private byOwnerAndName;
24
24
  private byProviderAndName;
25
25
  private byOwner;
26
+ private readonly lineages;
26
27
  private version;
27
28
  private emitter;
28
29
  constructor(providers: ProviderRegistry, list: ToolType[], owner: EntryOwnerRef);
@@ -77,6 +78,8 @@ ToolRecord, ToolType[]> {
77
78
  private reindex;
78
79
  /** List all instances (locals + adopted). */
79
80
  listAllInstances(): readonly ToolEntry[];
81
+ /** Owner lineage (root → leaf) of a tool this registry holds, or undefined when it holds none. */
82
+ lineageOf(entry: ToolEntry): EntryLineage | undefined;
80
83
  /** List instances by owner path (e.g. "app:Portal/plugin:Okta") */
81
84
  listByOwner(ownerPath: string): readonly ToolEntry[];
82
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool.registry.d.ts","sourceRoot":"","sources":["../../src/tool/tool.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.registry.d.ts","sourceRoot":"","sources":["../../src/tool/tool.registry.ts"],"names":[],"mappings":"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"}