@linkt/sdk 0.2.0

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 (444) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +201 -0
  3. package/README.md +424 -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 +206 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +206 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +473 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +469 -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/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +2 -0
  55. package/error.d.ts.map +1 -0
  56. package/error.js +6 -0
  57. package/error.js.map +1 -0
  58. package/error.mjs +2 -0
  59. package/error.mjs.map +1 -0
  60. package/index.d.mts +6 -0
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +6 -0
  63. package/index.d.ts.map +1 -0
  64. package/index.js +30 -0
  65. package/index.js.map +1 -0
  66. package/index.mjs +7 -0
  67. package/index.mjs.map +1 -0
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +35 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +32 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/qs/formats.d.mts +7 -0
  109. package/internal/qs/formats.d.mts.map +1 -0
  110. package/internal/qs/formats.d.ts +7 -0
  111. package/internal/qs/formats.d.ts.map +1 -0
  112. package/internal/qs/formats.js +13 -0
  113. package/internal/qs/formats.js.map +1 -0
  114. package/internal/qs/formats.mjs +9 -0
  115. package/internal/qs/formats.mjs.map +1 -0
  116. package/internal/qs/index.d.mts +10 -0
  117. package/internal/qs/index.d.mts.map +1 -0
  118. package/internal/qs/index.d.ts +10 -0
  119. package/internal/qs/index.d.ts.map +1 -0
  120. package/internal/qs/index.js +14 -0
  121. package/internal/qs/index.js.map +1 -0
  122. package/internal/qs/index.mjs +10 -0
  123. package/internal/qs/index.mjs.map +1 -0
  124. package/internal/qs/stringify.d.mts +3 -0
  125. package/internal/qs/stringify.d.mts.map +1 -0
  126. package/internal/qs/stringify.d.ts +3 -0
  127. package/internal/qs/stringify.d.ts.map +1 -0
  128. package/internal/qs/stringify.js +277 -0
  129. package/internal/qs/stringify.js.map +1 -0
  130. package/internal/qs/stringify.mjs +274 -0
  131. package/internal/qs/stringify.mjs.map +1 -0
  132. package/internal/qs/types.d.mts +57 -0
  133. package/internal/qs/types.d.mts.map +1 -0
  134. package/internal/qs/types.d.ts +57 -0
  135. package/internal/qs/types.d.ts.map +1 -0
  136. package/internal/qs/types.js +3 -0
  137. package/internal/qs/types.js.map +1 -0
  138. package/internal/qs/types.mjs +2 -0
  139. package/internal/qs/types.mjs.map +1 -0
  140. package/internal/qs/utils.d.mts +15 -0
  141. package/internal/qs/utils.d.mts.map +1 -0
  142. package/internal/qs/utils.d.ts +15 -0
  143. package/internal/qs/utils.d.ts.map +1 -0
  144. package/internal/qs/utils.js +230 -0
  145. package/internal/qs/utils.js.map +1 -0
  146. package/internal/qs/utils.mjs +217 -0
  147. package/internal/qs/utils.mjs.map +1 -0
  148. package/internal/request-options.d.mts +75 -0
  149. package/internal/request-options.d.mts.map +1 -0
  150. package/internal/request-options.d.ts +75 -0
  151. package/internal/request-options.d.ts.map +1 -0
  152. package/internal/request-options.js +14 -0
  153. package/internal/request-options.js.map +1 -0
  154. package/internal/request-options.mjs +10 -0
  155. package/internal/request-options.mjs.map +1 -0
  156. package/internal/shim-types.d.mts +17 -0
  157. package/internal/shim-types.d.mts.map +1 -0
  158. package/internal/shim-types.d.ts +17 -0
  159. package/internal/shim-types.d.ts.map +1 -0
  160. package/internal/shim-types.js +4 -0
  161. package/internal/shim-types.js.map +1 -0
  162. package/internal/shim-types.mjs +3 -0
  163. package/internal/shim-types.mjs.map +1 -0
  164. package/internal/shims.d.mts +20 -0
  165. package/internal/shims.d.mts.map +1 -0
  166. package/internal/shims.d.ts +20 -0
  167. package/internal/shims.d.ts.map +1 -0
  168. package/internal/shims.js +92 -0
  169. package/internal/shims.js.map +1 -0
  170. package/internal/shims.mjs +85 -0
  171. package/internal/shims.mjs.map +1 -0
  172. package/internal/to-file.d.mts +45 -0
  173. package/internal/to-file.d.mts.map +1 -0
  174. package/internal/to-file.d.ts +45 -0
  175. package/internal/to-file.d.ts.map +1 -0
  176. package/internal/to-file.js +91 -0
  177. package/internal/to-file.js.map +1 -0
  178. package/internal/to-file.mjs +88 -0
  179. package/internal/to-file.mjs.map +1 -0
  180. package/internal/tslib.js +81 -0
  181. package/internal/tslib.mjs +17 -0
  182. package/internal/types.d.mts +69 -0
  183. package/internal/types.d.mts.map +1 -0
  184. package/internal/types.d.ts +69 -0
  185. package/internal/types.d.ts.map +1 -0
  186. package/internal/types.js +4 -0
  187. package/internal/types.js.map +1 -0
  188. package/internal/types.mjs +3 -0
  189. package/internal/types.mjs.map +1 -0
  190. package/internal/uploads.d.mts +42 -0
  191. package/internal/uploads.d.mts.map +1 -0
  192. package/internal/uploads.d.ts +42 -0
  193. package/internal/uploads.d.ts.map +1 -0
  194. package/internal/uploads.js +141 -0
  195. package/internal/uploads.js.map +1 -0
  196. package/internal/uploads.mjs +131 -0
  197. package/internal/uploads.mjs.map +1 -0
  198. package/internal/utils/base64.d.mts +3 -0
  199. package/internal/utils/base64.d.mts.map +1 -0
  200. package/internal/utils/base64.d.ts +3 -0
  201. package/internal/utils/base64.d.ts.map +1 -0
  202. package/internal/utils/base64.js +38 -0
  203. package/internal/utils/base64.js.map +1 -0
  204. package/internal/utils/base64.mjs +33 -0
  205. package/internal/utils/base64.mjs.map +1 -0
  206. package/internal/utils/bytes.d.mts +4 -0
  207. package/internal/utils/bytes.d.mts.map +1 -0
  208. package/internal/utils/bytes.d.ts +4 -0
  209. package/internal/utils/bytes.d.ts.map +1 -0
  210. package/internal/utils/bytes.js +31 -0
  211. package/internal/utils/bytes.js.map +1 -0
  212. package/internal/utils/bytes.mjs +26 -0
  213. package/internal/utils/bytes.mjs.map +1 -0
  214. package/internal/utils/env.d.mts +9 -0
  215. package/internal/utils/env.d.mts.map +1 -0
  216. package/internal/utils/env.d.ts +9 -0
  217. package/internal/utils/env.d.ts.map +1 -0
  218. package/internal/utils/env.js +22 -0
  219. package/internal/utils/env.js.map +1 -0
  220. package/internal/utils/env.mjs +18 -0
  221. package/internal/utils/env.mjs.map +1 -0
  222. package/internal/utils/log.d.mts +37 -0
  223. package/internal/utils/log.d.mts.map +1 -0
  224. package/internal/utils/log.d.ts +37 -0
  225. package/internal/utils/log.d.ts.map +1 -0
  226. package/internal/utils/log.js +86 -0
  227. package/internal/utils/log.js.map +1 -0
  228. package/internal/utils/log.mjs +80 -0
  229. package/internal/utils/log.mjs.map +1 -0
  230. package/internal/utils/path.d.mts +15 -0
  231. package/internal/utils/path.d.mts.map +1 -0
  232. package/internal/utils/path.d.ts +15 -0
  233. package/internal/utils/path.d.ts.map +1 -0
  234. package/internal/utils/path.js +79 -0
  235. package/internal/utils/path.js.map +1 -0
  236. package/internal/utils/path.mjs +74 -0
  237. package/internal/utils/path.mjs.map +1 -0
  238. package/internal/utils/sleep.d.mts +2 -0
  239. package/internal/utils/sleep.d.mts.map +1 -0
  240. package/internal/utils/sleep.d.ts +2 -0
  241. package/internal/utils/sleep.d.ts.map +1 -0
  242. package/internal/utils/sleep.js +7 -0
  243. package/internal/utils/sleep.js.map +1 -0
  244. package/internal/utils/sleep.mjs +3 -0
  245. package/internal/utils/sleep.mjs.map +1 -0
  246. package/internal/utils/uuid.d.mts +5 -0
  247. package/internal/utils/uuid.d.mts.map +1 -0
  248. package/internal/utils/uuid.d.ts +5 -0
  249. package/internal/utils/uuid.d.ts.map +1 -0
  250. package/internal/utils/uuid.js +19 -0
  251. package/internal/utils/uuid.js.map +1 -0
  252. package/internal/utils/uuid.mjs +15 -0
  253. package/internal/utils/uuid.mjs.map +1 -0
  254. package/internal/utils/values.d.mts +18 -0
  255. package/internal/utils/values.d.mts.map +1 -0
  256. package/internal/utils/values.d.ts +18 -0
  257. package/internal/utils/values.d.ts.map +1 -0
  258. package/internal/utils/values.js +112 -0
  259. package/internal/utils/values.js.map +1 -0
  260. package/internal/utils/values.mjs +94 -0
  261. package/internal/utils/values.mjs.map +1 -0
  262. package/internal/utils.d.mts +7 -0
  263. package/internal/utils.d.mts.map +1 -0
  264. package/internal/utils.d.ts +7 -0
  265. package/internal/utils.d.ts.map +1 -0
  266. package/internal/utils.js +11 -0
  267. package/internal/utils.js.map +1 -0
  268. package/internal/utils.mjs +8 -0
  269. package/internal/utils.mjs.map +1 -0
  270. package/package.json +137 -0
  271. package/resource.d.mts +2 -0
  272. package/resource.d.mts.map +1 -0
  273. package/resource.d.ts +2 -0
  274. package/resource.d.ts.map +1 -0
  275. package/resource.js +6 -0
  276. package/resource.js.map +1 -0
  277. package/resource.mjs +2 -0
  278. package/resource.mjs.map +1 -0
  279. package/resources/files.d.mts +170 -0
  280. package/resources/files.d.mts.map +1 -0
  281. package/resources/files.d.ts +170 -0
  282. package/resources/files.d.ts.map +1 -0
  283. package/resources/files.js +39 -0
  284. package/resources/files.js.map +1 -0
  285. package/resources/files.mjs +35 -0
  286. package/resources/files.mjs.map +1 -0
  287. package/resources/icp.d.mts +162 -0
  288. package/resources/icp.d.mts.map +1 -0
  289. package/resources/icp.d.ts +162 -0
  290. package/resources/icp.d.ts.map +1 -0
  291. package/resources/icp.js +69 -0
  292. package/resources/icp.js.map +1 -0
  293. package/resources/icp.mjs +65 -0
  294. package/resources/icp.mjs.map +1 -0
  295. package/resources/index.d.mts +7 -0
  296. package/resources/index.d.mts.map +1 -0
  297. package/resources/index.d.ts +7 -0
  298. package/resources/index.d.ts.map +1 -0
  299. package/resources/index.js +17 -0
  300. package/resources/index.js.map +1 -0
  301. package/resources/index.mjs +8 -0
  302. package/resources/index.mjs.map +1 -0
  303. package/resources/run.d.mts +224 -0
  304. package/resources/run.d.mts.map +1 -0
  305. package/resources/run.d.ts +224 -0
  306. package/resources/run.d.ts.map +1 -0
  307. package/resources/run.js +107 -0
  308. package/resources/run.js.map +1 -0
  309. package/resources/run.mjs +103 -0
  310. package/resources/run.mjs.map +1 -0
  311. package/resources/sheet/entity.d.mts +52 -0
  312. package/resources/sheet/entity.d.mts.map +1 -0
  313. package/resources/sheet/entity.d.ts +52 -0
  314. package/resources/sheet/entity.d.ts.map +1 -0
  315. package/resources/sheet/entity.js +45 -0
  316. package/resources/sheet/entity.js.map +1 -0
  317. package/resources/sheet/entity.mjs +41 -0
  318. package/resources/sheet/entity.mjs.map +1 -0
  319. package/resources/sheet/index.d.mts +4 -0
  320. package/resources/sheet/index.d.mts.map +1 -0
  321. package/resources/sheet/index.d.ts +4 -0
  322. package/resources/sheet/index.d.ts.map +1 -0
  323. package/resources/sheet/index.js +11 -0
  324. package/resources/sheet/index.js.map +1 -0
  325. package/resources/sheet/index.mjs +5 -0
  326. package/resources/sheet/index.mjs.map +1 -0
  327. package/resources/sheet/schema.d.mts +207 -0
  328. package/resources/sheet/schema.d.mts.map +1 -0
  329. package/resources/sheet/schema.d.ts +207 -0
  330. package/resources/sheet/schema.d.ts.map +1 -0
  331. package/resources/sheet/schema.js +65 -0
  332. package/resources/sheet/schema.js.map +1 -0
  333. package/resources/sheet/schema.mjs +61 -0
  334. package/resources/sheet/schema.mjs.map +1 -0
  335. package/resources/sheet/sheet.d.mts +195 -0
  336. package/resources/sheet/sheet.d.mts.map +1 -0
  337. package/resources/sheet/sheet.d.ts +195 -0
  338. package/resources/sheet/sheet.d.ts.map +1 -0
  339. package/resources/sheet/sheet.js +90 -0
  340. package/resources/sheet/sheet.js.map +1 -0
  341. package/resources/sheet/sheet.mjs +85 -0
  342. package/resources/sheet/sheet.mjs.map +1 -0
  343. package/resources/sheet.d.mts +2 -0
  344. package/resources/sheet.d.mts.map +1 -0
  345. package/resources/sheet.d.ts +2 -0
  346. package/resources/sheet.d.ts.map +1 -0
  347. package/resources/sheet.js +6 -0
  348. package/resources/sheet.js.map +1 -0
  349. package/resources/sheet.mjs +3 -0
  350. package/resources/sheet.mjs.map +1 -0
  351. package/resources/signal.d.mts +79 -0
  352. package/resources/signal.d.mts.map +1 -0
  353. package/resources/signal.d.ts +79 -0
  354. package/resources/signal.d.ts.map +1 -0
  355. package/resources/signal.js +26 -0
  356. package/resources/signal.js.map +1 -0
  357. package/resources/signal.mjs +22 -0
  358. package/resources/signal.mjs.map +1 -0
  359. package/resources/task.d.mts +717 -0
  360. package/resources/task.d.mts.map +1 -0
  361. package/resources/task.d.ts +717 -0
  362. package/resources/task.d.ts.map +1 -0
  363. package/resources/task.js +108 -0
  364. package/resources/task.js.map +1 -0
  365. package/resources/task.mjs +104 -0
  366. package/resources/task.mjs.map +1 -0
  367. package/resources.d.mts +2 -0
  368. package/resources.d.mts.map +1 -0
  369. package/resources.d.ts +2 -0
  370. package/resources.d.ts.map +1 -0
  371. package/resources.js +5 -0
  372. package/resources.js.map +1 -0
  373. package/resources.mjs +2 -0
  374. package/resources.mjs.map +1 -0
  375. package/src/api-promise.ts +2 -0
  376. package/src/client.ts +877 -0
  377. package/src/core/README.md +3 -0
  378. package/src/core/api-promise.ts +92 -0
  379. package/src/core/error.ts +130 -0
  380. package/src/core/resource.ts +11 -0
  381. package/src/core/uploads.ts +2 -0
  382. package/src/error.ts +2 -0
  383. package/src/index.ts +22 -0
  384. package/src/internal/README.md +3 -0
  385. package/src/internal/builtin-types.ts +93 -0
  386. package/src/internal/detect-platform.ts +196 -0
  387. package/src/internal/errors.ts +33 -0
  388. package/src/internal/headers.ts +97 -0
  389. package/src/internal/parse.ts +50 -0
  390. package/src/internal/qs/LICENSE.md +13 -0
  391. package/src/internal/qs/README.md +3 -0
  392. package/src/internal/qs/formats.ts +10 -0
  393. package/src/internal/qs/index.ts +13 -0
  394. package/src/internal/qs/stringify.ts +385 -0
  395. package/src/internal/qs/types.ts +71 -0
  396. package/src/internal/qs/utils.ts +265 -0
  397. package/src/internal/request-options.ts +91 -0
  398. package/src/internal/shim-types.ts +26 -0
  399. package/src/internal/shims.ts +107 -0
  400. package/src/internal/to-file.ts +154 -0
  401. package/src/internal/types.ts +95 -0
  402. package/src/internal/uploads.ts +187 -0
  403. package/src/internal/utils/base64.ts +40 -0
  404. package/src/internal/utils/bytes.ts +32 -0
  405. package/src/internal/utils/env.ts +18 -0
  406. package/src/internal/utils/log.ts +127 -0
  407. package/src/internal/utils/path.ts +88 -0
  408. package/src/internal/utils/sleep.ts +3 -0
  409. package/src/internal/utils/uuid.ts +17 -0
  410. package/src/internal/utils/values.ts +105 -0
  411. package/src/internal/utils.ts +8 -0
  412. package/src/lib/.keep +4 -0
  413. package/src/resource.ts +2 -0
  414. package/src/resources/files.ts +219 -0
  415. package/src/resources/icp.ts +227 -0
  416. package/src/resources/index.ts +64 -0
  417. package/src/resources/run.ts +293 -0
  418. package/src/resources/sheet/entity.ts +97 -0
  419. package/src/resources/sheet/index.ts +30 -0
  420. package/src/resources/sheet/schema.ts +246 -0
  421. package/src/resources/sheet/sheet.ts +318 -0
  422. package/src/resources/sheet.ts +3 -0
  423. package/src/resources/signal.ts +117 -0
  424. package/src/resources/task.ts +912 -0
  425. package/src/resources.ts +1 -0
  426. package/src/tsconfig.json +11 -0
  427. package/src/uploads.ts +2 -0
  428. package/src/version.ts +1 -0
  429. package/uploads.d.mts +2 -0
  430. package/uploads.d.mts.map +1 -0
  431. package/uploads.d.ts +2 -0
  432. package/uploads.d.ts.map +1 -0
  433. package/uploads.js +6 -0
  434. package/uploads.js.map +1 -0
  435. package/uploads.mjs +2 -0
  436. package/uploads.mjs.map +1 -0
  437. package/version.d.mts +2 -0
  438. package/version.d.mts.map +1 -0
  439. package/version.d.ts +2 -0
  440. package/version.d.ts.map +1 -0
  441. package/version.js +5 -0
  442. package/version.js.map +1 -0
  443. package/version.mjs +2 -0
  444. package/version.mjs.map +1 -0
