@openrouter/agent 0.8.0 → 0.10.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 (193) hide show
  1. package/README.md +732 -7
  2. package/THIRD_PARTY_NOTICES.md +25 -0
  3. package/esm/index.d.ts +20 -5
  4. package/esm/index.d.ts.map +1 -1
  5. package/esm/index.js +10 -3
  6. package/esm/index.js.map +1 -1
  7. package/esm/inner-loop/call-model.d.ts.map +1 -1
  8. package/esm/inner-loop/call-model.js +63 -46
  9. package/esm/inner-loop/call-model.js.map +1 -1
  10. package/esm/inner-loop/resume-tool-results.d.ts +128 -0
  11. package/esm/inner-loop/resume-tool-results.d.ts.map +1 -0
  12. package/esm/inner-loop/resume-tool-results.js +244 -0
  13. package/esm/inner-loop/resume-tool-results.js.map +1 -0
  14. package/esm/lib/agent-tool.d.ts +92 -0
  15. package/esm/lib/agent-tool.d.ts.map +1 -0
  16. package/esm/lib/agent-tool.js +211 -0
  17. package/esm/lib/agent-tool.js.map +1 -0
  18. package/esm/lib/async-params.d.ts +96 -0
  19. package/esm/lib/async-params.d.ts.map +1 -1
  20. package/esm/lib/async-params.js +30 -1
  21. package/esm/lib/async-params.js.map +1 -1
  22. package/esm/lib/async-tool-registry.d.ts +134 -0
  23. package/esm/lib/async-tool-registry.d.ts.map +1 -0
  24. package/esm/lib/async-tool-registry.js +352 -0
  25. package/esm/lib/async-tool-registry.js.map +1 -0
  26. package/esm/lib/async-tools.d.ts +23 -0
  27. package/esm/lib/async-tools.d.ts.map +1 -0
  28. package/esm/lib/async-tools.js +19 -0
  29. package/esm/lib/async-tools.js.map +1 -0
  30. package/esm/lib/conversation-state.d.ts +1 -0
  31. package/esm/lib/conversation-state.d.ts.map +1 -1
  32. package/esm/lib/conversation-state.js +8 -0
  33. package/esm/lib/conversation-state.js.map +1 -1
  34. package/esm/lib/doom-loop.d.ts +533 -0
  35. package/esm/lib/doom-loop.d.ts.map +1 -0
  36. package/esm/lib/doom-loop.js +1221 -0
  37. package/esm/lib/doom-loop.js.map +1 -0
  38. package/esm/lib/hooks-schemas.d.ts +33 -0
  39. package/esm/lib/hooks-schemas.d.ts.map +1 -1
  40. package/esm/lib/hooks-schemas.js +54 -0
  41. package/esm/lib/hooks-schemas.js.map +1 -1
  42. package/esm/lib/hooks-types.d.ts +6 -2
  43. package/esm/lib/hooks-types.d.ts.map +1 -1
  44. package/esm/lib/hooks-types.js.map +1 -1
  45. package/esm/lib/model-result.d.ts +648 -12
  46. package/esm/lib/model-result.d.ts.map +1 -1
  47. package/esm/lib/model-result.js +2784 -164
  48. package/esm/lib/model-result.js.map +1 -1
  49. package/esm/lib/next-turn-params.d.ts.map +1 -1
  50. package/esm/lib/next-turn-params.js +3 -1
  51. package/esm/lib/next-turn-params.js.map +1 -1
  52. package/esm/lib/next-turn-params.test.js +72 -0
  53. package/esm/lib/next-turn-params.test.js.map +1 -1
  54. package/esm/lib/reusable-stream.d.ts +9 -0
  55. package/esm/lib/reusable-stream.d.ts.map +1 -1
  56. package/esm/lib/reusable-stream.js +17 -0
  57. package/esm/lib/reusable-stream.js.map +1 -1
  58. package/esm/lib/stream-transformers.d.ts +21 -1
  59. package/esm/lib/stream-transformers.d.ts.map +1 -1
  60. package/esm/lib/stream-transformers.js +45 -0
  61. package/esm/lib/stream-transformers.js.map +1 -1
  62. package/esm/lib/tool-check.d.ts +76 -0
  63. package/esm/lib/tool-check.d.ts.map +1 -0
  64. package/esm/lib/tool-check.js +241 -0
  65. package/esm/lib/tool-check.js.map +1 -0
  66. package/esm/lib/tool-concurrency.d.ts +42 -0
  67. package/esm/lib/tool-concurrency.d.ts.map +1 -0
  68. package/esm/lib/tool-concurrency.js +80 -0
  69. package/esm/lib/tool-concurrency.js.map +1 -0
  70. package/esm/lib/tool-context.d.ts +45 -1
  71. package/esm/lib/tool-context.d.ts.map +1 -1
  72. package/esm/lib/tool-context.js +60 -1
  73. package/esm/lib/tool-context.js.map +1 -1
  74. package/esm/lib/tool-executor.d.ts +52 -9
  75. package/esm/lib/tool-executor.d.ts.map +1 -1
  76. package/esm/lib/tool-executor.js +253 -21
  77. package/esm/lib/tool-executor.js.map +1 -1
  78. package/esm/lib/tool-orchestrator.d.ts.map +1 -1
  79. package/esm/lib/tool-orchestrator.js +87 -50
  80. package/esm/lib/tool-orchestrator.js.map +1 -1
  81. package/esm/lib/tool-set-types.d.ts +298 -0
  82. package/esm/lib/tool-set-types.d.ts.map +1 -0
  83. package/esm/lib/tool-set-types.js +2 -0
  84. package/esm/lib/tool-set-types.js.map +1 -0
  85. package/esm/lib/tool-set.d.ts +157 -0
  86. package/esm/lib/tool-set.d.ts.map +1 -0
  87. package/esm/lib/tool-set.js +473 -0
  88. package/esm/lib/tool-set.js.map +1 -0
  89. package/esm/lib/tool-task.d.ts +157 -0
  90. package/esm/lib/tool-task.d.ts.map +1 -0
  91. package/esm/lib/tool-task.js +206 -0
  92. package/esm/lib/tool-task.js.map +1 -0
  93. package/esm/lib/tool-types.d.ts +667 -38
  94. package/esm/lib/tool-types.d.ts.map +1 -1
  95. package/esm/lib/tool-types.js +59 -10
  96. package/esm/lib/tool-types.js.map +1 -1
  97. package/esm/lib/tool.d.ts +227 -19
  98. package/esm/lib/tool.d.ts.map +1 -1
  99. package/esm/lib/tool.js +206 -6
  100. package/esm/lib/tool.js.map +1 -1
  101. package/esm/mcp/auth/auth-resolver.d.ts +14 -0
  102. package/esm/mcp/auth/auth-resolver.d.ts.map +1 -0
  103. package/esm/mcp/auth/auth-resolver.js +27 -0
  104. package/esm/mcp/auth/auth-resolver.js.map +1 -0
  105. package/esm/mcp/auth/auth-types.d.ts +33 -0
  106. package/esm/mcp/auth/auth-types.d.ts.map +1 -0
  107. package/esm/mcp/auth/auth-types.js +4 -0
  108. package/esm/mcp/auth/auth-types.js.map +1 -0
  109. package/esm/mcp/build-tools.d.ts +29 -0
  110. package/esm/mcp/build-tools.d.ts.map +1 -0
  111. package/esm/mcp/build-tools.js +80 -0
  112. package/esm/mcp/build-tools.js.map +1 -0
  113. package/esm/mcp/cache/cache-store.d.ts +24 -0
  114. package/esm/mcp/cache/cache-store.d.ts.map +1 -0
  115. package/esm/mcp/cache/cache-store.js +20 -0
  116. package/esm/mcp/cache/cache-store.js.map +1 -0
  117. package/esm/mcp/cache/cache-types.d.ts +71 -0
  118. package/esm/mcp/cache/cache-types.d.ts.map +1 -0
  119. package/esm/mcp/cache/cache-types.js +49 -0
  120. package/esm/mcp/cache/cache-types.js.map +1 -0
  121. package/esm/mcp/cache/serialize.d.ts +25 -0
  122. package/esm/mcp/cache/serialize.d.ts.map +1 -0
  123. package/esm/mcp/cache/serialize.js +96 -0
  124. package/esm/mcp/cache/serialize.js.map +1 -0
  125. package/esm/mcp/close-quietly.d.ts +24 -0
  126. package/esm/mcp/close-quietly.d.ts.map +1 -0
  127. package/esm/mcp/close-quietly.js +30 -0
  128. package/esm/mcp/close-quietly.js.map +1 -0
  129. package/esm/mcp/create-mcp-tools.d.ts +13 -0
  130. package/esm/mcp/create-mcp-tools.d.ts.map +1 -0
  131. package/esm/mcp/create-mcp-tools.js +87 -0
  132. package/esm/mcp/create-mcp-tools.js.map +1 -0
  133. package/esm/mcp/elicitation.d.ts +11 -0
  134. package/esm/mcp/elicitation.d.ts.map +1 -0
  135. package/esm/mcp/elicitation.js +51 -0
  136. package/esm/mcp/elicitation.js.map +1 -0
  137. package/esm/mcp/errors.d.ts +91 -0
  138. package/esm/mcp/errors.d.ts.map +1 -0
  139. package/esm/mcp/errors.js +91 -0
  140. package/esm/mcp/errors.js.map +1 -0
  141. package/esm/mcp/handle.d.ts +66 -0
  142. package/esm/mcp/handle.d.ts.map +1 -0
  143. package/esm/mcp/handle.js +323 -0
  144. package/esm/mcp/handle.js.map +1 -0
  145. package/esm/mcp/index.d.ts +13 -0
  146. package/esm/mcp/index.d.ts.map +1 -0
  147. package/esm/mcp/index.js +11 -0
  148. package/esm/mcp/index.js.map +1 -0
  149. package/esm/mcp/mcp-connection.d.ts +150 -0
  150. package/esm/mcp/mcp-connection.d.ts.map +1 -0
  151. package/esm/mcp/mcp-connection.js +478 -0
  152. package/esm/mcp/mcp-connection.js.map +1 -0
  153. package/esm/mcp/mcp-sdk.d.ts +10 -0
  154. package/esm/mcp/mcp-sdk.d.ts.map +1 -0
  155. package/esm/mcp/mcp-sdk.js +37 -0
  156. package/esm/mcp/mcp-sdk.js.map +1 -0
  157. package/esm/mcp/rehydrate.d.ts +76 -0
  158. package/esm/mcp/rehydrate.d.ts.map +1 -0
  159. package/esm/mcp/rehydrate.js +505 -0
  160. package/esm/mcp/rehydrate.js.map +1 -0
  161. package/esm/mcp/resource-tools.d.ts +17 -0
  162. package/esm/mcp/resource-tools.d.ts.map +1 -0
  163. package/esm/mcp/resource-tools.js +155 -0
  164. package/esm/mcp/resource-tools.js.map +1 -0
  165. package/esm/mcp/result-mapper.d.ts +19 -0
  166. package/esm/mcp/result-mapper.d.ts.map +1 -0
  167. package/esm/mcp/result-mapper.js +40 -0
  168. package/esm/mcp/result-mapper.js.map +1 -0
  169. package/esm/mcp/schema/json-schema-guards.d.ts +14 -0
  170. package/esm/mcp/schema/json-schema-guards.d.ts.map +1 -0
  171. package/esm/mcp/schema/json-schema-guards.js +19 -0
  172. package/esm/mcp/schema/json-schema-guards.js.map +1 -0
  173. package/esm/mcp/schema/json-schema-to-zod.d.ts +20 -0
  174. package/esm/mcp/schema/json-schema-to-zod.d.ts.map +1 -0
  175. package/esm/mcp/schema/json-schema-to-zod.js +72 -0
  176. package/esm/mcp/schema/json-schema-to-zod.js.map +1 -0
  177. package/esm/mcp/tool-wrapper.d.ts +41 -0
  178. package/esm/mcp/tool-wrapper.d.ts.map +1 -0
  179. package/esm/mcp/tool-wrapper.js +131 -0
  180. package/esm/mcp/tool-wrapper.js.map +1 -0
  181. package/esm/mcp/transport-types.d.ts +45 -0
  182. package/esm/mcp/transport-types.d.ts.map +1 -0
  183. package/esm/mcp/transport-types.js +2 -0
  184. package/esm/mcp/transport-types.js.map +1 -0
  185. package/esm/mcp/types.d.ts +119 -0
  186. package/esm/mcp/types.d.ts.map +1 -0
  187. package/esm/mcp/types.js +2 -0
  188. package/esm/mcp/types.js.map +1 -0
  189. package/esm/mcp/version.d.ts +3 -0
  190. package/esm/mcp/version.d.ts.map +1 -0
  191. package/esm/mcp/version.js +5 -0
  192. package/esm/mcp/version.js.map +1 -0
  193. package/package.json +70 -5
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAKzB;;;;GAIG;AACH,KAAK,2BAA2B,CAC9B,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,KAAK,8BAA8B,CACjC,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;CAClE,CAAC;AAEF;;GAEG;AACH,KAAK,mBAAmB,CACtB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,MAAM,SAAS,QAAQ,EACvB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,KAAK,gBAAgB,CACnB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,KAAK,cAAc,CACjB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,CACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAClE,kBAAkB,CAAC,EAAE,CACnB,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;GAGG;AACH,KAAK,2BAA2B,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EACH,CAAC,CACC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAClE,OAAO,CAAC,GACb,CAAC,CACC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAClE,cAAc,CAAC,OAAO,CAAC,CAAC,GAC7B,KAAK,CAAC;IACV,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CACpB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,0FAA0F;IAC1F,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,KAAK,uBAAuB,CAC1B,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,wEAAwE;IACxE,GAAG,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,CACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,KAEzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAC9D,QAAQ,CAAC,OAAO,CAAC,GACjB,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GACjC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5F,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;;;GAKG;AACH,KAAK,8BAA8B,CACjC,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG;IAC3C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,CACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAC9D,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;CAClE,CAAC;AAuBF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAC/D,KAAK,CAAC,KAAK,SAAS,MAAM,EAC1B,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAE1D,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KACtD,IAAI,GAAG;IACV,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC;KACb,CAAC;CACH,CAAC;AAUF,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG;IACtE,SAAS,EAAE,UAAU,CAAC;CACvB,GACA,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAG3D,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GACpE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAI9E,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAC3E,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAOxF,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,MAAM,SAAS,QAAQ,EACvB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAChE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAGpF,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GACnD,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAGnE,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAC5C,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAGtD,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAChE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAG1E,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GACnE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAKpF,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,MAAM,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC3C,IAAI,GAAG;IACR,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;yBANc,IAAI;;;AAqRpB;;;;GAIG;AACH,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAChC,CAAC;AAEF,8DAA8D;AAC9D,KAAK,iBAAiB,GAAG,IAAI,CAC3B,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC,EAC/B,OAAO,GAAG,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB,CAAC,OAAO;IAC1C;;;;;OAKG;IACH,OAAO,CACL,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,sBAAsB,GAAG;QAChC,MAAM,EAAE,OAAO,CAAC;KACjB,EACD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,+EAA+E;IAC/E,IAAI,CACF,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,sBAAsB,GAAG;QAChC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;KACvB,EACD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,qEAAqE;IACrE,MAAM,CACJ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,sBAAsB,GAAG;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAC3B,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,MAAM,SAAS,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EACzC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAC5E,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAwJzC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,IAAI;IAC3D;;;OAGG;IACH,EAAE,CAAC,EAAE,GAAG,CAAC;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,SAAS,MAAM,GAAG,UAAU,CAAC,EAAE,EACrF,MAAM,EAAE,OAAO,CACb,gBAAgB,EAChB;IACE,IAAI,EAAE,CAAC,CAAC;CACT,CACF,EACD,OAAO,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAUpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,IAAI,EACpC,UAAU,EAAE,CAAC,EACb,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GACA,UAAU,CAAC,CAAC,CAAC,CAYf"}
package/esm/lib/tool.js CHANGED
@@ -1,10 +1,27 @@
1
- import { SHARED_CONTEXT_KEY, ToolType } from './tool-types.js';
1
+ import { agentToolBuilder } from './agent-tool.js';
2
+ import { TASK_TOOL_NAME } from './tool-check.js';
3
+ import { isClientTool, SHARED_CONTEXT_KEY, ToolType } from './tool-types.js';
2
4
  // Implementation
