@leaflow/sdk 0.0.0-dev.523.gcaeef48 → 0.0.0-dev.529.g6a1b7de

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 (399) hide show
  1. package/dist/assistant/v1/generated/functions.d.ts +243 -67
  2. package/dist/assistant/v1/generated/functions.js +248 -44
  3. package/dist/assistant/v1/generated/models.d.ts +302 -230
  4. package/dist/assistant/v1/generated/models.js +9 -19
  5. package/dist/assistant/v1/generated/schemas.zod.d.ts +119 -29
  6. package/dist/assistant/v1/generated/schemas.zod.js +139 -29
  7. package/dist/assistant/v1/generated/validators/answerQuestionRequestBody.zod.d.ts +4 -3
  8. package/dist/assistant/v1/generated/validators/answerQuestionRequestBody.zod.js +4 -3
  9. package/dist/assistant/v1/generated/validators/approvalMode.zod.d.ts +4 -3
  10. package/dist/assistant/v1/generated/validators/approvalMode.zod.js +4 -3
  11. package/dist/assistant/v1/generated/validators/artifactListResponseBody.zod.d.ts +68 -0
  12. package/dist/assistant/v1/generated/validators/artifactListResponseBody.zod.js +35 -0
  13. package/dist/assistant/v1/generated/validators/artifactResource.zod.d.ts +65 -0
  14. package/dist/assistant/v1/generated/validators/{attachmentResource.zod.js → artifactResource.zod.js} +13 -14
  15. package/dist/assistant/v1/generated/validators/artifactVersionListResponseBody.zod.d.ts +61 -0
  16. package/dist/assistant/v1/generated/validators/artifactVersionListResponseBody.zod.js +35 -0
  17. package/dist/assistant/v1/generated/validators/{uploadedResource.zod.d.ts → artifactVersionResource.zod.d.ts} +30 -16
  18. package/dist/assistant/v1/generated/validators/{attachmentFileResource.zod.js → artifactVersionResource.zod.js} +23 -16
  19. package/dist/assistant/v1/generated/validators/bindingCodeResponseBody.zod.d.ts +4 -3
  20. package/dist/assistant/v1/generated/validators/bindingCodeResponseBody.zod.js +4 -3
  21. package/dist/assistant/v1/generated/validators/bindingResource.zod.d.ts +4 -3
  22. package/dist/assistant/v1/generated/validators/bindingResource.zod.js +4 -3
  23. package/dist/assistant/v1/generated/validators/channelResource.zod.d.ts +4 -3
  24. package/dist/assistant/v1/generated/validators/channelResource.zod.js +4 -3
  25. package/dist/assistant/v1/generated/validators/channelWithSecretResponseBody.zod.d.ts +4 -3
  26. package/dist/assistant/v1/generated/validators/channelWithSecretResponseBody.zod.js +4 -3
  27. package/dist/assistant/v1/generated/validators/checkSenderParams.zod.d.ts +4 -3
  28. package/dist/assistant/v1/generated/validators/checkSenderParams.zod.js +4 -3
  29. package/dist/assistant/v1/generated/validators/choiceResource.zod.d.ts +4 -3
  30. package/dist/assistant/v1/generated/validators/choiceResource.zod.js +4 -3
  31. package/dist/assistant/v1/generated/validators/clientActionRequest.zod.d.ts +4 -3
  32. package/dist/assistant/v1/generated/validators/clientActionRequest.zod.js +4 -3
  33. package/dist/assistant/v1/generated/validators/clientContextPart.zod.d.ts +4 -3
  34. package/dist/assistant/v1/generated/validators/clientContextPart.zod.js +4 -3
  35. package/dist/assistant/v1/generated/validators/clientContextRequest.zod.d.ts +4 -3
  36. package/dist/assistant/v1/generated/validators/clientContextRequest.zod.js +4 -3
  37. package/dist/assistant/v1/generated/validators/clientFunctionRequest.zod.d.ts +4 -3
  38. package/dist/assistant/v1/generated/validators/clientFunctionRequest.zod.js +4 -3
  39. package/dist/assistant/v1/generated/validators/completeUploadRequestBody.zod.d.ts +4 -3
  40. package/dist/assistant/v1/generated/validators/completeUploadRequestBody.zod.js +4 -3
  41. package/dist/assistant/v1/generated/validators/contextUsageResource.zod.d.ts +4 -3
  42. package/dist/assistant/v1/generated/validators/contextUsageResource.zod.js +4 -3
  43. package/dist/assistant/v1/generated/validators/createArtifactRequestBody.zod.d.ts +38 -0
  44. package/dist/assistant/v1/generated/validators/createArtifactRequestBody.zod.js +36 -0
  45. package/dist/assistant/v1/generated/validators/createArtifactVersionRequestBody.zod.d.ts +36 -0
  46. package/dist/assistant/v1/generated/validators/createArtifactVersionRequestBody.zod.js +34 -0
  47. package/dist/assistant/v1/generated/validators/createChannelRequestBody.zod.d.ts +4 -3
  48. package/dist/assistant/v1/generated/validators/createChannelRequestBody.zod.js +4 -3
  49. package/dist/assistant/v1/generated/validators/createFolderRequestBody.zod.d.ts +4 -3
  50. package/dist/assistant/v1/generated/validators/createFolderRequestBody.zod.js +4 -3
  51. package/dist/assistant/v1/generated/validators/createTaskRequestBody.zod.d.ts +4 -3
  52. package/dist/assistant/v1/generated/validators/createTaskRequestBody.zod.js +4 -3
  53. package/dist/assistant/v1/generated/validators/createThreadRequestBody.zod.d.ts +5 -4
  54. package/dist/assistant/v1/generated/validators/createThreadRequestBody.zod.js +4 -3
  55. package/dist/assistant/v1/generated/validators/createThreadResponseBody.zod.d.ts +4 -3
  56. package/dist/assistant/v1/generated/validators/createThreadResponseBody.zod.js +4 -3
  57. package/dist/assistant/v1/generated/validators/createUploadRequestBody.zod.d.ts +4 -3
  58. package/dist/assistant/v1/generated/validators/createUploadRequestBody.zod.js +4 -3
  59. package/dist/assistant/v1/generated/validators/credentialFieldResource.zod.d.ts +4 -3
  60. package/dist/assistant/v1/generated/validators/credentialFieldResource.zod.js +4 -3
  61. package/dist/assistant/v1/generated/validators/cursorPagination.zod.d.ts +4 -3
  62. package/dist/assistant/v1/generated/validators/cursorPagination.zod.js +4 -3
  63. package/dist/assistant/v1/generated/validators/decideToolCallsRequestBody.zod.d.ts +4 -3
  64. package/dist/assistant/v1/generated/validators/decideToolCallsRequestBody.zod.js +4 -3
  65. package/dist/assistant/v1/generated/validators/defaultModelResource.zod.d.ts +4 -3
  66. package/dist/assistant/v1/generated/validators/defaultModelResource.zod.js +4 -3
  67. package/dist/assistant/v1/generated/validators/error.zod.d.ts +4 -3
  68. package/dist/assistant/v1/generated/validators/error.zod.js +4 -3
  69. package/dist/assistant/v1/generated/validators/errorStatus.zod.d.ts +4 -3
  70. package/dist/assistant/v1/generated/validators/errorStatus.zod.js +4 -3
  71. package/dist/assistant/v1/generated/validators/fieldViolation.zod.d.ts +4 -3
  72. package/dist/assistant/v1/generated/validators/fieldViolation.zod.js +4 -3
  73. package/dist/assistant/v1/generated/validators/{attachmentCountsResource.zod.d.ts → fileCountsResource.zod.d.ts} +7 -6
  74. package/dist/assistant/v1/generated/validators/{attachmentCountsResource.zod.js → fileCountsResource.zod.js} +5 -4
  75. package/dist/assistant/v1/generated/validators/fileDiffResource.zod.d.ts +4 -3
  76. package/dist/assistant/v1/generated/validators/fileDiffResource.zod.js +4 -3
  77. package/dist/assistant/v1/generated/validators/{attachmentListResponseBody.zod.d.ts → fileListResponseBody.zod.d.ts} +15 -14
  78. package/dist/assistant/v1/generated/validators/{attachmentListResponseBody.zod.js → fileListResponseBody.zod.js} +9 -8
  79. package/dist/assistant/v1/generated/validators/{attachmentFileResource.zod.d.ts → fileResource.zod.d.ts} +14 -13
  80. package/dist/assistant/v1/generated/validators/{uploadedResource.zod.js → fileResource.zod.js} +25 -15
  81. package/dist/assistant/v1/generated/validators/folderCountsResource.zod.d.ts +4 -3
  82. package/dist/assistant/v1/generated/validators/folderCountsResource.zod.js +4 -3
  83. package/dist/assistant/v1/generated/validators/folderListResponseBody.zod.d.ts +4 -3
  84. package/dist/assistant/v1/generated/validators/folderListResponseBody.zod.js +4 -3
  85. package/dist/assistant/v1/generated/validators/folderResource.zod.d.ts +4 -3
  86. package/dist/assistant/v1/generated/validators/folderResource.zod.js +4 -3
  87. package/dist/assistant/v1/generated/validators/itemSourceResource.zod.d.ts +4 -3
  88. package/dist/assistant/v1/generated/validators/itemSourceResource.zod.js +4 -3
  89. package/dist/assistant/v1/generated/validators/lastTurnResource.zod.d.ts +4 -3
  90. package/dist/assistant/v1/generated/validators/lastTurnResource.zod.js +4 -3
  91. package/dist/assistant/v1/generated/validators/lengthAwarePageBindingResource.zod.d.ts +4 -3
  92. package/dist/assistant/v1/generated/validators/lengthAwarePageBindingResource.zod.js +4 -3
  93. package/dist/assistant/v1/generated/validators/lengthAwarePageChannelResource.zod.d.ts +4 -3
  94. package/dist/assistant/v1/generated/validators/lengthAwarePageChannelResource.zod.js +4 -3
  95. package/dist/assistant/v1/generated/validators/listArtifactVersionsParams.zod.d.ts +39 -0
  96. package/dist/assistant/v1/generated/validators/listArtifactVersionsParams.zod.js +41 -0
  97. package/dist/assistant/v1/generated/validators/listArtifactsParams.zod.d.ts +41 -0
  98. package/dist/assistant/v1/generated/validators/listArtifactsParams.zod.js +39 -0
  99. package/dist/assistant/v1/generated/validators/listBindingsParams.zod.d.ts +4 -3
  100. package/dist/assistant/v1/generated/validators/listBindingsParams.zod.js +4 -3
  101. package/dist/assistant/v1/generated/validators/listChannelRejectionsParams.zod.d.ts +4 -3
  102. package/dist/assistant/v1/generated/validators/listChannelRejectionsParams.zod.js +4 -3
  103. package/dist/assistant/v1/generated/validators/listChannelsParams.zod.d.ts +4 -3
  104. package/dist/assistant/v1/generated/validators/listChannelsParams.zod.js +4 -3
  105. package/dist/assistant/v1/generated/validators/listTaskRunsParams.zod.d.ts +4 -3
  106. package/dist/assistant/v1/generated/validators/listTaskRunsParams.zod.js +4 -3
  107. package/dist/assistant/v1/generated/validators/listThreadItemsParams.zod.d.ts +4 -3
  108. package/dist/assistant/v1/generated/validators/listThreadItemsParams.zod.js +4 -3
  109. package/dist/assistant/v1/generated/validators/listThreadMessagesParams.zod.d.ts +4 -3
  110. package/dist/assistant/v1/generated/validators/listThreadMessagesParams.zod.js +4 -3
  111. package/dist/assistant/v1/generated/validators/listThreadTurnsParams.zod.d.ts +4 -3
  112. package/dist/assistant/v1/generated/validators/listThreadTurnsParams.zod.js +4 -3
  113. package/dist/assistant/v1/generated/validators/loginResource.zod.d.ts +4 -3
  114. package/dist/assistant/v1/generated/validators/loginResource.zod.js +4 -3
  115. package/dist/assistant/v1/generated/validators/memoryListResponseBody.zod.d.ts +4 -3
  116. package/dist/assistant/v1/generated/validators/memoryListResponseBody.zod.js +4 -3
  117. package/dist/assistant/v1/generated/validators/memoryResource.zod.d.ts +4 -3
  118. package/dist/assistant/v1/generated/validators/memoryResource.zod.js +4 -3
  119. package/dist/assistant/v1/generated/validators/messagePart.zod.d.ts +5 -4
  120. package/dist/assistant/v1/generated/validators/messagePart.zod.js +7 -6
  121. package/dist/assistant/v1/generated/validators/moveFolderRequestBody.zod.d.ts +4 -3
  122. package/dist/assistant/v1/generated/validators/moveFolderRequestBody.zod.js +4 -3
  123. package/dist/assistant/v1/generated/validators/offsetPagination.zod.d.ts +4 -3
  124. package/dist/assistant/v1/generated/validators/offsetPagination.zod.js +4 -3
  125. package/dist/assistant/v1/generated/validators/partResource.zod.d.ts +20 -4
  126. package/dist/assistant/v1/generated/validators/partResource.zod.js +8 -7
  127. package/dist/assistant/v1/generated/validators/pendingActionResource.zod.d.ts +4 -3
  128. package/dist/assistant/v1/generated/validators/pendingActionResource.zod.js +4 -3
  129. package/dist/assistant/v1/generated/validators/placeThreadRequestBody.zod.d.ts +4 -3
  130. package/dist/assistant/v1/generated/validators/placeThreadRequestBody.zod.js +4 -3
  131. package/dist/assistant/v1/generated/validators/platformListResponseBody.zod.d.ts +4 -3
  132. package/dist/assistant/v1/generated/validators/platformListResponseBody.zod.js +4 -3
  133. package/dist/assistant/v1/generated/validators/platformResource.zod.d.ts +4 -3
  134. package/dist/assistant/v1/generated/validators/platformResource.zod.js +4 -3
  135. package/dist/assistant/v1/generated/validators/presentationResource.zod.d.ts +4 -3
  136. package/dist/assistant/v1/generated/validators/presentationResource.zod.js +4 -3
  137. package/dist/assistant/v1/generated/validators/putUploadPartHeaders.zod.d.ts +4 -3
  138. package/dist/assistant/v1/generated/validators/putUploadPartHeaders.zod.js +4 -3
  139. package/dist/assistant/v1/generated/validators/putUploadPartParams.zod.d.ts +4 -3
  140. package/dist/assistant/v1/generated/validators/putUploadPartParams.zod.js +4 -3
  141. package/dist/assistant/v1/generated/validators/questionResource.zod.d.ts +4 -3
  142. package/dist/assistant/v1/generated/validators/questionResource.zod.js +4 -3
  143. package/dist/assistant/v1/generated/validators/reasoningEffort.zod.d.ts +4 -3
  144. package/dist/assistant/v1/generated/validators/reasoningEffort.zod.js +4 -3
  145. package/dist/assistant/v1/generated/validators/rejectionListResponseBody.zod.d.ts +4 -3
  146. package/dist/assistant/v1/generated/validators/rejectionListResponseBody.zod.js +4 -3
  147. package/dist/assistant/v1/generated/validators/rejectionResource.zod.d.ts +4 -3
  148. package/dist/assistant/v1/generated/validators/rejectionResource.zod.js +4 -3
  149. package/dist/assistant/v1/generated/validators/resumeThreadRequestBody.zod.d.ts +4 -3
  150. package/dist/assistant/v1/generated/validators/resumeThreadRequestBody.zod.js +4 -3
  151. package/dist/assistant/v1/generated/validators/revertRequestBody.zod.d.ts +4 -3
  152. package/dist/assistant/v1/generated/validators/revertRequestBody.zod.js +4 -3
  153. package/dist/assistant/v1/generated/validators/revertedCountResponseBody.zod.d.ts +4 -3
  154. package/dist/assistant/v1/generated/validators/revertedCountResponseBody.zod.js +4 -3
  155. package/dist/assistant/v1/generated/validators/rotateSecretRequestBody.zod.d.ts +4 -3
  156. package/dist/assistant/v1/generated/validators/rotateSecretRequestBody.zod.js +4 -3
  157. package/dist/assistant/v1/generated/validators/{searchAttachmentsRequestBody.zod.d.ts → searchFilesRequestBody.zod.d.ts} +12 -11
  158. package/dist/assistant/v1/generated/validators/{searchAttachmentsRequestBody.zod.js → searchFilesRequestBody.zod.js} +17 -16
  159. package/dist/assistant/v1/generated/validators/searchTasksRequestBody.zod.d.ts +4 -3
  160. package/dist/assistant/v1/generated/validators/searchTasksRequestBody.zod.js +4 -3
  161. package/dist/assistant/v1/generated/validators/searchThreadsRequestBody.zod.d.ts +4 -3
  162. package/dist/assistant/v1/generated/validators/searchThreadsRequestBody.zod.js +4 -3
  163. package/dist/assistant/v1/generated/validators/sendMessageRequestBody.zod.d.ts +5 -4
  164. package/dist/assistant/v1/generated/validators/sendMessageRequestBody.zod.js +4 -3
  165. package/dist/assistant/v1/generated/validators/sendMessageResponseBody.zod.d.ts +4 -3
  166. package/dist/assistant/v1/generated/validators/sendMessageResponseBody.zod.js +4 -3
  167. package/dist/assistant/v1/generated/validators/senderCheckResource.zod.d.ts +4 -3
  168. package/dist/assistant/v1/generated/validators/senderCheckResource.zod.js +4 -3
  169. package/dist/assistant/v1/generated/validators/settingsResource.zod.d.ts +4 -3
  170. package/dist/assistant/v1/generated/validators/settingsResource.zod.js +4 -3
  171. package/dist/assistant/v1/generated/validators/skillEnabledRequestBody.zod.d.ts +4 -3
  172. package/dist/assistant/v1/generated/validators/skillEnabledRequestBody.zod.js +4 -3
  173. package/dist/assistant/v1/generated/validators/skillListResponseBody.zod.d.ts +4 -3
  174. package/dist/assistant/v1/generated/validators/skillListResponseBody.zod.js +4 -3
  175. package/dist/assistant/v1/generated/validators/skillRequestBody.zod.d.ts +4 -3
  176. package/dist/assistant/v1/generated/validators/skillRequestBody.zod.js +4 -3
  177. package/dist/assistant/v1/generated/validators/skillResource.zod.d.ts +4 -3
  178. package/dist/assistant/v1/generated/validators/skillResource.zod.js +4 -3
  179. package/dist/assistant/v1/generated/validators/subagentCountResource.zod.d.ts +4 -3
  180. package/dist/assistant/v1/generated/validators/subagentCountResource.zod.js +4 -3
  181. package/dist/assistant/v1/generated/validators/taskAction.zod.d.ts +4 -3
  182. package/dist/assistant/v1/generated/validators/taskAction.zod.js +4 -3
  183. package/dist/assistant/v1/generated/validators/taskListResponseBody.zod.d.ts +4 -3
  184. package/dist/assistant/v1/generated/validators/taskListResponseBody.zod.js +4 -3
  185. package/dist/assistant/v1/generated/validators/taskResource.zod.d.ts +4 -3
  186. package/dist/assistant/v1/generated/validators/taskResource.zod.js +4 -3
  187. package/dist/assistant/v1/generated/validators/taskRunEvent.zod.d.ts +4 -3
  188. package/dist/assistant/v1/generated/validators/taskRunEvent.zod.js +4 -3
  189. package/dist/assistant/v1/generated/validators/taskRunListResponseBody.zod.d.ts +4 -3
  190. package/dist/assistant/v1/generated/validators/taskRunListResponseBody.zod.js +4 -3
  191. package/dist/assistant/v1/generated/validators/taskRunResource.zod.d.ts +4 -3
  192. package/dist/assistant/v1/generated/validators/taskRunResource.zod.js +4 -3
  193. package/dist/assistant/v1/generated/validators/taskTrigger.zod.d.ts +4 -3
  194. package/dist/assistant/v1/generated/validators/taskTrigger.zod.js +4 -3
  195. package/dist/assistant/v1/generated/validators/threadCountsResource.zod.d.ts +4 -3
  196. package/dist/assistant/v1/generated/validators/threadCountsResource.zod.js +4 -3
  197. package/dist/assistant/v1/generated/validators/threadItemListResponseBody.zod.d.ts +120 -29
  198. package/dist/assistant/v1/generated/validators/threadItemListResponseBody.zod.js +4 -3
  199. package/dist/assistant/v1/generated/validators/threadItemResource.zod.d.ts +62 -16
  200. package/dist/assistant/v1/generated/validators/threadItemResource.zod.js +5 -6
  201. package/dist/assistant/v1/generated/validators/threadListResponseBody.zod.d.ts +4 -3
  202. package/dist/assistant/v1/generated/validators/threadListResponseBody.zod.js +4 -3
  203. package/dist/assistant/v1/generated/validators/threadMessageListResponseBody.zod.d.ts +4 -3
  204. package/dist/assistant/v1/generated/validators/threadMessageListResponseBody.zod.js +4 -3
  205. package/dist/assistant/v1/generated/validators/threadMessageResource.zod.d.ts +4 -3
  206. package/dist/assistant/v1/generated/validators/threadMessageResource.zod.js +4 -3
  207. package/dist/assistant/v1/generated/validators/threadResource.zod.d.ts +4 -3
  208. package/dist/assistant/v1/generated/validators/threadResource.zod.js +4 -3
  209. package/dist/assistant/v1/generated/validators/threadStatus.zod.d.ts +4 -3
  210. package/dist/assistant/v1/generated/validators/threadStatus.zod.js +4 -3
  211. package/dist/assistant/v1/generated/validators/threadTurnListResponseBody.zod.d.ts +4 -3
  212. package/dist/assistant/v1/generated/validators/threadTurnListResponseBody.zod.js +4 -3
  213. package/dist/assistant/v1/generated/validators/threadTurnResource.zod.d.ts +4 -3
  214. package/dist/assistant/v1/generated/validators/threadTurnResource.zod.js +4 -3
  215. package/dist/assistant/v1/generated/validators/todoResource.zod.d.ts +4 -3
  216. package/dist/assistant/v1/generated/validators/todoResource.zod.js +4 -3
  217. package/dist/assistant/v1/generated/validators/toolCallResource.zod.d.ts +46 -3
  218. package/dist/assistant/v1/generated/validators/toolCallResource.zod.js +12 -3
  219. package/dist/assistant/v1/generated/validators/toolResultRequestBody.zod.d.ts +4 -3
  220. package/dist/assistant/v1/generated/validators/toolResultRequestBody.zod.js +4 -3
  221. package/dist/assistant/v1/generated/validators/turnStartedResponseBody.zod.d.ts +4 -3
  222. package/dist/assistant/v1/generated/validators/turnStartedResponseBody.zod.js +4 -3
  223. package/dist/assistant/v1/generated/validators/turnStatus.zod.d.ts +4 -3
  224. package/dist/assistant/v1/generated/validators/turnStatus.zod.js +4 -3
  225. package/dist/assistant/v1/generated/validators/turnType.zod.d.ts +4 -3
  226. package/dist/assistant/v1/generated/validators/turnType.zod.js +4 -3
  227. package/dist/assistant/v1/generated/validators/{attachmentResource.zod.d.ts → updateArtifactRequestBody.zod.d.ts} +9 -16
  228. package/dist/assistant/v1/generated/validators/updateArtifactRequestBody.zod.js +34 -0
  229. package/dist/assistant/v1/generated/validators/updateChannelRequestBody.zod.d.ts +4 -3
  230. package/dist/assistant/v1/generated/validators/updateChannelRequestBody.zod.js +4 -3
  231. package/dist/assistant/v1/generated/validators/{updateAttachmentRequestBody.zod.d.ts → updateFileRequestBody.zod.d.ts} +8 -7
  232. package/dist/assistant/v1/generated/validators/{updateAttachmentRequestBody.zod.js → updateFileRequestBody.zod.js} +7 -6
  233. package/dist/assistant/v1/generated/validators/updateFolderRequestBody.zod.d.ts +4 -3
  234. package/dist/assistant/v1/generated/validators/updateFolderRequestBody.zod.js +4 -3
  235. package/dist/assistant/v1/generated/validators/updateSettingsRequestBody.zod.d.ts +4 -3
  236. package/dist/assistant/v1/generated/validators/updateSettingsRequestBody.zod.js +4 -3
  237. package/dist/assistant/v1/generated/validators/updateTaskRequestBody.zod.d.ts +4 -3
  238. package/dist/assistant/v1/generated/validators/updateTaskRequestBody.zod.js +4 -3
  239. package/dist/assistant/v1/generated/validators/updateThreadRequestBody.zod.d.ts +4 -3
  240. package/dist/assistant/v1/generated/validators/updateThreadRequestBody.zod.js +4 -3
  241. package/dist/assistant/v1/generated/validators/updateUploadRequestBody.zod.d.ts +4 -3
  242. package/dist/assistant/v1/generated/validators/updateUploadRequestBody.zod.js +4 -3
  243. package/dist/assistant/v1/generated/validators/uploadConfigurationResource.zod.d.ts +4 -3
  244. package/dist/assistant/v1/generated/validators/uploadConfigurationResource.zod.js +4 -3
  245. package/dist/assistant/v1/generated/validators/{uploadAttachmentParams.zod.d.ts → uploadFileParams.zod.d.ts} +8 -7
  246. package/dist/assistant/v1/generated/validators/{uploadAttachmentParams.zod.js → uploadFileParams.zod.js} +7 -6
  247. package/dist/assistant/v1/generated/validators/uploadListResponseBody.zod.d.ts +5 -4
  248. package/dist/assistant/v1/generated/validators/uploadListResponseBody.zod.js +4 -3
  249. package/dist/assistant/v1/generated/validators/uploadPartResource.zod.d.ts +4 -3
  250. package/dist/assistant/v1/generated/validators/uploadPartResource.zod.js +4 -3
  251. package/dist/assistant/v1/generated/validators/uploadResource.zod.d.ts +5 -4
  252. package/dist/assistant/v1/generated/validators/uploadResource.zod.js +8 -4
  253. package/dist/assistant/v1/generated/validators/usage.zod.d.ts +4 -3
  254. package/dist/assistant/v1/generated/validators/usage.zod.js +4 -3
  255. package/dist/assistant/v1/generated/validators/verifyCodeRequestBody.zod.d.ts +4 -3
  256. package/dist/assistant/v1/generated/validators/verifyCodeRequestBody.zod.js +4 -3
  257. package/dist/assistant/v1/generated/validators/webhookSecretResponseBody.zod.d.ts +4 -3
  258. package/dist/assistant/v1/generated/validators/webhookSecretResponseBody.zod.js +4 -3
  259. package/dist/canopy/v1/generated/functions.d.ts +19 -50
  260. package/dist/canopy/v1/generated/functions.js +4 -34
  261. package/dist/canopy/v1/generated/models.d.ts +38 -64
  262. package/dist/canopy/v1/generated/models.js +0 -26
  263. package/dist/canopy/v1/generated/schemas.zod.d.ts +18 -21
  264. package/dist/canopy/v1/generated/schemas.zod.js +18 -21
  265. package/dist/canopy/v1/generated/validators/aPIKeyResource.zod.d.ts +14 -5
  266. package/dist/canopy/v1/generated/validators/aPIKeyResource.zod.js +14 -5
  267. package/dist/canopy/v1/generated/validators/aPIKeyUsageListResponseBody.zod.d.ts +14 -5
  268. package/dist/canopy/v1/generated/validators/aPIKeyUsageListResponseBody.zod.js +14 -5
  269. package/dist/canopy/v1/generated/validators/aPIKeyUsageResource.zod.d.ts +14 -5
  270. package/dist/canopy/v1/generated/validators/aPIKeyUsageResource.zod.js +14 -5
  271. package/dist/canopy/v1/generated/validators/audioCapabilities.zod.d.ts +14 -5
  272. package/dist/canopy/v1/generated/validators/audioCapabilities.zod.js +18 -9
  273. package/dist/canopy/v1/generated/validators/chatCompletion.zod.d.ts +14 -5
  274. package/dist/canopy/v1/generated/validators/chatCompletion.zod.js +14 -5
  275. package/dist/canopy/v1/generated/validators/chatCompletionRequest.zod.d.ts +14 -5
  276. package/dist/canopy/v1/generated/validators/chatCompletionRequest.zod.js +14 -5
  277. package/dist/canopy/v1/generated/validators/checkoutMode.zod.d.ts +14 -5
  278. package/dist/canopy/v1/generated/validators/checkoutMode.zod.js +14 -5
  279. package/dist/canopy/v1/generated/validators/checkoutOptions.zod.d.ts +14 -5
  280. package/dist/canopy/v1/generated/validators/checkoutOptions.zod.js +14 -5
  281. package/dist/canopy/v1/generated/validators/createAPIKeyRequestBody.zod.d.ts +14 -5
  282. package/dist/canopy/v1/generated/validators/createAPIKeyRequestBody.zod.js +14 -5
  283. package/dist/canopy/v1/generated/validators/createServiceRequestBody.zod.d.ts +14 -5
  284. package/dist/canopy/v1/generated/validators/createServiceRequestBody.zod.js +14 -5
  285. package/dist/canopy/v1/generated/validators/createServiceResponseBody.zod.d.ts +14 -5
  286. package/dist/canopy/v1/generated/validators/createServiceResponseBody.zod.js +14 -5
  287. package/dist/canopy/v1/generated/validators/cursorPageRequestResource.zod.d.ts +14 -5
  288. package/dist/canopy/v1/generated/validators/cursorPageRequestResource.zod.js +14 -5
  289. package/dist/canopy/v1/generated/validators/cursorPagination.zod.d.ts +14 -5
  290. package/dist/canopy/v1/generated/validators/cursorPagination.zod.js +14 -5
  291. package/dist/canopy/v1/generated/validators/embeddingRequest.zod.d.ts +14 -5
  292. package/dist/canopy/v1/generated/validators/embeddingRequest.zod.js +14 -5
  293. package/dist/canopy/v1/generated/validators/embeddingResponse.zod.d.ts +14 -5
  294. package/dist/canopy/v1/generated/validators/embeddingResponse.zod.js +14 -5
  295. package/dist/canopy/v1/generated/validators/error.zod.d.ts +14 -5
  296. package/dist/canopy/v1/generated/validators/error.zod.js +14 -5
  297. package/dist/canopy/v1/generated/validators/errorStatus.zod.d.ts +14 -5
  298. package/dist/canopy/v1/generated/validators/errorStatus.zod.js +14 -5
  299. package/dist/canopy/v1/generated/validators/fieldViolation.zod.d.ts +14 -5
  300. package/dist/canopy/v1/generated/validators/fieldViolation.zod.js +14 -5
  301. package/dist/canopy/v1/generated/validators/getUsageSummaryParams.zod.d.ts +14 -5
  302. package/dist/canopy/v1/generated/validators/getUsageSummaryParams.zod.js +14 -5
  303. package/dist/canopy/v1/generated/validators/getUsageTimelineParams.zod.d.ts +14 -5
  304. package/dist/canopy/v1/generated/validators/getUsageTimelineParams.zod.js +14 -5
  305. package/dist/canopy/v1/generated/validators/getVideoContentHeaders.zod.d.ts +14 -5
  306. package/dist/canopy/v1/generated/validators/getVideoContentHeaders.zod.js +14 -5
  307. package/dist/canopy/v1/generated/validators/imageCapabilities.zod.d.ts +14 -5
  308. package/dist/canopy/v1/generated/validators/imageCapabilities.zod.js +16 -7
  309. package/dist/canopy/v1/generated/validators/inferenceError.zod.d.ts +14 -5
  310. package/dist/canopy/v1/generated/validators/inferenceError.zod.js +14 -5
  311. package/dist/canopy/v1/generated/validators/issuedAPIKeyResource.zod.d.ts +14 -5
  312. package/dist/canopy/v1/generated/validators/issuedAPIKeyResource.zod.js +14 -5
  313. package/dist/canopy/v1/generated/validators/lengthAwarePageAPIKeyResource.zod.d.ts +14 -5
  314. package/dist/canopy/v1/generated/validators/lengthAwarePageAPIKeyResource.zod.js +14 -5
  315. package/dist/canopy/v1/generated/validators/listApiKeysParams.zod.d.ts +14 -5
  316. package/dist/canopy/v1/generated/validators/listApiKeysParams.zod.js +14 -5
  317. package/dist/canopy/v1/generated/validators/listRequestsParams.zod.d.ts +14 -5
  318. package/dist/canopy/v1/generated/validators/listRequestsParams.zod.js +14 -5
  319. package/dist/canopy/v1/generated/validators/listUsageByApiKeyParams.zod.d.ts +14 -5
  320. package/dist/canopy/v1/generated/validators/listUsageByApiKeyParams.zod.js +14 -5
  321. package/dist/canopy/v1/generated/validators/listUsageByModelParams.zod.d.ts +14 -5
  322. package/dist/canopy/v1/generated/validators/listUsageByModelParams.zod.js +14 -5
  323. package/dist/canopy/v1/generated/validators/mediaUsage.zod.d.ts +14 -5
  324. package/dist/canopy/v1/generated/validators/mediaUsage.zod.js +14 -5
  325. package/dist/canopy/v1/generated/validators/mediaUsageDetails.zod.d.ts +14 -5
  326. package/dist/canopy/v1/generated/validators/mediaUsageDetails.zod.js +14 -5
  327. package/dist/canopy/v1/generated/validators/modality.zod.d.ts +14 -5
  328. package/dist/canopy/v1/generated/validators/modality.zod.js +14 -5
  329. package/dist/canopy/v1/generated/validators/model.zod.d.ts +16 -33
  330. package/dist/canopy/v1/generated/validators/model.zod.js +14 -9
  331. package/dist/canopy/v1/generated/validators/modelBilling.zod.d.ts +14 -5
  332. package/dist/canopy/v1/generated/validators/modelBilling.zod.js +14 -5
  333. package/dist/canopy/v1/generated/validators/modelCapabilities.zod.d.ts +16 -7
  334. package/dist/canopy/v1/generated/validators/modelCapabilities.zod.js +41 -8
  335. package/dist/canopy/v1/generated/validators/modelList.zod.d.ts +16 -33
  336. package/dist/canopy/v1/generated/validators/modelList.zod.js +14 -5
  337. package/dist/canopy/v1/generated/validators/modelListResponseBody.zod.d.ts +16 -33
  338. package/dist/canopy/v1/generated/validators/modelListResponseBody.zod.js +14 -5
  339. package/dist/canopy/v1/generated/validators/modelMeter.zod.d.ts +14 -5
  340. package/dist/canopy/v1/generated/validators/modelMeter.zod.js +14 -5
  341. package/dist/canopy/v1/generated/validators/modelParameter.zod.d.ts +14 -5
  342. package/dist/canopy/v1/generated/validators/modelParameter.zod.js +15 -6
  343. package/dist/canopy/v1/generated/validators/modelResource.zod.d.ts +16 -33
  344. package/dist/canopy/v1/generated/validators/modelResource.zod.js +14 -9
  345. package/dist/canopy/v1/generated/validators/modelUsageListResponseBody.zod.d.ts +14 -5
  346. package/dist/canopy/v1/generated/validators/modelUsageListResponseBody.zod.js +14 -5
  347. package/dist/canopy/v1/generated/validators/modelUsageResource.zod.d.ts +14 -5
  348. package/dist/canopy/v1/generated/validators/modelUsageResource.zod.js +14 -5
  349. package/dist/canopy/v1/generated/validators/money.zod.d.ts +14 -5
  350. package/dist/canopy/v1/generated/validators/money.zod.js +14 -5
  351. package/dist/canopy/v1/generated/validators/nativeRequest.zod.d.ts +14 -5
  352. package/dist/canopy/v1/generated/validators/nativeRequest.zod.js +15 -6
  353. package/dist/canopy/v1/generated/validators/nativeResponse.zod.d.ts +14 -5
  354. package/dist/canopy/v1/generated/validators/nativeResponse.zod.js +15 -6
  355. package/dist/canopy/v1/generated/validators/offsetPagination.zod.d.ts +14 -5
  356. package/dist/canopy/v1/generated/validators/offsetPagination.zod.js +14 -5
  357. package/dist/canopy/v1/generated/validators/reasoningCapabilities.zod.d.ts +14 -5
  358. package/dist/canopy/v1/generated/validators/reasoningCapabilities.zod.js +14 -5
  359. package/dist/canopy/v1/generated/validators/reasoningDiagnostics.zod.d.ts +14 -5
  360. package/dist/canopy/v1/generated/validators/reasoningDiagnostics.zod.js +14 -5
  361. package/dist/canopy/v1/generated/validators/requestResource.zod.d.ts +14 -5
  362. package/dist/canopy/v1/generated/validators/requestResource.zod.js +14 -5
  363. package/dist/canopy/v1/generated/validators/responseCreate.zod.d.ts +14 -5
  364. package/dist/canopy/v1/generated/validators/responseCreate.zod.js +23 -8
  365. package/dist/canopy/v1/generated/validators/responseResource.zod.d.ts +14 -5
  366. package/dist/canopy/v1/generated/validators/responseResource.zod.js +14 -5
  367. package/dist/canopy/v1/generated/validators/serviceResource.zod.d.ts +14 -5
  368. package/dist/canopy/v1/generated/validators/serviceResource.zod.js +14 -5
  369. package/dist/canopy/v1/generated/validators/streamGenerateContentParams.zod.d.ts +14 -5
  370. package/dist/canopy/v1/generated/validators/streamGenerateContentParams.zod.js +14 -5
  371. package/dist/canopy/v1/generated/validators/totalsResource.zod.d.ts +14 -5
  372. package/dist/canopy/v1/generated/validators/totalsResource.zod.js +14 -5
  373. package/dist/canopy/v1/generated/validators/updateAPIKeyRequestBody.zod.d.ts +14 -5
  374. package/dist/canopy/v1/generated/validators/updateAPIKeyRequestBody.zod.js +14 -5
  375. package/dist/canopy/v1/generated/validators/usageBucketResource.zod.d.ts +14 -5
  376. package/dist/canopy/v1/generated/validators/usageBucketResource.zod.js +14 -5
  377. package/dist/canopy/v1/generated/validators/usageTimelineResponseBody.zod.d.ts +14 -5
  378. package/dist/canopy/v1/generated/validators/usageTimelineResponseBody.zod.js +14 -5
  379. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.d.ts +14 -5
  380. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.js +15 -6
  381. package/dist/canopy/v1/generated/validators/videoCreateRequest.zod.d.ts +14 -5
  382. package/dist/canopy/v1/generated/validators/videoCreateRequest.zod.js +14 -5
  383. package/dist/canopy/v1/generated/validators/videoDurationRange.zod.d.ts +14 -5
  384. package/dist/canopy/v1/generated/validators/videoDurationRange.zod.js +14 -5
  385. package/dist/canopy/v1/generated/validators/videoReferenceMedia.zod.d.ts +14 -5
  386. package/dist/canopy/v1/generated/validators/videoReferenceMedia.zod.js +14 -5
  387. package/dist/canopy/v1/generated/validators/videoTask.zod.d.ts +14 -5
  388. package/dist/canopy/v1/generated/validators/videoTask.zod.js +14 -5
  389. package/dist/canopy/v1/generated/validators/videoUsage.zod.d.ts +14 -5
  390. package/dist/canopy/v1/generated/validators/videoUsage.zod.js +14 -5
  391. package/dist/routes.d.ts +76 -28
  392. package/dist/routes.js +84 -30
  393. package/package.json +1 -1
  394. package/dist/canopy/v1/generated/validators/endpointCapabilities.zod.d.ts +0 -100
  395. package/dist/canopy/v1/generated/validators/endpointCapabilities.zod.js +0 -67
  396. package/dist/canopy/v1/generated/validators/modelEndpoint.zod.d.ts +0 -69
  397. package/dist/canopy/v1/generated/validators/modelEndpoint.zod.js +0 -67
  398. package/dist/canopy/v1/generated/validators/responseDeleted.zod.d.ts +0 -48
  399. package/dist/canopy/v1/generated/validators/responseDeleted.zod.js +0 -46
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -49,7 +58,7 @@ export const AudioCapabilities = zod
49
58
  formats: zod
