@upstart.gg/sdk 0.0.134 → 0.0.136

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 (589) hide show
  1. package/dist/shared/ai/schemas.d.ts +11 -3
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +63 -1
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +138 -64
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ajv.js +6861 -1
  8. package/dist/shared/ajv.js.map +1 -1
  9. package/dist/shared/analytics/init.js +20 -1
  10. package/dist/shared/analytics/init.js.map +1 -1
  11. package/dist/shared/analytics/track.js +24 -1
  12. package/dist/shared/analytics/track.js.map +1 -1
  13. package/dist/shared/attributes.d.ts +99 -30
  14. package/dist/shared/attributes.d.ts.map +1 -1
  15. package/dist/shared/attributes.js +46 -1
  16. package/dist/shared/brick-manifest.d.ts +1 -1
  17. package/dist/shared/brick-manifest.js +26 -1
  18. package/dist/shared/bricks/manifests/_types.d.ts +9 -0
  19. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -0
  20. package/dist/shared/bricks/{props/enum.js → manifests/_types.js} +1 -2
  21. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +4 -8
  22. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  23. package/dist/shared/bricks/manifests/accordion.manifest.js +29 -1
  24. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  25. package/dist/shared/bricks/manifests/all-manifests.js +59 -1
  26. package/dist/shared/bricks/manifests/box.manifest.d.ts +4 -8
  27. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  28. package/dist/shared/bricks/manifests/box.manifest.js +28 -1
  29. package/dist/shared/bricks/manifests/button.manifest.d.ts +4 -8
  30. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  31. package/dist/shared/bricks/manifests/button.manifest.js +28 -1
  32. package/dist/shared/bricks/manifests/card.manifest.d.ts +10 -9
  33. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  34. package/dist/shared/bricks/manifests/card.manifest.js +28 -1
  35. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +4 -8
  36. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  37. package/dist/shared/bricks/manifests/carousel.manifest.js +28 -1
  38. package/dist/shared/bricks/manifests/footer.manifest.d.ts +6 -10
  39. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/footer.manifest.js +30 -1
  41. package/dist/shared/bricks/manifests/form.manifest.d.ts +5 -9
  42. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  43. package/dist/shared/bricks/manifests/form.manifest.js +29 -1
  44. package/dist/shared/bricks/manifests/hero.manifest.d.ts +4 -8
  45. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  46. package/dist/shared/bricks/manifests/hero.manifest.js +28 -1
  47. package/dist/shared/bricks/manifests/html.manifest.d.ts +4 -8
  48. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  49. package/dist/shared/bricks/manifests/html.manifest.js +28 -1
  50. package/dist/shared/bricks/manifests/icon.manifest.d.ts +4 -8
  51. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/icon.manifest.js +28 -1
  53. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  54. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  55. package/dist/shared/bricks/manifests/image.manifest.js +28 -1
  56. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -8
  57. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  58. package/dist/shared/bricks/manifests/images-gallery.manifest.js +28 -1
  59. package/dist/shared/bricks/manifests/map.manifest.d.ts +4 -8
  60. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  61. package/dist/shared/bricks/manifests/map.manifest.js +31 -1
  62. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +6 -10
  63. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/navbar.manifest.js +31 -1
  65. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +4 -8
  66. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  67. package/dist/shared/bricks/manifests/sidebar.manifest.js +29 -1
  68. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +4 -8
  69. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  70. package/dist/shared/bricks/manifests/social-links.manifest.js +28 -1
  71. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +4 -8
  72. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  73. package/dist/shared/bricks/manifests/spacer.manifest.js +28 -1
  74. package/dist/shared/bricks/manifests/table.manifest.d.ts +87 -0
  75. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -0
  76. package/dist/shared/bricks/manifests/table.manifest.js +31 -0
  77. package/dist/shared/bricks/manifests/table.manifest.js.map +1 -0
  78. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +86 -0
  79. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -0
  80. package/dist/shared/bricks/manifests/tabs.manifest.js +31 -0
  81. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -0
  82. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +4 -8
  83. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/testimonials.manifest.js +28 -1
  85. package/dist/shared/bricks/manifests/text.manifest.d.ts +4 -8
  86. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/text.manifest.js +28 -1
  88. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +97 -0
  89. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -0
  90. package/dist/shared/bricks/manifests/timeline.manifest.js +31 -0
  91. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -0
  92. package/dist/shared/bricks/manifests/video.manifest.d.ts +4 -8
  93. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  94. package/dist/shared/bricks/manifests/video.manifest.js +28 -1
  95. package/dist/shared/bricks/props/align.d.ts +2 -2
  96. package/dist/shared/bricks/props/align.js +19 -1
  97. package/dist/shared/bricks/props/background.d.ts +4 -4
  98. package/dist/shared/bricks/props/background.js +15 -1
  99. package/dist/shared/bricks/props/boolean.js +7 -1
  100. package/dist/shared/bricks/props/border.js +16 -1
  101. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color-preset.js +13 -1
  103. package/dist/shared/bricks/props/color.js +14 -1
  104. package/dist/shared/bricks/props/common.d.ts +2 -2
  105. package/dist/shared/bricks/props/common.js +13 -1
  106. package/dist/shared/bricks/props/css-length.js +14 -1
  107. package/dist/shared/bricks/props/datarecord.js +7 -1
  108. package/dist/shared/bricks/props/datasource.d.ts +1 -1
  109. package/dist/shared/bricks/props/datasource.js +86 -1
  110. package/dist/shared/bricks/props/datasource.js.map +1 -1
  111. package/dist/shared/bricks/props/date.js +9 -1
  112. package/dist/shared/bricks/props/direction.js +11 -1
  113. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  114. package/dist/shared/bricks/props/dynamic.js +30 -1
  115. package/dist/shared/bricks/props/effects.js +17 -1
  116. package/dist/shared/bricks/props/file.js +15 -1
  117. package/dist/shared/bricks/props/file.js.map +1 -1
  118. package/dist/shared/bricks/props/geolocation.js +44 -1
  119. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  120. package/dist/shared/bricks/props/helpers.d.ts +1 -1
  121. package/dist/shared/bricks/props/helpers.js +18 -1
  122. package/dist/shared/bricks/props/image.js +11 -1
  123. package/dist/shared/bricks/props/number.js +7 -1
  124. package/dist/shared/bricks/props/position.js +7 -1
  125. package/dist/shared/bricks/props/string.js +18 -1
  126. package/dist/shared/bricks/props/tags.js +10 -1
  127. package/dist/shared/bricks/props/text.js +19 -1
  128. package/dist/shared/bricks.d.ts +59 -45
  129. package/dist/shared/bricks.d.ts.map +1 -1
  130. package/dist/shared/bricks.js +81 -1
  131. package/dist/shared/chunk-2BPYOTKA.js +21 -0
  132. package/dist/shared/{chunk-WHTPGWUV.js.map → chunk-2BPYOTKA.js.map} +1 -1
  133. package/dist/shared/chunk-2IHKVMKW.js +105 -0
  134. package/dist/shared/chunk-2IHKVMKW.js.map +1 -0
  135. package/dist/shared/chunk-2RK3CPYJ.js +74 -0
  136. package/dist/shared/{chunk-W33JMRRN.js.map → chunk-2RK3CPYJ.js.map} +1 -1
  137. package/dist/shared/chunk-2VDR4ZYY.js +230 -0
  138. package/dist/shared/chunk-2VDR4ZYY.js.map +1 -0
  139. package/dist/shared/chunk-36PLZKMW.js +538 -0
  140. package/dist/shared/chunk-36PLZKMW.js.map +1 -0
  141. package/dist/shared/chunk-3ZDN5BWN.js +18 -0
  142. package/dist/shared/{chunk-OIY3EPHO.js.map → chunk-3ZDN5BWN.js.map} +1 -1
  143. package/dist/shared/chunk-42OUNI7C.js +366 -0
  144. package/dist/shared/chunk-42OUNI7C.js.map +1 -0
  145. package/dist/shared/chunk-4MNWMEMM.js +422 -0
  146. package/dist/shared/chunk-4MNWMEMM.js.map +1 -0
  147. package/dist/shared/chunk-55C6MTX2.js +21 -0
  148. package/dist/shared/{chunk-KBHDY425.js.map → chunk-55C6MTX2.js.map} +1 -1
  149. package/dist/shared/chunk-6TVVKUWM.js +15 -0
  150. package/dist/shared/{chunk-4WDWJA3N.js.map → chunk-6TVVKUWM.js.map} +1 -1
  151. package/dist/shared/chunk-6WIMWLCJ.js +17 -0
  152. package/dist/shared/{chunk-KYY3PHP7.js.map → chunk-6WIMWLCJ.js.map} +1 -1
  153. package/dist/shared/chunk-7LAWWRU7.js +21 -0
  154. package/dist/shared/{chunk-IUXCWWGO.js.map → chunk-7LAWWRU7.js.map} +1 -1
  155. package/dist/shared/chunk-A2QPY54H.js +13 -0
  156. package/dist/shared/{chunk-KFM6KXSE.js.map → chunk-A2QPY54H.js.map} +1 -1
  157. package/dist/shared/chunk-BHC2A43S.js +67 -0
  158. package/dist/shared/{chunk-3YVJ2ELD.js.map → chunk-BHC2A43S.js.map} +1 -1
  159. package/dist/shared/chunk-BPBKHEQ5.js +39 -0
  160. package/dist/shared/{chunk-OHNYCXPX.js.map → chunk-BPBKHEQ5.js.map} +1 -1
  161. package/dist/shared/chunk-CRS7QCPZ.js +308 -0
  162. package/dist/shared/chunk-CRS7QCPZ.js.map +1 -0
  163. package/dist/shared/chunk-CSF2WQX2.js +60 -0
  164. package/dist/shared/{chunk-GLS7HPIZ.js.map → chunk-CSF2WQX2.js.map} +1 -1
  165. package/dist/shared/chunk-DFAFDBYZ.js +462 -0
  166. package/dist/shared/chunk-DFAFDBYZ.js.map +1 -0
  167. package/dist/shared/chunk-DV3G7X34.js +244 -0
  168. package/dist/shared/chunk-DV3G7X34.js.map +1 -0
  169. package/dist/shared/chunk-EVLRH6VG.js +56 -0
  170. package/dist/shared/{chunk-RJYZ5FAR.js.map → chunk-EVLRH6VG.js.map} +1 -1
  171. package/dist/shared/chunk-F22LDHEO.js +105 -0
  172. package/dist/shared/{chunk-5YRC3IT3.js.map → chunk-F22LDHEO.js.map} +1 -1
  173. package/dist/shared/chunk-F247VKAE.js +131 -0
  174. package/dist/shared/chunk-F247VKAE.js.map +1 -0
  175. package/dist/shared/chunk-FOGAVJC2.js +59 -0
  176. package/dist/shared/chunk-FOGAVJC2.js.map +1 -0
  177. package/dist/shared/chunk-FQDR2BBZ.js +30 -0
  178. package/dist/shared/chunk-FQDR2BBZ.js.map +1 -0
  179. package/dist/shared/chunk-GFAQWQER.js +618 -0
  180. package/dist/shared/chunk-GFAQWQER.js.map +1 -0
  181. package/dist/shared/chunk-GIGFNQBO.js +129 -0
  182. package/dist/shared/chunk-GIGFNQBO.js.map +1 -0
  183. package/dist/shared/chunk-GQTZPN5D.js +519 -0
  184. package/dist/shared/chunk-GQTZPN5D.js.map +1 -0
  185. package/dist/shared/chunk-H5JM2M2T.js +515 -0
  186. package/dist/shared/chunk-H5JM2M2T.js.map +1 -0
  187. package/dist/shared/chunk-HPCCD6V5.js +17 -0
  188. package/dist/shared/{chunk-6I3ONVU6.js.map → chunk-HPCCD6V5.js.map} +1 -1
  189. package/dist/shared/chunk-HTUSL2U7.js +260 -0
  190. package/dist/shared/chunk-HTUSL2U7.js.map +1 -0
  191. package/dist/shared/chunk-IQIISR22.js +794 -0
  192. package/dist/shared/chunk-IQIISR22.js.map +1 -0
  193. package/dist/shared/chunk-JK2FWFJU.js +15 -0
  194. package/dist/shared/{chunk-JMN3HTZU.js.map → chunk-JK2FWFJU.js.map} +1 -1
  195. package/dist/shared/chunk-KEM5N6GJ.js +505 -0
  196. package/dist/shared/chunk-KEM5N6GJ.js.map +1 -0
  197. package/dist/shared/chunk-KIDICX3Y.js +278 -0
  198. package/dist/shared/chunk-KIDICX3Y.js.map +1 -0
  199. package/dist/shared/chunk-KILJYJFE.js +354 -0
  200. package/dist/shared/chunk-KILJYJFE.js.map +1 -0
  201. package/dist/shared/chunk-KNREHAPN.js +13 -0
  202. package/dist/shared/{chunk-KSEURRVZ.js.map → chunk-KNREHAPN.js.map} +1 -1
  203. package/dist/shared/chunk-KT7SSWMM.js +24 -0
  204. package/dist/shared/{chunk-KO5FPOWZ.js.map → chunk-KT7SSWMM.js.map} +1 -1
  205. package/dist/shared/chunk-L6C7HUSA.js +850 -0
  206. package/dist/shared/chunk-L6C7HUSA.js.map +1 -0
  207. package/dist/shared/chunk-LCJ2VFPM.js +837 -0
  208. package/dist/shared/chunk-LCJ2VFPM.js.map +1 -0
  209. package/dist/shared/chunk-LLNPH3XR.js +148 -0
  210. package/dist/shared/chunk-LLNPH3XR.js.map +1 -0
  211. package/dist/shared/chunk-LTIJI7Y3.js +368 -0
  212. package/dist/shared/chunk-LTIJI7Y3.js.map +1 -0
  213. package/dist/shared/chunk-MFNHFN2B.js +103 -0
  214. package/dist/shared/{chunk-ZA3GAB4H.js.map → chunk-MFNHFN2B.js.map} +1 -1
  215. package/dist/shared/chunk-N3BEBLWF.js +213 -0
  216. package/dist/shared/chunk-N3BEBLWF.js.map +1 -0
  217. package/dist/shared/chunk-N3ZTQD5I.js +70 -0
  218. package/dist/shared/chunk-N3ZTQD5I.js.map +1 -0
  219. package/dist/shared/chunk-NTLAKMMQ.js +94 -0
  220. package/dist/shared/{chunk-ZTZJHY4E.js.map → chunk-NTLAKMMQ.js.map} +1 -1
  221. package/dist/shared/chunk-O5PQISX4.js +51 -0
  222. package/dist/shared/{chunk-VEDQV5XO.js.map → chunk-O5PQISX4.js.map} +1 -1
  223. package/dist/shared/chunk-OJP4HMJT.js +22 -0
  224. package/dist/shared/{chunk-6HLU4UI2.js.map → chunk-OJP4HMJT.js.map} +1 -1
  225. package/dist/shared/chunk-OSJ6KGPX.js +16 -0
  226. package/dist/shared/{chunk-GPEMPZXK.js.map → chunk-OSJ6KGPX.js.map} +1 -1
  227. package/dist/shared/chunk-OXYXZHP2.js +48 -0
  228. package/dist/shared/{chunk-5O4Z3YQY.js.map → chunk-OXYXZHP2.js.map} +1 -1
  229. package/dist/shared/chunk-Q4NPPLEU.js +34 -0
  230. package/dist/shared/{chunk-QWGUMKZC.js.map → chunk-Q4NPPLEU.js.map} +1 -1
  231. package/dist/shared/chunk-QLQVDZIL.js +11 -0
  232. package/dist/shared/{chunk-KLD3P5XH.js.map → chunk-QLQVDZIL.js.map} +1 -1
  233. package/dist/shared/chunk-RV7AYVFV.js +75 -0
  234. package/dist/shared/{chunk-DHI3IBOD.js.map → chunk-RV7AYVFV.js.map} +1 -1
  235. package/dist/shared/chunk-SE6O65HC.js +44 -0
  236. package/dist/shared/{chunk-NM5MMPCF.js.map → chunk-SE6O65HC.js.map} +1 -1
  237. package/dist/shared/chunk-TFGGYU6Y.js +394 -0
  238. package/dist/shared/{chunk-CZRCW5EN.js.map → chunk-TFGGYU6Y.js.map} +1 -1
  239. package/dist/shared/chunk-TKMWY2VN.js +18 -0
  240. package/dist/shared/{chunk-RDZK73KV.js.map → chunk-TKMWY2VN.js.map} +1 -1
  241. package/dist/shared/chunk-TNMNMYOB.js +69 -0
  242. package/dist/shared/{chunk-4BTB3MU2.js.map → chunk-TNMNMYOB.js.map} +1 -1
  243. package/dist/shared/chunk-TNTFKLCR.js +1225 -0
  244. package/dist/shared/chunk-TNTFKLCR.js.map +1 -0
  245. package/dist/shared/chunk-U5ZECCJM.js +464 -0
  246. package/dist/shared/chunk-U5ZECCJM.js.map +1 -0
  247. package/dist/shared/chunk-UXTASZ23.js +419 -0
  248. package/dist/shared/chunk-UXTASZ23.js.map +1 -0
  249. package/dist/shared/chunk-W6MRYRGJ.js +100 -0
  250. package/dist/shared/{chunk-CCI4C3TM.js.map → chunk-W6MRYRGJ.js.map} +1 -1
  251. package/dist/shared/chunk-WKN566LN.js +29 -0
  252. package/dist/shared/{chunk-Q4H4QEMB.js.map → chunk-WKN566LN.js.map} +1 -1
  253. package/dist/shared/chunk-XCWMZVF5.js +89 -0
  254. package/dist/shared/{chunk-ZFCUSWMT.js.map → chunk-XCWMZVF5.js.map} +1 -1
  255. package/dist/shared/chunk-XCZVD5H6.js +13 -0
  256. package/dist/shared/{chunk-HAGKVQOW.js.map → chunk-XCZVD5H6.js.map} +1 -1
  257. package/dist/shared/chunk-XZ6WJZHN.js +10 -0
  258. package/dist/shared/{chunk-DCH4ZKWT.js.map → chunk-XZ6WJZHN.js.map} +1 -1
  259. package/dist/shared/chunk-Y74LZNND.js +30 -0
  260. package/dist/shared/{chunk-GACHLACT.js.map → chunk-Y74LZNND.js.map} +1 -1
  261. package/dist/shared/chunk-YWOTQWIQ.js +572 -0
  262. package/dist/shared/chunk-YWOTQWIQ.js.map +1 -0
  263. package/dist/shared/chunk-ZEFOWKYP.js +44 -0
  264. package/dist/shared/{chunk-DQ7PRWTG.js.map → chunk-ZEFOWKYP.js.map} +1 -1
  265. package/dist/shared/chunk-ZGQ3AQBG.js +33 -0
  266. package/dist/shared/chunk-ZGQ3AQBG.js.map +1 -0
  267. package/dist/shared/chunk-ZLYIRH2B.js +68 -0
  268. package/dist/shared/{chunk-SWLUQVK7.js.map → chunk-ZLYIRH2B.js.map} +1 -1
  269. package/dist/shared/chunk-ZR6R6Z6O.js +496 -0
  270. package/dist/shared/chunk-ZR6R6Z6O.js.map +1 -0
  271. package/dist/shared/chunk-ZRRAK5NS.js +432 -0
  272. package/dist/shared/chunk-ZRRAK5NS.js.map +1 -0
  273. package/dist/shared/context.d.ts +1 -0
  274. package/dist/shared/context.d.ts.map +1 -1
  275. package/dist/shared/datarecords/external/airtable/handler.js +377 -1
  276. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  277. package/dist/shared/datarecords/external/airtable/oauth/config.js +15 -1
  278. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  279. package/dist/shared/datarecords/external/airtable/types.js +11 -1
  280. package/dist/shared/datarecords/external/generic-webhook/handler.js +14 -1
  281. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  282. package/dist/shared/datarecords/external/generic-webhook/options.js +16 -1
  283. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  284. package/dist/shared/datarecords/external/google/oauth/config.js +35 -1
  285. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  286. package/dist/shared/datarecords/external/google/sheets/client.js +7 -1
  287. package/dist/shared/datarecords/external/google/sheets/handler.js +184 -5
  288. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  289. package/dist/shared/datarecords/external/google/sheets/types.js +7 -1
  290. package/dist/shared/datarecords/external/notion/handler.js +397 -1
  291. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  292. package/dist/shared/datarecords/external/notion/oauth/config.js +11 -1
  293. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  294. package/dist/shared/datarecords/external/notion/types.js +7 -1
  295. package/dist/shared/datarecords/types.d.ts +6 -59
  296. package/dist/shared/datarecords/types.d.ts.map +1 -1
  297. package/dist/shared/datarecords/types.js +14 -1
  298. package/dist/shared/datarecords.js +9 -1
  299. package/dist/shared/datarecords.js.map +1 -1
  300. package/dist/shared/datasources/external/facebook/posts/fetcher.js +49 -1
  301. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  302. package/dist/shared/datasources/external/facebook/posts/schema.js +36 -1
  303. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  304. package/dist/shared/datasources/external/http-json/fetcher.js +29 -1
  305. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  306. package/dist/shared/datasources/external/http-json/options.js +11 -1
  307. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  308. package/dist/shared/datasources/external/http-json/schema.js +10 -1
  309. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  310. package/dist/shared/datasources/external/instagram/feed/fetcher.js +29 -1
  311. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  312. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -1
  313. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  314. package/dist/shared/datasources/external/mastodon/account/fetcher.js +7 -1
  315. package/dist/shared/datasources/external/mastodon/account/schema.js +7 -1
  316. package/dist/shared/datasources/external/mastodon/options.js +10 -1
  317. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  318. package/dist/shared/datasources/external/mastodon/status/fetcher.js +31 -1
  319. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  320. package/dist/shared/datasources/external/mastodon/status/sample.array.js +61 -1
  321. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  322. package/dist/shared/datasources/external/mastodon/status/sample.single.js +59 -1
  323. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  324. package/dist/shared/datasources/external/mastodon/status/schema.js +125 -1
  325. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  326. package/dist/shared/datasources/external/meta/oauth/config.js +17 -1
  327. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  328. package/dist/shared/datasources/external/meta/options.js +10 -1
  329. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  330. package/dist/shared/datasources/external/rss/fetcher.js +26 -1
  331. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  332. package/dist/shared/datasources/external/rss/options.js +10 -1
  333. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  334. package/dist/shared/datasources/external/rss/schema.js +7 -1
  335. package/dist/shared/datasources/external/threads/media/fetcher.js +47 -1
  336. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  337. package/dist/shared/datasources/external/threads/media/schema.js +40 -1
  338. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  339. package/dist/shared/datasources/external/tiktok/oauth/config.js +18 -1
  340. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  341. package/dist/shared/datasources/external/tiktok/video/fetcher.js +34 -1
  342. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  343. package/dist/shared/datasources/external/tiktok/video/options.js +11 -1
  344. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  345. package/dist/shared/datasources/external/tiktok/video/schema.js +30 -1
  346. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  347. package/dist/shared/datasources/external/youtube/list/fetcher.js +32 -1
  348. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  349. package/dist/shared/datasources/external/youtube/list/options.js +14 -1
  350. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  351. package/dist/shared/datasources/external/youtube/list/schema.js +7 -1
  352. package/dist/shared/datasources/external/youtube/oauth/config.js +18 -1
  353. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  354. package/dist/shared/datasources/internal/blog/schema.js +72 -1
  355. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  356. package/dist/shared/datasources/internal/changelog/schema.js +51 -1
  357. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  358. package/dist/shared/datasources/internal/contact-info/schema.js +25 -1
  359. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  360. package/dist/shared/datasources/internal/cv/schema.js +222 -1
  361. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  362. package/dist/shared/datasources/internal/faq/schema.js +30 -1
  363. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  364. package/dist/shared/datasources/internal/job-board/schema.js +224 -1
  365. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  366. package/dist/shared/datasources/internal/links/schema.js +7 -1
  367. package/dist/shared/datasources/internal/recipes/schema.js +45 -1
  368. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  369. package/dist/shared/datasources/internal/restaurant/schema.js +226 -1
  370. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  371. package/dist/shared/datasources/samples.js +69 -1
  372. package/dist/shared/datasources/samples.js.map +1 -1
  373. package/dist/shared/datasources/schemas.js +34 -1
  374. package/dist/shared/datasources/schemas.js.map +1 -1
  375. package/dist/shared/datasources/types.d.ts +1 -1
  376. package/dist/shared/datasources/types.d.ts.map +1 -1
  377. package/dist/shared/datasources/types.js +32 -1
  378. package/dist/shared/datasources/utils.js +11 -1
  379. package/dist/shared/datasources.d.ts +1 -1
  380. package/dist/shared/datasources.d.ts.map +1 -1
  381. package/dist/shared/datasources.js +49 -1
  382. package/dist/shared/datasources.js.map +1 -1
  383. package/dist/shared/errors.js +7 -1
  384. package/dist/shared/images.d.ts +4 -4
  385. package/dist/shared/images.d.ts.map +1 -1
  386. package/dist/shared/images.js +44 -1
  387. package/dist/shared/images.js.map +1 -1
  388. package/dist/shared/index.js +9 -1
  389. package/dist/shared/index.js.map +1 -1
  390. package/dist/shared/layout-constants.js +14 -1
  391. package/dist/shared/layout-constants.js.map +1 -1
  392. package/dist/shared/manifest.js +52 -1
  393. package/dist/shared/manifest.js.map +1 -1
  394. package/dist/shared/oauth.js +8 -1
  395. package/dist/shared/page.d.ts +12 -126
  396. package/dist/shared/page.d.ts.map +1 -1
  397. package/dist/shared/page.js +58 -1
  398. package/dist/shared/prompt.js +7 -1
  399. package/dist/shared/responsive.js +10 -1
  400. package/dist/shared/responsive.js.map +1 -1
  401. package/dist/shared/site.d.ts +34 -31
  402. package/dist/shared/site.d.ts.map +1 -1
  403. package/dist/shared/site.js +127 -1
  404. package/dist/shared/site.js.map +1 -1
  405. package/dist/shared/sitemap.d.ts +13 -12
  406. package/dist/shared/sitemap.d.ts.map +1 -1
  407. package/dist/shared/sitemap.js +69 -1
  408. package/dist/shared/social-icons.js +312 -1
  409. package/dist/shared/social-icons.js.map +1 -1
  410. package/dist/shared/tests/schema-registry.test.d.ts +2 -0
  411. package/dist/shared/tests/schema-registry.test.d.ts.map +1 -0
  412. package/dist/shared/theme.d.ts +1 -1
  413. package/dist/shared/theme.d.ts.map +1 -1
  414. package/dist/shared/theme.js +35 -1
  415. package/dist/shared/themes/color-system.js +103 -1
  416. package/dist/shared/themes/color-system.js.map +1 -1
  417. package/dist/shared/utils/canvas-data-uri.js +7 -1
  418. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  419. package/dist/shared/utils/invariant.js +7 -1
  420. package/dist/shared/utils/json-date.js +7 -1
  421. package/dist/shared/utils/llm.d.ts +2 -3
  422. package/dist/shared/utils/llm.d.ts.map +1 -1
  423. package/dist/shared/utils/llm.js +24 -1
  424. package/dist/shared/utils/merge.js +7 -1
  425. package/dist/shared/utils/object-hash.js +13 -1
  426. package/dist/shared/utils/object-hash.js.map +1 -1
  427. package/dist/shared/utils/schema-registry.d.ts +5 -0
  428. package/dist/shared/utils/schema-registry.d.ts.map +1 -0
  429. package/dist/shared/utils/schema-registry.js +29 -0
  430. package/dist/shared/utils/schema-registry.js.map +1 -0
  431. package/dist/shared/utils/schema.d.ts +2 -1
  432. package/dist/shared/utils/schema.d.ts.map +1 -1
  433. package/dist/shared/utils/schema.js +31 -1
  434. package/dist/shared/utils/string-enum.js +7 -1
  435. package/dist/shared/utils/tests/schema-registry.test.d.ts +2 -0
  436. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +1 -0
  437. package/dist/shared/utils/try-catch.js +13 -1
  438. package/dist/shared/utils/try-catch.js.map +1 -1
  439. package/dist/shared/utils/typed-ref.js +7 -1
  440. package/package.json +9 -10
  441. package/src/shared/ai/schemas.ts +44 -12
  442. package/src/shared/ai/types.ts +135 -59
  443. package/src/shared/attributes.ts +37 -27
  444. package/src/shared/bricks/manifests/_types.ts +9 -0
  445. package/src/shared/bricks/manifests/accordion.manifest.ts +128 -161
  446. package/src/shared/bricks/manifests/all-manifests.ts +16 -0
  447. package/src/shared/bricks/manifests/box.manifest.ts +195 -129
  448. package/src/shared/bricks/manifests/button.manifest.ts +158 -71
  449. package/src/shared/bricks/manifests/card.manifest.ts +200 -28
  450. package/src/shared/bricks/manifests/carousel.manifest.ts +154 -22
  451. package/src/shared/bricks/manifests/footer.manifest.ts +38 -32
  452. package/src/shared/bricks/manifests/form.manifest.ts +122 -7
  453. package/src/shared/bricks/manifests/hero.manifest.ts +103 -18
  454. package/src/shared/bricks/manifests/html.manifest.ts +2 -5
  455. package/src/shared/bricks/manifests/icon.manifest.ts +216 -36
  456. package/src/shared/bricks/manifests/image.manifest.ts +103 -2
  457. package/src/shared/bricks/manifests/images-gallery.manifest.ts +2 -5
  458. package/src/shared/bricks/manifests/map.manifest.ts +2 -5
  459. package/src/shared/bricks/manifests/navbar.manifest.ts +3 -8
  460. package/src/shared/bricks/manifests/sidebar.manifest.ts +2 -5
  461. package/src/shared/bricks/manifests/social-links.manifest.ts +2 -5
  462. package/src/shared/bricks/manifests/spacer.manifest.ts +2 -5
  463. package/src/shared/bricks/manifests/table.manifest.ts +440 -0
  464. package/src/shared/bricks/manifests/tabs.manifest.ts +573 -0
  465. package/src/shared/bricks/manifests/testimonials.manifest.ts +2 -5
  466. package/src/shared/bricks/manifests/text.manifest.ts +31 -10
  467. package/src/shared/bricks/manifests/timeline.manifest.ts +438 -0
  468. package/src/shared/bricks/manifests/video.manifest.ts +2 -5
  469. package/src/shared/bricks/props/color-preset.ts +3 -1
  470. package/src/shared/bricks/props/dynamic.ts +0 -1
  471. package/src/shared/bricks/props/string.ts +1 -1
  472. package/src/shared/bricks.ts +61 -49
  473. package/src/shared/context.ts +1 -0
  474. package/src/shared/datarecords/types.ts +47 -37
  475. package/src/shared/datasources/types.ts +1 -5
  476. package/src/shared/datasources.ts +2 -4
  477. package/src/shared/images.ts +10 -8
  478. package/src/shared/page.ts +0 -5
  479. package/src/shared/site.ts +3 -3
  480. package/src/shared/sitemap.ts +14 -16
  481. package/src/shared/tests/schema-registry.test.ts +12 -0
  482. package/src/shared/theme.ts +1 -4
  483. package/src/shared/utils/llm.ts +13 -12
  484. package/src/shared/utils/schema-registry.ts +82 -0
  485. package/src/shared/utils/schema.ts +18 -3
  486. package/src/shared/utils/tests/schema-registry.test.ts +13 -0
  487. package/src/shared/utils/tests/schema.test.ts +124 -56
  488. package/dist/shared/bricks/props/enum.d.ts +0 -13
  489. package/dist/shared/bricks/props/enum.d.ts.map +0 -1
  490. package/dist/shared/chunk-3YVJ2ELD.js +0 -4
  491. package/dist/shared/chunk-4BTB3MU2.js +0 -4
  492. package/dist/shared/chunk-4WDWJA3N.js +0 -4
  493. package/dist/shared/chunk-5O4Z3YQY.js +0 -4
  494. package/dist/shared/chunk-5YRC3IT3.js +0 -4
  495. package/dist/shared/chunk-6HLU4UI2.js +0 -4
  496. package/dist/shared/chunk-6I3ONVU6.js +0 -4
  497. package/dist/shared/chunk-7A2JNQX3.js +0 -4
  498. package/dist/shared/chunk-7A2JNQX3.js.map +0 -1
  499. package/dist/shared/chunk-A3GF4PYW.js +0 -4
  500. package/dist/shared/chunk-A3GF4PYW.js.map +0 -1
  501. package/dist/shared/chunk-A3K4NUVP.js +0 -4
  502. package/dist/shared/chunk-A3K4NUVP.js.map +0 -1
  503. package/dist/shared/chunk-AFVJZPLS.js +0 -4
  504. package/dist/shared/chunk-AFVJZPLS.js.map +0 -1
  505. package/dist/shared/chunk-AI4GHU7R.js +0 -4
  506. package/dist/shared/chunk-AI4GHU7R.js.map +0 -1
  507. package/dist/shared/chunk-B3EATRFX.js +0 -4
  508. package/dist/shared/chunk-B3EATRFX.js.map +0 -1
  509. package/dist/shared/chunk-CCI4C3TM.js +0 -4
  510. package/dist/shared/chunk-CFF6Q7O7.js +0 -7
  511. package/dist/shared/chunk-CFF6Q7O7.js.map +0 -1
  512. package/dist/shared/chunk-CZRCW5EN.js +0 -4
  513. package/dist/shared/chunk-DCH4ZKWT.js +0 -4
  514. package/dist/shared/chunk-DHI3IBOD.js +0 -4
  515. package/dist/shared/chunk-DQ7PRWTG.js +0 -4
  516. package/dist/shared/chunk-E6XEI7IK.js +0 -4
  517. package/dist/shared/chunk-E6XEI7IK.js.map +0 -1
  518. package/dist/shared/chunk-FLOMNC6J.js +0 -4
  519. package/dist/shared/chunk-FLOMNC6J.js.map +0 -1
  520. package/dist/shared/chunk-G5CJU6RD.js +0 -7
  521. package/dist/shared/chunk-G5CJU6RD.js.map +0 -1
  522. package/dist/shared/chunk-GACHLACT.js +0 -4
  523. package/dist/shared/chunk-GLS7HPIZ.js +0 -4
  524. package/dist/shared/chunk-GOMXZC4B.js +0 -35
  525. package/dist/shared/chunk-GOMXZC4B.js.map +0 -1
  526. package/dist/shared/chunk-GPEMPZXK.js +0 -4
  527. package/dist/shared/chunk-HAGKVQOW.js +0 -4
  528. package/dist/shared/chunk-I3VL6SRH.js +0 -9
  529. package/dist/shared/chunk-I3VL6SRH.js.map +0 -1
  530. package/dist/shared/chunk-IKC3FK7L.js +0 -4
  531. package/dist/shared/chunk-IKC3FK7L.js.map +0 -1
  532. package/dist/shared/chunk-IKHZD2JH.js +0 -4
  533. package/dist/shared/chunk-IKHZD2JH.js.map +0 -1
  534. package/dist/shared/chunk-IUXCWWGO.js +0 -4
  535. package/dist/shared/chunk-JMN3HTZU.js +0 -4
  536. package/dist/shared/chunk-KBHDY425.js +0 -4
  537. package/dist/shared/chunk-KFM6KXSE.js +0 -4
  538. package/dist/shared/chunk-KLD3P5XH.js +0 -4
  539. package/dist/shared/chunk-KO5FPOWZ.js +0 -4
  540. package/dist/shared/chunk-KSEURRVZ.js +0 -4
  541. package/dist/shared/chunk-KYY3PHP7.js +0 -4
  542. package/dist/shared/chunk-NJGXC7D6.js +0 -4
  543. package/dist/shared/chunk-NJGXC7D6.js.map +0 -1
  544. package/dist/shared/chunk-NM5MMPCF.js +0 -4
  545. package/dist/shared/chunk-OGBMYMZD.js +0 -4
  546. package/dist/shared/chunk-OGBMYMZD.js.map +0 -1
  547. package/dist/shared/chunk-OHNYCXPX.js +0 -4
  548. package/dist/shared/chunk-OIY3EPHO.js +0 -4
  549. package/dist/shared/chunk-PIG623TZ.js +0 -4
  550. package/dist/shared/chunk-PIG623TZ.js.map +0 -1
  551. package/dist/shared/chunk-PLSV746R.js +0 -4
  552. package/dist/shared/chunk-PLSV746R.js.map +0 -1
  553. package/dist/shared/chunk-PSCN3VVA.js +0 -4
  554. package/dist/shared/chunk-PSCN3VVA.js.map +0 -1
  555. package/dist/shared/chunk-PSTFJ5IJ.js +0 -4
  556. package/dist/shared/chunk-PSTFJ5IJ.js.map +0 -1
  557. package/dist/shared/chunk-PXI7AHWS.js +0 -4
  558. package/dist/shared/chunk-PXI7AHWS.js.map +0 -1
  559. package/dist/shared/chunk-Q4H4QEMB.js +0 -4
  560. package/dist/shared/chunk-QGYZ7CG5.js +0 -4
  561. package/dist/shared/chunk-QGYZ7CG5.js.map +0 -1
  562. package/dist/shared/chunk-QWGUMKZC.js +0 -4
  563. package/dist/shared/chunk-QX6OGRRT.js +0 -5
  564. package/dist/shared/chunk-QX6OGRRT.js.map +0 -1
  565. package/dist/shared/chunk-R6ATC4TC.js +0 -4
  566. package/dist/shared/chunk-R6ATC4TC.js.map +0 -1
  567. package/dist/shared/chunk-RDZK73KV.js +0 -4
  568. package/dist/shared/chunk-RJYZ5FAR.js +0 -4
  569. package/dist/shared/chunk-SQ5T4AT5.js +0 -6
  570. package/dist/shared/chunk-SQ5T4AT5.js.map +0 -1
  571. package/dist/shared/chunk-SWLUQVK7.js +0 -4
  572. package/dist/shared/chunk-SXHDQ64Z.js +0 -5
  573. package/dist/shared/chunk-SXHDQ64Z.js.map +0 -1
  574. package/dist/shared/chunk-SY6DZLTC.js +0 -4
  575. package/dist/shared/chunk-SY6DZLTC.js.map +0 -1
  576. package/dist/shared/chunk-VEDQV5XO.js +0 -4
  577. package/dist/shared/chunk-W33JMRRN.js +0 -4
  578. package/dist/shared/chunk-WBZW5LVH.js +0 -4
  579. package/dist/shared/chunk-WBZW5LVH.js.map +0 -1
  580. package/dist/shared/chunk-WHTPGWUV.js +0 -4
  581. package/dist/shared/chunk-WYVJE6J5.js +0 -4
  582. package/dist/shared/chunk-WYVJE6J5.js.map +0 -1
  583. package/dist/shared/chunk-ZA3GAB4H.js +0 -9
  584. package/dist/shared/chunk-ZFCUSWMT.js +0 -4
  585. package/dist/shared/chunk-ZQPXQCY2.js +0 -4
  586. package/dist/shared/chunk-ZQPXQCY2.js.map +0 -1
  587. package/dist/shared/chunk-ZTZJHY4E.js +0 -4
  588. package/src/shared/bricks/props/enum.ts +0 -38
  589. /package/dist/shared/bricks/{props/enum.js.map → manifests/_types.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datarecords/external/notion/handler.ts"],"sourcesContent":["import {\n Client,\n type CreateDatabaseResponse,\n type DatabaseObjectResponse,\n type GetPageResponse,\n type PageObjectResponse,\n} from \"@notionhq/client\";\nimport type { TObject, TProperties } from \"@sinclair/typebox\";\nimport { nanoid } from \"nanoid\";\nimport type { ListPagesResponse, NotionOptions, NotionPage, NotionPages } from \"./types\";\n\nconst MAX_CALL = 10;\nconst MAX_PAGES = 1000;\n\nexport type { CreateDatabaseResponse, DatabaseObjectResponse, ListPagesResponse };\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: NotionOptions;\n properties: TProperties;\n accessToken: string;\n}) {\n const client = new Client({\n auth: accessToken,\n });\n const notionData = buildCreatePageParameters(formData, options.properties);\n\n try {\n return client.pages.create({\n parent: { database_id: options.id },\n properties: {\n ...notionData,\n },\n });\n } catch (e) {\n return;\n }\n}\n\nasync function searchPages(\n client: Client,\n pages: NotionPages,\n parameters: {\n maxResults?: number;\n maxCalls?: number;\n },\n offset?: string,\n resultIndex?: number,\n): Promise<ListPagesResponse> {\n const nextIndex = resultIndex ? resultIndex + 1 : 1;\n // Notion API has a hard limit of 300 results (3 requests of 100 results)\n if (nextIndex > (parameters?.maxCalls ?? MAX_CALL)) {\n return {\n status: \"max_call_reached\",\n pages,\n };\n }\n try {\n const response = await client.search({\n filter: {\n property: \"object\",\n value: \"page\",\n },\n start_cursor: offset,\n page_size: 100, // default\n });\n if (!response) {\n return {\n status: \"error\",\n pages,\n };\n }\n for (const d in response.results) {\n const p = response.results[d] as PageObjectResponse;\n\n if (p.parent.type !== \"database_id\") {\n const page = {\n id: p.id,\n name:\n p.properties.title &&\n p.properties.title.type === \"title\" &&\n Array.isArray(p.properties.title.title) &&\n p.properties.title.title[0]?.plain_text\n ? p.properties.title.title[0].plain_text\n : \"No Title\",\n };\n pages.push(page);\n if (pages.length >= (parameters?.maxResults ?? MAX_PAGES)) {\n return {\n status: \"max_pages_reached\",\n pages: pages,\n };\n }\n }\n }\n if (response.has_more && response.next_cursor) {\n const moreResults = await searchPages(client, pages, parameters, response.next_cursor, nextIndex);\n if (moreResults.status !== \"success\") {\n return {\n status: moreResults.status,\n pages: pages,\n };\n }\n return moreResults;\n }\n } catch (error) {\n console.error(\"Error searching Notion pages:\", error);\n }\n return {\n status: \"success\",\n pages,\n };\n}\n\nexport async function listPages(\n accessToken: string,\n parameters?: {\n maxResults?: number;\n maxCalls?: number;\n },\n): Promise<ListPagesResponse> {\n try {\n const client = new Client({\n auth: accessToken,\n });\n\n const response = await searchPages(client, [], { ...parameters });\n return response;\n } catch (error) {\n console.error(\"Error listing Notion databases:\", error);\n throw error;\n }\n}\n\n/**\n * In Notion, databases column are sorted by alphabetical order\n * @param schema\n * @returns\n */\nfunction buildDatabaseProperties(schemaProperties: TProperties, requiredFields: string[] = []) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const properties: Record<string, any> = {};\n\n for (const [fieldName, field] of Object.entries(schemaProperties)) {\n if (field.type === \"string\") {\n if (fieldName in (requiredFields ?? []) && fieldName === \"id\") {\n properties[fieldName] = {\n title: {},\n name: fieldName,\n type: \"title\",\n };\n } else {\n if (field.format === \"email\") {\n properties[fieldName] = {\n type: \"email\",\n name: fieldName,\n email: {},\n };\n } else if (field.format === \"uri\") {\n properties[fieldName] = {\n type: \"url\",\n name: fieldName,\n url: {},\n };\n } else if (field.format === \"date\" || field.format === \"date-time\") {\n properties[fieldName] = {\n type: \"date\",\n name: fieldName,\n date: {},\n };\n } else {\n if (field.enum && Array.isArray(field.enum) && field.enum.length > 0) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n properties[fieldName] = {\n type: \"multi_select\",\n name: fieldName,\n multi_select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n } else {\n properties[fieldName] = {\n type: \"select\",\n name: fieldName,\n select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n }\n } else {\n properties[fieldName] = {\n rich_text: {},\n name: fieldName,\n type: \"rich_text\",\n };\n }\n }\n }\n } else if (field.type === \"number\") {\n properties[fieldName] = {\n number: {},\n };\n } else if (field.type === \"boolean\") {\n properties[fieldName] = {\n checkbox: {},\n };\n }\n }\n\n // if no id field of type title, add one\n if (!properties.id) {\n properties.id = {\n title: {},\n name: \"id\",\n type: \"title\",\n };\n }\n return properties;\n}\n\nexport async function updateTable({\n id,\n newName,\n newProperties,\n accessToken,\n}: {\n id: string;\n newName?: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<NotionOptions> {\n const client = new Client({\n auth: accessToken,\n });\n\n const properties = newProperties ? buildDatabaseProperties(newProperties) : {};\n const response = (await client.databases.update({\n database_id: id,\n ...(newName\n ? {\n title: [\n {\n type: \"text\" as const,\n text: {\n content: newName,\n },\n },\n ],\n }\n : {}),\n ...(Object.keys(properties).length > 0 ? { properties } : {}),\n })) as DatabaseObjectResponse;\n if (!response) {\n throw new Error(\"Failed to update Notion database\");\n }\n return {\n id: response.id,\n name: response.title[0]?.plain_text,\n properties: response.properties,\n url: response.url,\n };\n}\n\nexport async function createTable({\n name,\n schema,\n pageId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n pageId: string;\n accessToken: string;\n}): Promise<NotionOptions> {\n const properties = buildDatabaseProperties(schema.properties, schema.required);\n const data = {\n parent: { type: \"page_id\" as const, page_id: pageId },\n title: [\n {\n type: \"text\" as const,\n text: {\n content: name,\n },\n },\n ],\n properties,\n };\n const client = new Client({\n auth: accessToken,\n });\n const response = (await client.databases.create(data)) as CreateDatabaseResponse;\n if (!response) {\n throw new Error(\"Failed to create Notion database\");\n }\n const table = (await client.databases.retrieve({ database_id: response.id })) as DatabaseObjectResponse;\n if (!table) {\n throw new Error(\"Failed to retrieve Notion database after creation\");\n }\n return {\n id: table.id,\n name: table.title[0]?.plain_text,\n properties: table.properties,\n url: table.url,\n };\n}\n\nexport async function checkPage({\n pageId,\n accessToken,\n}: {\n pageId: string;\n accessToken: string;\n}): Promise<NotionPage | undefined> {\n const client = new Client({\n auth: accessToken,\n });\n try {\n const response = (await client.pages.retrieve({ page_id: pageId })) as GetPageResponse;\n if (!response) {\n console.log(\"Failed to retrieve Notion page\");\n return;\n }\n if (response) {\n // Convert the complex Notion response to a simple type\n const page = response as PageObjectResponse;\n return {\n id: page.id,\n name:\n page.properties.title &&\n page.properties.title.type === \"title\" &&\n Array.isArray(page.properties.title.title) &&\n page.properties.title.title[0]?.plain_text\n ? page.properties.title.title[0].plain_text\n : \"No Title\",\n };\n }\n } catch (e) {\n console.error(\"Error retrieving Notion page:\", e);\n }\n return;\n}\n\nfunction buildCreatePageParameters(data: FormData, databaseProperties: NotionOptions[\"properties\"]) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const notionData: Record<string, any> = {};\n for (const [key, value] of data.entries()) {\n if (value === null || value === undefined || value === \"\") continue;\n if (key in databaseProperties) {\n switch (databaseProperties[key].type) {\n case \"title\":\n notionData[key] = {\n title: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"rich_text\":\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"email\":\n notionData[key] = {\n email: String(value),\n };\n break;\n case \"phone_number\":\n notionData[key] = {\n phone_number: String(value),\n };\n break;\n case \"url\":\n notionData[key] = {\n url: String(value),\n };\n break;\n case \"number\":\n notionData[key] = {\n number: Number(value),\n };\n break;\n case \"checkbox\":\n notionData[key] = {\n checkbox: value === \"true\" || value === \"1\",\n };\n break;\n case \"date\":\n notionData[key] = {\n date: value ? { start: String(value) } : null,\n };\n break;\n case \"select\":\n notionData[key] = {\n select: {\n name: String(value),\n },\n };\n break;\n case \"multi_select\": {\n const getValues = (value: string) => {\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n try {\n return JSON.parse(value);\n } catch {\n return [value];\n }\n }\n if (value.includes(\",\")) {\n return value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n }\n return [value];\n };\n const values = getValues(String(value));\n notionData[key] = {\n multi_select: values.map((v: string) => ({\n name: v,\n })),\n };\n break;\n }\n default:\n console.warn(`Unsupported property type for key \"${key}\": ${databaseProperties[key].type}`);\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n }\n }\n }\n if (!(\"id\" in notionData)) {\n notionData.id = {\n title: [\n {\n text: {\n content: nanoid(5),\n },\n },\n ],\n };\n }\n return notionData;\n}\n"],"mappings":"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","names":["Client","nanoid","MAX_CALL","MAX_PAGES","saveRecord","formData","options","properties","accessToken","client","notionData","buildCreatePageParameters","searchPages","pages","parameters","offset","resultIndex","nextIndex","response","d","p","page","moreResults","error","listPages","buildDatabaseProperties","schemaProperties","requiredFields","fieldName","field","option","updateTable","id","newName","newProperties","createTable","name","schema","pageId","data","table","checkPage","databaseProperties","key","value","values","v"]}
