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,3494 @@
1
+ import { APIResource } from "../../core/resource.js";
2
+ import { APIPromise } from "../../core/api-promise.js";
3
+ import { CursorPage, type CursorPageParams, PagePromise } from "../../core/pagination.js";
4
+ import { RequestOptions } from "../../internal/request-options.js";
5
+ /**
6
+ * Screen an existing library of small molecules against a protein target. Results are scored by binding confidence (likelihood of binding, for hit discovery), optimization score (binding strength ranking, for lead optimization), and structure confidence.
7
+ */
8
+ export declare class LibraryScreen extends APIResource {
9
+ /**
10
+ * Retrieve a library screen by ID, including progress and status
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const libraryScreen =
15
+ * await client.smallMolecule.libraryScreen.retrieve('id');
16
+ * ```
17
+ */
18
+ retrieve(id: string, query?: LibraryScreenRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<LibraryScreenRetrieveResponse>;
19
+ /**
20
+ * List small molecule library screens, optionally filtered by workspace
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * // Automatically fetches more pages as needed.
25
+ * for await (const libraryScreenListResponse of client.smallMolecule.libraryScreen.list()) {
26
+ * // ...
27
+ * }
28
+ * ```
29
+ */
30
+ list(query?: LibraryScreenListParams | null | undefined, options?: RequestOptions): PagePromise<LibraryScreenListResponsesCursorPage, LibraryScreenListResponse>;
31
+ /**
32
+ * Permanently delete the input, output, and result data associated with this
33
+ * library screen. The library screen record itself is retained with a
34
+ * `data_deleted_at` timestamp. This action is irreversible.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const response =
39
+ * await client.smallMolecule.libraryScreen.deleteData('id');
40
+ * ```
41
+ */
42
+ deleteData(id: string, options?: RequestOptions): APIPromise<LibraryScreenDeleteDataResponse>;
43
+ /**
44
+ * Estimate the cost of a small molecule library screen without creating any
45
+ * resource or consuming GPU.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const response =
50
+ * await client.smallMolecule.libraryScreen.estimateCost({
51
+ * molecules: [{ smiles: 'smiles' }],
52
+ * target: {
53
+ * entities: [
54
+ * {
55
+ * chain_ids: ['string'],
56
+ * type: 'protein',
57
+ * value: 'value',
58
+ * },
59
+ * ],
60
+ * },
61
+ * });
62
+ * ```
63
+ */
64
+ estimateCost(body: LibraryScreenEstimateCostParams, options?: RequestOptions): APIPromise<LibraryScreenEstimateCostResponse>;
65
+ /**
66
+ * Retrieve paginated results from a library screen
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * // Automatically fetches more pages as needed.
71
+ * for await (const libraryScreenListResultsResponse of client.smallMolecule.libraryScreen.listResults(
72
+ * 'id',
73
+ * )) {
74
+ * // ...
75
+ * }
76
+ * ```
77
+ */
78
+ listResults(id: string, query?: LibraryScreenListResultsParams | null | undefined, options?: RequestOptions): PagePromise<LibraryScreenListResultsResponsesCursorPage, LibraryScreenListResultsResponse>;
79
+ /**
80
+ * Screen a set of small molecule candidates against a protein target
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * const response =
85
+ * await client.smallMolecule.libraryScreen.start({
86
+ * molecules: [{ smiles: 'smiles' }],
87
+ * target: {
88
+ * entities: [
89
+ * {
90
+ * chain_ids: ['string'],
91
+ * type: 'protein',
92
+ * value: 'value',
93
+ * },
94
+ * ],
95
+ * },
96
+ * });
97
+ * ```
98
+ */
99
+ start(body: LibraryScreenStartParams, options?: RequestOptions): APIPromise<LibraryScreenStartResponse>;
100
+ /**
101
+ * Stop an in-progress library screen early
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const response =
106
+ * await client.smallMolecule.libraryScreen.stop('id');
107
+ * ```
108
+ */
109
+ stop(id: string, options?: RequestOptions): APIPromise<LibraryScreenStopResponse>;
110
+ }
111
+ export type LibraryScreenListResponsesCursorPage = CursorPage<LibraryScreenListResponse>;
112
+ export type LibraryScreenListResultsResponsesCursorPage = CursorPage<LibraryScreenListResultsResponse>;
113
+ /**
114
+ * A small molecule library screening engine run
115
+ */
116
+ export interface LibraryScreenRetrieveResponse {
117
+ /**
118
+ * Unique SmScreen identifier
119
+ */
120
+ id: string;
121
+ completed_at: string | null;
122
+ created_at: string;
123
+ /**
124
+ * When the input, output, and result data was permanently deleted. Null if data
125
+ * has not been deleted.
126
+ */
127
+ data_deleted_at: string | null;
128
+ /**
129
+ * Engine used for small molecule library screen
130
+ */
131
+ engine: 'boltz-sm-screen';
132
+ /**
133
+ * Engine version used for small molecule library screen
134
+ */
135
+ engine_version: string;
136
+ error: LibraryScreenRetrieveResponse.Error | null;
137
+ /**
138
+ * Pipeline input (null if data deleted)
139
+ */
140
+ input: LibraryScreenRetrieveResponse.Input | null;
141
+ /**
142
+ * Whether this resource was created with a live API key.
143
+ */
144
+ livemode: boolean;
145
+ progress: LibraryScreenRetrieveResponse.Progress | null;
146
+ started_at: string | null;
147
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
148
+ stopped_at: string | null;
149
+ /**
150
+ * Workspace ID
151
+ */
152
+ workspace_id: string;
153
+ /**
154
+ * Client-provided idempotency key
155
+ */
156
+ idempotency_key?: string;
157
+ }
158
+ export declare namespace LibraryScreenRetrieveResponse {
159
+ interface Error {
160
+ /**
161
+ * Machine-readable error code
162
+ */
163
+ code: string;
164
+ /**
165
+ * Human-readable error message
166
+ */
167
+ message: string;
168
+ /**
169
+ * Additional field-level error details keyed by input path, when available.
170
+ */
171
+ details?: unknown;
172
+ }
173
+ /**
174
+ * Pipeline input (null if data deleted)
175
+ */
176
+ interface Input {
177
+ molecules: Input.Molecules;
178
+ /**
179
+ * Target protein with binding pocket for small molecule design or screening
180
+ */
181
+ target: Input.Target;
182
+ /**
183
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
184
+ * and custom filters.
185
+ */
186
+ molecule_filters?: Input.MoleculeFilters;
187
+ }
188
+ namespace Input {
189
+ interface Molecules {
190
+ /**
191
+ * URL to download the file
192
+ */
193
+ url: string;
194
+ /**
195
+ * When the presigned URL expires
196
+ */
197
+ url_expires_at: string;
198
+ }
199
+ /**
200
+ * Target protein with binding pocket for small molecule design or screening
201
+ */
202
+ interface Target {
203
+ /**
204
+ * Protein entities defining the target structure. Each entity represents a protein
205
+ * chain.
206
+ */
207
+ entities: Array<Target.Entity>;
208
+ /**
209
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
210
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
211
+ */
212
+ bonds?: Array<Target.Bond>;
213
+ /**
214
+ * Structural constraints (pocket and contact). Atom-level ligand references
215
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
216
+ */
217
+ constraints?: Array<Target.PocketConstraintResponse | Target.ContactConstraintResponse>;
218
+ /**
219
+ * Binding pocket residues, keyed by chain ID. Each key is a chain ID (e.g. "A")
220
+ * and the value is an array of 0-indexed residue indices that define the binding
221
+ * pocket on that chain. When provided, these residues guide pocket extraction and
222
+ * add a derived pocket constraint during affinity predictions. That derived
223
+ * constraint remains separate from any explicit pocket constraints in
224
+ * target.constraints. When omitted, the model auto-detects the pocket.
225
+ */
226
+ pocket_residues?: {
227
+ [key: string]: Array<number>;
228
+ };
229
+ /**
230
+ * Reference ligands as SMILES strings that help the model identify the binding
231
+ * pocket. When omitted, a set of drug-like default ligands is used for pocket
232
+ * detection.
233
+ */
234
+ reference_ligands?: Array<string>;
235
+ }
236
+ namespace Target {
237
+ interface Entity {
238
+ /**
239
+ * Chain IDs for this entity
240
+ */
241
+ chain_ids: Array<string>;
242
+ type: 'protein';
243
+ /**
244
+ * Amino acid sequence (one-letter codes)
245
+ */
246
+ value: string;
247
+ /**
248
+ * Whether the sequence is cyclic
249
+ */
250
+ cyclic?: boolean;
251
+ /**
252
+ * Post-translational modifications. Optional; defaults to an empty list when
253
+ * omitted.
254
+ */
255
+ modifications?: Array<Entity.CcdModificationResponse | Entity.SmilesModificationResponse>;
256
+ }
257
+ namespace Entity {
258
+ interface CcdModificationResponse {
259
+ /**
260
+ * 0-based index of the residue to modify
261
+ */
262
+ residue_index: number;
263
+ type: 'ccd';
264
+ /**
265
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
266
+ * phosphoserine)
267
+ */
268
+ value: string;
269
+ }
270
+ interface SmilesModificationResponse {
271
+ /**
272
+ * 0-based index of the residue to modify
273
+ */
274
+ residue_index: number;
275
+ type: 'smiles';
276
+ /**
277
+ * SMILES string for the modification
278
+ */
279
+ value: string;
280
+ }
281
+ }
282
+ /**
283
+ * Bond between two atoms. Atom-level ligand references currently support
284
+ * ligand_ccd entities only; ligand_smiles is unsupported.
285
+ */
286
+ interface Bond {
287
+ /**
288
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
289
+ * entities only; ligand_smiles is unsupported.
290
+ */
291
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
292
+ /**
293
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
294
+ * entities only; ligand_smiles is unsupported.
295
+ */
296
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
297
+ }
298
+ namespace Bond {
299
+ /**
300
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
301
+ * entities only; ligand_smiles is unsupported.
302
+ */
303
+ interface LigandAtomResponse {
304
+ /**
305
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
306
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
307
+ */
308
+ atom_name: string;
309
+ /**
310
+ * Chain ID containing the atom
311
+ */
312
+ chain_id: string;
313
+ type: 'ligand_atom';
314
+ }
315
+ interface PolymerAtomResponse {
316
+ /**
317
+ * Standardized atom name (verifiable in CIF file on RCSB)
318
+ */
319
+ atom_name: string;
320
+ /**
321
+ * Chain ID containing the atom
322
+ */
323
+ chain_id: string;
324
+ /**
325
+ * 0-based residue index
326
+ */
327
+ residue_index: number;
328
+ type: 'polymer_atom';
329
+ }
330
+ /**
331
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
332
+ * entities only; ligand_smiles is unsupported.
333
+ */
334
+ interface LigandAtomResponse {
335
+ /**
336
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
337
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
338
+ */
339
+ atom_name: string;
340
+ /**
341
+ * Chain ID containing the atom
342
+ */
343
+ chain_id: string;
344
+ type: 'ligand_atom';
345
+ }
346
+ interface PolymerAtomResponse {
347
+ /**
348
+ * Standardized atom name (verifiable in CIF file on RCSB)
349
+ */
350
+ atom_name: string;
351
+ /**
352
+ * Chain ID containing the atom
353
+ */
354
+ chain_id: string;
355
+ /**
356
+ * 0-based residue index
357
+ */
358
+ residue_index: number;
359
+ type: 'polymer_atom';
360
+ }
361
+ }
362
+ /**
363
+ * Constrains the binder to interact with specific pocket residues on the target.
364
+ */
365
+ interface PocketConstraintResponse {
366
+ /**
367
+ * Chain ID of the binder molecule
368
+ */
369
+ binder_chain_id: string;
370
+ /**
371
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
372
+ * the value is an array of 0-indexed residue indices that define the pocket on
373
+ * that chain.
374
+ */
375
+ contact_residues: {
376
+ [key: string]: Array<number>;
377
+ };
378
+ /**
379
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
380
+ * Typical range: 4-8 A.
381
+ */
382
+ max_distance_angstrom: number;
383
+ type: 'pocket';
384
+ /**
385
+ * Whether to force the constraint
386
+ */
387
+ force?: boolean;
388
+ }
389
+ /**
390
+ * Contact constraint between two tokens. Atom-level ligand references currently
391
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
392
+ */
393
+ interface ContactConstraintResponse {
394
+ /**
395
+ * Maximum distance in Angstroms
396
+ */
397
+ max_distance_angstrom: number;
398
+ /**
399
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
400
+ * entities only; ligand_smiles is unsupported.
401
+ */
402
+ token1: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
403
+ /**
404
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
405
+ * entities only; ligand_smiles is unsupported.
406
+ */
407
+ token2: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
408
+ type: 'contact';
409
+ /**
410
+ * Whether to force the constraint
411
+ */
412
+ force?: boolean;
413
+ }
414
+ namespace ContactConstraintResponse {
415
+ interface PolymerContactTokenResponse {
416
+ /**
417
+ * Chain ID
418
+ */
419
+ chain_id: string;
420
+ /**
421
+ * 0-based residue index
422
+ */
423
+ residue_index: number;
424
+ type: 'polymer_contact';
425
+ }
426
+ /**
427
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
428
+ * entities only; ligand_smiles is unsupported.
429
+ */
430
+ interface LigandContactTokenResponse {
431
+ /**
432
+ * Atom name. Atom-level references to ligand_smiles entities are currently
433
+ * unsupported; use ligand_ccd instead.
434
+ */
435
+ atom_name: string;
436
+ /**
437
+ * Chain ID
438
+ */
439
+ chain_id: string;
440
+ type: 'ligand_contact';
441
+ }
442
+ interface PolymerContactTokenResponse {
443
+ /**
444
+ * Chain ID
445
+ */
446
+ chain_id: string;
447
+ /**
448
+ * 0-based residue index
449
+ */
450
+ residue_index: number;
451
+ type: 'polymer_contact';
452
+ }
453
+ /**
454
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
455
+ * entities only; ligand_smiles is unsupported.
456
+ */
457
+ interface LigandContactTokenResponse {
458
+ /**
459
+ * Atom name. Atom-level references to ligand_smiles entities are currently
460
+ * unsupported; use ligand_ccd instead.
461
+ */
462
+ atom_name: string;
463
+ /**
464
+ * Chain ID
465
+ */
466
+ chain_id: string;
467
+ type: 'ligand_contact';
468
+ }
469
+ }
470
+ }
471
+ /**
472
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
473
+ * and custom filters.
474
+ */
475
+ interface MoleculeFilters {
476
+ /**
477
+ * Controls the stringency of Boltz's built-in SMARTS structural alert filtering,
478
+ * which removes molecules matching known problematic substructures. 'recommended'
479
+ * (default): applies a curated set of alerts balancing safety and hit rate.
480
+ * 'extra': adds additional alerts beyond the recommended set for stricter
481
+ * filtering. 'aggressive': applies the most comprehensive alert set — may reject
482
+ * viable molecules. 'disabled': turns off Boltz SMARTS filtering entirely; only
483
+ * custom_filters will be applied.
484
+ */
485
+ boltz_smarts_catalog_filter_level?: 'recommended' | 'extra' | 'aggressive' | 'disabled';
486
+ /**
487
+ * Custom filters to apply. Molecules must pass all filters (AND logic).
488
+ */
489
+ custom_filters?: Array<MoleculeFilters.LipinskiFilterResponse | MoleculeFilters.RdkitDescriptorFilterResponse | MoleculeFilters.SmartsCustomFilterResponse | MoleculeFilters.SmartsCatalogFilterResponse | MoleculeFilters.SmilesRegexFilterResponse>;
490
+ }
491
+ namespace MoleculeFilters {
492
+ /**
493
+ * Lipinski's Rule of Five filter. Rejects molecules that violate drug-likeness
494
+ * criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen
495
+ * bond acceptors.
496
+ */
497
+ interface LipinskiFilterResponse {
498
+ /**
499
+ * Maximum number of hydrogen bond acceptors. Lipinski threshold: 10
500
+ */
501
+ max_hba: number;
502
+ /**
503
+ * Maximum number of hydrogen bond donors. Lipinski threshold: 5
504
+ */
505
+ max_hbd: number;
506
+ /**
507
+ * Maximum LogP. Lipinski threshold: 5
508
+ */
509
+ max_logp: number;
510
+ /**
511
+ * Maximum molecular weight (Da). Lipinski threshold: 500
512
+ */
513
+ max_mw: number;
514
+ type: 'lipinski_filter';
515
+ /**
516
+ * If true, one rule violation is allowed (classic Rule of Five). Defaults to false
517
+ * (all rules must pass).
518
+ */
519
+ allow_single_violation?: boolean;
520
+ }
521
+ /**
522
+ * Filter molecules by RDKit molecular descriptors. Each descriptor is constrained
523
+ * to a min/max range. Only descriptors you provide are checked — omitted
524
+ * descriptors are unconstrained.
525
+ */
526
+ interface RdkitDescriptorFilterResponse {
527
+ type: 'rdkit_descriptor_filter';
528
+ /**
529
+ * Min/max range constraint for an RDKit molecular descriptor
530
+ */
531
+ fraction_csp3?: RdkitDescriptorFilterResponse.FractionCsp3;
532
+ /**
533
+ * Min/max range constraint for an RDKit molecular descriptor
534
+ */
535
+ mol_logp?: RdkitDescriptorFilterResponse.MolLogp;
536
+ /**
537
+ * Min/max range constraint for an RDKit molecular descriptor
538
+ */
539
+ mol_wt?: RdkitDescriptorFilterResponse.MolWt;
540
+ /**
541
+ * Min/max range constraint for an RDKit molecular descriptor
542
+ */
543
+ num_aromatic_rings?: RdkitDescriptorFilterResponse.NumAromaticRings;
544
+ /**
545
+ * Min/max range constraint for an RDKit molecular descriptor
546
+ */
547
+ num_h_acceptors?: RdkitDescriptorFilterResponse.NumHAcceptors;
548
+ /**
549
+ * Min/max range constraint for an RDKit molecular descriptor
550
+ */
551
+ num_h_donors?: RdkitDescriptorFilterResponse.NumHDonors;
552
+ /**
553
+ * Min/max range constraint for an RDKit molecular descriptor
554
+ */
555
+ num_heteroatoms?: RdkitDescriptorFilterResponse.NumHeteroatoms;
556
+ /**
557
+ * Min/max range constraint for an RDKit molecular descriptor
558
+ */
559
+ num_rings?: RdkitDescriptorFilterResponse.NumRings;
560
+ /**
561
+ * Min/max range constraint for an RDKit molecular descriptor
562
+ */
563
+ num_rotatable_bonds?: RdkitDescriptorFilterResponse.NumRotatableBonds;
564
+ /**
565
+ * Min/max range constraint for an RDKit molecular descriptor
566
+ */
567
+ tpsa?: RdkitDescriptorFilterResponse.Tpsa;
568
+ }
569
+ namespace RdkitDescriptorFilterResponse {
570
+ /**
571
+ * Min/max range constraint for an RDKit molecular descriptor
572
+ */
573
+ interface FractionCsp3 {
574
+ /**
575
+ * Maximum allowed value (inclusive)
576
+ */
577
+ max?: number;
578
+ /**
579
+ * Minimum allowed value (inclusive)
580
+ */
581
+ min?: number;
582
+ }
583
+ /**
584
+ * Min/max range constraint for an RDKit molecular descriptor
585
+ */
586
+ interface MolLogp {
587
+ /**
588
+ * Maximum allowed value (inclusive)
589
+ */
590
+ max?: number;
591
+ /**
592
+ * Minimum allowed value (inclusive)
593
+ */
594
+ min?: number;
595
+ }
596
+ /**
597
+ * Min/max range constraint for an RDKit molecular descriptor
598
+ */
599
+ interface MolWt {
600
+ /**
601
+ * Maximum allowed value (inclusive)
602
+ */
603
+ max?: number;
604
+ /**
605
+ * Minimum allowed value (inclusive)
606
+ */
607
+ min?: number;
608
+ }
609
+ /**
610
+ * Min/max range constraint for an RDKit molecular descriptor
611
+ */
612
+ interface NumAromaticRings {
613
+ /**
614
+ * Maximum allowed value (inclusive)
615
+ */
616
+ max?: number;
617
+ /**
618
+ * Minimum allowed value (inclusive)
619
+ */
620
+ min?: number;
621
+ }
622
+ /**
623
+ * Min/max range constraint for an RDKit molecular descriptor
624
+ */
625
+ interface NumHAcceptors {
626
+ /**
627
+ * Maximum allowed value (inclusive)
628
+ */
629
+ max?: number;
630
+ /**
631
+ * Minimum allowed value (inclusive)
632
+ */
633
+ min?: number;
634
+ }
635
+ /**
636
+ * Min/max range constraint for an RDKit molecular descriptor
637
+ */
638
+ interface NumHDonors {
639
+ /**
640
+ * Maximum allowed value (inclusive)
641
+ */
642
+ max?: number;
643
+ /**
644
+ * Minimum allowed value (inclusive)
645
+ */
646
+ min?: number;
647
+ }
648
+ /**
649
+ * Min/max range constraint for an RDKit molecular descriptor
650
+ */
651
+ interface NumHeteroatoms {
652
+ /**
653
+ * Maximum allowed value (inclusive)
654
+ */
655
+ max?: number;
656
+ /**
657
+ * Minimum allowed value (inclusive)
658
+ */
659
+ min?: number;
660
+ }
661
+ /**
662
+ * Min/max range constraint for an RDKit molecular descriptor
663
+ */
664
+ interface NumRings {
665
+ /**
666
+ * Maximum allowed value (inclusive)
667
+ */
668
+ max?: number;
669
+ /**
670
+ * Minimum allowed value (inclusive)
671
+ */
672
+ min?: number;
673
+ }
674
+ /**
675
+ * Min/max range constraint for an RDKit molecular descriptor
676
+ */
677
+ interface NumRotatableBonds {
678
+ /**
679
+ * Maximum allowed value (inclusive)
680
+ */
681
+ max?: number;
682
+ /**
683
+ * Minimum allowed value (inclusive)
684
+ */
685
+ min?: number;
686
+ }
687
+ /**
688
+ * Min/max range constraint for an RDKit molecular descriptor
689
+ */
690
+ interface Tpsa {
691
+ /**
692
+ * Maximum allowed value (inclusive)
693
+ */
694
+ max?: number;
695
+ /**
696
+ * Minimum allowed value (inclusive)
697
+ */
698
+ min?: number;
699
+ }
700
+ }
701
+ /**
702
+ * Filter molecules by custom SMARTS patterns. Molecules matching any pattern are
703
+ * rejected.
704
+ */
705
+ interface SmartsCustomFilterResponse {
706
+ /**
707
+ * SMARTS patterns. Molecules matching any pattern are rejected.
708
+ */
709
+ patterns: Array<string>;
710
+ type: 'smarts_custom_filter';
711
+ }
712
+ /**
713
+ * Filter molecules using a predefined SMARTS catalog of structural alerts.
714
+ */
715
+ interface SmartsCatalogFilterResponse {
716
+ /**
717
+ * Predefined SMARTS catalog to apply. PAINS, BRENK, ChEMBL, and NIH catalogs
718
+ * reject known problematic substructures.
719
+ */
720
+ catalog: 'PAINS' | 'PAINS_A' | 'PAINS_B' | 'PAINS_C' | 'BRENK' | 'CHEMBL' | 'CHEMBL_BMS' | 'CHEMBL_Dundee' | 'CHEMBL_Glaxo' | 'CHEMBL_Inpharmatica' | 'CHEMBL_LINT' | 'CHEMBL_MLSMR' | 'CHEMBL_SureChEMBL' | 'NIH';
721
+ type: 'smarts_catalog_filter';
722
+ }
723
+ /**
724
+ * Filter molecules by regex patterns on their SMILES representation.
725
+ */
726
+ interface SmilesRegexFilterResponse {
727
+ /**
728
+ * Regex patterns applied to SMILES strings. Molecules matching any pattern are
729
+ * rejected.
730
+ */
731
+ patterns: Array<string>;
732
+ type: 'smiles_regex_filter';
733
+ }
734
+ }
735
+ }
736
+ interface Progress {
737
+ /**
738
+ * Number of accepted molecules that reached terminal failure during screening.
739
+ */
740
+ num_molecules_failed: number;
741
+ /**
742
+ * Number of accepted molecules that produced usable screening results.
743
+ */
744
+ num_molecules_screened: number;
745
+ /**
746
+ * Total number of molecules accepted into screening after server-side validation
747
+ * and filtering.
748
+ */
749
+ total_molecules_to_screen: number;
750
+ /**
751
+ * ID of the most recently screened result
752
+ */
753
+ latest_result_id?: string;
754
+ rejection_summary?: Progress.RejectionSummary;
755
+ }
756
+ namespace Progress {
757
+ interface RejectionSummary {
758
+ /**
759
+ * Number of submitted molecules removed by server-side filtering rules.
760
+ */
761
+ filtered_count: number;
762
+ /**
763
+ * Number of submitted molecules rejected as invalid input.
764
+ */
765
+ invalid_count: number;
766
+ }
767
+ }
768
+ }
769
+ /**
770
+ * Summary of a small molecule library screening engine run (excludes input)
771
+ */
772
+ export interface LibraryScreenListResponse {
773
+ /**
774
+ * Unique SmScreenSummary identifier
775
+ */
776
+ id: string;
777
+ completed_at: string | null;
778
+ created_at: string;
779
+ /**
780
+ * When the input, output, and result data was permanently deleted. Null if data
781
+ * has not been deleted.
782
+ */
783
+ data_deleted_at: string | null;
784
+ /**
785
+ * Engine used for small molecule library screen
786
+ */
787
+ engine: 'boltz-sm-screen';
788
+ /**
789
+ * Engine version used for small molecule library screen
790
+ */
791
+ engine_version: string;
792
+ error: LibraryScreenListResponse.Error | null;
793
+ /**
794
+ * Whether this resource was created with a live API key.
795
+ */
796
+ livemode: boolean;
797
+ progress: LibraryScreenListResponse.Progress | null;
798
+ started_at: string | null;
799
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
800
+ stopped_at: string | null;
801
+ /**
802
+ * Workspace ID
803
+ */
804
+ workspace_id: string;
805
+ /**
806
+ * Client-provided idempotency key
807
+ */
808
+ idempotency_key?: string;
809
+ }
810
+ export declare namespace LibraryScreenListResponse {
811
+ interface Error {
812
+ /**
813
+ * Machine-readable error code
814
+ */
815
+ code: string;
816
+ /**
817
+ * Human-readable error message
818
+ */
819
+ message: string;
820
+ /**
821
+ * Additional field-level error details keyed by input path, when available.
822
+ */
823
+ details?: unknown;
824
+ }
825
+ interface Progress {
826
+ /**
827
+ * Number of accepted molecules that reached terminal failure during screening.
828
+ */
829
+ num_molecules_failed: number;
830
+ /**
831
+ * Number of accepted molecules that produced usable screening results.
832
+ */
833
+ num_molecules_screened: number;
834
+ /**
835
+ * Total number of molecules accepted into screening after server-side validation
836
+ * and filtering.
837
+ */
838
+ total_molecules_to_screen: number;
839
+ /**
840
+ * ID of the most recently screened result
841
+ */
842
+ latest_result_id?: string;
843
+ rejection_summary?: Progress.RejectionSummary;
844
+ }
845
+ namespace Progress {
846
+ interface RejectionSummary {
847
+ /**
848
+ * Number of submitted molecules removed by server-side filtering rules.
849
+ */
850
+ filtered_count: number;
851
+ /**
852
+ * Number of submitted molecules rejected as invalid input.
853
+ */
854
+ invalid_count: number;
855
+ }
856
+ }
857
+ }
858
+ export interface LibraryScreenDeleteDataResponse {
859
+ /**
860
+ * ID of the resource whose data was deleted
861
+ */
862
+ id: string;
863
+ data_deleted: true;
864
+ /**
865
+ * When the data was deleted
866
+ */
867
+ data_deleted_at: string;
868
+ }
869
+ /**
870
+ * Estimate response with monetary values encoded as decimal strings to preserve
871
+ * precision.
872
+ */
873
+ export interface LibraryScreenEstimateCostResponse {
874
+ /**
875
+ * Cost breakdown for the billed application.
876
+ */
877
+ breakdown: LibraryScreenEstimateCostResponse.Breakdown;
878
+ disclaimer: string;
879
+ /**
880
+ * Estimated total cost as a decimal string
881
+ */
882
+ estimated_cost_usd: string;
883
+ }
884
+ export declare namespace LibraryScreenEstimateCostResponse {
885
+ /**
886
+ * Cost breakdown for the billed application.
887
+ */
888
+ interface Breakdown {
889
+ application: 'structure_and_binding' | 'small_molecule_design' | 'small_molecule_library_screen' | 'protein_design' | 'protein_library_screen' | 'adme';
890
+ /**
891
+ * Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal
892
+ * places. This may include token-size multipliers or generation overhead;
893
+ * estimated_cost_usd is the authoritative total.
894
+ */
895
+ cost_per_unit_usd: string;
896
+ /**
897
+ * Number of units shown for the estimate. For structure-and-binding, this is the
898
+ * requested number of samples. For protein and small-molecule design/screen
899
+ * endpoints, this is the requested number of proteins or molecules.
900
+ */
901
+ num_units: number;
902
+ }
903
+ }
904
+ /**
905
+ * Result for a single screened small molecule
906
+ */
907
+ export interface LibraryScreenListResultsResponse {
908
+ /**
909
+ * Unique result ID
910
+ */
911
+ id: string;
912
+ artifacts: LibraryScreenListResultsResponse.Artifacts;
913
+ created_at: string;
914
+ /**
915
+ * Scoring metrics for a screened small molecule
916
+ */
917
+ metrics: LibraryScreenListResultsResponse.Metrics;
918
+ /**
919
+ * SMILES string of the screened molecule
920
+ */
921
+ smiles: string;
922
+ /**
923
+ * Client-provided identifier for this molecule, if provided
924
+ */
925
+ external_id?: string;
926
+ /**
927
+ * Warnings about potential quality issues with this result.
928
+ */
929
+ warnings?: Array<LibraryScreenListResultsResponse.Warning>;
930
+ }
931
+ export declare namespace LibraryScreenListResultsResponse {
932
+ interface Artifacts {
933
+ archive: Artifacts.Archive;
934
+ structure: Artifacts.Structure;
935
+ }
936
+ namespace Artifacts {
937
+ interface Archive {
938
+ /**
939
+ * URL to download the file
940
+ */
941
+ url: string;
942
+ /**
943
+ * When the presigned URL expires
944
+ */
945
+ url_expires_at: string;
946
+ }
947
+ interface Structure {
948
+ /**
949
+ * URL to download the file
950
+ */
951
+ url: string;
952
+ /**
953
+ * When the presigned URL expires
954
+ */
955
+ url_expires_at: string;
956
+ }
957
+ }
958
+ /**
959
+ * Scoring metrics for a screened small molecule
960
+ */
961
+ interface Metrics {
962
+ /**
963
+ * Confidence that the molecule binds the target (0-1). Primary metric for hit
964
+ * discovery.
965
+ */
966
+ binding_confidence: number;
967
+ /**
968
+ * Interface pLDDT for the complex (0-1 float). Confidence at the binding
969
+ * interface.
970
+ */
971
+ complex_iplddt: number;
972
+ /**
973
+ * pLDDT for the full complex (0-1 float).
974
+ */
975
+ complex_plddt: number;
976
+ /**
977
+ * Interface predicted TM score (0-1). Confidence in relative positioning of ligand
978
+ * and protein.
979
+ */
980
+ iptm: number;
981
+ /**
982
+ * Binding strength ranking score for lead optimization. Higher values indicate
983
+ * stronger predicted binding.
984
+ */
985
+ optimization_score: number;
986
+ /**
987
+ * Predicted TM score (0-1). Global structure quality metric.
988
+ */
989
+ ptm: number;
990
+ /**
991
+ * Confidence in the predicted 3D structure (0-1).
992
+ */
993
+ structure_confidence: number;
994
+ }
995
+ /**
996
+ * A warning about a potential quality issue with a result
997
+ */
998
+ interface Warning {
999
+ /**
1000
+ * Machine-readable warning code (e.g. "low_confidence", "unusual_geometry")
1001
+ */
1002
+ code: string;
1003
+ /**
1004
+ * Human-readable description of the warning
1005
+ */
1006
+ message: string;
1007
+ }
1008
+ }
1009
+ /**
1010
+ * A small molecule library screening engine run
1011
+ */
1012
+ export interface LibraryScreenStartResponse {
1013
+ /**
1014
+ * Unique SmScreen identifier
1015
+ */
1016
+ id: string;
1017
+ completed_at: string | null;
1018
+ created_at: string;
1019
+ /**
1020
+ * When the input, output, and result data was permanently deleted. Null if data
1021
+ * has not been deleted.
1022
+ */
1023
+ data_deleted_at: string | null;
1024
+ /**
1025
+ * Engine used for small molecule library screen
1026
+ */
1027
+ engine: 'boltz-sm-screen';
1028
+ /**
1029
+ * Engine version used for small molecule library screen
1030
+ */
1031
+ engine_version: string;
1032
+ error: LibraryScreenStartResponse.Error | null;
1033
+ /**
1034
+ * Pipeline input (null if data deleted)
1035
+ */
1036
+ input: LibraryScreenStartResponse.Input | null;
1037
+ /**
1038
+ * Whether this resource was created with a live API key.
1039
+ */
1040
+ livemode: boolean;
1041
+ progress: LibraryScreenStartResponse.Progress | null;
1042
+ started_at: string | null;
1043
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
1044
+ stopped_at: string | null;
1045
+ /**
1046
+ * Workspace ID
1047
+ */
1048
+ workspace_id: string;
1049
+ /**
1050
+ * Client-provided idempotency key
1051
+ */
1052
+ idempotency_key?: string;
1053
+ }
1054
+ export declare namespace LibraryScreenStartResponse {
1055
+ interface Error {
1056
+ /**
1057
+ * Machine-readable error code
1058
+ */
1059
+ code: string;
1060
+ /**
1061
+ * Human-readable error message
1062
+ */
1063
+ message: string;
1064
+ /**
1065
+ * Additional field-level error details keyed by input path, when available.
1066
+ */
1067
+ details?: unknown;
1068
+ }
1069
+ /**
1070
+ * Pipeline input (null if data deleted)
1071
+ */
1072
+ interface Input {
1073
+ molecules: Input.Molecules;
1074
+ /**
1075
+ * Target protein with binding pocket for small molecule design or screening
1076
+ */
1077
+ target: Input.Target;
1078
+ /**
1079
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
1080
+ * and custom filters.
1081
+ */
1082
+ molecule_filters?: Input.MoleculeFilters;
1083
+ }
1084
+ namespace Input {
1085
+ interface Molecules {
1086
+ /**
1087
+ * URL to download the file
1088
+ */
1089
+ url: string;
1090
+ /**
1091
+ * When the presigned URL expires
1092
+ */
1093
+ url_expires_at: string;
1094
+ }
1095
+ /**
1096
+ * Target protein with binding pocket for small molecule design or screening
1097
+ */
1098
+ interface Target {
1099
+ /**
1100
+ * Protein entities defining the target structure. Each entity represents a protein
1101
+ * chain.
1102
+ */
1103
+ entities: Array<Target.Entity>;
1104
+ /**
1105
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
1106
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
1107
+ */
1108
+ bonds?: Array<Target.Bond>;
1109
+ /**
1110
+ * Structural constraints (pocket and contact). Atom-level ligand references
1111
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
1112
+ */
1113
+ constraints?: Array<Target.PocketConstraintResponse | Target.ContactConstraintResponse>;
1114
+ /**
1115
+ * Binding pocket residues, keyed by chain ID. Each key is a chain ID (e.g. "A")
1116
+ * and the value is an array of 0-indexed residue indices that define the binding
1117
+ * pocket on that chain. When provided, these residues guide pocket extraction and
1118
+ * add a derived pocket constraint during affinity predictions. That derived
1119
+ * constraint remains separate from any explicit pocket constraints in
1120
+ * target.constraints. When omitted, the model auto-detects the pocket.
1121
+ */
1122
+ pocket_residues?: {
1123
+ [key: string]: Array<number>;
1124
+ };
1125
+ /**
1126
+ * Reference ligands as SMILES strings that help the model identify the binding
1127
+ * pocket. When omitted, a set of drug-like default ligands is used for pocket
1128
+ * detection.
1129
+ */
1130
+ reference_ligands?: Array<string>;
1131
+ }
1132
+ namespace Target {
1133
+ interface Entity {
1134
+ /**
1135
+ * Chain IDs for this entity
1136
+ */
1137
+ chain_ids: Array<string>;
1138
+ type: 'protein';
1139
+ /**
1140
+ * Amino acid sequence (one-letter codes)
1141
+ */
1142
+ value: string;
1143
+ /**
1144
+ * Whether the sequence is cyclic
1145
+ */
1146
+ cyclic?: boolean;
1147
+ /**
1148
+ * Post-translational modifications. Optional; defaults to an empty list when
1149
+ * omitted.
1150
+ */
1151
+ modifications?: Array<Entity.CcdModificationResponse | Entity.SmilesModificationResponse>;
1152
+ }
1153
+ namespace Entity {
1154
+ interface CcdModificationResponse {
1155
+ /**
1156
+ * 0-based index of the residue to modify
1157
+ */
1158
+ residue_index: number;
1159
+ type: 'ccd';
1160
+ /**
1161
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1162
+ * phosphoserine)
1163
+ */
1164
+ value: string;
1165
+ }
1166
+ interface SmilesModificationResponse {
1167
+ /**
1168
+ * 0-based index of the residue to modify
1169
+ */
1170
+ residue_index: number;
1171
+ type: 'smiles';
1172
+ /**
1173
+ * SMILES string for the modification
1174
+ */
1175
+ value: string;
1176
+ }
1177
+ }
1178
+ /**
1179
+ * Bond between two atoms. Atom-level ligand references currently support
1180
+ * ligand_ccd entities only; ligand_smiles is unsupported.
1181
+ */
1182
+ interface Bond {
1183
+ /**
1184
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1185
+ * entities only; ligand_smiles is unsupported.
1186
+ */
1187
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1188
+ /**
1189
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1190
+ * entities only; ligand_smiles is unsupported.
1191
+ */
1192
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1193
+ }
1194
+ namespace Bond {
1195
+ /**
1196
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1197
+ * entities only; ligand_smiles is unsupported.
1198
+ */
1199
+ interface LigandAtomResponse {
1200
+ /**
1201
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1202
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1203
+ */
1204
+ atom_name: string;
1205
+ /**
1206
+ * Chain ID containing the atom
1207
+ */
1208
+ chain_id: string;
1209
+ type: 'ligand_atom';
1210
+ }
1211
+ interface PolymerAtomResponse {
1212
+ /**
1213
+ * Standardized atom name (verifiable in CIF file on RCSB)
1214
+ */
1215
+ atom_name: string;
1216
+ /**
1217
+ * Chain ID containing the atom
1218
+ */
1219
+ chain_id: string;
1220
+ /**
1221
+ * 0-based residue index
1222
+ */
1223
+ residue_index: number;
1224
+ type: 'polymer_atom';
1225
+ }
1226
+ /**
1227
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1228
+ * entities only; ligand_smiles is unsupported.
1229
+ */
1230
+ interface LigandAtomResponse {
1231
+ /**
1232
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1233
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1234
+ */
1235
+ atom_name: string;
1236
+ /**
1237
+ * Chain ID containing the atom
1238
+ */
1239
+ chain_id: string;
1240
+ type: 'ligand_atom';
1241
+ }
1242
+ interface PolymerAtomResponse {
1243
+ /**
1244
+ * Standardized atom name (verifiable in CIF file on RCSB)
1245
+ */
1246
+ atom_name: string;
1247
+ /**
1248
+ * Chain ID containing the atom
1249
+ */
1250
+ chain_id: string;
1251
+ /**
1252
+ * 0-based residue index
1253
+ */
1254
+ residue_index: number;
1255
+ type: 'polymer_atom';
1256
+ }
1257
+ }
1258
+ /**
1259
+ * Constrains the binder to interact with specific pocket residues on the target.
1260
+ */
1261
+ interface PocketConstraintResponse {
1262
+ /**
1263
+ * Chain ID of the binder molecule
1264
+ */
1265
+ binder_chain_id: string;
1266
+ /**
1267
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
1268
+ * the value is an array of 0-indexed residue indices that define the pocket on
1269
+ * that chain.
1270
+ */
1271
+ contact_residues: {
1272
+ [key: string]: Array<number>;
1273
+ };
1274
+ /**
1275
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
1276
+ * Typical range: 4-8 A.
1277
+ */
1278
+ max_distance_angstrom: number;
1279
+ type: 'pocket';
1280
+ /**
1281
+ * Whether to force the constraint
1282
+ */
1283
+ force?: boolean;
1284
+ }
1285
+ /**
1286
+ * Contact constraint between two tokens. Atom-level ligand references currently
1287
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
1288
+ */
1289
+ interface ContactConstraintResponse {
1290
+ /**
1291
+ * Maximum distance in Angstroms
1292
+ */
1293
+ max_distance_angstrom: number;
1294
+ /**
1295
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1296
+ * entities only; ligand_smiles is unsupported.
1297
+ */
1298
+ token1: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
1299
+ /**
1300
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1301
+ * entities only; ligand_smiles is unsupported.
1302
+ */
1303
+ token2: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
1304
+ type: 'contact';
1305
+ /**
1306
+ * Whether to force the constraint
1307
+ */
1308
+ force?: boolean;
1309
+ }
1310
+ namespace ContactConstraintResponse {
1311
+ interface PolymerContactTokenResponse {
1312
+ /**
1313
+ * Chain ID
1314
+ */
1315
+ chain_id: string;
1316
+ /**
1317
+ * 0-based residue index
1318
+ */
1319
+ residue_index: number;
1320
+ type: 'polymer_contact';
1321
+ }
1322
+ /**
1323
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1324
+ * entities only; ligand_smiles is unsupported.
1325
+ */
1326
+ interface LigandContactTokenResponse {
1327
+ /**
1328
+ * Atom name. Atom-level references to ligand_smiles entities are currently
1329
+ * unsupported; use ligand_ccd instead.
1330
+ */
1331
+ atom_name: string;
1332
+ /**
1333
+ * Chain ID
1334
+ */
1335
+ chain_id: string;
1336
+ type: 'ligand_contact';
1337
+ }
1338
+ interface PolymerContactTokenResponse {
1339
+ /**
1340
+ * Chain ID
1341
+ */
1342
+ chain_id: string;
1343
+ /**
1344
+ * 0-based residue index
1345
+ */
1346
+ residue_index: number;
1347
+ type: 'polymer_contact';
1348
+ }
1349
+ /**
1350
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1351
+ * entities only; ligand_smiles is unsupported.
1352
+ */
1353
+ interface LigandContactTokenResponse {
1354
+ /**
1355
+ * Atom name. Atom-level references to ligand_smiles entities are currently
1356
+ * unsupported; use ligand_ccd instead.
1357
+ */
1358
+ atom_name: string;
1359
+ /**
1360
+ * Chain ID
1361
+ */
1362
+ chain_id: string;
1363
+ type: 'ligand_contact';
1364
+ }
1365
+ }
1366
+ }
1367
+ /**
1368
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
1369
+ * and custom filters.
1370
+ */
1371
+ interface MoleculeFilters {
1372
+ /**
1373
+ * Controls the stringency of Boltz's built-in SMARTS structural alert filtering,
1374
+ * which removes molecules matching known problematic substructures. 'recommended'
1375
+ * (default): applies a curated set of alerts balancing safety and hit rate.
1376
+ * 'extra': adds additional alerts beyond the recommended set for stricter
1377
+ * filtering. 'aggressive': applies the most comprehensive alert set — may reject
1378
+ * viable molecules. 'disabled': turns off Boltz SMARTS filtering entirely; only
1379
+ * custom_filters will be applied.
1380
+ */
1381
+ boltz_smarts_catalog_filter_level?: 'recommended' | 'extra' | 'aggressive' | 'disabled';
1382
+ /**
1383
+ * Custom filters to apply. Molecules must pass all filters (AND logic).
1384
+ */
1385
+ custom_filters?: Array<MoleculeFilters.LipinskiFilterResponse | MoleculeFilters.RdkitDescriptorFilterResponse | MoleculeFilters.SmartsCustomFilterResponse | MoleculeFilters.SmartsCatalogFilterResponse | MoleculeFilters.SmilesRegexFilterResponse>;
1386
+ }
1387
+ namespace MoleculeFilters {
1388
+ /**
1389
+ * Lipinski's Rule of Five filter. Rejects molecules that violate drug-likeness
1390
+ * criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen
1391
+ * bond acceptors.
1392
+ */
1393
+ interface LipinskiFilterResponse {
1394
+ /**
1395
+ * Maximum number of hydrogen bond acceptors. Lipinski threshold: 10
1396
+ */
1397
+ max_hba: number;
1398
+ /**
1399
+ * Maximum number of hydrogen bond donors. Lipinski threshold: 5
1400
+ */
1401
+ max_hbd: number;
1402
+ /**
1403
+ * Maximum LogP. Lipinski threshold: 5
1404
+ */
1405
+ max_logp: number;
1406
+ /**
1407
+ * Maximum molecular weight (Da). Lipinski threshold: 500
1408
+ */
1409
+ max_mw: number;
1410
+ type: 'lipinski_filter';
1411
+ /**
1412
+ * If true, one rule violation is allowed (classic Rule of Five). Defaults to false
1413
+ * (all rules must pass).
1414
+ */
1415
+ allow_single_violation?: boolean;
1416
+ }
1417
+ /**
1418
+ * Filter molecules by RDKit molecular descriptors. Each descriptor is constrained
1419
+ * to a min/max range. Only descriptors you provide are checked — omitted
1420
+ * descriptors are unconstrained.
1421
+ */
1422
+ interface RdkitDescriptorFilterResponse {
1423
+ type: 'rdkit_descriptor_filter';
1424
+ /**
1425
+ * Min/max range constraint for an RDKit molecular descriptor
1426
+ */
1427
+ fraction_csp3?: RdkitDescriptorFilterResponse.FractionCsp3;
1428
+ /**
1429
+ * Min/max range constraint for an RDKit molecular descriptor
1430
+ */
1431
+ mol_logp?: RdkitDescriptorFilterResponse.MolLogp;
1432
+ /**
1433
+ * Min/max range constraint for an RDKit molecular descriptor
1434
+ */
1435
+ mol_wt?: RdkitDescriptorFilterResponse.MolWt;
1436
+ /**
1437
+ * Min/max range constraint for an RDKit molecular descriptor
1438
+ */
1439
+ num_aromatic_rings?: RdkitDescriptorFilterResponse.NumAromaticRings;
1440
+ /**
1441
+ * Min/max range constraint for an RDKit molecular descriptor
1442
+ */
1443
+ num_h_acceptors?: RdkitDescriptorFilterResponse.NumHAcceptors;
1444
+ /**
1445
+ * Min/max range constraint for an RDKit molecular descriptor
1446
+ */
1447
+ num_h_donors?: RdkitDescriptorFilterResponse.NumHDonors;
1448
+ /**
1449
+ * Min/max range constraint for an RDKit molecular descriptor
1450
+ */
1451
+ num_heteroatoms?: RdkitDescriptorFilterResponse.NumHeteroatoms;
1452
+ /**
1453
+ * Min/max range constraint for an RDKit molecular descriptor
1454
+ */
1455
+ num_rings?: RdkitDescriptorFilterResponse.NumRings;
1456
+ /**
1457
+ * Min/max range constraint for an RDKit molecular descriptor
1458
+ */
1459
+ num_rotatable_bonds?: RdkitDescriptorFilterResponse.NumRotatableBonds;
1460
+ /**
1461
+ * Min/max range constraint for an RDKit molecular descriptor
1462
+ */
1463
+ tpsa?: RdkitDescriptorFilterResponse.Tpsa;
1464
+ }
1465
+ namespace RdkitDescriptorFilterResponse {
1466
+ /**
1467
+ * Min/max range constraint for an RDKit molecular descriptor
1468
+ */
1469
+ interface FractionCsp3 {
1470
+ /**
1471
+ * Maximum allowed value (inclusive)
1472
+ */
1473
+ max?: number;
1474
+ /**
1475
+ * Minimum allowed value (inclusive)
1476
+ */
1477
+ min?: number;
1478
+ }
1479
+ /**
1480
+ * Min/max range constraint for an RDKit molecular descriptor
1481
+ */
1482
+ interface MolLogp {
1483
+ /**
1484
+ * Maximum allowed value (inclusive)
1485
+ */
1486
+ max?: number;
1487
+ /**
1488
+ * Minimum allowed value (inclusive)
1489
+ */
1490
+ min?: number;
1491
+ }
1492
+ /**
1493
+ * Min/max range constraint for an RDKit molecular descriptor
1494
+ */
1495
+ interface MolWt {
1496
+ /**
1497
+ * Maximum allowed value (inclusive)
1498
+ */
1499
+ max?: number;
1500
+ /**
1501
+ * Minimum allowed value (inclusive)
1502
+ */
1503
+ min?: number;
1504
+ }
1505
+ /**
1506
+ * Min/max range constraint for an RDKit molecular descriptor
1507
+ */
1508
+ interface NumAromaticRings {
1509
+ /**
1510
+ * Maximum allowed value (inclusive)
1511
+ */
1512
+ max?: number;
1513
+ /**
1514
+ * Minimum allowed value (inclusive)
1515
+ */
1516
+ min?: number;
1517
+ }
1518
+ /**
1519
+ * Min/max range constraint for an RDKit molecular descriptor
1520
+ */
1521
+ interface NumHAcceptors {
1522
+ /**
1523
+ * Maximum allowed value (inclusive)
1524
+ */
1525
+ max?: number;
1526
+ /**
1527
+ * Minimum allowed value (inclusive)
1528
+ */
1529
+ min?: number;
1530
+ }
1531
+ /**
1532
+ * Min/max range constraint for an RDKit molecular descriptor
1533
+ */
1534
+ interface NumHDonors {
1535
+ /**
1536
+ * Maximum allowed value (inclusive)
1537
+ */
1538
+ max?: number;
1539
+ /**
1540
+ * Minimum allowed value (inclusive)
1541
+ */
1542
+ min?: number;
1543
+ }
1544
+ /**
1545
+ * Min/max range constraint for an RDKit molecular descriptor
1546
+ */
1547
+ interface NumHeteroatoms {
1548
+ /**
1549
+ * Maximum allowed value (inclusive)
1550
+ */
1551
+ max?: number;
1552
+ /**
1553
+ * Minimum allowed value (inclusive)
1554
+ */
1555
+ min?: number;
1556
+ }
1557
+ /**
1558
+ * Min/max range constraint for an RDKit molecular descriptor
1559
+ */
1560
+ interface NumRings {
1561
+ /**
1562
+ * Maximum allowed value (inclusive)
1563
+ */
1564
+ max?: number;
1565
+ /**
1566
+ * Minimum allowed value (inclusive)
1567
+ */
1568
+ min?: number;
1569
+ }
1570
+ /**
1571
+ * Min/max range constraint for an RDKit molecular descriptor
1572
+ */
1573
+ interface NumRotatableBonds {
1574
+ /**
1575
+ * Maximum allowed value (inclusive)
1576
+ */
1577
+ max?: number;
1578
+ /**
1579
+ * Minimum allowed value (inclusive)
1580
+ */
1581
+ min?: number;
1582
+ }
1583
+ /**
1584
+ * Min/max range constraint for an RDKit molecular descriptor
1585
+ */
1586
+ interface Tpsa {
1587
+ /**
1588
+ * Maximum allowed value (inclusive)
1589
+ */
1590
+ max?: number;
1591
+ /**
1592
+ * Minimum allowed value (inclusive)
1593
+ */
1594
+ min?: number;
1595
+ }
1596
+ }
1597
+ /**
1598
+ * Filter molecules by custom SMARTS patterns. Molecules matching any pattern are
1599
+ * rejected.
1600
+ */
1601
+ interface SmartsCustomFilterResponse {
1602
+ /**
1603
+ * SMARTS patterns. Molecules matching any pattern are rejected.
1604
+ */
1605
+ patterns: Array<string>;
1606
+ type: 'smarts_custom_filter';
1607
+ }
1608
+ /**
1609
+ * Filter molecules using a predefined SMARTS catalog of structural alerts.
1610
+ */
1611
+ interface SmartsCatalogFilterResponse {
1612
+ /**
1613
+ * Predefined SMARTS catalog to apply. PAINS, BRENK, ChEMBL, and NIH catalogs
1614
+ * reject known problematic substructures.
1615
+ */
1616
+ catalog: 'PAINS' | 'PAINS_A' | 'PAINS_B' | 'PAINS_C' | 'BRENK' | 'CHEMBL' | 'CHEMBL_BMS' | 'CHEMBL_Dundee' | 'CHEMBL_Glaxo' | 'CHEMBL_Inpharmatica' | 'CHEMBL_LINT' | 'CHEMBL_MLSMR' | 'CHEMBL_SureChEMBL' | 'NIH';
1617
+ type: 'smarts_catalog_filter';
1618
+ }
1619
+ /**
1620
+ * Filter molecules by regex patterns on their SMILES representation.
1621
+ */
1622
+ interface SmilesRegexFilterResponse {
1623
+ /**
1624
+ * Regex patterns applied to SMILES strings. Molecules matching any pattern are
1625
+ * rejected.
1626
+ */
1627
+ patterns: Array<string>;
1628
+ type: 'smiles_regex_filter';
1629
+ }
1630
+ }
1631
+ }
1632
+ interface Progress {
1633
+ /**
1634
+ * Number of accepted molecules that reached terminal failure during screening.
1635
+ */
1636
+ num_molecules_failed: number;
1637
+ /**
1638
+ * Number of accepted molecules that produced usable screening results.
1639
+ */
1640
+ num_molecules_screened: number;
1641
+ /**
1642
+ * Total number of molecules accepted into screening after server-side validation
1643
+ * and filtering.
1644
+ */
1645
+ total_molecules_to_screen: number;
1646
+ /**
1647
+ * ID of the most recently screened result
1648
+ */
1649
+ latest_result_id?: string;
1650
+ rejection_summary?: Progress.RejectionSummary;
1651
+ }
1652
+ namespace Progress {
1653
+ interface RejectionSummary {
1654
+ /**
1655
+ * Number of submitted molecules removed by server-side filtering rules.
1656
+ */
1657
+ filtered_count: number;
1658
+ /**
1659
+ * Number of submitted molecules rejected as invalid input.
1660
+ */
1661
+ invalid_count: number;
1662
+ }
1663
+ }
1664
+ }
1665
+ /**
1666
+ * A small molecule library screening engine run
1667
+ */
1668
+ export interface LibraryScreenStopResponse {
1669
+ /**
1670
+ * Unique SmScreen identifier
1671
+ */
1672
+ id: string;
1673
+ completed_at: string | null;
1674
+ created_at: string;
1675
+ /**
1676
+ * When the input, output, and result data was permanently deleted. Null if data
1677
+ * has not been deleted.
1678
+ */
1679
+ data_deleted_at: string | null;
1680
+ /**
1681
+ * Engine used for small molecule library screen
1682
+ */
1683
+ engine: 'boltz-sm-screen';
1684
+ /**
1685
+ * Engine version used for small molecule library screen
1686
+ */
1687
+ engine_version: string;
1688
+ error: LibraryScreenStopResponse.Error | null;
1689
+ /**
1690
+ * Pipeline input (null if data deleted)
1691
+ */
1692
+ input: LibraryScreenStopResponse.Input | null;
1693
+ /**
1694
+ * Whether this resource was created with a live API key.
1695
+ */
1696
+ livemode: boolean;
1697
+ progress: LibraryScreenStopResponse.Progress | null;
1698
+ started_at: string | null;
1699
+ status: 'pending' | 'running' | 'succeeded' | 'failed' | 'stopped';
1700
+ stopped_at: string | null;
1701
+ /**
1702
+ * Workspace ID
1703
+ */
1704
+ workspace_id: string;
1705
+ /**
1706
+ * Client-provided idempotency key
1707
+ */
1708
+ idempotency_key?: string;
1709
+ }
1710
+ export declare namespace LibraryScreenStopResponse {
1711
+ interface Error {
1712
+ /**
1713
+ * Machine-readable error code
1714
+ */
1715
+ code: string;
1716
+ /**
1717
+ * Human-readable error message
1718
+ */
1719
+ message: string;
1720
+ /**
1721
+ * Additional field-level error details keyed by input path, when available.
1722
+ */
1723
+ details?: unknown;
1724
+ }
1725
+ /**
1726
+ * Pipeline input (null if data deleted)
1727
+ */
1728
+ interface Input {
1729
+ molecules: Input.Molecules;
1730
+ /**
1731
+ * Target protein with binding pocket for small molecule design or screening
1732
+ */
1733
+ target: Input.Target;
1734
+ /**
1735
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
1736
+ * and custom filters.
1737
+ */
1738
+ molecule_filters?: Input.MoleculeFilters;
1739
+ }
1740
+ namespace Input {
1741
+ interface Molecules {
1742
+ /**
1743
+ * URL to download the file
1744
+ */
1745
+ url: string;
1746
+ /**
1747
+ * When the presigned URL expires
1748
+ */
1749
+ url_expires_at: string;
1750
+ }
1751
+ /**
1752
+ * Target protein with binding pocket for small molecule design or screening
1753
+ */
1754
+ interface Target {
1755
+ /**
1756
+ * Protein entities defining the target structure. Each entity represents a protein
1757
+ * chain.
1758
+ */
1759
+ entities: Array<Target.Entity>;
1760
+ /**
1761
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
1762
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
1763
+ */
1764
+ bonds?: Array<Target.Bond>;
1765
+ /**
1766
+ * Structural constraints (pocket and contact). Atom-level ligand references
1767
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
1768
+ */
1769
+ constraints?: Array<Target.PocketConstraintResponse | Target.ContactConstraintResponse>;
1770
+ /**
1771
+ * Binding pocket residues, keyed by chain ID. Each key is a chain ID (e.g. "A")
1772
+ * and the value is an array of 0-indexed residue indices that define the binding
1773
+ * pocket on that chain. When provided, these residues guide pocket extraction and
1774
+ * add a derived pocket constraint during affinity predictions. That derived
1775
+ * constraint remains separate from any explicit pocket constraints in
1776
+ * target.constraints. When omitted, the model auto-detects the pocket.
1777
+ */
1778
+ pocket_residues?: {
1779
+ [key: string]: Array<number>;
1780
+ };
1781
+ /**
1782
+ * Reference ligands as SMILES strings that help the model identify the binding
1783
+ * pocket. When omitted, a set of drug-like default ligands is used for pocket
1784
+ * detection.
1785
+ */
1786
+ reference_ligands?: Array<string>;
1787
+ }
1788
+ namespace Target {
1789
+ interface Entity {
1790
+ /**
1791
+ * Chain IDs for this entity
1792
+ */
1793
+ chain_ids: Array<string>;
1794
+ type: 'protein';
1795
+ /**
1796
+ * Amino acid sequence (one-letter codes)
1797
+ */
1798
+ value: string;
1799
+ /**
1800
+ * Whether the sequence is cyclic
1801
+ */
1802
+ cyclic?: boolean;
1803
+ /**
1804
+ * Post-translational modifications. Optional; defaults to an empty list when
1805
+ * omitted.
1806
+ */
1807
+ modifications?: Array<Entity.CcdModificationResponse | Entity.SmilesModificationResponse>;
1808
+ }
1809
+ namespace Entity {
1810
+ interface CcdModificationResponse {
1811
+ /**
1812
+ * 0-based index of the residue to modify
1813
+ */
1814
+ residue_index: number;
1815
+ type: 'ccd';
1816
+ /**
1817
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
1818
+ * phosphoserine)
1819
+ */
1820
+ value: string;
1821
+ }
1822
+ interface SmilesModificationResponse {
1823
+ /**
1824
+ * 0-based index of the residue to modify
1825
+ */
1826
+ residue_index: number;
1827
+ type: 'smiles';
1828
+ /**
1829
+ * SMILES string for the modification
1830
+ */
1831
+ value: string;
1832
+ }
1833
+ }
1834
+ /**
1835
+ * Bond between two atoms. Atom-level ligand references currently support
1836
+ * ligand_ccd entities only; ligand_smiles is unsupported.
1837
+ */
1838
+ interface Bond {
1839
+ /**
1840
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1841
+ * entities only; ligand_smiles is unsupported.
1842
+ */
1843
+ atom1: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1844
+ /**
1845
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1846
+ * entities only; ligand_smiles is unsupported.
1847
+ */
1848
+ atom2: Bond.LigandAtomResponse | Bond.PolymerAtomResponse;
1849
+ }
1850
+ namespace Bond {
1851
+ /**
1852
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1853
+ * entities only; ligand_smiles is unsupported.
1854
+ */
1855
+ interface LigandAtomResponse {
1856
+ /**
1857
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1858
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1859
+ */
1860
+ atom_name: string;
1861
+ /**
1862
+ * Chain ID containing the atom
1863
+ */
1864
+ chain_id: string;
1865
+ type: 'ligand_atom';
1866
+ }
1867
+ interface PolymerAtomResponse {
1868
+ /**
1869
+ * Standardized atom name (verifiable in CIF file on RCSB)
1870
+ */
1871
+ atom_name: string;
1872
+ /**
1873
+ * Chain ID containing the atom
1874
+ */
1875
+ chain_id: string;
1876
+ /**
1877
+ * 0-based residue index
1878
+ */
1879
+ residue_index: number;
1880
+ type: 'polymer_atom';
1881
+ }
1882
+ /**
1883
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
1884
+ * entities only; ligand_smiles is unsupported.
1885
+ */
1886
+ interface LigandAtomResponse {
1887
+ /**
1888
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
1889
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
1890
+ */
1891
+ atom_name: string;
1892
+ /**
1893
+ * Chain ID containing the atom
1894
+ */
1895
+ chain_id: string;
1896
+ type: 'ligand_atom';
1897
+ }
1898
+ interface PolymerAtomResponse {
1899
+ /**
1900
+ * Standardized atom name (verifiable in CIF file on RCSB)
1901
+ */
1902
+ atom_name: string;
1903
+ /**
1904
+ * Chain ID containing the atom
1905
+ */
1906
+ chain_id: string;
1907
+ /**
1908
+ * 0-based residue index
1909
+ */
1910
+ residue_index: number;
1911
+ type: 'polymer_atom';
1912
+ }
1913
+ }
1914
+ /**
1915
+ * Constrains the binder to interact with specific pocket residues on the target.
1916
+ */
1917
+ interface PocketConstraintResponse {
1918
+ /**
1919
+ * Chain ID of the binder molecule
1920
+ */
1921
+ binder_chain_id: string;
1922
+ /**
1923
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
1924
+ * the value is an array of 0-indexed residue indices that define the pocket on
1925
+ * that chain.
1926
+ */
1927
+ contact_residues: {
1928
+ [key: string]: Array<number>;
1929
+ };
1930
+ /**
1931
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
1932
+ * Typical range: 4-8 A.
1933
+ */
1934
+ max_distance_angstrom: number;
1935
+ type: 'pocket';
1936
+ /**
1937
+ * Whether to force the constraint
1938
+ */
1939
+ force?: boolean;
1940
+ }
1941
+ /**
1942
+ * Contact constraint between two tokens. Atom-level ligand references currently
1943
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
1944
+ */
1945
+ interface ContactConstraintResponse {
1946
+ /**
1947
+ * Maximum distance in Angstroms
1948
+ */
1949
+ max_distance_angstrom: number;
1950
+ /**
1951
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1952
+ * entities only; ligand_smiles is unsupported.
1953
+ */
1954
+ token1: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
1955
+ /**
1956
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1957
+ * entities only; ligand_smiles is unsupported.
1958
+ */
1959
+ token2: ContactConstraintResponse.PolymerContactTokenResponse | ContactConstraintResponse.LigandContactTokenResponse;
1960
+ type: 'contact';
1961
+ /**
1962
+ * Whether to force the constraint
1963
+ */
1964
+ force?: boolean;
1965
+ }
1966
+ namespace ContactConstraintResponse {
1967
+ interface PolymerContactTokenResponse {
1968
+ /**
1969
+ * Chain ID
1970
+ */
1971
+ chain_id: string;
1972
+ /**
1973
+ * 0-based residue index
1974
+ */
1975
+ residue_index: number;
1976
+ type: 'polymer_contact';
1977
+ }
1978
+ /**
1979
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
1980
+ * entities only; ligand_smiles is unsupported.
1981
+ */
1982
+ interface LigandContactTokenResponse {
1983
+ /**
1984
+ * Atom name. Atom-level references to ligand_smiles entities are currently
1985
+ * unsupported; use ligand_ccd instead.
1986
+ */
1987
+ atom_name: string;
1988
+ /**
1989
+ * Chain ID
1990
+ */
1991
+ chain_id: string;
1992
+ type: 'ligand_contact';
1993
+ }
1994
+ interface PolymerContactTokenResponse {
1995
+ /**
1996
+ * Chain ID
1997
+ */
1998
+ chain_id: string;
1999
+ /**
2000
+ * 0-based residue index
2001
+ */
2002
+ residue_index: number;
2003
+ type: 'polymer_contact';
2004
+ }
2005
+ /**
2006
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2007
+ * entities only; ligand_smiles is unsupported.
2008
+ */
2009
+ interface LigandContactTokenResponse {
2010
+ /**
2011
+ * Atom name. Atom-level references to ligand_smiles entities are currently
2012
+ * unsupported; use ligand_ccd instead.
2013
+ */
2014
+ atom_name: string;
2015
+ /**
2016
+ * Chain ID
2017
+ */
2018
+ chain_id: string;
2019
+ type: 'ligand_contact';
2020
+ }
2021
+ }
2022
+ }
2023
+ /**
2024
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
2025
+ * and custom filters.
2026
+ */
2027
+ interface MoleculeFilters {
2028
+ /**
2029
+ * Controls the stringency of Boltz's built-in SMARTS structural alert filtering,
2030
+ * which removes molecules matching known problematic substructures. 'recommended'
2031
+ * (default): applies a curated set of alerts balancing safety and hit rate.
2032
+ * 'extra': adds additional alerts beyond the recommended set for stricter
2033
+ * filtering. 'aggressive': applies the most comprehensive alert set — may reject
2034
+ * viable molecules. 'disabled': turns off Boltz SMARTS filtering entirely; only
2035
+ * custom_filters will be applied.
2036
+ */
2037
+ boltz_smarts_catalog_filter_level?: 'recommended' | 'extra' | 'aggressive' | 'disabled';
2038
+ /**
2039
+ * Custom filters to apply. Molecules must pass all filters (AND logic).
2040
+ */
2041
+ custom_filters?: Array<MoleculeFilters.LipinskiFilterResponse | MoleculeFilters.RdkitDescriptorFilterResponse | MoleculeFilters.SmartsCustomFilterResponse | MoleculeFilters.SmartsCatalogFilterResponse | MoleculeFilters.SmilesRegexFilterResponse>;
2042
+ }
2043
+ namespace MoleculeFilters {
2044
+ /**
2045
+ * Lipinski's Rule of Five filter. Rejects molecules that violate drug-likeness
2046
+ * criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen
2047
+ * bond acceptors.
2048
+ */
2049
+ interface LipinskiFilterResponse {
2050
+ /**
2051
+ * Maximum number of hydrogen bond acceptors. Lipinski threshold: 10
2052
+ */
2053
+ max_hba: number;
2054
+ /**
2055
+ * Maximum number of hydrogen bond donors. Lipinski threshold: 5
2056
+ */
2057
+ max_hbd: number;
2058
+ /**
2059
+ * Maximum LogP. Lipinski threshold: 5
2060
+ */
2061
+ max_logp: number;
2062
+ /**
2063
+ * Maximum molecular weight (Da). Lipinski threshold: 500
2064
+ */
2065
+ max_mw: number;
2066
+ type: 'lipinski_filter';
2067
+ /**
2068
+ * If true, one rule violation is allowed (classic Rule of Five). Defaults to false
2069
+ * (all rules must pass).
2070
+ */
2071
+ allow_single_violation?: boolean;
2072
+ }
2073
+ /**
2074
+ * Filter molecules by RDKit molecular descriptors. Each descriptor is constrained
2075
+ * to a min/max range. Only descriptors you provide are checked — omitted
2076
+ * descriptors are unconstrained.
2077
+ */
2078
+ interface RdkitDescriptorFilterResponse {
2079
+ type: 'rdkit_descriptor_filter';
2080
+ /**
2081
+ * Min/max range constraint for an RDKit molecular descriptor
2082
+ */
2083
+ fraction_csp3?: RdkitDescriptorFilterResponse.FractionCsp3;
2084
+ /**
2085
+ * Min/max range constraint for an RDKit molecular descriptor
2086
+ */
2087
+ mol_logp?: RdkitDescriptorFilterResponse.MolLogp;
2088
+ /**
2089
+ * Min/max range constraint for an RDKit molecular descriptor
2090
+ */
2091
+ mol_wt?: RdkitDescriptorFilterResponse.MolWt;
2092
+ /**
2093
+ * Min/max range constraint for an RDKit molecular descriptor
2094
+ */
2095
+ num_aromatic_rings?: RdkitDescriptorFilterResponse.NumAromaticRings;
2096
+ /**
2097
+ * Min/max range constraint for an RDKit molecular descriptor
2098
+ */
2099
+ num_h_acceptors?: RdkitDescriptorFilterResponse.NumHAcceptors;
2100
+ /**
2101
+ * Min/max range constraint for an RDKit molecular descriptor
2102
+ */
2103
+ num_h_donors?: RdkitDescriptorFilterResponse.NumHDonors;
2104
+ /**
2105
+ * Min/max range constraint for an RDKit molecular descriptor
2106
+ */
2107
+ num_heteroatoms?: RdkitDescriptorFilterResponse.NumHeteroatoms;
2108
+ /**
2109
+ * Min/max range constraint for an RDKit molecular descriptor
2110
+ */
2111
+ num_rings?: RdkitDescriptorFilterResponse.NumRings;
2112
+ /**
2113
+ * Min/max range constraint for an RDKit molecular descriptor
2114
+ */
2115
+ num_rotatable_bonds?: RdkitDescriptorFilterResponse.NumRotatableBonds;
2116
+ /**
2117
+ * Min/max range constraint for an RDKit molecular descriptor
2118
+ */
2119
+ tpsa?: RdkitDescriptorFilterResponse.Tpsa;
2120
+ }
2121
+ namespace RdkitDescriptorFilterResponse {
2122
+ /**
2123
+ * Min/max range constraint for an RDKit molecular descriptor
2124
+ */
2125
+ interface FractionCsp3 {
2126
+ /**
2127
+ * Maximum allowed value (inclusive)
2128
+ */
2129
+ max?: number;
2130
+ /**
2131
+ * Minimum allowed value (inclusive)
2132
+ */
2133
+ min?: number;
2134
+ }
2135
+ /**
2136
+ * Min/max range constraint for an RDKit molecular descriptor
2137
+ */
2138
+ interface MolLogp {
2139
+ /**
2140
+ * Maximum allowed value (inclusive)
2141
+ */
2142
+ max?: number;
2143
+ /**
2144
+ * Minimum allowed value (inclusive)
2145
+ */
2146
+ min?: number;
2147
+ }
2148
+ /**
2149
+ * Min/max range constraint for an RDKit molecular descriptor
2150
+ */
2151
+ interface MolWt {
2152
+ /**
2153
+ * Maximum allowed value (inclusive)
2154
+ */
2155
+ max?: number;
2156
+ /**
2157
+ * Minimum allowed value (inclusive)
2158
+ */
2159
+ min?: number;
2160
+ }
2161
+ /**
2162
+ * Min/max range constraint for an RDKit molecular descriptor
2163
+ */
2164
+ interface NumAromaticRings {
2165
+ /**
2166
+ * Maximum allowed value (inclusive)
2167
+ */
2168
+ max?: number;
2169
+ /**
2170
+ * Minimum allowed value (inclusive)
2171
+ */
2172
+ min?: number;
2173
+ }
2174
+ /**
2175
+ * Min/max range constraint for an RDKit molecular descriptor
2176
+ */
2177
+ interface NumHAcceptors {
2178
+ /**
2179
+ * Maximum allowed value (inclusive)
2180
+ */
2181
+ max?: number;
2182
+ /**
2183
+ * Minimum allowed value (inclusive)
2184
+ */
2185
+ min?: number;
2186
+ }
2187
+ /**
2188
+ * Min/max range constraint for an RDKit molecular descriptor
2189
+ */
2190
+ interface NumHDonors {
2191
+ /**
2192
+ * Maximum allowed value (inclusive)
2193
+ */
2194
+ max?: number;
2195
+ /**
2196
+ * Minimum allowed value (inclusive)
2197
+ */
2198
+ min?: number;
2199
+ }
2200
+ /**
2201
+ * Min/max range constraint for an RDKit molecular descriptor
2202
+ */
2203
+ interface NumHeteroatoms {
2204
+ /**
2205
+ * Maximum allowed value (inclusive)
2206
+ */
2207
+ max?: number;
2208
+ /**
2209
+ * Minimum allowed value (inclusive)
2210
+ */
2211
+ min?: number;
2212
+ }
2213
+ /**
2214
+ * Min/max range constraint for an RDKit molecular descriptor
2215
+ */
2216
+ interface NumRings {
2217
+ /**
2218
+ * Maximum allowed value (inclusive)
2219
+ */
2220
+ max?: number;
2221
+ /**
2222
+ * Minimum allowed value (inclusive)
2223
+ */
2224
+ min?: number;
2225
+ }
2226
+ /**
2227
+ * Min/max range constraint for an RDKit molecular descriptor
2228
+ */
2229
+ interface NumRotatableBonds {
2230
+ /**
2231
+ * Maximum allowed value (inclusive)
2232
+ */
2233
+ max?: number;
2234
+ /**
2235
+ * Minimum allowed value (inclusive)
2236
+ */
2237
+ min?: number;
2238
+ }
2239
+ /**
2240
+ * Min/max range constraint for an RDKit molecular descriptor
2241
+ */
2242
+ interface Tpsa {
2243
+ /**
2244
+ * Maximum allowed value (inclusive)
2245
+ */
2246
+ max?: number;
2247
+ /**
2248
+ * Minimum allowed value (inclusive)
2249
+ */
2250
+ min?: number;
2251
+ }
2252
+ }
2253
+ /**
2254
+ * Filter molecules by custom SMARTS patterns. Molecules matching any pattern are
2255
+ * rejected.
2256
+ */
2257
+ interface SmartsCustomFilterResponse {
2258
+ /**
2259
+ * SMARTS patterns. Molecules matching any pattern are rejected.
2260
+ */
2261
+ patterns: Array<string>;
2262
+ type: 'smarts_custom_filter';
2263
+ }
2264
+ /**
2265
+ * Filter molecules using a predefined SMARTS catalog of structural alerts.
2266
+ */
2267
+ interface SmartsCatalogFilterResponse {
2268
+ /**
2269
+ * Predefined SMARTS catalog to apply. PAINS, BRENK, ChEMBL, and NIH catalogs
2270
+ * reject known problematic substructures.
2271
+ */
2272
+ catalog: 'PAINS' | 'PAINS_A' | 'PAINS_B' | 'PAINS_C' | 'BRENK' | 'CHEMBL' | 'CHEMBL_BMS' | 'CHEMBL_Dundee' | 'CHEMBL_Glaxo' | 'CHEMBL_Inpharmatica' | 'CHEMBL_LINT' | 'CHEMBL_MLSMR' | 'CHEMBL_SureChEMBL' | 'NIH';
2273
+ type: 'smarts_catalog_filter';
2274
+ }
2275
+ /**
2276
+ * Filter molecules by regex patterns on their SMILES representation.
2277
+ */
2278
+ interface SmilesRegexFilterResponse {
2279
+ /**
2280
+ * Regex patterns applied to SMILES strings. Molecules matching any pattern are
2281
+ * rejected.
2282
+ */
2283
+ patterns: Array<string>;
2284
+ type: 'smiles_regex_filter';
2285
+ }
2286
+ }
2287
+ }
2288
+ interface Progress {
2289
+ /**
2290
+ * Number of accepted molecules that reached terminal failure during screening.
2291
+ */
2292
+ num_molecules_failed: number;
2293
+ /**
2294
+ * Number of accepted molecules that produced usable screening results.
2295
+ */
2296
+ num_molecules_screened: number;
2297
+ /**
2298
+ * Total number of molecules accepted into screening after server-side validation
2299
+ * and filtering.
2300
+ */
2301
+ total_molecules_to_screen: number;
2302
+ /**
2303
+ * ID of the most recently screened result
2304
+ */
2305
+ latest_result_id?: string;
2306
+ rejection_summary?: Progress.RejectionSummary;
2307
+ }
2308
+ namespace Progress {
2309
+ interface RejectionSummary {
2310
+ /**
2311
+ * Number of submitted molecules removed by server-side filtering rules.
2312
+ */
2313
+ filtered_count: number;
2314
+ /**
2315
+ * Number of submitted molecules rejected as invalid input.
2316
+ */
2317
+ invalid_count: number;
2318
+ }
2319
+ }
2320
+ }
2321
+ export interface LibraryScreenRetrieveParams {
2322
+ /**
2323
+ * Workspace ID. Only used with admin API keys. Ignored (or validated) for
2324
+ * workspace-scoped keys.
2325
+ */
2326
+ workspace_id?: string;
2327
+ }
2328
+ export interface LibraryScreenListParams extends CursorPageParams {
2329
+ /**
2330
+ * Filter by workspace ID. Only used with admin API keys. If not provided, defaults
2331
+ * to the workspace associated with the API key, or the default workspace for admin
2332
+ * keys.
2333
+ */
2334
+ workspace_id?: string;
2335
+ }
2336
+ export interface LibraryScreenEstimateCostParams {
2337
+ /**
2338
+ * List of small molecules to screen.
2339
+ */
2340
+ molecules: Array<LibraryScreenEstimateCostParams.Molecule>;
2341
+ /**
2342
+ * Target protein with binding pocket for small molecule design or screening
2343
+ */
2344
+ target: LibraryScreenEstimateCostParams.Target;
2345
+ /**
2346
+ * Client-provided key to prevent duplicate submissions on retries
2347
+ */
2348
+ idempotency_key?: string;
2349
+ /**
2350
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
2351
+ * and custom filters.
2352
+ */
2353
+ molecule_filters?: LibraryScreenEstimateCostParams.MoleculeFilters;
2354
+ /**
2355
+ * Target workspace ID (admin keys only; ignored for workspace keys)
2356
+ */
2357
+ workspace_id?: string;
2358
+ }
2359
+ export declare namespace LibraryScreenEstimateCostParams {
2360
+ /**
2361
+ * A small molecule with SMILES and optional ID
2362
+ */
2363
+ interface Molecule {
2364
+ /**
2365
+ * SMILES string of the molecule
2366
+ */
2367
+ smiles: string;
2368
+ /**
2369
+ * Optional identifier for this molecule
2370
+ */
2371
+ id?: string;
2372
+ }
2373
+ /**
2374
+ * Target protein with binding pocket for small molecule design or screening
2375
+ */
2376
+ interface Target {
2377
+ /**
2378
+ * Protein entities defining the target structure. Each entity represents a protein
2379
+ * chain.
2380
+ */
2381
+ entities: Array<Target.Entity>;
2382
+ /**
2383
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
2384
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
2385
+ */
2386
+ bonds?: Array<Target.Bond>;
2387
+ /**
2388
+ * Structural constraints (pocket and contact). Atom-level ligand references
2389
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
2390
+ */
2391
+ constraints?: Array<Target.PocketConstraint | Target.ContactConstraint>;
2392
+ /**
2393
+ * Binding pocket residues, keyed by chain ID. Each key is a chain ID (e.g. "A")
2394
+ * and the value is an array of 0-indexed residue indices that define the binding
2395
+ * pocket on that chain. When provided, these residues guide pocket extraction and
2396
+ * add a derived pocket constraint during affinity predictions. That derived
2397
+ * constraint remains separate from any explicit pocket constraints in
2398
+ * target.constraints. When omitted, the model auto-detects the pocket.
2399
+ */
2400
+ pocket_residues?: {
2401
+ [key: string]: Array<number>;
2402
+ };
2403
+ /**
2404
+ * Reference ligands as SMILES strings that help the model identify the binding
2405
+ * pocket. When omitted, a set of drug-like default ligands is used for pocket
2406
+ * detection.
2407
+ */
2408
+ reference_ligands?: Array<string>;
2409
+ }
2410
+ namespace Target {
2411
+ interface Entity {
2412
+ /**
2413
+ * Chain IDs for this entity
2414
+ */
2415
+ chain_ids: Array<string>;
2416
+ type: 'protein';
2417
+ /**
2418
+ * Amino acid sequence (one-letter codes)
2419
+ */
2420
+ value: string;
2421
+ /**
2422
+ * Whether the sequence is cyclic
2423
+ */
2424
+ cyclic?: boolean;
2425
+ /**
2426
+ * Post-translational modifications. Optional; defaults to an empty list when
2427
+ * omitted.
2428
+ */
2429
+ modifications?: Array<Entity.CcdModification | Entity.SmilesModification>;
2430
+ }
2431
+ namespace Entity {
2432
+ interface CcdModification {
2433
+ /**
2434
+ * 0-based index of the residue to modify
2435
+ */
2436
+ residue_index: number;
2437
+ type: 'ccd';
2438
+ /**
2439
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
2440
+ * phosphoserine)
2441
+ */
2442
+ value: string;
2443
+ }
2444
+ interface SmilesModification {
2445
+ /**
2446
+ * 0-based index of the residue to modify
2447
+ */
2448
+ residue_index: number;
2449
+ type: 'smiles';
2450
+ /**
2451
+ * SMILES string for the modification
2452
+ */
2453
+ value: string;
2454
+ }
2455
+ }
2456
+ /**
2457
+ * Bond between two atoms. Atom-level ligand references currently support
2458
+ * ligand_ccd entities only; ligand_smiles is unsupported.
2459
+ */
2460
+ interface Bond {
2461
+ /**
2462
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2463
+ * entities only; ligand_smiles is unsupported.
2464
+ */
2465
+ atom1: Bond.LigandAtom | Bond.PolymerAtom;
2466
+ /**
2467
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2468
+ * entities only; ligand_smiles is unsupported.
2469
+ */
2470
+ atom2: Bond.LigandAtom | Bond.PolymerAtom;
2471
+ }
2472
+ namespace Bond {
2473
+ /**
2474
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2475
+ * entities only; ligand_smiles is unsupported.
2476
+ */
2477
+ interface LigandAtom {
2478
+ /**
2479
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
2480
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
2481
+ */
2482
+ atom_name: string;
2483
+ /**
2484
+ * Chain ID containing the atom
2485
+ */
2486
+ chain_id: string;
2487
+ type: 'ligand_atom';
2488
+ }
2489
+ interface PolymerAtom {
2490
+ /**
2491
+ * Standardized atom name (verifiable in CIF file on RCSB)
2492
+ */
2493
+ atom_name: string;
2494
+ /**
2495
+ * Chain ID containing the atom
2496
+ */
2497
+ chain_id: string;
2498
+ /**
2499
+ * 0-based residue index
2500
+ */
2501
+ residue_index: number;
2502
+ type: 'polymer_atom';
2503
+ }
2504
+ /**
2505
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
2506
+ * entities only; ligand_smiles is unsupported.
2507
+ */
2508
+ interface LigandAtom {
2509
+ /**
2510
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
2511
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
2512
+ */
2513
+ atom_name: string;
2514
+ /**
2515
+ * Chain ID containing the atom
2516
+ */
2517
+ chain_id: string;
2518
+ type: 'ligand_atom';
2519
+ }
2520
+ interface PolymerAtom {
2521
+ /**
2522
+ * Standardized atom name (verifiable in CIF file on RCSB)
2523
+ */
2524
+ atom_name: string;
2525
+ /**
2526
+ * Chain ID containing the atom
2527
+ */
2528
+ chain_id: string;
2529
+ /**
2530
+ * 0-based residue index
2531
+ */
2532
+ residue_index: number;
2533
+ type: 'polymer_atom';
2534
+ }
2535
+ }
2536
+ /**
2537
+ * Constrains the binder to interact with specific pocket residues on the target.
2538
+ */
2539
+ interface PocketConstraint {
2540
+ /**
2541
+ * Chain ID of the binder molecule
2542
+ */
2543
+ binder_chain_id: string;
2544
+ /**
2545
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
2546
+ * the value is an array of 0-indexed residue indices that define the pocket on
2547
+ * that chain.
2548
+ */
2549
+ contact_residues: {
2550
+ [key: string]: Array<number>;
2551
+ };
2552
+ /**
2553
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
2554
+ * Typical range: 4-8 A.
2555
+ */
2556
+ max_distance_angstrom: number;
2557
+ type: 'pocket';
2558
+ /**
2559
+ * Whether to force the constraint
2560
+ */
2561
+ force?: boolean;
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
+ interface ContactConstraint {
2568
+ /**
2569
+ * Maximum distance in Angstroms
2570
+ */
2571
+ max_distance_angstrom: number;
2572
+ /**
2573
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2574
+ * entities only; ligand_smiles is unsupported.
2575
+ */
2576
+ token1: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
2577
+ /**
2578
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2579
+ * entities only; ligand_smiles is unsupported.
2580
+ */
2581
+ token2: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
2582
+ type: 'contact';
2583
+ /**
2584
+ * Whether to force the constraint
2585
+ */
2586
+ force?: boolean;
2587
+ }
2588
+ namespace ContactConstraint {
2589
+ interface PolymerContactToken {
2590
+ /**
2591
+ * Chain ID
2592
+ */
2593
+ chain_id: string;
2594
+ /**
2595
+ * 0-based residue index
2596
+ */
2597
+ residue_index: number;
2598
+ type: 'polymer_contact';
2599
+ }
2600
+ /**
2601
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2602
+ * entities only; ligand_smiles is unsupported.
2603
+ */
2604
+ interface LigandContactToken {
2605
+ /**
2606
+ * Atom name. Atom-level references to ligand_smiles entities are currently
2607
+ * unsupported; use ligand_ccd instead.
2608
+ */
2609
+ atom_name: string;
2610
+ /**
2611
+ * Chain ID
2612
+ */
2613
+ chain_id: string;
2614
+ type: 'ligand_contact';
2615
+ }
2616
+ interface PolymerContactToken {
2617
+ /**
2618
+ * Chain ID
2619
+ */
2620
+ chain_id: string;
2621
+ /**
2622
+ * 0-based residue index
2623
+ */
2624
+ residue_index: number;
2625
+ type: 'polymer_contact';
2626
+ }
2627
+ /**
2628
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
2629
+ * entities only; ligand_smiles is unsupported.
2630
+ */
2631
+ interface LigandContactToken {
2632
+ /**
2633
+ * Atom name. Atom-level references to ligand_smiles entities are currently
2634
+ * unsupported; use ligand_ccd instead.
2635
+ */
2636
+ atom_name: string;
2637
+ /**
2638
+ * Chain ID
2639
+ */
2640
+ chain_id: string;
2641
+ type: 'ligand_contact';
2642
+ }
2643
+ }
2644
+ }
2645
+ /**
2646
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
2647
+ * and custom filters.
2648
+ */
2649
+ interface MoleculeFilters {
2650
+ /**
2651
+ * Controls the stringency of Boltz's built-in SMARTS structural alert filtering,
2652
+ * which removes molecules matching known problematic substructures. 'recommended'
2653
+ * (default): applies a curated set of alerts balancing safety and hit rate.
2654
+ * 'extra': adds additional alerts beyond the recommended set for stricter
2655
+ * filtering. 'aggressive': applies the most comprehensive alert set — may reject
2656
+ * viable molecules. 'disabled': turns off Boltz SMARTS filtering entirely; only
2657
+ * custom_filters will be applied.
2658
+ */
2659
+ boltz_smarts_catalog_filter_level?: 'recommended' | 'extra' | 'aggressive' | 'disabled';
2660
+ /**
2661
+ * Custom filters to apply. Molecules must pass all filters (AND logic).
2662
+ */
2663
+ custom_filters?: Array<MoleculeFilters.LipinskiFilter | MoleculeFilters.RdkitDescriptorFilter | MoleculeFilters.SmartsCustomFilter | MoleculeFilters.SmartsCatalogFilter | MoleculeFilters.SmilesRegexFilter>;
2664
+ }
2665
+ namespace MoleculeFilters {
2666
+ /**
2667
+ * Lipinski's Rule of Five filter. Rejects molecules that violate drug-likeness
2668
+ * criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen
2669
+ * bond acceptors.
2670
+ */
2671
+ interface LipinskiFilter {
2672
+ /**
2673
+ * Maximum number of hydrogen bond acceptors. Lipinski threshold: 10
2674
+ */
2675
+ max_hba: number;
2676
+ /**
2677
+ * Maximum number of hydrogen bond donors. Lipinski threshold: 5
2678
+ */
2679
+ max_hbd: number;
2680
+ /**
2681
+ * Maximum LogP. Lipinski threshold: 5
2682
+ */
2683
+ max_logp: number;
2684
+ /**
2685
+ * Maximum molecular weight (Da). Lipinski threshold: 500
2686
+ */
2687
+ max_mw: number;
2688
+ type: 'lipinski_filter';
2689
+ /**
2690
+ * If true, one rule violation is allowed (classic Rule of Five). Defaults to false
2691
+ * (all rules must pass).
2692
+ */
2693
+ allow_single_violation?: boolean;
2694
+ }
2695
+ /**
2696
+ * Filter molecules by RDKit molecular descriptors. Each descriptor is constrained
2697
+ * to a min/max range. Only descriptors you provide are checked — omitted
2698
+ * descriptors are unconstrained.
2699
+ */
2700
+ interface RdkitDescriptorFilter {
2701
+ type: 'rdkit_descriptor_filter';
2702
+ /**
2703
+ * Min/max range constraint for an RDKit molecular descriptor
2704
+ */
2705
+ fraction_csp3?: RdkitDescriptorFilter.FractionCsp3;
2706
+ /**
2707
+ * Min/max range constraint for an RDKit molecular descriptor
2708
+ */
2709
+ mol_logp?: RdkitDescriptorFilter.MolLogp;
2710
+ /**
2711
+ * Min/max range constraint for an RDKit molecular descriptor
2712
+ */
2713
+ mol_wt?: RdkitDescriptorFilter.MolWt;
2714
+ /**
2715
+ * Min/max range constraint for an RDKit molecular descriptor
2716
+ */
2717
+ num_aromatic_rings?: RdkitDescriptorFilter.NumAromaticRings;
2718
+ /**
2719
+ * Min/max range constraint for an RDKit molecular descriptor
2720
+ */
2721
+ num_h_acceptors?: RdkitDescriptorFilter.NumHAcceptors;
2722
+ /**
2723
+ * Min/max range constraint for an RDKit molecular descriptor
2724
+ */
2725
+ num_h_donors?: RdkitDescriptorFilter.NumHDonors;
2726
+ /**
2727
+ * Min/max range constraint for an RDKit molecular descriptor
2728
+ */
2729
+ num_heteroatoms?: RdkitDescriptorFilter.NumHeteroatoms;
2730
+ /**
2731
+ * Min/max range constraint for an RDKit molecular descriptor
2732
+ */
2733
+ num_rings?: RdkitDescriptorFilter.NumRings;
2734
+ /**
2735
+ * Min/max range constraint for an RDKit molecular descriptor
2736
+ */
2737
+ num_rotatable_bonds?: RdkitDescriptorFilter.NumRotatableBonds;
2738
+ /**
2739
+ * Min/max range constraint for an RDKit molecular descriptor
2740
+ */
2741
+ tpsa?: RdkitDescriptorFilter.Tpsa;
2742
+ }
2743
+ namespace RdkitDescriptorFilter {
2744
+ /**
2745
+ * Min/max range constraint for an RDKit molecular descriptor
2746
+ */
2747
+ interface FractionCsp3 {
2748
+ /**
2749
+ * Maximum allowed value (inclusive)
2750
+ */
2751
+ max?: number;
2752
+ /**
2753
+ * Minimum allowed value (inclusive)
2754
+ */
2755
+ min?: number;
2756
+ }
2757
+ /**
2758
+ * Min/max range constraint for an RDKit molecular descriptor
2759
+ */
2760
+ interface MolLogp {
2761
+ /**
2762
+ * Maximum allowed value (inclusive)
2763
+ */
2764
+ max?: number;
2765
+ /**
2766
+ * Minimum allowed value (inclusive)
2767
+ */
2768
+ min?: number;
2769
+ }
2770
+ /**
2771
+ * Min/max range constraint for an RDKit molecular descriptor
2772
+ */
2773
+ interface MolWt {
2774
+ /**
2775
+ * Maximum allowed value (inclusive)
2776
+ */
2777
+ max?: number;
2778
+ /**
2779
+ * Minimum allowed value (inclusive)
2780
+ */
2781
+ min?: number;
2782
+ }
2783
+ /**
2784
+ * Min/max range constraint for an RDKit molecular descriptor
2785
+ */
2786
+ interface NumAromaticRings {
2787
+ /**
2788
+ * Maximum allowed value (inclusive)
2789
+ */
2790
+ max?: number;
2791
+ /**
2792
+ * Minimum allowed value (inclusive)
2793
+ */
2794
+ min?: number;
2795
+ }
2796
+ /**
2797
+ * Min/max range constraint for an RDKit molecular descriptor
2798
+ */
2799
+ interface NumHAcceptors {
2800
+ /**
2801
+ * Maximum allowed value (inclusive)
2802
+ */
2803
+ max?: number;
2804
+ /**
2805
+ * Minimum allowed value (inclusive)
2806
+ */
2807
+ min?: number;
2808
+ }
2809
+ /**
2810
+ * Min/max range constraint for an RDKit molecular descriptor
2811
+ */
2812
+ interface NumHDonors {
2813
+ /**
2814
+ * Maximum allowed value (inclusive)
2815
+ */
2816
+ max?: number;
2817
+ /**
2818
+ * Minimum allowed value (inclusive)
2819
+ */
2820
+ min?: number;
2821
+ }
2822
+ /**
2823
+ * Min/max range constraint for an RDKit molecular descriptor
2824
+ */
2825
+ interface NumHeteroatoms {
2826
+ /**
2827
+ * Maximum allowed value (inclusive)
2828
+ */
2829
+ max?: number;
2830
+ /**
2831
+ * Minimum allowed value (inclusive)
2832
+ */
2833
+ min?: number;
2834
+ }
2835
+ /**
2836
+ * Min/max range constraint for an RDKit molecular descriptor
2837
+ */
2838
+ interface NumRings {
2839
+ /**
2840
+ * Maximum allowed value (inclusive)
2841
+ */
2842
+ max?: number;
2843
+ /**
2844
+ * Minimum allowed value (inclusive)
2845
+ */
2846
+ min?: number;
2847
+ }
2848
+ /**
2849
+ * Min/max range constraint for an RDKit molecular descriptor
2850
+ */
2851
+ interface NumRotatableBonds {
2852
+ /**
2853
+ * Maximum allowed value (inclusive)
2854
+ */
2855
+ max?: number;
2856
+ /**
2857
+ * Minimum allowed value (inclusive)
2858
+ */
2859
+ min?: number;
2860
+ }
2861
+ /**
2862
+ * Min/max range constraint for an RDKit molecular descriptor
2863
+ */
2864
+ interface Tpsa {
2865
+ /**
2866
+ * Maximum allowed value (inclusive)
2867
+ */
2868
+ max?: number;
2869
+ /**
2870
+ * Minimum allowed value (inclusive)
2871
+ */
2872
+ min?: number;
2873
+ }
2874
+ }
2875
+ /**
2876
+ * Filter molecules by custom SMARTS patterns. Molecules matching any pattern are
2877
+ * rejected.
2878
+ */
2879
+ interface SmartsCustomFilter {
2880
+ /**
2881
+ * SMARTS patterns. Molecules matching any pattern are rejected.
2882
+ */
2883
+ patterns: Array<string>;
2884
+ type: 'smarts_custom_filter';
2885
+ }
2886
+ /**
2887
+ * Filter molecules using a predefined SMARTS catalog of structural alerts.
2888
+ */
2889
+ interface SmartsCatalogFilter {
2890
+ /**
2891
+ * Predefined SMARTS catalog to apply. PAINS, BRENK, ChEMBL, and NIH catalogs
2892
+ * reject known problematic substructures.
2893
+ */
2894
+ catalog: 'PAINS' | 'PAINS_A' | 'PAINS_B' | 'PAINS_C' | 'BRENK' | 'CHEMBL' | 'CHEMBL_BMS' | 'CHEMBL_Dundee' | 'CHEMBL_Glaxo' | 'CHEMBL_Inpharmatica' | 'CHEMBL_LINT' | 'CHEMBL_MLSMR' | 'CHEMBL_SureChEMBL' | 'NIH';
2895
+ type: 'smarts_catalog_filter';
2896
+ }
2897
+ /**
2898
+ * Filter molecules by regex patterns on their SMILES representation.
2899
+ */
2900
+ interface SmilesRegexFilter {
2901
+ /**
2902
+ * Regex patterns applied to SMILES strings. Molecules matching any pattern are
2903
+ * rejected.
2904
+ */
2905
+ patterns: Array<string>;
2906
+ type: 'smiles_regex_filter';
2907
+ }
2908
+ }
2909
+ }
2910
+ export interface LibraryScreenListResultsParams extends CursorPageParams {
2911
+ /**
2912
+ * Workspace ID. Only used with admin API keys. Ignored (or validated) for
2913
+ * workspace-scoped keys.
2914
+ */
2915
+ workspace_id?: string;
2916
+ }
2917
+ export interface LibraryScreenStartParams {
2918
+ /**
2919
+ * List of small molecules to screen.
2920
+ */
2921
+ molecules: Array<LibraryScreenStartParams.Molecule>;
2922
+ /**
2923
+ * Target protein with binding pocket for small molecule design or screening
2924
+ */
2925
+ target: LibraryScreenStartParams.Target;
2926
+ /**
2927
+ * Client-provided key to prevent duplicate submissions on retries
2928
+ */
2929
+ idempotency_key?: string;
2930
+ /**
2931
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
2932
+ * and custom filters.
2933
+ */
2934
+ molecule_filters?: LibraryScreenStartParams.MoleculeFilters;
2935
+ /**
2936
+ * Target workspace ID (admin keys only; ignored for workspace keys)
2937
+ */
2938
+ workspace_id?: string;
2939
+ }
2940
+ export declare namespace LibraryScreenStartParams {
2941
+ /**
2942
+ * A small molecule with SMILES and optional ID
2943
+ */
2944
+ interface Molecule {
2945
+ /**
2946
+ * SMILES string of the molecule
2947
+ */
2948
+ smiles: string;
2949
+ /**
2950
+ * Optional identifier for this molecule
2951
+ */
2952
+ id?: string;
2953
+ }
2954
+ /**
2955
+ * Target protein with binding pocket for small molecule design or screening
2956
+ */
2957
+ interface Target {
2958
+ /**
2959
+ * Protein entities defining the target structure. Each entity represents a protein
2960
+ * chain.
2961
+ */
2962
+ entities: Array<Target.Entity>;
2963
+ /**
2964
+ * Covalent bond constraints between atoms in the target complex. Atom-level ligand
2965
+ * references currently support ligand_ccd only; ligand_smiles is unsupported.
2966
+ */
2967
+ bonds?: Array<Target.Bond>;
2968
+ /**
2969
+ * Structural constraints (pocket and contact). Atom-level ligand references
2970
+ * currently support ligand_ccd only; ligand_smiles is unsupported.
2971
+ */
2972
+ constraints?: Array<Target.PocketConstraint | Target.ContactConstraint>;
2973
+ /**
2974
+ * Binding pocket residues, keyed by chain ID. Each key is a chain ID (e.g. "A")
2975
+ * and the value is an array of 0-indexed residue indices that define the binding
2976
+ * pocket on that chain. When provided, these residues guide pocket extraction and
2977
+ * add a derived pocket constraint during affinity predictions. That derived
2978
+ * constraint remains separate from any explicit pocket constraints in
2979
+ * target.constraints. When omitted, the model auto-detects the pocket.
2980
+ */
2981
+ pocket_residues?: {
2982
+ [key: string]: Array<number>;
2983
+ };
2984
+ /**
2985
+ * Reference ligands as SMILES strings that help the model identify the binding
2986
+ * pocket. When omitted, a set of drug-like default ligands is used for pocket
2987
+ * detection.
2988
+ */
2989
+ reference_ligands?: Array<string>;
2990
+ }
2991
+ namespace Target {
2992
+ interface Entity {
2993
+ /**
2994
+ * Chain IDs for this entity
2995
+ */
2996
+ chain_ids: Array<string>;
2997
+ type: 'protein';
2998
+ /**
2999
+ * Amino acid sequence (one-letter codes)
3000
+ */
3001
+ value: string;
3002
+ /**
3003
+ * Whether the sequence is cyclic
3004
+ */
3005
+ cyclic?: boolean;
3006
+ /**
3007
+ * Post-translational modifications. Optional; defaults to an empty list when
3008
+ * omitted.
3009
+ */
3010
+ modifications?: Array<Entity.CcdModification | Entity.SmilesModification>;
3011
+ }
3012
+ namespace Entity {
3013
+ interface CcdModification {
3014
+ /**
3015
+ * 0-based index of the residue to modify
3016
+ */
3017
+ residue_index: number;
3018
+ type: 'ccd';
3019
+ /**
3020
+ * CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for
3021
+ * phosphoserine)
3022
+ */
3023
+ value: string;
3024
+ }
3025
+ interface SmilesModification {
3026
+ /**
3027
+ * 0-based index of the residue to modify
3028
+ */
3029
+ residue_index: number;
3030
+ type: 'smiles';
3031
+ /**
3032
+ * SMILES string for the modification
3033
+ */
3034
+ value: string;
3035
+ }
3036
+ }
3037
+ /**
3038
+ * Bond between two atoms. Atom-level ligand references currently support
3039
+ * ligand_ccd entities only; ligand_smiles is unsupported.
3040
+ */
3041
+ interface Bond {
3042
+ /**
3043
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3044
+ * entities only; ligand_smiles is unsupported.
3045
+ */
3046
+ atom1: Bond.LigandAtom | Bond.PolymerAtom;
3047
+ /**
3048
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3049
+ * entities only; ligand_smiles is unsupported.
3050
+ */
3051
+ atom2: Bond.LigandAtom | Bond.PolymerAtom;
3052
+ }
3053
+ namespace Bond {
3054
+ /**
3055
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3056
+ * entities only; ligand_smiles is unsupported.
3057
+ */
3058
+ interface LigandAtom {
3059
+ /**
3060
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
3061
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
3062
+ */
3063
+ atom_name: string;
3064
+ /**
3065
+ * Chain ID containing the atom
3066
+ */
3067
+ chain_id: string;
3068
+ type: 'ligand_atom';
3069
+ }
3070
+ interface PolymerAtom {
3071
+ /**
3072
+ * Standardized atom name (verifiable in CIF file on RCSB)
3073
+ */
3074
+ atom_name: string;
3075
+ /**
3076
+ * Chain ID containing the atom
3077
+ */
3078
+ chain_id: string;
3079
+ /**
3080
+ * 0-based residue index
3081
+ */
3082
+ residue_index: number;
3083
+ type: 'polymer_atom';
3084
+ }
3085
+ /**
3086
+ * Ligand atom reference. Atom-level ligand references currently support ligand_ccd
3087
+ * entities only; ligand_smiles is unsupported.
3088
+ */
3089
+ interface LigandAtom {
3090
+ /**
3091
+ * Standardized atom name (verifiable in CIF file on RCSB). Atom-level references
3092
+ * to ligand_smiles entities are currently unsupported; use ligand_ccd instead.
3093
+ */
3094
+ atom_name: string;
3095
+ /**
3096
+ * Chain ID containing the atom
3097
+ */
3098
+ chain_id: string;
3099
+ type: 'ligand_atom';
3100
+ }
3101
+ interface PolymerAtom {
3102
+ /**
3103
+ * Standardized atom name (verifiable in CIF file on RCSB)
3104
+ */
3105
+ atom_name: string;
3106
+ /**
3107
+ * Chain ID containing the atom
3108
+ */
3109
+ chain_id: string;
3110
+ /**
3111
+ * 0-based residue index
3112
+ */
3113
+ residue_index: number;
3114
+ type: 'polymer_atom';
3115
+ }
3116
+ }
3117
+ /**
3118
+ * Constrains the binder to interact with specific pocket residues on the target.
3119
+ */
3120
+ interface PocketConstraint {
3121
+ /**
3122
+ * Chain ID of the binder molecule
3123
+ */
3124
+ binder_chain_id: string;
3125
+ /**
3126
+ * Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and
3127
+ * the value is an array of 0-indexed residue indices that define the pocket on
3128
+ * that chain.
3129
+ */
3130
+ contact_residues: {
3131
+ [key: string]: Array<number>;
3132
+ };
3133
+ /**
3134
+ * Maximum allowed distance in Angstroms between binder and pocket residues.
3135
+ * Typical range: 4-8 A.
3136
+ */
3137
+ max_distance_angstrom: number;
3138
+ type: 'pocket';
3139
+ /**
3140
+ * Whether to force the constraint
3141
+ */
3142
+ force?: boolean;
3143
+ }
3144
+ /**
3145
+ * Contact constraint between two tokens. Atom-level ligand references currently
3146
+ * support ligand_ccd entities only; ligand_smiles is unsupported.
3147
+ */
3148
+ interface ContactConstraint {
3149
+ /**
3150
+ * Maximum distance in Angstroms
3151
+ */
3152
+ max_distance_angstrom: number;
3153
+ /**
3154
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3155
+ * entities only; ligand_smiles is unsupported.
3156
+ */
3157
+ token1: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
3158
+ /**
3159
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3160
+ * entities only; ligand_smiles is unsupported.
3161
+ */
3162
+ token2: ContactConstraint.PolymerContactToken | ContactConstraint.LigandContactToken;
3163
+ type: 'contact';
3164
+ /**
3165
+ * Whether to force the constraint
3166
+ */
3167
+ force?: boolean;
3168
+ }
3169
+ namespace ContactConstraint {
3170
+ interface PolymerContactToken {
3171
+ /**
3172
+ * Chain ID
3173
+ */
3174
+ chain_id: string;
3175
+ /**
3176
+ * 0-based residue index
3177
+ */
3178
+ residue_index: number;
3179
+ type: 'polymer_contact';
3180
+ }
3181
+ /**
3182
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3183
+ * entities only; ligand_smiles is unsupported.
3184
+ */
3185
+ interface LigandContactToken {
3186
+ /**
3187
+ * Atom name. Atom-level references to ligand_smiles entities are currently
3188
+ * unsupported; use ligand_ccd instead.
3189
+ */
3190
+ atom_name: string;
3191
+ /**
3192
+ * Chain ID
3193
+ */
3194
+ chain_id: string;
3195
+ type: 'ligand_contact';
3196
+ }
3197
+ interface PolymerContactToken {
3198
+ /**
3199
+ * Chain ID
3200
+ */
3201
+ chain_id: string;
3202
+ /**
3203
+ * 0-based residue index
3204
+ */
3205
+ residue_index: number;
3206
+ type: 'polymer_contact';
3207
+ }
3208
+ /**
3209
+ * Ligand contact token. Atom-level ligand references currently support ligand_ccd
3210
+ * entities only; ligand_smiles is unsupported.
3211
+ */
3212
+ interface LigandContactToken {
3213
+ /**
3214
+ * Atom name. Atom-level references to ligand_smiles entities are currently
3215
+ * unsupported; use ligand_ccd instead.
3216
+ */
3217
+ atom_name: string;
3218
+ /**
3219
+ * Chain ID
3220
+ */
3221
+ chain_id: string;
3222
+ type: 'ligand_contact';
3223
+ }
3224
+ }
3225
+ }
3226
+ /**
3227
+ * Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering
3228
+ * and custom filters.
3229
+ */
3230
+ interface MoleculeFilters {
3231
+ /**
3232
+ * Controls the stringency of Boltz's built-in SMARTS structural alert filtering,
3233
+ * which removes molecules matching known problematic substructures. 'recommended'
3234
+ * (default): applies a curated set of alerts balancing safety and hit rate.
3235
+ * 'extra': adds additional alerts beyond the recommended set for stricter
3236
+ * filtering. 'aggressive': applies the most comprehensive alert set — may reject
3237
+ * viable molecules. 'disabled': turns off Boltz SMARTS filtering entirely; only
3238
+ * custom_filters will be applied.
3239
+ */
3240
+ boltz_smarts_catalog_filter_level?: 'recommended' | 'extra' | 'aggressive' | 'disabled';
3241
+ /**
3242
+ * Custom filters to apply. Molecules must pass all filters (AND logic).
3243
+ */
3244
+ custom_filters?: Array<MoleculeFilters.LipinskiFilter | MoleculeFilters.RdkitDescriptorFilter | MoleculeFilters.SmartsCustomFilter | MoleculeFilters.SmartsCatalogFilter | MoleculeFilters.SmilesRegexFilter>;
3245
+ }
3246
+ namespace MoleculeFilters {
3247
+ /**
3248
+ * Lipinski's Rule of Five filter. Rejects molecules that violate drug-likeness
3249
+ * criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen
3250
+ * bond acceptors.
3251
+ */
3252
+ interface LipinskiFilter {
3253
+ /**
3254
+ * Maximum number of hydrogen bond acceptors. Lipinski threshold: 10
3255
+ */
3256
+ max_hba: number;
3257
+ /**
3258
+ * Maximum number of hydrogen bond donors. Lipinski threshold: 5
3259
+ */
3260
+ max_hbd: number;
3261
+ /**
3262
+ * Maximum LogP. Lipinski threshold: 5
3263
+ */
3264
+ max_logp: number;
3265
+ /**
3266
+ * Maximum molecular weight (Da). Lipinski threshold: 500
3267
+ */
3268
+ max_mw: number;
3269
+ type: 'lipinski_filter';
3270
+ /**
3271
+ * If true, one rule violation is allowed (classic Rule of Five). Defaults to false
3272
+ * (all rules must pass).
3273
+ */
3274
+ allow_single_violation?: boolean;
3275
+ }
3276
+ /**
3277
+ * Filter molecules by RDKit molecular descriptors. Each descriptor is constrained
3278
+ * to a min/max range. Only descriptors you provide are checked — omitted
3279
+ * descriptors are unconstrained.
3280
+ */
3281
+ interface RdkitDescriptorFilter {
3282
+ type: 'rdkit_descriptor_filter';
3283
+ /**
3284
+ * Min/max range constraint for an RDKit molecular descriptor
3285
+ */
3286
+ fraction_csp3?: RdkitDescriptorFilter.FractionCsp3;
3287
+ /**
3288
+ * Min/max range constraint for an RDKit molecular descriptor
3289
+ */
3290
+ mol_logp?: RdkitDescriptorFilter.MolLogp;
3291
+ /**
3292
+ * Min/max range constraint for an RDKit molecular descriptor
3293
+ */
3294
+ mol_wt?: RdkitDescriptorFilter.MolWt;
3295
+ /**
3296
+ * Min/max range constraint for an RDKit molecular descriptor
3297
+ */
3298
+ num_aromatic_rings?: RdkitDescriptorFilter.NumAromaticRings;
3299
+ /**
3300
+ * Min/max range constraint for an RDKit molecular descriptor
3301
+ */
3302
+ num_h_acceptors?: RdkitDescriptorFilter.NumHAcceptors;
3303
+ /**
3304
+ * Min/max range constraint for an RDKit molecular descriptor
3305
+ */
3306
+ num_h_donors?: RdkitDescriptorFilter.NumHDonors;
3307
+ /**
3308
+ * Min/max range constraint for an RDKit molecular descriptor
3309
+ */
3310
+ num_heteroatoms?: RdkitDescriptorFilter.NumHeteroatoms;
3311
+ /**
3312
+ * Min/max range constraint for an RDKit molecular descriptor
3313
+ */
3314
+ num_rings?: RdkitDescriptorFilter.NumRings;
3315
+ /**
3316
+ * Min/max range constraint for an RDKit molecular descriptor
3317
+ */
3318
+ num_rotatable_bonds?: RdkitDescriptorFilter.NumRotatableBonds;
3319
+ /**
3320
+ * Min/max range constraint for an RDKit molecular descriptor
3321
+ */
3322
+ tpsa?: RdkitDescriptorFilter.Tpsa;
3323
+ }
3324
+ namespace RdkitDescriptorFilter {
3325
+ /**
3326
+ * Min/max range constraint for an RDKit molecular descriptor
3327
+ */
3328
+ interface FractionCsp3 {
3329
+ /**
3330
+ * Maximum allowed value (inclusive)
3331
+ */
3332
+ max?: number;
3333
+ /**
3334
+ * Minimum allowed value (inclusive)
3335
+ */
3336
+ min?: number;
3337
+ }
3338
+ /**
3339
+ * Min/max range constraint for an RDKit molecular descriptor
3340
+ */
3341
+ interface MolLogp {
3342
+ /**
3343
+ * Maximum allowed value (inclusive)
3344
+ */
3345
+ max?: number;
3346
+ /**
3347
+ * Minimum allowed value (inclusive)
3348
+ */
3349
+ min?: number;
3350
+ }
3351
+ /**
3352
+ * Min/max range constraint for an RDKit molecular descriptor
3353
+ */
3354
+ interface MolWt {
3355
+ /**
3356
+ * Maximum allowed value (inclusive)
3357
+ */
3358
+ max?: number;
3359
+ /**
3360
+ * Minimum allowed value (inclusive)
3361
+ */
3362
+ min?: number;
3363
+ }
3364
+ /**
3365
+ * Min/max range constraint for an RDKit molecular descriptor
3366
+ */
3367
+ interface NumAromaticRings {
3368
+ /**
3369
+ * Maximum allowed value (inclusive)
3370
+ */
3371
+ max?: number;
3372
+ /**
3373
+ * Minimum allowed value (inclusive)
3374
+ */
3375
+ min?: number;
3376
+ }
3377
+ /**
3378
+ * Min/max range constraint for an RDKit molecular descriptor
3379
+ */
3380
+ interface NumHAcceptors {
3381
+ /**
3382
+ * Maximum allowed value (inclusive)
3383
+ */
3384
+ max?: number;
3385
+ /**
3386
+ * Minimum allowed value (inclusive)
3387
+ */
3388
+ min?: number;
3389
+ }
3390
+ /**
3391
+ * Min/max range constraint for an RDKit molecular descriptor
3392
+ */
3393
+ interface NumHDonors {
3394
+ /**
3395
+ * Maximum allowed value (inclusive)
3396
+ */
3397
+ max?: number;
3398
+ /**
3399
+ * Minimum allowed value (inclusive)
3400
+ */
3401
+ min?: number;
3402
+ }
3403
+ /**
3404
+ * Min/max range constraint for an RDKit molecular descriptor
3405
+ */
3406
+ interface NumHeteroatoms {
3407
+ /**
3408
+ * Maximum allowed value (inclusive)
3409
+ */
3410
+ max?: number;
3411
+ /**
3412
+ * Minimum allowed value (inclusive)
3413
+ */
3414
+ min?: number;
3415
+ }
3416
+ /**
3417
+ * Min/max range constraint for an RDKit molecular descriptor
3418
+ */
3419
+ interface NumRings {
3420
+ /**
3421
+ * Maximum allowed value (inclusive)
3422
+ */
3423
+ max?: number;
3424
+ /**
3425
+ * Minimum allowed value (inclusive)
3426
+ */
3427
+ min?: number;
3428
+ }
3429
+ /**
3430
+ * Min/max range constraint for an RDKit molecular descriptor
3431
+ */
3432
+ interface NumRotatableBonds {
3433
+ /**
3434
+ * Maximum allowed value (inclusive)
3435
+ */
3436
+ max?: number;
3437
+ /**
3438
+ * Minimum allowed value (inclusive)
3439
+ */
3440
+ min?: number;
3441
+ }
3442
+ /**
3443
+ * Min/max range constraint for an RDKit molecular descriptor
3444
+ */
3445
+ interface Tpsa {
3446
+ /**
3447
+ * Maximum allowed value (inclusive)
3448
+ */
3449
+ max?: number;
3450
+ /**
3451
+ * Minimum allowed value (inclusive)
3452
+ */
3453
+ min?: number;
3454
+ }
3455
+ }
3456
+ /**
3457
+ * Filter molecules by custom SMARTS patterns. Molecules matching any pattern are
3458
+ * rejected.
3459
+ */
3460
+ interface SmartsCustomFilter {
3461
+ /**
3462
+ * SMARTS patterns. Molecules matching any pattern are rejected.
3463
+ */
3464
+ patterns: Array<string>;
3465
+ type: 'smarts_custom_filter';
3466
+ }
3467
+ /**
3468
+ * Filter molecules using a predefined SMARTS catalog of structural alerts.
3469
+ */
3470
+ interface SmartsCatalogFilter {
3471
+ /**
3472
+ * Predefined SMARTS catalog to apply. PAINS, BRENK, ChEMBL, and NIH catalogs
3473
+ * reject known problematic substructures.
3474
+ */
3475
+ catalog: 'PAINS' | 'PAINS_A' | 'PAINS_B' | 'PAINS_C' | 'BRENK' | 'CHEMBL' | 'CHEMBL_BMS' | 'CHEMBL_Dundee' | 'CHEMBL_Glaxo' | 'CHEMBL_Inpharmatica' | 'CHEMBL_LINT' | 'CHEMBL_MLSMR' | 'CHEMBL_SureChEMBL' | 'NIH';
3476
+ type: 'smarts_catalog_filter';
3477
+ }
3478
+ /**
3479
+ * Filter molecules by regex patterns on their SMILES representation.
3480
+ */
3481
+ interface SmilesRegexFilter {
3482
+ /**
3483
+ * Regex patterns applied to SMILES strings. Molecules matching any pattern are
3484
+ * rejected.
3485
+ */
3486
+ patterns: Array<string>;
3487
+ type: 'smiles_regex_filter';
3488
+ }
3489
+ }
3490
+ }
3491
+ export declare namespace LibraryScreen {
3492
+ export { type LibraryScreenRetrieveResponse as LibraryScreenRetrieveResponse, type LibraryScreenListResponse as LibraryScreenListResponse, type LibraryScreenDeleteDataResponse as LibraryScreenDeleteDataResponse, type LibraryScreenEstimateCostResponse as LibraryScreenEstimateCostResponse, type LibraryScreenListResultsResponse as LibraryScreenListResultsResponse, type LibraryScreenStartResponse as LibraryScreenStartResponse, type LibraryScreenStopResponse as LibraryScreenStopResponse, type LibraryScreenListResponsesCursorPage as LibraryScreenListResponsesCursorPage, type LibraryScreenListResultsResponsesCursorPage as LibraryScreenListResultsResponsesCursorPage, type LibraryScreenRetrieveParams as LibraryScreenRetrieveParams, type LibraryScreenListParams as LibraryScreenListParams, type LibraryScreenEstimateCostParams as LibraryScreenEstimateCostParams, type LibraryScreenListResultsParams as LibraryScreenListResultsParams, type LibraryScreenStartParams as LibraryScreenStartParams, };
3493
+ }
3494
+ //# sourceMappingURL=library-screen.d.ts.map