50
59
  .array(zod.string())
51
60
  .nullable()
52
- .describe("Audio container or codec values the endpoint accepts. Null means unknown."),
61
+ .describe("Audio container or codec values the model accepts. Null means unknown."),
53
62
  response_formats: zod
54
63
  .array(zod.string())
55
64
  .nullable()
@@ -58,10 +67,10 @@ export const AudioCapabilities = zod
58
67
  .int()
59
68
  .min(audioCapabilitiesMaxInputBytesMin)
60
69
  .nullable()
61
- .describe("The largest upload the endpoint accepts, in bytes. Null means unknown."),
70
+ .describe("The largest upload the model accepts, in bytes. Null means unknown."),
62
71
  supports_stream: zod
63
72
  .boolean()
64
73
  .nullable()
65
- .describe("Whether the endpoint can stream its response. Null means unknown."),
74
+ .describe("Whether the response can be streamed. Null means unknown."),
66
75
  })
67
- .describe("The audio parameters this endpoint accepts.");
76
+ .describe("The audio parameters this model accepts.");
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.
@@ -4,17 +4,26 @@
4
4
  * Leaflow Canopy API
5
5
  * Canopy model inference, API keys, model catalogue, service enablement and recorded usage.
6
6
  *
7
- * Project inference is served on this host in each provider's own protocol:
7
+ * Project inference is served on this host at each protocol's own endpoints:
8
8
  *
