@arizeai/phoenix-client 0.0.1 → 1.0.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 (525) hide show
  1. package/README.md +136 -7
  2. package/dist/esm/__generated__/api/v1.d.ts +743 -12
  3. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  4. package/dist/esm/client.d.ts +9 -2
  5. package/dist/esm/client.d.ts.map +1 -1
  6. package/dist/esm/client.js +3 -2
  7. package/dist/esm/client.js.map +1 -1
  8. package/dist/esm/config.d.ts.map +1 -1
  9. package/dist/esm/config.js +11 -1
  10. package/dist/esm/config.js.map +1 -1
  11. package/dist/esm/experiments/runExperiment.d.ts +35 -8
  12. package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
  13. package/dist/esm/experiments/runExperiment.js +29 -39
  14. package/dist/esm/experiments/runExperiment.js.map +1 -1
  15. package/dist/esm/index.d.ts +0 -1
  16. package/dist/esm/index.d.ts.map +1 -1
  17. package/dist/esm/index.js +0 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/prompts/constants.d.ts +6 -0
  20. package/dist/esm/prompts/constants.d.ts.map +1 -0
  21. package/dist/esm/prompts/constants.js +10 -0
  22. package/dist/esm/prompts/constants.js.map +1 -0
  23. package/dist/esm/prompts/createPrompt.d.ts +65 -0
  24. package/dist/esm/prompts/createPrompt.d.ts.map +1 -0
  25. package/dist/esm/prompts/createPrompt.js +95 -0
  26. package/dist/esm/prompts/createPrompt.js.map +1 -0
  27. package/dist/esm/prompts/getPrompt.d.ts +16 -0
  28. package/dist/esm/prompts/getPrompt.d.ts.map +1 -0
  29. package/dist/esm/prompts/getPrompt.js +11 -0
  30. package/dist/esm/prompts/getPrompt.js.map +1 -0
  31. package/dist/esm/prompts/index.d.ts +4 -0
  32. package/dist/esm/prompts/index.d.ts.map +1 -0
  33. package/dist/esm/prompts/index.js +4 -0
  34. package/dist/esm/prompts/index.js.map +1 -0
  35. package/dist/esm/prompts/sdks/constants.d.ts +6 -0
  36. package/dist/esm/prompts/sdks/constants.d.ts.map +1 -0
  37. package/dist/esm/prompts/sdks/constants.js +6 -0
  38. package/dist/esm/prompts/sdks/constants.js.map +1 -0
  39. package/dist/esm/prompts/sdks/index.d.ts +2 -0
  40. package/dist/esm/prompts/sdks/index.d.ts.map +1 -0
  41. package/dist/esm/prompts/sdks/index.js +2 -0
  42. package/dist/esm/prompts/sdks/index.js.map +1 -0
  43. package/dist/esm/prompts/sdks/toAI.d.ts +12 -0
  44. package/dist/esm/prompts/sdks/toAI.d.ts.map +1 -0
  45. package/dist/esm/prompts/sdks/toAI.js +70 -0
  46. package/dist/esm/prompts/sdks/toAI.js.map +1 -0
  47. package/dist/esm/prompts/sdks/toAnthropic.d.ts +9 -0
  48. package/dist/esm/prompts/sdks/toAnthropic.d.ts.map +1 -0
  49. package/dist/esm/prompts/sdks/toAnthropic.js +69 -0
  50. package/dist/esm/prompts/sdks/toAnthropic.js.map +1 -0
  51. package/dist/esm/prompts/sdks/toOpenAI.d.ts +11 -0
  52. package/dist/esm/prompts/sdks/toOpenAI.d.ts.map +1 -0
  53. package/dist/esm/prompts/sdks/toOpenAI.js +77 -0
  54. package/dist/esm/prompts/sdks/toOpenAI.js.map +1 -0
  55. package/dist/esm/prompts/sdks/toSDK.d.ts +47 -0
  56. package/dist/esm/prompts/sdks/toSDK.d.ts.map +1 -0
  57. package/dist/esm/prompts/sdks/toSDK.js +44 -0
  58. package/dist/esm/prompts/sdks/toSDK.js.map +1 -0
  59. package/dist/esm/prompts/sdks/types.d.ts +28 -0
  60. package/dist/esm/prompts/sdks/types.d.ts.map +1 -0
  61. package/dist/esm/prompts/sdks/types.js +2 -0
  62. package/dist/esm/prompts/sdks/types.js.map +1 -0
  63. package/dist/esm/schemas/jsonLiteralSchema.d.ts +17 -0
  64. package/dist/esm/schemas/jsonLiteralSchema.d.ts.map +1 -0
  65. package/dist/esm/schemas/jsonLiteralSchema.js +16 -0
  66. package/dist/esm/schemas/jsonLiteralSchema.js.map +1 -0
  67. package/dist/esm/schemas/jsonSchema.d.ts +132 -0
  68. package/dist/esm/schemas/jsonSchema.d.ts.map +1 -0
  69. package/dist/esm/schemas/jsonSchema.js +42 -0
  70. package/dist/esm/schemas/jsonSchema.js.map +1 -0
  71. package/dist/esm/schemas/llm/anthropic/converters.d.ts +1497 -0
  72. package/dist/esm/schemas/llm/anthropic/converters.d.ts.map +1 -0
  73. package/dist/esm/schemas/llm/anthropic/converters.js +123 -0
  74. package/dist/esm/schemas/llm/anthropic/converters.js.map +1 -0
  75. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts +264 -0
  76. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts.map +1 -0
  77. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.js +36 -0
  78. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.js.map +1 -0
  79. package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts +795 -0
  80. package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts.map +1 -0
  81. package/dist/esm/schemas/llm/anthropic/messageSchemas.js +23 -0
  82. package/dist/esm/schemas/llm/anthropic/messageSchemas.js.map +1 -0
  83. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts +48 -0
  84. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts.map +1 -0
  85. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.js +27 -0
  86. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.js.map +1 -0
  87. package/dist/esm/schemas/llm/anthropic/toolChoiceSchemas.d.ts +30 -0
  88. package/dist/esm/schemas/llm/anthropic/toolChoiceSchemas.d.ts.map +1 -0
  89. package/dist/esm/schemas/llm/anthropic/toolChoiceSchemas.js +19 -0
  90. package/dist/esm/schemas/llm/anthropic/toolChoiceSchemas.js.map +1 -0
  91. package/dist/esm/schemas/llm/anthropic/toolSchemas.d.ts +191 -0
  92. package/dist/esm/schemas/llm/anthropic/toolSchemas.d.ts.map +1 -0
  93. package/dist/esm/schemas/llm/anthropic/toolSchemas.js +31 -0
  94. package/dist/esm/schemas/llm/anthropic/toolSchemas.js.map +1 -0
  95. package/dist/esm/schemas/llm/constants.d.ts +9110 -0
  96. package/dist/esm/schemas/llm/constants.d.ts.map +1 -0
  97. package/dist/esm/schemas/llm/constants.js +128 -0
  98. package/dist/esm/schemas/llm/constants.js.map +1 -0
  99. package/dist/esm/schemas/llm/converters.d.ts +36472 -0
  100. package/dist/esm/schemas/llm/converters.d.ts.map +1 -0
  101. package/dist/esm/schemas/llm/converters.js +308 -0
  102. package/dist/esm/schemas/llm/converters.js.map +1 -0
  103. package/dist/esm/schemas/llm/openai/converters.d.ts +5199 -0
  104. package/dist/esm/schemas/llm/openai/converters.d.ts.map +1 -0
  105. package/dist/esm/schemas/llm/openai/converters.js +323 -0
  106. package/dist/esm/schemas/llm/openai/converters.js.map +1 -0
  107. package/dist/esm/schemas/llm/openai/messagePartSchemas.d.ts +64 -0
  108. package/dist/esm/schemas/llm/openai/messagePartSchemas.d.ts.map +1 -0
  109. package/dist/esm/schemas/llm/openai/messagePartSchemas.js +21 -0
  110. package/dist/esm/schemas/llm/openai/messagePartSchemas.js.map +1 -0
  111. package/dist/esm/schemas/llm/openai/messageSchemas.d.ts +733 -0
  112. package/dist/esm/schemas/llm/openai/messageSchemas.d.ts.map +1 -0
  113. package/dist/esm/schemas/llm/openai/messageSchemas.js +67 -0
  114. package/dist/esm/schemas/llm/openai/messageSchemas.js.map +1 -0
  115. package/dist/esm/schemas/llm/openai/responseFormatSchema.d.ts +233 -0
  116. package/dist/esm/schemas/llm/openai/responseFormatSchema.d.ts.map +1 -0
  117. package/dist/esm/schemas/llm/openai/responseFormatSchema.js +19 -0
  118. package/dist/esm/schemas/llm/openai/responseFormatSchema.js.map +1 -0
  119. package/dist/esm/schemas/llm/openai/toolCallSchemas.d.ts +95 -0
  120. package/dist/esm/schemas/llm/openai/toolCallSchemas.d.ts.map +1 -0
  121. package/dist/esm/schemas/llm/openai/toolCallSchemas.js +40 -0
  122. package/dist/esm/schemas/llm/openai/toolCallSchemas.js.map +1 -0
  123. package/dist/esm/schemas/llm/openai/toolChoiceSchemas.d.ts +28 -0
  124. package/dist/esm/schemas/llm/openai/toolChoiceSchemas.d.ts.map +1 -0
  125. package/dist/esm/schemas/llm/openai/toolChoiceSchemas.js +16 -0
  126. package/dist/esm/schemas/llm/openai/toolChoiceSchemas.js.map +1 -0
  127. package/dist/esm/schemas/llm/openai/toolSchemas.d.ts +1282 -0
  128. package/dist/esm/schemas/llm/openai/toolSchemas.d.ts.map +1 -0
  129. package/dist/esm/schemas/llm/openai/toolSchemas.js +62 -0
  130. package/dist/esm/schemas/llm/openai/toolSchemas.js.map +1 -0
  131. package/dist/esm/schemas/llm/phoenixPrompt/converters.d.ts +847 -0
  132. package/dist/esm/schemas/llm/phoenixPrompt/converters.d.ts.map +1 -0
  133. package/dist/esm/schemas/llm/phoenixPrompt/converters.js +130 -0
  134. package/dist/esm/schemas/llm/phoenixPrompt/converters.js.map +1 -0
  135. package/dist/esm/schemas/llm/phoenixPrompt/messagePartSchemas.d.ts +128 -0
  136. package/dist/esm/schemas/llm/phoenixPrompt/messagePartSchemas.d.ts.map +1 -0
  137. package/dist/esm/schemas/llm/phoenixPrompt/messagePartSchemas.js +60 -0
  138. package/dist/esm/schemas/llm/phoenixPrompt/messagePartSchemas.js.map +1 -0
  139. package/dist/esm/schemas/llm/phoenixPrompt/messageSchemas.d.ts +196 -0
  140. package/dist/esm/schemas/llm/phoenixPrompt/messageSchemas.d.ts.map +1 -0
  141. package/dist/esm/schemas/llm/phoenixPrompt/messageSchemas.js +23 -0
  142. package/dist/esm/schemas/llm/phoenixPrompt/messageSchemas.js.map +1 -0
  143. package/dist/esm/schemas/llm/phoenixPrompt/responseFormatSchema.d.ts +41 -0
  144. package/dist/esm/schemas/llm/phoenixPrompt/responseFormatSchema.d.ts.map +1 -0
  145. package/dist/esm/schemas/llm/phoenixPrompt/responseFormatSchema.js +15 -0
  146. package/dist/esm/schemas/llm/phoenixPrompt/responseFormatSchema.js.map +1 -0
  147. package/dist/esm/schemas/llm/phoenixPrompt/toolCallSchemas.d.ts +36 -0
  148. package/dist/esm/schemas/llm/phoenixPrompt/toolCallSchemas.d.ts.map +1 -0
  149. package/dist/esm/schemas/llm/phoenixPrompt/toolCallSchemas.js +3 -0
  150. package/dist/esm/schemas/llm/phoenixPrompt/toolCallSchemas.js.map +1 -0
  151. package/dist/esm/schemas/llm/phoenixPrompt/toolChoiceSchemas.d.ts +34 -0
  152. package/dist/esm/schemas/llm/phoenixPrompt/toolChoiceSchemas.d.ts.map +1 -0
  153. package/dist/esm/schemas/llm/phoenixPrompt/toolChoiceSchemas.js +21 -0
  154. package/dist/esm/schemas/llm/phoenixPrompt/toolChoiceSchemas.js.map +1 -0
  155. package/dist/esm/schemas/llm/phoenixPrompt/toolSchemas.d.ts +41 -0
  156. package/dist/esm/schemas/llm/phoenixPrompt/toolSchemas.d.ts.map +1 -0
  157. package/dist/esm/schemas/llm/phoenixPrompt/toolSchemas.js +15 -0
  158. package/dist/esm/schemas/llm/phoenixPrompt/toolSchemas.js.map +1 -0
  159. package/dist/esm/schemas/llm/schemas.d.ts +2777 -0
  160. package/dist/esm/schemas/llm/schemas.d.ts.map +1 -0
  161. package/dist/esm/schemas/llm/schemas.js +77 -0
  162. package/dist/esm/schemas/llm/schemas.js.map +1 -0
  163. package/dist/esm/schemas/llm/types.d.ts +130 -0
  164. package/dist/esm/schemas/llm/types.d.ts.map +1 -0
  165. package/dist/esm/schemas/llm/types.js +2 -0
  166. package/dist/esm/schemas/llm/types.js.map +1 -0
  167. package/dist/esm/schemas/llm/utils.d.ts +25 -0
  168. package/dist/esm/schemas/llm/utils.d.ts.map +1 -0
  169. package/dist/esm/schemas/llm/utils.js +181 -0
  170. package/dist/esm/schemas/llm/utils.js.map +1 -0
  171. package/dist/esm/schemas/llm/vercel/messagePartSchemas.d.ts +114 -0
  172. package/dist/esm/schemas/llm/vercel/messagePartSchemas.d.ts.map +1 -0
  173. package/dist/esm/schemas/llm/vercel/messagePartSchemas.js +35 -0
  174. package/dist/esm/schemas/llm/vercel/messagePartSchemas.js.map +1 -0
  175. package/dist/esm/schemas/llm/vercel/messageSchemas.d.ts +142 -0
  176. package/dist/esm/schemas/llm/vercel/messageSchemas.d.ts.map +1 -0
  177. package/dist/esm/schemas/llm/vercel/messageSchemas.js +42 -0
  178. package/dist/esm/schemas/llm/vercel/messageSchemas.js.map +1 -0
  179. package/dist/esm/schemas/llm/vercel/toolChoiceSchemas.d.ts +16 -0
  180. package/dist/esm/schemas/llm/vercel/toolChoiceSchemas.d.ts.map +1 -0
  181. package/dist/esm/schemas/llm/vercel/toolChoiceSchemas.js +14 -0
  182. package/dist/esm/schemas/llm/vercel/toolChoiceSchemas.js.map +1 -0
  183. package/dist/esm/schemas/llm/vercel/toolSchemas.d.ts +42 -0
  184. package/dist/esm/schemas/llm/vercel/toolSchemas.d.ts.map +1 -0
  185. package/dist/esm/schemas/llm/vercel/toolSchemas.js +17 -0
  186. package/dist/esm/schemas/llm/vercel/toolSchemas.js.map +1 -0
  187. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  188. package/dist/esm/types/core.d.ts +8 -0
  189. package/dist/esm/types/core.d.ts.map +1 -1
  190. package/dist/esm/types/logger.d.ts +6 -0
  191. package/dist/esm/types/logger.d.ts.map +1 -0
  192. package/dist/esm/types/logger.js +2 -0
  193. package/dist/esm/types/logger.js.map +1 -0
  194. package/dist/esm/types/prompts.d.ts +107 -0
  195. package/dist/esm/types/prompts.d.ts.map +1 -0
  196. package/dist/esm/types/prompts.js +2 -0
  197. package/dist/esm/types/prompts.js.map +1 -0
  198. package/dist/esm/utils/assertUnreachable.d.ts +8 -0
  199. package/dist/esm/utils/assertUnreachable.d.ts.map +1 -0
  200. package/dist/esm/utils/assertUnreachable.js +10 -0
  201. package/dist/esm/utils/assertUnreachable.js.map +1 -0
  202. package/dist/esm/utils/formatPromptMessages.d.ts +26 -0
  203. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -0
  204. package/dist/esm/utils/formatPromptMessages.js +64 -0
  205. package/dist/esm/utils/formatPromptMessages.js.map +1 -0
  206. package/dist/esm/utils/getDatasetLike.d.ts +22 -0
  207. package/dist/esm/utils/getDatasetLike.d.ts.map +1 -0
  208. package/dist/esm/utils/getDatasetLike.js +37 -0
  209. package/dist/esm/utils/getDatasetLike.js.map +1 -0
  210. package/dist/esm/utils/getPromptVersionLike.d.ts +29 -0
  211. package/dist/esm/utils/getPromptVersionLike.d.ts.map +1 -0
  212. package/dist/esm/utils/getPromptVersionLike.js +50 -0
  213. package/dist/esm/utils/getPromptVersionLike.js.map +1 -0
  214. package/dist/esm/utils/isObject.d.ts +5 -0
  215. package/dist/esm/utils/isObject.d.ts.map +1 -0
  216. package/dist/esm/utils/isObject.js +7 -0
  217. package/dist/esm/utils/isObject.js.map +1 -0
  218. package/dist/esm/utils/noopLogger.d.ts +9 -0
  219. package/dist/esm/utils/noopLogger.d.ts.map +1 -0
  220. package/dist/esm/utils/noopLogger.js +9 -0
  221. package/dist/esm/utils/noopLogger.js.map +1 -0
  222. package/dist/esm/utils/safelyParseJSON.d.ts +14 -0
  223. package/dist/esm/utils/safelyParseJSON.d.ts.map +1 -0
  224. package/dist/esm/utils/safelyParseJSON.js +15 -0
  225. package/dist/esm/utils/safelyParseJSON.js.map +1 -0
  226. package/dist/esm/utils/safelyStringifyJSON.d.ts +14 -0
  227. package/dist/esm/utils/safelyStringifyJSON.d.ts.map +1 -0
  228. package/dist/esm/utils/safelyStringifyJSON.js +15 -0
  229. package/dist/esm/utils/safelyStringifyJSON.js.map +1 -0
  230. package/dist/esm/utils/schemaMatches.d.ts +17 -0
  231. package/dist/esm/utils/schemaMatches.d.ts.map +1 -0
  232. package/dist/esm/utils/schemaMatches.js +9 -0
  233. package/dist/esm/utils/schemaMatches.js.map +1 -0
  234. package/dist/src/__generated__/api/v1.d.ts +743 -12
  235. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  236. package/dist/src/client.d.ts +9 -2
  237. package/dist/src/client.d.ts.map +1 -1
  238. package/dist/src/client.js +3 -2
  239. package/dist/src/client.js.map +1 -1
  240. package/dist/src/config.d.ts.map +1 -1
  241. package/dist/src/config.js +9 -1
  242. package/dist/src/config.js.map +1 -1
  243. package/dist/src/experiments/runExperiment.d.ts +35 -8
  244. package/dist/src/experiments/runExperiment.d.ts.map +1 -1
  245. package/dist/src/experiments/runExperiment.js +29 -34
  246. package/dist/src/experiments/runExperiment.js.map +1 -1
  247. package/dist/src/index.d.ts +0 -1
  248. package/dist/src/index.d.ts.map +1 -1
  249. package/dist/src/index.js +0 -1
  250. package/dist/src/index.js.map +1 -1
  251. package/dist/src/prompts/constants.d.ts +6 -0
  252. package/dist/src/prompts/constants.d.ts.map +1 -0
  253. package/dist/src/prompts/constants.js +13 -0
  254. package/dist/src/prompts/constants.js.map +1 -0
  255. package/dist/src/prompts/createPrompt.d.ts +65 -0
  256. package/dist/src/prompts/createPrompt.d.ts.map +1 -0
  257. package/dist/src/prompts/createPrompt.js +123 -0
  258. package/dist/src/prompts/createPrompt.js.map +1 -0
  259. package/dist/src/prompts/getPrompt.d.ts +16 -0
  260. package/dist/src/prompts/getPrompt.d.ts.map +1 -0
  261. package/dist/src/prompts/getPrompt.js +25 -0
  262. package/dist/src/prompts/getPrompt.js.map +1 -0
  263. package/dist/src/prompts/index.d.ts +4 -0
  264. package/dist/src/prompts/index.d.ts.map +1 -0
  265. package/dist/src/prompts/index.js +20 -0
  266. package/dist/src/prompts/index.js.map +1 -0
  267. package/dist/src/prompts/sdks/constants.d.ts +6 -0
  268. package/dist/src/prompts/sdks/constants.d.ts.map +1 -0
  269. package/dist/src/prompts/sdks/constants.js +9 -0
  270. package/dist/src/prompts/sdks/constants.js.map +1 -0
  271. package/dist/src/prompts/sdks/index.d.ts +2 -0
  272. package/dist/src/prompts/sdks/index.d.ts.map +1 -0
  273. package/dist/src/prompts/sdks/index.js +18 -0
  274. package/dist/src/prompts/sdks/index.js.map +1 -0
  275. package/dist/src/prompts/sdks/toAI.d.ts +12 -0
  276. package/dist/src/prompts/sdks/toAI.d.ts.map +1 -0
  277. package/dist/src/prompts/sdks/toAI.js +75 -0
  278. package/dist/src/prompts/sdks/toAI.js.map +1 -0
  279. package/dist/src/prompts/sdks/toAnthropic.d.ts +9 -0
  280. package/dist/src/prompts/sdks/toAnthropic.d.ts.map +1 -0
  281. package/dist/src/prompts/sdks/toAnthropic.js +71 -0
  282. package/dist/src/prompts/sdks/toAnthropic.js.map +1 -0
  283. package/dist/src/prompts/sdks/toOpenAI.d.ts +11 -0
  284. package/dist/src/prompts/sdks/toOpenAI.d.ts.map +1 -0
  285. package/dist/src/prompts/sdks/toOpenAI.js +78 -0
  286. package/dist/src/prompts/sdks/toOpenAI.js.map +1 -0
  287. package/dist/src/prompts/sdks/toSDK.d.ts +47 -0
  288. package/dist/src/prompts/sdks/toSDK.d.ts.map +1 -0
  289. package/dist/src/prompts/sdks/toSDK.js +63 -0
  290. package/dist/src/prompts/sdks/toSDK.js.map +1 -0
  291. package/dist/src/prompts/sdks/types.d.ts +28 -0
  292. package/dist/src/prompts/sdks/types.d.ts.map +1 -0
  293. package/dist/src/prompts/sdks/types.js +3 -0
  294. package/dist/src/prompts/sdks/types.js.map +1 -0
  295. package/dist/src/schemas/jsonLiteralSchema.d.ts +17 -0
  296. package/dist/src/schemas/jsonLiteralSchema.d.ts.map +1 -0
  297. package/dist/src/schemas/jsonLiteralSchema.js +22 -0
  298. package/dist/src/schemas/jsonLiteralSchema.js.map +1 -0
  299. package/dist/src/schemas/jsonSchema.d.ts +132 -0
  300. package/dist/src/schemas/jsonSchema.d.ts.map +1 -0
  301. package/dist/src/schemas/jsonSchema.js +48 -0
  302. package/dist/src/schemas/jsonSchema.js.map +1 -0
  303. package/dist/src/schemas/llm/anthropic/converters.d.ts +1497 -0
  304. package/dist/src/schemas/llm/anthropic/converters.d.ts.map +1 -0
  305. package/dist/src/schemas/llm/anthropic/converters.js +132 -0
  306. package/dist/src/schemas/llm/anthropic/converters.js.map +1 -0
  307. package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts +264 -0
  308. package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts.map +1 -0
  309. package/dist/src/schemas/llm/anthropic/messagePartSchemas.js +42 -0
  310. package/dist/src/schemas/llm/anthropic/messagePartSchemas.js.map +1 -0
  311. package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts +795 -0
  312. package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts.map +1 -0
  313. package/dist/src/schemas/llm/anthropic/messageSchemas.js +29 -0
  314. package/dist/src/schemas/llm/anthropic/messageSchemas.js.map +1 -0
  315. package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts +48 -0
  316. package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts.map +1 -0
  317. package/dist/src/schemas/llm/anthropic/toolCallSchemas.js +34 -0
  318. package/dist/src/schemas/llm/anthropic/toolCallSchemas.js.map +1 -0
  319. package/dist/src/schemas/llm/anthropic/toolChoiceSchemas.d.ts +30 -0
  320. package/dist/src/schemas/llm/anthropic/toolChoiceSchemas.d.ts.map +1 -0
  321. package/dist/src/schemas/llm/anthropic/toolChoiceSchemas.js +25 -0
  322. package/dist/src/schemas/llm/anthropic/toolChoiceSchemas.js.map +1 -0
  323. package/dist/src/schemas/llm/anthropic/toolSchemas.d.ts +191 -0
  324. package/dist/src/schemas/llm/anthropic/toolSchemas.d.ts.map +1 -0
  325. package/dist/src/schemas/llm/anthropic/toolSchemas.js +38 -0
  326. package/dist/src/schemas/llm/anthropic/toolSchemas.js.map +1 -0
  327. package/dist/src/schemas/llm/constants.d.ts +9110 -0
  328. package/dist/src/schemas/llm/constants.d.ts.map +1 -0
  329. package/dist/src/schemas/llm/constants.js +131 -0
  330. package/dist/src/schemas/llm/constants.js.map +1 -0
  331. package/dist/src/schemas/llm/converters.d.ts +36472 -0
  332. package/dist/src/schemas/llm/converters.d.ts.map +1 -0
  333. package/dist/src/schemas/llm/converters.js +330 -0
  334. package/dist/src/schemas/llm/converters.js.map +1 -0
  335. package/dist/src/schemas/llm/openai/converters.d.ts +5199 -0
  336. package/dist/src/schemas/llm/openai/converters.d.ts.map +1 -0
  337. package/dist/src/schemas/llm/openai/converters.js +333 -0
  338. package/dist/src/schemas/llm/openai/converters.js.map +1 -0
  339. package/dist/src/schemas/llm/openai/messagePartSchemas.d.ts +64 -0
  340. package/dist/src/schemas/llm/openai/messagePartSchemas.d.ts.map +1 -0
  341. package/dist/src/schemas/llm/openai/messagePartSchemas.js +27 -0
  342. package/dist/src/schemas/llm/openai/messagePartSchemas.js.map +1 -0
  343. package/dist/src/schemas/llm/openai/messageSchemas.d.ts +733 -0
  344. package/dist/src/schemas/llm/openai/messageSchemas.d.ts.map +1 -0
  345. package/dist/src/schemas/llm/openai/messageSchemas.js +73 -0
  346. package/dist/src/schemas/llm/openai/messageSchemas.js.map +1 -0
  347. package/dist/src/schemas/llm/openai/responseFormatSchema.d.ts +233 -0
  348. package/dist/src/schemas/llm/openai/responseFormatSchema.d.ts.map +1 -0
  349. package/dist/src/schemas/llm/openai/responseFormatSchema.js +25 -0
  350. package/dist/src/schemas/llm/openai/responseFormatSchema.js.map +1 -0
  351. package/dist/src/schemas/llm/openai/toolCallSchemas.d.ts +95 -0
  352. package/dist/src/schemas/llm/openai/toolCallSchemas.d.ts.map +1 -0
  353. package/dist/src/schemas/llm/openai/toolCallSchemas.js +47 -0
  354. package/dist/src/schemas/llm/openai/toolCallSchemas.js.map +1 -0
  355. package/dist/src/schemas/llm/openai/toolChoiceSchemas.d.ts +28 -0
  356. package/dist/src/schemas/llm/openai/toolChoiceSchemas.d.ts.map +1 -0
  357. package/dist/src/schemas/llm/openai/toolChoiceSchemas.js +22 -0
  358. package/dist/src/schemas/llm/openai/toolChoiceSchemas.js.map +1 -0
  359. package/dist/src/schemas/llm/openai/toolSchemas.d.ts +1282 -0
  360. package/dist/src/schemas/llm/openai/toolSchemas.d.ts.map +1 -0
  361. package/dist/src/schemas/llm/openai/toolSchemas.js +69 -0
  362. package/dist/src/schemas/llm/openai/toolSchemas.js.map +1 -0
  363. package/dist/src/schemas/llm/phoenixPrompt/converters.d.ts +847 -0
  364. package/dist/src/schemas/llm/phoenixPrompt/converters.d.ts.map +1 -0
  365. package/dist/src/schemas/llm/phoenixPrompt/converters.js +133 -0
  366. package/dist/src/schemas/llm/phoenixPrompt/converters.js.map +1 -0
  367. package/dist/src/schemas/llm/phoenixPrompt/messagePartSchemas.d.ts +128 -0
  368. package/dist/src/schemas/llm/phoenixPrompt/messagePartSchemas.d.ts.map +1 -0
  369. package/dist/src/schemas/llm/phoenixPrompt/messagePartSchemas.js +71 -0
  370. package/dist/src/schemas/llm/phoenixPrompt/messagePartSchemas.js.map +1 -0
  371. package/dist/src/schemas/llm/phoenixPrompt/messageSchemas.d.ts +196 -0
  372. package/dist/src/schemas/llm/phoenixPrompt/messageSchemas.d.ts.map +1 -0
  373. package/dist/src/schemas/llm/phoenixPrompt/messageSchemas.js +29 -0
  374. package/dist/src/schemas/llm/phoenixPrompt/messageSchemas.js.map +1 -0
  375. package/dist/src/schemas/llm/phoenixPrompt/responseFormatSchema.d.ts +41 -0
  376. package/dist/src/schemas/llm/phoenixPrompt/responseFormatSchema.d.ts.map +1 -0
  377. package/dist/src/schemas/llm/phoenixPrompt/responseFormatSchema.js +21 -0
  378. package/dist/src/schemas/llm/phoenixPrompt/responseFormatSchema.js.map +1 -0
  379. package/dist/src/schemas/llm/phoenixPrompt/toolCallSchemas.d.ts +36 -0
  380. package/dist/src/schemas/llm/phoenixPrompt/toolCallSchemas.d.ts.map +1 -0
  381. package/dist/src/schemas/llm/phoenixPrompt/toolCallSchemas.js +6 -0
  382. package/dist/src/schemas/llm/phoenixPrompt/toolCallSchemas.js.map +1 -0
  383. package/dist/src/schemas/llm/phoenixPrompt/toolChoiceSchemas.d.ts +34 -0
  384. package/dist/src/schemas/llm/phoenixPrompt/toolChoiceSchemas.d.ts.map +1 -0
  385. package/dist/src/schemas/llm/phoenixPrompt/toolChoiceSchemas.js +27 -0
  386. package/dist/src/schemas/llm/phoenixPrompt/toolChoiceSchemas.js.map +1 -0
  387. package/dist/src/schemas/llm/phoenixPrompt/toolSchemas.d.ts +41 -0
  388. package/dist/src/schemas/llm/phoenixPrompt/toolSchemas.d.ts.map +1 -0
  389. package/dist/src/schemas/llm/phoenixPrompt/toolSchemas.js +21 -0
  390. package/dist/src/schemas/llm/phoenixPrompt/toolSchemas.js.map +1 -0
  391. package/dist/src/schemas/llm/schemas.d.ts +2777 -0
  392. package/dist/src/schemas/llm/schemas.d.ts.map +1 -0
  393. package/dist/src/schemas/llm/schemas.js +83 -0
  394. package/dist/src/schemas/llm/schemas.js.map +1 -0
  395. package/dist/src/schemas/llm/types.d.ts +130 -0
  396. package/dist/src/schemas/llm/types.d.ts.map +1 -0
  397. package/dist/src/schemas/llm/types.js +3 -0
  398. package/dist/src/schemas/llm/types.js.map +1 -0
  399. package/dist/src/schemas/llm/utils.d.ts +25 -0
  400. package/dist/src/schemas/llm/utils.d.ts.map +1 -0
  401. package/dist/src/schemas/llm/utils.js +192 -0
  402. package/dist/src/schemas/llm/utils.js.map +1 -0
  403. package/dist/src/schemas/llm/vercel/messagePartSchemas.d.ts +114 -0
  404. package/dist/src/schemas/llm/vercel/messagePartSchemas.d.ts.map +1 -0
  405. package/dist/src/schemas/llm/vercel/messagePartSchemas.js +41 -0
  406. package/dist/src/schemas/llm/vercel/messagePartSchemas.js.map +1 -0
  407. package/dist/src/schemas/llm/vercel/messageSchemas.d.ts +142 -0
  408. package/dist/src/schemas/llm/vercel/messageSchemas.d.ts.map +1 -0
  409. package/dist/src/schemas/llm/vercel/messageSchemas.js +48 -0
  410. package/dist/src/schemas/llm/vercel/messageSchemas.js.map +1 -0
  411. package/dist/src/schemas/llm/vercel/toolChoiceSchemas.d.ts +16 -0
  412. package/dist/src/schemas/llm/vercel/toolChoiceSchemas.d.ts.map +1 -0
  413. package/dist/src/schemas/llm/vercel/toolChoiceSchemas.js +20 -0
  414. package/dist/src/schemas/llm/vercel/toolChoiceSchemas.js.map +1 -0
  415. package/dist/src/schemas/llm/vercel/toolSchemas.d.ts +42 -0
  416. package/dist/src/schemas/llm/vercel/toolSchemas.d.ts.map +1 -0
  417. package/dist/src/schemas/llm/vercel/toolSchemas.js +20 -0
  418. package/dist/src/schemas/llm/vercel/toolSchemas.js.map +1 -0
  419. package/dist/src/types/core.d.ts +8 -0
  420. package/dist/src/types/core.d.ts.map +1 -1
  421. package/dist/src/types/logger.d.ts +6 -0
  422. package/dist/src/types/logger.d.ts.map +1 -0
  423. package/dist/src/types/logger.js +3 -0
  424. package/dist/src/types/logger.js.map +1 -0
  425. package/dist/src/types/prompts.d.ts +107 -0
  426. package/dist/src/types/prompts.d.ts.map +1 -0
  427. package/dist/src/types/prompts.js +3 -0
  428. package/dist/src/types/prompts.js.map +1 -0
  429. package/dist/src/utils/assertUnreachable.d.ts +8 -0
  430. package/dist/src/utils/assertUnreachable.d.ts.map +1 -0
  431. package/dist/src/utils/assertUnreachable.js +13 -0
  432. package/dist/src/utils/assertUnreachable.js.map +1 -0
  433. package/dist/src/utils/formatPromptMessages.d.ts +26 -0
  434. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -0
  435. package/dist/src/utils/formatPromptMessages.js +61 -0
  436. package/dist/src/utils/formatPromptMessages.js.map +1 -0
  437. package/dist/src/utils/getDatasetLike.d.ts +22 -0
  438. package/dist/src/utils/getDatasetLike.d.ts.map +1 -0
  439. package/dist/src/utils/getDatasetLike.js +47 -0
  440. package/dist/src/utils/getDatasetLike.js.map +1 -0
  441. package/dist/src/utils/getPromptVersionLike.d.ts +29 -0
  442. package/dist/src/utils/getPromptVersionLike.d.ts.map +1 -0
  443. package/dist/src/utils/getPromptVersionLike.js +68 -0
  444. package/dist/src/utils/getPromptVersionLike.js.map +1 -0
  445. package/dist/src/utils/isObject.d.ts +5 -0
  446. package/dist/src/utils/isObject.d.ts.map +1 -0
  447. package/dist/src/utils/isObject.js +10 -0
  448. package/dist/src/utils/isObject.js.map +1 -0
  449. package/dist/src/utils/noopLogger.d.ts +9 -0
  450. package/dist/src/utils/noopLogger.d.ts.map +1 -0
  451. package/dist/src/utils/noopLogger.js +12 -0
  452. package/dist/src/utils/noopLogger.js.map +1 -0
  453. package/dist/src/utils/safelyParseJSON.d.ts +14 -0
  454. package/dist/src/utils/safelyParseJSON.d.ts.map +1 -0
  455. package/dist/src/utils/safelyParseJSON.js +18 -0
  456. package/dist/src/utils/safelyParseJSON.js.map +1 -0
  457. package/dist/src/utils/safelyStringifyJSON.d.ts +14 -0
  458. package/dist/src/utils/safelyStringifyJSON.d.ts.map +1 -0
  459. package/dist/src/utils/safelyStringifyJSON.js +18 -0
  460. package/dist/src/utils/safelyStringifyJSON.js.map +1 -0
  461. package/dist/src/utils/schemaMatches.d.ts +17 -0
  462. package/dist/src/utils/schemaMatches.d.ts.map +1 -0
  463. package/dist/src/utils/schemaMatches.js +13 -0
  464. package/dist/src/utils/schemaMatches.js.map +1 -0
  465. package/dist/tsconfig.tsbuildinfo +1 -1
  466. package/package.json +32 -5
  467. package/src/__generated__/api/v1.ts +743 -12
  468. package/src/client.ts +9 -2
  469. package/src/config.ts +12 -1
  470. package/src/experiments/runExperiment.ts +54 -53
  471. package/src/index.ts +0 -2
  472. package/src/prompts/constants.ts +11 -0
  473. package/src/prompts/createPrompt.ts +181 -0
  474. package/src/prompts/getPrompt.ts +26 -0
  475. package/src/prompts/index.ts +3 -0
  476. package/src/prompts/sdks/constants.ts +10 -0
  477. package/src/prompts/sdks/index.ts +1 -0
  478. package/src/prompts/sdks/toAI.ts +106 -0
  479. package/src/prompts/sdks/toAnthropic.ts +98 -0
  480. package/src/prompts/sdks/toOpenAI.ts +115 -0
  481. package/src/prompts/sdks/toSDK.ts +81 -0
  482. package/src/prompts/sdks/types.ts +28 -0
  483. package/src/schemas/jsonLiteralSchema.ts +24 -0
  484. package/src/schemas/jsonSchema.ts +47 -0
  485. package/src/schemas/llm/anthropic/converters.ts +172 -0
  486. package/src/schemas/llm/anthropic/messagePartSchemas.ts +53 -0
  487. package/src/schemas/llm/anthropic/messageSchemas.ts +34 -0
  488. package/src/schemas/llm/anthropic/toolCallSchemas.ts +34 -0
  489. package/src/schemas/llm/anthropic/toolChoiceSchemas.ts +21 -0
  490. package/src/schemas/llm/anthropic/toolSchemas.ts +41 -0
  491. package/src/schemas/llm/constants.ts +157 -0
  492. package/src/schemas/llm/converters.ts +503 -0
  493. package/src/schemas/llm/openai/converters.ts +400 -0
  494. package/src/schemas/llm/openai/messagePartSchemas.ts +30 -0
  495. package/src/schemas/llm/openai/messageSchemas.ts +78 -0
  496. package/src/schemas/llm/openai/responseFormatSchema.ts +22 -0
  497. package/src/schemas/llm/openai/toolCallSchemas.ts +58 -0
  498. package/src/schemas/llm/openai/toolChoiceSchemas.ts +18 -0
  499. package/src/schemas/llm/openai/toolSchemas.ts +74 -0
  500. package/src/schemas/llm/phoenixPrompt/converters.ts +178 -0
  501. package/src/schemas/llm/phoenixPrompt/messagePartSchemas.ts +95 -0
  502. package/src/schemas/llm/phoenixPrompt/messageSchemas.ts +34 -0
  503. package/src/schemas/llm/phoenixPrompt/responseFormatSchema.ts +21 -0
  504. package/src/schemas/llm/phoenixPrompt/toolCallSchemas.ts +7 -0
  505. package/src/schemas/llm/phoenixPrompt/toolChoiceSchemas.ts +26 -0
  506. package/src/schemas/llm/phoenixPrompt/toolSchemas.ts +20 -0
  507. package/src/schemas/llm/schemas.ts +94 -0
  508. package/src/schemas/llm/types.ts +162 -0
  509. package/src/schemas/llm/utils.ts +265 -0
  510. package/src/schemas/llm/vercel/messagePartSchemas.ts +54 -0
  511. package/src/schemas/llm/vercel/messageSchemas.ts +54 -0
  512. package/src/schemas/llm/vercel/toolChoiceSchemas.ts +16 -0
  513. package/src/schemas/llm/vercel/toolSchemas.ts +21 -0
  514. package/src/types/core.ts +9 -0
  515. package/src/types/logger.ts +5 -0
  516. package/src/types/prompts.ts +151 -0
  517. package/src/utils/assertUnreachable.ts +9 -0
  518. package/src/utils/formatPromptMessages.ts +79 -0
  519. package/src/utils/getDatasetLike.ts +52 -0
  520. package/src/utils/getPromptVersionLike.ts +73 -0
  521. package/src/utils/isObject.ts +6 -0
  522. package/src/utils/noopLogger.ts +10 -0
  523. package/src/utils/safelyParseJSON.ts +13 -0
  524. package/src/utils/safelyStringifyJSON.ts +15 -0
  525. package/src/utils/schemaMatches.ts +29 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.createPrompt = createPrompt;
