boltz-api 0.30.3

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 (579) hide show
  1. package/CHANGELOG.md +708 -0
  2. package/LICENSE +201 -0
  3. package/README.md +466 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +219 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +219 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +522 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +518 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/pagination.d.mts +78 -0
  37. package/core/pagination.d.mts.map +1 -0
  38. package/core/pagination.d.ts +78 -0
  39. package/core/pagination.d.ts.map +1 -0
  40. package/core/pagination.js +154 -0
  41. package/core/pagination.js.map +1 -0
  42. package/core/pagination.mjs +147 -0
  43. package/core/pagination.mjs.map +1 -0
  44. package/core/resource.d.mts +6 -0
  45. package/core/resource.d.mts.map +1 -0
  46. package/core/resource.d.ts +6 -0
  47. package/core/resource.d.ts.map +1 -0
  48. package/core/resource.js +11 -0
  49. package/core/resource.js.map +1 -0
  50. package/core/resource.mjs +7 -0
  51. package/core/resource.mjs.map +1 -0
  52. package/core/uploads.d.mts +3 -0
  53. package/core/uploads.d.mts.map +1 -0
  54. package/core/uploads.d.ts +3 -0
  55. package/core/uploads.d.ts.map +1 -0
  56. package/core/uploads.js +6 -0
  57. package/core/uploads.js.map +1 -0
  58. package/core/uploads.mjs +2 -0
  59. package/core/uploads.mjs.map +1 -0
  60. package/error.d.mts +2 -0
  61. package/error.d.mts.map +1 -0
  62. package/error.d.ts +2 -0
  63. package/error.d.ts.map +1 -0
  64. package/error.js +6 -0
  65. package/error.js.map +1 -0
  66. package/error.mjs +2 -0
  67. package/error.mjs.map +1 -0
  68. package/index.d.mts +7 -0
  69. package/index.d.mts.map +1 -0
  70. package/index.d.ts +7 -0
  71. package/index.d.ts.map +1 -0
  72. package/index.js +32 -0
  73. package/index.js.map +1 -0
  74. package/index.mjs +8 -0
  75. package/index.mjs.map +1 -0
  76. package/internal/builtin-types.d.mts +73 -0
  77. package/internal/builtin-types.d.mts.map +1 -0
  78. package/internal/builtin-types.d.ts +73 -0
  79. package/internal/builtin-types.d.ts.map +1 -0
  80. package/internal/builtin-types.js +4 -0
  81. package/internal/builtin-types.js.map +1 -0
  82. package/internal/builtin-types.mjs +3 -0
  83. package/internal/builtin-types.mjs.map +1 -0
  84. package/internal/detect-platform.d.mts +15 -0
  85. package/internal/detect-platform.d.mts.map +1 -0
  86. package/internal/detect-platform.d.ts +15 -0
  87. package/internal/detect-platform.d.ts.map +1 -0
  88. package/internal/detect-platform.js +162 -0
  89. package/internal/detect-platform.js.map +1 -0
  90. package/internal/detect-platform.mjs +157 -0
  91. package/internal/detect-platform.mjs.map +1 -0
  92. package/internal/errors.d.mts +3 -0
  93. package/internal/errors.d.mts.map +1 -0
  94. package/internal/errors.d.ts +3 -0
  95. package/internal/errors.d.ts.map +1 -0
  96. package/internal/errors.js +41 -0
  97. package/internal/errors.js.map +1 -0
  98. package/internal/errors.mjs +36 -0
  99. package/internal/errors.mjs.map +1 -0
  100. package/internal/headers.d.mts +20 -0
  101. package/internal/headers.d.mts.map +1 -0
  102. package/internal/headers.d.ts +20 -0
  103. package/internal/headers.d.ts.map +1 -0
  104. package/internal/headers.js +79 -0
  105. package/internal/headers.js.map +1 -0
  106. package/internal/headers.mjs +74 -0
  107. package/internal/headers.mjs.map +1 -0
  108. package/internal/parse.d.mts +12 -0
  109. package/internal/parse.d.mts.map +1 -0
  110. package/internal/parse.d.ts +12 -0
  111. package/internal/parse.d.ts.map +1 -0
  112. package/internal/parse.js +40 -0
  113. package/internal/parse.js.map +1 -0
  114. package/internal/parse.mjs +37 -0
  115. package/internal/parse.mjs.map +1 -0
  116. package/internal/qs/formats.d.mts +7 -0
  117. package/internal/qs/formats.d.mts.map +1 -0
  118. package/internal/qs/formats.d.ts +7 -0
  119. package/internal/qs/formats.d.ts.map +1 -0
  120. package/internal/qs/formats.js +13 -0
  121. package/internal/qs/formats.js.map +1 -0
  122. package/internal/qs/formats.mjs +9 -0
  123. package/internal/qs/formats.mjs.map +1 -0
  124. package/internal/qs/index.d.mts +10 -0
  125. package/internal/qs/index.d.mts.map +1 -0
  126. package/internal/qs/index.d.ts +10 -0
  127. package/internal/qs/index.d.ts.map +1 -0
  128. package/internal/qs/index.js +14 -0
  129. package/internal/qs/index.js.map +1 -0
  130. package/internal/qs/index.mjs +10 -0
  131. package/internal/qs/index.mjs.map +1 -0
  132. package/internal/qs/stringify.d.mts +3 -0
  133. package/internal/qs/stringify.d.mts.map +1 -0
  134. package/internal/qs/stringify.d.ts +3 -0
  135. package/internal/qs/stringify.d.ts.map +1 -0
  136. package/internal/qs/stringify.js +277 -0
  137. package/internal/qs/stringify.js.map +1 -0
  138. package/internal/qs/stringify.mjs +274 -0
  139. package/internal/qs/stringify.mjs.map +1 -0
  140. package/internal/qs/types.d.mts +57 -0
  141. package/internal/qs/types.d.mts.map +1 -0
  142. package/internal/qs/types.d.ts +57 -0
  143. package/internal/qs/types.d.ts.map +1 -0
  144. package/internal/qs/types.js +3 -0
  145. package/internal/qs/types.js.map +1 -0
  146. package/internal/qs/types.mjs +2 -0
  147. package/internal/qs/types.mjs.map +1 -0
  148. package/internal/qs/utils.d.mts +15 -0
  149. package/internal/qs/utils.d.mts.map +1 -0
  150. package/internal/qs/utils.d.ts +15 -0
  151. package/internal/qs/utils.d.ts.map +1 -0
  152. package/internal/qs/utils.js +230 -0
  153. package/internal/qs/utils.js.map +1 -0
  154. package/internal/qs/utils.mjs +217 -0
  155. package/internal/qs/utils.mjs.map +1 -0
  156. package/internal/request-options.d.mts +75 -0
  157. package/internal/request-options.d.mts.map +1 -0
  158. package/internal/request-options.d.ts +75 -0
  159. package/internal/request-options.d.ts.map +1 -0
  160. package/internal/request-options.js +14 -0
  161. package/internal/request-options.js.map +1 -0
  162. package/internal/request-options.mjs +10 -0
  163. package/internal/request-options.mjs.map +1 -0
  164. package/internal/shim-types.d.mts +17 -0
  165. package/internal/shim-types.d.mts.map +1 -0
  166. package/internal/shim-types.d.ts +17 -0
  167. package/internal/shim-types.d.ts.map +1 -0
  168. package/internal/shim-types.js +4 -0
  169. package/internal/shim-types.js.map +1 -0
  170. package/internal/shim-types.mjs +3 -0
  171. package/internal/shim-types.mjs.map +1 -0
  172. package/internal/shims.d.mts +20 -0
  173. package/internal/shims.d.mts.map +1 -0
  174. package/internal/shims.d.ts +20 -0
  175. package/internal/shims.d.ts.map +1 -0
  176. package/internal/shims.js +92 -0
  177. package/internal/shims.js.map +1 -0
  178. package/internal/shims.mjs +85 -0
  179. package/internal/shims.mjs.map +1 -0
  180. package/internal/to-file.d.mts +45 -0
  181. package/internal/to-file.d.mts.map +1 -0
  182. package/internal/to-file.d.ts +45 -0
  183. package/internal/to-file.d.ts.map +1 -0
  184. package/internal/to-file.js +91 -0
  185. package/internal/to-file.js.map +1 -0
  186. package/internal/to-file.mjs +88 -0
  187. package/internal/to-file.mjs.map +1 -0
  188. package/internal/tslib.js +81 -0
  189. package/internal/tslib.mjs +17 -0
  190. package/internal/types.d.mts +69 -0
  191. package/internal/types.d.mts.map +1 -0
  192. package/internal/types.d.ts +69 -0
  193. package/internal/types.d.ts.map +1 -0
  194. package/internal/types.js +4 -0
  195. package/internal/types.js.map +1 -0
  196. package/internal/types.mjs +3 -0
  197. package/internal/types.mjs.map +1 -0
  198. package/internal/uploads.d.mts +42 -0
  199. package/internal/uploads.d.mts.map +1 -0
  200. package/internal/uploads.d.ts +42 -0
  201. package/internal/uploads.d.ts.map +1 -0
  202. package/internal/uploads.js +141 -0
  203. package/internal/uploads.js.map +1 -0
  204. package/internal/uploads.mjs +131 -0
  205. package/internal/uploads.mjs.map +1 -0
  206. package/internal/utils/base64.d.mts +3 -0
  207. package/internal/utils/base64.d.mts.map +1 -0
  208. package/internal/utils/base64.d.ts +3 -0
  209. package/internal/utils/base64.d.ts.map +1 -0
  210. package/internal/utils/base64.js +38 -0
  211. package/internal/utils/base64.js.map +1 -0
  212. package/internal/utils/base64.mjs +33 -0
  213. package/internal/utils/base64.mjs.map +1 -0
  214. package/internal/utils/bytes.d.mts +4 -0
  215. package/internal/utils/bytes.d.mts.map +1 -0
  216. package/internal/utils/bytes.d.ts +4 -0
  217. package/internal/utils/bytes.d.ts.map +1 -0
  218. package/internal/utils/bytes.js +31 -0
  219. package/internal/utils/bytes.js.map +1 -0
  220. package/internal/utils/bytes.mjs +26 -0
  221. package/internal/utils/bytes.mjs.map +1 -0
  222. package/internal/utils/env.d.mts +9 -0
  223. package/internal/utils/env.d.mts.map +1 -0
  224. package/internal/utils/env.d.ts +9 -0
  225. package/internal/utils/env.d.ts.map +1 -0
  226. package/internal/utils/env.js +22 -0
  227. package/internal/utils/env.js.map +1 -0
  228. package/internal/utils/env.mjs +18 -0
  229. package/internal/utils/env.mjs.map +1 -0
  230. package/internal/utils/log.d.mts +37 -0
  231. package/internal/utils/log.d.mts.map +1 -0
  232. package/internal/utils/log.d.ts +37 -0
  233. package/internal/utils/log.d.ts.map +1 -0
  234. package/internal/utils/log.js +86 -0
  235. package/internal/utils/log.js.map +1 -0
  236. package/internal/utils/log.mjs +80 -0
  237. package/internal/utils/log.mjs.map +1 -0
  238. package/internal/utils/path.d.mts +15 -0
  239. package/internal/utils/path.d.mts.map +1 -0
  240. package/internal/utils/path.d.ts +15 -0
  241. package/internal/utils/path.d.ts.map +1 -0
  242. package/internal/utils/path.js +79 -0
  243. package/internal/utils/path.js.map +1 -0
  244. package/internal/utils/path.mjs +74 -0
  245. package/internal/utils/path.mjs.map +1 -0
  246. package/internal/utils/query.d.mts +2 -0
  247. package/internal/utils/query.d.mts.map +1 -0
  248. package/internal/utils/query.d.ts +2 -0
  249. package/internal/utils/query.d.ts.map +1 -0
  250. package/internal/utils/query.js +10 -0
  251. package/internal/utils/query.js.map +1 -0
  252. package/internal/utils/query.mjs +6 -0
  253. package/internal/utils/query.mjs.map +1 -0
  254. package/internal/utils/sleep.d.mts +2 -0
  255. package/internal/utils/sleep.d.mts.map +1 -0
  256. package/internal/utils/sleep.d.ts +2 -0
  257. package/internal/utils/sleep.d.ts.map +1 -0
  258. package/internal/utils/sleep.js +7 -0
  259. package/internal/utils/sleep.js.map +1 -0
  260. package/internal/utils/sleep.mjs +3 -0
  261. package/internal/utils/sleep.mjs.map +1 -0
  262. package/internal/utils/uuid.d.mts +5 -0
  263. package/internal/utils/uuid.d.mts.map +1 -0
  264. package/internal/utils/uuid.d.ts +5 -0
  265. package/internal/utils/uuid.d.ts.map +1 -0
  266. package/internal/utils/uuid.js +19 -0
  267. package/internal/utils/uuid.js.map +1 -0
  268. package/internal/utils/uuid.mjs +15 -0
  269. package/internal/utils/uuid.mjs.map +1 -0
  270. package/internal/utils/values.d.mts +18 -0
  271. package/internal/utils/values.d.mts.map +1 -0
  272. package/internal/utils/values.d.ts +18 -0
  273. package/internal/utils/values.d.ts.map +1 -0
  274. package/internal/utils/values.js +112 -0
  275. package/internal/utils/values.js.map +1 -0
  276. package/internal/utils/values.mjs +94 -0
  277. package/internal/utils/values.mjs.map +1 -0
  278. package/internal/utils.d.mts +8 -0
  279. package/internal/utils.d.mts.map +1 -0
  280. package/internal/utils.d.ts +8 -0
  281. package/internal/utils.d.ts.map +1 -0
  282. package/internal/utils.js +12 -0
  283. package/internal/utils.js.map +1 -0
  284. package/internal/utils.mjs +9 -0
  285. package/internal/utils.mjs.map +1 -0
  286. package/package.json +153 -0
  287. package/pagination.d.mts +2 -0
  288. package/pagination.d.mts.map +1 -0
  289. package/pagination.d.ts +2 -0
  290. package/pagination.d.ts.map +1 -0
  291. package/pagination.js +6 -0
  292. package/pagination.js.map +1 -0
  293. package/pagination.mjs +2 -0
  294. package/pagination.mjs.map +1 -0
  295. package/resource.d.mts +2 -0
  296. package/resource.d.mts.map +1 -0
  297. package/resource.d.ts +2 -0
  298. package/resource.d.ts.map +1 -0
  299. package/resource.js +6 -0
  300. package/resource.js.map +1 -0
  301. package/resource.mjs +2 -0
  302. package/resource.mjs.map +1 -0
  303. package/resources/admin/admin.d.mts +21 -0
  304. package/resources/admin/admin.d.mts.map +1 -0
  305. package/resources/admin/admin.d.ts +21 -0
  306. package/resources/admin/admin.d.ts.map +1 -0
  307. package/resources/admin/admin.js +28 -0
  308. package/resources/admin/admin.js.map +1 -0
  309. package/resources/admin/admin.mjs +23 -0
  310. package/resources/admin/admin.mjs.map +1 -0
  311. package/resources/admin/api-keys.d.mts +166 -0
  312. package/resources/admin/api-keys.d.mts.map +1 -0
  313. package/resources/admin/api-keys.d.ts +166 -0
  314. package/resources/admin/api-keys.d.ts.map +1 -0
  315. package/resources/admin/api-keys.js +35 -0
  316. package/resources/admin/api-keys.js.map +1 -0
  317. package/resources/admin/api-keys.mjs +31 -0
  318. package/resources/admin/api-keys.mjs.map +1 -0
  319. package/resources/admin/index.d.mts +5 -0
  320. package/resources/admin/index.d.mts.map +1 -0
  321. package/resources/admin/index.d.ts +5 -0
  322. package/resources/admin/index.d.ts.map +1 -0
  323. package/resources/admin/index.js +13 -0
  324. package/resources/admin/index.js.map +1 -0
  325. package/resources/admin/index.mjs +6 -0
  326. package/resources/admin/index.mjs.map +1 -0
  327. package/resources/admin/usage.d.mts +60 -0
  328. package/resources/admin/usage.d.mts.map +1 -0
  329. package/resources/admin/usage.d.ts +60 -0
  330. package/resources/admin/usage.d.ts.map +1 -0
  331. package/resources/admin/usage.js +23 -0
  332. package/resources/admin/usage.js.map +1 -0
  333. package/resources/admin/usage.mjs +19 -0
  334. package/resources/admin/usage.mjs.map +1 -0
  335. package/resources/admin/workspaces.d.mts +278 -0
  336. package/resources/admin/workspaces.d.mts.map +1 -0
  337. package/resources/admin/workspaces.d.ts +278 -0
  338. package/resources/admin/workspaces.d.ts.map +1 -0
  339. package/resources/admin/workspaces.js +48 -0
  340. package/resources/admin/workspaces.js.map +1 -0
  341. package/resources/admin/workspaces.mjs +44 -0
  342. package/resources/admin/workspaces.mjs.map +1 -0
  343. package/resources/admin.d.mts +2 -0
  344. package/resources/admin.d.mts.map +1 -0
  345. package/resources/admin.d.ts +2 -0
  346. package/resources/admin.d.ts.map +1 -0
  347. package/resources/admin.js +6 -0
  348. package/resources/admin.js.map +1 -0
  349. package/resources/admin.mjs +3 -0
  350. package/resources/admin.mjs.map +1 -0
  351. package/resources/auth.d.mts +48 -0
  352. package/resources/auth.d.mts.map +1 -0
  353. package/resources/auth.d.ts +48 -0
  354. package/resources/auth.d.ts.map +1 -0
  355. package/resources/auth.js +25 -0
  356. package/resources/auth.js.map +1 -0
  357. package/resources/auth.mjs +21 -0
  358. package/resources/auth.mjs.map +1 -0
  359. package/resources/cli.d.mts +39 -0
  360. package/resources/cli.d.mts.map +1 -0
  361. package/resources/cli.d.ts +39 -0
  362. package/resources/cli.d.ts.map +1 -0
  363. package/resources/cli.js +23 -0
  364. package/resources/cli.js.map +1 -0
  365. package/resources/cli.mjs +19 -0
  366. package/resources/cli.mjs.map +1 -0
  367. package/resources/index.d.mts +7 -0
  368. package/resources/index.d.mts.map +1 -0
  369. package/resources/index.d.ts +7 -0
  370. package/resources/index.d.ts.map +1 -0
  371. package/resources/index.js +17 -0
  372. package/resources/index.js.map +1 -0
  373. package/resources/index.mjs +8 -0
  374. package/resources/index.mjs.map +1 -0
  375. package/resources/predictions/index.d.mts +3 -0
  376. package/resources/predictions/index.d.mts.map +1 -0
  377. package/resources/predictions/index.d.ts +3 -0
  378. package/resources/predictions/index.d.ts.map +1 -0
  379. package/resources/predictions/index.js +9 -0
  380. package/resources/predictions/index.js.map +1 -0
  381. package/resources/predictions/index.mjs +4 -0
  382. package/resources/predictions/index.mjs.map +1 -0
  383. package/resources/predictions/predictions.d.mts +13 -0
  384. package/resources/predictions/predictions.d.mts.map +1 -0
  385. package/resources/predictions/predictions.d.ts +13 -0
  386. package/resources/predictions/predictions.d.ts.map +1 -0
  387. package/resources/predictions/predictions.js +20 -0
  388. package/resources/predictions/predictions.js.map +1 -0
  389. package/resources/predictions/predictions.mjs +15 -0
  390. package/resources/predictions/predictions.mjs.map +1 -0
  391. package/resources/predictions/structure-and-binding.d.mts +2295 -0
  392. package/resources/predictions/structure-and-binding.d.mts.map +1 -0
  393. package/resources/predictions/structure-and-binding.d.ts +2295 -0
  394. package/resources/predictions/structure-and-binding.d.ts.map +1 -0
  395. package/resources/predictions/structure-and-binding.js +111 -0
  396. package/resources/predictions/structure-and-binding.js.map +1 -0
  397. package/resources/predictions/structure-and-binding.mjs +107 -0
  398. package/resources/predictions/structure-and-binding.mjs.map +1 -0
  399. package/resources/predictions.d.mts +2 -0
  400. package/resources/predictions.d.mts.map +1 -0
  401. package/resources/predictions.d.ts +2 -0
  402. package/resources/predictions.d.ts.map +1 -0
  403. package/resources/predictions.js +6 -0
  404. package/resources/predictions.js.map +1 -0
  405. package/resources/predictions.mjs +3 -0
  406. package/resources/predictions.mjs.map +1 -0
  407. package/resources/protein/design.d.mts +5760 -0
  408. package/resources/protein/design.d.mts.map +1 -0
  409. package/resources/protein/design.d.ts +5760 -0
  410. package/resources/protein/design.d.ts.map +1 -0
  411. package/resources/protein/design.js +157 -0
  412. package/resources/protein/design.js.map +1 -0
  413. package/resources/protein/design.mjs +153 -0
  414. package/resources/protein/design.mjs.map +1 -0
  415. package/resources/protein/index.d.mts +4 -0
  416. package/resources/protein/index.d.mts.map +1 -0
  417. package/resources/protein/index.d.ts +4 -0
  418. package/resources/protein/index.d.ts.map +1 -0
  419. package/resources/protein/index.js +11 -0
  420. package/resources/protein/index.js.map +1 -0
  421. package/resources/protein/index.mjs +5 -0
  422. package/resources/protein/index.mjs.map +1 -0
  423. package/resources/protein/library-screen.d.mts +3428 -0
  424. package/resources/protein/library-screen.d.mts.map +1 -0
  425. package/resources/protein/library-screen.d.ts +3428 -0
  426. package/resources/protein/library-screen.d.ts.map +1 -0
  427. package/resources/protein/library-screen.js +158 -0
  428. package/resources/protein/library-screen.js.map +1 -0
  429. package/resources/protein/library-screen.mjs +154 -0
  430. package/resources/protein/library-screen.mjs.map +1 -0
  431. package/resources/protein/protein.d.mts +17 -0
  432. package/resources/protein/protein.d.mts.map +1 -0
  433. package/resources/protein/protein.d.ts +17 -0
  434. package/resources/protein/protein.d.ts.map +1 -0
  435. package/resources/protein/protein.js +24 -0
  436. package/resources/protein/protein.js.map +1 -0
  437. package/resources/protein/protein.mjs +19 -0
  438. package/resources/protein/protein.mjs.map +1 -0
  439. package/resources/protein.d.mts +2 -0
  440. package/resources/protein.d.mts.map +1 -0
  441. package/resources/protein.d.ts +2 -0
  442. package/resources/protein.d.ts.map +1 -0
  443. package/resources/protein.js +6 -0
  444. package/resources/protein.js.map +1 -0
  445. package/resources/protein.mjs +3 -0
  446. package/resources/protein.mjs.map +1 -0
  447. package/resources/small-molecule/design.d.mts +3428 -0
  448. package/resources/small-molecule/design.d.mts.map +1 -0
  449. package/resources/small-molecule/design.d.ts +3428 -0
  450. package/resources/small-molecule/design.d.ts.map +1 -0
  451. package/resources/small-molecule/design.js +135 -0
  452. package/resources/small-molecule/design.js.map +1 -0
  453. package/resources/small-molecule/design.mjs +131 -0
  454. package/resources/small-molecule/design.mjs.map +1 -0
  455. package/resources/small-molecule/index.d.mts +4 -0
  456. package/resources/small-molecule/index.d.mts.map +1 -0
  457. package/resources/small-molecule/index.d.ts +4 -0
  458. package/resources/small-molecule/index.d.ts.map +1 -0
  459. package/resources/small-molecule/index.js +11 -0
  460. package/resources/small-molecule/index.js.map +1 -0
  461. package/resources/small-molecule/index.mjs +5 -0
  462. package/resources/small-molecule/index.mjs.map +1 -0
  463. package/resources/small-molecule/library-screen.d.mts +3494 -0
  464. package/resources/small-molecule/library-screen.d.mts.map +1 -0
  465. package/resources/small-molecule/library-screen.d.ts +3494 -0
  466. package/resources/small-molecule/library-screen.d.ts.map +1 -0
  467. package/resources/small-molecule/library-screen.js +129 -0
  468. package/resources/small-molecule/library-screen.js.map +1 -0
  469. package/resources/small-molecule/library-screen.mjs +125 -0
  470. package/resources/small-molecule/library-screen.mjs.map +1 -0
  471. package/resources/small-molecule/small-molecule.d.mts +17 -0
  472. package/resources/small-molecule/small-molecule.d.mts.map +1 -0
  473. package/resources/small-molecule/small-molecule.d.ts +17 -0
  474. package/resources/small-molecule/small-molecule.d.ts.map +1 -0
  475. package/resources/small-molecule/small-molecule.js +24 -0
  476. package/resources/small-molecule/small-molecule.js.map +1 -0
  477. package/resources/small-molecule/small-molecule.mjs +19 -0
  478. package/resources/small-molecule/small-molecule.mjs.map +1 -0
  479. package/resources/small-molecule.d.mts +2 -0
  480. package/resources/small-molecule.d.mts.map +1 -0
  481. package/resources/small-molecule.d.ts +2 -0
  482. package/resources/small-molecule.d.ts.map +1 -0
  483. package/resources/small-molecule.js +6 -0
  484. package/resources/small-molecule.js.map +1 -0
  485. package/resources/small-molecule.mjs +3 -0
  486. package/resources/small-molecule.mjs.map +1 -0
  487. package/resources.d.mts +2 -0
  488. package/resources.d.mts.map +1 -0
  489. package/resources.d.ts +2 -0
  490. package/resources.d.ts.map +1 -0
  491. package/resources.js +5 -0
  492. package/resources.js.map +1 -0
  493. package/resources.mjs +2 -0
  494. package/resources.mjs.map +1 -0
  495. package/src/api-promise.ts +2 -0
  496. package/src/client.ts +833 -0
  497. package/src/core/README.md +3 -0
  498. package/src/core/api-promise.ts +92 -0
  499. package/src/core/error.ts +130 -0
  500. package/src/core/pagination.ts +255 -0
  501. package/src/core/resource.ts +11 -0
  502. package/src/core/uploads.ts +2 -0
  503. package/src/error.ts +2 -0
  504. package/src/index.ts +23 -0
  505. package/src/internal/README.md +3 -0
  506. package/src/internal/builtin-types.ts +93 -0
  507. package/src/internal/detect-platform.ts +196 -0
  508. package/src/internal/errors.ts +33 -0
  509. package/src/internal/headers.ts +97 -0
  510. package/src/internal/parse.ts +56 -0
  511. package/src/internal/qs/LICENSE.md +13 -0
  512. package/src/internal/qs/README.md +3 -0
  513. package/src/internal/qs/formats.ts +10 -0
  514. package/src/internal/qs/index.ts +13 -0
  515. package/src/internal/qs/stringify.ts +385 -0
  516. package/src/internal/qs/types.ts +71 -0
  517. package/src/internal/qs/utils.ts +265 -0
  518. package/src/internal/request-options.ts +91 -0
  519. package/src/internal/shim-types.ts +26 -0
  520. package/src/internal/shims.ts +107 -0
  521. package/src/internal/to-file.ts +154 -0
  522. package/src/internal/types.ts +93 -0
  523. package/src/internal/uploads.ts +187 -0
  524. package/src/internal/utils/base64.ts +40 -0
  525. package/src/internal/utils/bytes.ts +32 -0
  526. package/src/internal/utils/env.ts +18 -0
  527. package/src/internal/utils/log.ts +127 -0
  528. package/src/internal/utils/path.ts +88 -0
  529. package/src/internal/utils/query.ts +7 -0
  530. package/src/internal/utils/sleep.ts +3 -0
  531. package/src/internal/utils/uuid.ts +17 -0
  532. package/src/internal/utils/values.ts +105 -0
  533. package/src/internal/utils.ts +9 -0
  534. package/src/lib/.keep +4 -0
  535. package/src/pagination.ts +2 -0
  536. package/src/resource.ts +2 -0
  537. package/src/resources/admin/admin.ts +73 -0
  538. package/src/resources/admin/api-keys.ts +233 -0
  539. package/src/resources/admin/index.ts +30 -0
  540. package/src/resources/admin/usage.ts +107 -0
  541. package/src/resources/admin/workspaces.ts +370 -0
  542. package/src/resources/admin.ts +3 -0
  543. package/src/resources/auth.ts +68 -0
  544. package/src/resources/cli.ts +57 -0
  545. package/src/resources/index.ts +8 -0
  546. package/src/resources/predictions/index.ts +16 -0
  547. package/src/resources/predictions/predictions.ts +43 -0
  548. package/src/resources/predictions/structure-and-binding.ts +2892 -0
  549. package/src/resources/predictions.ts +3 -0
  550. package/src/resources/protein/design.ts +7175 -0
  551. package/src/resources/protein/index.ts +37 -0
  552. package/src/resources/protein/library-screen.ts +4306 -0
  553. package/src/resources/protein/protein.ts +88 -0
  554. package/src/resources/protein.ts +3 -0
  555. package/src/resources/small-molecule/design.ts +4229 -0
  556. package/src/resources/small-molecule/index.ts +37 -0
  557. package/src/resources/small-molecule/library-screen.ts +4312 -0
  558. package/src/resources/small-molecule/small-molecule.ts +88 -0
  559. package/src/resources/small-molecule.ts +3 -0
  560. package/src/resources.ts +1 -0
  561. package/src/tsconfig.json +11 -0
  562. package/src/uploads.ts +2 -0
  563. package/src/version.ts +1 -0
  564. package/uploads.d.mts +2 -0
  565. package/uploads.d.mts.map +1 -0
  566. package/uploads.d.ts +2 -0
  567. package/uploads.d.ts.map +1 -0
  568. package/uploads.js +6 -0
  569. package/uploads.js.map +1 -0
  570. package/uploads.mjs +2 -0
  571. package/uploads.mjs.map +1 -0
  572. package/version.d.mts +2 -0
  573. package/version.d.mts.map +1 -0
  574. package/version.d.ts +2 -0
  575. package/version.d.ts.map +1 -0
  576. package/version.js +5 -0
  577. package/version.js.map +1 -0
  578. package/version.mjs +2 -0
  579. package/version.mjs.map +1 -0
