@effect/ai 0.26.0 → 0.27.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 (188) hide show
  1. package/Chat/package.json +6 -0
  2. package/EmbeddingModel/package.json +6 -0
  3. package/IdGenerator/package.json +6 -0
  4. package/LanguageModel/package.json +6 -0
  5. package/Model/package.json +6 -0
  6. package/Prompt/package.json +6 -0
  7. package/Response/package.json +6 -0
  8. package/Telemetry/package.json +6 -0
  9. package/Tool/package.json +6 -0
  10. package/Toolkit/package.json +6 -0
  11. package/dist/cjs/AiError.js +575 -11
  12. package/dist/cjs/AiError.js.map +1 -1
  13. package/dist/cjs/Chat.js +302 -0
  14. package/dist/cjs/Chat.js.map +1 -0
  15. package/dist/cjs/EmbeddingModel.js +184 -0
  16. package/dist/cjs/EmbeddingModel.js.map +1 -0
  17. package/dist/cjs/IdGenerator.js +255 -0
  18. package/dist/cjs/IdGenerator.js.map +1 -0
  19. package/dist/cjs/LanguageModel.js +584 -0
  20. package/dist/cjs/LanguageModel.js.map +1 -0
  21. package/dist/cjs/McpServer.js +12 -4
  22. package/dist/cjs/McpServer.js.map +1 -1
  23. package/dist/cjs/Model.js +118 -0
  24. package/dist/cjs/Model.js.map +1 -0
  25. package/dist/cjs/Prompt.js +649 -0
  26. package/dist/cjs/Prompt.js.map +1 -0
  27. package/dist/cjs/Response.js +635 -0
  28. package/dist/cjs/Response.js.map +1 -0
  29. package/dist/cjs/Telemetry.js +176 -0
  30. package/dist/cjs/Telemetry.js.map +1 -0
  31. package/dist/cjs/Tokenizer.js +87 -8
  32. package/dist/cjs/Tokenizer.js.map +1 -1
  33. package/dist/cjs/Tool.js +556 -0
  34. package/dist/cjs/Tool.js.map +1 -0
  35. package/dist/cjs/Toolkit.js +279 -0
  36. package/dist/cjs/Toolkit.js.map +1 -0
  37. package/dist/cjs/index.js +21 -19
  38. package/dist/dts/AiError.d.ts +577 -9
  39. package/dist/dts/AiError.d.ts.map +1 -1
  40. package/dist/dts/Chat.d.ts +356 -0
  41. package/dist/dts/Chat.d.ts.map +1 -0
  42. package/dist/dts/EmbeddingModel.d.ts +153 -0
  43. package/dist/dts/EmbeddingModel.d.ts.map +1 -0
  44. package/dist/dts/IdGenerator.d.ts +272 -0
  45. package/dist/dts/IdGenerator.d.ts.map +1 -0
  46. package/dist/dts/LanguageModel.d.ts +458 -0
  47. package/dist/dts/LanguageModel.d.ts.map +1 -0
  48. package/dist/dts/McpSchema.d.ts +25 -25
  49. package/dist/dts/McpServer.d.ts +6 -4
  50. package/dist/dts/McpServer.d.ts.map +1 -1
  51. package/dist/dts/Model.d.ts +124 -0
  52. package/dist/dts/Model.d.ts.map +1 -0
  53. package/dist/dts/Prompt.d.ts +1119 -0
  54. package/dist/dts/Prompt.d.ts.map +1 -0
  55. package/dist/dts/Response.d.ts +1519 -0
  56. package/dist/dts/Response.d.ts.map +1 -0
  57. package/dist/dts/Telemetry.d.ts +520 -0
  58. package/dist/dts/Telemetry.d.ts.map +1 -0
  59. package/dist/dts/Tokenizer.d.ts +131 -13
  60. package/dist/dts/Tokenizer.d.ts.map +1 -1
  61. package/dist/dts/Tool.d.ts +876 -0
  62. package/dist/dts/Tool.d.ts.map +1 -0
  63. package/dist/dts/Toolkit.d.ts +310 -0
  64. package/dist/dts/Toolkit.d.ts.map +1 -0
  65. package/dist/dts/index.d.ts +498 -13
  66. package/dist/dts/index.d.ts.map +1 -1
  67. package/dist/esm/AiError.js +570 -10
  68. package/dist/esm/AiError.js.map +1 -1
  69. package/dist/esm/Chat.js +291 -0
  70. package/dist/esm/Chat.js.map +1 -0
  71. package/dist/esm/EmbeddingModel.js +173 -0
  72. package/dist/esm/EmbeddingModel.js.map +1 -0
  73. package/dist/esm/IdGenerator.js +245 -0
  74. package/dist/esm/IdGenerator.js.map +1 -0
  75. package/dist/esm/LanguageModel.js +572 -0
  76. package/dist/esm/LanguageModel.js.map +1 -0
  77. package/dist/esm/McpServer.js +12 -4
  78. package/dist/esm/McpServer.js.map +1 -1
  79. package/dist/esm/Model.js +108 -0
  80. package/dist/esm/Model.js.map +1 -0
  81. package/dist/esm/Prompt.js +633 -0
  82. package/dist/esm/Prompt.js.map +1 -0
  83. package/dist/esm/Response.js +619 -0
  84. package/dist/esm/Response.js.map +1 -0
  85. package/dist/esm/Telemetry.js +166 -0
  86. package/dist/esm/Telemetry.js.map +1 -0
  87. package/dist/esm/Tokenizer.js +87 -8
  88. package/dist/esm/Tokenizer.js.map +1 -1
  89. package/dist/esm/Tool.js +534 -0
  90. package/dist/esm/Tool.js.map +1 -0
  91. package/dist/esm/Toolkit.js +269 -0
  92. package/dist/esm/Toolkit.js.map +1 -0
  93. package/dist/esm/index.js +498 -13
  94. package/dist/esm/index.js.map +1 -1
  95. package/package.json +76 -68
  96. package/src/AiError.ts +739 -9
  97. package/src/Chat.ts +546 -0
  98. package/src/EmbeddingModel.ts +311 -0
  99. package/src/IdGenerator.ts +320 -0
  100. package/src/LanguageModel.ts +1074 -0
  101. package/src/McpServer.ts +337 -194
  102. package/src/Model.ts +155 -0
  103. package/src/Prompt.ts +1616 -0
  104. package/src/Response.ts +2131 -0
  105. package/src/Telemetry.ts +655 -0
  106. package/src/Tokenizer.ts +145 -24
  107. package/src/Tool.ts +1267 -0
  108. package/src/Toolkit.ts +516 -0
  109. package/src/index.ts +499 -13
  110. package/AiChat/package.json +0 -6
  111. package/AiEmbeddingModel/package.json +0 -6
  112. package/AiInput/package.json +0 -6
  113. package/AiLanguageModel/package.json +0 -6
  114. package/AiModel/package.json +0 -6
  115. package/AiResponse/package.json +0 -6
  116. package/AiTelemetry/package.json +0 -6
  117. package/AiTool/package.json +0 -6
  118. package/AiToolkit/package.json +0 -6
  119. package/dist/cjs/AiChat.js +0 -122
  120. package/dist/cjs/AiChat.js.map +0 -1
  121. package/dist/cjs/AiEmbeddingModel.js +0 -109
  122. package/dist/cjs/AiEmbeddingModel.js.map +0 -1
  123. package/dist/cjs/AiInput.js +0 -458
  124. package/dist/cjs/AiInput.js.map +0 -1
  125. package/dist/cjs/AiLanguageModel.js +0 -351
  126. package/dist/cjs/AiLanguageModel.js.map +0 -1
  127. package/dist/cjs/AiModel.js +0 -37
  128. package/dist/cjs/AiModel.js.map +0 -1
  129. package/dist/cjs/AiResponse.js +0 -681
  130. package/dist/cjs/AiResponse.js.map +0 -1
  131. package/dist/cjs/AiTelemetry.js +0 -58
  132. package/dist/cjs/AiTelemetry.js.map +0 -1
  133. package/dist/cjs/AiTool.js +0 -150
  134. package/dist/cjs/AiTool.js.map +0 -1
  135. package/dist/cjs/AiToolkit.js +0 -157
  136. package/dist/cjs/AiToolkit.js.map +0 -1
  137. package/dist/cjs/internal/common.js +0 -21
  138. package/dist/cjs/internal/common.js.map +0 -1
  139. package/dist/dts/AiChat.d.ts +0 -101
  140. package/dist/dts/AiChat.d.ts.map +0 -1
  141. package/dist/dts/AiEmbeddingModel.d.ts +0 -65
  142. package/dist/dts/AiEmbeddingModel.d.ts.map +0 -1
  143. package/dist/dts/AiInput.d.ts +0 -590
  144. package/dist/dts/AiInput.d.ts.map +0 -1
  145. package/dist/dts/AiLanguageModel.d.ts +0 -302
  146. package/dist/dts/AiLanguageModel.d.ts.map +0 -1
  147. package/dist/dts/AiModel.d.ts +0 -25
  148. package/dist/dts/AiModel.d.ts.map +0 -1
  149. package/dist/dts/AiResponse.d.ts +0 -863
  150. package/dist/dts/AiResponse.d.ts.map +0 -1
  151. package/dist/dts/AiTelemetry.d.ts +0 -242
  152. package/dist/dts/AiTelemetry.d.ts.map +0 -1
  153. package/dist/dts/AiTool.d.ts +0 -334
  154. package/dist/dts/AiTool.d.ts.map +0 -1
  155. package/dist/dts/AiToolkit.d.ts +0 -96
  156. package/dist/dts/AiToolkit.d.ts.map +0 -1
  157. package/dist/dts/internal/common.d.ts +0 -2
  158. package/dist/dts/internal/common.d.ts.map +0 -1
  159. package/dist/esm/AiChat.js +0 -111
  160. package/dist/esm/AiChat.js.map +0 -1
  161. package/dist/esm/AiEmbeddingModel.js +0 -98
  162. package/dist/esm/AiEmbeddingModel.js.map +0 -1
  163. package/dist/esm/AiInput.js +0 -433
  164. package/dist/esm/AiInput.js.map +0 -1
  165. package/dist/esm/AiLanguageModel.js +0 -340
  166. package/dist/esm/AiLanguageModel.js.map +0 -1
  167. package/dist/esm/AiModel.js +0 -29
  168. package/dist/esm/AiModel.js.map +0 -1
  169. package/dist/esm/AiResponse.js +0 -657
  170. package/dist/esm/AiResponse.js.map +0 -1
  171. package/dist/esm/AiTelemetry.js +0 -48
  172. package/dist/esm/AiTelemetry.js.map +0 -1
  173. package/dist/esm/AiTool.js +0 -134
  174. package/dist/esm/AiTool.js.map +0 -1
  175. package/dist/esm/AiToolkit.js +0 -147
  176. package/dist/esm/AiToolkit.js.map +0 -1
  177. package/dist/esm/internal/common.js +0 -14
  178. package/dist/esm/internal/common.js.map +0 -1
  179. package/src/AiChat.ts +0 -251
  180. package/src/AiEmbeddingModel.ts +0 -169
  181. package/src/AiInput.ts +0 -602
  182. package/src/AiLanguageModel.ts +0 -685
  183. package/src/AiModel.ts +0 -53
  184. package/src/AiResponse.ts +0 -986
  185. package/src/AiTelemetry.ts +0 -333
  186. package/src/AiTool.ts +0 -579
  187. package/src/AiToolkit.ts +0 -265
  188. package/src/internal/common.ts +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../src/Tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAMvC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,qBAAqB,CAAA;AAExC;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAMhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,IAAI,CACnB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS;IACb,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;CACpC,GAAG;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,KAAK,CAAA;CACtC,EACD,YAAY,GAAG,KAAK,CACpB,SAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnC;0EACsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAEzC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;IAE/C;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEzC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5C;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,CAC7E,IAAI,EACJ,MAAM,EACN,UAAU,GAAG,YAAY,CAC1B,CAAA;IAED;;OAEG;IACH,aAAa,CAAC,gBAAgB,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC9E,MAAM,EAAE,gBAAgB,GACvB,IAAI,CAAC,IAAI,EAAE;QACZ,QAAQ,CAAC,UAAU,EAAE,gBAAgB,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,gBAAgB,GACnF,gBAAgB,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAC/E,KAAK,CAAA;QACT,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;KACpC,EAAE,YAAY,CAAC,CAAA;IAEhB;;OAEG;IACH,UAAU,CAAC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE;QACrF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACzC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;KACpC,EAAE,YAAY,CAAC,CAAA;IAEhB;;OAEG;IACH,UAAU,CAAC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE;QACrF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;KAChC,EAAE,YAAY,CAAC,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CACpD,IAAI,EACJ,MAAM,EACN,YAAY,CACb,CAAA;IAED;;OAEG;IACH,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CACnD,IAAI,EACJ,MAAM,EACN,YAAY,CACb,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,eAAe,CAC9B,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS;IACb,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;CACpC,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,KAAK,CAAA;CACtC,EACD,eAAe,SAAS,OAAO,GAAG,KAAK,CACvC,SACA,IAAI,CAAC,IAAI,EAAE;IACT,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;IACzC,OAAO,EAAE,eAAe,SAAS,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GACrD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,eAAe,SAAS,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GACrD,OAAO,MAAM,CAAC,KAAK,CAAA;CACxB,CAAC,EACF,IAAI,CAAC,oBAAoB;IAEzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IAExC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAEnC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IAEzC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAiB,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAE,SAAQ,QAAQ;QAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;KAChD;IAED;;;OAGG;IACH,UAAiB,cAAc,CAAC,GAAG,CAAC,YAAY;QAC9C,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;KAChD;IAED;;;OAGG;IACH,UAAiB,oBAAoB;QACnC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;KACxD;CACF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CACV,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,GAAG,CAC9B,CAAA;AAMjD;;;;;GAKG;AACH,MAAM,WAAW,GAAI,SAAQ,QAAQ;IACnC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;KACvC,CAAA;IACD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,GAAG;IAC7C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAChF;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,sBAAsB,CAAE,SACnE,IAAI,CACF,CAAC,CAAC,MAAM,CAAC,EACT;IACE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;CAC/B,CACF;CACD;AAEF;;;;;GAKG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAClC,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,KAAK,GACP,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CACxC,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,GACrD,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC/C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAC9C,KAAK,CAAA;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC9C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,OAAO,CAAC,YAAY,CAAC,GACvB,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CACrC,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GACxC,KAAK,CAAA;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC5C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAC3C,KAAK,CAAA;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC3C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,OAAO,CAAC,SAAS,CAAC,GACpB,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CACrC,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GACxC,KAAK,CAAA;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC5C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAC3C,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAC1C,MAAM,KAAK,EACX,MAAM,OAAO,EACb,MAAM,aAAa,CACpB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,aAAa,GAClH,KAAK,CAAA;AAEP;;;;;GAKG;AACH,MAAM,WAAW,OAAO,CAAC,IAAI,SAAS,MAAM;IAC1C,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,GAAG;IAC7C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KAC1D,CAAC,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC,MAAM,KAAK,CAAC,CAAA;AAEd;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,GAAG,IAAI,IAAI,SAClD,eAAe,CAAC,MAAM,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAA;AAyH/F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAC5C,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACtD,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,EACvD,YAAY,SAAS,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;AAEtD;;GAEG;AACH,MAAM,IAAI,EACV,UAAU;IACR;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CACjD,KACA,IAAI,CACL,IAAI,EACJ;IACE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B,EACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAc7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EACtC,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAC5C,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACtD,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,EACvD,eAAe,SAAS,OAAO,GAAG,KAAK,EACvC,SAAS;IACT;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;IAClC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IACtD;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC,MACA,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAG,eAAe,CACnE,IAAI,EACJ;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B,EACD,eAAe,CAkBhB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,sBAAsB,EAChE,QAAQ,CAAC,KACR,iBAAiB,CAAC,CAAC,CAQX,CAAA;AAMX;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,GACzB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS;IACb,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;CACpC;AAED;;GAEG;AACH,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KACvB,MAAM,GAAG,SAKX,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,KAAK,GAAG,CAAC,GAAG,KAAG,MAAM,GAAG,SAUnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS;IACb,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;CACpC,EACD,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAG,UAAU,CAAC,WAAoE,CAAA;AAE5G;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,KAAK,GAAG,CAAC,GAAG,KAAG,UAAU,CAAC,WAkBpE,CAAA;;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,SAAQ,UAAqD;CAAG;;AAEnF;;;;;;;;;;;;;GAaG;AACH,qBAAa,QAAS,SAAQ,aAE5B;CAAG;;AAEL;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,gBAE/B;CAAG;;AAEL;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,eAE9B;CAAG;;AAEL;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAU,SAAQ,cAE7B;CAAG"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * The `Toolkit` module allows for creating and implementing a collection of
