@azure/ai-agents 1.1.0-beta.3 → 1.2.0-alpha.20250923.1

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 (259) hide show
  1. package/README.md +0 -76
  2. package/dist/browser/api/agentsContext.js +2 -2
  3. package/dist/browser/api/agentsContext.js.map +1 -1
  4. package/dist/browser/api/messages/index.d.ts +2 -2
  5. package/dist/browser/api/messages/index.d.ts.map +1 -1
  6. package/dist/browser/api/messages/index.js +1 -1
  7. package/dist/browser/api/messages/index.js.map +1 -1
  8. package/dist/browser/api/messages/operations.d.ts +6 -2
  9. package/dist/browser/api/messages/operations.d.ts.map +1 -1
  10. package/dist/browser/api/messages/operations.js +31 -1
  11. package/dist/browser/api/messages/operations.js.map +1 -1
  12. package/dist/browser/api/messages/options.d.ts +3 -0
  13. package/dist/browser/api/messages/options.d.ts.map +1 -1
  14. package/dist/browser/api/messages/options.js.map +1 -1
  15. package/dist/browser/api/operations.d.ts +1 -2
  16. package/dist/browser/api/operations.d.ts.map +1 -1
  17. package/dist/browser/api/operations.js +2 -2
  18. package/dist/browser/api/operations.js.map +1 -1
  19. package/dist/browser/api/runSteps/operations.js +3 -3
  20. package/dist/browser/api/runSteps/operations.js.map +1 -1
  21. package/dist/browser/api/runs/operations.d.ts +3 -3
  22. package/dist/browser/api/runs/operations.d.ts.map +1 -1
  23. package/dist/browser/api/runs/operations.js +12 -10
  24. package/dist/browser/api/runs/operations.js.map +1 -1
  25. package/dist/browser/api/vectorStoreFiles/operations.js +4 -4
  26. package/dist/browser/api/vectorStoreFiles/operations.js.map +1 -1
  27. package/dist/browser/api/vectorStores/operations.js +4 -4
  28. package/dist/browser/api/vectorStores/operations.js.map +1 -1
  29. package/dist/browser/classic/messages/index.d.ts +4 -2
  30. package/dist/browser/classic/messages/index.d.ts.map +1 -1
  31. package/dist/browser/classic/messages/index.js +2 -1
  32. package/dist/browser/classic/messages/index.js.map +1 -1
  33. package/dist/browser/classic/runs/index.d.ts.map +1 -1
  34. package/dist/browser/classic/runs/index.js +4 -1
  35. package/dist/browser/classic/runs/index.js.map +1 -1
  36. package/dist/browser/constants.d.ts +1 -1
  37. package/dist/browser/constants.js +1 -1
  38. package/dist/browser/constants.js.map +1 -1
  39. package/dist/browser/index.d.ts +3 -2
  40. package/dist/browser/index.d.ts.map +1 -1
  41. package/dist/browser/index.js +1 -0
  42. package/dist/browser/index.js.map +1 -1
  43. package/dist/browser/models/index.d.ts +1 -1
  44. package/dist/browser/models/index.d.ts.map +1 -1
  45. package/dist/browser/models/index.js.map +1 -1
  46. package/dist/browser/models/models.d.ts +309 -31
  47. package/dist/browser/models/models.d.ts.map +1 -1
  48. package/dist/browser/models/models.js +341 -14
  49. package/dist/browser/models/models.js.map +1 -1
  50. package/dist/browser/models/streamingModels.d.ts +18 -18
  51. package/dist/browser/models/streamingModels.d.ts.map +1 -1
  52. package/dist/browser/models/streamingModels.js.map +1 -1
  53. package/dist/browser/static-helpers/urlTemplate.js.map +1 -1
  54. package/dist/browser/utils/MCPTool.d.ts +12 -1
  55. package/dist/browser/utils/MCPTool.d.ts.map +1 -1
  56. package/dist/browser/utils/MCPTool.js +29 -2
  57. package/dist/browser/utils/MCPTool.js.map +1 -1
  58. package/dist/browser/utils/OpenApiTool.d.ts +46 -0
  59. package/dist/browser/utils/OpenApiTool.d.ts.map +1 -0
  60. package/dist/browser/utils/OpenApiTool.js +84 -0
  61. package/dist/browser/utils/OpenApiTool.js.map +1 -0
  62. package/dist/browser/utils/utils.d.ts +14 -50
  63. package/dist/browser/utils/utils.d.ts.map +1 -1
  64. package/dist/browser/utils/utils.js +13 -91
  65. package/dist/browser/utils/utils.js.map +1 -1
  66. package/dist/commonjs/api/agentsContext.js +2 -2
  67. package/dist/commonjs/api/agentsContext.js.map +1 -1
  68. package/dist/commonjs/api/messages/index.d.ts +2 -2
  69. package/dist/commonjs/api/messages/index.d.ts.map +1 -1
  70. package/dist/commonjs/api/messages/index.js +2 -1
  71. package/dist/commonjs/api/messages/index.js.map +1 -1
  72. package/dist/commonjs/api/messages/operations.d.ts +6 -2
  73. package/dist/commonjs/api/messages/operations.d.ts.map +1 -1
  74. package/dist/commonjs/api/messages/operations.js +33 -0
  75. package/dist/commonjs/api/messages/operations.js.map +1 -1
  76. package/dist/commonjs/api/messages/options.d.ts +3 -0
  77. package/dist/commonjs/api/messages/options.d.ts.map +1 -1
  78. package/dist/commonjs/api/messages/options.js.map +1 -1
  79. package/dist/commonjs/api/operations.d.ts +1 -2
  80. package/dist/commonjs/api/operations.d.ts.map +1 -1
  81. package/dist/commonjs/api/operations.js +2 -2
  82. package/dist/commonjs/api/operations.js.map +1 -1
  83. package/dist/commonjs/api/runSteps/operations.js +3 -3
  84. package/dist/commonjs/api/runSteps/operations.js.map +1 -1
  85. package/dist/commonjs/api/runs/operations.d.ts +3 -3
  86. package/dist/commonjs/api/runs/operations.d.ts.map +1 -1
  87. package/dist/commonjs/api/runs/operations.js +12 -10
  88. package/dist/commonjs/api/runs/operations.js.map +1 -1
  89. package/dist/commonjs/api/vectorStoreFiles/operations.js +4 -4
  90. package/dist/commonjs/api/vectorStoreFiles/operations.js.map +1 -1
  91. package/dist/commonjs/api/vectorStores/operations.js +4 -4
  92. package/dist/commonjs/api/vectorStores/operations.js.map +1 -1
  93. package/dist/commonjs/classic/messages/index.d.ts +4 -2
  94. package/dist/commonjs/classic/messages/index.d.ts.map +1 -1
  95. package/dist/commonjs/classic/messages/index.js +1 -0
  96. package/dist/commonjs/classic/messages/index.js.map +1 -1
  97. package/dist/commonjs/classic/runs/index.d.ts.map +1 -1
  98. package/dist/commonjs/classic/runs/index.js +4 -1
  99. package/dist/commonjs/classic/runs/index.js.map +1 -1
  100. package/dist/commonjs/constants.d.ts +1 -1
  101. package/dist/commonjs/constants.js +1 -1
  102. package/dist/commonjs/constants.js.map +1 -1
  103. package/dist/commonjs/index.d.ts +3 -2
  104. package/dist/commonjs/index.d.ts.map +1 -1
  105. package/dist/commonjs/index.js +3 -1
  106. package/dist/commonjs/index.js.map +1 -1
  107. package/dist/commonjs/models/index.d.ts +1 -1
  108. package/dist/commonjs/models/index.d.ts.map +1 -1
  109. package/dist/commonjs/models/index.js.map +1 -1
  110. package/dist/commonjs/models/models.d.ts +309 -31
  111. package/dist/commonjs/models/models.d.ts.map +1 -1
  112. package/dist/commonjs/models/models.js +385 -15
  113. package/dist/commonjs/models/models.js.map +1 -1
  114. package/dist/commonjs/models/streamingModels.d.ts +18 -18
  115. package/dist/commonjs/models/streamingModels.d.ts.map +1 -1
  116. package/dist/commonjs/models/streamingModels.js.map +1 -1
  117. package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
  118. package/dist/commonjs/tsdoc-metadata.json +1 -1
  119. package/dist/commonjs/utils/MCPTool.d.ts +12 -1
  120. package/dist/commonjs/utils/MCPTool.d.ts.map +1 -1
  121. package/dist/commonjs/utils/MCPTool.js +29 -2
  122. package/dist/commonjs/utils/MCPTool.js.map +1 -1
  123. package/dist/commonjs/utils/OpenApiTool.d.ts +46 -0
  124. package/dist/commonjs/utils/OpenApiTool.d.ts.map +1 -0
  125. package/dist/commonjs/utils/OpenApiTool.js +88 -0
  126. package/dist/commonjs/utils/OpenApiTool.js.map +1 -0
  127. package/dist/commonjs/utils/utils.d.ts +14 -50
  128. package/dist/commonjs/utils/utils.d.ts.map +1 -1
  129. package/dist/commonjs/utils/utils.js +13 -91
  130. package/dist/commonjs/utils/utils.js.map +1 -1
  131. package/dist/esm/api/agentsContext.js +2 -2
  132. package/dist/esm/api/agentsContext.js.map +1 -1
  133. package/dist/esm/api/messages/index.d.ts +2 -2
  134. package/dist/esm/api/messages/index.d.ts.map +1 -1
  135. package/dist/esm/api/messages/index.js +1 -1
  136. package/dist/esm/api/messages/index.js.map +1 -1
  137. package/dist/esm/api/messages/operations.d.ts +6 -2
  138. package/dist/esm/api/messages/operations.d.ts.map +1 -1
  139. package/dist/esm/api/messages/operations.js +31 -1
  140. package/dist/esm/api/messages/operations.js.map +1 -1
  141. package/dist/esm/api/messages/options.d.ts +3 -0
  142. package/dist/esm/api/messages/options.d.ts.map +1 -1
  143. package/dist/esm/api/messages/options.js.map +1 -1
  144. package/dist/esm/api/operations.d.ts +1 -2
  145. package/dist/esm/api/operations.d.ts.map +1 -1
  146. package/dist/esm/api/operations.js +2 -2
  147. package/dist/esm/api/operations.js.map +1 -1
  148. package/dist/esm/api/runSteps/operations.js +3 -3
  149. package/dist/esm/api/runSteps/operations.js.map +1 -1
  150. package/dist/esm/api/runs/operations.d.ts +3 -3
  151. package/dist/esm/api/runs/operations.d.ts.map +1 -1
  152. package/dist/esm/api/runs/operations.js +12 -10
  153. package/dist/esm/api/runs/operations.js.map +1 -1
  154. package/dist/esm/api/vectorStoreFiles/operations.js +4 -4
  155. package/dist/esm/api/vectorStoreFiles/operations.js.map +1 -1
  156. package/dist/esm/api/vectorStores/operations.js +4 -4
  157. package/dist/esm/api/vectorStores/operations.js.map +1 -1
  158. package/dist/esm/classic/messages/index.d.ts +4 -2
  159. package/dist/esm/classic/messages/index.d.ts.map +1 -1
  160. package/dist/esm/classic/messages/index.js +2 -1
  161. package/dist/esm/classic/messages/index.js.map +1 -1
  162. package/dist/esm/classic/runs/index.d.ts.map +1 -1
  163. package/dist/esm/classic/runs/index.js +4 -1
  164. package/dist/esm/classic/runs/index.js.map +1 -1
  165. package/dist/esm/constants.d.ts +1 -1
  166. package/dist/esm/constants.js +1 -1
  167. package/dist/esm/constants.js.map +1 -1
  168. package/dist/esm/index.d.ts +3 -2
  169. package/dist/esm/index.d.ts.map +1 -1
  170. package/dist/esm/index.js +1 -0
  171. package/dist/esm/index.js.map +1 -1
  172. package/dist/esm/models/index.d.ts +1 -1
  173. package/dist/esm/models/index.d.ts.map +1 -1
  174. package/dist/esm/models/index.js.map +1 -1
  175. package/dist/esm/models/models.d.ts +309 -31
  176. package/dist/esm/models/models.d.ts.map +1 -1
  177. package/dist/esm/models/models.js +341 -14
  178. package/dist/esm/models/models.js.map +1 -1
  179. package/dist/esm/models/streamingModels.d.ts +18 -18
  180. package/dist/esm/models/streamingModels.d.ts.map +1 -1
  181. package/dist/esm/models/streamingModels.js.map +1 -1
  182. package/dist/esm/static-helpers/urlTemplate.js.map +1 -1
  183. package/dist/esm/utils/MCPTool.d.ts +12 -1
  184. package/dist/esm/utils/MCPTool.d.ts.map +1 -1
  185. package/dist/esm/utils/MCPTool.js +29 -2
  186. package/dist/esm/utils/MCPTool.js.map +1 -1
  187. package/dist/esm/utils/OpenApiTool.d.ts +46 -0
  188. package/dist/esm/utils/OpenApiTool.d.ts.map +1 -0
  189. package/dist/esm/utils/OpenApiTool.js +84 -0
  190. package/dist/esm/utils/OpenApiTool.js.map +1 -0
  191. package/dist/esm/utils/utils.d.ts +14 -50
  192. package/dist/esm/utils/utils.d.ts.map +1 -1
  193. package/dist/esm/utils/utils.js +13 -91
  194. package/dist/esm/utils/utils.js.map +1 -1
  195. package/dist/react-native/api/agentsContext.js +2 -2
  196. package/dist/react-native/api/agentsContext.js.map +1 -1
  197. package/dist/react-native/api/messages/index.d.ts +2 -2
  198. package/dist/react-native/api/messages/index.d.ts.map +1 -1
  199. package/dist/react-native/api/messages/index.js +1 -1
  200. package/dist/react-native/api/messages/index.js.map +1 -1
  201. package/dist/react-native/api/messages/operations.d.ts +6 -2
  202. package/dist/react-native/api/messages/operations.d.ts.map +1 -1
  203. package/dist/react-native/api/messages/operations.js +31 -1
  204. package/dist/react-native/api/messages/operations.js.map +1 -1
  205. package/dist/react-native/api/messages/options.d.ts +3 -0
  206. package/dist/react-native/api/messages/options.d.ts.map +1 -1
  207. package/dist/react-native/api/messages/options.js.map +1 -1
  208. package/dist/react-native/api/operations.d.ts +1 -2
  209. package/dist/react-native/api/operations.d.ts.map +1 -1
  210. package/dist/react-native/api/operations.js +2 -2
  211. package/dist/react-native/api/operations.js.map +1 -1
  212. package/dist/react-native/api/runSteps/operations.js +3 -3
  213. package/dist/react-native/api/runSteps/operations.js.map +1 -1
  214. package/dist/react-native/api/runs/operations.d.ts +3 -3
  215. package/dist/react-native/api/runs/operations.d.ts.map +1 -1
  216. package/dist/react-native/api/runs/operations.js +12 -10
  217. package/dist/react-native/api/runs/operations.js.map +1 -1
  218. package/dist/react-native/api/vectorStoreFiles/operations.js +4 -4
  219. package/dist/react-native/api/vectorStoreFiles/operations.js.map +1 -1
  220. package/dist/react-native/api/vectorStores/operations.js +4 -4
  221. package/dist/react-native/api/vectorStores/operations.js.map +1 -1
  222. package/dist/react-native/classic/messages/index.d.ts +4 -2
  223. package/dist/react-native/classic/messages/index.d.ts.map +1 -1
  224. package/dist/react-native/classic/messages/index.js +2 -1
  225. package/dist/react-native/classic/messages/index.js.map +1 -1
  226. package/dist/react-native/classic/runs/index.d.ts.map +1 -1
  227. package/dist/react-native/classic/runs/index.js +4 -1
  228. package/dist/react-native/classic/runs/index.js.map +1 -1
  229. package/dist/react-native/constants.d.ts +1 -1
  230. package/dist/react-native/constants.js +1 -1
  231. package/dist/react-native/constants.js.map +1 -1
  232. package/dist/react-native/index.d.ts +3 -2
  233. package/dist/react-native/index.d.ts.map +1 -1
  234. package/dist/react-native/index.js +1 -0
  235. package/dist/react-native/index.js.map +1 -1
  236. package/dist/react-native/models/index.d.ts +1 -1
  237. package/dist/react-native/models/index.d.ts.map +1 -1
  238. package/dist/react-native/models/index.js.map +1 -1
  239. package/dist/react-native/models/models.d.ts +309 -31
  240. package/dist/react-native/models/models.d.ts.map +1 -1
  241. package/dist/react-native/models/models.js +341 -14
  242. package/dist/react-native/models/models.js.map +1 -1
  243. package/dist/react-native/models/streamingModels.d.ts +18 -18
  244. package/dist/react-native/models/streamingModels.d.ts.map +1 -1
  245. package/dist/react-native/models/streamingModels.js.map +1 -1
  246. package/dist/react-native/static-helpers/urlTemplate.js.map +1 -1
  247. package/dist/react-native/utils/MCPTool.d.ts +12 -1
  248. package/dist/react-native/utils/MCPTool.d.ts.map +1 -1
  249. package/dist/react-native/utils/MCPTool.js +29 -2
  250. package/dist/react-native/utils/MCPTool.js.map +1 -1
  251. package/dist/react-native/utils/OpenApiTool.d.ts +46 -0
  252. package/dist/react-native/utils/OpenApiTool.d.ts.map +1 -0
  253. package/dist/react-native/utils/OpenApiTool.js +84 -0
  254. package/dist/react-native/utils/OpenApiTool.js.map +1 -0
  255. package/dist/react-native/utils/utils.d.ts +14 -50
  256. package/dist/react-native/utils/utils.d.ts.map +1 -1
  257. package/dist/react-native/utils/utils.js +13 -91
  258. package/dist/react-native/utils/utils.js.map +1 -1
  259. package/package.json +36 -37