@@ -0,0 +1,4306 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ /**
10
+ * Screen an existing library of proteins against a target structure. Results are scored by binding confidence (likelihood of protein-protein interaction) and structure confidence.
11
+ */
12
+ export class LibraryScreen extends APIResource {
13
+ /**
14
+ * Retrieve a library screen by ID, including progress and status
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const libraryScreen =
19
+ * await client.protein.libraryScreen.retrieve('id');
20
+ * ```
21
+ */
22
+ retrieve(
23
+ id: string,
24
+ query: LibraryScreenRetrieveParams | null | undefined = {},
25
+ options?: RequestOptions,
26
+ ): APIPromise<LibraryScreenRetrieveResponse> {
27
+ return this._client.get(path`/compute/v1/protein/library-screen/${id}`, { query, ...options });
28
+ }
29
+
30
+ /**
31
+ * List protein library screens, optionally filtered by workspace
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * // Automatically fetches more pages as needed.
36
+ * for await (const libraryScreenListResponse of client.protein.libraryScreen.list()) {
37
+ * // ...
38
+ * }
39
+ * ```
40
+ */
41
+ list(
42
+ query: LibraryScreenListParams | null | undefined = {},
43
+ options?: RequestOptions,
44
+ ): PagePromise<LibraryScreenListResponsesCursorPage, LibraryScreenListResponse> {
45
+ return this._client.getAPIList(
46
+ '/compute/v1/protein/library-screen',
47
+ CursorPage<LibraryScreenListResponse>,
48
+ { query, ...options },
49
+ );
50
+ }
51
+
52
+ /**
53
+ * Permanently delete the input, output, and result data associated with this
54
+ * library screen. The library screen record itself is retained with a
55
+ * `data_deleted_at` timestamp. This action is irreversible.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const response =
60
+ * await client.protein.libraryScreen.deleteData('id');
61
+ * ```
62
+ */
63
+ deleteData(id: string, options?: RequestOptions): APIPromise<LibraryScreenDeleteDataResponse> {
64
+ return this._client.post(path`/compute/v1/protein/library-screen/${id}/delete-data`, options);
65
+ }
66
+
67
+ /**
68
+ * Estimate the cost of a protein library screen without creating any resource or
69
+ * consuming GPU.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const response =
74
+ * await client.protein.libraryScreen.estimateCost({
75
+ * proteins: [
76
+ * {
77
+ * entities: [
78
+ * {
79
+ * chain_ids: ['string'],
80
+ * type: 'protein',
81
+ * value: 'value',
82
+ * },
83
+ * ],
84
+ * },
85
+ * ],
86
+ * target: {
87
+ * chain_selection: {
88
+ * A: {
89
+ * chain_type: 'polymer',
90
+ * crop_residues: [
91
+ * 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
92
+ * ],
93
+ * },
94
+ * },
95
+ * structure: {
96
+ * type: 'url',
97
+ * url: 'https://example.com',
98
+ * },
99
+ * type: 'structure_template',
100
+ * },
101
+ * });
102
+ * ```
103
+ */
104
+ estimateCost(
105
+ body: LibraryScreenEstimateCostParams,
106
+ options?: RequestOptions,
107
+ ): APIPromise<LibraryScreenEstimateCostResponse> {
108
+ return this._client.post('/compute/v1/protein/library-screen/estimate-cost', { body, ...options });
109
+ }
110
+
111
+ /**
112
+ * Retrieve paginated results from a protein library screen
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * // Automatically fetches more pages as needed.
117
+ * for await (const libraryScreenListResultsResponse of client.protein.libraryScreen.listResults(
118
+ * 'id',
119
+ * )) {
120
+ * // ...
121
+ * }
122
+ * ```
123
+ */
124
+ listResults(
125
+ id: string,
126
+ query: LibraryScreenListResultsParams | null | undefined = {},
127
+ options?: RequestOptions,
128
+ ): PagePromise<LibraryScreenListResultsResponsesCursorPage, LibraryScreenListResultsResponse> {
129
+ return this._client.getAPIList(
130
+ path`/compute/v1/protein/library-screen/${id}/results`,
131
+ CursorPage<LibraryScreenListResultsResponse>,
132
+ { query, ...options },
133
+ );
134
+ }
135
+
136
+ /**
137
+ * Screen a set of protein candidates against a target
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const response = await client.protein.libraryScreen.start({
142
+ * proteins: [
143
+ * {
144
+ * entities: [
145
+ * {
146
+ * chain_ids: ['string'],
147
+ * type: 'protein',
148
+ * value: 'value',
149
+ * },
150
+ * ],
151
+ * },
152
+ * ],
153
+ * target: {
154
+ * chain_selection: {
155
+ * A: {
156
+ * chain_type: 'polymer',
157
+ * crop_residues: [
158
+ * 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
159
+ * ],
160
+ * },
161
+ * },
162
+ * structure: { type: 'url', url: 'https://example.com' },
163
+ * type: 'structure_template',
164
+ * },
165
+ * });
166
+ * ```
167
+ */
168
+ start(body: LibraryScreenStartParams, options?: RequestOptions): APIPromise<LibraryScreenStartResponse> {
169
+ return this._client.post('/compute/v1/protein/library-screen', { body, ...options });
170
+ }
171
+
172
+ /**
173
+ * Stop an in-progress protein library screen early
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * const response = await client.protein.libraryScreen.stop(
178
+ * 'id',
179
+ * );
180
+ * ```
181
+ */
182
+ stop(id: string, options?: RequestOptions): APIPromise<LibraryScreenStopResponse> {
183
+ return this._client.post(path`/compute/v1/protein/library-screen/${id}/stop`, options);
184
+ }
185
+ }
186
+
187
+ export type LibraryScreenListResponsesCursorPage = CursorPage<LibraryScreenListResponse>;
188
+
189
+ export type LibraryScreenListResultsResponsesCursorPage = CursorPage<LibraryScreenListResultsResponse>;
190
+
191
+ /**
192
+ * A protein library screening engine run
193
+ */
194
+ export interface LibraryScreenRetrieveResponse {
195
+ /**
196
+ * Unique ProteinLibraryScreen identifier
197
+ */
198
+ id: string;
199
+
200
+ completed_at: string | null;
201
+
202
+ created_at: string;
203
+
204
+ /**
205
+ * When the input, output, and result data was permanently deleted. Null if data
206
+ * has not been deleted.
207
+ */
208
+ data_deleted_at: string | null;
209
+
210
+ /**
211
+ * Engine used for protein library screen
212
+ */
213
+ engine: 'boltz-protein-screen';
214
+
215
+ /**
216
+ * Engine version used for protein library screen
217
+ */
218
+ engine_version: string;
219
+
220
+ error: LibraryScreenRetrieveResponse.Error | null;
221
+
222
+ /**
223
+ * Pipeline input (null if data deleted)
224
+ */
225
+ input: LibraryScreenRetrieveResponse.Input | null;
226
+
227
+ /**
228
+ * Whether this resource was created with a live API key.
229
+ */
230
+ livemode: boolean;
231
+
232
+ progress: LibraryScreenRetrieveResponse.Progress | null;
233
+
234
+ started_at: string | null;
235
+
236
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
237
+
238
+ stopped_at: string | null;
239
+
240
+ /**
241
+ * Workspace ID
242
+ */
243
+ workspace_id: string;
244
+
245
+ /**
246
+ * Client-provided idempotency key
247
+ */
248
+ idempotency_key?: string;
249
+ }
250
+
251
+ export namespace LibraryScreenRetrieveResponse {
252
+ export interface Error {
253
+ /**
254
+ * Machine-readable error code
255
+ */
256
+ code: string;
257
+
258
+ /**
259
+ * Human-readable error message
260
+ */
261
+ message: string;
262
+
263
+ /**
264
+ * Additional field-level error details keyed by input path, when available.
265
+ */
266
+ details?: unknown;
267
+ }
268
+
269
+ /**
270
+ * Pipeline input (null if data deleted)
271
+ */
272
+ export interface Input {
273
+ proteins: Input.Proteins;
274
+
275
+ /**
276
+ * Target specification (structure template or template-free)
277
+ */
278
+ target: Input.StructureTemplateTargetResponse | Input.NoTemplateTargetResponse;
279
+ }
280
+
281
+ export namespace Input {
282
+ export interface Proteins {
283
+ /**
284
+ * URL to download the file
285
+ */
286
+ url: string;
287
+
288
+ /**
289
+ * When the presigned URL expires
290
+ */
291
+ url_expires_at: string;
292
+ }
293
+
294
+ /**
295
+ * Target defined by an uploaded 3D structure (CIF or PDB file). Only chains
296
+ * included in chain_selection are used.
297
+ */
298
+ export interface StructureTemplateTargetResponse {
299
+ /**
300
+ * Chains selected from the uploaded structure, keyed by chain ID. Only chains
301
+ * listed here are included in the engine run — any chains omitted from this
302
+ * mapping are ignored. Each value defines which residues to keep, which are
303
+ * epitope residues, and which are flexible.
304
+ */
305
+ chain_selection: {
306
+ [key: string]:
307
+ | StructureTemplateTargetResponse.StructureTemplateTargetPolymerChainSpec
308
+ | StructureTemplateTargetResponse.StructureTemplateTargetLigandChainSpec;
309
+ };
310
+
311
+ structure: StructureTemplateTargetResponse.Structure;
312
+
313
+ type: 'structure_template';
314
+ }
315
+
316
+ export namespace StructureTemplateTargetResponse {
317
+ /**
318
+ * Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure
319
+ * template target.
320
+ */
321
+ export interface StructureTemplateTargetPolymerChainSpec {
322
+ chain_type: 'polymer';
323
+
324
+ /**
325
+ * 0-indexed residue indices to retain from this chain, or 'all' to keep all
326
+ * residues. Residues not listed are excluded from the engine run.
327
+ */
328
+ crop_residues: Array<number> | 'all';
329
+
330
+ /**
331
+ * 0-indexed residue indices where binder contact is desired (the epitope). All
332
+ * indices must be present in crop_residues.
333
+ */
334
+ epitope_residues?: Array<number>;
335
+
336
+ /**
337
+ * 0-indexed residue indices allowed to move during design (e.g. flexible loop
338
+ * regions). All indices must be present in crop_residues.
339
+ */
340
+ flexible_residues?: Array<number>;
341
+ }
342
+
343
+ /**
344
+ * Per-chain specification for a ligand chain in a structure template target. The
345
+ * full ligand is always included.
346
+ */
347
+ export interface StructureTemplateTargetLigandChainSpec {
348
+ chain_type: 'ligand';
349
+ }
350
+
351
+ export interface Structure {
352
+ /**
353
+ * URL to download the file
354
+ */
355
+ url: string;
356
+
357
+ /**
358
+ * When the presigned URL expires
359
+ */
360
+ url_expires_at: string;
361
+ }
362
+ }
363
+
364
+ /**
365
+ * Target defined by sequences only, without a 3D structure template
366
+ */
367
+ export interface NoTemplateTargetResponse {
368
+ /**
369
+ * Entities (proteins, RNA, DNA, ligands) defining the target complex.
370
+ */
371
+ entities: Array<
372
+ | NoTemplateTargetResponse.ProteinEntityResponse
373
+ | NoTemplateTargetResponse.RnaEntityResponse
374
+ | NoTemplateTargetResponse.DnaEntityResponse
375
+ | NoTemplateTargetResponse.LigandCcdEntityResponse
376
+ | NoTemplateTargetResponse.LigandSmilesEntityResponse
377
+ >;
378
+
379
+ type: 'no_template';
380
+
381
+ /**
382
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
383
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
384
+ */
385
+ bonds?: Array<NoTemplateTargetResponse.Bond>;
386
+
387
+ /**
388
+ * Structural constraints (pocket and contact). Atom-level ligand references
389
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
390
+ */
391
+ constraints?: Array<
392
+ NoTemplateTargetResponse.PocketConstraintResponse | NoTemplateTargetResponse.ContactConstraintResponse
393
+ >;
394
+
395
+ /**
396
+ * Chain IDs of ligand entities that are part of the binding epitope. Ligands are
397
+ * marked as epitope in full (no residue-level selection).
398
+ */
399
+ epitope_ligand_chains?: Array<string>;
400
+
401
+ /**
402
+ * Polymer chain residues where binder contact is desired (the epitope). Each key
403
+ * is a chain ID of a polymer entity, each value is an array of 0-indexed residue
404
+ * indices.
405
+ */
406
+ epitope_residues?: { [key: string]: Array<number> };
407
+ }
408
+
409
+ export namespace NoTemplateTargetResponse {
410
+ export interface ProteinEntityResponse {
411
+ /**
412
+ * Chain IDs for this entity
413
+ */
414
+ chain_ids: Array<string>;
415
+
416
+ type: 'protein';
417
+
418
+ /**
419
+ * Amino acid sequence (one-letter codes)
420
+ */
421
+ value: string;
422
+
423
+ /**
424
+ * Whether the sequence is cyclic
425
+ */
426
+ cyclic?: boolean;
427
+
428
+ /**
429
+ * Post-translational modifications. Optional; defaults to an empty list when
430
+ * omitted.
431
+ */
432
+ modifications?: Array<
433
+ ProteinEntityResponse.CcdModificationResponse | ProteinEntityResponse.SmilesModificationResponse
434
+ >;
435
+ }
436
+
437
+ export namespace ProteinEntityResponse {
438
+ export interface CcdModificationResponse {
439
+ /**
440
+ * 0-based index of the residue to modify
441
+ */
442
+ residue_index: number;
443
+
444
+ type: 'ccd';
445
+
446
+ /**
447
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
448
+ * phosphoserine)
449
+ */
450
+ value: string;
451
+ }
452
+
453
+ export interface SmilesModificationResponse {
454
+ /**
455
+ * 0-based index of the residue to modify
456
+ */
457
+ residue_index: number;
458
+
459
+ type: 'smiles';
460
+
461
+ /**
462
+ * SMILES string for the modification
463
+ */
464
+ value: string;
465
+ }
466
+ }
467
+
468
+ export interface RnaEntityResponse {
469
+ /**
470
+ * Chain IDs for this entity
471
+ */
472
+ chain_ids: Array<string>;
473
+
474
+ type: 'rna';
475
+
476
+ /**
477
+ * RNA nucleotide sequence (A, C, G, U, N)
478
+ */
479
+ value: string;
480
+
481
+ /**
482
+ * Whether the sequence is cyclic
483
+ */
484
+ cyclic?: boolean;
485
+
486
+ /**
487
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
488
+ */
489
+ modifications?: Array<
490
+ RnaEntityResponse.CcdModificationResponse | RnaEntityResponse.SmilesModificationResponse
491
+ >;
492
+ }
493
+
494
+ export namespace RnaEntityResponse {
495
+ export interface CcdModificationResponse {
496
+ /**
497
+ * 0-based index of the residue to modify
498
+ */
499
+ residue_index: number;
500
+
501
+ type: 'ccd';
502
+
503
+ /**
504
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
505
+ * phosphoserine)
506
+ */
507
+ value: string;
508
+ }
509
+
510
+ export interface SmilesModificationResponse {
511
+ /**
512
+ * 0-based index of the residue to modify
513
+ */
514
+ residue_index: number;
515
+
516
+ type: 'smiles';
517
+
518
+ /**
519
+ * SMILES string for the modification
520
+ */
521
+ value: string;
522
+ }
523
+ }
524
+
525
+ export interface DnaEntityResponse {
526
+ /**
527
+ * Chain IDs for this entity
528
+ */
529
+ chain_ids: Array<string>;
530
+
531
+ type: 'dna';
532
+
533
+ /**
534
+ * DNA nucleotide sequence (A, C, G, T, N)
535
+ */
536
+ value: string;
537
+
538
+ /**
539
+ * Whether the sequence is cyclic
540
+ */
541
+ cyclic?: boolean;
542
+
543
+ /**
544
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
545
+ */
546
+ modifications?: Array<
547
+ DnaEntityResponse.CcdModificationResponse | DnaEntityResponse.SmilesModificationResponse
548
+ >;
549
+ }
550
+
551
+ export namespace DnaEntityResponse {
552
+ export interface CcdModificationResponse {
553
+ /**
554
+ * 0-based index of the residue to modify
555
+ */
556
+ residue_index: number;
557
+
558
+ type: 'ccd';
559
+
560
+ /**
561
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
562
+ * phosphoserine)
563
+ */
564
+ value: string;
565
+ }
566
+
567
+ export interface SmilesModificationResponse {
568
+ /**
569
+ * 0-based index of the residue to modify
570
+ */
571
+ residue_index: number;
572
+
573
+ type: 'smiles';
574
+
575
+ /**
576
+ * SMILES string for the modification
577
+ */
578
+ value: string;
579
+ }
580
+ }
581
+
582
+ export interface LigandCcdEntityResponse {
583
+ /**
584
+ * Chain IDs for this ligand
585
+ */
586
+ chain_ids: Array<string>;
587
+
588
+ type: 'ligand_ccd';
589
+
590
+ /**
591
+ * CCD code (e.g., ATP, ADP)
592
+ */
593
+ value: string;
594
+ }
595
+
596
+ export interface LigandSmilesEntityResponse {
597
+ /**
598
+ * Chain IDs for this ligand
599
+ */
600
+ chain_ids: Array<string>;
601
+
602
+ type: 'ligand_smiles';
603
+
604
+ /**
605
+ * SMILES string representing the ligand
606
+ */
607
+ value: string;
608
+ }
609
+
610
+ /**
611
+ * Bond between two atoms. Atom-level ligand references currently support
612
+ * ligand_ccd entities only; ligand_smiles is unsupported.
613
+ */
614
+ export interface Bond {
615
+ /**
616
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
617
+ * entities only; ligand_smiles is unsupported.
618
+ */
619
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
620
+
621
+ /**
622
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
623
+ * entities only; ligand_smiles is unsupported.
624
+ */
625
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
626
+ }
627
+
628
+ export namespace Bond {
629
+ /**
630
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
631
+ * entities only; ligand_smiles is unsupported.
632
+ */
633
+ export interface LigandAtomResponse {
634
+ /**
635
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
636
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
637
+ */
638
+ atom_name: string;
639
+
640
+ /**
641
+ * Chain ID containing the atom
642
+ */
643
+ chain_id: string;
644
+
645
+ type: 'ligand_atom';
646
+ }
647
+
648
+ export interface PolymerAtomResponse {
649
+ /**
650
+ * Standardized atom name (verifiable in CIF file on RCSB)
651
+ */
652
+ atom_name: string;
653
+
654
+ /**
655
+ * Chain ID containing the atom
656
+ */
657
+ chain_id: string;
658
+
659
+ /**
660
+ * 0-based residue index
661
+ */
662
+ residue_index: number;
663
+
664
+ type: 'polymer_atom';
665
+ }
666
+
667
+ /**
668
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
669
+ * entities only; ligand_smiles is unsupported.
670
+ */
671
+ export interface LigandAtomResponse {
672
+ /**
673
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
674
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
675
+ */
676
+ atom_name: string;
677
+
678
+ /**
679
+ * Chain ID containing the atom
680
+ */
681
+ chain_id: string;
682
+
683
+ type: 'ligand_atom';
684
+ }
685
+
686
+ export interface PolymerAtomResponse {
687
+ /**
688
+ * Standardized atom name (verifiable in CIF file on RCSB)
689
+ */
690
+ atom_name: string;
691
+
692
+ /**
693
+ * Chain ID containing the atom
694
+ */
695
+ chain_id: string;
696
+
697
+ /**
698
+ * 0-based residue index
699
+ */
700
+ residue_index: number;
701
+
702
+ type: 'polymer_atom';
703
+ }
704
+ }
705
+
706
+ /**
707
+ * Constrains the binder to interact with specific pocket residues on the target.
708
+ */
709
+ export interface PocketConstraintResponse {
710
+ /**
711
+ * Chain ID of the binder molecule
712
+ */
713
+ binder_chain_id: string;
714
+
715
+ /**
716
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
717
+ * the value is an array of 0-indexed residue indices that define the pocket on
718
+ * that chain.
719
+ */
720
+ contact_residues: { [key: string]: Array<number> };
721
+
722
+ /**
723
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
724
+ * Typical range: 4-8 A.
725
+ */
726
+ max_distance_angstrom: number;
727
+
728
+ type: 'pocket';
729
+
730
+ /**
731
+ * Whether to force the constraint
732
+ */
733
+ force?: boolean;
734
+ }
735
+
736
+ /**
737
+ * Contact constraint between two tokens. Atom-level ligand references currently
738
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
739
+ */
740
+ export interface ContactConstraintResponse {
741
+ /**
742
+ * Maximum distance in Angstroms
743
+ */
744
+ max_distance_angstrom: number;
745
+
746
+ /**
747
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
748
+ * entities only; ligand_smiles is unsupported.
749
+ */
750
+ token1:
751
+ | ContactConstraintResponse.PolymerContactTokenResponse
752
+ | ContactConstraintResponse.LigandContactTokenResponse;
753
+
754
+ /**
755
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
756
+ * entities only; ligand_smiles is unsupported.
757
+ */
758
+ token2:
759
+ | ContactConstraintResponse.PolymerContactTokenResponse
760
+ | ContactConstraintResponse.LigandContactTokenResponse;
761
+
762
+ type: 'contact';
763
+
764
+ /**
765
+ * Whether to force the constraint
766
+ */
767
+ force?: boolean;
768
+ }
769
+
770
+ export namespace ContactConstraintResponse {
771
+ export interface PolymerContactTokenResponse {
772
+ /**
773
+ * Chain ID
774
+ */
775
+ chain_id: string;
776
+
777
+ /**
778
+ * 0-based residue index
779
+ */
780
+ residue_index: number;
781
+
782
+ type: 'polymer_contact';
783
+ }
784
+
785
+ /**
786
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
787
+ * entities only; ligand_smiles is unsupported.
788
+ */
789
+ export interface LigandContactTokenResponse {
790
+ /**
791
+ * Atom name. Atom-level references to ligand_smiles entities are currently
792
+ * unsupported; use ligand_ccd instead.
793
+ */
794
+ atom_name: string;
795
+
796
+ /**
797
+ * Chain ID
798
+ */
799
+ chain_id: string;
800
+
801
+ type: 'ligand_contact';
802
+ }
803
+
804
+ export interface PolymerContactTokenResponse {
805
+ /**
806
+ * Chain ID
807
+ */
808
+ chain_id: string;
809
+
810
+ /**
811
+ * 0-based residue index
812
+ */
813
+ residue_index: number;
814
+
815
+ type: 'polymer_contact';
816
+ }
817
+
818
+ /**
819
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
820
+ * entities only; ligand_smiles is unsupported.
821
+ */
822
+ export interface LigandContactTokenResponse {
823
+ /**
824
+ * Atom name. Atom-level references to ligand_smiles entities are currently
825
+ * unsupported; use ligand_ccd instead.
826
+ */
827
+ atom_name: string;
828
+
829
+ /**
830
+ * Chain ID
831
+ */
832
+ chain_id: string;
833
+
834
+ type: 'ligand_contact';
835
+ }
836
+ }
837
+ }
838
+ }
839
+
840
+ export interface Progress {
841
+ /**
842
+ * Number of accepted proteins that reached terminal failure during screening.
843
+ */
844
+ num_proteins_failed: number;
845
+
846
+ /**
847
+ * Number of accepted proteins that produced usable screening results.
848
+ */
849
+ num_proteins_screened: number;
850
+
851
+ /**
852
+ * Total number of proteins accepted into the screening run.
853
+ */
854
+ total_proteins_to_screen: number;
855
+
856
+ /**
857
+ * ID of the latest result
858
+ */
859
+ latest_result_id?: string;
860
+ }
861
+ }
862
+
863
+ /**
864
+ * Summary of a protein library screening engine run (excludes input)
865
+ */
866
+ export interface LibraryScreenListResponse {
867
+ /**
868
+ * Unique ProteinLibraryScreenSummary identifier
869
+ */
870
+ id: string;
871
+
872
+ completed_at: string | null;
873
+
874
+ created_at: string;
875
+
876
+ /**
877
+ * When the input, output, and result data was permanently deleted. Null if data
878
+ * has not been deleted.
879
+ */
880
+ data_deleted_at: string | null;
881
+
882
+ /**
883
+ * Engine used for protein library screen
884
+ */
885
+ engine: 'boltz-protein-screen';
886
+
887
+ /**
888
+ * Engine version used for protein library screen
889
+ */
890
+ engine_version: string;
891
+
892
+ error: LibraryScreenListResponse.Error | null;
893
+
894
+ /**
895
+ * Whether this resource was created with a live API key.
896
+ */
897
+ livemode: boolean;
898
+
899
+ progress: LibraryScreenListResponse.Progress | null;
900
+
901
+ started_at: string | null;
902
+
903
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
904
+
905
+ stopped_at: string | null;
906
+
907
+ /**
908
+ * Workspace ID
909
+ */
910
+ workspace_id: string;
911
+
912
+ /**
913
+ * Client-provided idempotency key
914
+ */
915
+ idempotency_key?: string;
916
+ }
917
+
918
+ export namespace LibraryScreenListResponse {
919
+ export interface Error {
920
+ /**
921
+ * Machine-readable error code
922
+ */
923
+ code: string;
924
+
925
+ /**
926
+ * Human-readable error message
927
+ */
928
+ message: string;
929
+
930
+ /**
931
+ * Additional field-level error details keyed by input path, when available.
932
+ */
933
+ details?: unknown;
934
+ }
935
+
936
+ export interface Progress {
937
+ /**
938
+ * Number of accepted proteins that reached terminal failure during screening.
939
+ */
940
+ num_proteins_failed: number;
941
+
942
+ /**
943
+ * Number of accepted proteins that produced usable screening results.
944
+ */
945
+ num_proteins_screened: number;
946
+
947
+ /**
948
+ * Total number of proteins accepted into the screening run.
949
+ */
950
+ total_proteins_to_screen: number;
951
+
952
+ /**
953
+ * ID of the latest result
954
+ */
955
+ latest_result_id?: string;
956
+ }
957
+ }
958
+
959
+ export interface LibraryScreenDeleteDataResponse {
960
+ /**
961
+ * ID of the resource whose data was deleted
962
+ */
963
+ id: string;
964
+
965
+ data_deleted: true;
966
+
967
+ /**
968
+ * When the data was deleted
969
+ */
970
+ data_deleted_at: string;
971
+ }
972
+
973
+ /**
974
+ * Estimate response with monetary values encoded as decimal strings to preserve
975
+ * precision.
976
+ */
977
+ export interface LibraryScreenEstimateCostResponse {
978
+ /**
979
+ * Cost breakdown for the billed application.
980
+ */
981
+ breakdown: LibraryScreenEstimateCostResponse.Breakdown;
982
+
983
+ disclaimer: string;
984
+
985
+ /**
986
+ * Estimated total cost as a decimal string
987
+ */
988
+ estimated_cost_usd: string;
989
+ }
990
+
991
+ export namespace LibraryScreenEstimateCostResponse {
992
+ /**
993
+ * Cost breakdown for the billed application.
994
+ */
995
+ export interface Breakdown {
996
+ application:
997
+ | 'structure_and_binding'
998
+ | 'small_molecule_design'
999
+ | 'small_molecule_library_screen'
1000
+ | 'protein_design'
1001
+ | 'protein_library_screen'
1002
+ | 'adme';
1003
+
1004
+ /**
1005
+ * Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal
1006
+ * places. This may include token-size multipliers or generation overhead;
1007
+ * estimated_cost_usd is the authoritative total.
1008
+ */
1009
+ cost_per_unit_usd: string;
1010
+
1011
+ /**
1012
+ * Number of units shown for the estimate. For structure-and-binding, this is the
1013
+ * requested number of samples. For protein and small-molecule design/screen
1014
+ * endpoints, this is the requested number of proteins or molecules.
1015
+ */
1016
+ num_units: number;
1017
+ }
1018
+ }
1019
+
1020
+ /**
1021
+ * Result for a single screened protein
1022
+ */
1023
+ export interface LibraryScreenListResultsResponse {
1024
+ /**
1025
+ * Unique result ID
1026
+ */
1027
+ id: string;
1028
+
1029
+ artifacts: LibraryScreenListResultsResponse.Artifacts;
1030
+
1031
+ created_at: string;
1032
+
1033
+ /**
1034
+ * Entities of the screened complex. Includes both screened and fixed entities from
1035
+ * the input.
1036
+ */
1037
+ entities: Array<
1038
+ | LibraryScreenListResultsResponse.ProteinEntity
1039
+ | LibraryScreenListResultsResponse.RnaEntity
1040
+ | LibraryScreenListResultsResponse.DnaEntity
1041
+ | LibraryScreenListResultsResponse.LigandCcdEntity
1042
+ | LibraryScreenListResultsResponse.LigandSmilesEntity
1043
+ >;
1044
+
1045
+ /**
1046
+ * Structural and binding quality metrics for a screened protein
1047
+ */
1048
+ metrics: LibraryScreenListResultsResponse.Metrics;
1049
+
1050
+ /**
1051
+ * Client-provided identifier for this protein, if provided
1052
+ */
1053
+ external_id?: string;
1054
+
1055
+ /**
1056
+ * Warnings about potential quality issues with this result.
1057
+ */
1058
+ warnings?: Array<LibraryScreenListResultsResponse.Warning>;
1059
+ }
1060
+
1061
+ export namespace LibraryScreenListResultsResponse {
1062
+ export interface Artifacts {
1063
+ archive: Artifacts.Archive;
1064
+
1065
+ structure: Artifacts.Structure;
1066
+ }
1067
+
1068
+ export namespace Artifacts {
1069
+ export interface Archive {
1070
+ /**
1071
+ * URL to download the file
1072
+ */
1073
+ url: string;
1074
+
1075
+ /**
1076
+ * When the presigned URL expires
1077
+ */
1078
+ url_expires_at: string;
1079
+ }
1080
+
1081
+ export interface Structure {
1082
+ /**
1083
+ * URL to download the file
1084
+ */
1085
+ url: string;
1086
+
1087
+ /**
1088
+ * When the presigned URL expires
1089
+ */
1090
+ url_expires_at: string;
1091
+ }
1092
+ }
1093
+
1094
+ export interface ProteinEntity {
1095
+ /**
1096
+ * Chain IDs for this entity
1097
+ */
1098
+ chain_ids: Array<string>;
1099
+
1100
+ type: 'protein';
1101
+
1102
+ /**
1103
+ * Amino acid sequence (one-letter codes)
1104
+ */
1105
+ value: string;
1106
+
1107
+ /**
1108
+ * Whether the sequence is cyclic
1109
+ */
1110
+ cyclic?: boolean;
1111
+
1112
+ /**
1113
+ * Post-translational modifications. Optional; defaults to an empty list when
1114
+ * omitted.
1115
+ */
1116
+ modifications?: Array<ProteinEntity.CcdModification | ProteinEntity.SmilesModification>;
1117
+ }
1118
+
1119
+ export namespace ProteinEntity {
1120
+ export interface CcdModification {
1121
+ /**
1122
+ * 0-based index of the residue to modify
1123
+ */
1124
+ residue_index: number;
1125
+
1126
+ type: 'ccd';
1127
+
1128
+ /**
1129
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1130
+ * phosphoserine)
1131
+ */
1132
+ value: string;
1133
+ }
1134
+
1135
+ export interface SmilesModification {
1136
+ /**
1137
+ * 0-based index of the residue to modify
1138
+ */
1139
+ residue_index: number;
1140
+
1141
+ type: 'smiles';
1142
+
1143
+ /**
1144
+ * SMILES string for the modification
1145
+ */
1146
+ value: string;
1147
+ }
1148
+ }
1149
+
1150
+ export interface RnaEntity {
1151
+ /**
1152
+ * Chain IDs for this entity
1153
+ */
1154
+ chain_ids: Array<string>;
1155
+
1156
+ type: 'rna';
1157
+
1158
+ /**
1159
+ * RNA nucleotide sequence (A, C, G, U, N)
1160
+ */
1161
+ value: string;
1162
+
1163
+ /**
1164
+ * Whether the sequence is cyclic
1165
+ */
1166
+ cyclic?: boolean;
1167
+
1168
+ /**
1169
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
1170
+ */
1171
+ modifications?: Array<RnaEntity.CcdModification | RnaEntity.SmilesModification>;
1172
+ }
1173
+
1174
+ export namespace RnaEntity {
1175
+ export interface CcdModification {
1176
+ /**
1177
+ * 0-based index of the residue to modify
1178
+ */
1179
+ residue_index: number;
1180
+
1181
+ type: 'ccd';
1182
+
1183
+ /**
1184
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1185
+ * phosphoserine)
1186
+ */
1187
+ value: string;
1188
+ }
1189
+
1190
+ export interface SmilesModification {
1191
+ /**
1192
+ * 0-based index of the residue to modify
1193
+ */
1194
+ residue_index: number;
1195
+
1196
+ type: 'smiles';
1197
+
1198
+ /**
1199
+ * SMILES string for the modification
1200
+ */
1201
+ value: string;
1202
+ }
1203
+ }
1204
+
1205
+ export interface DnaEntity {
1206
+ /**
1207
+ * Chain IDs for this entity
1208
+ */
1209
+ chain_ids: Array<string>;
1210
+
1211
+ type: 'dna';
1212
+
1213
+ /**
1214
+ * DNA nucleotide sequence (A, C, G, T, N)
1215
+ */
1216
+ value: string;
1217
+
1218
+ /**
1219
+ * Whether the sequence is cyclic
1220
+ */
1221
+ cyclic?: boolean;
1222
+
1223
+ /**
1224
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
1225
+ */
1226
+ modifications?: Array<DnaEntity.CcdModification | DnaEntity.SmilesModification>;
1227
+ }
1228
+
1229
+ export namespace DnaEntity {
1230
+ export interface CcdModification {
1231
+ /**
1232
+ * 0-based index of the residue to modify
1233
+ */
1234
+ residue_index: number;
1235
+
1236
+ type: 'ccd';
1237
+
1238
+ /**
1239
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1240
+ * phosphoserine)
1241
+ */
1242
+ value: string;
1243
+ }
1244
+
1245
+ export interface SmilesModification {
1246
+ /**
1247
+ * 0-based index of the residue to modify
1248
+ */
1249
+ residue_index: number;
1250
+
1251
+ type: 'smiles';
1252
+
1253
+ /**
1254
+ * SMILES string for the modification
1255
+ */
1256
+ value: string;
1257
+ }
1258
+ }
1259
+
1260
+ export interface LigandCcdEntity {
1261
+ /**
1262
+ * Chain IDs for this ligand
1263
+ */
1264
+ chain_ids: Array<string>;
1265
+
1266
+ type: 'ligand_ccd';
1267
+
1268
+ /**
1269
+ * CCD code (e.g., ATP, ADP)
1270
+ */
1271
+ value: string;
1272
+ }
1273
+
1274
+ export interface LigandSmilesEntity {
1275
+ /**
1276
+ * Chain IDs for this ligand
1277
+ */
1278
+ chain_ids: Array<string>;
1279
+
1280
+ type: 'ligand_smiles';
1281
+
1282
+ /**
1283
+ * SMILES string representing the ligand
1284
+ */
1285
+ value: string;
1286
+ }
1287
+
1288
+ /**
1289
+ * Structural and binding quality metrics for a screened protein
1290
+ */
1291
+ export interface Metrics {
1292
+ /**
1293
+ * Confidence that the protein binds the target (0-1). Primary metric for hit
1294
+ * discovery.
1295
+ */
1296
+ binding_confidence: number;
1297
+
1298
+ /**
1299
+ * Fraction of the sequence forming alpha helices (0-1).
1300
+ */
1301
+ helix_fraction: number;
1302
+
1303
+ /**
1304
+ * Interface predicted TM score (0-1). Confidence in the protein-protein interface.
1305
+ */
1306
+ iptm: number;
1307
+
1308
+ /**
1309
+ * Fraction of the sequence in coil/loop regions (0-1).
1310
+ */
1311
+ loop_fraction: number;
1312
+
1313
+ /**
1314
+ * Minimum predicted aligned error at the interface (Angstroms). Lower values
1315
+ * indicate higher confidence.
1316
+ */
1317
+ min_interaction_pae: number;
1318
+
1319
+ /**
1320
+ * Fraction of the sequence forming beta sheets (0-1).
1321
+ */
1322
+ sheet_fraction: number;
1323
+
1324
+ /**
1325
+ * Confidence in the predicted 3D structure (0-1).
1326
+ */
1327
+ structure_confidence: number;
1328
+ }
1329
+
1330
+ /**
1331
+ * A warning about a potential quality issue with a result
1332
+ */
1333
+ export interface Warning {
1334
+ /**
1335
+ * Machine-readable warning code (e.g. "low_confidence", "unusual_geometry")
1336
+ */
1337
+ code: string;
1338
+
1339
+ /**
1340
+ * Human-readable description of the warning
1341
+ */
1342
+ message: string;
1343
+ }
1344
+ }
1345
+
1346
+ /**
1347
+ * A protein library screening engine run
1348
+ */
1349
+ export interface LibraryScreenStartResponse {
1350
+ /**
1351
+ * Unique ProteinLibraryScreen identifier
1352
+ */
1353
+ id: string;
1354
+
1355
+ completed_at: string | null;
1356
+
1357
+ created_at: string;
1358
+
1359
+ /**
1360
+ * When the input, output, and result data was permanently deleted. Null if data
1361
+ * has not been deleted.
1362
+ */
1363
+ data_deleted_at: string | null;
1364
+
1365
+ /**
1366
+ * Engine used for protein library screen
1367
+ */
1368
+ engine: 'boltz-protein-screen';
1369
+
1370
+ /**
1371
+ * Engine version used for protein library screen
1372
+ */
1373
+ engine_version: string;
1374
+
1375
+ error: LibraryScreenStartResponse.Error | null;
1376
+
1377
+ /**
1378
+ * Pipeline input (null if data deleted)
1379
+ */
1380
+ input: LibraryScreenStartResponse.Input | null;
1381
+
1382
+ /**
1383
+ * Whether this resource was created with a live API key.
1384
+ */
1385
+ livemode: boolean;
1386
+
1387
+ progress: LibraryScreenStartResponse.Progress | null;
1388
+
1389
+ started_at: string | null;
1390
+
1391
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
1392
+
1393
+ stopped_at: string | null;
1394
+
1395
+ /**
1396
+ * Workspace ID
1397
+ */
1398
+ workspace_id: string;
1399
+
1400
+ /**
1401
+ * Client-provided idempotency key
1402
+ */
1403
+ idempotency_key?: string;
1404
+ }
1405
+
1406
+ export namespace LibraryScreenStartResponse {
1407
+ export interface Error {
1408
+ /**
1409
+ * Machine-readable error code
1410
+ */
1411
+ code: string;
1412
+
1413
+ /**
1414
+ * Human-readable error message
1415
+ */
1416
+ message: string;
1417
+
1418
+ /**
1419
+ * Additional field-level error details keyed by input path, when available.
1420
+ */
1421
+ details?: unknown;
1422
+ }
1423
+
1424
+ /**
1425
+ * Pipeline input (null if data deleted)
1426
+ */
1427
+ export interface Input {
1428
+ proteins: Input.Proteins;
1429
+
1430
+ /**
1431
+ * Target specification (structure template or template-free)
1432
+ */
1433
+ target: Input.StructureTemplateTargetResponse | Input.NoTemplateTargetResponse;
1434
+ }
1435
+
1436
+ export namespace Input {
1437
+ export interface Proteins {
1438
+ /**
1439
+ * URL to download the file
1440
+ */
1441
+ url: string;
1442
+
1443
+ /**
1444
+ * When the presigned URL expires
1445
+ */
1446
+ url_expires_at: string;
1447
+ }
1448
+
1449
+ /**
1450
+ * Target defined by an uploaded 3D structure (CIF or PDB file). Only chains
1451
+ * included in chain_selection are used.
1452
+ */
1453
+ export interface StructureTemplateTargetResponse {
1454
+ /**
1455
+ * Chains selected from the uploaded structure, keyed by chain ID. Only chains
1456
+ * listed here are included in the engine run — any chains omitted from this
1457
+ * mapping are ignored. Each value defines which residues to keep, which are
1458
+ * epitope residues, and which are flexible.
1459
+ */
1460
+ chain_selection: {
1461
+ [key: string]:
1462
+ | StructureTemplateTargetResponse.StructureTemplateTargetPolymerChainSpec
1463
+ | StructureTemplateTargetResponse.StructureTemplateTargetLigandChainSpec;
1464
+ };
1465
+
1466
+ structure: StructureTemplateTargetResponse.Structure;
1467
+
1468
+ type: 'structure_template';
1469
+ }
1470
+
1471
+ export namespace StructureTemplateTargetResponse {
1472
+ /**
1473
+ * Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure
1474
+ * template target.
1475
+ */
1476
+ export interface StructureTemplateTargetPolymerChainSpec {
1477
+ chain_type: 'polymer';
1478
+
1479
+ /**
1480
+ * 0-indexed residue indices to retain from this chain, or 'all' to keep all
1481
+ * residues. Residues not listed are excluded from the engine run.
1482
+ */
1483
+ crop_residues: Array<number> | 'all';
1484
+
1485
+ /**
1486
+ * 0-indexed residue indices where binder contact is desired (the epitope). All
1487
+ * indices must be present in crop_residues.
1488
+ */
1489
+ epitope_residues?: Array<number>;
1490
+
1491
+ /**
1492
+ * 0-indexed residue indices allowed to move during design (e.g. flexible loop
1493
+ * regions). All indices must be present in crop_residues.
1494
+ */
1495
+ flexible_residues?: Array<number>;
1496
+ }
1497
+
1498
+ /**
1499
+ * Per-chain specification for a ligand chain in a structure template target. The
1500
+ * full ligand is always included.
1501
+ */
1502
+ export interface StructureTemplateTargetLigandChainSpec {
1503
+ chain_type: 'ligand';
1504
+ }
1505
+
1506
+ export interface Structure {
1507
+ /**
1508
+ * URL to download the file
1509
+ */
1510
+ url: string;
1511
+
1512
+ /**
1513
+ * When the presigned URL expires
1514
+ */
1515
+ url_expires_at: string;
1516
+ }
1517
+ }
1518
+
1519
+ /**
1520
+ * Target defined by sequences only, without a 3D structure template
1521
+ */
1522
+ export interface NoTemplateTargetResponse {
1523
+ /**
1524
+ * Entities (proteins, RNA, DNA, ligands) defining the target complex.
1525
+ */
1526
+ entities: Array<
1527
+ | NoTemplateTargetResponse.ProteinEntityResponse
1528
+ | NoTemplateTargetResponse.RnaEntityResponse
1529
+ | NoTemplateTargetResponse.DnaEntityResponse
1530
+ | NoTemplateTargetResponse.LigandCcdEntityResponse
1531
+ | NoTemplateTargetResponse.LigandSmilesEntityResponse
1532
+ >;
1533
+
1534
+ type: 'no_template';
1535
+
1536
+ /**
1537
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
1538
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
1539
+ */
1540
+ bonds?: Array<NoTemplateTargetResponse.Bond>;
1541
+
1542
+ /**
1543
+ * Structural constraints (pocket and contact). Atom-level ligand references
1544
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
1545
+ */
1546
+ constraints?: Array<
1547
+ NoTemplateTargetResponse.PocketConstraintResponse | NoTemplateTargetResponse.ContactConstraintResponse
1548
+ >;
1549
+
1550
+ /**
1551
+ * Chain IDs of ligand entities that are part of the binding epitope. Ligands are
1552
+ * marked as epitope in full (no residue-level selection).
1553
+ */
1554
+ epitope_ligand_chains?: Array<string>;
1555
+
1556
+ /**
1557
+ * Polymer chain residues where binder contact is desired (the epitope). Each key
1558
+ * is a chain ID of a polymer entity, each value is an array of 0-indexed residue
1559
+ * indices.
1560
+ */
1561
+ epitope_residues?: { [key: string]: Array<number> };
1562
+ }
1563
+
1564
+ export namespace NoTemplateTargetResponse {
1565
+ export interface ProteinEntityResponse {
1566
+ /**
1567
+ * Chain IDs for this entity
1568
+ */
1569
+ chain_ids: Array<string>;
1570
+
1571
+ type: 'protein';
1572
+
1573
+ /**
1574
+ * Amino acid sequence (one-letter codes)
1575
+ */
1576
+ value: string;
1577
+
1578
+ /**
1579
+ * Whether the sequence is cyclic
1580
+ */
1581
+ cyclic?: boolean;
1582
+
1583
+ /**
1584
+ * Post-translational modifications. Optional; defaults to an empty list when
1585
+ * omitted.
1586
+ */
1587
+ modifications?: Array<
1588
+ ProteinEntityResponse.CcdModificationResponse | ProteinEntityResponse.SmilesModificationResponse
1589
+ >;
1590
+ }
1591
+
1592
+ export namespace ProteinEntityResponse {
1593
+ export interface CcdModificationResponse {
1594
+ /**
1595
+ * 0-based index of the residue to modify
1596
+ */
1597
+ residue_index: number;
1598
+
1599
+ type: 'ccd';
1600
+
1601
+ /**
1602
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1603
+ * phosphoserine)
1604
+ */
1605
+ value: string;
1606
+ }
1607
+
1608
+ export interface SmilesModificationResponse {
1609
+ /**
1610
+ * 0-based index of the residue to modify
1611
+ */
1612
+ residue_index: number;
1613
+
1614
+ type: 'smiles';
1615
+
1616
+ /**
1617
+ * SMILES string for the modification
1618
+ */
1619
+ value: string;
1620
+ }
1621
+ }
1622
+
1623
+ export interface RnaEntityResponse {
1624
+ /**
1625
+ * Chain IDs for this entity
1626
+ */
1627
+ chain_ids: Array<string>;
1628
+
1629
+ type: 'rna';
1630
+
1631
+ /**
1632
+ * RNA nucleotide sequence (A, C, G, U, N)
1633
+ */
1634
+ value: string;
1635
+
1636
+ /**
1637
+ * Whether the sequence is cyclic
1638
+ */
1639
+ cyclic?: boolean;
1640
+
1641
+ /**
1642
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
1643
+ */
1644
+ modifications?: Array<
1645
+ RnaEntityResponse.CcdModificationResponse | RnaEntityResponse.SmilesModificationResponse
1646
+ >;
1647
+ }
1648
+
1649
+ export namespace RnaEntityResponse {
1650
+ export interface CcdModificationResponse {
1651
+ /**
1652
+ * 0-based index of the residue to modify
1653
+ */
1654
+ residue_index: number;
1655
+
1656
+ type: 'ccd';
1657
+
1658
+ /**
1659
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1660
+ * phosphoserine)
1661
+ */
1662
+ value: string;
1663
+ }
1664
+
1665
+ export interface SmilesModificationResponse {
1666
+ /**
1667
+ * 0-based index of the residue to modify
1668
+ */
1669
+ residue_index: number;
1670
+
1671
+ type: 'smiles';
1672
+
1673
+ /**
1674
+ * SMILES string for the modification
1675
+ */
1676
+ value: string;
1677
+ }
1678
+ }
1679
+
1680
+ export interface DnaEntityResponse {
1681
+ /**
1682
+ * Chain IDs for this entity
1683
+ */
1684
+ chain_ids: Array<string>;
1685
+
1686
+ type: 'dna';
1687
+
1688
+ /**
1689
+ * DNA nucleotide sequence (A, C, G, T, N)
1690
+ */
1691
+ value: string;
1692
+
1693
+ /**
1694
+ * Whether the sequence is cyclic
1695
+ */
1696
+ cyclic?: boolean;
1697
+
1698
+ /**
1699
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
1700
+ */
1701
+ modifications?: Array<
1702
+ DnaEntityResponse.CcdModificationResponse | DnaEntityResponse.SmilesModificationResponse
1703
+ >;
1704
+ }
1705
+
1706
+ export namespace DnaEntityResponse {
1707
+ export interface CcdModificationResponse {
1708
+ /**
1709
+ * 0-based index of the residue to modify
1710
+ */
1711
+ residue_index: number;
1712
+
1713
+ type: 'ccd';
1714
+
1715
+ /**
1716
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1717
+ * phosphoserine)
1718
+ */
1719
+ value: string;
1720
+ }
1721
+
1722
+ export interface SmilesModificationResponse {
1723
+ /**
1724
+ * 0-based index of the residue to modify
1725
+ */
1726
+ residue_index: number;
1727
+
1728
+ type: 'smiles';
1729
+
1730
+ /**
1731
+ * SMILES string for the modification
1732
+ */
1733
+ value: string;
1734
+ }
1735
+ }
1736
+
1737
+ export interface LigandCcdEntityResponse {
1738
+ /**
1739
+ * Chain IDs for this ligand
1740
+ */
1741
+ chain_ids: Array<string>;
1742
+
1743
+ type: 'ligand_ccd';
1744
+
1745
+ /**
1746
+ * CCD code (e.g., ATP, ADP)
1747
+ */
1748
+ value: string;
1749
+ }
1750
+
1751
+ export interface LigandSmilesEntityResponse {
1752
+ /**
1753
+ * Chain IDs for this ligand
1754
+ */
1755
+ chain_ids: Array<string>;
1756
+
1757
+ type: 'ligand_smiles';
1758
+
1759
+ /**
1760
+ * SMILES string representing the ligand
1761
+ */
1762
+ value: string;
1763
+ }
1764
+
1765
+ /**
1766
+ * Bond between two atoms. Atom-level ligand references currently support
1767
+ * ligand_ccd entities only; ligand_smiles is unsupported.
1768
+ */
1769
+ export interface Bond {
1770
+ /**
1771
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1772
+ * entities only; ligand_smiles is unsupported.
1773
+ */
1774
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1775
+
1776
+ /**
1777
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1778
+ * entities only; ligand_smiles is unsupported.
1779
+ */
1780
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1781
+ }
1782
+
1783
+ export namespace Bond {
1784
+ /**
1785
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1786
+ * entities only; ligand_smiles is unsupported.
1787
+ */
1788
+ export interface LigandAtomResponse {
1789
+ /**
1790
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1791
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1792
+ */
1793
+ atom_name: string;
1794
+
1795
+ /**
1796
+ * Chain ID containing the atom
1797
+ */
1798
+ chain_id: string;
1799
+
1800
+ type: 'ligand_atom';
1801
+ }
1802
+
1803
+ export interface PolymerAtomResponse {
1804
+ /**
1805
+ * Standardized atom name (verifiable in CIF file on RCSB)
1806
+ */
1807
+ atom_name: string;
1808
+
1809
+ /**
1810
+ * Chain ID containing the atom
1811
+ */
1812
+ chain_id: string;
1813
+
1814
+ /**
1815
+ * 0-based residue index
1816
+ */
1817
+ residue_index: number;
1818
+
1819
+ type: 'polymer_atom';
1820
+ }
1821
+
1822
+ /**
1823
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1824
+ * entities only; ligand_smiles is unsupported.
1825
+ */
1826
+ export interface LigandAtomResponse {
1827
+ /**
1828
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1829
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1830
+ */
1831
+ atom_name: string;
1832
+
1833
+ /**
1834
+ * Chain ID containing the atom
1835
+ */
1836
+ chain_id: string;
1837
+
1838
+ type: 'ligand_atom';
1839
+ }
1840
+
1841
+ export interface PolymerAtomResponse {
1842
+ /**
1843
+ * Standardized atom name (verifiable in CIF file on RCSB)
1844
+ */
1845
+ atom_name: string;
1846
+
1847
+ /**
1848
+ * Chain ID containing the atom
1849
+ */
1850
+ chain_id: string;
1851
+
1852
+ /**
1853
+ * 0-based residue index
1854
+ */
1855
+ residue_index: number;
1856
+
1857
+ type: 'polymer_atom';
1858
+ }
1859
+ }
1860
+
1861
+ /**
1862
+ * Constrains the binder to interact with specific pocket residues on the target.
1863
+ */
1864
+ export interface PocketConstraintResponse {
1865
+ /**
1866
+ * Chain ID of the binder molecule
1867
+ */
1868
+ binder_chain_id: string;
1869
+
1870
+ /**
1871
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
1872
+ * the value is an array of 0-indexed residue indices that define the pocket on
1873
+ * that chain.
1874
+ */
1875
+ contact_residues: { [key: string]: Array<number> };
1876
+
1877
+ /**
1878
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
1879
+ * Typical range: 4-8 A.
1880
+ */
1881
+ max_distance_angstrom: number;
1882
+
1883
+ type: 'pocket';
1884
+
1885
+ /**
1886
+ * Whether to force the constraint
1887
+ */
1888
+ force?: boolean;
1889
+ }
1890
+
1891
+ /**
1892
+ * Contact constraint between two tokens. Atom-level ligand references currently
1893
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
1894
+ */
1895
+ export interface ContactConstraintResponse {
1896
+ /**
1897
+ * Maximum distance in Angstroms
1898
+ */
1899
+ max_distance_angstrom: number;
1900
+
1901
+ /**
1902
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1903
+ * entities only; ligand_smiles is unsupported.
1904
+ */
1905
+ token1:
1906
+ | ContactConstraintResponse.PolymerContactTokenResponse
1907
+ | ContactConstraintResponse.LigandContactTokenResponse;
1908
+
1909
+ /**
1910
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1911
+ * entities only; ligand_smiles is unsupported.
1912
+ */
1913
+ token2:
1914
+ | ContactConstraintResponse.PolymerContactTokenResponse
1915
+ | ContactConstraintResponse.LigandContactTokenResponse;
1916
+
1917
+ type: 'contact';
1918
+
1919
+ /**
1920
+ * Whether to force the constraint
1921
+ */
1922
+ force?: boolean;
1923
+ }
1924
+
1925
+ export namespace ContactConstraintResponse {
1926
+ export interface PolymerContactTokenResponse {
1927
+ /**
1928
+ * Chain ID
1929
+ */
1930
+ chain_id: string;
1931
+
1932
+ /**
1933
+ * 0-based residue index
1934
+ */
1935
+ residue_index: number;
1936
+
1937
+ type: 'polymer_contact';
1938
+ }
1939
+
1940
+ /**
1941
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1942
+ * entities only; ligand_smiles is unsupported.
1943
+ */
1944
+ export interface LigandContactTokenResponse {
1945
+ /**
1946
+ * Atom name. Atom-level references to ligand_smiles entities are currently
1947
+ * unsupported; use ligand_ccd instead.
1948
+ */
1949
+ atom_name: string;
1950
+
1951
+ /**
1952
+ * Chain ID
1953
+ */
1954
+ chain_id: string;
1955
+
1956
+ type: 'ligand_contact';
1957
+ }
1958
+
1959
+ export interface PolymerContactTokenResponse {
1960
+ /**
1961
+ * Chain ID
1962
+ */
1963
+ chain_id: string;
1964
+
1965
+ /**
1966
+ * 0-based residue index
1967
+ */
1968
+ residue_index: number;
1969
+
1970
+ type: 'polymer_contact';
1971
+ }
1972
+
1973
+ /**
1974
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1975
+ * entities only; ligand_smiles is unsupported.
1976
+ */
1977
+ export interface LigandContactTokenResponse {
1978
+ /**
1979
+ * Atom name. Atom-level references to ligand_smiles entities are currently
1980
+ * unsupported; use ligand_ccd instead.
1981
+ */
1982
+ atom_name: string;
1983
+
1984
+ /**
1985
+ * Chain ID
1986
+ */
1987
+ chain_id: string;
1988
+
1989
+ type: 'ligand_contact';
1990
+ }
1991
+ }
1992
+ }
1993
+ }
1994
+
1995
+ export interface Progress {
1996
+ /**
1997
+ * Number of accepted proteins that reached terminal failure during screening.
1998
+ */
1999
+ num_proteins_failed: number;
2000
+
2001
+ /**
2002
+ * Number of accepted proteins that produced usable screening results.
2003
+ */
2004
+ num_proteins_screened: number;
2005
+
2006
+ /**
2007
+ * Total number of proteins accepted into the screening run.
2008
+ */
2009
+ total_proteins_to_screen: number;
2010
+
2011
+ /**
2012
+ * ID of the latest result
2013
+ */
2014
+ latest_result_id?: string;
2015
+ }
2016
+ }
2017
+
2018
+ /**
2019
+ * A protein library screening engine run
2020
+ */
2021
+ export interface LibraryScreenStopResponse {
2022
+ /**
2023
+ * Unique ProteinLibraryScreen identifier
2024
+ */
2025
+ id: string;
2026
+
2027
+ completed_at: string | null;
2028
+
2029
+ created_at: string;
2030
+
2031
+ /**
2032
+ * When the input, output, and result data was permanently deleted. Null if data
2033
+ * has not been deleted.
2034
+ */
2035
+ data_deleted_at: string | null;
2036
+
2037
+ /**
2038
+ * Engine used for protein library screen
2039
+ */
2040
+ engine: 'boltz-protein-screen';
2041
+
2042
+ /**
2043
+ * Engine version used for protein library screen
2044
+ */
2045
+ engine_version: string;
2046
+
2047
+ error: LibraryScreenStopResponse.Error | null;
2048
+
2049
+ /**
2050
+ * Pipeline input (null if data deleted)
2051
+ */
2052
+ input: LibraryScreenStopResponse.Input | null;
2053
+
2054
+ /**
2055
+ * Whether this resource was created with a live API key.
2056
+ */
2057
+ livemode: boolean;
2058
+
2059
+ progress: LibraryScreenStopResponse.Progress | null;
2060
+
2061
+ started_at: string | null;
2062
+
2063
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
2064
+
2065
+ stopped_at: string | null;
2066
+
2067
+ /**
2068
+ * Workspace ID
2069
+ */
2070
+ workspace_id: string;
2071
+
2072
+ /**
2073
+ * Client-provided idempotency key
2074
+ */
2075
+ idempotency_key?: string;
2076
+ }
2077
+
2078
+ export namespace LibraryScreenStopResponse {
2079
+ export interface Error {
2080
+ /**
2081
+ * Machine-readable error code
2082
+ */
2083
+ code: string;
2084
+
2085
+ /**
2086
+ * Human-readable error message
2087
+ */
2088
+ message: string;
2089
+
2090
+ /**
2091
+ * Additional field-level error details keyed by input path, when available.
2092
+ */
2093
+ details?: unknown;
2094
+ }
2095
+
2096
+ /**
2097
+ * Pipeline input (null if data deleted)
2098
+ */
2099
+ export interface Input {
2100
+ proteins: Input.Proteins;
2101
+
2102
+ /**
2103
+ * Target specification (structure template or template-free)
2104
+ */
2105
+ target: Input.StructureTemplateTargetResponse | Input.NoTemplateTargetResponse;
2106
+ }
2107
+
2108
+ export namespace Input {
2109
+ export interface Proteins {
2110
+ /**
2111
+ * URL to download the file
2112
+ */
2113
+ url: string;
2114
+
2115
+ /**
2116
+ * When the presigned URL expires
2117
+ */
2118
+ url_expires_at: string;
2119
+ }
2120
+
2121
+ /**
2122
+ * Target defined by an uploaded 3D structure (CIF or PDB file). Only chains
2123
+ * included in chain_selection are used.
2124
+ */
2125
+ export interface StructureTemplateTargetResponse {
2126
+ /**
2127
+ * Chains selected from the uploaded structure, keyed by chain ID. Only chains
2128
+ * listed here are included in the engine run — any chains omitted from this
2129
+ * mapping are ignored. Each value defines which residues to keep, which are
2130
+ * epitope residues, and which are flexible.
2131
+ */
2132
+ chain_selection: {
2133
+ [key: string]:
2134
+ | StructureTemplateTargetResponse.StructureTemplateTargetPolymerChainSpec
2135
+ | StructureTemplateTargetResponse.StructureTemplateTargetLigandChainSpec;
2136
+ };
2137
+
2138
+ structure: StructureTemplateTargetResponse.Structure;
2139
+
2140
+ type: 'structure_template';
2141
+ }
2142
+
2143
+ export namespace StructureTemplateTargetResponse {
2144
+ /**
2145
+ * Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure
2146
+ * template target.
2147
+ */
2148
+ export interface StructureTemplateTargetPolymerChainSpec {
2149
+ chain_type: 'polymer';
2150
+
2151
+ /**
2152
+ * 0-indexed residue indices to retain from this chain, or 'all' to keep all
2153
+ * residues. Residues not listed are excluded from the engine run.
2154
+ */
2155
+ crop_residues: Array<number> | 'all';
2156
+
2157
+ /**
2158
+ * 0-indexed residue indices where binder contact is desired (the epitope). All
2159
+ * indices must be present in crop_residues.
2160
+ */
2161
+ epitope_residues?: Array<number>;
2162
+
2163
+ /**
2164
+ * 0-indexed residue indices allowed to move during design (e.g. flexible loop
2165
+ * regions). All indices must be present in crop_residues.
2166
+ */
2167
+ flexible_residues?: Array<number>;
2168
+ }
2169
+
2170
+ /**
2171
+ * Per-chain specification for a ligand chain in a structure template target. The
2172
+ * full ligand is always included.
2173
+ */
2174
+ export interface StructureTemplateTargetLigandChainSpec {
2175
+ chain_type: 'ligand';
2176
+ }
2177
+
2178
+ export interface Structure {
2179
+ /**
2180
+ * URL to download the file
2181
+ */
2182
+ url: string;
2183
+
2184
+ /**
2185
+ * When the presigned URL expires
2186
+ */
2187
+ url_expires_at: string;
2188
+ }
2189
+ }
2190
+
2191
+ /**
2192
+ * Target defined by sequences only, without a 3D structure template
2193
+ */
2194
+ export interface NoTemplateTargetResponse {
2195
+ /**
2196
+ * Entities (proteins, RNA, DNA, ligands) defining the target complex.
2197
+ */
2198
+ entities: Array<
2199
+ | NoTemplateTargetResponse.ProteinEntityResponse
2200
+ | NoTemplateTargetResponse.RnaEntityResponse
2201
+ | NoTemplateTargetResponse.DnaEntityResponse
2202
+ | NoTemplateTargetResponse.LigandCcdEntityResponse
2203
+ | NoTemplateTargetResponse.LigandSmilesEntityResponse
2204
+ >;
2205
+
2206
+ type: 'no_template';
2207
+
2208
+ /**
2209
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
2210
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
2211
+ */
2212
+ bonds?: Array<NoTemplateTargetResponse.Bond>;
2213
+
2214
+ /**
2215
+ * Structural constraints (pocket and contact). Atom-level ligand references
2216
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
2217
+ */
2218
+ constraints?: Array<
2219
+ NoTemplateTargetResponse.PocketConstraintResponse | NoTemplateTargetResponse.ContactConstraintResponse
2220
+ >;
2221
+
2222
+ /**
2223
+ * Chain IDs of ligand entities that are part of the binding epitope. Ligands are
2224
+ * marked as epitope in full (no residue-level selection).
2225
+ */
2226
+ epitope_ligand_chains?: Array<string>;
2227
+
2228
+ /**
2229
+ * Polymer chain residues where binder contact is desired (the epitope). Each key
2230
+ * is a chain ID of a polymer entity, each value is an array of 0-indexed residue
2231
+ * indices.
2232
+ */
2233
+ epitope_residues?: { [key: string]: Array<number> };
2234
+ }
2235
+
2236
+ export namespace NoTemplateTargetResponse {
2237
+ export interface ProteinEntityResponse {
2238
+ /**
2239
+ * Chain IDs for this entity
2240
+ */
2241
+ chain_ids: Array<string>;
2242
+
2243
+ type: 'protein';
2244
+
2245
+ /**
2246
+ * Amino acid sequence (one-letter codes)
2247
+ */
2248
+ value: string;
2249
+
2250
+ /**
2251
+ * Whether the sequence is cyclic
2252
+ */
2253
+ cyclic?: boolean;
2254
+
2255
+ /**
2256
+ * Post-translational modifications. Optional; defaults to an empty list when
2257
+ * omitted.
2258
+ */
2259
+ modifications?: Array<
2260
+ ProteinEntityResponse.CcdModificationResponse | ProteinEntityResponse.SmilesModificationResponse
2261
+ >;
2262
+ }
2263
+
2264
+ export namespace ProteinEntityResponse {
2265
+ export interface CcdModificationResponse {
2266
+ /**
2267
+ * 0-based index of the residue to modify
2268
+ */
2269
+ residue_index: number;
2270
+
2271
+ type: 'ccd';
2272
+
2273
+ /**
2274
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2275
+ * phosphoserine)
2276
+ */
2277
+ value: string;
2278
+ }
2279
+
2280
+ export interface SmilesModificationResponse {
2281
+ /**
2282
+ * 0-based index of the residue to modify
2283
+ */
2284
+ residue_index: number;
2285
+
2286
+ type: 'smiles';
2287
+
2288
+ /**
2289
+ * SMILES string for the modification
2290
+ */
2291
+ value: string;
2292
+ }
2293
+ }
2294
+
2295
+ export interface RnaEntityResponse {
2296
+ /**
2297
+ * Chain IDs for this entity
2298
+ */
2299
+ chain_ids: Array<string>;
2300
+
2301
+ type: 'rna';
2302
+
2303
+ /**
2304
+ * RNA nucleotide sequence (A, C, G, U, N)
2305
+ */
2306
+ value: string;
2307
+
2308
+ /**
2309
+ * Whether the sequence is cyclic
2310
+ */
2311
+ cyclic?: boolean;
2312
+
2313
+ /**
2314
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
2315
+ */
2316
+ modifications?: Array<
2317
+ RnaEntityResponse.CcdModificationResponse | RnaEntityResponse.SmilesModificationResponse
2318
+ >;
2319
+ }
2320
+
2321
+ export namespace RnaEntityResponse {
2322
+ export interface CcdModificationResponse {
2323
+ /**
2324
+ * 0-based index of the residue to modify
2325
+ */
2326
+ residue_index: number;
2327
+
2328
+ type: 'ccd';
2329
+
2330
+ /**
2331
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2332
+ * phosphoserine)
2333
+ */
2334
+ value: string;
2335
+ }
2336
+
2337
+ export interface SmilesModificationResponse {
2338
+ /**
2339
+ * 0-based index of the residue to modify
2340
+ */
2341
+ residue_index: number;
2342
+
2343
+ type: 'smiles';
2344
+
2345
+ /**
2346
+ * SMILES string for the modification
2347
+ */
2348
+ value: string;
2349
+ }
2350
+ }
2351
+
2352
+ export interface DnaEntityResponse {
2353
+ /**
2354
+ * Chain IDs for this entity
2355
+ */
2356
+ chain_ids: Array<string>;
2357
+
2358
+ type: 'dna';
2359
+
2360
+ /**
2361
+ * DNA nucleotide sequence (A, C, G, T, N)
2362
+ */
2363
+ value: string;
2364
+
2365
+ /**
2366
+ * Whether the sequence is cyclic
2367
+ */
2368
+ cyclic?: boolean;
2369
+
2370
+ /**
2371
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
2372
+ */
2373
+ modifications?: Array<
2374
+ DnaEntityResponse.CcdModificationResponse | DnaEntityResponse.SmilesModificationResponse
2375
+ >;
2376
+ }
2377
+
2378
+ export namespace DnaEntityResponse {
2379
+ export interface CcdModificationResponse {
2380
+ /**
2381
+ * 0-based index of the residue to modify
2382
+ */
2383
+ residue_index: number;
2384
+
2385
+ type: 'ccd';
2386
+
2387
+ /**
2388
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2389
+ * phosphoserine)
2390
+ */
2391
+ value: string;
2392
+ }
2393
+
2394
+ export interface SmilesModificationResponse {
2395
+ /**
2396
+ * 0-based index of the residue to modify
2397
+ */
2398
+ residue_index: number;
2399
+
2400
+ type: 'smiles';
2401
+
2402
+ /**
2403
+ * SMILES string for the modification
2404
+ */
2405
+ value: string;
2406
+ }
2407
+ }
2408
+
2409
+ export interface LigandCcdEntityResponse {
2410
+ /**
2411
+ * Chain IDs for this ligand
2412
+ */
2413
+ chain_ids: Array<string>;
2414
+
2415
+ type: 'ligand_ccd';
2416
+
2417
+ /**
2418
+ * CCD code (e.g., ATP, ADP)
2419
+ */
2420
+ value: string;
2421
+ }
2422
+
2423
+ export interface LigandSmilesEntityResponse {
2424
+ /**
2425
+ * Chain IDs for this ligand
2426
+ */
2427
+ chain_ids: Array<string>;
2428
+
2429
+ type: 'ligand_smiles';
2430
+
2431
+ /**
2432
+ * SMILES string representing the ligand
2433
+ */
2434
+ value: string;
2435
+ }
2436
+
2437
+ /**
2438
+ * Bond between two atoms. Atom-level ligand references currently support
2439
+ * ligand_ccd entities only; ligand_smiles is unsupported.
2440
+ */
2441
+ export interface Bond {
2442
+ /**
2443
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2444
+ * entities only; ligand_smiles is unsupported.
2445
+ */
2446
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
2447
+
2448
+ /**
2449
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2450
+ * entities only; ligand_smiles is unsupported.
2451
+ */
2452
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
2453
+ }
2454
+
2455
+ export namespace Bond {
2456
+ /**
2457
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2458
+ * entities only; ligand_smiles is unsupported.
2459
+ */
2460
+ export interface LigandAtomResponse {
2461
+ /**
2462
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
2463
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
2464
+ */
2465
+ atom_name: string;
2466
+
2467
+ /**
2468
+ * Chain ID containing the atom
2469
+ */
2470
+ chain_id: string;
2471
+
2472
+ type: 'ligand_atom';
2473
+ }
2474
+
2475
+ export interface PolymerAtomResponse {
2476
+ /**
2477
+ * Standardized atom name (verifiable in CIF file on RCSB)
2478
+ */
2479
+ atom_name: string;
2480
+
2481
+ /**
2482
+ * Chain ID containing the atom
2483
+ */
2484
+ chain_id: string;
2485
+
2486
+ /**
2487
+ * 0-based residue index
2488
+ */
2489
+ residue_index: number;
2490
+
2491
+ type: 'polymer_atom';
2492
+ }
2493
+
2494
+ /**
2495
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2496
+ * entities only; ligand_smiles is unsupported.
2497
+ */
2498
+ export interface LigandAtomResponse {
2499
+ /**
2500
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
2501
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
2502
+ */
2503
+ atom_name: string;
2504
+
2505
+ /**
2506
+ * Chain ID containing the atom
2507
+ */
2508
+ chain_id: string;
2509
+
2510
+ type: 'ligand_atom';
2511
+ }
2512
+
2513
+ export interface PolymerAtomResponse {
2514
+ /**
2515
+ * Standardized atom name (verifiable in CIF file on RCSB)
2516
+ */
2517
+ atom_name: string;
2518
+
2519
+ /**
2520
+ * Chain ID containing the atom
2521
+ */
2522
+ chain_id: string;
2523
+
2524
+ /**
2525
+ * 0-based residue index
2526
+ */
2527
+ residue_index: number;
2528
+
2529
+ type: 'polymer_atom';
2530
+ }
2531
+ }
2532
+
2533
+ /**
2534
+ * Constrains the binder to interact with specific pocket residues on the target.
2535
+ */
2536
+ export interface PocketConstraintResponse {
2537
+ /**
2538
+ * Chain ID of the binder molecule
2539
+ */
2540
+ binder_chain_id: string;
2541
+
2542
+ /**
2543
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
2544
+ * the value is an array of 0-indexed residue indices that define the pocket on
2545
+ * that chain.
2546
+ */
2547
+ contact_residues: { [key: string]: Array<number> };
2548
+
2549
+ /**
2550
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
2551
+ * Typical range: 4-8 A.
2552
+ */
2553
+ max_distance_angstrom: number;
2554
+
2555
+ type: 'pocket';
2556
+
2557
+ /**
2558
+ * Whether to force the constraint
2559
+ */
2560
+ force?: boolean;
2561
+ }
2562
+
2563
+ /**
2564
+ * Contact constraint between two tokens. Atom-level ligand references currently
2565
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
2566
+ */
2567
+ export interface ContactConstraintResponse {
2568
+ /**
2569
+ * Maximum distance in Angstroms
2570
+ */
2571
+ max_distance_angstrom: number;
2572
+
2573
+ /**
2574
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2575
+ * entities only; ligand_smiles is unsupported.
2576
+ */
2577
+ token1:
2578
+ | ContactConstraintResponse.PolymerContactTokenResponse
2579
+ | ContactConstraintResponse.LigandContactTokenResponse;
2580
+
2581
+ /**
2582
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2583
+ * entities only; ligand_smiles is unsupported.
2584
+ */
2585
+ token2:
2586
+ | ContactConstraintResponse.PolymerContactTokenResponse
2587
+ | ContactConstraintResponse.LigandContactTokenResponse;
2588
+
2589
+ type: 'contact';
2590
+
2591
+ /**
2592
+ * Whether to force the constraint
2593
+ */
2594
+ force?: boolean;
2595
+ }
2596
+
2597
+ export namespace ContactConstraintResponse {
2598
+ export interface PolymerContactTokenResponse {
2599
+ /**
2600
+ * Chain ID
2601
+ */
2602
+ chain_id: string;
2603
+
2604
+ /**
2605
+ * 0-based residue index
2606
+ */
2607
+ residue_index: number;
2608
+
2609
+ type: 'polymer_contact';
2610
+ }
2611
+
2612
+ /**
2613
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2614
+ * entities only; ligand_smiles is unsupported.
2615
+ */
2616
+ export interface LigandContactTokenResponse {
2617
+ /**
2618
+ * Atom name. Atom-level references to ligand_smiles entities are currently
2619
+ * unsupported; use ligand_ccd instead.
2620
+ */
2621
+ atom_name: string;
2622
+
2623
+ /**
2624
+ * Chain ID
2625
+ */
2626
+ chain_id: string;
2627
+
2628
+ type: 'ligand_contact';
2629
+ }
2630
+
2631
+ export interface PolymerContactTokenResponse {
2632
+ /**
2633
+ * Chain ID
2634
+ */
2635
+ chain_id: string;
2636
+
2637
+ /**
2638
+ * 0-based residue index
2639
+ */
2640
+ residue_index: number;
2641
+
2642
+ type: 'polymer_contact';
2643
+ }
2644
+
2645
+ /**
2646
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2647
+ * entities only; ligand_smiles is unsupported.
2648
+ */
2649
+ export interface LigandContactTokenResponse {
2650
+ /**
2651
+ * Atom name. Atom-level references to ligand_smiles entities are currently
2652
+ * unsupported; use ligand_ccd instead.
2653
+ */
2654
+ atom_name: string;
2655
+
2656
+ /**
2657
+ * Chain ID
2658
+ */
2659
+ chain_id: string;
2660
+
2661
+ type: 'ligand_contact';
2662
+ }
2663
+ }
2664
+ }
2665
+ }
2666
+
2667
+ export interface Progress {
2668
+ /**
2669
+ * Number of accepted proteins that reached terminal failure during screening.
2670
+ */
2671
+ num_proteins_failed: number;
2672
+
2673
+ /**
2674
+ * Number of accepted proteins that produced usable screening results.
2675
+ */
2676
+ num_proteins_screened: number;
2677
+
2678
+ /**
2679
+ * Total number of proteins accepted into the screening run.
2680
+ */
2681
+ total_proteins_to_screen: number;
2682
+
2683
+ /**
2684
+ * ID of the latest result
2685
+ */
2686
+ latest_result_id?: string;
2687
+ }
2688
+ }
2689
+
2690
+ export interface LibraryScreenRetrieveParams {
2691
+ /**
2692
+ * Workspace ID. Only used with admin API keys. Ignored (or validated) for
2693
+ * workspace-scoped keys.
2694
+ */
2695
+ workspace_id?: string;
2696
+ }
2697
+
2698
+ export interface LibraryScreenListParams extends CursorPageParams {
2699
+ /**
2700
+ * Filter by workspace ID. Only used with admin API keys. If not provided, defaults
2701
+ * to the workspace associated with the API key, or the default workspace for admin
2702
+ * keys.
2703
+ */
2704
+ workspace_id?: string;
2705
+ }
2706
+
2707
+ export interface LibraryScreenEstimateCostParams {
2708
+ /**
2709
+ * List of protein entries to screen.
2710
+ */
2711
+ proteins: Array<LibraryScreenEstimateCostParams.Protein>;
2712
+
2713
+ /**
2714
+ * Target specification (structure template or template-free)
2715
+ */
2716
+ target:
2717
+ | LibraryScreenEstimateCostParams.StructureTemplateTarget
2718
+ | LibraryScreenEstimateCostParams.NoTemplateTarget;
2719
+
2720
+ /**
2721
+ * Client-provided key to prevent duplicate submissions on retries
2722
+ */
2723
+ idempotency_key?: string;
2724
+
2725
+ /**
2726
+ * Target workspace ID (admin keys only; ignored for workspace keys)
2727
+ */
2728
+ workspace_id?: string;
2729
+ }
2730
+
2731
+ export namespace LibraryScreenEstimateCostParams {
2732
+ /**
2733
+ * A protein screen entry with entities and optional ID
2734
+ */
2735
+ export interface Protein {
2736
+ /**
2737
+ * Entities that make up this protein complex
2738
+ */
2739
+ entities: Array<
2740
+ | Protein.ProteinEntity
2741
+ | Protein.RnaEntity
2742
+ | Protein.DnaEntity
2743
+ | Protein.LigandCcdEntity
2744
+ | Protein.LigandSmilesEntity
2745
+ >;
2746
+
2747
+ /**
2748
+ * Optional client-provided identifier for this entry
2749
+ */
2750
+ id?: string;
2751
+ }
2752
+
2753
+ export namespace Protein {
2754
+ export interface ProteinEntity {
2755
+ /**
2756
+ * Chain IDs for this entity
2757
+ */
2758
+ chain_ids: Array<string>;
2759
+
2760
+ type: 'protein';
2761
+
2762
+ /**
2763
+ * Amino acid sequence (one-letter codes)
2764
+ */
2765
+ value: string;
2766
+
2767
+ /**
2768
+ * Whether the sequence is cyclic
2769
+ */
2770
+ cyclic?: boolean;
2771
+
2772
+ /**
2773
+ * Post-translational modifications. Optional; defaults to an empty list when
2774
+ * omitted.
2775
+ */
2776
+ modifications?: Array<ProteinEntity.CcdModification | ProteinEntity.SmilesModification>;
2777
+ }
2778
+
2779
+ export namespace ProteinEntity {
2780
+ export interface CcdModification {
2781
+ /**
2782
+ * 0-based index of the residue to modify
2783
+ */
2784
+ residue_index: number;
2785
+
2786
+ type: 'ccd';
2787
+
2788
+ /**
2789
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2790
+ * phosphoserine)
2791
+ */
2792
+ value: string;
2793
+ }
2794
+
2795
+ export interface SmilesModification {
2796
+ /**
2797
+ * 0-based index of the residue to modify
2798
+ */
2799
+ residue_index: number;
2800
+
2801
+ type: 'smiles';
2802
+
2803
+ /**
2804
+ * SMILES string for the modification
2805
+ */
2806
+ value: string;
2807
+ }
2808
+ }
2809
+
2810
+ export interface RnaEntity {
2811
+ /**
2812
+ * Chain IDs for this entity
2813
+ */
2814
+ chain_ids: Array<string>;
2815
+
2816
+ type: 'rna';
2817
+
2818
+ /**
2819
+ * RNA nucleotide sequence (A, C, G, U, N)
2820
+ */
2821
+ value: string;
2822
+
2823
+ /**
2824
+ * Whether the sequence is cyclic
2825
+ */
2826
+ cyclic?: boolean;
2827
+
2828
+ /**
2829
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
2830
+ */
2831
+ modifications?: Array<RnaEntity.CcdModification | RnaEntity.SmilesModification>;
2832
+ }
2833
+
2834
+ export namespace RnaEntity {
2835
+ export interface CcdModification {
2836
+ /**
2837
+ * 0-based index of the residue to modify
2838
+ */
2839
+ residue_index: number;
2840
+
2841
+ type: 'ccd';
2842
+
2843
+ /**
2844
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2845
+ * phosphoserine)
2846
+ */
2847
+ value: string;
2848
+ }
2849
+
2850
+ export interface SmilesModification {
2851
+ /**
2852
+ * 0-based index of the residue to modify
2853
+ */
2854
+ residue_index: number;
2855
+
2856
+ type: 'smiles';
2857
+
2858
+ /**
2859
+ * SMILES string for the modification
2860
+ */
2861
+ value: string;
2862
+ }
2863
+ }
2864
+
2865
+ export interface DnaEntity {
2866
+ /**
2867
+ * Chain IDs for this entity
2868
+ */
2869
+ chain_ids: Array<string>;
2870
+
2871
+ type: 'dna';
2872
+
2873
+ /**
2874
+ * DNA nucleotide sequence (A, C, G, T, N)
2875
+ */
2876
+ value: string;
2877
+
2878
+ /**
2879
+ * Whether the sequence is cyclic
2880
+ */
2881
+ cyclic?: boolean;
2882
+
2883
+ /**
2884
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
2885
+ */
2886
+ modifications?: Array<DnaEntity.CcdModification | DnaEntity.SmilesModification>;
2887
+ }
2888
+
2889
+ export namespace DnaEntity {
2890
+ export interface CcdModification {
2891
+ /**
2892
+ * 0-based index of the residue to modify
2893
+ */
2894
+ residue_index: number;
2895
+
2896
+ type: 'ccd';
2897
+
2898
+ /**
2899
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2900
+ * phosphoserine)
2901
+ */
2902
+ value: string;
2903
+ }
2904
+
2905
+ export interface SmilesModification {
2906
+ /**
2907
+ * 0-based index of the residue to modify
2908
+ */
2909
+ residue_index: number;
2910
+
2911
+ type: 'smiles';
2912
+
2913
+ /**
2914
+ * SMILES string for the modification
2915
+ */
2916
+ value: string;
2917
+ }
2918
+ }
2919
+
2920
+ export interface LigandCcdEntity {
2921
+ /**
2922
+ * Chain IDs for this ligand
2923
+ */
2924
+ chain_ids: Array<string>;
2925
+
2926
+ type: 'ligand_ccd';
2927
+
2928
+ /**
2929
+ * CCD code (e.g., ATP, ADP)
2930
+ */
2931
+ value: string;
2932
+ }
2933
+
2934
+ export interface LigandSmilesEntity {
2935
+ /**
2936
+ * Chain IDs for this ligand
2937
+ */
2938
+ chain_ids: Array<string>;
2939
+
2940
+ type: 'ligand_smiles';
2941
+
2942
+ /**
2943
+ * SMILES string representing the ligand
2944
+ */
2945
+ value: string;
2946
+ }
2947
+ }
2948
+
2949
+ /**
2950
+ * Target defined by an uploaded 3D structure (CIF or PDB file). Only chains
2951
+ * included in chain_selection are used.
2952
+ */
2953
+ export interface StructureTemplateTarget {
2954
+ /**
2955
+ * Chains selected from the uploaded structure, keyed by chain ID. Only chains
2956
+ * listed here are included in the engine run — any chains omitted from this
2957
+ * mapping are ignored. Each value defines which residues to keep, which are
2958
+ * epitope residues, and which are flexible.
2959
+ */
2960
+ chain_selection: {
2961
+ [key: string]:
2962
+ | StructureTemplateTarget.StructureTemplateTargetPolymerChainSpec
2963
+ | StructureTemplateTarget.StructureTemplateTargetLigandChainSpec;
2964
+ };
2965
+
2966
+ /**
2967
+ * How to provide a CIF structure file. URLs are auto-detected; base64 uploads must
2968
+ * use chemical/x-cif media type.
2969
+ */
2970
+ structure: StructureTemplateTarget.URLSource | StructureTemplateTarget.CifBase64Source;
2971
+
2972
+ type: 'structure_template';
2973
+ }
2974
+
2975
+ export namespace StructureTemplateTarget {
2976
+ /**
2977
+ * Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure
2978
+ * template target.
2979
+ */
2980
+ export interface StructureTemplateTargetPolymerChainSpec {
2981
+ chain_type: 'polymer';
2982
+
2983
+ /**
2984
+ * 0-indexed residue indices to retain from this chain, or 'all' to keep all
2985
+ * residues. Residues not listed are excluded from the engine run.
2986
+ */
2987
+ crop_residues: Array<number> | 'all';
2988
+
2989
+ /**
2990
+ * 0-indexed residue indices where binder contact is desired (the epitope). All
2991
+ * indices must be present in crop_residues.
2992
+ */
2993
+ epitope_residues?: Array<number>;
2994
+
2995
+ /**
2996
+ * 0-indexed residue indices allowed to move during design (e.g. flexible loop
2997
+ * regions). All indices must be present in crop_residues.
2998
+ */
2999
+ flexible_residues?: Array<number>;
3000
+ }
3001
+
3002
+ /**
3003
+ * Per-chain specification for a ligand chain in a structure template target. The
3004
+ * full ligand is always included.
3005
+ */
3006
+ export interface StructureTemplateTargetLigandChainSpec {
3007
+ chain_type: 'ligand';
3008
+ }
3009
+
3010
+ export interface URLSource {
3011
+ type: 'url';
3012
+
3013
+ url: string;
3014
+ }
3015
+
3016
+ export interface CifBase64Source {
3017
+ /**
3018
+ * Base64-encoded CIF file contents
3019
+ */
3020
+ data: string;
3021
+
3022
+ /**
3023
+ * Must be chemical/x-cif for CIF files
3024
+ */
3025
+ media_type: 'chemical/x-cif';
3026
+
3027
+ type: 'base64';
3028
+ }
3029
+ }
3030
+
3031
+ /**
3032
+ * Target defined by sequences only, without a 3D structure template
3033
+ */
3034
+ export interface NoTemplateTarget {
3035
+ /**
3036
+ * Entities (proteins, RNA, DNA, ligands) defining the target complex.
3037
+ */
3038
+ entities: Array<
3039
+ | NoTemplateTarget.ProteinEntity
3040
+ | NoTemplateTarget.RnaEntity
3041
+ | NoTemplateTarget.DnaEntity
3042
+ | NoTemplateTarget.LigandCcdEntity
3043
+ | NoTemplateTarget.LigandSmilesEntity
3044
+ >;
3045
+
3046
+ type: 'no_template';
3047
+
3048
+ /**
3049
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
3050
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
3051
+ */
3052
+ bonds?: Array<NoTemplateTarget.Bond>;
3053
+
3054
+ /**
3055
+ * Structural constraints (pocket and contact). Atom-level ligand references
3056
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
3057
+ */
3058
+ constraints?: Array<NoTemplateTarget.PocketConstraint | NoTemplateTarget.ContactConstraint>;
3059
+
3060
+ /**
3061
+ * Chain IDs of ligand entities that are part of the binding epitope. Ligands are
3062
+ * marked as epitope in full (no residue-level selection).
3063
+ */
3064
+ epitope_ligand_chains?: Array<string>;
3065
+
3066
+ /**
3067
+ * Polymer chain residues where binder contact is desired (the epitope). Each key
3068
+ * is a chain ID of a polymer entity, each value is an array of 0-indexed residue
3069
+ * indices.
3070
+ */
3071
+ epitope_residues?: { [key: string]: Array<number> };
3072
+ }
3073
+
3074
+ export namespace NoTemplateTarget {
3075
+ export interface ProteinEntity {
3076
+ /**
3077
+ * Chain IDs for this entity
3078
+ */
3079
+ chain_ids: Array<string>;
3080
+
3081
+ type: 'protein';
3082
+
3083
+ /**
3084
+ * Amino acid sequence (one-letter codes)
3085
+ */
3086
+ value: string;
3087
+
3088
+ /**
3089
+ * Whether the sequence is cyclic
3090
+ */
3091
+ cyclic?: boolean;
3092
+
3093
+ /**
3094
+ * Post-translational modifications. Optional; defaults to an empty list when
3095
+ * omitted.
3096
+ */
3097
+ modifications?: Array<ProteinEntity.CcdModification | ProteinEntity.SmilesModification>;
3098
+ }
3099
+
3100
+ export namespace ProteinEntity {
3101
+ export interface CcdModification {
3102
+ /**
3103
+ * 0-based index of the residue to modify
3104
+ */
3105
+ residue_index: number;
3106
+
3107
+ type: 'ccd';
3108
+
3109
+ /**
3110
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3111
+ * phosphoserine)
3112
+ */
3113
+ value: string;
3114
+ }
3115
+
3116
+ export interface SmilesModification {
3117
+ /**
3118
+ * 0-based index of the residue to modify
3119
+ */
3120
+ residue_index: number;
3121
+
3122
+ type: 'smiles';
3123
+
3124
+ /**
3125
+ * SMILES string for the modification
3126
+ */
3127
+ value: string;
3128
+ }
3129
+ }
3130
+
3131
+ export interface RnaEntity {
3132
+ /**
3133
+ * Chain IDs for this entity
3134
+ */
3135
+ chain_ids: Array<string>;
3136
+
3137
+ type: 'rna';
3138
+
3139
+ /**
3140
+ * RNA nucleotide sequence (A, C, G, U, N)
3141
+ */
3142
+ value: string;
3143
+
3144
+ /**
3145
+ * Whether the sequence is cyclic
3146
+ */
3147
+ cyclic?: boolean;
3148
+
3149
+ /**
3150
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
3151
+ */
3152
+ modifications?: Array<RnaEntity.CcdModification | RnaEntity.SmilesModification>;
3153
+ }
3154
+
3155
+ export namespace RnaEntity {
3156
+ export interface CcdModification {
3157
+ /**
3158
+ * 0-based index of the residue to modify
3159
+ */
3160
+ residue_index: number;
3161
+
3162
+ type: 'ccd';
3163
+
3164
+ /**
3165
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3166
+ * phosphoserine)
3167
+ */
3168
+ value: string;
3169
+ }
3170
+
3171
+ export interface SmilesModification {
3172
+ /**
3173
+ * 0-based index of the residue to modify
3174
+ */
3175
+ residue_index: number;
3176
+
3177
+ type: 'smiles';
3178
+
3179
+ /**
3180
+ * SMILES string for the modification
3181
+ */
3182
+ value: string;
3183
+ }
3184
+ }
3185
+
3186
+ export interface DnaEntity {
3187
+ /**
3188
+ * Chain IDs for this entity
3189
+ */
3190
+ chain_ids: Array<string>;
3191
+
3192
+ type: 'dna';
3193
+
3194
+ /**
3195
+ * DNA nucleotide sequence (A, C, G, T, N)
3196
+ */
3197
+ value: string;
3198
+
3199
+ /**
3200
+ * Whether the sequence is cyclic
3201
+ */
3202
+ cyclic?: boolean;
3203
+
3204
+ /**
3205
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
3206
+ */
3207
+ modifications?: Array<DnaEntity.CcdModification | DnaEntity.SmilesModification>;
3208
+ }
3209
+
3210
+ export namespace DnaEntity {
3211
+ export interface CcdModification {
3212
+ /**
3213
+ * 0-based index of the residue to modify
3214
+ */
3215
+ residue_index: number;
3216
+
3217
+ type: 'ccd';
3218
+
3219
+ /**
3220
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3221
+ * phosphoserine)
3222
+ */
3223
+ value: string;
3224
+ }
3225
+
3226
+ export interface SmilesModification {
3227
+ /**
3228
+ * 0-based index of the residue to modify
3229
+ */
3230
+ residue_index: number;
3231
+
3232
+ type: 'smiles';
3233
+
3234
+ /**
3235
+ * SMILES string for the modification
3236
+ */
3237
+ value: string;
3238
+ }
3239
+ }
3240
+
3241
+ export interface LigandCcdEntity {
3242
+ /**
3243
+ * Chain IDs for this ligand
3244
+ */
3245
+ chain_ids: Array<string>;
3246
+
3247
+ type: 'ligand_ccd';
3248
+
3249
+ /**
3250
+ * CCD code (e.g., ATP, ADP)
3251
+ */
3252
+ value: string;
3253
+ }
3254
+
3255
+ export interface LigandSmilesEntity {
3256
+ /**
3257
+ * Chain IDs for this ligand
3258
+ */
3259
+ chain_ids: Array<string>;
3260
+
3261
+ type: 'ligand_smiles';
3262
+
3263
+ /**
3264
+ * SMILES string representing the ligand
3265
+ */
3266
+ value: string;
3267
+ }
3268
+
3269
+ /**
3270
+ * Bond between two atoms. Atom-level ligand references currently support
3271
+ * ligand_ccd entities only; ligand_smiles is unsupported.
3272
+ */
3273
+ export interface Bond {
3274
+ /**
3275
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3276
+ * entities only; ligand_smiles is unsupported.
3277
+ */
3278
+ atom1: Bond.LigandAtom | Bond.PolymerAtom;
3279
+
3280
+ /**
3281
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3282
+ * entities only; ligand_smiles is unsupported.
3283
+ */
3284
+ atom2: Bond.LigandAtom | Bond.PolymerAtom;
3285
+ }
3286
+
3287
+ export namespace Bond {
3288
+ /**
3289
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3290
+ * entities only; ligand_smiles is unsupported.
3291
+ */
3292
+ export interface LigandAtom {
3293
+ /**
3294
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
3295
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
3296
+ */
3297
+ atom_name: string;
3298
+
3299
+ /**
3300
+ * Chain ID containing the atom
3301
+ */
3302
+ chain_id: string;
3303
+
3304
+ type: 'ligand_atom';
3305
+ }
3306
+
3307
+ export interface PolymerAtom {
3308
+ /**
3309
+ * Standardized atom name (verifiable in CIF file on RCSB)
3310
+ */
3311
+ atom_name: string;
3312
+
3313
+ /**
3314
+ * Chain ID containing the atom
3315
+ */
3316
+ chain_id: string;
3317
+
3318
+ /**
3319
+ * 0-based residue index
3320
+ */
3321
+ residue_index: number;
3322
+
3323
+ type: 'polymer_atom';
3324
+ }
3325
+
3326
+ /**
3327
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3328
+ * entities only; ligand_smiles is unsupported.
3329
+ */
3330
+ export interface LigandAtom {
3331
+ /**
3332
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
3333
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
3334
+ */
3335
+ atom_name: string;
3336
+
3337
+ /**
3338
+ * Chain ID containing the atom
3339
+ */
3340
+ chain_id: string;
3341
+
3342
+ type: 'ligand_atom';
3343
+ }
3344
+
3345
+ export interface PolymerAtom {
3346
+ /**
3347
+ * Standardized atom name (verifiable in CIF file on RCSB)
3348
+ */
3349
+ atom_name: string;
3350
+
3351
+ /**
3352
+ * Chain ID containing the atom
3353
+ */
3354
+ chain_id: string;
3355
+
3356
+ /**
3357
+ * 0-based residue index
3358
+ */
3359
+ residue_index: number;
3360
+
3361
+ type: 'polymer_atom';
3362
+ }
3363
+ }
3364
+
3365
+ /**
3366
+ * Constrains the binder to interact with specific pocket residues on the target.
3367
+ */
3368
+ export interface PocketConstraint {
3369
+ /**
3370
+ * Chain ID of the binder molecule
3371
+ */
3372
+ binder_chain_id: string;
3373
+
3374
+ /**
3375
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
3376
+ * the value is an array of 0-indexed residue indices that define the pocket on
3377
+ * that chain.
3378
+ */
3379
+ contact_residues: { [key: string]: Array<number> };
3380
+
3381
+ /**
3382
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
3383
+ * Typical range: 4-8 A.
3384
+ */
3385
+ max_distance_angstrom: number;
3386
+
3387
+ type: 'pocket';
3388
+
3389
+ /**
3390
+ * Whether to force the constraint
3391
+ */
3392
+ force?: boolean;
3393
+ }
3394
+
3395
+ /**
3396
+ * Contact constraint between two tokens. Atom-level ligand references currently
3397
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
3398
+ */
3399
+ export interface ContactConstraint {
3400
+ /**
3401
+ * Maximum distance in Angstroms
3402
+ */
3403
+ max_distance_angstrom: number;
3404
+
3405
+ /**
3406
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3407
+ * entities only; ligand_smiles is unsupported.
3408
+ */
3409
+ token1: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
3410
+
3411
+ /**
3412
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3413
+ * entities only; ligand_smiles is unsupported.
3414
+ */
3415
+ token2: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
3416
+
3417
+ type: 'contact';
3418
+
3419
+ /**
3420
+ * Whether to force the constraint
3421
+ */
3422
+ force?: boolean;
3423
+ }
3424
+
3425
+ export namespace ContactConstraint {
3426
+ export interface PolymerContactToken {
3427
+ /**
3428
+ * Chain ID
3429
+ */
3430
+ chain_id: string;
3431
+
3432
+ /**
3433
+ * 0-based residue index
3434
+ */
3435
+ residue_index: number;
3436
+
3437
+ type: 'polymer_contact';
3438
+ }
3439
+
3440
+ /**
3441
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3442
+ * entities only; ligand_smiles is unsupported.
3443
+ */
3444
+ export interface LigandContactToken {
3445
+ /**
3446
+ * Atom name. Atom-level references to ligand_smiles entities are currently
3447
+ * unsupported; use ligand_ccd instead.
3448
+ */
3449
+ atom_name: string;
3450
+
3451
+ /**
3452
+ * Chain ID
3453
+ */
3454
+ chain_id: string;
3455
+
3456
+ type: 'ligand_contact';
3457
+ }
3458
+
3459
+ export interface PolymerContactToken {
3460
+ /**
3461
+ * Chain ID
3462
+ */
3463
+ chain_id: string;
3464
+
3465
+ /**
3466
+ * 0-based residue index
3467
+ */
3468
+ residue_index: number;
3469
+
3470
+ type: 'polymer_contact';
3471
+ }
3472
+
3473
+ /**
3474
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3475
+ * entities only; ligand_smiles is unsupported.
3476
+ */
3477
+ export interface LigandContactToken {
3478
+ /**
3479
+ * Atom name. Atom-level references to ligand_smiles entities are currently
3480
+ * unsupported; use ligand_ccd instead.
3481
+ */
3482
+ atom_name: string;
3483
+
3484
+ /**
3485
+ * Chain ID
3486
+ */
3487
+ chain_id: string;
3488
+
3489
+ type: 'ligand_contact';
3490
+ }
3491
+ }
3492
+ }
3493
+ }
3494
+
3495
+ export interface LibraryScreenListResultsParams extends CursorPageParams {
3496
+ /**
3497
+ * Workspace ID. Only used with admin API keys. Ignored (or validated) for
3498
+ * workspace-scoped keys.
3499
+ */
3500
+ workspace_id?: string;
3501
+ }
3502
+
3503
+ export interface LibraryScreenStartParams {
3504
+ /**
3505
+ * List of protein entries to screen.
3506
+ */
3507
+ proteins: Array<LibraryScreenStartParams.Protein>;
3508
+
3509
+ /**
3510
+ * Target specification (structure template or template-free)
3511
+ */
3512
+ target: LibraryScreenStartParams.StructureTemplateTarget | LibraryScreenStartParams.NoTemplateTarget;
3513
+
3514
+ /**
3515
+ * Client-provided key to prevent duplicate submissions on retries
3516
+ */
3517
+ idempotency_key?: string;
3518
+
3519
+ /**
3520
+ * Target workspace ID (admin keys only; ignored for workspace keys)
3521
+ */
3522
+ workspace_id?: string;
3523
+ }
3524
+
3525
+ export namespace LibraryScreenStartParams {
3526
+ /**
3527
+ * A protein screen entry with entities and optional ID
3528
+ */
3529
+ export interface Protein {
3530
+ /**
3531
+ * Entities that make up this protein complex
3532
+ */
3533
+ entities: Array<
3534
+ | Protein.ProteinEntity
3535
+ | Protein.RnaEntity
3536
+ | Protein.DnaEntity
3537
+ | Protein.LigandCcdEntity
3538
+ | Protein.LigandSmilesEntity
3539
+ >;
3540
+
3541
+ /**
3542
+ * Optional client-provided identifier for this entry
3543
+ */
3544
+ id?: string;
3545
+ }
3546
+
3547
+ export namespace Protein {
3548
+ export interface ProteinEntity {
3549
+ /**
3550
+ * Chain IDs for this entity
3551
+ */
3552
+ chain_ids: Array<string>;
3553
+
3554
+ type: 'protein';
3555
+
3556
+ /**
3557
+ * Amino acid sequence (one-letter codes)
3558
+ */
3559
+ value: string;
3560
+
3561
+ /**
3562
+ * Whether the sequence is cyclic
3563
+ */
3564
+ cyclic?: boolean;
3565
+
3566
+ /**
3567
+ * Post-translational modifications. Optional; defaults to an empty list when
3568
+ * omitted.
3569
+ */
3570
+ modifications?: Array<ProteinEntity.CcdModification | ProteinEntity.SmilesModification>;
3571
+ }
3572
+
3573
+ export namespace ProteinEntity {
3574
+ export interface CcdModification {
3575
+ /**
3576
+ * 0-based index of the residue to modify
3577
+ */
3578
+ residue_index: number;
3579
+
3580
+ type: 'ccd';
3581
+
3582
+ /**
3583
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3584
+ * phosphoserine)
3585
+ */
3586
+ value: string;
3587
+ }
3588
+
3589
+ export interface SmilesModification {
3590
+ /**
3591
+ * 0-based index of the residue to modify
3592
+ */
3593
+ residue_index: number;
3594
+
3595
+ type: 'smiles';
3596
+
3597
+ /**
3598
+ * SMILES string for the modification
3599
+ */
3600
+ value: string;
3601
+ }
3602
+ }
3603
+
3604
+ export interface RnaEntity {
3605
+ /**
3606
+ * Chain IDs for this entity
3607
+ */
3608
+ chain_ids: Array<string>;
3609
+
3610
+ type: 'rna';
3611
+
3612
+ /**
3613
+ * RNA nucleotide sequence (A, C, G, U, N)
3614
+ */
3615
+ value: string;
3616
+
3617
+ /**
3618
+ * Whether the sequence is cyclic
3619
+ */
3620
+ cyclic?: boolean;
3621
+
3622
+ /**
3623
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
3624
+ */
3625
+ modifications?: Array<RnaEntity.CcdModification | RnaEntity.SmilesModification>;
3626
+ }
3627
+
3628
+ export namespace RnaEntity {
3629
+ export interface CcdModification {
3630
+ /**
3631
+ * 0-based index of the residue to modify
3632
+ */
3633
+ residue_index: number;
3634
+
3635
+ type: 'ccd';
3636
+
3637
+ /**
3638
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3639
+ * phosphoserine)
3640
+ */
3641
+ value: string;
3642
+ }
3643
+
3644
+ export interface SmilesModification {
3645
+ /**
3646
+ * 0-based index of the residue to modify
3647
+ */
3648
+ residue_index: number;
3649
+
3650
+ type: 'smiles';
3651
+
3652
+ /**
3653
+ * SMILES string for the modification
3654
+ */
3655
+ value: string;
3656
+ }
3657
+ }
3658
+
3659
+ export interface DnaEntity {
3660
+ /**
3661
+ * Chain IDs for this entity
3662
+ */
3663
+ chain_ids: Array<string>;
3664
+
3665
+ type: 'dna';
3666
+
3667
+ /**
3668
+ * DNA nucleotide sequence (A, C, G, T, N)
3669
+ */
3670
+ value: string;
3671
+
3672
+ /**
3673
+ * Whether the sequence is cyclic
3674
+ */
3675
+ cyclic?: boolean;
3676
+
3677
+ /**
3678
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
3679
+ */
3680
+ modifications?: Array<DnaEntity.CcdModification | DnaEntity.SmilesModification>;
3681
+ }
3682
+
3683
+ export namespace DnaEntity {
3684
+ export interface CcdModification {
3685
+ /**
3686
+ * 0-based index of the residue to modify
3687
+ */
3688
+ residue_index: number;
3689
+
3690
+ type: 'ccd';
3691
+
3692
+ /**
3693
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3694
+ * phosphoserine)
3695
+ */
3696
+ value: string;
3697
+ }
3698
+
3699
+ export interface SmilesModification {
3700
+ /**
3701
+ * 0-based index of the residue to modify
3702
+ */
3703
+ residue_index: number;
3704
+
3705
+ type: 'smiles';
3706
+
3707
+ /**
3708
+ * SMILES string for the modification
3709
+ */
3710
+ value: string;
3711
+ }
3712
+ }
3713
+
3714
+ export interface LigandCcdEntity {
3715
+ /**
3716
+ * Chain IDs for this ligand
3717
+ */
3718
+ chain_ids: Array<string>;
3719
+
3720
+ type: 'ligand_ccd';
3721
+
3722
+ /**
3723
+ * CCD code (e.g., ATP, ADP)
3724
+ */
3725
+ value: string;
3726
+ }
3727
+
3728
+ export interface LigandSmilesEntity {
3729
+ /**
3730
+ * Chain IDs for this ligand
3731
+ */
3732
+ chain_ids: Array<string>;
3733
+
3734
+ type: 'ligand_smiles';
3735
+
3736
+ /**
3737
+ * SMILES string representing the ligand
3738
+ */
3739
+ value: string;
3740
+ }
3741
+ }
3742
+
3743
+ /**
3744
+ * Target defined by an uploaded 3D structure (CIF or PDB file). Only chains
3745
+ * included in chain_selection are used.
3746
+ */
3747
+ export interface StructureTemplateTarget {
3748
+ /**
3749
+ * Chains selected from the uploaded structure, keyed by chain ID. Only chains
3750
+ * listed here are included in the engine run — any chains omitted from this
3751
+ * mapping are ignored. Each value defines which residues to keep, which are
3752
+ * epitope residues, and which are flexible.
3753
+ */
3754
+ chain_selection: {
3755
+ [key: string]:
3756
+ | StructureTemplateTarget.StructureTemplateTargetPolymerChainSpec
3757
+ | StructureTemplateTarget.StructureTemplateTargetLigandChainSpec;
3758
+ };
3759
+
3760
+ /**
3761
+ * How to provide a CIF structure file. URLs are auto-detected; base64 uploads must
3762
+ * use chemical/x-cif media type.
3763
+ */
3764
+ structure: StructureTemplateTarget.URLSource | StructureTemplateTarget.CifBase64Source;
3765
+
3766
+ type: 'structure_template';
3767
+ }
3768
+
3769
+ export namespace StructureTemplateTarget {
3770
+ /**
3771
+ * Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure
3772
+ * template target.
3773
+ */
3774
+ export interface StructureTemplateTargetPolymerChainSpec {
3775
+ chain_type: 'polymer';
3776
+
3777
+ /**
3778
+ * 0-indexed residue indices to retain from this chain, or 'all' to keep all
3779
+ * residues. Residues not listed are excluded from the engine run.
3780
+ */
3781
+ crop_residues: Array<number> | 'all';
3782
+
3783
+ /**
3784
+ * 0-indexed residue indices where binder contact is desired (the epitope). All
3785
+ * indices must be present in crop_residues.
3786
+ */
3787
+ epitope_residues?: Array<number>;
3788
+
3789
+ /**
3790
+ * 0-indexed residue indices allowed to move during design (e.g. flexible loop
3791
+ * regions). All indices must be present in crop_residues.
3792
+ */
3793
+ flexible_residues?: Array<number>;
3794
+ }
3795
+
3796
+ /**
3797
+ * Per-chain specification for a ligand chain in a structure template target. The
3798
+ * full ligand is always included.
3799
+ */
3800
+ export interface StructureTemplateTargetLigandChainSpec {
3801
+ chain_type: 'ligand';
3802
+ }
3803
+
3804
+ export interface URLSource {
3805
+ type: 'url';
3806
+
3807
+ url: string;
3808
+ }
3809
+
3810
+ export interface CifBase64Source {
3811
+ /**
3812
+ * Base64-encoded CIF file contents
3813
+ */
3814
+ data: string;
3815
+
3816
+ /**
3817
+ * Must be chemical/x-cif for CIF files
3818
+ */
3819
+ media_type: 'chemical/x-cif';
3820
+
3821
+ type: 'base64';
3822
+ }
3823
+ }
3824
+
3825
+ /**
3826
+ * Target defined by sequences only, without a 3D structure template
3827
+ */
3828
+ export interface NoTemplateTarget {
3829
+ /**
3830
+ * Entities (proteins, RNA, DNA, ligands) defining the target complex.
3831
+ */
3832
+ entities: Array<
3833
+ | NoTemplateTarget.ProteinEntity
3834
+ | NoTemplateTarget.RnaEntity
3835
+ | NoTemplateTarget.DnaEntity
3836
+ | NoTemplateTarget.LigandCcdEntity
3837
+ | NoTemplateTarget.LigandSmilesEntity
3838
+ >;
3839
+
3840
+ type: 'no_template';
3841
+
3842
+ /**
3843
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
3844
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
3845
+ */
3846
+ bonds?: Array<NoTemplateTarget.Bond>;
3847
+
3848
+ /**
3849
+ * Structural constraints (pocket and contact). Atom-level ligand references
3850
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
3851
+ */
3852
+ constraints?: Array<NoTemplateTarget.PocketConstraint | NoTemplateTarget.ContactConstraint>;
3853
+
3854
+ /**
3855
+ * Chain IDs of ligand entities that are part of the binding epitope. Ligands are
3856
+ * marked as epitope in full (no residue-level selection).
3857
+ */
3858
+ epitope_ligand_chains?: Array<string>;
3859
+
3860
+ /**
3861
+ * Polymer chain residues where binder contact is desired (the epitope). Each key
3862
+ * is a chain ID of a polymer entity, each value is an array of 0-indexed residue
3863
+ * indices.
3864
+ */
3865
+ epitope_residues?: { [key: string]: Array<number> };
3866
+ }
3867
+
3868
+ export namespace NoTemplateTarget {
3869
+ export interface ProteinEntity {
3870
+ /**
3871
+ * Chain IDs for this entity
3872
+ */
3873
+ chain_ids: Array<string>;
3874
+
3875
+ type: 'protein';
3876
+
3877
+ /**
3878
+ * Amino acid sequence (one-letter codes)
3879
+ */
3880
+ value: string;
3881
+
3882
+ /**
3883
+ * Whether the sequence is cyclic
3884
+ */
3885
+ cyclic?: boolean;
3886
+
3887
+ /**
3888
+ * Post-translational modifications. Optional; defaults to an empty list when
3889
+ * omitted.
3890
+ */
3891
+ modifications?: Array<ProteinEntity.CcdModification | ProteinEntity.SmilesModification>;
3892
+ }
3893
+
3894
+ export namespace ProteinEntity {
3895
+ export interface CcdModification {
3896
+ /**
3897
+ * 0-based index of the residue to modify
3898
+ */
3899
+ residue_index: number;
3900
+
3901
+ type: 'ccd';
3902
+
3903
+ /**
3904
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3905
+ * phosphoserine)
3906
+ */
3907
+ value: string;
3908
+ }
3909
+
3910
+ export interface SmilesModification {
3911
+ /**
3912
+ * 0-based index of the residue to modify
3913
+ */
3914
+ residue_index: number;
3915
+
3916
+ type: 'smiles';
3917
+
3918
+ /**
3919
+ * SMILES string for the modification
3920
+ */
3921
+ value: string;
3922
+ }
3923
+ }
3924
+
3925
+ export interface RnaEntity {
3926
+ /**
3927
+ * Chain IDs for this entity
3928
+ */
3929
+ chain_ids: Array<string>;
3930
+
3931
+ type: 'rna';
3932
+
3933
+ /**
3934
+ * RNA nucleotide sequence (A, C, G, U, N)
3935
+ */
3936
+ value: string;
3937
+
3938
+ /**
3939
+ * Whether the sequence is cyclic
3940
+ */
3941
+ cyclic?: boolean;
3942
+
3943
+ /**
3944
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
3945
+ */
3946
+ modifications?: Array<RnaEntity.CcdModification | RnaEntity.SmilesModification>;
3947
+ }
3948
+
3949
+ export namespace RnaEntity {
3950
+ export interface CcdModification {
3951
+ /**
3952
+ * 0-based index of the residue to modify
3953
+ */
3954
+ residue_index: number;
3955
+
3956
+ type: 'ccd';
3957
+
3958
+ /**
3959
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3960
+ * phosphoserine)
3961
+ */
3962
+ value: string;
3963
+ }
3964
+
3965
+ export interface SmilesModification {
3966
+ /**
3967
+ * 0-based index of the residue to modify
3968
+ */
3969
+ residue_index: number;
3970
+
3971
+ type: 'smiles';
3972
+
3973
+ /**
3974
+ * SMILES string for the modification
3975
+ */
3976
+ value: string;
3977
+ }
3978
+ }
3979
+
3980
+ export interface DnaEntity {
3981
+ /**
3982
+ * Chain IDs for this entity
3983
+ */
3984
+ chain_ids: Array<string>;
3985
+
3986
+ type: 'dna';
3987
+
3988
+ /**
3989
+ * DNA nucleotide sequence (A, C, G, T, N)
3990
+ */
3991
+ value: string;
3992
+
3993
+ /**
3994
+ * Whether the sequence is cyclic
3995
+ */
3996
+ cyclic?: boolean;
3997
+
3998
+ /**
3999
+ * Chemical modifications. Optional; defaults to an empty list when omitted.
4000
+ */
4001
+ modifications?: Array<DnaEntity.CcdModification | DnaEntity.SmilesModification>;
4002
+ }
4003
+
4004
+ export namespace DnaEntity {
4005
+ export interface CcdModification {
4006
+ /**
4007
+ * 0-based index of the residue to modify
4008
+ */
4009
+ residue_index: number;
4010
+
4011
+ type: 'ccd';
4012
+
4013
+ /**
4014
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
4015
+ * phosphoserine)
4016
+ */
4017
+ value: string;
4018
+ }
4019
+
4020
+ export interface SmilesModification {
4021
+ /**
4022
+ * 0-based index of the residue to modify
4023
+ */
4024
+ residue_index: number;
4025
+
4026
+ type: 'smiles';
4027
+
4028
+ /**
4029
+ * SMILES string for the modification
4030
+ */
4031
+ value: string;
4032
+ }
4033
+ }
4034
+
4035
+ export interface LigandCcdEntity {
4036
+ /**
4037
+ * Chain IDs for this ligand
4038
+ */
4039
+ chain_ids: Array<string>;
4040
+
4041
+ type: 'ligand_ccd';
4042
+
4043
+ /**
4044
+ * CCD code (e.g., ATP, ADP)
4045
+ */
4046
+ value: string;
4047
+ }
4048
+
4049
+ export interface LigandSmilesEntity {
4050
+ /**
4051
+ * Chain IDs for this ligand
4052
+ */
4053
+ chain_ids: Array<string>;
4054
+
4055
+ type: 'ligand_smiles';
4056
+
4057
+ /**
4058
+ * SMILES string representing the ligand
4059
+ */
4060
+ value: string;
4061
+ }
4062
+
4063
+ /**
4064
+ * Bond between two atoms. Atom-level ligand references currently support
4065
+ * ligand_ccd entities only; ligand_smiles is unsupported.
4066
+ */
4067
+ export interface Bond {
4068
+ /**
4069
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
4070
+ * entities only; ligand_smiles is unsupported.
4071
+ */
4072
+ atom1: Bond.LigandAtom | Bond.PolymerAtom;
4073
+
4074
+ /**
4075
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
4076
+ * entities only; ligand_smiles is unsupported.
4077
+ */
4078
+ atom2: Bond.LigandAtom | Bond.PolymerAtom;
4079
+ }
4080
+
4081
+ export namespace Bond {
4082
+ /**
4083
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
4084
+ * entities only; ligand_smiles is unsupported.
4085
+ */
4086
+ export interface LigandAtom {
4087
+ /**
4088
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
4089
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
4090
+ */
4091
+ atom_name: string;
4092
+
4093
+ /**
4094
+ * Chain ID containing the atom
4095
+ */
4096
+ chain_id: string;
4097
+
4098
+ type: 'ligand_atom';
4099
+ }
4100
+
4101
+ export interface PolymerAtom {
4102
+ /**
4103
+ * Standardized atom name (verifiable in CIF file on RCSB)
4104
+ */
4105
+ atom_name: string;
4106
+
4107
+ /**
4108
+ * Chain ID containing the atom
4109
+ */
4110
+ chain_id: string;
4111
+
4112
+ /**
4113
+ * 0-based residue index
4114
+ */
4115
+ residue_index: number;
4116
+
4117
+ type: 'polymer_atom';
4118
+ }
4119
+
4120
+ /**
4121
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
4122
+ * entities only; ligand_smiles is unsupported.
4123
+ */
4124
+ export interface LigandAtom {
4125
+ /**
4126
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
4127
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
4128
+ */
4129
+ atom_name: string;
4130
+
4131
+ /**
4132
+ * Chain ID containing the atom
4133
+ */
4134
+ chain_id: string;
4135
+
4136
+ type: 'ligand_atom';
4137
+ }
4138
+
4139
+ export interface PolymerAtom {
4140
+ /**
4141
+ * Standardized atom name (verifiable in CIF file on RCSB)
4142
+ */
4143
+ atom_name: string;
4144
+
4145
+ /**
4146
+ * Chain ID containing the atom
4147
+ */
4148
+ chain_id: string;
4149
+
4150
+ /**
4151
+ * 0-based residue index
4152
+ */
4153
+ residue_index: number;
4154
+
4155
+ type: 'polymer_atom';
4156
+ }
4157
+ }
4158
+
4159
+ /**
4160
+ * Constrains the binder to interact with specific pocket residues on the target.
4161
+ */
4162
+ export interface PocketConstraint {
4163
+ /**
4164
+ * Chain ID of the binder molecule
4165
+ */
4166
+ binder_chain_id: string;
4167
+
4168
+ /**
4169
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
4170
+ * the value is an array of 0-indexed residue indices that define the pocket on
4171
+ * that chain.
4172
+ */
4173
+ contact_residues: { [key: string]: Array<number> };
4174
+
4175
+ /**
4176
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
4177
+ * Typical range: 4-8 A.
4178
+ */
4179
+ max_distance_angstrom: number;
4180
+
4181
+ type: 'pocket';
4182
+
4183
+ /**
4184
+ * Whether to force the constraint
4185
+ */
4186
+ force?: boolean;
4187
+ }
4188
+
4189
+ /**
4190
+ * Contact constraint between two tokens. Atom-level ligand references currently
4191
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
4192
+ */
4193
+ export interface ContactConstraint {
4194
+ /**
4195
+ * Maximum distance in Angstroms
4196
+ */
4197
+ max_distance_angstrom: number;
4198
+
4199
+ /**
4200
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
4201
+ * entities only; ligand_smiles is unsupported.
4202
+ */
4203
+ token1: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
4204
+
4205
+ /**
4206
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
4207
+ * entities only; ligand_smiles is unsupported.
4208
+ */
4209
+ token2: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
4210
+
4211
+ type: 'contact';
4212
+
4213
+ /**
4214
+ * Whether to force the constraint
4215
+ */
4216
+ force?: boolean;
4217
+ }
4218
+
4219
+ export namespace ContactConstraint {
4220
+ export interface PolymerContactToken {
4221
+ /**
4222
+ * Chain ID
4223
+ */
4224
+ chain_id: string;
4225
+
4226
+ /**
4227
+ * 0-based residue index
4228
+ */
4229
+ residue_index: number;
4230
+
4231
+ type: 'polymer_contact';
4232
+ }
4233
+
4234
+ /**
4235
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
4236
+ * entities only; ligand_smiles is unsupported.
4237
+ */
4238
+ export interface LigandContactToken {
4239
+ /**
4240
+ * Atom name. Atom-level references to ligand_smiles entities are currently
4241
+ * unsupported; use ligand_ccd instead.
4242
+ */
4243
+ atom_name: string;
4244
+
4245
+ /**
4246
+ * Chain ID
4247
+ */
4248
+ chain_id: string;
4249
+
4250
+ type: 'ligand_contact';
4251
+ }
4252
+
4253
+ export interface PolymerContactToken {
4254
+ /**
4255
+ * Chain ID
4256
+ */
4257
+ chain_id: string;
4258
+
4259
+ /**
4260
+ * 0-based residue index
4261
+ */
4262
+ residue_index: number;
4263
+
4264
+ type: 'polymer_contact';
4265
+ }
4266
+
4267
+ /**
4268
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
4269
+ * entities only; ligand_smiles is unsupported.
4270
+ */
4271
+ export interface LigandContactToken {
4272
+ /**
4273
+ * Atom name. Atom-level references to ligand_smiles entities are currently
4274
+ * unsupported; use ligand_ccd instead.
4275
+ */
4276
+ atom_name: string;
4277
+
4278
+ /**
4279
+ * Chain ID
4280
+ */
4281
+ chain_id: string;
4282
+
4283
+ type: 'ligand_contact';
4284
+ }
4285
+ }
4286
+ }
4287
+ }
4288
+
4289
+ export declare namespace LibraryScreen {
4290
+ export {
4291
+ type LibraryScreenRetrieveResponse as LibraryScreenRetrieveResponse,
4292
+ type LibraryScreenListResponse as LibraryScreenListResponse,
4293
+ type LibraryScreenDeleteDataResponse as LibraryScreenDeleteDataResponse,
4294
+ type LibraryScreenEstimateCostResponse as LibraryScreenEstimateCostResponse,
4295
+ type LibraryScreenListResultsResponse as LibraryScreenListResultsResponse,
4296
+ type LibraryScreenStartResponse as LibraryScreenStartResponse,
4297
+ type LibraryScreenStopResponse as LibraryScreenStopResponse,
4298
+ type LibraryScreenListResponsesCursorPage as LibraryScreenListResponsesCursorPage,
4299
+ type LibraryScreenListResultsResponsesCursorPage as LibraryScreenListResultsResponsesCursorPage,
4300
+ type LibraryScreenRetrieveParams as LibraryScreenRetrieveParams,
4301
+ type LibraryScreenListParams as LibraryScreenListParams,
4302
+ type LibraryScreenEstimateCostParams as LibraryScreenEstimateCostParams,
4303
+ type LibraryScreenListResultsParams as LibraryScreenListResultsParams,
4304
+ type LibraryScreenStartParams as LibraryScreenStartParams,
4305
+ };
4306
+ }