1
+ {"version":3,"sources":["../../../../../src/shared/datarecords/external/notion/handler.ts"],"sourcesContent":["import {\n Client,\n type CreateDatabaseResponse,\n type DatabaseObjectResponse,\n type GetPageResponse,\n type PageObjectResponse,\n} from \"@notionhq/client\";\nimport type { TObject, TProperties } from \"@sinclair/typebox\";\nimport { nanoid } from \"nanoid\";\nimport type { ListPagesResponse, NotionOptions, NotionPage, NotionPages } from \"./types\";\n\nconst MAX_CALL = 10;\nconst MAX_PAGES = 1000;\n\nexport type { CreateDatabaseResponse, DatabaseObjectResponse, ListPagesResponse };\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: NotionOptions;\n properties: TProperties;\n accessToken: string;\n}) {\n const client = new Client({\n auth: accessToken,\n });\n const notionData = buildCreatePageParameters(formData, options.properties);\n\n try {\n return client.pages.create({\n parent: { database_id: options.id },\n properties: {\n ...notionData,\n },\n });\n } catch (e) {\n return;\n }\n}\n\nasync function searchPages(\n client: Client,\n pages: NotionPages,\n parameters: {\n maxResults?: number;\n maxCalls?: number;\n },\n offset?: string,\n resultIndex?: number,\n): Promise<ListPagesResponse> {\n const nextIndex = resultIndex ? resultIndex + 1 : 1;\n // Notion API has a hard limit of 300 results (3 requests of 100 results)\n if (nextIndex > (parameters?.maxCalls ?? MAX_CALL)) {\n return {\n status: \"max_call_reached\",\n pages,\n };\n }\n try {\n const response = await client.search({\n filter: {\n property: \"object\",\n value: \"page\",\n },\n start_cursor: offset,\n page_size: 100, // default\n });\n if (!response) {\n return {\n status: \"error\",\n pages,\n };\n }\n for (const d in response.results) {\n const p = response.results[d] as PageObjectResponse;\n\n if (p.parent.type !== \"database_id\") {\n const page = {\n id: p.id,\n name:\n p.properties.title &&\n p.properties.title.type === \"title\" &&\n Array.isArray(p.properties.title.title) &&\n p.properties.title.title[0]?.plain_text\n ? p.properties.title.title[0].plain_text\n : \"No Title\",\n };\n pages.push(page);\n if (pages.length >= (parameters?.maxResults ?? MAX_PAGES)) {\n return {\n status: \"max_pages_reached\",\n pages: pages,\n };\n }\n }\n }\n if (response.has_more && response.next_cursor) {\n const moreResults = await searchPages(client, pages, parameters, response.next_cursor, nextIndex);\n if (moreResults.status !== \"success\") {\n return {\n status: moreResults.status,\n pages: pages,\n };\n }\n return moreResults;\n }\n } catch (error) {\n console.error(\"Error searching Notion pages:\", error);\n }\n return {\n status: \"success\",\n pages,\n };\n}\n\nexport async function listPages(\n accessToken: string,\n parameters?: {\n maxResults?: number;\n maxCalls?: number;\n },\n): Promise<ListPagesResponse> {\n try {\n const client = new Client({\n auth: accessToken,\n });\n\n const response = await searchPages(client, [], { ...parameters });\n return response;\n } catch (error) {\n console.error(\"Error listing Notion databases:\", error);\n throw error;\n }\n}\n\n/**\n * In Notion, databases column are sorted by alphabetical order\n * @param schema\n * @returns\n */\nfunction buildDatabaseProperties(schemaProperties: TProperties, requiredFields: string[] = []) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const properties: Record<string, any> = {};\n\n for (const [fieldName, field] of Object.entries(schemaProperties)) {\n if (field.type === \"string\") {\n if (fieldName in (requiredFields ?? []) && fieldName === \"id\") {\n properties[fieldName] = {\n title: {},\n name: fieldName,\n type: \"title\",\n };\n } else {\n if (field.format === \"email\") {\n properties[fieldName] = {\n type: \"email\",\n name: fieldName,\n email: {},\n };\n } else if (field.format === \"uri\") {\n properties[fieldName] = {\n type: \"url\",\n name: fieldName,\n url: {},\n };\n } else if (field.format === \"date\" || field.format === \"date-time\") {\n properties[fieldName] = {\n type: \"date\",\n name: fieldName,\n date: {},\n };\n } else {\n if (field.enum && Array.isArray(field.enum) && field.enum.length > 0) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n properties[fieldName] = {\n type: \"multi_select\",\n name: fieldName,\n multi_select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n } else {\n properties[fieldName] = {\n type: \"select\",\n name: fieldName,\n select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n }\n } else {\n properties[fieldName] = {\n rich_text: {},\n name: fieldName,\n type: \"rich_text\",\n };\n }\n }\n }\n } else if (field.type === \"number\") {\n properties[fieldName] = {\n number: {},\n };\n } else if (field.type === \"boolean\") {\n properties[fieldName] = {\n checkbox: {},\n };\n }\n }\n\n // if no id field of type title, add one\n if (!properties.id) {\n properties.id = {\n title: {},\n name: \"id\",\n type: \"title\",\n };\n }\n return properties;\n}\n\nexport async function updateTable({\n id,\n newName,\n newProperties,\n accessToken,\n}: {\n id: string;\n newName?: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<NotionOptions> {\n const client = new Client({\n auth: accessToken,\n });\n\n const properties = newProperties ? buildDatabaseProperties(newProperties) : {};\n const response = (await client.databases.update({\n database_id: id,\n ...(newName\n ? {\n title: [\n {\n type: \"text\" as const,\n text: {\n content: newName,\n },\n },\n ],\n }\n : {}),\n ...(Object.keys(properties).length > 0 ? { properties } : {}),\n })) as DatabaseObjectResponse;\n if (!response) {\n throw new Error(\"Failed to update Notion database\");\n }\n return {\n id: response.id,\n name: response.title[0]?.plain_text,\n properties: response.properties,\n url: response.url,\n };\n}\n\nexport async function createTable({\n name,\n schema,\n pageId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n pageId: string;\n accessToken: string;\n}): Promise<NotionOptions> {\n const properties = buildDatabaseProperties(schema.properties, schema.required);\n const data = {\n parent: { type: \"page_id\" as const, page_id: pageId },\n title: [\n {\n type: \"text\" as const,\n text: {\n content: name,\n },\n },\n ],\n properties,\n };\n const client = new Client({\n auth: accessToken,\n });\n const response = (await client.databases.create(data)) as CreateDatabaseResponse;\n if (!response) {\n throw new Error(\"Failed to create Notion database\");\n }\n const table = (await client.databases.retrieve({ database_id: response.id })) as DatabaseObjectResponse;\n if (!table) {\n throw new Error(\"Failed to retrieve Notion database after creation\");\n }\n return {\n id: table.id,\n name: table.title[0]?.plain_text,\n properties: table.properties,\n url: table.url,\n };\n}\n\nexport async function checkPage({\n pageId,\n accessToken,\n}: {\n pageId: string;\n accessToken: string;\n}): Promise<NotionPage | undefined> {\n const client = new Client({\n auth: accessToken,\n });\n try {\n const response = (await client.pages.retrieve({ page_id: pageId })) as GetPageResponse;\n if (!response) {\n console.log(\"Failed to retrieve Notion page\");\n return;\n }\n if (response) {\n // Convert the complex Notion response to a simple type\n const page = response as PageObjectResponse;\n return {\n id: page.id,\n name:\n page.properties.title &&\n page.properties.title.type === \"title\" &&\n Array.isArray(page.properties.title.title) &&\n page.properties.title.title[0]?.plain_text\n ? page.properties.title.title[0].plain_text\n : \"No Title\",\n };\n }\n } catch (e) {\n console.error(\"Error retrieving Notion page:\", e);\n }\n return;\n}\n\nfunction buildCreatePageParameters(data: FormData, databaseProperties: NotionOptions[\"properties\"]) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const notionData: Record<string, any> = {};\n for (const [key, value] of data.entries()) {\n if (value === null || value === undefined || value === \"\") continue;\n if (key in databaseProperties) {\n switch (databaseProperties[key].type) {\n case \"title\":\n notionData[key] = {\n title: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"rich_text\":\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"email\":\n notionData[key] = {\n email: String(value),\n };\n break;\n case \"phone_number\":\n notionData[key] = {\n phone_number: String(value),\n };\n break;\n case \"url\":\n notionData[key] = {\n url: String(value),\n };\n break;\n case \"number\":\n notionData[key] = {\n number: Number(value),\n };\n break;\n case \"checkbox\":\n notionData[key] = {\n checkbox: value === \"true\" || value === \"1\",\n };\n break;\n case \"date\":\n notionData[key] = {\n date: value ? { start: String(value) } : null,\n };\n break;\n case \"select\":\n notionData[key] = {\n select: {\n name: String(value),\n },\n };\n break;\n case \"multi_select\": {\n const getValues = (value: string) => {\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n try {\n return JSON.parse(value);\n } catch {\n return [value];\n }\n }\n if (value.includes(\",\")) {\n return value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n }\n return [value];\n };\n const values = getValues(String(value));\n notionData[key] = {\n multi_select: values.map((v: string) => ({\n name: v,\n })),\n };\n break;\n }\n default:\n console.warn(`Unsupported property type for key \"${key}\": ${databaseProperties[key].type}`);\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n }\n }\n }\n if (!(\"id\" in notionData)) {\n notionData.id = {\n title: [\n {\n text: {\n content: nanoid(5),\n },\n },\n ],\n };\n }\n return notionData;\n}\n"],"mappings":"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","names":["value"]}
@@ -1,4 +1,14 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";var o=t.Object({access_token:t.String(),refresh_token:t.String()});export{o as notionOAuthTokenSchema};
3
+ import "../../../../chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datarecords/external/notion/oauth/config.ts
6
+ import { Type } from "@sinclair/typebox";
7
+ var notionOAuthTokenSchema = Type.Object({
8
+ access_token: Type.String(),
9
+ refresh_token: Type.String()
10
+ });
11
+ export {
12
+ notionOAuthTokenSchema
13
+ };
4
14
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datarecords/external/notion/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOAuthTokenSchema = Type.Object({\n access_token: Type.String(),\n refresh_token: Type.String(),\n});\nexport type NotionOAuthToken = Static<typeof notionOAuthTokenSchema>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAyBD,EAAK,OAAO,CAChD,aAAcA,EAAK,OAAO,EAC1B,cAAeA,EAAK,OAAO,CAC7B,CAAC","names":["Type","notionOAuthTokenSchema"]}
1
+ {"version":3,"sources":["../../../../../../src/shared/datarecords/external/notion/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOAuthTokenSchema = Type.Object({\n access_token: Type.String(),\n refresh_token: Type.String(),\n});\nexport type NotionOAuthToken = Static<typeof notionOAuthTokenSchema>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,yBAAyB,KAAK,OAAO;AAAA,EAChD,cAAc,KAAK,OAAO;AAAA,EAC1B,eAAe,KAAK,OAAO;AAC7B,CAAC;","names":[]}
@@ -1,4 +1,10 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a}from"../../../chunk-IUXCWWGO.js";export{a as notionOptions};
3
+ import {
4
+ notionOptions
5
+ } from "../../../chunk-7LAWWRU7.js";
6
+ import "../../../chunk-ZGQ3AQBG.js";
7
+ export {
8
+ notionOptions
9
+ };
4
10
  //# sourceMappingURL=types.js.map
