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