3
+ * `Tool`s which can be used to enhance the capabilities of a large language
4
+ * model beyond simple text generation.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { Toolkit, Tool } from "@effect/ai"
9
+ * import { Effect, Schema } from "effect"
10
+ *
11
+ * // Create individual tools
12
+ * const GetCurrentTime = Tool.make("GetCurrentTime", {
13
+ * description: "Get the current timestamp",
14
+ * success: Schema.Number
15
+ * })
16
+ *
17
+ * const GetWeather = Tool.make("GetWeather", {
18
+ * description: "Get weather for a location",
19
+ * parameters: { location: Schema.String },
20
+ * success: Schema.Struct({
21
+ * temperature: Schema.Number,
22
+ * condition: Schema.String
23
+ * })
24
+ * })
25
+ *
26
+ * // Create a toolkit with multiple tools
27
+ * const MyToolkit = Toolkit.make(GetCurrentTime, GetWeather)
28
+ *
29
+ * const MyToolkitLayer = MyToolkit.toLayer({
30
+ * GetCurrentTime: () => Effect.succeed(Date.now()),
31
+ * GetWeather: ({ location }) => Effect.succeed({
32
+ * temperature: 72,
33
+ * condition: "sunny"
34
+ * })
35
+ * })
36
+ * ```
37
+ *
38
+ * @since 1.0.0
39
+ */
40
+ import * as Context from "effect/Context";
41
+ import * as Effect from "effect/Effect";
42
+ import type { Inspectable } from "effect/Inspectable";
43
+ import * as Layer from "effect/Layer";
44
+ import { type Pipeable } from "effect/Pipeable";
45
+ import type * as Scope from "effect/Scope";
46
+ import * as Tool from "./Tool.js";
47
+ /**
48
+ * Unique identifier for toolkit instances.
49
+ *
50
+ * @since 1.0.0
51
+ * @category Type Ids
52
+ */
53
+ export declare const TypeId = "~@effect/ai/Toolkit";
54
+ /**
55
+ * Type-level representation of the toolkit identifier.
56
+ *
57
+ * @since 1.0.0
58
+ * @category Type Ids
59
+ */
60
+ export type TypeId = typeof TypeId;
61
+ /**
62
+ * Represents a collection of tools which can be used to enhance the
63
+ * capabilities of a large language model.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * import { Toolkit, Tool } from "@effect/ai"
68
+ * import { Effect, Schema } from "effect"
69
+ *
70
+ * // Create individual tools
71
+ * const GetCurrentTime = Tool.make("GetCurrentTime", {
72
+ * description: "Get the current timestamp",
73
+ * success: Schema.Number
74
+ * })
75
+ *
76
+ * const GetWeather = Tool.make("GetWeather", {
77
+ * description: "Get weather for a location",
78
+ * parameters: { location: Schema.String },
79
+ * success: Schema.Struct({
80
+ * temperature: Schema.Number,
81
+ * condition: Schema.String
82
+ * })
83
+ * })
84
+ *
85
+ * // Create a toolkit with multiple tools
86
+ * const MyToolkit = Toolkit.make(GetCurrentTime, GetWeather)
87
+ *
88
+ * const MyToolkitLayer = MyToolkit.toLayer({
89
+ * GetCurrentTime: () => Effect.succeed(Date.now()),
90
+ * GetWeather: ({ location }) => Effect.succeed({
91
+ * temperature: 72,
92
+ * condition: "sunny"
93
+ * })
94
+ * })
95
+ * ```
96
+ *
97
+ * @since 1.0.0
98
+ * @category Models
99
+ */
100
+ export interface Toolkit<in out Tools extends Record<string, Tool.Any>> extends Effect.Effect<WithHandler<Tools>, never, Tool.HandlersFor<Tools>>, Inspectable, Pipeable {
101
+ readonly [TypeId]: TypeId;
102
+ new (_: never): {};
103
+ /**
104
+ * A record containing all tools in this toolkit.
105
+ */
106
+ readonly tools: Tools;
107
+ /**
108
+ * A helper method which can be used for type-safe handler declarations.
109
+ */
110
+ of<Handlers extends HandlersFrom<Tools>>(handlers: Handlers): Handlers;
111
+ /**
112
+ * Converts a toolkit into an Effect Context containing handlers for each tool
113
+ * in the toolkit.
114
+ */
115
+ toContext<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>): Effect.Effect<Context.Context<Tool.HandlersFor<Tools>>, EX, RX>;
116
+ /**
117
+ * Converts a toolkit into a Layer containing handlers for each tool in the
118
+ * toolkit.
119
+ */
120
+ toLayer<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(
121
+ /**
122
+ * Handler functions or Effect that produces handlers.
123
+ */
124
+ build: Handlers | Effect.Effect<Handlers, EX, RX>): Layer.Layer<Tool.HandlersFor<Tools>, EX, Exclude<RX, Scope.Scope>>;
125
+ }
126
+ /**
127
+ * A utility type which structurally represents any toolkit instance.
128
+ *
129
+ * @since 1.0.0
130
+ * @category Utility Types
131
+ */
132
+ export interface Any {
133
+ readonly [TypeId]: TypeId;
134
+ readonly tools: Record<string, Tool.Any>;
135
+ }
136
+ /**
137
+ * A utility type which can be used to extract the tool definitions from a
138
+ * toolkit.
139
+ *
140
+ * @since 1.0.0
141
+ * @category Utility Types
142
+ */
143
+ export type Tools<T> = T extends Toolkit<infer Tools> ? Tools : never;
144
+ /**
145
+ * A utility type which can transforms either a record or an array of tools into
146
+ * a record where keys are tool names and values are the tool instances.
147
+ *
148
+ * @since 1.0.0
149
+ * @category Utility Types
150
+ */
151
+ export type ToolsByName<Tools> = Tools extends Record<string, Tool.Any> ? {
152
+ readonly [Name in keyof Tools]: Tools[Name];
153
+ } : Tools extends ReadonlyArray<Tool.Any> ? {
154
+ readonly [Tool in Tools[number] as Tool["name"]]: Tool;
155
+ } : never;
156
+ /**
157
+ * A utility type that maps tool names to their required handler functions.
158
+ *
159
+ * @since 1.0.0
160
+ * @category Utility Types
161
+ */
162
+ export type HandlersFrom<Tools extends Record<string, Tool.Any>> = {
163
+ readonly [Name in keyof Tools as Tool.RequiresHandler<Tools[Name]> extends true ? Name : never]: (params: Tool.Parameters<Tools[Name]>) => Effect.Effect<Tool.Success<Tools[Name]>, Tool.Failure<Tools[Name]>, Tool.Requirements<Tools[Name]>>;
164
+ };
165
+ /**
166
+ * A toolkit instance with registered handlers ready for tool execution.
167
+ *
168
+ * @since 1.0.0
169
+ * @category Models
170
+ */
171
+ export interface WithHandler<in out Tools extends Record<string, Tool.Any>> {
172
+ /**
173
+ * The tools available in this toolkit instance.
174
+ */
175
+ readonly tools: Tools;
176
+ /**
177
+ * Handler function for executing tool calls.
178
+ *
179
+ * Receives a tool name and parameters, validates the input, executes the
180
+ * corresponding handler, and returns both the typed result and encoded result.
181
+ */
182
+ readonly handle: <Name extends keyof Tools>(
183
+ /**
184
+ * The name of the tool to execute.
185
+ */
186
+ name: Name,
187
+ /**
188
+ * Parameters to pass to the tool handler.
189
+ */
190
+ params: Tool.Parameters<Tools[Name]>) => Effect.Effect<{
191
+ readonly result: Tool.Success<Tools[Name]>;
192
+ readonly encodedResult: unknown;
193
+ }, Tool.Failure<Tools[Name]>, Tool.Requirements<Tools[Name]>>;
194
+ }
195
+ /**
196
+ * An empty toolkit with no tools.
197
+ *
198
+ * Useful as a starting point for building toolkits or as a default value. Can
199
+ * be extended using the merge function to add tools.
200
+ *
201
+ * @since 1.0.0
202
+ * @category Constructors
203
+ */
204
+ export declare const empty: Toolkit<{}>;
205
+ /**
206
+ * Creates a new toolkit from the specified tools.
207
+ *
208
+ * This is the primary constructor for creating toolkits. It accepts multiple tools
209
+ * and organizes them into a toolkit that can be provided to AI language models.
210
+ * Tools can be either Tool instances or TaggedRequest schemas.
211
+ *
212
+ * @example
213
+ * ```ts
214
+ * import { Toolkit, Tool } from "@effect/ai"
215
+ * import { Schema } from "effect"
216
+ *
217
+ * const GetCurrentTime = Tool.make("GetCurrentTime", {
218
+ * description: "Get the current timestamp",
219
+ * success: Schema.Number
220
+ * })
221
+ *
222
+ * const GetWeather = Tool.make("get_weather", {
223
+ * description: "Get weather information",
224
+ * parameters: { location: Schema.String },
225
+ * success: Schema.Struct({
226
+ * temperature: Schema.Number,
227
+ * condition: Schema.String
228
+ * })
229
+ * })
230
+ *
231
+ * const toolkit = Toolkit.make(GetCurrentTime, GetWeather)
232
+ * ```
233
+ *
234
+ * @since 1.0.0
235
+ * @category Constructors
236
+ */
237
+ export declare const make: <Tools extends ReadonlyArray<Tool.Any>>(...tools: Tools) => Toolkit<ToolsByName<Tools>>;
238
+ /**
239
+ * A utility type which simplifies a record type.
240
+ *
241
+ * @since 1.0.0
242
+ * @category Utility Types
243
+ */
244
+ export type SimplifyRecord<T> = {
245
+ [K in keyof T]: T[K];
246
+ } & {};
247
+ /**
248
+ * A utility type which merges two records of tools together.
249
+ *
250
+ * @since 1.0.0
251
+ * @category Utility Types
252
+ */
253
+ export type MergeRecords<U> = {
254
+ readonly [K in Extract<U extends unknown ? keyof U : never, string>]: Extract<U extends Record<K, infer V> ? V : never, Tool.Any>;
255
+ };
256
+ /**
257
+ * A utility type which merges the tool calls of two toolkits into a single
258
+ * toolkit.
259
+ *
260
+ * @since 1.0.0
261
+ * @category Utility Types
262
+ */
263
+ export type MergedTools<Toolkits extends ReadonlyArray<Any>> = SimplifyRecord<MergeRecords<Tools<Toolkits[number]>>>;
264
+ /**
265
+ * Merges multiple toolkits into a single toolkit.
266
+ *
267
+ * Combines all tools from the provided toolkits into one unified toolkit.
268
+ * If there are naming conflicts, tools from later toolkits will override
269
+ * tools from earlier ones.
270
+ *
271
+ * @example
272
+ * ```ts
273
+ * import { Toolkit, Tool } from "@effect/ai"
274
+ *
275
+ * const mathToolkit = Toolkit.make(
276
+ * Tool.make("add"),
277
+ * Tool.make("subtract")
278
+ * )
279
+ *
280
+ * const utilityToolkit = Toolkit.make(
281
+ * Tool.make("get_time"),
282
+ * Tool.make("get_weather")
283
+ * )
284
+ *
285
+ * const combined = Toolkit.merge(mathToolkit, utilityToolkit)
286
+ * // combined now has: add, subtract, get_time, get_weather
287
+ * ```
288
+ *
289
+ * @example
290
+ * ```ts
291
+ * import { Toolkit, Tool } from "@effect/ai"
292
+ *
293
+ * // Incremental toolkit building
294
+ * const baseToolkit = Toolkit.make(Tool.make("base_tool"))
295
+ * const extendedToolkit = Toolkit.merge(
296
+ * baseToolkit,
297
+ * Toolkit.make(Tool.make("additional_tool")),
298
+ * Toolkit.make(Tool.make("another_tool"))
299
+ * )
300
+ * ```
301
+ *
302
+ * @since 1.0.0
303
+ * @category Constructors
304
+ */
305
+ export declare const merge: <const Toolkits extends ReadonlyArray<Any>>(
306
+ /**
307
+ * The toolkits to merge together.
308
+ */
309
+ ...toolkits: Toolkits) => Toolkit<MergedTools<Toolkits>>;
310
+ //# sourceMappingURL=Toolkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolkit.d.ts","sourceRoot":"","sources":["../../src/Toolkit.ts"],"names":[],"mappings":"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"}