24
+ exports.promptVersion = promptVersion;
25
+ const client_1 = require("../client");
26
+ const assertUnreachable_1 = require("../utils/assertUnreachable");
27
+ /**
28
+ * Create a prompt and store it in Phoenix
29
+ * If a prompt with the same name exists, a new version of the prompt will be appended to the history
30
+ */
31
+ function createPrompt(_a) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ var _b;
34
+ var { client: _client, version } = _a, promptParams = __rest(_a, ["client", "version"]);
35
+ const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
36
+ const response = yield client.POST("/v1/prompts", {
37
+ body: {
38
+ prompt: promptParams,
39
+ version: version,
40
+ },
41
+ });
42
+ const createdPromptVersion = (_b = response.data) === null || _b === void 0 ? void 0 : _b.data;
43
+ if (!createdPromptVersion) {
44
+ throw new Error("Failed to create prompt");
45
+ }
46
+ return createdPromptVersion;
47
+ });
48
+ }
49
+ /**
50
+ * A helper function to construct a prompt version declaratively
51
+ */
52
+ function promptVersion(params) {
53
+ const { description = "", modelProvider: model_provider, modelName: model_name, template: templateMessages, templateFormat: template_format = "MUSTACHE", invocationParameters: invocation_parameters, } = params;
54
+ switch (model_provider) {
55
+ case "OPENAI":
56
+ return {
57
+ description,
58
+ model_provider,
59
+ model_name,
60
+ template_type: "CHAT",
61
+ template_format,
62
+ template: {
63
+ type: "chat",
64
+ messages: templateMessages,
65
+ },
66
+ invocation_parameters: {
67
+ type: "openai",
68
+ openai: invocation_parameters !== null && invocation_parameters !== void 0 ? invocation_parameters : {},
69
+ },
70
+ };
71
+ case "AZURE_OPENAI":
72
+ return {
73
+ description,
74
+ model_provider,
75
+ model_name,
76
+ template_type: "CHAT",
77
+ template_format,
78
+ template: {
79
+ type: "chat",
80
+ messages: templateMessages,
81
+ },
82
+ invocation_parameters: {
83
+ type: "azure_openai",
84
+ azure_openai: invocation_parameters !== null && invocation_parameters !== void 0 ? invocation_parameters : {},
85
+ },
86
+ };
87
+ case "ANTHROPIC":
88
+ return {
89
+ description,
90
+ model_provider,
91
+ model_name,
92
+ template_type: "CHAT",
93
+ template_format,
94
+ template: {
95
+ type: "chat",
96
+ messages: templateMessages,
97
+ },
98
+ invocation_parameters: {
99
+ type: "anthropic",
100
+ anthropic: invocation_parameters,
101
+ },
102
+ };
103
+ case "GOOGLE":
104
+ return {
105
+ description,
106
+ model_provider,
107
+ model_name,
108
+ template_type: "CHAT",
109
+ template_format,
110
+ template: {
111
+ type: "chat",
112
+ messages: templateMessages,
113
+ },
114
+ invocation_parameters: {
115
+ type: "google",
116
+ google: invocation_parameters !== null && invocation_parameters !== void 0 ? invocation_parameters : {},
117
+ },
118
+ };
119
+ default:
120
+ (0, assertUnreachable_1.assertUnreachable)(model_provider);
121
+ }
122
+ }
123
+ //# sourceMappingURL=createPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPrompt.js","sourceRoot":"","sources":["../../../src/prompts/createPrompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoCA,oCAiBC;AAkDD,sCA6EC;AApLD,sCAAyC;AAYzC,kEAA+D;AAoB/D;;;GAGG;AACH,SAAsB,YAAY,CAAC,EAId;;;YAJc,EACjC,MAAM,EAAE,OAAO,EACf,OAAO,OAEY,EADhB,YAAY,cAHkB,qBAIlC,CADgB;QAEf,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;YAChD,IAAI,EAAE;gBACJ,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,OAAO;aACjB;SACF,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,CAAC;QACjD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CAAA;AA+CD;;GAEG;AACH,SAAgB,aAAa,CAAC,MAA0B;IACtD,MAAM,EACJ,WAAW,GAAG,EAAE,EAChB,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,eAAe,GAAG,UAAU,EAC5C,oBAAoB,EAAE,qBAAqB,GAC5C,GAAG,MAAM,CAAC;IACX,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO;gBACL,WAAW;gBACX,cAAc;gBACd,UAAU;gBACV,aAAa,EAAE,MAAM;gBACrB,eAAe;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE;iBACpC;aACF,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO;gBACL,WAAW;gBACX,cAAc;gBACd,UAAU;gBACV,aAAa,EAAE,MAAM;gBACrB,eAAe;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,cAAc;oBACpB,YAAY,EAAE,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE;iBAC1C;aACF,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,WAAW;gBACX,cAAc;gBACd,UAAU;gBACV,aAAa,EAAE,MAAM;gBACrB,eAAe;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,qBAAqB;iBACjC;aACF,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,WAAW;gBACX,cAAc;gBACd,UAAU;gBACV,aAAa,EAAE,MAAM;gBACrB,eAAe;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE;iBACpC;aACF,CAAC;QACJ;YACE,IAAA,qCAAiB,EAAC,cAAc,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ClientFn } from "../types/core";
2
+ import { PromptSelector, PromptVersion } from "../types/prompts";
3
+ /**
4
+ * Parameters for the getPrompt function
5
+ */
6
+ export interface GetPromptParams extends ClientFn {
7
+ /**
8
+ * The prompt to get. Can be in the form of a prompt id, a prompt version id, a prompt name, or a prompt name + tag.
9
+ */
10
+ prompt: PromptSelector;
11
+ }
12
+ /**
13
+ * Get a prompt from the Phoenix API.
14
+ */
15
+ export declare function getPrompt({ client: _client, prompt: _prompt, }: GetPromptParams): Promise<PromptVersion | null>;
16
+ //# sourceMappingURL=getPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/getPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,EAC9B,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,GAChB,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAIjD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getPrompt = getPrompt;
13
+ const client_1 = require("../client");
14
+ const getPromptVersionLike_1 = require("../utils/getPromptVersionLike");
15
+ /**
16
+ * Get a prompt from the Phoenix API.
17
+ */
18
+ function getPrompt(_a) {
19
+ return __awaiter(this, arguments, void 0, function* ({ client: _client, prompt: _prompt, }) {
20
+ const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
21
+ const promptVersion = yield (0, getPromptVersionLike_1.getPromptBySelector)({ client, prompt: _prompt });
22
+ return promptVersion;
23
+ });
24
+ }
25
+ //# sourceMappingURL=getPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrompt.js","sourceRoot":"","sources":["../../../src/prompts/getPrompt.ts"],"names":[],"mappings":";;;;;;;;;;;AAkBA,8BAOC;AAzBD,sCAAyC;AAGzC,wEAAoE;AAYpE;;GAEG;AACH,SAAsB,SAAS;yDAAC,EAC9B,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,GACC;QAChB,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAA,qBAAY,GAAE,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,IAAA,0CAAmB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,OAAO,aAAa,CAAC;IACvB,CAAC;CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from "./getPrompt";
2
+ export * from "./createPrompt";
3
+ export * from "./sdks";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./getPrompt"), exports);
18
+ __exportStar(require("./createPrompt"), exports);
19
+ __exportStar(require("./sdks"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,yCAAuB"}
@@ -0,0 +1,6 @@
1
+ export declare const SUPPORTED_SDKS: readonly ["openai", "anthropic", "ai"];
2
+ export declare const SUPPORTED_SDK_TO_PROMPT_MODEL_PROVIDER: {
3
+ openai: "OPENAI";
4
+ anthropic: "ANTHROPIC";
5
+ };
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,wCAAyC,CAAC;AAErE,eAAO,MAAM,sCAAsC;;;CAKlD,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORTED_SDK_TO_PROMPT_MODEL_PROVIDER = exports.SUPPORTED_SDKS = void 0;
4
+ exports.SUPPORTED_SDKS = ["openai", "anthropic", "ai"];
5
+ exports.SUPPORTED_SDK_TO_PROMPT_MODEL_PROVIDER = {
6
+ openai: "OPENAI",
7
+ anthropic: "ANTHROPIC",
8
+ };
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/prompts/sdks/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAU,CAAC;AAExD,QAAA,sCAAsC,GAAG;IACpD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CAGvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./toSDK";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./toSDK"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompts/sdks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -0,0 +1,12 @@
1
+ import { Variables, toSDKParamsBase } from "./types";
2
+ import { type streamText, type generateText } from "ai";
3
+ export type PartialStreamTextParams = Omit<Parameters<typeof streamText>[0] | Parameters<typeof generateText>[0], "model">;
4
+ export type ToAIParams<V extends Variables> = toSDKParamsBase<V>;
5
+ /**
6
+ * Converts a Phoenix prompt to Vercel AI sdk params.
7
+ *
8
+ * - note: To use response format, you must pass `prompt.response_format.json` to generateObject or streamObject
9
+ * directly, through the `schema` argument.
10
+ */
11
+ export declare const toAI: <V extends Variables>({ prompt, variables, }: ToAIParams<V>) => PartialStreamTextParams | null;
12
+ //# sourceMappingURL=toAI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toAI.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/toAI.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EAGlB,MAAM,IAAI,CAAC;AAGZ,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,EACrE,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,SAAS,0BAGrC,UAAU,CAAC,CAAC,CAAC,KAAG,uBAAuB,GAAG,IAyE5C,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toAI = void 0;
7
+ const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
8
+ const converters_1 = require("../../schemas/llm/converters");
9
+ const formatPromptMessages_1 = require("../../utils/formatPromptMessages");
10
+ /**
11
+ * Converts a Phoenix prompt to Vercel AI sdk params.
12
+ *
13
+ * - note: To use response format, you must pass `prompt.response_format.json` to generateObject or streamObject
14
+ * directly, through the `schema` argument.
15
+ */
16
+ const toAI = ({ prompt, variables, }) => {
17
+ var _a, _b;
18
+ // eslint-disable-next-line no-console
19
+ console.warn("Prompt invocation parameters not currently supported in AI SDK, falling back to default invocation parameters");
20
+ try {
21
+ // parts of the prompt that can be directly converted to OpenAI params
22
+ const baseCompletionParams = {
23
+ // Invocation parameters are validated on the phoenix-side
24
+ };
25
+ if (!("messages" in prompt.template)) {
26
+ return null;
27
+ }
28
+ let formattedMessages = prompt.template.messages;
29
+ if (variables) {
30
+ formattedMessages = (0, formatPromptMessages_1.formatPromptMessages)(prompt.template_format, formattedMessages, variables);
31
+ }
32
+ const messages = formattedMessages.map((message) => {
33
+ const vercelAIMessage = (0, converters_1.safelyConvertMessageToProvider)({
34
+ message,
35
+ targetProvider: "VERCEL_AI",
36
+ });
37
+ (0, tiny_invariant_1.default)(vercelAIMessage, "Message is not valid");
38
+ return vercelAIMessage;
39
+ });
40
+ // convert tools to Vercel AI tool set, which is a map of tool name to tool
41
+ let tools = (_a = prompt.tools) === null || _a === void 0 ? void 0 : _a.tools.reduce((acc, tool) => {
42
+ if (!tool.function.parameters) {
43
+ return acc;
44
+ }
45
+ const vercelAIToolDefinition = (0, converters_1.safelyConvertToolDefinitionToProvider)({
46
+ toolDefinition: tool,
47
+ targetProvider: "VERCEL_AI",
48
+ });
49
+ (0, tiny_invariant_1.default)(vercelAIToolDefinition, "Tool definition is not valid");
50
+ acc[tool.function.name] = vercelAIToolDefinition;
51
+ return acc;
52
+ }, {});
53
+ const hasTools = Object.keys(tools !== null && tools !== void 0 ? tools : {}).length > 0;
54
+ tools = hasTools ? tools : undefined;
55
+ let toolChoice = (0, converters_1.safelyConvertToolChoiceToProvider)({
56
+ toolChoice: (_b = prompt.tools) === null || _b === void 0 ? void 0 : _b.tool_choice,
57
+ targetProvider: "VERCEL_AI",
58
+ }) || undefined;
59
+ toolChoice = hasTools ? toolChoice : undefined;
60
+ // combine base and computed params
61
+ const completionParams = Object.assign(Object.assign({}, baseCompletionParams), { messages,
62
+ tools,
63
+ toolChoice });
64
+ return completionParams;
65
+ }
66
+ catch (error) {
67
+ // eslint-disable-next-line no-console
68
+ console.warn(`Failed to convert prompt to AI params`);
69
+ // eslint-disable-next-line no-console
70
+ console.error(error);
71
+ return null;
72
+ }
73
+ };
74
+ exports.toAI = toAI;
75
+ //# sourceMappingURL=toAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toAI.js","sourceRoot":"","sources":["../../../../src/prompts/sdks/toAI.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAuC;AACvC,6DAIsC;AACtC,2EAAwE;AAiBxE;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAsB,EACxC,MAAM,EACN,SAAS,GACK,EAAkC,EAAE;;IAClD,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,+GAA+G,CAChH,CAAC;IACF,IAAI,CAAC;QACH,sEAAsE;QACtE,MAAM,oBAAoB,GAAG;QAC3B,0DAA0D;SAChB,CAAC;QAE7C,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEjD,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,GAAG,IAAA,2CAAoB,EACtC,MAAM,CAAC,eAAe,EACtB,iBAAiB,EACjB,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,MAAM,eAAe,GAAG,IAAA,2CAA8B,EAAC;gBACrD,OAAO;gBACP,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;YACnD,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,KAAK,GAAwB,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACb,CAAC;YACD,MAAM,sBAAsB,GAAG,IAAA,kDAAqC,EAAC;gBACnE,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;YAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,sBAAqC,CAAC;YAChE,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAa,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAErC,IAAI,UAAU,GACZ,IAAA,8CAAiC,EAAC;YAChC,UAAU,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,WAAW;YACrC,cAAc,EAAE,WAAW;SAC5B,CAAC,IAAI,SAAS,CAAC;QAClB,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/C,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,gCACpB,oBAAoB,KACvB,QAAQ;YACR,KAAK;YACL,UAAU,GACgC,CAAC;QAE7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACtD,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AA5EW,QAAA,IAAI,QA4Ef"}
@@ -0,0 +1,9 @@
1
+ import type { MessageCreateParams } from "@anthropic-ai/sdk/resources/messages/messages";
2
+ import type { Variables, toSDKParamsBase } from "./types";
3
+ export type { MessageCreateParams };
4
+ export type ToAnthropicParams<V extends Variables> = toSDKParamsBase<V>;
5
+ /**
6
+ * Convert a Phoenix prompt to Anthropic client sdk's message create parameters
7
+ */
8
+ export declare const toAnthropic: <V extends Variables = Variables>({ prompt, variables, }: ToAnthropicParams<V>) => MessageCreateParams | null;
9
+ //# sourceMappingURL=toAnthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toAnthropic.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/toAnthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAY1D,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,sCAG5C,iBAAiB,CAAC,CAAC,CAAC,KAAG,mBAAmB,GAAG,IA0E/C,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toAnthropic = void 0;
7
+ const formatPromptMessages_1 = require("../../utils/formatPromptMessages");
8
+ const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
9
+ const converters_1 = require("../../schemas/llm/converters");
10
+ /**
11
+ * Convert a Phoenix prompt to Anthropic client sdk's message create parameters
12
+ */
13
+ const toAnthropic = ({ prompt, variables, }) => {
14
+ var _a, _b, _c;
15
+ try {
16
+ let invocationParameters;
17
+ if (prompt.invocation_parameters.type === "anthropic") {
18
+ invocationParameters = prompt.invocation_parameters.anthropic;
19
+ }
20
+ else {
21
+ // eslint-disable-next-line no-console
22
+ console.warn("Prompt is not an Anthropic prompt, falling back to default Anthropic invocation parameters");
23
+ invocationParameters = { max_tokens: 1024 };
24
+ }
25
+ // parts of the prompt that can be directly converted to Anthropic params
26
+ const baseCompletionParams = Object.assign({ model: prompt.model_name }, invocationParameters);
27
+ if (!("messages" in prompt.template)) {
28
+ return null;
29
+ }
30
+ let formattedMessages = prompt.template.messages;
31
+ if (variables) {
32
+ formattedMessages = (0, formatPromptMessages_1.formatPromptMessages)(prompt.template_format, formattedMessages, variables);
33
+ }
34
+ const messages = formattedMessages.map((message) => {
35
+ const anthropicMessage = (0, converters_1.safelyConvertMessageToProvider)({
36
+ message,
37
+ targetProvider: "ANTHROPIC",
38
+ });
39
+ (0, tiny_invariant_1.default)(anthropicMessage, "Message is not valid");
40
+ return anthropicMessage;
41
+ });
42
+ let tools = (_a = prompt.tools) === null || _a === void 0 ? void 0 : _a.tools.map((tool) => {
43
+ const anthropicToolDefinition = (0, converters_1.safelyConvertToolDefinitionToProvider)({
44
+ toolDefinition: tool,
45
+ targetProvider: "ANTHROPIC",
46
+ });
47
+ (0, tiny_invariant_1.default)(anthropicToolDefinition, "Tool definition is not valid");
48
+ return anthropicToolDefinition;
49
+ });
50
+ tools = ((_b = tools === null || tools === void 0 ? void 0 : tools.length) !== null && _b !== void 0 ? _b : 0) > 0 ? tools : undefined;
51
+ let tool_choice = (0, converters_1.safelyConvertToolChoiceToProvider)({
52
+ toolChoice: (_c = prompt === null || prompt === void 0 ? void 0 : prompt.tools) === null || _c === void 0 ? void 0 : _c.tool_choice,
53
+ targetProvider: "ANTHROPIC",
54
+ }) || undefined;
55
+ tool_choice = (tools === null || tools === void 0 ? void 0 : tools.length) ? tool_choice : undefined;
56
+ // combine base and computed params
57
+ const completionParams = Object.assign(Object.assign({}, baseCompletionParams), { messages,
58
+ tools,
59
+ tool_choice });
60
+ return completionParams;
61
+ }
62
+ catch (e) {
63
+ // eslint-disable-next-line no-console
64
+ console.warn(`Failed to convert prompt to Anthropic params`);
65
+ // eslint-disable-next-line no-console
66
+ console.error(e);
67
+ return null;
68
+ }
69
+ };
70
+ exports.toAnthropic = toAnthropic;
71
+ //# sourceMappingURL=toAnthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toAnthropic.js","sourceRoot":"","sources":["../../../../src/prompts/sdks/toAnthropic.ts"],"names":[],"mappings":";;;;;;AAEA,2EAAwE;AAExE,oEAAuC;AACvC,6DAIsC;AAQtC;;GAEG;AACI,MAAM,WAAW,GAAG,CAAkC,EAC3D,MAAM,EACN,SAAS,GACY,EAA8B,EAAE;;IACrD,IAAI,CAAC;QACH,IAAI,oBAAwD,CAAC;QAC7D,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtD,oBAAoB,GAAG,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,4FAA4F,CAC7F,CAAC;YACF,oBAAoB,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QACD,yEAAyE;QACzE,MAAM,oBAAoB,GAAG,gBAC3B,KAAK,EAAE,MAAM,CAAC,UAAU,IACrB,oBAAoB,CACe,CAAC;QAEzC,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEjD,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,GAAG,IAAA,2CAAoB,EACtC,MAAM,CAAC,eAAe,EACtB,iBAAiB,EACjB,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,MAAM,gBAAgB,GAAG,IAAA,2CAA8B,EAAC;gBACtD,OAAO;gBACP,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;YACpD,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,uBAAuB,GAAG,IAAA,kDAAqC,EAAC;gBACpE,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAC;YACnE,OAAO,uBAAuB,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,KAAK,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,IAAI,WAAW,GACb,IAAA,8CAAiC,EAAC;YAChC,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,WAAW;YACtC,cAAc,EAAE,WAAW;SAC5B,CAAC,IAAI,SAAS,CAAC;QAClB,WAAW,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtD,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,gCACpB,oBAAoB,KACvB,QAAQ;YACR,KAAK;YACL,WAAW,GAC2B,CAAC;QAEzC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC7D,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AA7EW,QAAA,WAAW,eA6EtB"}
@@ -0,0 +1,11 @@
1
+ import type { ChatCompletionCreateParams, ChatCompletionMessageParam, ResponseFormatJSONSchema } from "openai/resources";
2
+ import type { Variables, toSDKParamsBase } from "./types";
3
+ export type { ChatCompletionCreateParams, ChatCompletionMessageParam, ResponseFormatJSONSchema, };
4
+ export type ToOpenAIParams<V extends Variables> = toSDKParamsBase<V>;
5
+ /**
6
+ * Convert a Phoenix prompt to OpenAI client sdk's chat completion parameters
7
+ *
8
+ * @returns The converted chat completion parameters
9
+ */
10
+ export declare const toOpenAI: <V extends Variables = Variables>({ prompt, variables, }: ToOpenAIParams<V>) => ChatCompletionCreateParams | null;
11
+ //# sourceMappingURL=toOpenAI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toOpenAI.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/toOpenAI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa1D,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,GACzB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,SAAS,sCAGzC,cAAc,CAAC,CAAC,CAAC,KAAG,0BAA0B,GAAG,IAgFnD,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toOpenAI = void 0;
7
+ const formatPromptMessages_1 = require("../../utils/formatPromptMessages");
8
+ const converters_1 = require("../../schemas/llm/converters");
9
+ const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
10
+ const converters_2 = require("../../schemas/llm/phoenixPrompt/converters");
11
+ /**
12
+ * Convert a Phoenix prompt to OpenAI client sdk's chat completion parameters
13
+ *
14
+ * @returns The converted chat completion parameters
15
+ */
16
+ const toOpenAI = ({ prompt, variables, }) => {
17
+ var _a, _b, _c;
18
+ try {
19
+ let invocationParameters;
20
+ if (prompt.invocation_parameters.type === "openai") {
21
+ invocationParameters = prompt.invocation_parameters.openai;
22
+ }
23
+ else {
24
+ // eslint-disable-next-line no-console
25
+ console.warn("Prompt is not an OpenAI prompt, falling back to default OpenAI invocation parameters");
26
+ invocationParameters = {};
27
+ }
28
+ // parts of the prompt that can be directly converted to OpenAI params
29
+ const baseCompletionParams = Object.assign({ model: prompt.model_name }, invocationParameters);
30
+ if (!("messages" in prompt.template)) {
31
+ return null;
32
+ }
33
+ let formattedMessages = prompt.template.messages;
34
+ if (variables) {
35
+ formattedMessages = (0, formatPromptMessages_1.formatPromptMessages)(prompt.template_format, formattedMessages, variables);
36
+ }
37
+ const messages = formattedMessages.map((message) => {
38
+ const openAIMessage = (0, converters_1.safelyConvertMessageToProvider)({
39
+ message,
40
+ targetProvider: "OPENAI",
41
+ });
42
+ (0, tiny_invariant_1.default)(openAIMessage, "Message is not valid");
43
+ return openAIMessage;
44
+ });
45
+ let tools = (_a = prompt.tools) === null || _a === void 0 ? void 0 : _a.tools.map((tool) => {
46
+ const openAIToolDefinition = (0, converters_1.safelyConvertToolDefinitionToProvider)({
47
+ toolDefinition: tool,
48
+ targetProvider: "OPENAI",
49
+ });
50
+ (0, tiny_invariant_1.default)(openAIToolDefinition, "Tool definition is not valid");
51
+ return openAIToolDefinition;
52
+ });
53
+ tools = ((_b = tools === null || tools === void 0 ? void 0 : tools.length) !== null && _b !== void 0 ? _b : 0) > 0 ? tools : undefined;
54
+ let tool_choice = (0, converters_1.safelyConvertToolChoiceToProvider)({
55
+ toolChoice: (_c = prompt === null || prompt === void 0 ? void 0 : prompt.tools) === null || _c === void 0 ? void 0 : _c.tool_choice,
56
+ targetProvider: "OPENAI",
57
+ }) || undefined;
58
+ tool_choice = (tools === null || tools === void 0 ? void 0 : tools.length) ? tool_choice : undefined;
59
+ const response_format = prompt.response_format
60
+ ? converters_2.phoenixResponseFormatToOpenAI.parse(prompt.response_format)
61
+ : undefined;
62
+ // combine base and computed params
63
+ const completionParams = Object.assign(Object.assign({}, baseCompletionParams), { messages,
64
+ tools,
65
+ tool_choice,
66
+ response_format });
67
+ return completionParams;
68
+ }
69
+ catch (e) {
70
+ // eslint-disable-next-line no-console
71
+ console.warn(`Failed to convert prompt to OpenAI params`);
72
+ // eslint-disable-next-line no-console
73
+ console.error(e);
74
+ return null;
75
+ }
76
+ };
77
+ exports.toOpenAI = toOpenAI;
78
+ //# sourceMappingURL=toOpenAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toOpenAI.js","sourceRoot":"","sources":["../../../../src/prompts/sdks/toOpenAI.ts"],"names":[],"mappings":";;;;;;AAOA,2EAAwE;AACxE,6DAIsC;AACtC,oEAAuC;AAEvC,2EAA2F;AAW3F;;;;GAIG;AACI,MAAM,QAAQ,GAAG,CAAkC,EACxD,MAAM,EACN,SAAS,GACS,EAAqC,EAAE;;IACzD,IAAI,CAAC;QACH,IAAI,oBAAyD,CAAC;QAC9D,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,oBAAoB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,sFAAsF,CACvF,CAAC;YACF,oBAAoB,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,sEAAsE;QACtE,MAAM,oBAAoB,GAAG,gBAC3B,KAAK,EAAE,MAAM,CAAC,UAAU,IAErB,oBAAoB,CACsB,CAAC;QAEhD,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEjD,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,GAAG,IAAA,2CAAoB,EACtC,MAAM,CAAC,eAAe,EACtB,iBAAiB,EACjB,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,MAAM,aAAa,GAAG,IAAA,2CAA8B,EAAC;gBACnD,OAAO;gBACP,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;YACjD,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,oBAAoB,GAAG,IAAA,kDAAqC,EAAC;gBACjE,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,oBAAoB,EAAE,8BAA8B,CAAC,CAAC;YAChE,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,IAAI,WAAW,GACb,IAAA,8CAAiC,EAAC;YAChC,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,WAAW;YACtC,cAAc,EAAE,QAAQ;SACzB,CAAC,IAAI,SAAS,CAAC;QAClB,WAAW,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe;YAC5C,CAAC,CAAC,0CAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QAEd,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,gCACpB,oBAAoB,KACvB,QAAQ;YACR,KAAK;YACL,WAAW;YACX,eAAe,GAC8B,CAAC;QAEhD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAnFW,QAAA,QAAQ,YAmFnB"}
@@ -0,0 +1,47 @@
1
+ import { SupportedSDK, Variables, toSDKParamsBase } from "./types";
2
+ /**
3
+ * Parameters for an SDK conversion function
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * const params: SDKParams<"openai"> = { ... }
8
+ * toOpenAI(params)
9
+ * ```
10
+ */
11
+ export type SDKParams<T extends SupportedSDK> = Parameters<(typeof PROVIDER_TO_SDK)[T]>[number] extends toSDKParamsBase ? Parameters<(typeof PROVIDER_TO_SDK)[T]>[number] : never;
12
+ /**
13
+ * Map of SDK names to their corresponding conversion functions
14
+ */
15
+ declare const PROVIDER_TO_SDK: {
16
+ openai: <V extends Variables = Variables>({ prompt, variables, }: import("./toOpenAI").ToOpenAIParams<V>) => import("openai/resources/chat/completions").ChatCompletionCreateParams | null;
17
+ anthropic: <V extends Variables = Variables>({ prompt, variables, }: import("./toAnthropic").ToAnthropicParams<V>) => import("@anthropic-ai/sdk/resources/messages/messages").MessageCreateParams | null;
18
+ ai: <V extends Variables>({ prompt, variables, }: import("./toAI").ToAIParams<V>) => import("./toAI").PartialStreamTextParams | null;
19
+ };
20
+ /**
21
+ * Parameters specific to the toSDK function
22
+ */
23
+ type ToSDKParams<T extends SupportedSDK, V extends Variables = Variables> = {
24
+ /**
25
+ * String representing the SDK to convert to
26
+ */
27
+ sdk: T;
28
+ /**
29
+ * Optional variables to format the prompt with
30
+ * Keys are the variable names, values are the variable values
31
+ * The variable format is determined via prompt.template_format
32
+ */
33
+ variables?: V;
34
+ };
35
+ /**
36
+ * Convert a Phoenix prompt to a specific SDK's parameters
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const prompt = await getPrompt({ prompt: { name: "my-prompt" } });
41
+ * const openaiParams = toSDK({ sdk: "openai", prompt });
42
+ * const response = await openai.chat.completions.create(openaiParams);
43
+ * ```
44
+ */
45
+ export declare const toSDK: <T extends SupportedSDK, V extends Variables = Variables>({ sdk: _sdk, ...rest }: ToSDKParams<T, V> & SDKParams<T>) => ReturnType<(typeof PROVIDER_TO_SDK)[T]>;
46
+ export {};
47
+ //# sourceMappingURL=toSDK.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toSDK.d.ts","sourceRoot":"","sources":["../../../../src/prompts/sdks/toSDK.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,YAAY,IAAI,UAAU,CACxD,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAC5B,CAAC,MAAM,CAAC,SAAS,eAAe,GAC7B,UAAU,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAC/C,KAAK,CAAC;AAEV;;GAEG;AACH,QAAA,MAAM,eAAe;;;;CAIpB,CAAC;AAkBF;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IAC1E;;OAEG;IACH,GAAG,EAAE,CAAC,CAAC;IACP;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,SAAS,sCAG9D,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAGV,UAAU,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAC9D,CAAC"}