@@ -1,76 +1,23 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
2
  export declare const connectorSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"airtable">, import("@sinclair/typebox").TLiteral<"google-sheets">, import("@sinclair/typebox").TLiteral<"notion">, import("@sinclair/typebox").TLiteral<"internal">]>;
3
3
  export type DatarecordConnector = Static<typeof connectorSchema>;
4
- export declare const datarecordsConnectors: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
5
- options: import("@sinclair/typebox").TObject<{
6
- externalUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
- baseId: import("@sinclair/typebox").TString;
8
- baseName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
- tableId: import("@sinclair/typebox").TString;
10
- tableName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
- fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
12
- id: import("@sinclair/typebox").TString;
13
- name: import("@sinclair/typebox").TString;
14
- type: import("@sinclair/typebox").TString;
15
- }>>>;
16
- }>;
17
- provider: import("@sinclair/typebox").TLiteral<"airtable">;
18
- schema: import("@sinclair/typebox").TAny;
19
- }>, import("@sinclair/typebox").TObject<{
20
- options: import("@sinclair/typebox").TObject<{
21
- spreadsheetId: import("@sinclair/typebox").TString;
22
- spreadsheetUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
- spreadsheetName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
- externalUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
- }>;
26
- provider: import("@sinclair/typebox").TLiteral<"google-sheets">;
27
- schema: import("@sinclair/typebox").TAny;
28
- }>, import("@sinclair/typebox").TObject<{
29
- options: import("@sinclair/typebox").TObject<{
30
- url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
31
- id: import("@sinclair/typebox").TString;
32
- name: import("@sinclair/typebox").TString;
33
- properties: import("@sinclair/typebox").TAny;
34
- }>;
35
- provider: import("@sinclair/typebox").TLiteral<"notion">;
36
- schema: import("@sinclair/typebox").TAny;
37
- }>, import("@sinclair/typebox").TObject<{
38
- provider: import("@sinclair/typebox").TLiteral<"internal">;
39
- schema: import("@sinclair/typebox").TAny;
40
- indexes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
41
- name: import("@sinclair/typebox").TString;
42
- fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
43
- unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
44
- }>>;
45
- }>]>;
46
- declare const datarecordManifest: import("@sinclair/typebox").TObject<{
4
+ export declare const genericDatarecord: import("@sinclair/typebox").TObject<{
47
5
  provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal">, import("@sinclair/typebox").TLiteral<"notion">, import("@sinclair/typebox").TLiteral<"google-sheets">, import("@sinclair/typebox").TLiteral<"airtable">]>;
48
- schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny]>;
49
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
50
- id: import("@sinclair/typebox").TString;
51
- label: import("@sinclair/typebox").TString;
52
- }>;
53
- export declare const internalDatarecordManifest: import("@sinclair/typebox").TObject<{
54
6
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
7
  id: import("@sinclair/typebox").TString;
56
8
  label: import("@sinclair/typebox").TString;
57
- provider: import("@sinclair/typebox").TLiteral<"internal">;
58
9
  schema: import("@sinclair/typebox").TAny;
59
- indexes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
60
- name: import("@sinclair/typebox").TString;
61
- fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
62
- unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
63
- }>>;
64
10
  }>;