3
5
  export function tool(config) {
6
+ if (config === undefined) {
7
+ return tool;
8
+ }
4
9
  // 'shared' is reserved for shared context — forbid it as a tool name
5
10
  if (config.name === SHARED_CONTEXT_KEY) {
6
11
  throw new Error(`Tool name "${SHARED_CONTEXT_KEY}" is reserved for shared context. Choose a different name.`);
7
12
  }
13
+ // 'task' is reserved for the universal task-interaction tool the engine
14
+ // registers alongside long-running tools.
15
+ if (config.name === TASK_TOOL_NAME) {
16
+ throw new Error(`Tool name "${TASK_TOOL_NAME}" is reserved for the built-in task-interaction tool. Choose a different name.`);
17
+ }
18
+ // Unified run tool (new kind). Checked before the legacy branches so a
19
+ // config carrying `run` never routes through execute-keyed logic —
20
+ // but AFTER the name guard, keeping every released path on its exact
21
+ // current control flow.
22
+ if ('run' in config && typeof config.run === 'function') {
23
+ return buildUnifiedTool(config);
24
+ }
8
25
  // Check for HITL tool (has onToolCalled hook)
9
26
  if ('onToolCalled' in config && typeof config.onToolCalled === 'function') {
10
27
  // outputSchema is required at the type level for HITL configs, but
@@ -33,6 +50,18 @@ export function tool(config) {
33
50
  if (config.requireApproval !== undefined) {
34
51
  fn.requireApproval = config.requireApproval;
35
52
  }
53
+ if (config.loopKey !== undefined) {
54
+ fn.loopKey = config.loopKey;
55
+ }
56
+ if (config.timeoutMs !== undefined) {
57
+ fn.timeoutMs = config.timeoutMs;
58
+ }
59
+ if (config.maxConcurrency !== undefined) {
60
+ fn.maxConcurrency = config.maxConcurrency;
61
+ }
62
+ if (config.strict !== undefined) {
63
+ fn.strict = config.strict;
64
+ }
36
65
  if (config.onResponseReceived !== undefined) {
37
66
  fn.onResponseReceived = config.onResponseReceived;
38
67
  }
@@ -64,6 +93,18 @@ export function tool(config) {
64
93
  if (config.requireApproval !== undefined) {
65
94
  fn.requireApproval = config.requireApproval;
66
95
  }
96
+ if (config.loopKey !== undefined) {
97
+ fn.loopKey = config.loopKey;
98
+ }
99
+ if (config.timeoutMs !== undefined) {
100
+ fn.timeoutMs = config.timeoutMs;
101
+ }
102
+ if (config.maxConcurrency !== undefined) {
103
+ fn.maxConcurrency = config.maxConcurrency;
104
+ }
105
+ if (config.strict !== undefined) {
106
+ fn.strict = config.strict;
107
+ }
67
108
  return {
68
109
  type: ToolType.Function,
69
110
  function: fn,
@@ -92,9 +133,21 @@ export function tool(config) {
92
133
  if (config.requireApproval !== undefined) {
93
134
  fn.requireApproval = config.requireApproval;
94
135
  }
136
+ if (config.loopKey !== undefined) {
137
+ fn.loopKey = config.loopKey;
138
+ }
139
+ if (config.timeoutMs !== undefined) {
140
+ fn.timeoutMs = config.timeoutMs;
141
+ }
142
+ if (config.maxConcurrency !== undefined) {
143
+ fn.maxConcurrency = config.maxConcurrency;
144
+ }
95
145
  if ('toModelOutput' in config && config.toModelOutput !== undefined) {
96
146
  fn.toModelOutput = config.toModelOutput;
97
147
  }
148
+ if (config.strict !== undefined) {
149
+ fn.strict = config.strict;
150
+ }
98
151
  return {
99
152
  type: ToolType.Function,
100
153
  function: fn,
@@ -120,6 +173,18 @@ export function tool(config) {
120
173
  ...(config.requireApproval !== undefined && {
121
174
  requireApproval: config.requireApproval,
122
175
  }),
176
+ ...(config.loopKey !== undefined && {
177
+ loopKey: config.loopKey,
178
+ }),
179
+ ...(config.timeoutMs !== undefined && {
180
+ timeoutMs: config.timeoutMs,
181
+ }),
182
+ ...(config.maxConcurrency !== undefined && {
183
+ maxConcurrency: config.maxConcurrency,
184
+ }),
185
+ ...(config.strict !== undefined && {
186
+ strict: config.strict,
187
+ }),
123
188
  ...('toModelOutput' in config &&
124
189
  config.toModelOutput !== undefined && {
125
190
  toModelOutput: config.toModelOutput,
@@ -130,8 +195,122 @@ export function tool(config) {
130
195
  function: functionObj,
131
196
  };
132
197
  }
133
- //#endregion
134
- //#region serverTool() Factory
198
+ /** Copy shared config fields onto a function object when present. */
199
+ function assignCommonToolFields(fn, config) {
200
+ const fields = [
201
+ 'description',
202
+ 'strict',
203
+ 'contextSchema',
204
+ 'nextTurnParams',
205
+ 'requireApproval',
206
+ 'loopKey',
207
+ 'timeoutMs',
208
+ 'maxConcurrency',
209
+ 'toModelOutput',
210
+ 'eventSchema',
211
+ 'ack',
212
+ 'graceMs',
213
+ 'pollAfterMs',
214
+ 'check',
215
+ 'logLimits',
216
+ ];
217
+ for (const field of fields) {
218
+ if (config[field] !== undefined) {
219
+ fn[field] = config[field];
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Bind one deferred completion method: resolve the entry shape, prepend the
225
+ * tool itself to any `run` tools, and dispatch through `resumeToolResults`.
226
+ * The resume module is imported lazily to avoid a static
227
+ * tool.ts → call-model.ts → model-result.ts import cycle.
228
+ */
229
+ function bindDeferredCompletion(toolValue, toEntry) {
230
+ return async (client, request, options) => {
231
+ const { resumeToolResults } = await import('../inner-loop/resume-tool-results.js');
232
+ const run = request.run;
233
+ return resumeToolResults(client, {
234
+ state: request.state,
235
+ tools: [
236
+ toolValue,
237
+ ],
238
+ // Ownership guard: a taskId handed to an external system must not
239
+ // settle a DIFFERENT tool's task through this tool's methods.
240
+ ...(isClientTool(toolValue) && {
241
+ expectToolName: toolValue.function.name,
242
+ }),
243
+ results: [
244
+ {
245
+ taskId: request.taskId,
246
+ ...toEntry(request),
247
+ },
248
+ ],
249
+ ...(request.ifSettled !== undefined && {
250
+ ifSettled: request.ifSettled,
251
+ }),
252
+ ...(run !== undefined && {
253
+ run: {
254
+ ...run,
255
+ tools: [
256
+ toolValue,
257
+ ...(run.tools ?? []).filter((t) => t !== toolValue),
258
+ ],
259
+ },
260
+ }),
261
+ }, options);
262
+ };
263
+ }
264
+ /**
265
+ * Build a unified `run` tool from a config. Deferred tools additionally get
266
+ * the typed `.resolve()/.fail()/.cancel()` completion methods.
267
+ */
268
+ function buildUnifiedTool(config) {
269
+ const lifecycle = ('lifecycle' in config ? config.lifecycle : undefined) ?? 'sync';
270
+ // Long-running lifecycles require an outputSchema: the result settles
271
+ // after the round (possibly in another process) and must be validatable
272
+ // without the run's return-type inference. Type level enforces this too;
273
+ // JavaScript callers can bypass types.
274
+ if (lifecycle !== 'sync' && config.outputSchema === undefined) {
275
+ throw new Error(`Tool "${config.name}" (lifecycle: '${lifecycle}') must declare an outputSchema. Long-running results are validated when they settle — possibly long after the round that started them.`);
276
+ }
277
+ const fn = {
278
+ lifecycle,
279
+ name: config.name,
280
+ inputSchema: config.inputSchema,
281
+ run: config.run,
282
+ };
283
+ if (config.outputSchema !== undefined) {
284
+ fn['outputSchema'] = config.outputSchema;
285
+ }
286
+ assignCommonToolFields(fn, config);
287
+ const toolValue = {
288
+ type: ToolType.Function,
289
+ function: fn,
290
+ };
291
+ if (lifecycle !== 'deferred') {
292
+ return toolValue;
293
+ }
294
+ return Object.assign(toolValue, {
295
+ resolve: bindDeferredCompletion(toolValue, (request) => ({
296
+ output: request['output'],
297
+ })),
298
+ fail: bindDeferredCompletion(toolValue, (request) => ({
299
+ error: request['error'] instanceof Error
300
+ ? request['error'].message
301
+ : String(request['error'] ?? 'Task failed'),
302
+ })),
303
+ cancel: bindDeferredCompletion(toolValue, (request) => ({
304
+ error: typeof request['reason'] === 'string' ? request['reason'] : 'Task cancelled',
305
+ status: 'cancelled',
306
+ })),
307
+ });
308
+ }
309
+ // Attach the agent builder as a namespaced property (expando properties on a
310
+ // function declaration merge into its type). `tool.agent()` keeps a
311
+ // dedicated builder because its config shape genuinely differs (an `agent`
312
+ // run-spec factory + `result` mapper instead of `run`).
313
+ tool.agent = agentToolBuilder;
135
314
  /**
136
315
  * Creates an OpenRouter server-executed tool. OpenRouter runs the tool (web
137
316
  * search, datetime, image generation, etc.) and returns the output item in
@@ -143,19 +322,28 @@ export function tool(config) {
143
322
  * in this SDK. Provide the `type` literal and the remaining fields narrow
144
323
  * to match the chosen tool.
145
324
  *
325
+ * Each server tool carries a stable tool-set `id` (default `server:${type}`)
326
+ * so activation APIs can address it. Override via the optional second argument.
327
+ *
146
328
  * @example
147
329
  * ```typescript
148
330
  * const tools = [
149
331
  * serverTool({ type: 'web_search_2025_08_26', engine: 'exa', maxResults: 10 }),
150
332
  * serverTool({ type: 'openrouter:datetime', parameters: { timezone: 'UTC' } }),
151
333
  * serverTool({ type: 'image_generation', size: '1024x1024', quality: 'high' }),
334
+ * serverTool({ type: 'web_search_2025_08_26' }, { id: 'server:public_search' }),
152
335
  * ];
153
336
  * ```
154
337
  */
155
- export function serverTool(config) {
338
+ export function serverTool(config, options) {
339
+ if (options?.id === '') {
340
+ throw new Error('Server tool ID must not be empty');
341
+ }
342
+ const id = (options?.id ?? `server:${config.type}`);
156
343
  return {
157
344
  _brand: 'server-tool',
158
345
  config,
346
+ id,
159
347
  };
160
348
  }
161
349
  /**
@@ -164,12 +352,24 @@ export function serverTool(config) {
164
352
  * the tool's runtime behavior and wire shape are unchanged — only its type (and
165
353
  * the runtime {@link isMcpTool} check) now identify it as MCP-originated. Used
166
354
  * by `@openrouter/mcp` to mark wrapped remote tools.
355
+ *
356
+ * `options.loopKey` attaches a doom-loop identity to the wrapped tool —
357
+ * the only injection point for MCP tools, whose remote definitions cannot
358
+ * carry client-side functions. Like every other tool hook it is a computed
359
+ * function over the call's arguments (or `false` to exempt).
167
360
  */
168
- export function markMcp(toolToMark) {
169
- return {
361
+ export function markMcp(toolToMark, options) {
362
+ const marked = {
170
363
  ...toolToMark,
171
364
  _mcp: true,
172
365
  };
366
+ if (options?.loopKey !== undefined && isClientTool(marked)) {
367
+ marked.function = {
368
+ ...marked.function,
369
+ loopKey: options.loopKey,
370
+ };
371
+ }
372
+ return marked;
173
373
  }
174
374
  //#endregion
175
375
  //# sourceMappingURL=tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA0BjD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAue7E,iBAAiB;AACjB,MAAM,UAAU,IAAI,CAClB,MAOwD;IAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,kBAAkB,4DAA4D,CAC7F,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,0CAA0C;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,cAAc,cAAc,gFAAgF,CAC7G,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,wBAAwB;IACxB,IAAI,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,gBAAgB,CACrB,MAEkE,CACnE,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC1E,mEAAmE;QACnE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,cAAc,QAAQ,uIAAuI,CAC9J,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAA0D;YAChE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC5C,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAkD;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACoD,CAAC;QAE9E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpE,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI;YACpC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QACF,GAAG,CAAC,eAAe,IAAI,MAAM;YAC3B,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACpC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;KACL,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAqFD,qEAAqE;AACrE,SAAS,sBAAsB,CAC7B,EAA2B,EAC3B,MAA+B;IAE/B,MAAM,MAAM,GAAG;QACb,aAAa;QACb,QAAQ;QACR,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,aAAa;QACb,KAAK;QACL,SAAS;QACT,aAAa;QACb,OAAO;QACP,WAAW;KACH,CAAC;IACX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,SAAe,EACf,OAAsE;IAMtE,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,OAAO,iBAAiB,CACtB,MAAM,EACN;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE;gBACL,SAAS;aACV;YACD,kEAAkE;YAClE,8DAA8D;YAC9D,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI;gBAC7B,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI;aACxC,CAAC;YACF,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,OAAO,CAAC,OAAO,CAAC;iBACX;aACX;YACD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI;gBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;YACF,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI;gBACvB,GAAG,EAAE;oBACH,GAAG,GAAG;oBACN,KAAK,EAAE;wBACL,SAAS;wBACT,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;qBACpD;iBACF;aACF,CAAC;SACH,EACD,OAAO,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,MAEkE;IAElE,MAAM,SAAS,GAAkB,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;IAElG,sEAAsE;IACtE,wEAAwE;IACxE,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,CAAC,IAAI,kBAAkB,SAAS,yIAAyI,CACzL,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAA4B;QAClC,SAAS;QACT,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,EAAE,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,sBAAsB,CAAC,EAAE,EAAE,MAAiC,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,EAAwC;KACnD,CAAC;IAEF,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpD,KAAK,EACH,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK;gBAC/B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO;gBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACnF,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;KACJ,CAAS,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,oEAAoE;AACpE,2EAA2E;AAC3E,wDAAwD;AACxD,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAkB9B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,UAAU,CACxB,MAKC,EACD,OAAgC;IAEhC,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAK,UAAU,MAAM,CAAC,IAAI,EAAY,CAAQ,CAAC;IACtE,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,MAAM;QACN,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACrB,UAAa,EACb,OAEC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,IAAI,EAAE,IAAa;KACpB,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,MAAM,CAAC,QAAQ;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,YAAY"}
@@ -0,0 +1,14 @@
1
+ import type { OAuthClientProvider } from '@modelcontextprotocol/client';
2
+ import type { MCPAuth } from './auth-types.js';
3
+ /**
4
+ * The transport-level pieces derived from an {@link MCPAuth}: static headers to
5
+ * merge into `requestInit`, and/or an OAuth provider to hand to the transport.
6
+ * Both flow into the same connected client, so discovery and tool calls share
7
+ * one authenticated session.
8
+ */
9
+ export interface ResolvedAuth {
10
+ headers: Record<string, string>;
11
+ authProvider?: OAuthClientProvider;
12
+ }
13
+ export declare function resolveAuth(auth: MCPAuth | undefined): ResolvedAuth;
14
+ //# sourceMappingURL=auth-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-resolver.d.ts","sourceRoot":"","sources":["../../../src/mcp/auth/auth-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAyBnE"}
@@ -0,0 +1,27 @@
1
+ export function resolveAuth(auth) {
2
+ if (auth === undefined) {
3
+ return {
4
+ headers: {},
5
+ };
6
+ }
7
+ switch (auth.kind) {
8
+ case 'bearer':
9
+ return {
10
+ headers: {
11
+ Authorization: `Bearer ${auth.token}`,
12
+ },
13
+ };
14
+ case 'headers':
15
+ return {
16
+ headers: {
17
+ ...auth.headers,
18
+ },
19
+ };
20
+ case 'oauth':
21
+ return {
22
+ headers: {},
23
+ authProvider: auth.provider,
24
+ };
25
+ }
26
+ }
27
+ //# sourceMappingURL=auth-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-resolver.js","sourceRoot":"","sources":["../../../src/mcp/auth/auth-resolver.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,WAAW,CAAC,IAAyB;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO;gBACL,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;iBACtC;aACF,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;iBAChB;aACF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,IAAI,CAAC,QAAQ;aAC5B,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { OAuthClientProvider } from '@modelcontextprotocol/client';
2
+ /**
3
+ * The OAuth provider contract expected by {@link MCPAuth}'s `oauth` variant.
4
+ *
5
+ * Re-exported under our own name so consumers can type their provider without
6
+ * importing from `@modelcontextprotocol/client` directly — that import path is
7
+ * an implementation detail of this package and has changed once already.
8
+ */
9
+ export type MCPOAuthClientProvider = OAuthClientProvider;
10
+ /**
11
+ * Authentication for a remote MCP server. Supplied once and reused by the
12
+ * connected client for tool discovery and every subsequent tool call.
13
+ *
14
+ * - `bearer`: a static bearer token sent as `Authorization: Bearer <token>`.
15
+ * - `headers`: arbitrary static headers (e.g. API keys, custom auth schemes).
16
+ * - `oauth`: a user-supplied {@link OAuthClientProvider} that owns token
17
+ * acquisition/refresh. Preferred over caching static tokens.
18
+ */
19
+ export type MCPAuth = {
20
+ kind: 'bearer';
21
+ token: string;
22
+ } | {
23
+ kind: 'headers';
24
+ headers: Readonly<Record<string, string>>;
25
+ } | {
26
+ kind: 'oauth';
27
+ provider: OAuthClientProvider;
28
+ };
29
+ export declare function isOAuthAuth(auth: MCPAuth | undefined): auth is {
30
+ kind: 'oauth';
31
+ provider: OAuthClientProvider;
32
+ };
33
+ //# sourceMappingURL=auth-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/mcp/auth/auth-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GACf;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEN,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,IAAI;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAEA"}
@@ -0,0 +1,4 @@
1
+ export function isOAuthAuth(auth) {
2
+ return auth?.kind === 'oauth';
3
+ }
4
+ //# sourceMappingURL=auth-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/mcp/auth/auth-types.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,WAAW,CAAC,IAAyB;IAInD,OAAO,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { Client } from '@modelcontextprotocol/client';
2
+ import type { Tool, ToolLoopKey } from '../lib/tool-types.js';
3
+ import type { UnconvertibleSchemaMode } from './schema/json-schema-to-zod.js';
4
+ import type { McpToolDef } from './tool-wrapper.js';
5
+ import type { ResourcesOption } from './types.js';
6
+ export interface BuildToolsOptions {
7
+ client: Client;
8
+ toolDefs: readonly McpToolDef[];
9
+ namePrefix?: string;
10
+ includeTools?: readonly string[];
11
+ excludeTools?: readonly string[];
12
+ schemaMode?: UnconvertibleSchemaMode;
13
+ emitProgress?: boolean;
14
+ /** Per-tool doom-loop identities, keyed by unprefixed MCP tool name. */
15
+ loopKeys?: Readonly<Record<string, ToolLoopKey<Record<string, unknown>>>>;
16
+ signal?: AbortSignal;
17
+ resources?: ResourcesOption;
18
+ /** Whether the server advertised the resources capability. */
19
+ serverHasResources: boolean;
20
+ }
21
+ /** Apply allow/deny filters to discovered MCP tool definitions. */
22
+ export declare function filterToolDefs(defs: readonly McpToolDef[], includeTools?: readonly string[], excludeTools?: readonly string[]): McpToolDef[];
23
+ /**
24
+ * Build the full ordered tool list for a handle: filtered + wrapped MCP tools,
25
+ * plus synthetic resource tools when enabled. Throws on a name collision so two
26
+ * tools never silently shadow each other in `callModel`.
27
+ */
28
+ export declare function buildTools(options: BuildToolsOptions): Tool[];
29
+ //# sourceMappingURL=build-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/build-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,8DAA8D;IAC9D,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AASD,mEAAmE;AACnE,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,UAAU,EAAE,EAC3B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,UAAU,EAAE,CASd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,EAAE,CAwC7D"}
@@ -0,0 +1,80 @@
1
+ import { MCPError } from './errors.js';
2
+ import { buildResourceTools } from './resource-tools.js';
3
+ import { wrapMcpTool } from './tool-wrapper.js';
4
+ function resourcesEnabled(option) {
5
+ if (option === undefined) {
6
+ return true;
7
+ }
8
+ return option === true || (typeof option === 'object' && option !== null);
9
+ }
10
+ /** Apply allow/deny filters to discovered MCP tool definitions. */
11
+ export function filterToolDefs(defs, includeTools, excludeTools) {
12
+ const include = includeTools !== undefined ? new Set(includeTools) : undefined;
13
+ const exclude = new Set(excludeTools ?? []);
14
+ return defs.filter((def) => {
15
+ if (include !== undefined && !include.has(def.name)) {
16
+ return false;
17
+ }
18
+ return !exclude.has(def.name);
19
+ });
20
+ }
21
+ /**
22
+ * Build the full ordered tool list for a handle: filtered + wrapped MCP tools,
23
+ * plus synthetic resource tools when enabled. Throws on a name collision so two
24
+ * tools never silently shadow each other in `callModel`.
25
+ */
26
+ export function buildTools(options) {
27
+ const filtered = filterToolDefs(options.toolDefs, options.includeTools, options.excludeTools);
28
+ const wrapOptions = {
29
+ client: options.client,
30
+ ...(options.namePrefix !== undefined && {
31
+ namePrefix: options.namePrefix,
32
+ }),
33
+ ...(options.schemaMode !== undefined && {
34
+ schemaMode: options.schemaMode,
35
+ }),
36
+ ...(options.emitProgress !== undefined && {
37
+ emitProgress: options.emitProgress,
38
+ }),
39
+ ...(options.loopKeys !== undefined && {
40
+ loopKeys: options.loopKeys,
41
+ }),
42
+ ...(options.signal !== undefined && {
43
+ signal: options.signal,
44
+ }),
45
+ };
46
+ const tools = filtered.map((def) => wrapMcpTool(def, wrapOptions));
47
+ if (options.serverHasResources && resourcesEnabled(options.resources)) {
48
+ tools.push(...buildResourceTools({
49
+ client: options.client,
50
+ ...(options.namePrefix !== undefined && {
51
+ namePrefix: options.namePrefix,
52
+ }),
53
+ ...(options.signal !== undefined && {
54
+ signal: options.signal,
55
+ }),
56
+ }));
57
+ }
58
+ assertNoDuplicateNames(tools);
59
+ return tools;
60
+ }
61
+ function toolName(tool) {
62
+ if ('function' in tool && typeof tool.function.name === 'string') {
63
+ return tool.function.name;
64
+ }
65
+ return undefined;
66
+ }
67
+ function assertNoDuplicateNames(tools) {
68
+ const seen = new Set();
69
+ for (const tool of tools) {
70
+ const name = toolName(tool);
71
+ if (name === undefined) {
72
+ continue;
73
+ }
74
+ if (seen.has(name)) {
75
+ throw new MCPError(`Duplicate tool name "${name}". Use toolNamePrefix or excludeTools to disambiguate.`);
76
+ }
77
+ seen.add(name);
78
+ }
79
+ }
80
+ //# sourceMappingURL=build-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/mcp/build-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { SerializedMCPServer } from './cache-types.js';
2
+ /**
3
+ * Pluggable cache for MCP server snapshots. Implement this to back the cache
4
+ * with Redis, a database, or the filesystem. All methods may be async.
5
+ *
6
+ * SECURITY: when `cacheCredentials` is enabled, stored snapshots contain bearer
7
+ * tokens/headers — treat the store as a secret store (encrypt at rest, scope
8
+ * access) and namespace keys by principal in multi-tenant setups.
9
+ */
10
+ export interface MCPCacheStore {
11
+ get(key: string): Promise<SerializedMCPServer | null> | SerializedMCPServer | null;
12
+ set(key: string, value: SerializedMCPServer): Promise<void> | void;
13
+ delete?(key: string): Promise<void> | void;
14
+ }
15
+ /** Default in-process cache backed by a `Map`. Not shared across processes. */
16
+ export declare class InMemoryMCPCacheStore implements MCPCacheStore {
17
+ private readonly entries;
18
+ get(key: string): SerializedMCPServer | null;
19
+ set(key: string, value: SerializedMCPServer): void;
20
+ delete(key: string): void;
21
+ }
22
+ /** Default cache key for a server URL. Override via `cache.key` for multi-tenant. */
23
+ export declare function defaultCacheKey(url: string): string;
24
+ //# sourceMappingURL=cache-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-store.d.ts","sourceRoot":"","sources":["../../../src/mcp/cache/cache-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,+EAA+E;AAC/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAI5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIlD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG1B;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,20 @@
1
+ /** Default in-process cache backed by a `Map`. Not shared across processes. */
2
+ export class InMemoryMCPCacheStore {
3
+ constructor() {
4
+ this.entries = new Map();
5
+ }
6
+ get(key) {
7
+ return this.entries.get(key) ?? null;
8
+ }
9
+ set(key, value) {
10
+ this.entries.set(key, value);
11
+ }
12
+ delete(key) {
13
+ this.entries.delete(key);
14
+ }
15
+ }
16
+ /** Default cache key for a server URL. Override via `cache.key` for multi-tenant. */
17
+ export function defaultCacheKey(url) {
18
+ return `openrouter-mcp:${url}`;
19
+ }
20
+ //# sourceMappingURL=cache-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-store.js","sourceRoot":"","sources":["../../../src/mcp/cache/cache-store.ts"],"names":[],"mappings":"AAgBA,+EAA+E;AAC/E,MAAM,OAAO,qBAAqB;IAAlC;QACmB,YAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAapE,CAAC;IAXC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,kBAAkB,GAAG,EAAE,CAAC;AACjC,CAAC"}