@@ -1,23 +1,23 @@
1
1
  import type { AgentStreamEvent, AgentThread, MessageDeltaChunk, RunStep, RunStepDeltaChunk, ThreadMessage, ThreadRun } from "./models.js";
2
2
  /**
3
- Each event in a server-sent events stream has an `event` and `data` property:
4
- *
5
- * @example
6
- * ``` ts
7
- * event: thread.created
8
- * data: {"id": "thread_123", "object": "thread", ...}
9
- * ```
10
- *
11
- * We emit events whenever a new object is created, transitions to a new state, or is being
12
- * streamed in parts (deltas). For example, we emit `thread.run.created` when a new run
13
- * is created, `thread.run.completed` when a run completes, and so on. When an Agent chooses
14
- * to create a message during a run, we emit a `thread.message.created event`, a
15
- * `thread.message.in_progress` event, many `thread.message.delta` events, and finally a
16
- * `thread.message.completed` event.
17
- *
18
- * We may add additional events over time, so we recommend handling unknown events gracefully
19
- * in your code.
20
- **/
3
+ * Each event in a server-sent events stream has an `event` and `data` property:
4
+ *
5
+ * @example
6
+ * ```ts snippet:ignore
7
+ * event: thread.created
8
+ * data: {"id": "thread_123", "object": "thread", ...}
9
+ * ```
10
+ *
11
+ * We emit events whenever a new object is created, transitions to a new state, or is being
12
+ * streamed in parts (deltas). For example, we emit `thread.run.created` when a new run
13
+ * is created, `thread.run.completed` when a run completes, and so on. When an Agent chooses
14
+ * to create a message during a run, we emit a `thread.message.created event`, a
15
+ * `thread.message.in_progress` event, many `thread.message.delta` events, and finally a
16
+ * `thread.message.completed` event.
17
+ *
18
+ * We may add additional events over time, so we recommend handling unknown events gracefully
19
+ * in your code.
20
+ **/
21
21
  export interface AgentEventMessage {
22
22
  /** The data of the event. The data can be of type AgentThreadOutput, ThreadRunOutput, RunStepOutput, ThreadMessageOutput, MessageDeltaChunk,RunStepDeltaChunk */
23
23
  data: AgentEventStreamData;
@@ -1 +1 @@
1
- {"version":3,"file":"streamingModels.d.ts","sourceRoot":"","sources":["../../../src/models/streamingModels.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,SAAS,EACV,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,kKAAkK;IAClK,IAAI,EAAE,oBAAoB,CAAC;IAC3B,6BAA6B;IAC7B,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,SAAS,GACT,OAAO,GACP,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,MAAM,CAAC;AAEX,kDAAkD;AAClD,MAAM,WAAW,uBACf,SAAQ,eAAe,EACrB,aAAa,CAAC,iBAAiB,CAAC;CAAG;AAEvC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG;IACtD;;;OAGG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChD,CAAC"}
1
+ {"version":3,"file":"streamingModels.d.ts","sourceRoot":"","sources":["../../../src/models/streamingModels.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,SAAS,EACV,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;IAkBI;AACJ,MAAM,WAAW,iBAAiB;IAChC,kKAAkK;IAClK,IAAI,EAAE,oBAAoB,CAAC;IAC3B,6BAA6B;IAC7B,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,SAAS,GACT,OAAO,GACP,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,MAAM,CAAC;AAEX,kDAAkD;AAClD,MAAM,WAAW,uBACf,SAAQ,eAAe,EACrB,aAAa,CAAC,iBAAiB,CAAC;CAAG;AAEvC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG;IACtD;;;OAGG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamingModels.js","sourceRoot":"","sources":["../../../src/models/streamingModels.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n AgentStreamEvent,\n AgentThread,\n MessageDeltaChunk,\n RunStep,\n RunStepDeltaChunk,\n ThreadMessage,\n ThreadRun,\n} from \"./models.js\";\n\n/**\nEach event in a server-sent events stream has an `event` and `data` property:\n* \n* @example\n* ``` ts\n* event: thread.created\n* data: {\"id\": \"thread_123\", \"object\": \"thread\", ...}\n* ``` \n* \n* We emit events whenever a new object is created, transitions to a new state, or is being\n* streamed in parts (deltas). For example, we emit `thread.run.created` when a new run\n* is created, `thread.run.completed` when a run completes, and so on. When an Agent chooses\n* to create a message during a run, we emit a `thread.message.created event`, a\n* `thread.message.in_progress` event, many `thread.message.delta` events, and finally a\n* `thread.message.completed` event.\n* \n* We may add additional events over time, so we recommend handling unknown events gracefully\n* in your code.\n**/\nexport interface AgentEventMessage {\n /** The data of the event. The data can be of type AgentThreadOutput, ThreadRunOutput, RunStepOutput, ThreadMessageOutput, MessageDeltaChunk,RunStepDeltaChunk */\n data: AgentEventStreamData;\n /** The type of the event. */\n event: AgentStreamEvent | string;\n}\n\n/** Represents a stream event data in the agent. */\nexport type AgentEventStreamData =\n | AgentThread\n | ThreadRun\n | RunStep\n | ThreadMessage\n | MessageDeltaChunk\n | RunStepDeltaChunk\n | string;\n\n/** Represents a stream of agent event message. */\nexport interface AgentEventMessageStream\n extends AsyncDisposable,\n AsyncIterable<AgentEventMessage> {}\n\n/**\n * Agent run response with support to stream.\n */\nexport type AgentRunResponse = PromiseLike<ThreadRun> & {\n /**\n * Function to start streaming the agent event messages.\n * @returns A promise that resolves to an AgentEventMessageStream.\n */\n stream: () => Promise<AgentEventMessageStream>;\n};\n"]}
1
+ {"version":3,"file":"streamingModels.js","sourceRoot":"","sources":["../../../src/models/streamingModels.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n AgentStreamEvent,\n AgentThread,\n MessageDeltaChunk,\n RunStep,\n RunStepDeltaChunk,\n ThreadMessage,\n ThreadRun,\n} from \"./models.js\";\n\n/**\n * Each event in a server-sent events stream has an `event` and `data` property:\n *\n * @example\n * ```ts snippet:ignore\n * event: thread.created\n * data: {\"id\": \"thread_123\", \"object\": \"thread\", ...}\n * ```\n *\n * We emit events whenever a new object is created, transitions to a new state, or is being\n * streamed in parts (deltas). For example, we emit `thread.run.created` when a new run\n * is created, `thread.run.completed` when a run completes, and so on. When an Agent chooses\n * to create a message during a run, we emit a `thread.message.created event`, a\n * `thread.message.in_progress` event, many `thread.message.delta` events, and finally a\n * `thread.message.completed` event.\n *\n * We may add additional events over time, so we recommend handling unknown events gracefully\n * in your code.\n **/\nexport interface AgentEventMessage {\n /** The data of the event. The data can be of type AgentThreadOutput, ThreadRunOutput, RunStepOutput, ThreadMessageOutput, MessageDeltaChunk,RunStepDeltaChunk */\n data: AgentEventStreamData;\n /** The type of the event. */\n event: AgentStreamEvent | string;\n}\n\n/** Represents a stream event data in the agent. */\nexport type AgentEventStreamData =\n | AgentThread\n | ThreadRun\n | RunStep\n | ThreadMessage\n | MessageDeltaChunk\n | RunStepDeltaChunk\n | string;\n\n/** Represents a stream of agent event message. */\nexport interface AgentEventMessageStream\n extends AsyncDisposable,\n AsyncIterable<AgentEventMessage> {}\n\n/**\n * Agent run response with support to stream.\n */\nexport type AgentRunResponse = PromiseLike<ThreadRun> & {\n /**\n * Function to start streaming the agent event messages.\n * @returns A promise that resolves to an AgentEventMessageStream.\n */\n stream: () => Promise<AgentEventMessageStream>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"urlTemplate.js","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable no-unused-expressions */\n/* eslint-disable no-param-reassign */\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string) {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string) {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any) {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false) {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions) {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n named && val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions) {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n return template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n ((op = expr[0]), (expr = expr.slice(1)));\n }\n const varList = expr.split(/,/g);\n const result = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: result.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n result.push(varValue);\n }\n }\n return result.join(\"\");\n });\n}\n"]}
1
+ {"version":3,"file":"urlTemplate.js","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable no-unused-expressions */\n/* eslint-disable no-param-reassign */\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n named && val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n val === \"\" ? vals.push(ifEmpty) : vals.push(\"=\");\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n return template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n ((op = expr[0]), (expr = expr.slice(1)));\n }\n const varList = expr.split(/,/g);\n const result = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: result.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n result.push(varValue);\n }\n }\n return result.join(\"\");\n });\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.9"
8
+ "packageVersion": "7.52.13"
9
9
  }
10
10
  ]