65
- export type InternalDatarecord = Static<typeof internalDatarecordManifest>;
66
- export type Datarecord = Static<typeof datarecordManifest>;
11
+ export type Datarecord = Static<typeof genericDatarecord>;
12
+ export type InternalDatarecord = Extract<Datarecord, {
13
+ provider: "internal";
14
+ }>;
67
15
  export declare const datarecordsList: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
68
16
  provider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"internal">, import("@sinclair/typebox").TLiteral<"notion">, import("@sinclair/typebox").TLiteral<"google-sheets">, import("@sinclair/typebox").TLiteral<"airtable">]>;
69
- schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny, import("@sinclair/typebox").TAny]>;
70
17
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
71
18
  id: import("@sinclair/typebox").TString;
72
19
  label: import("@sinclair/typebox").TString;
20
+ schema: import("@sinclair/typebox").TAny;
73
21
  }>>;
74
22
  export type DatarecordsList = Static<typeof datarecordsList>;
75
- export {};
76
23
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/datarecords/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMtD,eAAO,MAAM,eAAe,iPAO1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAkGjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BhC,CAAC;AAcH,QAAA,MAAM,kBAAkB;;;;;;EAA8D,CAAC;AAEvF,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAA2D,CAAC;AACnG,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;GAAiC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/datarecords/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,eAAO,MAAM,eAAe,iPAK1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AA8GjE,eAAO,MAAM,iBAAiB;;;;;;EAkB5B,CAAC;AA8BH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAE/E,eAAO,MAAM,eAAe;;;;;;GAAgC,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,4 +1,17 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a,b,c,d}from"../chunk-ZQPXQCY2.js";import"../chunk-GPEMPZXK.js";import"../chunk-GLS7HPIZ.js";import"../chunk-IUXCWWGO.js";export{a as connectorSchema,b as datarecordsConnectors,d as datarecordsList,c as internalDatarecordManifest};
3
+ import {
4
+ connectorSchema,
5
+ datarecordsList,
6
+ genericDatarecord
7
+ } from "../chunk-LLNPH3XR.js";
8
+ import "../chunk-OSJ6KGPX.js";
9
+ import "../chunk-7LAWWRU7.js";
10
+ import "../chunk-CSF2WQX2.js";
11
+ import "../chunk-ZGQ3AQBG.js";
12
+ export {
13
+ connectorSchema,
14
+ datarecordsList,
15
+ genericDatarecord
16
+ };
4
17
  //# sourceMappingURL=types.js.map
