@epilot/sdk 2.8.0-rc.0 → 2.8.1

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 (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -1
  3. package/definitions/automation.json +120 -0
  4. package/definitions/blueprint-manifest-runtime.json +1 -1
  5. package/definitions/blueprint-manifest.json +744 -20
  6. package/definitions/customer-portal-runtime.json +1 -1
  7. package/definitions/customer-portal.json +317 -26
  8. package/definitions/design.json +51 -1
  9. package/definitions/event-catalog-runtime.json +1 -1
  10. package/definitions/event-catalog.json +168 -12
  11. package/definitions/file-runtime.json +1 -1
  12. package/definitions/file.json +152 -4
  13. package/definitions/integration-toolkit-runtime.json +1 -1
  14. package/definitions/integration-toolkit.json +782 -13
  15. package/definitions/notes-runtime.json +1 -1
  16. package/definitions/notes.json +123 -1
  17. package/definitions/pricing.json +224 -406
  18. package/definitions/targeting-runtime.json +1 -1
  19. package/definitions/targeting.json +257 -7
  20. package/definitions/webhooks.json +31 -0
  21. package/dist/README-46VYEGGW.js +7 -0
  22. package/dist/README-IVBISSWB.cjs +7 -0
  23. package/dist/{_index-YTOJUFGD.js → _index-5FB6F5YY.js} +0 -3
  24. package/dist/{_index-HTUXYSTD.cjs → _index-DB2VV4PQ.cjs} +1 -4
  25. package/dist/apis/access-token.cjs +6 -6
  26. package/dist/apis/access-token.js +1 -1
  27. package/dist/apis/address-suggestions.cjs +6 -6
  28. package/dist/apis/address-suggestions.js +1 -1
  29. package/dist/apis/address.cjs +6 -6
  30. package/dist/apis/address.js +1 -1
  31. package/dist/apis/ai-agents.cjs +6 -6
  32. package/dist/apis/ai-agents.js +1 -1
  33. package/dist/apis/app.cjs +6 -6
  34. package/dist/apis/app.js +1 -1
  35. package/dist/apis/audit-logs.cjs +6 -6
  36. package/dist/apis/audit-logs.js +1 -1
  37. package/dist/apis/automation.cjs +6 -6
  38. package/dist/apis/automation.d.cts +2 -2
  39. package/dist/apis/automation.d.ts +2 -2
  40. package/dist/apis/automation.js +1 -1
  41. package/dist/apis/billing.cjs +6 -6
  42. package/dist/apis/billing.js +1 -1
  43. package/dist/apis/blueprint-manifest.cjs +8 -8
  44. package/dist/apis/blueprint-manifest.d.cts +2 -2
  45. package/dist/apis/blueprint-manifest.d.ts +2 -2
  46. package/dist/apis/blueprint-manifest.js +2 -2
  47. package/dist/apis/calendar.cjs +6 -6
  48. package/dist/apis/calendar.js +1 -1
  49. package/dist/apis/configuration-hub.cjs +6 -6
  50. package/dist/apis/configuration-hub.js +1 -1
  51. package/dist/apis/consent.cjs +6 -6
  52. package/dist/apis/consent.js +1 -1
  53. package/dist/apis/customer-portal.cjs +8 -8
  54. package/dist/apis/customer-portal.d.cts +2 -2
  55. package/dist/apis/customer-portal.d.ts +2 -2
  56. package/dist/apis/customer-portal.js +2 -2
  57. package/dist/apis/dashboard.cjs +6 -6
  58. package/dist/apis/dashboard.js +1 -1
  59. package/dist/apis/data-governance.cjs +6 -6
  60. package/dist/apis/data-governance.js +1 -1
  61. package/dist/apis/deduplication.cjs +6 -6
  62. package/dist/apis/deduplication.js +1 -1
  63. package/dist/apis/design.cjs +6 -6
  64. package/dist/apis/design.d.cts +2 -2
  65. package/dist/apis/design.d.ts +2 -2
  66. package/dist/apis/design.js +1 -1
  67. package/dist/apis/document.cjs +6 -6
  68. package/dist/apis/document.js +1 -1
  69. package/dist/apis/email-settings.cjs +6 -6
  70. package/dist/apis/email-settings.js +1 -1
  71. package/dist/apis/email-template.cjs +6 -6
  72. package/dist/apis/email-template.js +1 -1
  73. package/dist/apis/entity-mapping.cjs +6 -6
  74. package/dist/apis/entity-mapping.js +1 -1
  75. package/dist/apis/entity.cjs +6 -6
  76. package/dist/apis/entity.js +1 -1
  77. package/dist/apis/environments.cjs +6 -6
  78. package/dist/apis/environments.js +1 -1
  79. package/dist/apis/event-catalog.cjs +8 -8
  80. package/dist/apis/event-catalog.d.cts +2 -2
  81. package/dist/apis/event-catalog.d.ts +2 -2
  82. package/dist/apis/event-catalog.js +2 -2
  83. package/dist/apis/file.cjs +8 -8
  84. package/dist/apis/file.d.cts +2 -2
  85. package/dist/apis/file.d.ts +2 -2
  86. package/dist/apis/file.js +2 -2
  87. package/dist/apis/iban.cjs +6 -6
  88. package/dist/apis/iban.js +1 -1
  89. package/dist/apis/integration-toolkit.cjs +8 -8
  90. package/dist/apis/integration-toolkit.d.cts +2 -2
  91. package/dist/apis/integration-toolkit.d.ts +2 -2
  92. package/dist/apis/integration-toolkit.js +2 -2
  93. package/dist/apis/journey.cjs +6 -6
  94. package/dist/apis/journey.js +1 -1
  95. package/dist/apis/kanban.cjs +6 -6
  96. package/dist/apis/kanban.js +1 -1
  97. package/dist/apis/message.cjs +6 -6
  98. package/dist/apis/message.js +1 -1
  99. package/dist/apis/metering.cjs +6 -6
  100. package/dist/apis/metering.js +1 -1
  101. package/dist/apis/notes.cjs +8 -8
  102. package/dist/apis/notes.d.cts +2 -2
  103. package/dist/apis/notes.d.ts +2 -2
  104. package/dist/apis/notes.js +2 -2
  105. package/dist/apis/notification.cjs +6 -6
  106. package/dist/apis/notification.js +1 -1
  107. package/dist/apis/organization.cjs +6 -6
  108. package/dist/apis/organization.js +1 -1
  109. package/dist/apis/partner-directory.cjs +6 -6
  110. package/dist/apis/partner-directory.js +1 -1
  111. package/dist/apis/permissions.cjs +6 -6
  112. package/dist/apis/permissions.js +1 -1
  113. package/dist/apis/pricing-tier.cjs +6 -6
  114. package/dist/apis/pricing-tier.js +1 -1
  115. package/dist/apis/pricing.cjs +6 -6
  116. package/dist/apis/pricing.d.cts +2 -2
  117. package/dist/apis/pricing.d.ts +2 -2
  118. package/dist/apis/pricing.js +1 -1
  119. package/dist/apis/purpose.cjs +6 -6
  120. package/dist/apis/purpose.js +1 -1
  121. package/dist/apis/query.cjs +6 -6
  122. package/dist/apis/query.js +1 -1
  123. package/dist/apis/sandbox.cjs +6 -6
  124. package/dist/apis/sandbox.js +1 -1
  125. package/dist/apis/sharing.cjs +6 -6
  126. package/dist/apis/sharing.js +1 -1
  127. package/dist/apis/submission.cjs +6 -6
  128. package/dist/apis/submission.js +1 -1
  129. package/dist/apis/target.cjs +6 -6
  130. package/dist/apis/target.js +1 -1
  131. package/dist/apis/targeting.cjs +8 -8
  132. package/dist/apis/targeting.d.cts +2 -2
  133. package/dist/apis/targeting.d.ts +2 -2
  134. package/dist/apis/targeting.js +2 -2
  135. package/dist/apis/template-variables.cjs +6 -6
  136. package/dist/apis/template-variables.js +1 -1
  137. package/dist/apis/user.cjs +6 -6
  138. package/dist/apis/user.js +1 -1
  139. package/dist/apis/validation-rules.cjs +6 -6
  140. package/dist/apis/validation-rules.js +1 -1
  141. package/dist/apis/webhooks.cjs +6 -6
  142. package/dist/apis/webhooks.d.cts +2 -2
  143. package/dist/apis/webhooks.d.ts +2 -2
  144. package/dist/apis/webhooks.js +1 -1
  145. package/dist/apis/workflow-definition.cjs +6 -6
  146. package/dist/apis/workflow-definition.js +1 -1
  147. package/dist/apis/workflow.cjs +6 -6
  148. package/dist/apis/workflow.js +1 -1
  149. package/dist/automation-S6NFS5KU.cjs +7 -0
  150. package/dist/automation-W75XZG7B.js +7 -0
  151. package/dist/{automation.d-Du6-uiz5.d.cts → automation.d-DS_YXDE8.d.cts} +300 -1
  152. package/dist/{automation.d-Du6-uiz5.d.ts → automation.d-DS_YXDE8.d.ts} +300 -1
  153. package/dist/blueprint-manifest-6DEYW5MW.js +7 -0
  154. package/dist/blueprint-manifest-GCV7H74X.cjs +7 -0
  155. package/dist/{blueprint-manifest-runtime-QN2IECSA.cjs → blueprint-manifest-runtime-EIDOROIQ.cjs} +2 -2
  156. package/dist/{blueprint-manifest-runtime-5UN52LW5.js → blueprint-manifest-runtime-FRLU3ZSF.js} +1 -1
  157. package/dist/{blueprint-manifest.d-BPyzoR0X.d.ts → blueprint-manifest.d-B8yDxagC.d.cts} +572 -6
  158. package/dist/{blueprint-manifest.d-BPyzoR0X.d.cts → blueprint-manifest.d-B8yDxagC.d.ts} +572 -6
  159. package/dist/chunk-4M5V6BIT.cjs +14 -0
  160. package/dist/chunk-4YBWMDFP.js +14 -0
  161. package/dist/{chunk-KJPOUJBU.cjs → chunk-5ZXGKLB6.cjs} +1 -1
  162. package/dist/{chunk-PTEJYAYJ.js → chunk-774ASAAH.js} +1 -1
  163. package/dist/{chunk-WM74R3BD.js → chunk-7V7ECXTZ.js} +1 -1
  164. package/dist/{chunk-54KWFSCM.js → chunk-ALMZO57K.js} +21 -23
  165. package/dist/chunk-FDS727SL.cjs +14 -0
  166. package/dist/{chunk-4FFGRWLS.cjs → chunk-I53TWOTX.cjs} +1 -1
  167. package/dist/chunk-LSPXLT3A.js +14 -0
  168. package/dist/chunk-M4FO2MI4.js +14 -0
  169. package/dist/chunk-MCK2QUSD.cjs +14 -0
  170. package/dist/chunk-NGHCQ2FA.cjs +14 -0
  171. package/dist/chunk-RDVFQOCQ.js +14 -0
  172. package/dist/{chunk-RW5JOHG7.js → chunk-WIQXF7DD.js} +1 -1
  173. package/dist/{chunk-F5Z6I7TF.cjs → chunk-WPBRWQPL.cjs} +21 -23
  174. package/dist/{chunk-M2SSGV7K.cjs → chunk-ZOQUGWQL.cjs} +1 -1
  175. package/dist/customer-portal-4DXHY42V.js +7 -0
  176. package/dist/customer-portal-5OSGSYGF.cjs +7 -0
  177. package/dist/{customer-portal-runtime-IYHJ3RME.cjs → customer-portal-runtime-HA6CPWB4.cjs} +2 -2
  178. package/dist/{customer-portal-runtime-ZYU3WIXY.js → customer-portal-runtime-TDHV2YVY.js} +1 -1
  179. package/dist/{customer-portal.d-CTTCBAZI.d.cts → customer-portal.d-BRwiQehb.d.cts} +763 -31
  180. package/dist/{customer-portal.d-CTTCBAZI.d.ts → customer-portal.d-BRwiQehb.d.ts} +763 -31
  181. package/dist/data-governance-2U5UU4GM.cjs +7 -0
  182. package/dist/data-governance-36Y33JVG.js +7 -0
  183. package/dist/design-DUFBH5ZB.js +7 -0
  184. package/dist/design-W3D3UPGB.cjs +7 -0
  185. package/dist/{design.d-BRre8iLg.d.ts → design.d-DzSDu8cy.d.cts} +41 -3
  186. package/dist/{design.d-BRre8iLg.d.cts → design.d-DzSDu8cy.d.ts} +41 -3
  187. package/dist/event-catalog-3YOQ46ZW.js +7 -0
  188. package/dist/event-catalog-HLWUT7RM.cjs +7 -0
  189. package/dist/{event-catalog-runtime-N262TQ3Y.js → event-catalog-runtime-JUSLF3UR.js} +1 -1
  190. package/dist/{event-catalog-runtime-B2BPKQVG.cjs → event-catalog-runtime-RH7542GL.cjs} +2 -2
  191. package/dist/{event-catalog.d-mQJLSYUo.d.ts → event-catalog.d-CXbUn8T1.d.cts} +199 -36
  192. package/dist/{event-catalog.d-mQJLSYUo.d.cts → event-catalog.d-CXbUn8T1.d.ts} +199 -36
  193. package/dist/file-2MSILSPP.cjs +7 -0
  194. package/dist/file-JVFTT5RZ.js +7 -0
  195. package/dist/file-runtime-7AWKNQU6.cjs +5 -0
  196. package/dist/{file-runtime-BIRMXYRH.js → file-runtime-DKGFS44O.js} +1 -1
  197. package/dist/{file.d-DTlrbI40.d.cts → file.d-BjlMgTwj.d.cts} +218 -5
  198. package/dist/{file.d-DTlrbI40.d.ts → file.d-BjlMgTwj.d.ts} +218 -5
  199. package/dist/index.cjs +27 -35
  200. package/dist/index.d.cts +56 -58
  201. package/dist/index.d.ts +56 -58
  202. package/dist/index.js +16 -24
  203. package/dist/integration-toolkit-27Z3VZBZ.cjs +7 -0
  204. package/dist/integration-toolkit-NRLZZFVS.js +7 -0
  205. package/dist/{integration-toolkit-runtime-YHTU4X5J.cjs → integration-toolkit-runtime-FY7QVFL6.cjs} +2 -2
  206. package/dist/{integration-toolkit-runtime-YR4CIMKH.js → integration-toolkit-runtime-HCJ5QLCR.js} +1 -1
  207. package/dist/{integration-toolkit.d-BstNqiJb.d.cts → integration-toolkit.d-BW9RK5G-.d.cts} +1672 -27
  208. package/dist/{integration-toolkit.d-BstNqiJb.d.ts → integration-toolkit.d-BW9RK5G-.d.ts} +1672 -27
  209. package/dist/js-yaml-DLCVPJ7G.js +0 -0
  210. package/dist/notes-6JESMRLW.js +7 -0
  211. package/dist/notes-SLEUSNP4.cjs +7 -0
  212. package/dist/{notes-runtime-CVNAVKPP.js → notes-runtime-I4SWR3PZ.js} +1 -1
  213. package/dist/notes-runtime-YWTRRNH5.cjs +5 -0
  214. package/dist/{notes.d-BcV_m5fe.d.cts → notes.d-rbcyHfiB.d.cts} +101 -3
  215. package/dist/{notes.d-BcV_m5fe.d.ts → notes.d-rbcyHfiB.d.ts} +101 -3
  216. package/dist/pricing-5Y7TZHMR.js +7 -0
  217. package/dist/pricing-BJUABPHU.cjs +7 -0
  218. package/dist/{pricing.d-BHpMU4KU.d.cts → pricing.d-gPt5L7wp.d.cts} +151 -280
  219. package/dist/{pricing.d-BHpMU4KU.d.ts → pricing.d-gPt5L7wp.d.ts} +151 -280
  220. package/dist/targeting-DAFJBPIZ.cjs +7 -0
  221. package/dist/targeting-TGPCRRI6.js +7 -0
  222. package/dist/{targeting-runtime-M2VSTKFT.js → targeting-runtime-D5YUPZQM.js} +1 -1
  223. package/dist/{targeting-runtime-6JFMP262.cjs → targeting-runtime-MLMOM7CK.cjs} +2 -2
  224. package/dist/{targeting.d-BNmcVsNS.d.cts → targeting.d-DxHQbn7-.d.cts} +197 -3
  225. package/dist/{targeting.d-BNmcVsNS.d.ts → targeting.d-DxHQbn7-.d.ts} +197 -3
  226. package/dist/webhooks-6CUXSTPH.cjs +7 -0
  227. package/dist/webhooks-DTNKNJEN.js +7 -0
  228. package/dist/{webhooks.d-ByePoUWs.d.cts → webhooks.d-DKZOMj1P.d.cts} +37 -0
  229. package/dist/{webhooks.d-ByePoUWs.d.ts → webhooks.d-DKZOMj1P.d.ts} +37 -0
  230. package/docs/automation.md +180 -37
  231. package/docs/blueprint-manifest.md +728 -68
  232. package/docs/customer-portal.md +465 -56
  233. package/docs/data-governance.md +17 -17
  234. package/docs/design.md +80 -3
  235. package/docs/event-catalog.md +126 -13
  236. package/docs/file.md +113 -0
  237. package/docs/integration-toolkit.md +488 -19
  238. package/docs/notes.md +47 -1
  239. package/docs/pricing.md +290 -219
  240. package/docs/targeting.md +158 -4
  241. package/docs/webhooks.md +11 -2
  242. package/package.json +11 -21
  243. package/definitions/focus-pocus-runtime.json +0 -1
  244. package/definitions/focus-pocus.json +0 -757
  245. package/dist/README-37TXN4EL.cjs +0 -7
  246. package/dist/README-Z2WITBOR.js +0 -7
  247. package/dist/apis/focus-pocus.cjs +0 -38
  248. package/dist/apis/focus-pocus.d.cts +0 -18
  249. package/dist/apis/focus-pocus.d.ts +0 -18
  250. package/dist/apis/focus-pocus.js +0 -38
  251. package/dist/automation-BMO7ZFTN.cjs +0 -7
  252. package/dist/automation-MEZTSUR3.js +0 -7
  253. package/dist/blueprint-manifest-DBEY5PPI.js +0 -7
  254. package/dist/blueprint-manifest-IEQ6YBY7.cjs +0 -7
  255. package/dist/chunk-3APTSPY4.js +0 -14
  256. package/dist/chunk-5WNEYQII.cjs +0 -14
  257. package/dist/chunk-A6FYGWQ7.cjs +0 -14
  258. package/dist/chunk-BTTPWE2P.js +0 -14
  259. package/dist/chunk-CBDKPGO5.cjs +0 -14
  260. package/dist/chunk-L544VG3B.cjs +0 -14
  261. package/dist/chunk-O2YVXGPZ.js +0 -14
  262. package/dist/chunk-OCMIXJWC.js +0 -14
  263. package/dist/chunk-OPXGJKZR.cjs +0 -14
  264. package/dist/chunk-P42Q6HOW.js +0 -14
  265. package/dist/customer-portal-DR6XFCTQ.js +0 -7
  266. package/dist/customer-portal-PNFBVIAH.cjs +0 -7
  267. package/dist/data-governance-QYFHBCNB.cjs +0 -7
  268. package/dist/data-governance-YS2NA6W4.js +0 -7
  269. package/dist/design-EWZQZ5KX.js +0 -7
  270. package/dist/design-MUUYXB2J.cjs +0 -7
  271. package/dist/event-catalog-37B6JC7G.js +0 -7
  272. package/dist/event-catalog-5JBHJJ2I.cjs +0 -7
  273. package/dist/file-P2FUUER2.js +0 -7
  274. package/dist/file-XTY74SIX.cjs +0 -7
  275. package/dist/file-runtime-24S3QPA7.cjs +0 -5
  276. package/dist/focus-pocus-JGXH42OF.cjs +0 -7
  277. package/dist/focus-pocus-XVDVUYL6.js +0 -7
  278. package/dist/focus-pocus-runtime-QXBBYVX7.js +0 -5
  279. package/dist/focus-pocus-runtime-X6GQ3WI4.cjs +0 -5
  280. package/dist/focus-pocus.d-BRFGe53G.d.cts +0 -489
  281. package/dist/focus-pocus.d-BRFGe53G.d.ts +0 -489
  282. package/dist/integration-toolkit-3I3IPVFN.cjs +0 -7
  283. package/dist/integration-toolkit-XAFQXNQY.js +0 -7
  284. package/dist/notes-K2IIFCX3.cjs +0 -7
  285. package/dist/notes-Q7JGS7O3.js +0 -7
  286. package/dist/notes-runtime-E3YYF74V.cjs +0 -5
  287. package/dist/pricing-R5ENSVPQ.cjs +0 -7
  288. package/dist/pricing-X27CCRI6.js +0 -7
  289. package/dist/targeting-74BV7F7H.cjs +0 -7
  290. package/dist/targeting-W5EKJYR2.js +0 -7
  291. package/dist/webhooks-NZHJBT64.js +0 -7
  292. package/dist/webhooks-SK2STDKR.cjs +0 -7
  293. package/docs/focus-pocus.md +0 -460
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/file.json
4
- var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`createZipJob`](#createzipjob)\n- [`getZipJob`](#getzipjob)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`CreateZipJobPayload`](#createzipjobpayload)\n- [`ZipJob`](#zipjob)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `createZipJob`\n\nCreate a background job to ZIP multiple files and send a download link via email.\n\n`POST /v1/files:zipJob`\n\n```ts\nconst { data } = await client.createZipJob(\n null,\n {},\n)\n```\n\n---\n\n### `getZipJob`\n\nGet the status of a ZIP job\n\n`GET /v1/files:zipJob/{job_id}`\n\n```ts\nconst { data } = await client.getZipJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "status": "completed",\n "progress": {\n "total_files": 100,\n "downloaded_files": 75,\n "failed_files": 2\n },\n "result": {\n "file_entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/files.zip?X-Amz-...",\n "expires_at": "2024-01-02T12:00:00Z",\n "zip_size_bytes": 104857600\n },\n "error": "Failed to download file: access denied",\n "created_at": "2024-01-01T12:00:00Z",\n "created_by": "10234",\n "org_id": "123",\n "updated_at": "2024-01-01T12:05:00Z"\n}\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\nFetches all public links previously generated for a file\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\nRevokes a given public link by ID\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `CreateZipJobPayload`\n\nRequest payload to create a ZIP job for bulk file download.\nProvide either an explicit list of `file_entity_ids` (up to 1000) or an\n`entity_query` that resolves to file entities (up to 10000).\n\n\n```ts\ntype CreateZipJobPayload = unknown | unknown\n```\n\n### `ZipJob`\n\nZIP job status and result\n\n```ts\ntype ZipJob = {\n job_id?: string // uuid\n status?: "queued" | "downloading" | "zipping" | "uploading" | "sending_notification" | "completed" | "failed"\n progress?: {\n total_files?: number\n downloaded_files?: number\n failed_files?: number\n }\n result?: {\n file_entity_id?: string // uuid\n download_url?: string // uri\n expires_at?: string // date-time\n zip_size_bytes?: number\n }\n error?: string\n created_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_at?: string // date-time\n}\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
5
- export {
6
- file_default as default
7
- };
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/file.json
4
- var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`createZipJob`](#createzipjob)\n- [`getZipJob`](#getzipjob)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`CreateZipJobPayload`](#createzipjobpayload)\n- [`ZipJob`](#zipjob)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `createZipJob`\n\nCreate a background job to ZIP multiple files and send a download link via email.\n\n`POST /v1/files:zipJob`\n\n```ts\nconst { data } = await client.createZipJob(\n null,\n {},\n)\n```\n\n---\n\n### `getZipJob`\n\nGet the status of a ZIP job\n\n`GET /v1/files:zipJob/{job_id}`\n\n```ts\nconst { data } = await client.getZipJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "status": "completed",\n "progress": {\n "total_files": 100,\n "downloaded_files": 75,\n "failed_files": 2\n },\n "result": {\n "file_entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/files.zip?X-Amz-...",\n "expires_at": "2024-01-02T12:00:00Z",\n "zip_size_bytes": 104857600\n },\n "error": "Failed to download file: access denied",\n "created_at": "2024-01-01T12:00:00Z",\n "created_by": "10234",\n "org_id": "123",\n "updated_at": "2024-01-01T12:05:00Z"\n}\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\nFetches all public links previously generated for a file\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\nRevokes a given public link by ID\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `CreateZipJobPayload`\n\nRequest payload to create a ZIP job for bulk file download.\nProvide either an explicit list of `file_entity_ids` (up to 1000) or an\n`entity_query` that resolves to file entities (up to 10000).\n\n\n```ts\ntype CreateZipJobPayload = unknown | unknown\n```\n\n### `ZipJob`\n\nZIP job status and result\n\n```ts\ntype ZipJob = {\n job_id?: string // uuid\n status?: "queued" | "downloading" | "zipping" | "uploading" | "sending_notification" | "completed" | "failed"\n progress?: {\n total_files?: number\n downloaded_files?: number\n failed_files?: number\n }\n result?: {\n file_entity_id?: string // uuid\n download_url?: string // uri\n expires_at?: string // date-time\n zip_size_bytes?: number\n }\n error?: string\n created_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_at?: string // date-time\n}\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
5
-
6
-
7
- exports.default = file_default;
@@ -1,5 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkOPXGJKZRcjs = require('./chunk-OPXGJKZR.cjs');
4
- require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkOPXGJKZRcjs.require_file_runtime.call(void 0, );
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/focus-pocus.json
4
- var focus_pocus_default = '# Focus Pocus API\n\n- **Base URL:** `https://focus-pocus.dev.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/focus-pocus](https://docs.epilot.io/api/focus-pocus)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.focusPocus.getHealth(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/focus-pocus\'\n\nconst focusPocusClient = getClient()\nauthorize(focusPocusClient, () => \'<token>\')\nconst { data } = await focusPocusClient.getHealth(...)\n```\n\n## Operations\n\n**Health**\n- [`getHealth`](#gethealth)\n\n**Achievements**\n- [`listAchievements`](#listachievements)\n- [`getAchievement`](#getachievement)\n\n**Challenges**\n- [`getSuggestedChallenge`](#getsuggestedchallenge)\n- [`acceptChallenge`](#acceptchallenge)\n- [`dismissChallenge`](#dismisschallenge)\n- [`listActiveChallenges`](#listactivechallenges)\n\n**Events**\n- [`postEvent`](#postevent)\n\n**Schemas**\n- [`HealthResponse`](#healthresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`ConflictError`](#conflicterror)\n- [`ChallengeSuggested`](#challengesuggested)\n- [`ChallengeActive`](#challengeactive)\n- [`ActiveChallengeListResponse`](#activechallengelistresponse)\n- [`AchievementFeedItem`](#achievementfeeditem)\n- [`AchievementFeedListResponse`](#achievementfeedlistresponse)\n- [`EventIngestRequest`](#eventingestrequest)\n- [`EventAccepted`](#eventaccepted)\n\n### `getHealth`\n\nLiveness probe for the Focus Pocus API. Requires a valid EpilotAuth token.\n\n`GET /v1/health`\n\n```ts\nconst { data } = await client.getHealth()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ok",\n "stage": "dev",\n "service": "focus-pocus-api"\n}\n```\n\n</details>\n\n---\n\n### `listAchievements`\n\nUnified feed for the authenticated user: returns active challenges and completed\nv1 static achievement unlocks. The `userId` is read from the EpilotAuth claim \u2014\nno user path or query parameter is acce\n\n`GET /v1/achievements`\n\n```ts\nconst { data } = await client.listAchievements()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "icon": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0,\n "unlocked_at": "1970-01-01T00:00:00.000Z",\n "xp_awarded": 0,\n "just_unlocked": true\n }\n ],\n "total": 0\n}\n```\n\n</details>\n\n---\n\n### `getAchievement`\n\nSingle user-scoped achievement or active-challenge item. Returns 404 if the id\ndoes not belong to the authenticated user.\n\n`GET /v1/achievements/{id}`\n\n```ts\nconst { data } = await client.getAchievement({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "icon": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0,\n "unlocked_at": "1970-01-01T00:00:00.000Z",\n "xp_awarded": 0,\n "just_unlocked": true\n}\n```\n\n</details>\n\n---\n\n### `getSuggestedChallenge`\n\nReturns a suggested challenge for the authenticated user. The suggestion is\npersisted with a 7-day TTL. Calling again with the same `(user, category)`\nwithin 24h returns the existing suggestion withou\n\n`GET /v1/challenges/suggest`\n\n```ts\nconst { data } = await client.getSuggestedChallenge({\n route: \'example\',\n entity_type: \'example\',\n category_hint: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "default_duration_hours": 1,\n "status": "suggested",\n "suggested_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `acceptChallenge`\n\nAccept a suggested challenge. Atomically transitions the challenge from\n`suggested` to `active` using a conditional DynamoDB UpdateItem. Returns 409 if\nthe challenge has already been transitioned or t\n\n`POST /v1/challenges/{id}/accept`\n\n```ts\nconst { data } = await client.acceptChallenge({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0\n}\n```\n\n</details>\n\n---\n\n### `dismissChallenge`\n\nDismiss a suggested challenge. Atomically transitions the challenge from\n`suggested` to `dismissed`. The challenge template is filtered from `/suggest`\nresponses for the next 24h. Returns 409 if the c\n\n`POST /v1/challenges/{id}/dismiss`\n\n```ts\nconst { data } = await client.dismissChallenge({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `listActiveChallenges`\n\nReturns all active challenges for the authenticated user. Challenges whose\ndeadline has passed are lazily expired (fire-and-forget UpdateItem) and\nexcluded from the response. The result set is bounded\n\n`GET /v1/challenges/active`\n\n```ts\nconst { data } = await client.listActiveChallenges()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0\n }\n ],\n "total": 0\n}\n```\n\n</details>\n\n---\n\n### `postEvent`\n\nPersist-first event ingest. Accepts an activity event, writes it to the event log\nidempotently (keyed by `event_id`), and returns 202. Achievement evaluation happens\nasynchronously \u2014 no unlocks are re\n\n`POST /v1/events`\n\n```ts\nconst { data } = await client.postEvent(\n null,\n {\n event_id: \'string\',\n event_type: \'string\',\n actor_user_id: \'string\',\n occurred_at: \'1970-01-01T00:00:00.000Z\',\n properties: {}\n },\n)\n```\n\n---\n\n## Schemas\n\n### `HealthResponse`\n\n```ts\ntype HealthResponse = {\n status: "ok"\n stage: string\n service: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n}\n```\n\n### `ConflictError`\n\n```ts\ntype ConflictError = {\n status: 409\n error: string\n reason: "already_transitioned" | "too_many_active" | "deadline_passed"\n}\n```\n\n### `ChallengeSuggested`\n\n```ts\ntype ChallengeSuggested = {\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n default_duration_hours: number\n status: "suggested"\n suggested_at: string // date-time\n}\n```\n\n### `ChallengeActive`\n\n```ts\ntype ChallengeActive = {\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n status: "active"\n accepted_at: string // date-time\n deadline: string // date-time\n time_remaining_ms: number\n}\n```\n\n### `ActiveChallengeListResponse`\n\n```ts\ntype ActiveChallengeListResponse = {\n results: Array<{\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n status: "active"\n accepted_at: string // date-time\n deadline: string // date-time\n time_remaining_ms: number\n }>\n total: number\n}\n```\n\n### `AchievementFeedItem`\n\n```ts\ntype AchievementFeedItem = {\n id: string\n challenge_template_id?: string\n category: string\n title: string\n description: string\n badge_image_url?: string\n icon?: string\n status: "active" | "completed" | "expired"\n accepted_at?: string // date-time\n deadline?: string // date-time\n time_remaining_ms?: number\n unlocked_at?: string // date-time\n xp_awarded?: number\n just_unlocked: boolean\n}\n```\n\n### `AchievementFeedListResponse`\n\n```ts\ntype AchievementFeedListResponse = {\n results: Array<{\n id: string\n challenge_template_id?: string\n category: string\n title: string\n description: string\n badge_image_url?: string\n icon?: string\n status: "active" | "completed" | "expired"\n accepted_at?: string // date-time\n deadline?: string // date-time\n time_remaining_ms?: number\n unlocked_at?: string // date-time\n xp_awarded?: number\n just_unlocked: boolean\n }>\n total: number\n}\n```\n\n### `EventIngestRequest`\n\n```ts\ntype EventIngestRequest = {\n event_id: string\n event_type: string\n actor_user_id: string\n occurred_at: string // date-time\n properties?: Record<string, unknown>\n}\n```\n\n### `EventAccepted`\n\n```ts\ntype EventAccepted = {\n accepted: true\n}\n```\n';
5
-
6
-
7
- exports.default = focus_pocus_default;
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/focus-pocus.json
4
- var focus_pocus_default = '# Focus Pocus API\n\n- **Base URL:** `https://focus-pocus.dev.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/focus-pocus](https://docs.epilot.io/api/focus-pocus)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.focusPocus.getHealth(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/focus-pocus\'\n\nconst focusPocusClient = getClient()\nauthorize(focusPocusClient, () => \'<token>\')\nconst { data } = await focusPocusClient.getHealth(...)\n```\n\n## Operations\n\n**Health**\n- [`getHealth`](#gethealth)\n\n**Achievements**\n- [`listAchievements`](#listachievements)\n- [`getAchievement`](#getachievement)\n\n**Challenges**\n- [`getSuggestedChallenge`](#getsuggestedchallenge)\n- [`acceptChallenge`](#acceptchallenge)\n- [`dismissChallenge`](#dismisschallenge)\n- [`listActiveChallenges`](#listactivechallenges)\n\n**Events**\n- [`postEvent`](#postevent)\n\n**Schemas**\n- [`HealthResponse`](#healthresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`ConflictError`](#conflicterror)\n- [`ChallengeSuggested`](#challengesuggested)\n- [`ChallengeActive`](#challengeactive)\n- [`ActiveChallengeListResponse`](#activechallengelistresponse)\n- [`AchievementFeedItem`](#achievementfeeditem)\n- [`AchievementFeedListResponse`](#achievementfeedlistresponse)\n- [`EventIngestRequest`](#eventingestrequest)\n- [`EventAccepted`](#eventaccepted)\n\n### `getHealth`\n\nLiveness probe for the Focus Pocus API. Requires a valid EpilotAuth token.\n\n`GET /v1/health`\n\n```ts\nconst { data } = await client.getHealth()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ok",\n "stage": "dev",\n "service": "focus-pocus-api"\n}\n```\n\n</details>\n\n---\n\n### `listAchievements`\n\nUnified feed for the authenticated user: returns active challenges and completed\nv1 static achievement unlocks. The `userId` is read from the EpilotAuth claim \u2014\nno user path or query parameter is acce\n\n`GET /v1/achievements`\n\n```ts\nconst { data } = await client.listAchievements()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "icon": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0,\n "unlocked_at": "1970-01-01T00:00:00.000Z",\n "xp_awarded": 0,\n "just_unlocked": true\n }\n ],\n "total": 0\n}\n```\n\n</details>\n\n---\n\n### `getAchievement`\n\nSingle user-scoped achievement or active-challenge item. Returns 404 if the id\ndoes not belong to the authenticated user.\n\n`GET /v1/achievements/{id}`\n\n```ts\nconst { data } = await client.getAchievement({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "icon": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0,\n "unlocked_at": "1970-01-01T00:00:00.000Z",\n "xp_awarded": 0,\n "just_unlocked": true\n}\n```\n\n</details>\n\n---\n\n### `getSuggestedChallenge`\n\nReturns a suggested challenge for the authenticated user. The suggestion is\npersisted with a 7-day TTL. Calling again with the same `(user, category)`\nwithin 24h returns the existing suggestion withou\n\n`GET /v1/challenges/suggest`\n\n```ts\nconst { data } = await client.getSuggestedChallenge({\n route: \'example\',\n entity_type: \'example\',\n category_hint: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "default_duration_hours": 1,\n "status": "suggested",\n "suggested_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `acceptChallenge`\n\nAccept a suggested challenge. Atomically transitions the challenge from\n`suggested` to `active` using a conditional DynamoDB UpdateItem. Returns 409 if\nthe challenge has already been transitioned or t\n\n`POST /v1/challenges/{id}/accept`\n\n```ts\nconst { data } = await client.acceptChallenge({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0\n}\n```\n\n</details>\n\n---\n\n### `dismissChallenge`\n\nDismiss a suggested challenge. Atomically transitions the challenge from\n`suggested` to `dismissed`. The challenge template is filtered from `/suggest`\nresponses for the next 24h. Returns 409 if the c\n\n`POST /v1/challenges/{id}/dismiss`\n\n```ts\nconst { data } = await client.dismissChallenge({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `listActiveChallenges`\n\nReturns all active challenges for the authenticated user. Challenges whose\ndeadline has passed are lazily expired (fire-and-forget UpdateItem) and\nexcluded from the response. The result set is bounded\n\n`GET /v1/challenges/active`\n\n```ts\nconst { data } = await client.listActiveChallenges()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "challenge_template_id": "string",\n "category": "string",\n "title": "string",\n "description": "string",\n "badge_image_url": "string",\n "status": "active",\n "accepted_at": "1970-01-01T00:00:00.000Z",\n "deadline": "1970-01-01T00:00:00.000Z",\n "time_remaining_ms": 0\n }\n ],\n "total": 0\n}\n```\n\n</details>\n\n---\n\n### `postEvent`\n\nPersist-first event ingest. Accepts an activity event, writes it to the event log\nidempotently (keyed by `event_id`), and returns 202. Achievement evaluation happens\nasynchronously \u2014 no unlocks are re\n\n`POST /v1/events`\n\n```ts\nconst { data } = await client.postEvent(\n null,\n {\n event_id: \'string\',\n event_type: \'string\',\n actor_user_id: \'string\',\n occurred_at: \'1970-01-01T00:00:00.000Z\',\n properties: {}\n },\n)\n```\n\n---\n\n## Schemas\n\n### `HealthResponse`\n\n```ts\ntype HealthResponse = {\n status: "ok"\n stage: string\n service: string\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n}\n```\n\n### `ConflictError`\n\n```ts\ntype ConflictError = {\n status: 409\n error: string\n reason: "already_transitioned" | "too_many_active" | "deadline_passed"\n}\n```\n\n### `ChallengeSuggested`\n\n```ts\ntype ChallengeSuggested = {\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n default_duration_hours: number\n status: "suggested"\n suggested_at: string // date-time\n}\n```\n\n### `ChallengeActive`\n\n```ts\ntype ChallengeActive = {\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n status: "active"\n accepted_at: string // date-time\n deadline: string // date-time\n time_remaining_ms: number\n}\n```\n\n### `ActiveChallengeListResponse`\n\n```ts\ntype ActiveChallengeListResponse = {\n results: Array<{\n id: string\n challenge_template_id: string\n category: string\n title: string\n description: string\n badge_image_url: string\n status: "active"\n accepted_at: string // date-time\n deadline: string // date-time\n time_remaining_ms: number\n }>\n total: number\n}\n```\n\n### `AchievementFeedItem`\n\n```ts\ntype AchievementFeedItem = {\n id: string\n challenge_template_id?: string\n category: string\n title: string\n description: string\n badge_image_url?: string\n icon?: string\n status: "active" | "completed" | "expired"\n accepted_at?: string // date-time\n deadline?: string // date-time\n time_remaining_ms?: number\n unlocked_at?: string // date-time\n xp_awarded?: number\n just_unlocked: boolean\n}\n```\n\n### `AchievementFeedListResponse`\n\n```ts\ntype AchievementFeedListResponse = {\n results: Array<{\n id: string\n challenge_template_id?: string\n category: string\n title: string\n description: string\n badge_image_url?: string\n icon?: string\n status: "active" | "completed" | "expired"\n accepted_at?: string // date-time\n deadline?: string // date-time\n time_remaining_ms?: number\n unlocked_at?: string // date-time\n xp_awarded?: number\n just_unlocked: boolean\n }>\n total: number\n}\n```\n\n### `EventIngestRequest`\n\n```ts\ntype EventIngestRequest = {\n event_id: string\n event_type: string\n actor_user_id: string\n occurred_at: string // date-time\n properties?: Record<string, unknown>\n}\n```\n\n### `EventAccepted`\n\n```ts\ntype EventAccepted = {\n accepted: true\n}\n```\n';
5
- export {
6
- focus_pocus_default as default
7
- };
@@ -1,5 +0,0 @@
1
- import {
2
- require_focus_pocus_runtime
3
- } from "./chunk-P42Q6HOW.js";
4
- import "./chunk-YPSWSI3M.js";
5
- export default require_focus_pocus_runtime();
@@ -1,5 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkA6FYGWQ7cjs = require('./chunk-A6FYGWQ7.cjs');
4
- require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkA6FYGWQ7cjs.require_focus_pocus_runtime.call(void 0, );