11
11
  }
@@ -30,7 +30,7 @@ export declare class MCPTool {
30
30
  * Get the MCP tool definition.
31
31
  * @returns A list containing the MCP tool definition
32
32
  */
33
- get definitions(): MCPToolDefinition[];
33
+ get definition(): MCPToolDefinition;
34
34
  /**
35
35
  * Add a tool to the list of allowed tools.
36
36
  * @param toolName - The name of the tool to allow
@@ -74,5 +74,16 @@ export declare class MCPTool {
74
74
  * Get the tool resources for the agent.
75
75
  */
76
76
  get resources(): ToolResources;
77
+ /**
78
+ * Merge the tool resources from multiple MCPTool instances into a single ToolResources object.
79
+ *
80
+ * This is useful when creating a run that should have access to multiple MCP servers at once.
81
+ *
82
+ * @param mcpTools - An array of MCPTool instances whose resources will be merged.
83
+ * @returns A ToolResources object containing all MCP tool resources from the provided tools.
84
+ * @throws Error if the provided array is empty.
85
+ * @throws TypeError if any item in the array is not an instance of MCPTool.
86
+ */
87
+ static mergeResources(mcpTools: MCPTool[]): ToolResources;
77
88
  }
78
89
  //# sourceMappingURL=MCPTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MCPTool.d.ts","sourceRoot":"","sources":["../../../src/utils/MCPTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAyB;IAEzC;;;;;OAKG;gBACS,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAO3E;;;OAGG;IACH,OAAO,KAAK,SAAS,GAMpB;IAED;;;SAGK;IACL,OAAO,KAAK,WAAW,GAOtB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAErC;IAED;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjC;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IASpC;;;OAGG;IACH,eAAe,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ/C;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,EAAE,CAE3B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,aAAa,CAI7B;CACF"}