@@ -1,4 +1,12 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- function r(e){return e}export{r as defineDataRecord};
3
+ import "./chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datarecords.ts
6
+ function defineDataRecord(datarecord) {
7
+ return datarecord;
8
+ }
9
+ export {
10
+ defineDataRecord
11
+ };
4
12
  //# sourceMappingURL=datarecords.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/datarecords.ts"],"sourcesContent":["import type { Datarecord } from \"./datarecords/types\";\n\nexport function defineDataRecord<T extends Datarecord>(datarecord: T) {\n return datarecord;\n}\n"],"mappings":";;AAEO,SAASA,EAAuCC,EAAe,CACpE,OAAOA,CACT","names":["defineDataRecord","datarecord"]}
1
+ {"version":3,"sources":["../../src/shared/datarecords.ts"],"sourcesContent":["import type { Datarecord } from \"./datarecords/types\";\n\nexport function defineDataRecord<T extends Datarecord>(datarecord: T) {\n return datarecord;\n}\n"],"mappings":";;;;;AAEO,SAAS,iBAAuC,YAAe;AACpE,SAAO;AACT;","names":[]}
@@ -1,4 +1,52 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as e}from"../../../../chunk-6HLU4UI2.js";import{a as o}from"../../../../chunk-DCH4ZKWT.js";var c=async({options:a,oauth:s})=>{let r=new URLSearchParams({...e(a),fields:["from","permalink_url","name","description","caption","id","is_hidden","message","application","object_id","link","is_published","properties","status_type","story","type","actions","call_to_action","child_attachments"].join(","),access_token:s.config.accessToken}),t=await fetch(`https://graph.facebook.com/me/posts?${r}`);if(!t.ok)throw t.status===401?new o("fetchFacebookPostDatasource Error: Unauthorized."):new Error(`fetchFacebookPostDatasource Error: Response status: ${t.status}`);return await t.json()},m=c;export{m as default};
3
+ import {
4
+ stringifyObjectValues
5
+ } from "../../../../chunk-OJP4HMJT.js";
6
+ import {
7
+ UnauthorizedError
8
+ } from "../../../../chunk-XZ6WJZHN.js";
9
+ import "../../../../chunk-ZGQ3AQBG.js";
10
+
11
+ // src/shared/datasources/external/facebook/posts/fetcher.ts
12
+ var fetchFacebookPostDatasource = async ({ options, oauth }) => {
13
+ const params = new URLSearchParams({
14
+ ...stringifyObjectValues(options),
15
+ fields: [
16
+ "from",
17
+ "permalink_url",
18
+ "name",
19
+ "description",
20
+ "caption",
21
+ "id",
22
+ "is_hidden",
23
+ "message",
24
+ "application",
25
+ "object_id",
26
+ "link",
27
+ "is_published",
28
+ "properties",
29
+ "status_type",
30
+ "story",
31
+ "type",
32
+ "actions",
33
+ "call_to_action",
34
+ "child_attachments"
35
+ ].join(","),
36
+ access_token: oauth.config.accessToken
37
+ });
38
+ const response = await fetch(`https://graph.facebook.com/me/posts?${params}`);
39
+ if (!response.ok) {
40
+ if (response.status === 401) {
41
+ throw new UnauthorizedError(`fetchFacebookPostDatasource Error: Unauthorized.`);
42
+ }
43
+ throw new Error(`fetchFacebookPostDatasource Error: Response status: ${response.status}`);
44
+ }
45
+ const post = await response.json();
46
+ return post;
47
+ };
48
+ var fetcher_default = fetchFacebookPostDatasource;
49
+ export {
50
+ fetcher_default as default
51
+ };
4
52
  //# sourceMappingURL=fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datasources/external/facebook/posts/fetcher.ts"],"sourcesContent":["import { facebookPostSchema, type FacebookPostSchema } from \"./schema\";\nimport type { MetaFullOAuthConfig } from \"../../meta/oauth/config\";\nimport { UnauthorizedError } from \"~/shared/errors\";\nimport type { MetaOptions } from \"../../meta/options\";\nimport { stringifyObjectValues } from \"../../../utils\";\nimport type { DatasourceFetcher } from \"~/shared/datasources/fetcher\";\n\nconst fetchFacebookPostDatasource: DatasourceFetcher<\n FacebookPostSchema,\n MetaFullOAuthConfig,\n MetaOptions\n> = async ({ options, oauth }) => {\n const params = new URLSearchParams({\n ...stringifyObjectValues(options),\n fields: [\n \"from\",\n \"permalink_url\",\n \"name\",\n \"description\",\n \"caption\",\n \"id\",\n \"is_hidden\",\n \"message\",\n \"application\",\n \"object_id\",\n \"link\",\n \"is_published\",\n \"properties\",\n \"status_type\",\n \"story\",\n \"type\",\n \"actions\",\n \"call_to_action\",\n \"child_attachments\",\n ].join(\",\"),\n access_token: oauth.config.accessToken,\n });\n\n const response = await fetch(`https://graph.facebook.com/me/posts?${params}`);\n\n if (!response.ok) {\n if (response.status === 401) {\n throw new UnauthorizedError(`fetchFacebookPostDatasource Error: Unauthorized.`);\n }\n throw new Error(`fetchFacebookPostDatasource Error: Response status: ${response.status}`);\n }\n\n const post = (await response.json()) as FacebookPostSchema;\n return post;\n};\n\nexport default fetchFacebookPostDatasource;\n"],"mappings":";;oGAOA,IAAMA,EAIF,MAAO,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAChC,IAAMC,EAAS,IAAI,gBAAgB,CACjC,GAAGC,EAAsBH,CAAO,EAChC,OAAQ,CACN,OACA,gBACA,OACA,cACA,UACA,KACA,YACA,UACA,cACA,YACA,OACA,eACA,aACA,cACA,QACA,OACA,UACA,iBACA,mBACF,EAAE,KAAK,GAAG,EACV,aAAcC,EAAM,OAAO,WAC7B,CAAC,EAEKG,EAAW,MAAM,MAAM,uCAAuCF,CAAM,EAAE,EAE5E,GAAI,CAACE,EAAS,GACZ,MAAIA,EAAS,SAAW,IAChB,IAAIC,EAAkB,kDAAkD,EAE1E,IAAI,MAAM,uDAAuDD,EAAS,MAAM,EAAE,EAI1F,OADc,MAAMA,EAAS,KAAK,CAEpC,EAEOE,EAAQP","names":["fetchFacebookPostDatasource","options","oauth","params","stringifyObjectValues","response","UnauthorizedError","fetcher_default"]}