@@ -0,0 +1,105 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { LinktError } from '../../core/error';
4
+
5
+ // https://url.spec.whatwg.org/#url-scheme-string
6
+ const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
7
+
8
+ export const isAbsoluteURL = (url: string): boolean => {
9
+ return startsWithSchemeRegexp.test(url);
10
+ };
11
+
12
+ export let isArray = (val: unknown): val is unknown[] => ((isArray = Array.isArray), isArray(val));
13
+ export let isReadonlyArray = isArray as (val: unknown) => val is readonly unknown[];
14
+
15
+ /** Returns an object if the given value isn't an object, otherwise returns as-is */
16
+ export function maybeObj(x: unknown): object {
17
+ if (typeof x !== 'object') {
18
+ return {};
19
+ }
20
+
21
+ return x ?? {};
22
+ }
23
+
24
+ // https://stackoverflow.com/a/34491287
25
+ export function isEmptyObj(obj: Object | null | undefined): boolean {
26
+ if (!obj) return true;
27
+ for (const _k in obj) return false;
28
+ return true;
29
+ }
30
+
31
+ // https://eslint.org/docs/latest/rules/no-prototype-builtins
32
+ export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
33
+ return Object.prototype.hasOwnProperty.call(obj, key);
34
+ }
35
+
36
+ export function isObj(obj: unknown): obj is Record<string, unknown> {
37
+ return obj != null && typeof obj === 'object' && !Array.isArray(obj);
38
+ }
39
+
40
+ export const ensurePresent = <T>(value: T | null | undefined): T => {
41
+ if (value == null) {
42
+ throw new LinktError(`Expected a value to be given but received ${value} instead.`);
43
+ }
44
+
45
+ return value;
46
+ };
47
+
48
+ export const validatePositiveInteger = (name: string, n: unknown): number => {
49
+ if (typeof n !== 'number' || !Number.isInteger(n)) {
50
+ throw new LinktError(`${name} must be an integer`);
51
+ }
52
+ if (n < 0) {
53
+ throw new LinktError(`${name} must be a positive integer`);
54
+ }
55
+ return n;
56
+ };
57
+
58
+ export const coerceInteger = (value: unknown): number => {
59
+ if (typeof value === 'number') return Math.round(value);
60
+ if (typeof value === 'string') return parseInt(value, 10);
61
+
62
+ throw new LinktError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
63
+ };
64
+
65
+ export const coerceFloat = (value: unknown): number => {
66
+ if (typeof value === 'number') return value;
67
+ if (typeof value === 'string') return parseFloat(value);
68
+
69
+ throw new LinktError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
70
+ };
71
+
72
+ export const coerceBoolean = (value: unknown): boolean => {
73
+ if (typeof value === 'boolean') return value;
74
+ if (typeof value === 'string') return value === 'true';
75
+ return Boolean(value);
76
+ };
77
+
78
+ export const maybeCoerceInteger = (value: unknown): number | undefined => {
79
+ if (value == null) {
80
+ return undefined;
81
+ }
82
+ return coerceInteger(value);
83
+ };
84
+
85
+ export const maybeCoerceFloat = (value: unknown): number | undefined => {
86
+ if (value == null) {
87
+ return undefined;
88
+ }
89
+ return coerceFloat(value);
90
+ };
91
+
92
+ export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
93
+ if (value == null) {
94
+ return undefined;
95
+ }
96
+ return coerceBoolean(value);
97
+ };
98
+
99
+ export const safeJSON = (text: string) => {
100
+ try {
101
+ return JSON.parse(text);
102
+ } catch (err) {
103
+ return undefined;
104
+ }
105
+ };
@@ -0,0 +1,8 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './utils/values';
4
+ export * from './utils/base64';
5
+ export * from './utils/env';
6
+ export * from './utils/log';
7
+ export * from './utils/uuid';
8
+ export * from './utils/sleep';
package/src/lib/.keep ADDED
@@ -0,0 +1,4 @@
1
+ File generated from our OpenAPI spec by Stainless.
2
+
3
+ This directory can be used to store custom files to expand the SDK.
4
+ It is ignored by Stainless code generation and its content (other than this keep file) won't be touched.
@@ -0,0 +1,2 @@
1
+ /** @deprecated Import from ./core/resource instead */
2
+ export * from './core/resource';
@@ -0,0 +1,219 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { type Uploadable } from '../core/uploads';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { multipartFormRequestOptions } from '../internal/uploads';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ export class Files extends APIResource {
11
+ /**
12
+ * Get file details by ID.
13
+ *
14
+ * Returns metadata for a specific file including name, size, and processing
15
+ * status. Use this to check if a file is ready for use in workflows.
16
+ */
17
+ retrieve(fileID: string, options?: RequestOptions): APIPromise<FileRetrieveResponse> {
18
+ return this._client.get(path`/v1/files/${fileID}`, options);
19
+ }
20
+
21
+ /**
22
+ * List uploaded files.
23
+ *
24
+ * Returns a paginated list of all files uploaded by your organization. Files can
25
+ * be used as data sources for signal monitoring and ingest tasks.
26
+ */
27
+ list(
28
+ query: FileListParams | null | undefined = {},
29
+ options?: RequestOptions,
30
+ ): APIPromise<FileListResponse> {
31
+ return this._client.get('/v1/files', { query, ...options });
32
+ }
33
+
34
+ /**
35
+ * Upload a CSV or XLSX file.
36
+ *
37
+ * Upload a data file for use in signal monitoring or ingest workflows. The file is
38
+ * stored securely and can be referenced when creating tasks. XLSX files are
39
+ * automatically converted to CSV format (first sheet only).
40
+ */
41
+ upload(body: FileUploadParams, options?: RequestOptions): APIPromise<FileUploadResponse> {
42
+ return this._client.post(
43
+ '/v1/files/upload',
44
+ multipartFormRequestOptions({ body, ...options }, this._client),
45
+ );
46
+ }
47
+ }
48
+
49
+ /**
50
+ * Processing status for CSV files.
51
+ */
52
+ export type CsvProcessingStatus = 'pending' | 'processing' | 'completed' | 'failed';
53
+
54
+ /**
55
+ * Response model for file details.
56
+ */
57
+ export interface FileRetrieveResponse {
58
+ /**
59
+ * Content type of the file
60
+ */
61
+ content_type: string;
62
+
63
+ /**
64
+ * The ID of the file
65
+ */
66
+ file_id: string;
67
+
68
+ /**
69
+ * The name of the file
70
+ */
71
+ name: string;
72
+
73
+ /**
74
+ * S3 URI of the file
75
+ */
76
+ s3_uri: string;
77
+
78
+ /**
79
+ * Size of the file in bytes
80
+ */
81
+ size_bytes: number;
82
+
83
+ /**
84
+ * CSV metadata
85
+ */
86
+ csv_metadata?: { [key: string]: unknown };
87
+
88
+ /**
89
+ * Original file type if converted (e.g., 'xlsx' if XLSX was converted to CSV)
90
+ */
91
+ original_file_type?: string | null;
92
+
93
+ /**
94
+ * Processing status
95
+ */
96
+ processing_status?: CsvProcessingStatus;
97
+ }
98
+
99
+ /**
100
+ * Response model for file listing.
101
+ */
102
+ export interface FileListResponse {
103
+ /**
104
+ * List of files
105
+ */
106
+ files: Array<FileListResponse.File>;
107
+
108
+ /**
109
+ * Current page number
110
+ */
111
+ page: number;
112
+
113
+ /**
114
+ * Number of items per page
115
+ */
116
+ page_size: number;
117
+
118
+ /**
119
+ * Total number of files
120
+ */
121
+ total: number;
122
+ }
123
+
124
+ export namespace FileListResponse {
125
+ /**
126
+ * File item in list response.
127
+ */
128
+ export interface File {
129
+ /**
130
+ * The ID of the file
131
+ */
132
+ file_id: string;
133
+
134
+ /**
135
+ * The name of the file
136
+ */
137
+ name: string;
138
+
139
+ /**
140
+ * Size of the file in bytes
141
+ */
142
+ size_bytes: number;
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Response model for file upload.
148
+ */
149
+ export interface FileUploadResponse {
150
+ /**
151
+ * Content type of the file
152
+ */
153
+ content_type: string;
154
+
155
+ /**
156
+ * The ID of the uploaded file
157
+ */
158
+ file_id: string;
159
+
160
+ /**
161
+ * The name of the file
162
+ */
163
+ name: string;
164
+
165
+ /**
166
+ * Processing status
167
+ */
168
+ processing_status: CsvProcessingStatus;
169
+
170
+ /**
171
+ * S3 URI of the uploaded file
172
+ */
173
+ s3_uri: string;
174
+
175
+ /**
176
+ * Size of the file in bytes
177
+ */
178
+ size_bytes: number;
179
+
180
+ /**
181
+ * CSV metadata
182
+ */
183
+ csv_metadata?: { [key: string]: unknown };
184
+
185
+ /**
186
+ * Original file type if converted (e.g., 'xlsx' if XLSX was converted to CSV)
187
+ */
188
+ original_file_type?: string | null;
189
+ }
190
+
191
+ export interface FileListParams {
192
+ /**
193
+ * Page number (1-based)
194
+ */
195
+ page?: number;
196
+
197
+ /**
198
+ * Items per page
199
+ */
200
+ page_size?: number;
201
+ }
202
+
203
+ export interface FileUploadParams {
204
+ /**
205
+ * CSV or XLSX file to upload
206
+ */
207
+ file: Uploadable;
208
+ }
209
+
210
+ export declare namespace Files {
211
+ export {
212
+ type CsvProcessingStatus as CsvProcessingStatus,
213
+ type FileRetrieveResponse as FileRetrieveResponse,
214
+ type FileListResponse as FileListResponse,
215
+ type FileUploadResponse as FileUploadResponse,
216
+ type FileListParams as FileListParams,
217
+ type FileUploadParams as FileUploadParams,
218
+ };
219
+ }
@@ -0,0 +1,227 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { buildHeaders } from '../internal/headers';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Icp extends APIResource {
10
+ /**
11
+ * Create a new Ideal Customer Profile (ICP).
12
+ *
13
+ * ICPs are the foundation of your research workflows. They define WHAT entities to
14
+ * target using business-level descriptions and filters, without specifying
15
+ * technical implementation details.
16
+ *
17
+ * Create an ICP first, then link Sheets to it for entity storage.
18
+ */
19
+ create(body: IcpCreateParams, options?: RequestOptions): APIPromise<IcpResponse> {
20
+ return this._client.post('/v1/icp', { body, ...options });
21
+ }
22
+
23
+ /**
24
+ * Get a specific ICP by ID.
25
+ */
26
+ retrieve(icpID: string, options?: RequestOptions): APIPromise<IcpResponse> {
27
+ return this._client.get(path`/v1/icp/${icpID}`, options);
28
+ }
29
+
30
+ /**
31
+ * Update an existing ICP.
32
+ *
33
+ * Only provided fields will be updated; omitted fields remain unchanged.
34
+ */
35
+ update(icpID: string, body: IcpUpdateParams, options?: RequestOptions): APIPromise<IcpResponse> {
36
+ return this._client.put(path`/v1/icp/${icpID}`, { body, ...options });
37
+ }
38
+
39
+ /**
40
+ * List all ICPs for the organization.
41
+ *
42
+ * Results are scoped to your organization. Use the `mode` filter to separate
43
+ * discovery ICPs (for finding new entities) from monitoring ICPs (for tracking
44
+ * existing entities).
45
+ */
46
+ list(query: IcpListParams | null | undefined = {}, options?: RequestOptions): APIPromise<IcpListResponse> {
47
+ return this._client.get('/v1/icp', { query, ...options });
48
+ }
49
+
50
+ /**
51
+ * Delete an ICP and all related resources.
52
+ *
53
+ * **Cascade delete**: This permanently removes the ICP along with all associated
54
+ * sheets, entities, schedules, tasks, and signals. This operation cannot be
55
+ * undone.
56
+ */
57
+ delete(icpID: string, options?: RequestOptions): APIPromise<void> {
58
+ return this._client.delete(path`/v1/icp/${icpID}`, {
59
+ ...options,
60
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
61
+ });
62
+ }
63
+
64
+ /**
65
+ * Get all active runs for an ICP.
66
+ *
67
+ * Returns runs in non-terminal states (RUNNING, SCHEDULED, PENDING). Useful for
68
+ * checking if workflows are currently processing this ICP before making changes.
69
+ */
70
+ getActiveRuns(icpID: string, options?: RequestOptions): APIPromise<IcpGetActiveRunsResponse> {
71
+ return this._client.get(path`/v1/icp/${icpID}/active_runs`, options);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Request model for entity target configuration.
77
+ */
78
+ export interface EntityTargetConfig {
79
+ /**
80
+ * Business description of targets
81
+ */
82
+ description: string;
83
+
84
+ /**
85
+ * Entity type to target
86
+ */
87
+ entity_type: string;
88
+
89
+ /**
90
+ * Filters to apply
91
+ */
92
+ filters?: Array<string>;
93
+ }
94
+
95
+ /**
96
+ * Response model for ICP.
97
+ */
98
+ export interface IcpResponse {
99
+ id: string;
100
+
101
+ created_at: string;
102
+
103
+ description: string;
104
+
105
+ entity_targets: Array<IcpResponse.EntityTarget>;
106
+
107
+ name: string;
108
+
109
+ updated_at: string;
110
+ }
111
+
112
+ export namespace IcpResponse {
113
+ /**
114
+ * Response model for entity target configuration.
115
+ */
116
+ export interface EntityTarget {
117
+ description: string;
118
+
119
+ entity_type: string;
120
+
121
+ root: boolean;
122
+ }
123
+ }
124
+
125
+ /**
126
+ * Response for listing ICPs.
127
+ */
128
+ export interface IcpListResponse {
129
+ icps: Array<IcpResponse>;
130
+
131
+ page: number;
132
+
133
+ page_size: number;
134
+
135
+ total: number;
136
+ }
137
+
138
+ /**
139
+ * Response model for ICP running status.
140
+ */
141
+ export interface IcpGetActiveRunsResponse {
142
+ runs: Array<IcpGetActiveRunsResponse.Run>;
143
+ }
144
+
145
+ export namespace IcpGetActiveRunsResponse {
146
+ /**
147
+ * Individual run status item for API responses.
148
+ *
149
+ * Includes both agent_type (execution context) and task_type (workflow type)
150
+ * fields to support filtering and display during the transition from legacy runs.
151
+ *
152
+ * Attributes: id: Unique run identifier (ObjectId as string) agent_type: HOW the
153
+ * run was triggered ("task", "play") task_type: WHAT workflow runs ("signal",
154
+ * "search", "profile", "ingest"). None for plays or legacy runs without this
155
+ * field. created_at: When the run was created
156
+ */
157
+ export interface Run {
158
+ /**
159
+ * Run ID
160
+ */
161
+ id: string;
162
+
163
+ /**
164
+ * Execution context (task, play)
165
+ */
166
+ agent_type: string;
167
+
168
+ /**
169
+ * Creation timestamp
170
+ */
171
+ created_at?: string | null;
172
+
173
+ /**
174
+ * Workflow type for task-based runs (signal, search, profile, ingest)
175
+ */
176
+ task_type?: string | null;
177
+ }
178
+ }
179
+
180
+ export interface IcpCreateParams {
181
+ description: string;
182
+
183
+ entity_targets: Array<EntityTargetConfig>;
184
+
185
+ name: string;
186
+ }
187
+
188
+ export interface IcpUpdateParams {
189
+ description?: string | null;
190
+
191
+ entity_targets?: Array<EntityTargetConfig> | null;
192
+
193
+ name?: string | null;
194
+ }
195
+
196
+ export interface IcpListParams {
197
+ /**
198
+ * Filter by ICP mode: 'discovery' or 'monitoring'
199
+ */
200
+ mode?: 'discovery' | 'monitoring' | null;
201
+
202
+ /**
203
+ * Sort order: -1 for descending, 1 for ascending
204
+ */
205
+ order?: number | null;
206
+
207
+ page?: number;
208
+
209
+ page_size?: number;
210
+
211
+ /**
212
+ * Field to sort by (e.g., 'created_at', 'updated_at', 'name')
213
+ */
214
+ sort_by?: string | null;
215
+ }
216
+
217
+ export declare namespace Icp {
218
+ export {
219
+ type EntityTargetConfig as EntityTargetConfig,
220
+ type IcpResponse as IcpResponse,
221
+ type IcpListResponse as IcpListResponse,
222
+ type IcpGetActiveRunsResponse as IcpGetActiveRunsResponse,
223
+ type IcpCreateParams as IcpCreateParams,
224
+ type IcpUpdateParams as IcpUpdateParams,
225
+ type IcpListParams as IcpListParams,
226
+ };
227
+ }
@@ -0,0 +1,64 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Files,
5
+ type CsvProcessingStatus,
6
+ type FileRetrieveResponse,
7
+ type FileListResponse,
8
+ type FileUploadResponse,
9
+ type FileListParams,
10
+ type FileUploadParams,
11
+ } from './files';
12
+ export {
13
+ Icp,
14
+ type EntityTargetConfig,
15
+ type IcpResponse,
16
+ type IcpListResponse,
17
+ type IcpGetActiveRunsResponse,
18
+ type IcpCreateParams,
19
+ type IcpUpdateParams,
20
+ type IcpListParams,
21
+ } from './icp';
22
+ export {
23
+ Run,
24
+ type RunCreateResponse,
25
+ type RunRetrieveResponse,
26
+ type RunListResponse,
27
+ type RunGetQueueResponse,
28
+ type RunCreateParams,
29
+ type RunListParams,
30
+ type RunGetQueueParams,
31
+ } from './run';
32
+ export {
33
+ SheetResource,
34
+ type EntityType,
35
+ type Sheet,
36
+ type SheetListResponse,
37
+ type SheetExportCsvResponse,
38
+ type SheetGetEntitiesResponse,
39
+ type SheetCreateParams,
40
+ type SheetUpdateParams,
41
+ type SheetListParams,
42
+ type SheetExportCsvParams,
43
+ type SheetGetEntitiesParams,
44
+ } from './sheet/sheet';
45
+ export { Signal, type SignalResponse, type SignalListResponse, type SignalListParams } from './signal';
46
+ export {
47
+ Task,
48
+ type IngestTaskConfig,
49
+ type SearchV2Config,
50
+ type SearchV3Config,
51
+ type SignalCsvConfigInput,
52
+ type SignalSheetConfigInput,
53
+ type SignalTopicConfigInput,
54
+ type SignalTypeConfig,
55
+ type StandardPromptConfig,
56
+ type TaskCreateResponse,
57
+ type TaskRetrieveResponse,
58
+ type TaskListResponse,
59
+ type TaskExecuteResponse,
60
+ type TaskCreateParams,
61
+ type TaskUpdateParams,
62
+ type TaskListParams,
63
+ type TaskExecuteParams,
64
+ } from './task';