1
+ {"version":3,"file":"MCPTool.d.ts","sourceRoot":"","sources":["../../../src/utils/MCPTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAyB;IAEzC;;;;;OAKG;gBACS,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAO3E;;;OAGG;IACH,OAAO,KAAK,SAAS,GAMpB;IAED;;;SAGK;IACL,OAAO,KAAK,WAAW,GAOtB;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,iBAAiB,CAElC;IAED;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjC;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IASpC;;;OAGG;IACH,eAAe,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ/C;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,EAAE,CAE3B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,aAAa,CAI7B;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa;CAqB1D"}
@@ -53,8 +53,8 @@ class MCPTool {
53
53
  * Get the MCP tool definition.
54
54
  * @returns A list containing the MCP tool definition
55
55
  */
56
- get definitions() {
57
- return [this._definition];
56
+ get definition() {
57
+ return this._definition;
58
58
  }
59
59
  /**
60
60
  * Add a tool to the list of allowed tools.
@@ -132,6 +132,33 @@ class MCPTool {
132
132
  mcp: [this._resource],
133
133
  };
134
134
  }
135
+ /**
136
+ * Merge the tool resources from multiple MCPTool instances into a single ToolResources object.
137
+ *
138
+ * This is useful when creating a run that should have access to multiple MCP servers at once.
139
+ *
140
+ * @param mcpTools - An array of MCPTool instances whose resources will be merged.
141
+ * @returns A ToolResources object containing all MCP tool resources from the provided tools.
142
+ * @throws Error if the provided array is empty.
143
+ * @throws TypeError if any item in the array is not an instance of MCPTool.
144
+ */
145
+ static mergeResources(mcpTools) {
146
+ if (!mcpTools || mcpTools.length === 0) {
147
+ throw new Error("mcpTools must be a non-empty array of MCPTool instances.");
148
+ }
149
+ const flatResources = [];
150
+ for (const tool of mcpTools) {
151
+ if (!(tool instanceof MCPTool)) {
152
+ throw new TypeError("All items in mcpTools must be instances of MCPTool.");
153
+ }
154
+ // Combine all MCP resources; duplicates are harmless and can be filtered by the service if needed
155
+ const res = tool.resources?.mcp;
156
+ if (res?.length) {
157
+ flatResources.push(...res);
158
+ }
159
+ }
160
+ return { mcp: flatResources };
161
+ }
135
162
  }
136
163
  exports.MCPTool = MCPTool;
137
164
  //# sourceMappingURL=MCPTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MCPTool.js","sourceRoot":"","sources":["../../../src/utils/MCPTool.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MCPToolDefinition, MCPToolResource, ToolResources } from \"../index.js\";\n/**\n * A tool that connects to Model Context Protocol (MCP) servers.\n * Supports managing MCP server connections and allowed tools dynamically.\n */\nexport class MCPTool {\n private _serverLabel: string;\n private _serverUrl: string;\n private _allowedTools: string[];\n private _requireApproval?: \"always\" | \"never\";\n private _headers: Record<string, string>;\n\n /**\n * Constructor initializes the tool with MCP server configuration.\n * @param serverLabel - The label for the MCP server\n * @param serverUrl - The endpoint for the MCP server\n * @param allowedTools - List of allowed tools for MCP server\n */\n constructor(serverLabel: string, serverUrl: string, allowedTools?: string[]) {\n this._serverLabel = serverLabel;\n this._serverUrl = serverUrl;\n this._allowedTools = allowedTools || [];\n this._requireApproval = \"always\"; // Default to always require approval\n this._headers = {};\n }\n /**\n * Get the MCP tool resource.\n * @returns The MCP tool resource\n */\n private get _resource(): MCPToolResource {\n return {\n serverLabel: this._serverLabel,\n headers: this._headers,\n requireApproval: this._requireApproval,\n };\n }\n\n /**\n * Set the MCP tool definition.\n * @returns The MCP tool definition\n * */\n private get _definition(): MCPToolDefinition {\n return {\n type: \"mcp\",\n serverLabel: this._serverLabel,\n serverUrl: this._serverUrl,\n allowedTools: this._allowedTools.length > 0 ? this._allowedTools : undefined,\n };\n }\n\n /**\n * Get the MCP tool definition.\n * @returns A list containing the MCP tool definition\n */\n get definitions(): MCPToolDefinition[] {\n return [this._definition];\n }\n\n /**\n * Add a tool to the list of allowed tools.\n * @param toolName - The name of the tool to allow\n */\n allowTool(toolName: string): void {\n if (!this._allowedTools.includes(toolName)) {\n this._allowedTools.push(toolName);\n }\n }\n\n /**\n * Remove a tool from the list of allowed tools.\n * @param toolName - The name of the tool to remove from allowed tools\n * @throws Error if the tool is not in the allowed tools list\n */\n disallowTool(toolName: string): void {\n const index = this._allowedTools.indexOf(toolName);\n if (index > -1) {\n this._allowedTools.splice(index, 1);\n } else {\n throw new Error(`Tool '${toolName}' is not in the allowed tools list.`);\n }\n }\n\n /**\n * Update the approval mode for the MCP tool.\n * @param requireApproval - The require_approval setting to update\n */\n setApprovalMode(requireApproval?: \"always\" | \"never\"): void {\n this._requireApproval = requireApproval;\n }\n\n /**\n * Update the headers for the MCP tool.\n * @param key - The header key to update\n * @param value - The new value for the header key\n * @throws Error if the key is empty\n */\n updateHeaders(key: string, value: string): void {\n if (key) {\n this._headers[key] = value;\n } else {\n throw new Error(\"Header key cannot be empty.\");\n }\n }\n\n /**\n * Get the server label for the MCP tool.\n */\n get serverLabel(): string {\n return this._serverLabel;\n }\n\n /**\n * Get the server URL for the MCP tool.\n */\n get serverUrl(): string {\n return this._serverUrl;\n }\n\n /**\n * Get the list of allowed tools for the MCP server.\n */\n get allowedTools(): string[] {\n return [...this._allowedTools];\n }\n\n /**\n * Get the headers for the MCP tool.\n */\n get headers(): Record<string, string> {\n return { ...this._headers };\n }\n\n /**\n * Get the tool resources for the agent.\n */\n get resources(): ToolResources {\n return {\n mcp: [this._resource],\n };\n }\n}\n"]}
1
+ {"version":3,"file":"MCPTool.js","sourceRoot":"","sources":["../../../src/utils/MCPTool.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MCPToolDefinition, MCPToolResource, ToolResources } from \"../index.js\";\n/**\n * A tool that connects to Model Context Protocol (MCP) servers.\n * Supports managing MCP server connections and allowed tools dynamically.\n */\nexport class MCPTool {\n private _serverLabel: string;\n private _serverUrl: string;\n private _allowedTools: string[];\n private _requireApproval?: \"always\" | \"never\";\n private _headers: Record<string, string>;\n\n /**\n * Constructor initializes the tool with MCP server configuration.\n * @param serverLabel - The label for the MCP server\n * @param serverUrl - The endpoint for the MCP server\n * @param allowedTools - List of allowed tools for MCP server\n */\n constructor(serverLabel: string, serverUrl: string, allowedTools?: string[]) {\n this._serverLabel = serverLabel;\n this._serverUrl = serverUrl;\n this._allowedTools = allowedTools || [];\n this._requireApproval = \"always\"; // Default to always require approval\n this._headers = {};\n }\n /**\n * Get the MCP tool resource.\n * @returns The MCP tool resource\n */\n private get _resource(): MCPToolResource {\n return {\n serverLabel: this._serverLabel,\n headers: this._headers,\n requireApproval: this._requireApproval,\n };\n }\n\n /**\n * Set the MCP tool definition.\n * @returns The MCP tool definition\n * */\n private get _definition(): MCPToolDefinition {\n return {\n type: \"mcp\",\n serverLabel: this._serverLabel,\n serverUrl: this._serverUrl,\n allowedTools: this._allowedTools.length > 0 ? this._allowedTools : undefined,\n };\n }\n\n /**\n * Get the MCP tool definition.\n * @returns A list containing the MCP tool definition\n */\n get definition(): MCPToolDefinition {\n return this._definition;\n }\n\n /**\n * Add a tool to the list of allowed tools.\n * @param toolName - The name of the tool to allow\n */\n allowTool(toolName: string): void {\n if (!this._allowedTools.includes(toolName)) {\n this._allowedTools.push(toolName);\n }\n }\n\n /**\n * Remove a tool from the list of allowed tools.\n * @param toolName - The name of the tool to remove from allowed tools\n * @throws Error if the tool is not in the allowed tools list\n */\n disallowTool(toolName: string): void {\n const index = this._allowedTools.indexOf(toolName);\n if (index > -1) {\n this._allowedTools.splice(index, 1);\n } else {\n throw new Error(`Tool '${toolName}' is not in the allowed tools list.`);\n }\n }\n\n /**\n * Update the approval mode for the MCP tool.\n * @param requireApproval - The require_approval setting to update\n */\n setApprovalMode(requireApproval?: \"always\" | \"never\"): void {\n this._requireApproval = requireApproval;\n }\n\n /**\n * Update the headers for the MCP tool.\n * @param key - The header key to update\n * @param value - The new value for the header key\n * @throws Error if the key is empty\n */\n updateHeaders(key: string, value: string): void {\n if (key) {\n this._headers[key] = value;\n } else {\n throw new Error(\"Header key cannot be empty.\");\n }\n }\n\n /**\n * Get the server label for the MCP tool.\n */\n get serverLabel(): string {\n return this._serverLabel;\n }\n\n /**\n * Get the server URL for the MCP tool.\n */\n get serverUrl(): string {\n return this._serverUrl;\n }\n\n /**\n * Get the list of allowed tools for the MCP server.\n */\n get allowedTools(): string[] {\n return [...this._allowedTools];\n }\n\n /**\n * Get the headers for the MCP tool.\n */\n get headers(): Record<string, string> {\n return { ...this._headers };\n }\n\n /**\n * Get the tool resources for the agent.\n */\n get resources(): ToolResources {\n return {\n mcp: [this._resource],\n };\n }\n\n /**\n * Merge the tool resources from multiple MCPTool instances into a single ToolResources object.\n *\n * This is useful when creating a run that should have access to multiple MCP servers at once.\n *\n * @param mcpTools - An array of MCPTool instances whose resources will be merged.\n * @returns A ToolResources object containing all MCP tool resources from the provided tools.\n * @throws Error if the provided array is empty.\n * @throws TypeError if any item in the array is not an instance of MCPTool.\n */\n static mergeResources(mcpTools: MCPTool[]): ToolResources {\n if (!mcpTools || mcpTools.length === 0) {\n throw new Error(\"mcpTools must be a non-empty array of MCPTool instances.\");\n }\n\n const flatResources: MCPToolResource[] = [];\n\n for (const tool of mcpTools) {\n if (!(tool instanceof MCPTool)) {\n throw new TypeError(\"All items in mcpTools must be instances of MCPTool.\");\n }\n\n // Combine all MCP resources; duplicates are harmless and can be filtered by the service if needed\n const res = tool.resources?.mcp;\n if (res?.length) {\n flatResources.push(...res);\n }\n }\n\n return { mcp: flatResources };\n }\n}\n"]}
@@ -0,0 +1,46 @@
1
+ import type { OpenApiToolDefinition, OpenApiFunctionDefinition, ToolResources } from "../index.js";
2
+ /**
3
+ * A tool that retrieves information using OpenAPI specs.
4
+ * Initialized with an initial API definition (name, description, spec, auth),
5
+ * this class also supports adding and removing additional API definitions dynamically.
6
+ */
7
+ export declare class OpenApiTool {
8
+ private _defaultAuth;
9
+ private _definitions;
10
+ /**
11
+ * Constructor initializes the tool with a primary API definition.
12
+ *
13
+ * @param name - The name of the API.
14
+ * @param description - The API description.
15
+ * @param spec - The API specification.
16
+ * @param auth - Authentication details for the API.
17
+ * @param defaultParameters - List of OpenAPI spec parameters that will use user-provided defaults.
18
+ */
19
+ constructor(openApiFunctionDefinition: OpenApiFunctionDefinition);
20
+ /**
21
+ * Get the list of all API definitions for the tool.
22
+ */
23
+ get definitions(): OpenApiToolDefinition[];
24
+ /**
25
+ * Creates a new API definition.
26
+ * @param openapi - OpenApi function definition
27
+ * @returns The created API definition
28
+ */
29
+ static createDefinition(openapi: OpenApiFunctionDefinition): OpenApiToolDefinition;
30
+ /**
31
+ * Adds a new API definition dynamically.
32
+ * Throws if a definition with the same name already exists.
33
+ */
34
+ addDefinition(openApiFunctionDefinition: OpenApiFunctionDefinition): void;
35
+ /**
36
+ * Removes an API definition based on its name.
37
+ * Throws if the definition does not exist.
38
+ */
39
+ removeDefinition(name: string): void;
40
+ /**
41
+ * Get the tool resources for the agent.
42
+ * OpenApiTool doesn't have specific resources so an empty object is returned.
43
+ */
44
+ get resources(): ToolResources;
45
+ }
46
+ //# sourceMappingURL=OpenApiTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiTool.d.ts","sourceRoot":"","sources":["../../../src/utils/OpenApiTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EAEzB,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,YAAY,CAA0B;IAE9C;;;;;;;;OAQG;gBACS,yBAAyB,EAAE,yBAAyB;IAUhE;;OAEG;IACH,IAAW,WAAW,IAAI,qBAAqB,EAAE,CAEhD;IAED;;;;OAIG;WACW,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,qBAAqB;IAOzF;;;OAGG;IACI,aAAa,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,IAAI;IAmBhF;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAcpC;;;OAGG;IACH,IAAI,SAAS,IAAI,aAAa,CAE7B;CACF"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.OpenApiTool = void 0;
6
+ const logger_js_1 = require("../logger.js");
7
+ /**
8
+ * A tool that retrieves information using OpenAPI specs.
9
+ * Initialized with an initial API definition (name, description, spec, auth),
10
+ * this class also supports adding and removing additional API definitions dynamically.
11
+ */
12
+ class OpenApiTool {
13
+ _defaultAuth;
14
+ _definitions;
15
+ /**
16
+ * Constructor initializes the tool with a primary API definition.
17
+ *
18
+ * @param name - The name of the API.
19
+ * @param description - The API description.
20
+ * @param spec - The API specification.
21
+ * @param auth - Authentication details for the API.
22
+ * @param defaultParameters - List of OpenAPI spec parameters that will use user-provided defaults.
23
+ */
24
+ constructor(openApiFunctionDefinition) {
25
+ const defaultParams = openApiFunctionDefinition.defaultParams ?? [];
26
+ this._defaultAuth = openApiFunctionDefinition.auth;
27
+ const openapi = OpenApiTool.createDefinition({
28
+ ...openApiFunctionDefinition,
29
+ defaultParams,
30
+ });
31
+ this._definitions = [openapi];
32
+ }
33
+ /**
34
+ * Get the list of all API definitions for the tool.
35
+ */
36
+ get definitions() {
37
+ return [...this._definitions];
38
+ }
39
+ /**
40
+ * Creates a new API definition.
41
+ * @param openapi - OpenApi function definition
42
+ * @returns The created API definition
43
+ */
44
+ static createDefinition(openapi) {
45
+ return {
46
+ type: "openapi",
47
+ openapi,
48
+ };
49
+ }
50
+ /**
51
+ * Adds a new API definition dynamically.
52
+ * Throws if a definition with the same name already exists.
53
+ */
54
+ addDefinition(openApiFunctionDefinition) {
55
+ if (this._definitions.some((d) => d.openapi.name === openApiFunctionDefinition.name)) {
56
+ throw new Error(`Definition '${openApiFunctionDefinition.name}' already exists and cannot be added again.`);
57
+ }
58
+ const defaultParams = openApiFunctionDefinition.defaultParams ?? [];
59
+ const authToUse = openApiFunctionDefinition.auth ?? this._defaultAuth;
60
+ this._definitions.push(OpenApiTool.createDefinition({
61
+ ...openApiFunctionDefinition,
62
+ defaultParams,
63
+ auth: authToUse,
64
+ }));
65
+ }
66
+ /**
67
+ * Removes an API definition based on its name.
68
+ * Throws if the definition does not exist.
69
+ */
70
+ removeDefinition(name) {
71
+ const index = this._definitions.findIndex((d) => d.openapi.name === name);
72
+ if (index !== -1) {
73
+ this._definitions.splice(index, 1);
74
+ logger_js_1.logger.info("Definition '%s' removed. Total definitions: %d.", name, this._definitions.length);
75
+ return;
76
+ }
77
+ throw new Error(`Definition with the name '${name}' does not exist.`);
78
+ }
79
+ /**
80
+ * Get the tool resources for the agent.
81
+ * OpenApiTool doesn't have specific resources so an empty object is returned.
82
+ */
83
+ get resources() {
84
+ return {};
85
+ }
86
+ }
87
+ exports.OpenApiTool = OpenApiTool;
88
+ //# sourceMappingURL=OpenApiTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiTool.js","sourceRoot":"","sources":["../../../src/utils/OpenApiTool.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAQlC,4CAAsC;AAEtC;;;;GAIG;AACH,MAAa,WAAW;IACd,YAAY,CAA0B;IACtC,YAAY,CAA0B;IAE9C;;;;;;;;OAQG;IACH,YAAY,yBAAoD;QAC9D,MAAM,aAAa,GAAG,yBAAyB,CAAC,aAAa,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC;YAC3C,GAAG,yBAAyB;YAC5B,aAAa;SACd,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,OAAkC;QAC/D,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,yBAAoD;QACvE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CACb,eAAe,yBAAyB,CAAC,IAAI,6CAA6C,CAC3F,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,aAAa,IAAI,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC;QAEtE,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,WAAW,CAAC,gBAAgB,CAAC;YAC3B,GAAG,yBAAyB;YAC5B,aAAa;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnC,kBAAM,CAAC,IAAI,CACT,iDAAiD,EACjD,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,MAAM,CACzB,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,mBAAmB,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA1FD,kCA0FC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n OpenApiToolDefinition,\n OpenApiFunctionDefinition,\n OpenApiAuthDetailsUnion,\n ToolResources,\n} from \"../index.js\";\nimport { logger } from \"../logger.js\";\n\n/**\n * A tool that retrieves information using OpenAPI specs.\n * Initialized with an initial API definition (name, description, spec, auth),\n * this class also supports adding and removing additional API definitions dynamically.\n */\nexport class OpenApiTool {\n private _defaultAuth: OpenApiAuthDetailsUnion;\n private _definitions: OpenApiToolDefinition[];\n\n /**\n * Constructor initializes the tool with a primary API definition.\n *\n * @param name - The name of the API.\n * @param description - The API description.\n * @param spec - The API specification.\n * @param auth - Authentication details for the API.\n * @param defaultParameters - List of OpenAPI spec parameters that will use user-provided defaults.\n */\n constructor(openApiFunctionDefinition: OpenApiFunctionDefinition) {\n const defaultParams = openApiFunctionDefinition.defaultParams ?? [];\n this._defaultAuth = openApiFunctionDefinition.auth;\n const openapi = OpenApiTool.createDefinition({\n ...openApiFunctionDefinition,\n defaultParams,\n });\n this._definitions = [openapi];\n }\n\n /**\n * Get the list of all API definitions for the tool.\n */\n public get definitions(): OpenApiToolDefinition[] {\n return [...this._definitions];\n }\n\n /**\n * Creates a new API definition.\n * @param openapi - OpenApi function definition\n * @returns The created API definition\n */\n public static createDefinition(openapi: OpenApiFunctionDefinition): OpenApiToolDefinition {\n return {\n type: \"openapi\",\n openapi,\n };\n }\n\n /**\n * Adds a new API definition dynamically.\n * Throws if a definition with the same name already exists.\n */\n public addDefinition(openApiFunctionDefinition: OpenApiFunctionDefinition): void {\n if (this._definitions.some((d) => d.openapi.name === openApiFunctionDefinition.name)) {\n throw new Error(\n `Definition '${openApiFunctionDefinition.name}' already exists and cannot be added again.`,\n );\n }\n\n const defaultParams = openApiFunctionDefinition.defaultParams ?? [];\n const authToUse = openApiFunctionDefinition.auth ?? this._defaultAuth;\n\n this._definitions.push(\n OpenApiTool.createDefinition({\n ...openApiFunctionDefinition,\n defaultParams,\n auth: authToUse,\n }),\n );\n }\n\n /**\n * Removes an API definition based on its name.\n * Throws if the definition does not exist.\n */\n removeDefinition(name: string): void {\n const index = this._definitions.findIndex((d) => d.openapi.name === name);\n if (index !== -1) {\n this._definitions.splice(index, 1);\n logger.info(\n \"Definition '%s' removed. Total definitions: %d.\",\n name,\n this._definitions.length,\n );\n return;\n }\n throw new Error(`Definition with the name '${name}' does not exist.`);\n }\n\n /**\n * Get the tool resources for the agent.\n * OpenApiTool doesn't have specific resources so an empty object is returned.\n */\n get resources(): ToolResources {\n return {};\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AzureAISearchToolDefinition, CodeInterpreterToolDefinition, FileSearchToolDefinition, FileSearchToolDefinitionDetails, FunctionDefinition, FunctionToolDefinition, OpenApiToolDefinition, RequiredAction, RequiredToolCall, ToolDefinition, ToolDefinitionUnion, ToolResources, VectorStoreConfigurations, VectorStoreDataSource, OpenApiFunctionDefinition, AISearchIndexResource, BingCustomSearchConfiguration, BingCustomSearchToolDefinition, BingGroundingToolDefinition, BingGroundingSearchConfiguration, ConnectedAgentToolDefinition, MicrosoftFabricToolDefinition, SharepointToolDefinition } from "../index.js";
1
+ import type { AzureAISearchToolDefinition, CodeInterpreterToolDefinition, FileSearchToolDefinition, FileSearchToolDefinitionDetails, FunctionDefinition, FunctionToolDefinition, OpenApiToolDefinition, RequiredAction, RequiredToolCall, ToolDefinition, ToolDefinitionUnion, ToolResources, VectorStoreConfigurations, VectorStoreDataSource, OpenApiFunctionDefinition, AISearchIndexResource, BingGroundingToolDefinition, BingGroundingSearchConfiguration, ConnectedAgentToolDefinition, MCPToolDefinition } from "../index.js";
2
2
  import { MCPTool } from "./MCPTool.js";
3
3
  /**
4
4
  * Determines if the given output is of the specified type.
@@ -38,17 +38,6 @@ export declare class ToolUtility {
38
38
  static createConnectionTool(toolType: connectionToolType, connectionIds: string[]): {
39
39
  definition: ToolDefinitionUnion;
40
40
  };
41
- /**
42
- * Creates a sharepoint grounding search tool
43
- *
44
- * @param connectionId - The ID of the sharepoint search connection.
45
- *
46
- * @returns An object containing the definition and resources for the sharepoint grounding search tool
47
- *
48
- */
49
- static createSharepointGroundingTool(connectionId: string): {
50
- definition: SharepointToolDefinition;
51
- };
52
41
  /**
53
42
  * Creates a bing grounding search tool
54
43
  *
@@ -60,16 +49,6 @@ export declare class ToolUtility {
60
49
  static createBingGroundingTool(searchConfigurations: BingGroundingSearchConfiguration[]): {
61
50
  definition: BingGroundingToolDefinition;
62
51
  };
63
- /**
64
- * Creates a bing custom search tool
65
- *
66
- * @param searchConfigurations - The ID of bing search connection and instanceName.
67
- *
68
- * @returns An object containing the definition and resources for the bing custom search tool
69
- */
70
- static createBingCustomSearchTool(searchConfigurations: BingCustomSearchConfiguration[]): {
71
- definition: BingCustomSearchToolDefinition;
72
- };
73
52
  /**
74
53
  * Creates a file search tool
75
54
  *
@@ -115,15 +94,6 @@ export declare class ToolUtility {
115
94
  static createConnectedAgentTool(id: string, name: string, description: string): {
116
95
  definition: ConnectedAgentToolDefinition;
117
96
  };
118
- /**
119
- * Creates a Microsoft Fabric tool
120
- *
121
- * @param connectionIds - A list of the IDs of the Fabric connections to use.
122
- * @returns An object containing the definition for the Microsoft Fabric tool
123
- */
124
- static createFabricTool(connectionId: string): {
125
- definition: MicrosoftFabricToolDefinition;
126
- };
127
97
  /**
128
98
  * Creates a function tool
129
99
  *
@@ -221,6 +191,19 @@ export declare class ToolSet {
221
191
  addOpenApiTool(openApiFunctionDefinition: OpenApiFunctionDefinition): {
222
192
  definition: OpenApiToolDefinition;
223
193
  };
194
+ /**
195
+ * Adds a Model Context Protocol (MCP) tool to the tool set.
196
+ * @param options - The options for configuring the MCP tool.
197
+ * @returns An object containing the definition and resources for the MCP tool
198
+ */
199
+ addMCPTool(options: {
200
+ serverLabel: string;
201
+ serverUrl: string;
202
+ allowedTools?: string[];
203
+ }): {
204
+ definition: MCPToolDefinition;
205
+ resources: ToolResources;
206
+ };
224
207
  /**
225
208
  * Adds a bing grounding search tool to the tool set.
226
209
  *
@@ -242,24 +225,5 @@ export declare class ToolSet {
242
225
  addConnectedAgentTool(id: string, name: string, description: string): {
243
226
  definition: ConnectedAgentToolDefinition;
244
227
  };
245
- /**
246
- * Adds a Microsoft Fabric tool to the tool set.
247
- *
248
- * @param connectionId - The ID of the Fabric connection to use.
249
- * @returns An object containing the definition for the Microsoft Fabric tool
250
- */
251
- addFabricTool(connectionId: string): {
252
- definition: MicrosoftFabricToolDefinition;
253
- };
254
- /**
255
- * Adds sharepoint grounding search tool to the tool set.
256
- *
257
- * @param connectionId - The ID of the sharepoint search connection.
258
- *
259
- * @returns An object containing the definition and resources for the sharepoint grounding search tool
260
- */
261
- addSharepointGroundingTool(connectionId: string): {
262
- definition: SharepointToolDefinition;
263
- };
264
228
  }
265
229
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}