1
+ {"version":3,"sources":["../../../../../../src/shared/datasources/external/facebook/posts/fetcher.ts"],"sourcesContent":["import { facebookPostSchema, type FacebookPostSchema } from \"./schema\";\nimport type { MetaFullOAuthConfig } from \"../../meta/oauth/config\";\nimport { UnauthorizedError } from \"~/shared/errors\";\nimport type { MetaOptions } from \"../../meta/options\";\nimport { stringifyObjectValues } from \"../../../utils\";\nimport type { DatasourceFetcher } from \"~/shared/datasources/fetcher\";\n\nconst fetchFacebookPostDatasource: DatasourceFetcher<\n FacebookPostSchema,\n MetaFullOAuthConfig,\n MetaOptions\n> = async ({ options, oauth }) => {\n const params = new URLSearchParams({\n ...stringifyObjectValues(options),\n fields: [\n \"from\",\n \"permalink_url\",\n \"name\",\n \"description\",\n \"caption\",\n \"id\",\n \"is_hidden\",\n \"message\",\n \"application\",\n \"object_id\",\n \"link\",\n \"is_published\",\n \"properties\",\n \"status_type\",\n \"story\",\n \"type\",\n \"actions\",\n \"call_to_action\",\n \"child_attachments\",\n ].join(\",\"),\n access_token: oauth.config.accessToken,\n });\n\n const response = await fetch(`https://graph.facebook.com/me/posts?${params}`);\n\n if (!response.ok) {\n if (response.status === 401) {\n throw new UnauthorizedError(`fetchFacebookPostDatasource Error: Unauthorized.`);\n }\n throw new Error(`fetchFacebookPostDatasource Error: Response status: ${response.status}`);\n }\n\n const post = (await response.json()) as FacebookPostSchema;\n return post;\n};\n\nexport default fetchFacebookPostDatasource;\n"],"mappings":";;;;;;;;;;;AAOA,IAAM,8BAIF,OAAO,EAAE,SAAS,MAAM,MAAM;AAChC,QAAM,SAAS,IAAI,gBAAgB;AAAA,IACjC,GAAG,sBAAsB,OAAO;AAAA,IAChC,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,IACV,cAAc,MAAM,OAAO;AAAA,EAC7B,CAAC;AAED,QAAM,WAAW,MAAM,MAAM,uCAAuC,MAAM,EAAE;AAE5E,MAAI,CAAC,SAAS,IAAI;AAChB,QAAI,SAAS,WAAW,KAAK;AAC3B,YAAM,IAAI,kBAAkB,kDAAkD;AAAA,IAChF;AACA,UAAM,IAAI,MAAM,uDAAuD,SAAS,MAAM,EAAE;AAAA,EAC1F;AAEA,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,SAAO;AACT;AAEA,IAAO,kBAAQ;","names":[]}
@@ -1,4 +1,39 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";var e=t.Object({data:t.Array(t.Object({from:t.Object({name:t.String(),id:t.String()}),id:t.String(),permalink_url:t.String(),is_hidden:t.Boolean(),message:t.Optional(t.String()),object_id:t.String(),link:t.String(),is_published:t.Boolean(),status_type:t.String(),type:t.String(),actions:t.Array(t.Object({name:t.String(),link:t.String()}))})),paging:t.Object({previous:t.Optional(t.String()),next:t.Optional(t.String())})});export{e as facebookPostSchema};
3
+ import "../../../../chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datasources/external/facebook/posts/schema.ts
6
+ import { Type } from "@sinclair/typebox";
7
+ var facebookPostSchema = Type.Object({
8
+ data: Type.Array(
9
+ Type.Object({
10
+ from: Type.Object({
11
+ name: Type.String(),
12
+ id: Type.String()
13
+ }),
14
+ id: Type.String(),
15
+ permalink_url: Type.String(),
16
+ is_hidden: Type.Boolean(),
17
+ message: Type.Optional(Type.String()),
18
+ object_id: Type.String(),
19
+ link: Type.String(),
20
+ is_published: Type.Boolean(),
21
+ status_type: Type.String(),
22
+ type: Type.String(),
23
+ actions: Type.Array(
24
+ Type.Object({
25
+ name: Type.String(),
26
+ link: Type.String()
27
+ })
28
+ )
29
+ })
30
+ ),
31
+ paging: Type.Object({
32
+ previous: Type.Optional(Type.String()),
33
+ next: Type.Optional(Type.String())
34
+ })
35
+ });
36
+ export {
37
+ facebookPostSchema
38
+ };
4
39
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datasources/external/facebook/posts/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const facebookPostSchema = Type.Object({\n data: Type.Array(\n Type.Object({\n from: Type.Object({\n name: Type.String(),\n id: Type.String(),\n }),\n id: Type.String(),\n permalink_url: Type.String(),\n is_hidden: Type.Boolean(),\n message: Type.Optional(Type.String()),\n object_id: Type.String(),\n link: Type.String(),\n is_published: Type.Boolean(),\n status_type: Type.String(),\n type: Type.String(),\n actions: Type.Array(\n Type.Object({\n name: Type.String(),\n link: Type.String(),\n }),\n ),\n }),\n ),\n paging: Type.Object({\n previous: Type.Optional(Type.String()),\n next: Type.Optional(Type.String()),\n }),\n});\n\nexport type FacebookPostSchema = Static<typeof facebookPostSchema>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAqBD,EAAK,OAAO,CAC5C,KAAMA,EAAK,MACTA,EAAK,OAAO,CACV,KAAMA,EAAK,OAAO,CAChB,KAAMA,EAAK,OAAO,EAClB,GAAIA,EAAK,OAAO,CAClB,CAAC,EACD,GAAIA,EAAK,OAAO,EAChB,cAAeA,EAAK,OAAO,EAC3B,UAAWA,EAAK,QAAQ,EACxB,QAASA,EAAK,SAASA,EAAK,OAAO,CAAC,EACpC,UAAWA,EAAK,OAAO,EACvB,KAAMA,EAAK,OAAO,EAClB,aAAcA,EAAK,QAAQ,EAC3B,YAAaA,EAAK,OAAO,EACzB,KAAMA,EAAK,OAAO,EAClB,QAASA,EAAK,MACZA,EAAK,OAAO,CACV,KAAMA,EAAK,OAAO,EAClB,KAAMA,EAAK,OAAO,CACpB,CAAC,CACH,CACF,CAAC,CACH,EACA,OAAQA,EAAK,OAAO,CAClB,SAAUA,EAAK,SAASA,EAAK,OAAO,CAAC,EACrC,KAAMA,EAAK,SAASA,EAAK,OAAO,CAAC,CACnC,CAAC,CACH,CAAC","names":["Type","facebookPostSchema"]}
1
+ {"version":3,"sources":["../../../../../../src/shared/datasources/external/facebook/posts/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const facebookPostSchema = Type.Object({\n data: Type.Array(\n Type.Object({\n from: Type.Object({\n name: Type.String(),\n id: Type.String(),\n }),\n id: Type.String(),\n permalink_url: Type.String(),\n is_hidden: Type.Boolean(),\n message: Type.Optional(Type.String()),\n object_id: Type.String(),\n link: Type.String(),\n is_published: Type.Boolean(),\n status_type: Type.String(),\n type: Type.String(),\n actions: Type.Array(\n Type.Object({\n name: Type.String(),\n link: Type.String(),\n }),\n ),\n }),\n ),\n paging: Type.Object({\n previous: Type.Optional(Type.String()),\n next: Type.Optional(Type.String()),\n }),\n});\n\nexport type FacebookPostSchema = Static<typeof facebookPostSchema>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,qBAAqB,KAAK,OAAO;AAAA,EAC5C,MAAM,KAAK;AAAA,IACT,KAAK,OAAO;AAAA,MACV,MAAM,KAAK,OAAO;AAAA,QAChB,MAAM,KAAK,OAAO;AAAA,QAClB,IAAI,KAAK,OAAO;AAAA,MAClB,CAAC;AAAA,MACD,IAAI,KAAK,OAAO;AAAA,MAChB,eAAe,KAAK,OAAO;AAAA,MAC3B,WAAW,KAAK,QAAQ;AAAA,MACxB,SAAS,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,MACpC,WAAW,KAAK,OAAO;AAAA,MACvB,MAAM,KAAK,OAAO;AAAA,MAClB,cAAc,KAAK,QAAQ;AAAA,MAC3B,aAAa,KAAK,OAAO;AAAA,MACzB,MAAM,KAAK,OAAO;AAAA,MAClB,SAAS,KAAK;AAAA,QACZ,KAAK,OAAO;AAAA,UACV,MAAM,KAAK,OAAO;AAAA,UAClB,MAAM,KAAK,OAAO;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK,OAAO;AAAA,IAClB,UAAU,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,IACrC,MAAM,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,EACnC,CAAC;AACH,CAAC;","names":[]}
@@ -1,4 +1,32 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{b as c,c as r}from"../../../chunk-6HLU4UI2.js";var f=async({options:e,pageAttributes:n})=>{let o=c(n),a=e.url.replace(r,o),s={};if(e.headers)for(let[p,l]of Object.entries(e.headers??{}))s[p]=l.replace(r,o);let t=await fetch(a,{headers:s});if(!t.ok)throw new Error(`fetchHttpJSON Error: Response status: ${t.status}`);return t.json()},i=f;export{i as default};
3
+ import {
4
+ createPlaceholderReplacer,
5
+ placeholderRx
6
+ } from "../../../chunk-OJP4HMJT.js";
7
+ import "../../../chunk-ZGQ3AQBG.js";
8
+
9
+ // src/shared/datasources/external/http-json/fetcher.ts
10
+ var fetchHttpJSON = async ({
11
+ options,
12
+ pageAttributes
13
+ }) => {
14
+ const replacer = createPlaceholderReplacer(pageAttributes);
15
+ const url = options.url.replace(placeholderRx, replacer);
16
+ const headers = {};
17
+ if (options.headers) {
18
+ for (const [key, value] of Object.entries(options.headers ?? {})) {
19
+ headers[key] = value.replace(placeholderRx, replacer);
20
+ }
21
+ }
22
+ const response = await fetch(url, { headers });
23
+ if (!response.ok) {
24
+ throw new Error(`fetchHttpJSON Error: Response status: ${response.status}`);
25
+ }
26
+ return response.json();
27
+ };
28
+ var fetcher_default = fetchHttpJSON;
29
+ export {
30
+ fetcher_default as default
31
+ };
4
32
  //# sourceMappingURL=fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/fetcher.ts"],"sourcesContent":["import type { DatasourceFetcher } from \"../../fetcher\";\nimport { createPlaceholderReplacer, placeholderRx } from \"../../utils\";\nimport type { HttpJsonOptions } from \"./options\";\n\n/**\n * For this fetcher, validation is done outside of the fetcher.\n */\nconst fetchHttpJSON: DatasourceFetcher<unknown, null, HttpJsonOptions> = async ({\n options,\n pageAttributes,\n}) => {\n const replacer = createPlaceholderReplacer(pageAttributes);\n const url = options.url.replace(placeholderRx, replacer);\n const headers: Record<string, string> = {};\n\n if (options.headers) {\n for (const [key, value] of Object.entries(options.headers ?? {})) {\n headers[key] = (value as string).replace(placeholderRx, replacer);\n }\n }\n\n const response = await fetch(url, { headers });\n\n if (!response.ok) {\n throw new Error(`fetchHttpJSON Error: Response status: ${response.status}`);\n }\n\n return response.json();\n};\n\nexport default fetchHttpJSON;\n"],"mappings":";;sDAOA,IAAMA,EAAmE,MAAO,CAC9E,QAAAC,EACA,eAAAC,CACF,IAAM,CACJ,IAAMC,EAAWC,EAA0BF,CAAc,EACnDG,EAAMJ,EAAQ,IAAI,QAAQK,EAAeH,CAAQ,EACjDI,EAAkC,CAAC,EAEzC,GAAIN,EAAQ,QACV,OAAW,CAACO,EAAKC,CAAK,IAAK,OAAO,QAAQR,EAAQ,SAAW,CAAC,CAAC,EAC7DM,EAAQC,CAAG,EAAKC,EAAiB,QAAQH,EAAeH,CAAQ,EAIpE,IAAMO,EAAW,MAAM,MAAML,EAAK,CAAE,QAAAE,CAAQ,CAAC,EAE7C,GAAI,CAACG,EAAS,GACZ,MAAM,IAAI,MAAM,yCAAyCA,EAAS,MAAM,EAAE,EAG5E,OAAOA,EAAS,KAAK,CACvB,EAEOC,EAAQX","names":["fetchHttpJSON","options","pageAttributes","replacer","createPlaceholderReplacer","url","placeholderRx","headers","key","value","response","fetcher_default"]}
1
+ {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/fetcher.ts"],"sourcesContent":["import type { DatasourceFetcher } from \"../../fetcher\";\nimport { createPlaceholderReplacer, placeholderRx } from \"../../utils\";\nimport type { HttpJsonOptions } from \"./options\";\n\n/**\n * For this fetcher, validation is done outside of the fetcher.\n */\nconst fetchHttpJSON: DatasourceFetcher<unknown, null, HttpJsonOptions> = async ({\n options,\n pageAttributes,\n}) => {\n const replacer = createPlaceholderReplacer(pageAttributes);\n const url = options.url.replace(placeholderRx, replacer);\n const headers: Record<string, string> = {};\n\n if (options.headers) {\n for (const [key, value] of Object.entries(options.headers ?? {})) {\n headers[key] = (value as string).replace(placeholderRx, replacer);\n }\n }\n\n const response = await fetch(url, { headers });\n\n if (!response.ok) {\n throw new Error(`fetchHttpJSON Error: Response status: ${response.status}`);\n }\n\n return response.json();\n};\n\nexport default fetchHttpJSON;\n"],"mappings":";;;;;;;;;AAOA,IAAM,gBAAmE,OAAO;AAAA,EAC9E;AAAA,EACA;AACF,MAAM;AACJ,QAAM,WAAW,0BAA0B,cAAc;AACzD,QAAM,MAAM,QAAQ,IAAI,QAAQ,eAAe,QAAQ;AACvD,QAAM,UAAkC,CAAC;AAEzC,MAAI,QAAQ,SAAS;AACnB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,WAAW,CAAC,CAAC,GAAG;AAChE,cAAQ,GAAG,IAAK,MAAiB,QAAQ,eAAe,QAAQ;AAAA,IAClE;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,MAAM,KAAK,EAAE,QAAQ,CAAC;AAE7C,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MAAM,yCAAyC,SAAS,MAAM,EAAE;AAAA,EAC5E;AAEA,SAAO,SAAS,KAAK;AACvB;AAEA,IAAO,kBAAQ;","names":[]}
@@ -1,4 +1,14 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";var p=t.Object({url:t.String({format:"uri"}),headers:t.Optional(t.Record(t.String(),t.String()))});export{p as httpJsonOptions};
3
+ import "../../../chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datasources/external/http-json/options.ts
6
+ import { Type } from "@sinclair/typebox";
7
+ var httpJsonOptions = Type.Object({
8
+ url: Type.String({ format: "uri" }),
9
+ headers: Type.Optional(Type.Record(Type.String(), Type.String()))
10
+ });
11
+ export {
12
+ httpJsonOptions
13
+ };
4
14
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/options.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const httpJsonOptions = Type.Object({\n url: Type.String({ format: \"uri\" }),\n headers: Type.Optional(Type.Record(Type.String(), Type.String())),\n});\n\nexport type HttpJsonOptions = Static<typeof httpJsonOptions>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAkBD,EAAK,OAAO,CACzC,IAAKA,EAAK,OAAO,CAAE,OAAQ,KAAM,CAAC,EAClC,QAASA,EAAK,SAASA,EAAK,OAAOA,EAAK,OAAO,EAAGA,EAAK,OAAO,CAAC,CAAC,CAClE,CAAC","names":["Type","httpJsonOptions"]}
1
+ {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/options.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const httpJsonOptions = Type.Object({\n url: Type.String({ format: \"uri\" }),\n headers: Type.Optional(Type.Record(Type.String(), Type.String())),\n});\n\nexport type HttpJsonOptions = Static<typeof httpJsonOptions>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,kBAAkB,KAAK,OAAO;AAAA,EACzC,KAAK,KAAK,OAAO,EAAE,QAAQ,MAAM,CAAC;AAAA,EAClC,SAAS,KAAK,SAAS,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC;AAClE,CAAC;","names":[]}
@@ -1,4 +1,13 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";var e=t.Object({},{additionalProperties:!0}),o=t.Array(e,{title:"Http JSON"});export{o as jsonArraySchema,e as jsonObjectSchema};
3
+ import "../../../chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datasources/external/http-json/schema.ts
6
+ import { Type } from "@sinclair/typebox";
7
+ var jsonObjectSchema = Type.Object({}, { additionalProperties: true });
8
+ var jsonArraySchema = Type.Array(jsonObjectSchema, { title: "Http JSON" });
9
+ export {
10
+ jsonArraySchema,
11
+ jsonObjectSchema
12
+ };
4
13
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const jsonObjectSchema = Type.Object({}, { additionalProperties: true });\nexport const jsonArraySchema = Type.Array(jsonObjectSchema, { title: \"Http JSON\" });\n\nexport type JSONArraySchema = Static<typeof jsonArraySchema>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAmBD,EAAK,OAAO,CAAC,EAAG,CAAE,qBAAsB,EAAK,CAAC,EACjEE,EAAkBF,EAAK,MAAMC,EAAkB,CAAE,MAAO,WAAY,CAAC","names":["Type","jsonObjectSchema","jsonArraySchema"]}
1
+ {"version":3,"sources":["../../../../../src/shared/datasources/external/http-json/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const jsonObjectSchema = Type.Object({}, { additionalProperties: true });\nexport const jsonArraySchema = Type.Array(jsonObjectSchema, { title: \"Http JSON\" });\n\nexport type JSONArraySchema = Static<typeof jsonArraySchema>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,mBAAmB,KAAK,OAAO,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC;AACvE,IAAM,kBAAkB,KAAK,MAAM,kBAAkB,EAAE,OAAO,YAAY,CAAC;","names":[]}
@@ -1,4 +1,32 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a}from"../../../../chunk-6HLU4UI2.js";import{a as t}from"../../../../chunk-DCH4ZKWT.js";var n=async({options:r,oauth:s})=>{let o=new URLSearchParams({...a(r),access_token:s.config.accessToken,fields:["id","caption","timestamp","thumbnail_url","media_url","permalink","media_type"].join(",")}),e=await fetch(`https://graph.instagram.com/me/media?${o.toString()}`);if(!e.ok)throw e.status===401?new t("fetchInstagramFeedDatasource Error: Unauthorized."):new Error(`fetchInstagramFeedDatasource Error: Response status: ${e.status}`);return await e.json()},h=n;export{h as default};
3
+ import {
4
+ stringifyObjectValues
5
+ } from "../../../../chunk-OJP4HMJT.js";
6
+ import {
7
+ UnauthorizedError
8
+ } from "../../../../chunk-XZ6WJZHN.js";
9
+ import "../../../../chunk-ZGQ3AQBG.js";
10
+
11
+ // src/shared/datasources/external/instagram/feed/fetcher.ts
12
+ var fetchInstagramFeedDatasource = async ({ options, oauth }) => {
13
+ const params = new URLSearchParams({
14
+ ...stringifyObjectValues(options),
15
+ access_token: oauth.config.accessToken,
16
+ fields: ["id", "caption", "timestamp", "thumbnail_url", "media_url", "permalink", "media_type"].join(",")
17
+ });
18
+ const response = await fetch(`https://graph.instagram.com/me/media?${params.toString()}`);
19
+ if (!response.ok) {
20
+ if (response.status === 401) {
21
+ throw new UnauthorizedError(`fetchInstagramFeedDatasource Error: Unauthorized.`);
22
+ }
23
+ throw new Error(`fetchInstagramFeedDatasource Error: Response status: ${response.status}`);
24
+ }
25
+ const feed = await response.json();
26
+ return feed;
27
+ };
28
+ var fetcher_default = fetchInstagramFeedDatasource;
29
+ export {
30
+ fetcher_default as default
31
+ };
4
32
  //# sourceMappingURL=fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datasources/external/instagram/feed/fetcher.ts"],"sourcesContent":["import type { InstagramFeedSchema } from \"./schema\";\nimport type { MetaFullOAuthConfig } from \"~/shared/datasources/external/meta/oauth/config\";\nimport { UnauthorizedError } from \"~/shared/errors\";\nimport type { MetaOptions } from \"~/shared/datasources/external/meta/options\";\nimport { stringifyObjectValues } from \"~/shared/datasources/utils\";\nimport type { DatasourceFetcher } from \"~/shared/datasources/fetcher\";\n\nconst fetchInstagramFeedDatasource: DatasourceFetcher<\n InstagramFeedSchema,\n MetaFullOAuthConfig,\n MetaOptions\n> = async ({ options, oauth }) => {\n const params = new URLSearchParams({\n ...stringifyObjectValues(options),\n access_token: oauth.config.accessToken,\n fields: [\"id\", \"caption\", \"timestamp\", \"thumbnail_url\", \"media_url\", \"permalink\", \"media_type\"].join(\",\"),\n });\n\n const response = await fetch(`https://graph.instagram.com/me/media?${params.toString()}`);\n\n if (!response.ok) {\n if (response.status === 401) {\n throw new UnauthorizedError(`fetchInstagramFeedDatasource Error: Unauthorized.`);\n }\n throw new Error(`fetchInstagramFeedDatasource Error: Response status: ${response.status}`);\n }\n\n const feed = (await response.json()) as InstagramFeedSchema;\n\n return feed;\n};\n\nexport default fetchInstagramFeedDatasource;\n"],"mappings":";;+FAOA,IAAMA,EAIF,MAAO,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAM,CAChC,IAAMC,EAAS,IAAI,gBAAgB,CACjC,GAAGC,EAAsBH,CAAO,EAChC,aAAcC,EAAM,OAAO,YAC3B,OAAQ,CAAC,KAAM,UAAW,YAAa,gBAAiB,YAAa,YAAa,YAAY,EAAE,KAAK,GAAG,CAC1G,CAAC,EAEKG,EAAW,MAAM,MAAM,wCAAwCF,EAAO,SAAS,CAAC,EAAE,EAExF,GAAI,CAACE,EAAS,GACZ,MAAIA,EAAS,SAAW,IAChB,IAAIC,EAAkB,mDAAmD,EAE3E,IAAI,MAAM,wDAAwDD,EAAS,MAAM,EAAE,EAK3F,OAFc,MAAMA,EAAS,KAAK,CAGpC,EAEOE,EAAQP","names":["fetchInstagramFeedDatasource","options","oauth","params","stringifyObjectValues","response","UnauthorizedError","fetcher_default"]}
1
+ {"version":3,"sources":["../../../../../../src/shared/datasources/external/instagram/feed/fetcher.ts"],"sourcesContent":["import type { InstagramFeedSchema } from \"./schema\";\nimport type { MetaFullOAuthConfig } from \"~/shared/datasources/external/meta/oauth/config\";\nimport { UnauthorizedError } from \"~/shared/errors\";\nimport type { MetaOptions } from \"~/shared/datasources/external/meta/options\";\nimport { stringifyObjectValues } from \"~/shared/datasources/utils\";\nimport type { DatasourceFetcher } from \"~/shared/datasources/fetcher\";\n\nconst fetchInstagramFeedDatasource: DatasourceFetcher<\n InstagramFeedSchema,\n MetaFullOAuthConfig,\n MetaOptions\n> = async ({ options, oauth }) => {\n const params = new URLSearchParams({\n ...stringifyObjectValues(options),\n access_token: oauth.config.accessToken,\n fields: [\"id\", \"caption\", \"timestamp\", \"thumbnail_url\", \"media_url\", \"permalink\", \"media_type\"].join(\",\"),\n });\n\n const response = await fetch(`https://graph.instagram.com/me/media?${params.toString()}`);\n\n if (!response.ok) {\n if (response.status === 401) {\n throw new UnauthorizedError(`fetchInstagramFeedDatasource Error: Unauthorized.`);\n }\n throw new Error(`fetchInstagramFeedDatasource Error: Response status: ${response.status}`);\n }\n\n const feed = (await response.json()) as InstagramFeedSchema;\n\n return feed;\n};\n\nexport default fetchInstagramFeedDatasource;\n"],"mappings":";;;;;;;;;;;AAOA,IAAM,+BAIF,OAAO,EAAE,SAAS,MAAM,MAAM;AAChC,QAAM,SAAS,IAAI,gBAAgB;AAAA,IACjC,GAAG,sBAAsB,OAAO;AAAA,IAChC,cAAc,MAAM,OAAO;AAAA,IAC3B,QAAQ,CAAC,MAAM,WAAW,aAAa,iBAAiB,aAAa,aAAa,YAAY,EAAE,KAAK,GAAG;AAAA,EAC1G,CAAC;AAED,QAAM,WAAW,MAAM,MAAM,wCAAwC,OAAO,SAAS,CAAC,EAAE;AAExF,MAAI,CAAC,SAAS,IAAI;AAChB,QAAI,SAAS,WAAW,KAAK;AAC3B,YAAM,IAAI,kBAAkB,mDAAmD;AAAA,IACjF;AACA,UAAM,IAAI,MAAM,wDAAwD,SAAS,MAAM,EAAE;AAAA,EAC3F;AAEA,QAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,SAAO;AACT;AAEA,IAAO,kBAAQ;","names":[]}
@@ -1,4 +1,29 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";var a=t.Object({data:t.Array(t.Object({id:t.String(),caption:t.String(),timestamp:t.String(),media_url:t.String(),permalink:t.String(),media_type:t.Union([t.Literal("IMAGE"),t.Literal("VIDEO"),t.Literal("CAROUSEL_ALBUM")])})),paging:t.Object({cursors:t.Object({before:t.Optional(t.String()),after:t.Optional(t.String())}),next:t.Optional(t.String())})});export{a as instagramFeedSchema};
3
+ import "../../../../chunk-ZGQ3AQBG.js";
4
+
5
+ // src/shared/datasources/external/instagram/feed/schema.ts
6
+ import { Type } from "@sinclair/typebox";
7
+ var instagramFeedSchema = Type.Object({
8
+ data: Type.Array(
9
+ Type.Object({
10
+ id: Type.String(),
11
+ caption: Type.String(),
12
+ timestamp: Type.String(),
13
+ media_url: Type.String(),
14
+ permalink: Type.String(),
15
+ media_type: Type.Union([Type.Literal("IMAGE"), Type.Literal("VIDEO"), Type.Literal("CAROUSEL_ALBUM")])
16
+ })
17
+ ),
18
+ paging: Type.Object({
19
+ cursors: Type.Object({
20
+ before: Type.Optional(Type.String()),
21
+ after: Type.Optional(Type.String())
22
+ }),
23
+ next: Type.Optional(Type.String())
24
+ })
25
+ });
26
+ export {
27
+ instagramFeedSchema
28
+ };
4
29
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datasources/external/instagram/feed/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const instagramFeedSchema = Type.Object({\n data: Type.Array(\n Type.Object({\n id: Type.String(),\n caption: Type.String(),\n timestamp: Type.String(),\n media_url: Type.String(),\n permalink: Type.String(),\n media_type: Type.Union([Type.Literal(\"IMAGE\"), Type.Literal(\"VIDEO\"), Type.Literal(\"CAROUSEL_ALBUM\")]),\n }),\n ),\n paging: Type.Object({\n cursors: Type.Object({\n before: Type.Optional(Type.String()),\n after: Type.Optional(Type.String()),\n }),\n next: Type.Optional(Type.String()),\n }),\n});\n\nexport type InstagramFeedSchema = Static<typeof instagramFeedSchema>;\n"],"mappings":";;AAAA,OAAS,QAAAA,MAAyB,oBAE3B,IAAMC,EAAsBD,EAAK,OAAO,CAC7C,KAAMA,EAAK,MACTA,EAAK,OAAO,CACV,GAAIA,EAAK,OAAO,EAChB,QAASA,EAAK,OAAO,EACrB,UAAWA,EAAK,OAAO,EACvB,UAAWA,EAAK,OAAO,EACvB,UAAWA,EAAK,OAAO,EACvB,WAAYA,EAAK,MAAM,CAACA,EAAK,QAAQ,OAAO,EAAGA,EAAK,QAAQ,OAAO,EAAGA,EAAK,QAAQ,gBAAgB,CAAC,CAAC,CACvG,CAAC,CACH,EACA,OAAQA,EAAK,OAAO,CAClB,QAASA,EAAK,OAAO,CACnB,OAAQA,EAAK,SAASA,EAAK,OAAO,CAAC,EACnC,MAAOA,EAAK,SAASA,EAAK,OAAO,CAAC,CACpC,CAAC,EACD,KAAMA,EAAK,SAASA,EAAK,OAAO,CAAC,CACnC,CAAC,CACH,CAAC","names":["Type","instagramFeedSchema"]}
1
+ {"version":3,"sources":["../../../../../../src/shared/datasources/external/instagram/feed/schema.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const instagramFeedSchema = Type.Object({\n data: Type.Array(\n Type.Object({\n id: Type.String(),\n caption: Type.String(),\n timestamp: Type.String(),\n media_url: Type.String(),\n permalink: Type.String(),\n media_type: Type.Union([Type.Literal(\"IMAGE\"), Type.Literal(\"VIDEO\"), Type.Literal(\"CAROUSEL_ALBUM\")]),\n }),\n ),\n paging: Type.Object({\n cursors: Type.Object({\n before: Type.Optional(Type.String()),\n after: Type.Optional(Type.String()),\n }),\n next: Type.Optional(Type.String()),\n }),\n});\n\nexport type InstagramFeedSchema = Static<typeof instagramFeedSchema>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,sBAAsB,KAAK,OAAO;AAAA,EAC7C,MAAM,KAAK;AAAA,IACT,KAAK,OAAO;AAAA,MACV,IAAI,KAAK,OAAO;AAAA,MAChB,SAAS,KAAK,OAAO;AAAA,MACrB,WAAW,KAAK,OAAO;AAAA,MACvB,WAAW,KAAK,OAAO;AAAA,MACvB,WAAW,KAAK,OAAO;AAAA,MACvB,YAAY,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,GAAG,KAAK,QAAQ,OAAO,GAAG,KAAK,QAAQ,gBAAgB,CAAC,CAAC;AAAA,IACvG,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,KAAK,OAAO;AAAA,IAClB,SAAS,KAAK,OAAO;AAAA,MACnB,QAAQ,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,MACnC,OAAO,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,IACpC,CAAC;AAAA,IACD,MAAM,KAAK,SAAS,KAAK,OAAO,CAAC;AAAA,EACnC,CAAC;AACH,CAAC;","names":[]}
@@ -1,4 +1,10 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a}from"../../../../chunk-KO5FPOWZ.js";export{a as default};
3
+ import {
4
+ fetcher_default
5
+ } from "../../../../chunk-KT7SSWMM.js";
6
+ import "../../../../chunk-ZGQ3AQBG.js";
7
+ export {
8
+ fetcher_default as default
9
+ };
4
10
  //# sourceMappingURL=fetcher.js.map