9
9
  * - OpenAI: `/v1/chat/completions`, `/v1/responses` and `/v1/embeddings`; use
10
10
  * `https://canopy.leaflow.cloud/v1` as the OpenAI SDK base URL.
11
11
  * - Anthropic: `/v1/messages`; use `https://canopy.leaflow.cloud` as the Anthropic SDK base URL.
12
12
  * - Gemini: `/v1beta/models/{model}:generateContent` and `:streamGenerateContent`.
13
13
  *
14
- * Canopy does not convert between protocols. A request is accepted only for a model whose
15
- * `supported_endpoints` lists the endpoint it was sent to, and it is forwarded unchanged except for
16
- * the model name and the credentials. Reasoning settings such as `reasoning_effort` are passed
17
- * through as written; a model's `capabilities` lists the values its upstream accepts.
14
+ * Every chat model accepts all four chat protocols: Chat Completions, Responses, Messages and Gemini
15
+ * generateContent. A request is forwarded unchanged, apart from the model name and the credentials, when a
16
+ * provider of the model speaks the protocol it was sent in; otherwise it is translated into a protocol a
17
+ * provider speaks, and the response is translated back. Content that cannot be translated, such as a tool
18
+ * that runs on another provider's servers or a reference to a file stored with another provider, is refused
19
+ * with 400 rather than dropped. Reasoning settings such as `reasoning_effort` are passed through as written;
20
+ * a model's `capabilities` lists the values it accepts.
21
+ *
22
+ * Responses is stateless: `store` must be false, and a response cannot be retrieved after it is returned.
23
+ * Send the output items of a response back unchanged, in their order, as input to the next request.
24
+ *
25
+ * What a model does follows from its `input_modalities`, `output_modalities` and the media blocks of its
26
+ * `capabilities`. Embeddings, images, audio and videos are accepted for a model whose providers serve them.
18
27
  *
19
28
  * Management operations use `/api/v1`. The management model catalogue names how each model is billed in Billing;
20
29
  * `/v1/models` returns the OpenAI model format with Canopy capabilities and parameter limits.