@upstart.gg/sdk 0.0.138 → 0.0.139

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 (786) hide show
  1. package/dist/shared/ai/schemas.d.ts +20 -15
  2. package/dist/shared/ai/schemas.d.ts.map +1 -1
  3. package/dist/shared/ai/schemas.js +31 -57
  4. package/dist/shared/ai/schemas.js.map +1 -1
  5. package/dist/shared/ai/types.d.ts +193 -190
  6. package/dist/shared/ai/types.d.ts.map +1 -1
  7. package/dist/shared/ai/types.js +1 -3
  8. package/dist/shared/analytics/init.d.ts +4 -1
  9. package/dist/shared/analytics/init.d.ts.map +1 -1
  10. package/dist/shared/analytics/init.js +14 -20
  11. package/dist/shared/analytics/init.js.map +1 -1
  12. package/dist/shared/analytics/track.d.ts +6 -2
  13. package/dist/shared/analytics/track.d.ts.map +1 -1
  14. package/dist/shared/analytics/track.js +14 -24
  15. package/dist/shared/analytics/track.js.map +1 -1
  16. package/dist/shared/analytics/types.d.ts +10 -8
  17. package/dist/shared/analytics/types.d.ts.map +1 -1
  18. package/dist/shared/analytics/types.js +1 -3
  19. package/dist/shared/attributes.d.ts +488 -483
  20. package/dist/shared/attributes.d.ts.map +1 -1
  21. package/dist/shared/attributes.js +369 -45
  22. package/dist/shared/attributes.js.map +1 -1
  23. package/dist/shared/brick-manifest.d.ts +126 -108
  24. package/dist/shared/brick-manifest.d.ts.map +1 -1
  25. package/dist/shared/brick-manifest.js +36 -12
  26. package/dist/shared/brick-manifest.js.map +1 -1
  27. package/dist/shared/bricks/manifests/_types.d.ts +11 -7
  28. package/dist/shared/bricks/manifests/_types.d.ts.map +1 -1
  29. package/dist/shared/bricks/manifests/_types.js +1 -3
  30. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +83 -76
  31. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  32. package/dist/shared/bricks/manifests/accordion.manifest.js +389 -24
  33. package/dist/shared/bricks/manifests/accordion.manifest.js.map +1 -1
  34. package/dist/shared/bricks/manifests/all-manifests.d.ts +15 -10
  35. package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/all-manifests.js +128 -61
  37. package/dist/shared/bricks/manifests/all-manifests.js.map +1 -1
  38. package/dist/shared/bricks/manifests/all-props.d.ts +1510 -1505
  39. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/all-props.js +167 -241
  41. package/dist/shared/bricks/manifests/all-props.js.map +1 -1
  42. package/dist/shared/bricks/manifests/box.manifest.d.ts +87 -80
  43. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  44. package/dist/shared/bricks/manifests/box.manifest.js +548 -27
  45. package/dist/shared/bricks/manifests/box.manifest.js.map +1 -1
  46. package/dist/shared/bricks/manifests/button.manifest.d.ts +75 -68
  47. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/button.manifest.js +308 -23
  49. package/dist/shared/bricks/manifests/button.manifest.js.map +1 -1
  50. package/dist/shared/bricks/manifests/card.manifest.d.ts +96 -89
  51. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/card.manifest.js +392 -28
  53. package/dist/shared/bricks/manifests/card.manifest.js.map +1 -1
  54. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +86 -79
  55. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/carousel.manifest.js +775 -26
  57. package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -1
  58. package/dist/shared/bricks/manifests/footer.manifest.d.ts +117 -110
  59. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/footer.manifest.js +864 -25
  61. package/dist/shared/bricks/manifests/footer.manifest.js.map +1 -1
  62. package/dist/shared/bricks/manifests/form.manifest.d.ts +94 -87
  63. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  64. package/dist/shared/bricks/manifests/form.manifest.js +324 -25
  65. package/dist/shared/bricks/manifests/form.manifest.js.map +1 -1
  66. package/dist/shared/bricks/manifests/hero.manifest.d.ts +80 -73
  67. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/hero.manifest.js +202 -24
  69. package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -1
  70. package/dist/shared/bricks/manifests/html.manifest.d.ts +68 -61
  71. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/html.manifest.js +95 -18
  73. package/dist/shared/bricks/manifests/html.manifest.js.map +1 -1
  74. package/dist/shared/bricks/manifests/icon.manifest.d.ts +74 -67
  75. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  76. package/dist/shared/bricks/manifests/icon.manifest.js +239 -24
  77. package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -1
  78. package/dist/shared/bricks/manifests/image.manifest.d.ts +97 -90
  79. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/image.manifest.js +456 -27
  81. package/dist/shared/bricks/manifests/image.manifest.js.map +1 -1
  82. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +93 -86
  83. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/images-gallery.manifest.js +598 -25
  85. package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -1
  86. package/dist/shared/bricks/manifests/map.manifest.d.ts +78 -71
  87. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  88. package/dist/shared/bricks/manifests/map.manifest.js +138 -23
  89. package/dist/shared/bricks/manifests/map.manifest.js.map +1 -1
  90. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +117 -110
  91. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/navbar.manifest.js +370 -28
  93. package/dist/shared/bricks/manifests/navbar.manifest.js.map +1 -1
  94. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +94 -87
  95. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  96. package/dist/shared/bricks/manifests/sidebar.manifest.js +69 -24
  97. package/dist/shared/bricks/manifests/sidebar.manifest.js.map +1 -1
  98. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +84 -77
  99. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  100. package/dist/shared/bricks/manifests/social-links.manifest.js +465 -24
  101. package/dist/shared/bricks/manifests/social-links.manifest.js.map +1 -1
  102. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +65 -58
  103. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  104. package/dist/shared/bricks/manifests/spacer.manifest.js +39 -18
  105. package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -1
  106. package/dist/shared/bricks/manifests/table.manifest.d.ts +93 -86
  107. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  108. package/dist/shared/bricks/manifests/table.manifest.js +771 -25
  109. package/dist/shared/bricks/manifests/table.manifest.js.map +1 -1
  110. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +91 -84
  111. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  112. package/dist/shared/bricks/manifests/tabs.manifest.js +119 -25
  113. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -1
  114. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +97 -90
  115. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  116. package/dist/shared/bricks/manifests/testimonials.manifest.js +223 -28
  117. package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -1
  118. package/dist/shared/bricks/manifests/text.manifest.d.ts +76 -69
  119. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  120. package/dist/shared/bricks/manifests/text.manifest.js +199 -23
  121. package/dist/shared/bricks/manifests/text.manifest.js.map +1 -1
  122. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +102 -95
  123. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  124. package/dist/shared/bricks/manifests/timeline.manifest.js +401 -25
  125. package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -1
  126. package/dist/shared/bricks/manifests/video.manifest.d.ts +74 -67
  127. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  128. package/dist/shared/bricks/manifests/video.manifest.js +97 -21
  129. package/dist/shared/bricks/manifests/video.manifest.js.map +1 -1
  130. package/dist/shared/bricks/props/align.d.ts +12 -7
  131. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/align.js +74 -13
  133. package/dist/shared/bricks/props/align.js.map +1 -1
  134. package/dist/shared/bricks/props/background.d.ts +21 -17
  135. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  136. package/dist/shared/bricks/props/background.js +63 -11
  137. package/dist/shared/bricks/props/background.js.map +1 -1
  138. package/dist/shared/bricks/props/boolean.d.ts +6 -2
  139. package/dist/shared/bricks/props/boolean.d.ts.map +1 -1
  140. package/dist/shared/bricks/props/boolean.js +12 -8
  141. package/dist/shared/bricks/props/boolean.js.map +1 -1
  142. package/dist/shared/bricks/props/border.d.ts +12 -7
  143. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  144. package/dist/shared/bricks/props/border.js +85 -12
  145. package/dist/shared/bricks/props/border.js.map +1 -1
  146. package/dist/shared/bricks/props/color-preset.d.ts +331 -327
  147. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  148. package/dist/shared/bricks/props/color-preset.js +378 -10
  149. package/dist/shared/bricks/props/color-preset.js.map +1 -1
  150. package/dist/shared/bricks/props/color.d.ts +10 -5
  151. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  152. package/dist/shared/bricks/props/color.js +27 -10
  153. package/dist/shared/bricks/props/color.js.map +1 -1
  154. package/dist/shared/bricks/props/common.d.ts +32 -28
  155. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  156. package/dist/shared/bricks/props/common.js +42 -13
  157. package/dist/shared/bricks/props/common.js.map +1 -1
  158. package/dist/shared/bricks/props/css-length.d.ts +10 -5
  159. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  160. package/dist/shared/bricks/props/css-length.js +39 -12
  161. package/dist/shared/bricks/props/css-length.js.map +1 -1
  162. package/dist/shared/bricks/props/datarecord.d.ts +8 -3
  163. package/dist/shared/bricks/props/datarecord.d.ts.map +1 -1
  164. package/dist/shared/bricks/props/datarecord.js +12 -8
  165. package/dist/shared/bricks/props/datarecord.js.map +1 -1
  166. package/dist/shared/bricks/props/datasource.d.ts +18 -13
  167. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  168. package/dist/shared/bricks/props/datasource.js +61 -84
  169. package/dist/shared/bricks/props/datasource.js.map +1 -1
  170. package/dist/shared/bricks/props/date.d.ts +8 -3
  171. package/dist/shared/bricks/props/date.d.ts.map +1 -1
  172. package/dist/shared/bricks/props/date.js +19 -23
  173. package/dist/shared/bricks/props/date.js.map +1 -1
  174. package/dist/shared/bricks/props/direction.d.ts +8 -3
  175. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  176. package/dist/shared/bricks/props/direction.js +16 -9
  177. package/dist/shared/bricks/props/direction.js.map +1 -1
  178. package/dist/shared/bricks/props/dynamic.d.ts +39 -34
  179. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  180. package/dist/shared/bricks/props/dynamic.js +92 -13
  181. package/dist/shared/bricks/props/dynamic.js.map +1 -1
  182. package/dist/shared/bricks/props/effects.d.ts +18 -11
  183. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  184. package/dist/shared/bricks/props/effects.js +81 -13
  185. package/dist/shared/bricks/props/effects.js.map +1 -1
  186. package/dist/shared/bricks/props/file.d.ts +6 -1
  187. package/dist/shared/bricks/props/file.d.ts.map +1 -1
  188. package/dist/shared/bricks/props/file.js +11 -14
  189. package/dist/shared/bricks/props/file.js.map +1 -1
  190. package/dist/shared/bricks/props/geolocation.d.ts +15 -10
  191. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  192. package/dist/shared/bricks/props/geolocation.js +28 -40
  193. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  194. package/dist/shared/bricks/props/grow.d.ts +7 -2
  195. package/dist/shared/bricks/props/grow.d.ts.map +1 -1
  196. package/dist/shared/bricks/props/grow.js +14 -8
  197. package/dist/shared/bricks/props/grow.js.map +1 -1
  198. package/dist/shared/bricks/props/helpers.d.ts +32 -24
  199. package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
  200. package/dist/shared/bricks/props/helpers.js +50 -19
  201. package/dist/shared/bricks/props/helpers.js.map +1 -1
  202. package/dist/shared/bricks/props/image.d.ts +15 -12
  203. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  204. package/dist/shared/bricks/props/image.js +109 -9
  205. package/dist/shared/bricks/props/image.js.map +1 -1
  206. package/dist/shared/bricks/props/number.d.ts +8 -4
  207. package/dist/shared/bricks/props/number.d.ts.map +1 -1
  208. package/dist/shared/bricks/props/number.js +11 -8
  209. package/dist/shared/bricks/props/number.js.map +1 -1
  210. package/dist/shared/bricks/props/position.d.ts +8 -3
  211. package/dist/shared/bricks/props/position.d.ts.map +1 -1
  212. package/dist/shared/bricks/props/position.js +12 -8
  213. package/dist/shared/bricks/props/position.js.map +1 -1
  214. package/dist/shared/bricks/props/string.d.ts +13 -9
  215. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  216. package/dist/shared/bricks/props/string.js +34 -12
  217. package/dist/shared/bricks/props/string.js.map +1 -1
  218. package/dist/shared/bricks/props/tags.d.ts +8 -3
  219. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  220. package/dist/shared/bricks/props/tags.js +16 -8
  221. package/dist/shared/bricks/props/tags.js.map +1 -1
  222. package/dist/shared/bricks/props/text.d.ts +22 -11
  223. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  224. package/dist/shared/bricks/props/text.js +79 -13
  225. package/dist/shared/bricks/props/text.js.map +1 -1
  226. package/dist/shared/bricks/props/types.d.ts +52 -49
  227. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  228. package/dist/shared/bricks/props/types.js +1 -3
  229. package/dist/shared/bricks.d.ts +183 -179
  230. package/dist/shared/bricks.d.ts.map +1 -1
  231. package/dist/shared/bricks.js +271 -78
  232. package/dist/shared/bricks.js.map +1 -1
  233. package/dist/shared/context.d.ts +405 -398
  234. package/dist/shared/context.d.ts.map +1 -1
  235. package/dist/shared/context.js +22 -93
  236. package/dist/shared/context.js.map +1 -1
  237. package/dist/shared/datarecords/external/airtable/handler.d.ts +40 -20
  238. package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
  239. package/dist/shared/datarecords/external/airtable/handler.js +242 -366
  240. package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
  241. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts +14 -9
  242. package/dist/shared/datarecords/external/airtable/oauth/config.d.ts.map +1 -1
  243. package/dist/shared/datarecords/external/airtable/oauth/config.js +12 -15
  244. package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
  245. package/dist/shared/datarecords/external/airtable/types.d.ts +39 -35
  246. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  247. package/dist/shared/datarecords/external/airtable/types.js +44 -13
  248. package/dist/shared/datarecords/external/airtable/types.js.map +1 -1
  249. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts +6 -2
  250. package/dist/shared/datarecords/external/generic-webhook/handler.d.ts.map +1 -1
  251. package/dist/shared/datarecords/external/generic-webhook/handler.js +9 -14
  252. package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
  253. package/dist/shared/datarecords/external/generic-webhook/options.d.ts +10 -5
  254. package/dist/shared/datarecords/external/generic-webhook/options.d.ts.map +1 -1
  255. package/dist/shared/datarecords/external/generic-webhook/options.js +14 -16
  256. package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
  257. package/dist/shared/datarecords/external/google/oauth/config.d.ts +28 -24
  258. package/dist/shared/datarecords/external/google/oauth/config.d.ts.map +1 -1
  259. package/dist/shared/datarecords/external/google/oauth/config.js +25 -34
  260. package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
  261. package/dist/shared/datarecords/external/google/sheets/client.d.ts +11 -9
  262. package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -1
  263. package/dist/shared/datarecords/external/google/sheets/client.js +75 -8
  264. package/dist/shared/datarecords/external/google/sheets/client.js.map +1 -1
  265. package/dist/shared/datarecords/external/google/sheets/handler.d.ts +36 -18
  266. package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
  267. package/dist/shared/datarecords/external/google/sheets/handler.js +103 -176
  268. package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
  269. package/dist/shared/datarecords/external/google/sheets/types.d.ts +12 -7
  270. package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -1
  271. package/dist/shared/datarecords/external/google/sheets/types.js +11 -8
  272. package/dist/shared/datarecords/external/google/sheets/types.js.map +1 -1
  273. package/dist/shared/datarecords/external/notion/handler.d.ts +48 -26
  274. package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
  275. package/dist/shared/datarecords/external/notion/handler.js +233 -386
  276. package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
  277. package/dist/shared/datarecords/external/notion/oauth/config.d.ts +10 -5
  278. package/dist/shared/datarecords/external/notion/oauth/config.d.ts.map +1 -1
  279. package/dist/shared/datarecords/external/notion/oauth/config.js +8 -11
  280. package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
  281. package/dist/shared/datarecords/external/notion/types.d.ts +20 -15
  282. package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -1
  283. package/dist/shared/datarecords/external/notion/types.js +14 -8
  284. package/dist/shared/datarecords/external/notion/types.js.map +1 -1
  285. package/dist/shared/datarecords/types.d.ts +24 -19
  286. package/dist/shared/datarecords/types.d.ts.map +1 -1
  287. package/dist/shared/datarecords/types.js +144 -16
  288. package/dist/shared/datarecords/types.js.map +1 -1
  289. package/dist/shared/datarecords.d.ts +6 -2
  290. package/dist/shared/datarecords.d.ts.map +1 -1
  291. package/dist/shared/datarecords.js +5 -9
  292. package/dist/shared/datarecords.js.map +1 -1
  293. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts +8 -5
  294. package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts.map +1 -1
  295. package/dist/shared/datasources/external/facebook/posts/fetcher.js +38 -48
  296. package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
  297. package/dist/shared/datasources/external/facebook/posts/schema.d.ts +30 -25
  298. package/dist/shared/datasources/external/facebook/posts/schema.d.ts.map +1 -1
  299. package/dist/shared/datasources/external/facebook/posts/schema.js +29 -36
  300. package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
  301. package/dist/shared/datasources/external/http-json/fetcher.d.ts +7 -3
  302. package/dist/shared/datasources/external/http-json/fetcher.d.ts.map +1 -1
  303. package/dist/shared/datasources/external/http-json/fetcher.js +16 -28
  304. package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
  305. package/dist/shared/datasources/external/http-json/options.d.ts +10 -5
  306. package/dist/shared/datasources/external/http-json/options.d.ts.map +1 -1
  307. package/dist/shared/datasources/external/http-json/options.js +8 -11
  308. package/dist/shared/datasources/external/http-json/options.js.map +1 -1
  309. package/dist/shared/datasources/external/http-json/schema.d.ts +9 -4
  310. package/dist/shared/datasources/external/http-json/schema.d.ts.map +1 -1
  311. package/dist/shared/datasources/external/http-json/schema.js +6 -10
  312. package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
  313. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts +8 -5
  314. package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts.map +1 -1
  315. package/dist/shared/datasources/external/instagram/feed/fetcher.js +26 -28
  316. package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
  317. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +22 -17
  318. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  319. package/dist/shared/datasources/external/instagram/feed/schema.js +26 -29
  320. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  321. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts +7 -4
  322. package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts.map +1 -1
  323. package/dist/shared/datasources/external/mastodon/account/fetcher.js +10 -8
  324. package/dist/shared/datasources/external/mastodon/account/fetcher.js.map +1 -1
  325. package/dist/shared/datasources/external/mastodon/account/schema.d.ts +43 -38
  326. package/dist/shared/datasources/external/mastodon/account/schema.d.ts.map +1 -1
  327. package/dist/shared/datasources/external/mastodon/account/schema.js +42 -8
  328. package/dist/shared/datasources/external/mastodon/account/schema.js.map +1 -1
  329. package/dist/shared/datasources/external/mastodon/options.d.ts +9 -4
  330. package/dist/shared/datasources/external/mastodon/options.d.ts.map +1 -1
  331. package/dist/shared/datasources/external/mastodon/options.js +5 -10
  332. package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
  333. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts +7 -4
  334. package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts.map +1 -1
  335. package/dist/shared/datasources/external/mastodon/status/fetcher.js +20 -31
  336. package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
  337. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts +50 -47
  338. package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts.map +1 -1
  339. package/dist/shared/datasources/external/mastodon/status/sample.array.js +54 -62
  340. package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
  341. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts +50 -47
  342. package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts.map +1 -1
  343. package/dist/shared/datasources/external/mastodon/status/sample.single.js +54 -60
  344. package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
  345. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +252 -247
  346. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  347. package/dist/shared/datasources/external/mastodon/status/schema.js +108 -108
  348. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  349. package/dist/shared/datasources/external/meta/oauth/config.d.ts +29 -25
  350. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  351. package/dist/shared/datasources/external/meta/oauth/config.js +15 -20
  352. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  353. package/dist/shared/datasources/external/meta/options.d.ts +9 -4
  354. package/dist/shared/datasources/external/meta/options.d.ts.map +1 -1
  355. package/dist/shared/datasources/external/meta/options.js +5 -10
  356. package/dist/shared/datasources/external/meta/options.js.map +1 -1
  357. package/dist/shared/datasources/external/rss/fetcher.d.ts +7 -4
  358. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  359. package/dist/shared/datasources/external/rss/fetcher.js +14 -25
  360. package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
  361. package/dist/shared/datasources/external/rss/options.d.ts +9 -4
  362. package/dist/shared/datasources/external/rss/options.d.ts.map +1 -1
  363. package/dist/shared/datasources/external/rss/options.js +5 -10
  364. package/dist/shared/datasources/external/rss/options.js.map +1 -1
  365. package/dist/shared/datasources/external/rss/sample.js +25 -0
  366. package/dist/shared/datasources/external/rss/sample.js.map +1 -0
  367. package/dist/shared/datasources/external/rss/schema.d.ts +13 -8
  368. package/dist/shared/datasources/external/rss/schema.d.ts.map +1 -1
  369. package/dist/shared/datasources/external/rss/schema.js +30 -8
  370. package/dist/shared/datasources/external/rss/schema.js.map +1 -1
  371. package/dist/shared/datasources/external/threads/media/fetcher.d.ts +9 -5
  372. package/dist/shared/datasources/external/threads/media/fetcher.d.ts.map +1 -1
  373. package/dist/shared/datasources/external/threads/media/fetcher.js +37 -46
  374. package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
  375. package/dist/shared/datasources/external/threads/media/schema.d.ts +29 -24
  376. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  377. package/dist/shared/datasources/external/threads/media/schema.js +32 -36
  378. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  379. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts +31 -27
  380. package/dist/shared/datasources/external/tiktok/oauth/config.d.ts.map +1 -1
  381. package/dist/shared/datasources/external/tiktok/oauth/config.js +15 -18
  382. package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
  383. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts +8 -5
  384. package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts.map +1 -1
  385. package/dist/shared/datasources/external/tiktok/video/fetcher.js +31 -33
  386. package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
  387. package/dist/shared/datasources/external/tiktok/video/options.d.ts +10 -5
  388. package/dist/shared/datasources/external/tiktok/video/options.d.ts.map +1 -1
  389. package/dist/shared/datasources/external/tiktok/video/options.js +8 -11
  390. package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
  391. package/dist/shared/datasources/external/tiktok/video/schema.d.ts +24 -19
  392. package/dist/shared/datasources/external/tiktok/video/schema.d.ts.map +1 -1
  393. package/dist/shared/datasources/external/tiktok/video/schema.js +23 -30
  394. package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
  395. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts +8 -5
  396. package/dist/shared/datasources/external/youtube/list/fetcher.d.ts.map +1 -1
  397. package/dist/shared/datasources/external/youtube/list/fetcher.js +20 -31
  398. package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
  399. package/dist/shared/datasources/external/youtube/list/options.d.ts +13 -8
  400. package/dist/shared/datasources/external/youtube/list/options.d.ts.map +1 -1
  401. package/dist/shared/datasources/external/youtube/list/options.js +11 -14
  402. package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
  403. package/dist/shared/datasources/external/youtube/list/sample.js +33 -0
  404. package/dist/shared/datasources/external/youtube/list/sample.js.map +1 -0
  405. package/dist/shared/datasources/external/youtube/list/schema.d.ts +33 -28
  406. package/dist/shared/datasources/external/youtube/list/schema.d.ts.map +1 -1
  407. package/dist/shared/datasources/external/youtube/list/schema.js +36 -8
  408. package/dist/shared/datasources/external/youtube/list/schema.js.map +1 -1
  409. package/dist/shared/datasources/external/youtube/oauth/config.d.ts +22 -18
  410. package/dist/shared/datasources/external/youtube/oauth/config.d.ts.map +1 -1
  411. package/dist/shared/datasources/external/youtube/oauth/config.js +15 -18
  412. package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
  413. package/dist/shared/datasources/fetcher.d.ts +10 -6
  414. package/dist/shared/datasources/fetcher.d.ts.map +1 -1
  415. package/dist/shared/datasources/fetcher.js +1 -3
  416. package/dist/shared/datasources/internal/blog/schema.d.ts +20 -15
  417. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  418. package/dist/shared/datasources/internal/blog/schema.js +59 -75
  419. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  420. package/dist/shared/datasources/internal/changelog/schema.d.ts +15 -10
  421. package/dist/shared/datasources/internal/changelog/schema.d.ts.map +1 -1
  422. package/dist/shared/datasources/internal/changelog/schema.js +36 -51
  423. package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
  424. package/dist/shared/datasources/internal/contact-info/schema.d.ts +21 -16
  425. package/dist/shared/datasources/internal/contact-info/schema.d.ts.map +1 -1
  426. package/dist/shared/datasources/internal/contact-info/schema.js +21 -25
  427. package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
  428. package/dist/shared/datasources/internal/cv/schema.d.ts +71 -66
  429. package/dist/shared/datasources/internal/cv/schema.d.ts.map +1 -1
  430. package/dist/shared/datasources/internal/cv/schema.js +155 -222
  431. package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
  432. package/dist/shared/datasources/internal/faq/schema.d.ts +13 -8
  433. package/dist/shared/datasources/internal/faq/schema.d.ts.map +1 -1
  434. package/dist/shared/datasources/internal/faq/schema.js +20 -30
  435. package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
  436. package/dist/shared/datasources/internal/job-board/schema.d.ts +86 -81
  437. package/dist/shared/datasources/internal/job-board/schema.d.ts.map +1 -1
  438. package/dist/shared/datasources/internal/job-board/schema.js +194 -224
  439. package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
  440. package/dist/shared/datasources/internal/links/schema.d.ts +12 -7
  441. package/dist/shared/datasources/internal/links/schema.d.ts.map +1 -1
  442. package/dist/shared/datasources/internal/links/schema.js +20 -8
  443. package/dist/shared/datasources/internal/links/schema.js.map +1 -1
  444. package/dist/shared/datasources/internal/recipes/schema.d.ts +19 -14
  445. package/dist/shared/datasources/internal/recipes/schema.d.ts.map +1 -1
  446. package/dist/shared/datasources/internal/recipes/schema.js +23 -45
  447. package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
  448. package/dist/shared/datasources/internal/restaurant/schema.d.ts +82 -77
  449. package/dist/shared/datasources/internal/restaurant/schema.d.ts.map +1 -1
  450. package/dist/shared/datasources/internal/restaurant/schema.js +154 -226
  451. package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
  452. package/dist/shared/datasources/samples.d.ts +7 -3
  453. package/dist/shared/datasources/samples.d.ts.map +1 -1
  454. package/dist/shared/datasources/samples.js +9 -69
  455. package/dist/shared/datasources/samples.js.map +1 -1
  456. package/dist/shared/datasources/schemas.d.ts +43 -38
  457. package/dist/shared/datasources/schemas.d.ts.map +1 -1
  458. package/dist/shared/datasources/schemas.js +10 -34
  459. package/dist/shared/datasources/schemas.js.map +1 -1
  460. package/dist/shared/datasources/types.d.ts +142 -138
  461. package/dist/shared/datasources/types.d.ts.map +1 -1
  462. package/dist/shared/datasources/types.js +384 -20
  463. package/dist/shared/datasources/types.js.map +1 -1
  464. package/dist/shared/datasources/utils.d.ts +8 -4
  465. package/dist/shared/datasources/utils.d.ts.map +1 -1
  466. package/dist/shared/datasources/utils.js +15 -12
  467. package/dist/shared/datasources/utils.js.map +1 -1
  468. package/dist/shared/datasources.d.ts +22 -9
  469. package/dist/shared/datasources.d.ts.map +1 -1
  470. package/dist/shared/datasources.js +65 -44
  471. package/dist/shared/datasources.js.map +1 -1
  472. package/dist/shared/env.d.ts +25 -21
  473. package/dist/shared/env.d.ts.map +1 -1
  474. package/dist/shared/env.js +1 -3
  475. package/dist/shared/errors.d.ts +2 -2
  476. package/dist/shared/errors.js +2 -9
  477. package/dist/shared/images.d.ts +21 -16
  478. package/dist/shared/images.d.ts.map +1 -1
  479. package/dist/shared/images.js +24 -11
  480. package/dist/shared/images.js.map +1 -1
  481. package/dist/shared/index.d.ts +4 -2
  482. package/dist/shared/index.d.ts.map +1 -1
  483. package/dist/shared/index.js +4 -10
  484. package/dist/shared/index.js.map +1 -1
  485. package/dist/shared/layout-constants.d.ts +8 -5
  486. package/dist/shared/layout-constants.d.ts.map +1 -1
  487. package/dist/shared/layout-constants.js +15 -15
  488. package/dist/shared/layout-constants.js.map +1 -1
  489. package/dist/shared/manifest.d.ts +17 -12
  490. package/dist/shared/manifest.d.ts.map +1 -1
  491. package/dist/shared/manifest.js +26 -52
  492. package/dist/shared/manifest.js.map +1 -1
  493. package/dist/shared/oauth.d.ts +14 -9
  494. package/dist/shared/oauth.d.ts.map +1 -1
  495. package/dist/shared/oauth.js +14 -9
  496. package/dist/shared/oauth.js.map +1 -1
  497. package/dist/shared/page.d.ts +250 -243
  498. package/dist/shared/page.d.ts.map +1 -1
  499. package/dist/shared/page.js +29 -62
  500. package/dist/shared/page.js.map +1 -1
  501. package/dist/shared/prompt.d.ts +8 -3
  502. package/dist/shared/prompt.d.ts.map +1 -1
  503. package/dist/shared/prompt.js +10 -8
  504. package/dist/shared/prompt.js.map +1 -1
  505. package/dist/shared/responsive.d.ts +8 -3
  506. package/dist/shared/responsive.d.ts.map +1 -1
  507. package/dist/shared/responsive.js +5 -10
  508. package/dist/shared/responsive.js.map +1 -1
  509. package/dist/shared/site.d.ts +629 -622
  510. package/dist/shared/site.d.ts.map +1 -1
  511. package/dist/shared/site.js +56 -70
  512. package/dist/shared/site.js.map +1 -1
  513. package/dist/shared/sitemap.d.ts +21 -14
  514. package/dist/shared/sitemap.d.ts.map +1 -1
  515. package/dist/shared/sitemap.js +29 -63
  516. package/dist/shared/sitemap.js.map +1 -1
  517. package/dist/shared/social-icons.d.ts +6 -3
  518. package/dist/shared/social-icons.d.ts.map +1 -1
  519. package/dist/shared/social-icons.js +309 -313
  520. package/dist/shared/social-icons.js.map +1 -1
  521. package/dist/shared/theme.d.ts +83 -78
  522. package/dist/shared/theme.d.ts.map +1 -1
  523. package/dist/shared/theme.js +261 -18
  524. package/dist/shared/theme.js.map +1 -1
  525. package/dist/shared/themes/color-system.d.ts +16 -12
  526. package/dist/shared/themes/color-system.d.ts.map +1 -1
  527. package/dist/shared/themes/color-system.js +81 -89
  528. package/dist/shared/themes/color-system.js.map +1 -1
  529. package/dist/shared/utils/canvas-data-uri.d.ts +4 -1
  530. package/dist/shared/utils/canvas-data-uri.d.ts.map +1 -1
  531. package/dist/shared/utils/canvas-data-uri.js +4 -8
  532. package/dist/shared/utils/canvas-data-uri.js.map +1 -1
  533. package/dist/shared/utils/invariant.d.ts +4 -1
  534. package/dist/shared/utils/invariant.d.ts.map +1 -1
  535. package/dist/shared/utils/invariant.js +10 -8
  536. package/dist/shared/utils/invariant.js.map +1 -1
  537. package/dist/shared/utils/json-date.d.ts +9 -4
  538. package/dist/shared/utils/json-date.d.ts.map +1 -1
  539. package/dist/shared/utils/json-date.js +6 -8
  540. package/dist/shared/utils/json-date.js.map +1 -1
  541. package/dist/shared/utils/llm.d.ts +7 -2
  542. package/dist/shared/utils/llm.d.ts.map +1 -1
  543. package/dist/shared/utils/llm.js +57 -8
  544. package/dist/shared/utils/llm.js.map +1 -1
  545. package/dist/shared/utils/merge.d.ts +4 -1
  546. package/dist/shared/utils/merge.d.ts.map +1 -1
  547. package/dist/shared/utils/merge.js +11 -8
  548. package/dist/shared/utils/merge.js.map +1 -1
  549. package/dist/shared/utils/object-hash.d.ts +4 -1
  550. package/dist/shared/utils/object-hash.d.ts.map +1 -1
  551. package/dist/shared/utils/object-hash.js +8 -13
  552. package/dist/shared/utils/object-hash.js.map +1 -1
  553. package/dist/shared/utils/schema.d.ts +13 -10
  554. package/dist/shared/utils/schema.d.ts.map +1 -1
  555. package/dist/shared/utils/schema.js +91 -14
  556. package/dist/shared/utils/schema.js.map +1 -1
  557. package/dist/shared/utils/string-enum.d.ts +13 -8
  558. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  559. package/dist/shared/utils/string-enum.js +18 -8
  560. package/dist/shared/utils/string-enum.js.map +1 -1
  561. package/dist/shared/utils/try-catch.d.ts +4 -2
  562. package/dist/shared/utils/try-catch.d.ts.map +1 -1
  563. package/dist/shared/utils/try-catch.js +12 -13
  564. package/dist/shared/utils/try-catch.js.map +1 -1
  565. package/package.json +10 -20
  566. package/src/shared/ai/schemas.ts +5 -3
  567. package/src/shared/attributes.ts +10 -6
  568. package/src/shared/bricks/manifests/card.manifest.ts +2 -5
  569. package/src/shared/bricks/manifests/image.manifest.ts +1 -5
  570. package/src/shared/bricks/props/color.ts +3 -2
  571. package/src/shared/bricks/props/dynamic.ts +4 -1
  572. package/src/shared/bricks/props/image.ts +2 -3
  573. package/src/shared/bricks.ts +3 -2
  574. package/src/shared/datarecords/types.ts +41 -33
  575. package/src/shared/datasources/external/rss/fetcher.ts +0 -6
  576. package/src/shared/datasources.ts +13 -5
  577. package/src/shared/prompt.ts +1 -1
  578. package/src/shared/site.ts +2 -1
  579. package/src/shared/sitemap.ts +7 -0
  580. package/src/shared/utils/schema.ts +12 -43
  581. package/src/shared/utils/tests/schema.test.ts +53 -28
  582. package/dist/shared/ai/types.js.map +0 -1
  583. package/dist/shared/ajv.d.ts +0 -7
  584. package/dist/shared/ajv.d.ts.map +0 -1
  585. package/dist/shared/ajv.js +0 -6866
  586. package/dist/shared/ajv.js.map +0 -1
  587. package/dist/shared/analytics/types.js.map +0 -1
  588. package/dist/shared/bricks/manifests/_types.js.map +0 -1
  589. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +0 -2
  590. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +0 -1
  591. package/dist/shared/bricks/props/tests/background.test.d.ts +0 -2
  592. package/dist/shared/bricks/props/tests/background.test.d.ts.map +0 -1
  593. package/dist/shared/bricks/props/tests/border.test.d.ts +0 -2
  594. package/dist/shared/bricks/props/tests/border.test.d.ts.map +0 -1
  595. package/dist/shared/bricks/props/tests/effects.test.d.ts +0 -2
  596. package/dist/shared/bricks/props/tests/effects.test.d.ts.map +0 -1
  597. package/dist/shared/bricks/props/tests/helpers.test.d.ts +0 -2
  598. package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +0 -1
  599. package/dist/shared/bricks/props/tests/image.test.d.ts +0 -2
  600. package/dist/shared/bricks/props/tests/image.test.d.ts.map +0 -1
  601. package/dist/shared/bricks/props/tests/string.test.d.ts +0 -2
  602. package/dist/shared/bricks/props/tests/string.test.d.ts.map +0 -1
  603. package/dist/shared/bricks/props/types.js.map +0 -1
  604. package/dist/shared/chunk-2BPYOTKA.js +0 -21
  605. package/dist/shared/chunk-2BPYOTKA.js.map +0 -1
  606. package/dist/shared/chunk-2EOCK66Z.js +0 -19
  607. package/dist/shared/chunk-2EOCK66Z.js.map +0 -1
  608. package/dist/shared/chunk-2U5U3CCJ.js +0 -90
  609. package/dist/shared/chunk-2U5U3CCJ.js.map +0 -1
  610. package/dist/shared/chunk-2UEPTT5J.js +0 -67
  611. package/dist/shared/chunk-2UEPTT5J.js.map +0 -1
  612. package/dist/shared/chunk-2Z5WOCFS.js +0 -126
  613. package/dist/shared/chunk-2Z5WOCFS.js.map +0 -1
  614. package/dist/shared/chunk-34IUWNRX.js +0 -346
  615. package/dist/shared/chunk-34IUWNRX.js.map +0 -1
  616. package/dist/shared/chunk-3ZDN5BWN.js +0 -18
  617. package/dist/shared/chunk-3ZDN5BWN.js.map +0 -1
  618. package/dist/shared/chunk-55C6MTX2.js +0 -21
  619. package/dist/shared/chunk-55C6MTX2.js.map +0 -1
  620. package/dist/shared/chunk-57NRTXRA.js +0 -309
  621. package/dist/shared/chunk-57NRTXRA.js.map +0 -1
  622. package/dist/shared/chunk-5HJT5NJ3.js +0 -422
  623. package/dist/shared/chunk-5HJT5NJ3.js.map +0 -1
  624. package/dist/shared/chunk-5J4Y43RM.js +0 -388
  625. package/dist/shared/chunk-5J4Y43RM.js.map +0 -1
  626. package/dist/shared/chunk-5OVOXUFX.js +0 -61
  627. package/dist/shared/chunk-5OVOXUFX.js.map +0 -1
  628. package/dist/shared/chunk-5RCC2STG.js +0 -58
  629. package/dist/shared/chunk-5RCC2STG.js.map +0 -1
  630. package/dist/shared/chunk-5SNSUC6Q.js +0 -364
  631. package/dist/shared/chunk-5SNSUC6Q.js.map +0 -1
  632. package/dist/shared/chunk-6TVVKUWM.js +0 -15
  633. package/dist/shared/chunk-6TVVKUWM.js.map +0 -1
  634. package/dist/shared/chunk-6WIMWLCJ.js +0 -17
  635. package/dist/shared/chunk-6WIMWLCJ.js.map +0 -1
  636. package/dist/shared/chunk-7LAWWRU7.js +0 -21
  637. package/dist/shared/chunk-7LAWWRU7.js.map +0 -1
  638. package/dist/shared/chunk-B5T2LFV2.js +0 -494
  639. package/dist/shared/chunk-B5T2LFV2.js.map +0 -1
  640. package/dist/shared/chunk-BHARJBEK.js +0 -27
  641. package/dist/shared/chunk-BHARJBEK.js.map +0 -1
  642. package/dist/shared/chunk-DCM4732T.js +0 -146
  643. package/dist/shared/chunk-DCM4732T.js.map +0 -1
  644. package/dist/shared/chunk-E3ZW57HF.js +0 -843
  645. package/dist/shared/chunk-E3ZW57HF.js.map +0 -1
  646. package/dist/shared/chunk-EID5HPF3.js +0 -63
  647. package/dist/shared/chunk-EID5HPF3.js.map +0 -1
  648. package/dist/shared/chunk-EMF5TCPX.js +0 -389
  649. package/dist/shared/chunk-EMF5TCPX.js.map +0 -1
  650. package/dist/shared/chunk-EUFVTHAG.js +0 -33
  651. package/dist/shared/chunk-EUFVTHAG.js.map +0 -1
  652. package/dist/shared/chunk-FC52EHCC.js +0 -104
  653. package/dist/shared/chunk-FC52EHCC.js.map +0 -1
  654. package/dist/shared/chunk-FD7YYFRI.js +0 -225
  655. package/dist/shared/chunk-FD7YYFRI.js.map +0 -1
  656. package/dist/shared/chunk-FVV27R73.js +0 -269
  657. package/dist/shared/chunk-FVV27R73.js.map +0 -1
  658. package/dist/shared/chunk-FYGFB5U5.js +0 -57
  659. package/dist/shared/chunk-FYGFB5U5.js.map +0 -1
  660. package/dist/shared/chunk-GDYCCB3B.js +0 -22
  661. package/dist/shared/chunk-GDYCCB3B.js.map +0 -1
  662. package/dist/shared/chunk-GLV6QIIM.js +0 -41
  663. package/dist/shared/chunk-GLV6QIIM.js.map +0 -1
  664. package/dist/shared/chunk-GNTJT7MR.js +0 -56
  665. package/dist/shared/chunk-GNTJT7MR.js.map +0 -1
  666. package/dist/shared/chunk-HHUFGV7J.js +0 -259
  667. package/dist/shared/chunk-HHUFGV7J.js.map +0 -1
  668. package/dist/shared/chunk-HPCCD6V5.js +0 -17
  669. package/dist/shared/chunk-HPCCD6V5.js.map +0 -1
  670. package/dist/shared/chunk-IEMCCHM4.js +0 -389
  671. package/dist/shared/chunk-IEMCCHM4.js.map +0 -1
  672. package/dist/shared/chunk-IMDOF55E.js +0 -137
  673. package/dist/shared/chunk-IMDOF55E.js.map +0 -1
  674. package/dist/shared/chunk-IPWYNE6Y.js +0 -213
  675. package/dist/shared/chunk-IPWYNE6Y.js.map +0 -1
  676. package/dist/shared/chunk-J6R3GSKS.js +0 -386
  677. package/dist/shared/chunk-J6R3GSKS.js.map +0 -1
  678. package/dist/shared/chunk-KNREHAPN.js +0 -13
  679. package/dist/shared/chunk-KNREHAPN.js.map +0 -1
  680. package/dist/shared/chunk-KRODRZNS.js +0 -440
  681. package/dist/shared/chunk-KRODRZNS.js.map +0 -1
  682. package/dist/shared/chunk-KT7SSWMM.js +0 -24
  683. package/dist/shared/chunk-KT7SSWMM.js.map +0 -1
  684. package/dist/shared/chunk-KTA7XES3.js +0 -168
  685. package/dist/shared/chunk-KTA7XES3.js.map +0 -1
  686. package/dist/shared/chunk-L4W4B2RQ.js +0 -174
  687. package/dist/shared/chunk-L4W4B2RQ.js.map +0 -1
  688. package/dist/shared/chunk-MO6CRLQA.js +0 -73
  689. package/dist/shared/chunk-MO6CRLQA.js.map +0 -1
  690. package/dist/shared/chunk-NTP6BKRU.js +0 -516
  691. package/dist/shared/chunk-NTP6BKRU.js.map +0 -1
  692. package/dist/shared/chunk-O53V22BK.js +0 -469
  693. package/dist/shared/chunk-O53V22BK.js.map +0 -1
  694. package/dist/shared/chunk-O5PQISX4.js +0 -51
  695. package/dist/shared/chunk-O5PQISX4.js.map +0 -1
  696. package/dist/shared/chunk-OJ6KL7FU.js +0 -32
  697. package/dist/shared/chunk-OJ6KL7FU.js.map +0 -1
  698. package/dist/shared/chunk-OJP4HMJT.js +0 -22
  699. package/dist/shared/chunk-OJP4HMJT.js.map +0 -1
  700. package/dist/shared/chunk-ORIUCOED.js +0 -129
  701. package/dist/shared/chunk-ORIUCOED.js.map +0 -1
  702. package/dist/shared/chunk-OSJ6KGPX.js +0 -16
  703. package/dist/shared/chunk-OSJ6KGPX.js.map +0 -1
  704. package/dist/shared/chunk-OXYXZHP2.js +0 -48
  705. package/dist/shared/chunk-OXYXZHP2.js.map +0 -1
  706. package/dist/shared/chunk-PFZMRSHJ.js +0 -616
  707. package/dist/shared/chunk-PFZMRSHJ.js.map +0 -1
  708. package/dist/shared/chunk-QHKOAIOK.js +0 -243
  709. package/dist/shared/chunk-QHKOAIOK.js.map +0 -1
  710. package/dist/shared/chunk-QLQVDZIL.js +0 -11
  711. package/dist/shared/chunk-QLQVDZIL.js.map +0 -1
  712. package/dist/shared/chunk-RDOCVLCF.js +0 -422
  713. package/dist/shared/chunk-RDOCVLCF.js.map +0 -1
  714. package/dist/shared/chunk-RFH7PEVS.js +0 -38
  715. package/dist/shared/chunk-RFH7PEVS.js.map +0 -1
  716. package/dist/shared/chunk-T3UPW5OW.js +0 -79
  717. package/dist/shared/chunk-T3UPW5OW.js.map +0 -1
  718. package/dist/shared/chunk-TGKNA2JS.js +0 -847
  719. package/dist/shared/chunk-TGKNA2JS.js.map +0 -1
  720. package/dist/shared/chunk-TKMWY2VN.js +0 -18
  721. package/dist/shared/chunk-TKMWY2VN.js.map +0 -1
  722. package/dist/shared/chunk-TZ6X7ZM5.js +0 -158
  723. package/dist/shared/chunk-TZ6X7ZM5.js.map +0 -1
  724. package/dist/shared/chunk-UC75KRLX.js +0 -67
  725. package/dist/shared/chunk-UC75KRLX.js.map +0 -1
  726. package/dist/shared/chunk-VMIJ6MG5.js +0 -368
  727. package/dist/shared/chunk-VMIJ6MG5.js.map +0 -1
  728. package/dist/shared/chunk-VYA2FCTY.js +0 -83
  729. package/dist/shared/chunk-VYA2FCTY.js.map +0 -1
  730. package/dist/shared/chunk-WPZV3LYL.js +0 -24
  731. package/dist/shared/chunk-WPZV3LYL.js.map +0 -1
  732. package/dist/shared/chunk-XCWMZVF5.js +0 -89
  733. package/dist/shared/chunk-XCWMZVF5.js.map +0 -1
  734. package/dist/shared/chunk-XCZVD5H6.js +0 -13
  735. package/dist/shared/chunk-XCZVD5H6.js.map +0 -1
  736. package/dist/shared/chunk-XFZQGRRL.js +0 -101
  737. package/dist/shared/chunk-XFZQGRRL.js.map +0 -1
  738. package/dist/shared/chunk-XYWSIMZ6.js +0 -59
  739. package/dist/shared/chunk-XYWSIMZ6.js.map +0 -1
  740. package/dist/shared/chunk-XZ6WJZHN.js +0 -10
  741. package/dist/shared/chunk-XZ6WJZHN.js.map +0 -1
  742. package/dist/shared/chunk-ZEFOWKYP.js +0 -44
  743. package/dist/shared/chunk-ZEFOWKYP.js.map +0 -1
  744. package/dist/shared/chunk-ZGQ3AQBG.js +0 -33
  745. package/dist/shared/chunk-ZGQ3AQBG.js.map +0 -1
  746. package/dist/shared/chunk-ZRBTAC3G.js +0 -53
  747. package/dist/shared/chunk-ZRBTAC3G.js.map +0 -1
  748. package/dist/shared/chunk-ZYQZUWF7.js +0 -537
  749. package/dist/shared/chunk-ZYQZUWF7.js.map +0 -1
  750. package/dist/shared/chunk-ZZVYD4BG.js +0 -41
  751. package/dist/shared/chunk-ZZVYD4BG.js.map +0 -1
  752. package/dist/shared/datasources/external/facebook/posts/sample.d.ts +0 -26
  753. package/dist/shared/datasources/external/facebook/posts/sample.d.ts.map +0 -1
  754. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts +0 -2
  755. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts.map +0 -1
  756. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts +0 -2
  757. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +0 -1
  758. package/dist/shared/datasources/external/instagram/feed/sample.d.ts +0 -3
  759. package/dist/shared/datasources/external/instagram/feed/sample.d.ts.map +0 -1
  760. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts +0 -2
  761. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts.map +0 -1
  762. package/dist/shared/datasources/external/mastodon/account/sample.d.ts +0 -30
  763. package/dist/shared/datasources/external/mastodon/account/sample.d.ts.map +0 -1
  764. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts +0 -2
  765. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts.map +0 -1
  766. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts +0 -2
  767. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts.map +0 -1
  768. package/dist/shared/datasources/external/rss/sample.d.ts +0 -3
  769. package/dist/shared/datasources/external/rss/sample.d.ts.map +0 -1
  770. package/dist/shared/datasources/external/threads/media/sample.d.ts +0 -40
  771. package/dist/shared/datasources/external/threads/media/sample.d.ts.map +0 -1
  772. package/dist/shared/datasources/external/tiktok/video/sample.d.ts +0 -15
  773. package/dist/shared/datasources/external/tiktok/video/sample.d.ts.map +0 -1
  774. package/dist/shared/datasources/external/youtube/list/sample.d.ts +0 -29
  775. package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +0 -1
  776. package/dist/shared/datasources/fetcher.js.map +0 -1
  777. package/dist/shared/env.js.map +0 -1
  778. package/dist/shared/errors.d.ts.map +0 -1
  779. package/dist/shared/errors.js.map +0 -1
  780. package/dist/shared/tests/attributes.test.d.ts +0 -2
  781. package/dist/shared/tests/attributes.test.d.ts.map +0 -1
  782. package/dist/shared/themes/tests/color-system.test.d.ts +0 -2
  783. package/dist/shared/themes/tests/color-system.test.d.ts.map +0 -1
  784. package/dist/shared/utils/tests/schema.test.d.ts +0 -2
  785. package/dist/shared/utils/tests/schema.test.d.ts.map +0 -1
  786. package/src/shared/ajv.ts +0 -123
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datarecords/external/airtable/handler.ts"],"sourcesContent":["import type { TObject, TProperties } from \"@sinclair/typebox\";\nimport type { AirtableBases, AirtableFieldType, AirtableOptions } from \"./types\";\n\nconst sleep = (ms: number): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms));\n\nfunction getClient(token: string) {\n if (!token) {\n throw new Error(\"Missing Airtable API token\");\n }\n\n return {\n async callApi<R, P extends Record<string, unknown> = Record<string, unknown>>(\n path: string,\n method: \"GET\" | \"POST\" | \"DELETE\" | \"PUT\" | \"PATCH\" = \"GET\",\n body: P | null = null,\n ) {\n const url = `https://api.airtable.com/${path}`;\n const maxRetries = 5;\n const retryDelay = 30000; // 30 seconds\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n const res = await fetch(url, {\n method,\n headers: {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n // if 429 is rate limit exceeded\n if (res.status === 429 && attempt < maxRetries) {\n console.warn(\n `Airtable rate limit hit (429) on attempt ${attempt}/${maxRetries}. Waiting ${retryDelay / 1000}s before retry...`,\n );\n await sleep(retryDelay);\n continue; // Retry\n }\n\n const data = await res.json();\n\n // for any other response (success or definitive error)\n return {\n status: res.status,\n success: res.ok,\n data: data as R,\n };\n } catch (error) {\n // In case of network error, we also retry except on the last attempt\n if (attempt < maxRetries) {\n console.warn(\n `Network error on attempt ${attempt}/${maxRetries}. Waiting ${retryDelay / 1000}s before retry...`,\n error,\n );\n await sleep(retryDelay);\n continue;\n }\n // On the last attempt, we rethrow the error\n console.error(`Error on attempt ${attempt}/${maxRetries}:`, error);\n throw error;\n }\n }\n\n // If we reach here, it means we exhausted all attempts with 429\n throw new Error(`Airtable API rate limit exceeded after ${maxRetries} attempts`);\n },\n };\n}\n\n/**\n * Convert a FormData value based on Airtable field type\n */\nfunction convertValueForAirtableField(value: string, fieldType: AirtableFieldType): unknown {\n switch (fieldType) {\n case \"checkbox\":\n return value === \"true\" || value === \"1\" || value.toLowerCase() === \"on\";\n\n case \"number\": {\n const numValue = Number(value);\n return Number.isNaN(numValue) ? value : numValue;\n }\n\n case \"date\":\n case \"dateTime\":\n // Airtable expects ISO format strings\n return value;\n\n case \"email\":\n case \"url\":\n case \"singleLineText\":\n case \"multilineText\":\n return value;\n\n case \"singleSelect\":\n return value;\n\n case \"multipleSelects\": {\n // Handle comma-separated values or JSON array strings\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\n default:\n console.warn(`Unknown Airtable field type: ${fieldType}, treating as text`);\n return value;\n }\n}\n\n/**\n * Fallback conversion based on value patterns (when field type is unknown)\n */\nfunction convertValueByPattern(value: string): unknown {\n // Handle boolean-like values\n if (value === \"true\" || value === \"false\") {\n return value === \"true\";\n }\n\n // Handle number-like values\n if (/^\\d+\\.?\\d*$/.test(value)) {\n const numValue = Number(value);\n if (!Number.isNaN(numValue)) {\n return numValue;\n }\n }\n\n // Handle date formats\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value) || /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/.test(value)) {\n return value;\n }\n\n // Handle comma-separated values (potential multiple select)\n if (value.includes(\",\")) {\n const values = value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n if (values.length > 1) {\n return values;\n }\n }\n\n // Default to string\n return value;\n}\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: AirtableOptions;\n properties: TProperties;\n accessToken: string;\n}): Promise<{ id: string } | null> {\n try {\n const client = getClient(accessToken);\n const records: Record<string, unknown> = {};\n\n for (const [key, value] of formData.entries()) {\n // Skip empty values\n if (value === null || value === undefined || value === \"\") continue;\n\n // Skip Files for now as they need special handling\n if (value instanceof File) {\n console.warn(`File upload not yet supported for field: ${key}`);\n continue;\n }\n\n // Find the field definition in options.fields\n const fieldDef = options.fields?.find((field) => field.name === key);\n\n if (fieldDef) {\n // Use field type information for precise conversion\n records[key] = convertValueForAirtableField(value, fieldDef.type as AirtableFieldType);\n } else {\n // Fallback to pattern-based conversion if field definition not found\n records[key] = convertValueByPattern(value);\n }\n }\n const response = await client.callApi<{\n records: Array<{ id: string; fields: Record<string, unknown> }>;\n }>(`v0/${options.baseId}/${options.tableId}`, \"POST\", {\n records: [\n {\n fields: records,\n },\n ],\n });\n\n if (!response.success) {\n throw new Error(\n `Failed to push data to Airtable: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return response.data.records[0] ? { id: response.data.records[0].id } : null;\n } catch (error) {\n console.error(\"Error pushing data to Airtable:\", error);\n }\n\n return null;\n}\n\n/**\n * Build Airtable table creation data from schema\n */\nfunction buildAirtableTableData(properties: TProperties) {\n // Sort fields by metadata.order (ascending), then fields without order\n const sortedEntries = Object.entries(properties).sort(([, fieldA], [, fieldB]) => {\n const orderA = fieldA.metadata?.order;\n const orderB = fieldB.metadata?.order;\n\n // If both have order, sort by order value\n if (orderA !== undefined && orderB !== undefined) {\n return orderA - orderB;\n }\n\n // Fields with order come first\n if (orderA !== undefined && orderB === undefined) {\n return -1;\n }\n\n if (orderA === undefined && orderB !== undefined) {\n return 1;\n }\n\n // Both without order, maintain original order\n return 0;\n });\n\n const fields = sortedEntries.map(([fieldName, field]) => {\n // Seulement 3 cas : string, number, boolean\n if (field.type === \"string\") {\n if (field.format === \"email\") {\n return {\n name: fieldName,\n type: \"email\",\n };\n }\n if (field.format === \"uri\") {\n return {\n name: fieldName,\n type: \"url\",\n };\n }\n if (field.format === \"date\") {\n return {\n name: fieldName,\n type: \"date\",\n options: {\n dateFormat: {\n name: \"local\",\n },\n },\n };\n }\n if (field.format === \"date-time\") {\n return {\n name: fieldName,\n type: \"dateTime\",\n options: {\n dateFormat: {\n name: \"local\",\n },\n timeFormat: {\n name: \"24hour\",\n },\n timeZone: \"client\",\n },\n };\n }\n if (field.metadata?.[\"ui:multiline\"]) {\n return {\n name: fieldName,\n type: \"multilineText\",\n };\n }\n if (field.enum) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n return {\n name: fieldName,\n type: \"multipleSelects\",\n options: {\n choices: (field.enum as Array<string>).map((value) => ({\n name: value,\n })),\n },\n };\n }\n return {\n name: fieldName,\n type: \"singleSelect\",\n options: {\n choices: (field.enum as Array<string>).map((value) => ({\n name: value,\n })),\n },\n };\n }\n return {\n name: fieldName,\n type: \"singleLineText\",\n };\n }\n if (field.type === \"boolean\") {\n return {\n name: fieldName,\n type: \"checkbox\",\n options: {\n icon: \"check\",\n color: \"grayBright\",\n },\n };\n }\n if (field.type === \"number\") {\n return {\n name: fieldName,\n type: \"number\",\n options: {\n precision: 8,\n },\n };\n }\n });\n\n return fields;\n}\n\nexport async function createTable({\n name,\n schema,\n baseId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n baseId: string;\n accessToken: string;\n}): Promise<AirtableOptions | null> {\n const fields = buildAirtableTableData(schema.properties);\n const tableCreationData = {\n name,\n description: `Table created by Upstart for ${name}`,\n fields: fields,\n };\n // console.dir(data);\n try {\n const client = getClient(accessToken);\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n primaryFieldId: string;\n fields: Array<{\n id: string;\n name: string;\n type: string;\n }>;\n }>(`v0/meta/bases/${baseId}/tables`, \"POST\", tableCreationData);\n\n if (!response.success) {\n console.error(\n \"Error while creating Airtable table with:\",\n JSON.stringify(tableCreationData, null, 2),\n \"from schema: \",\n JSON.stringify(schema, null, 2),\n );\n throw new Error(\n `Failed to create Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return {\n tableId: response.data.id,\n fields: response.data.fields,\n tableName: response.data.name,\n externalUrl: `https://airtable.com/${baseId}/${response.data.id}`,\n } as AirtableOptions;\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while creating Airtable table\", error);\n }\n throw error;\n }\n}\n\nexport async function updateTable({\n baseId,\n tableId,\n newName,\n newProperties,\n accessToken,\n}: {\n baseId: string;\n tableId: string;\n newName: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<AirtableOptions | null> {\n const client = getClient(accessToken);\n if (newProperties) {\n try {\n const fields = buildAirtableTableData(newProperties);\n for (const field of fields) {\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n type: string;\n }>(`v0/meta/bases/${baseId}/tables/${tableId}/fields`, \"POST\", field);\n if (!response.success) {\n console.error(\"Error while adding field to Airtable table with:\", JSON.stringify(field, null, 2));\n throw new Error(\n `Failed to update Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while updating Airtable table\", error);\n }\n throw error;\n }\n }\n\n try {\n const tableUpdateData = {\n name: newName,\n description: `Table updated by Upstart for ${newName}`,\n };\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n primaryFieldId: string;\n fields: Array<{\n id: string;\n name: string;\n type: string;\n }>;\n }>(`v0/meta/bases/${baseId}/tables/${tableId}`, \"PATCH\", tableUpdateData);\n\n if (!response.success) {\n console.error(\"Error while updating Airtable table with:\", JSON.stringify(tableUpdateData, null, 2));\n throw new Error(\n `Failed to update Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return {\n tableId: response.data.id,\n fields: response.data.fields,\n tableName: response.data.name,\n externalUrl: `https://airtable.com/${baseId}/${response.data.id}`,\n } as AirtableOptions;\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while creating Airtable table\", error);\n }\n throw error;\n }\n}\n\nexport async function fetchAirtableBases(accessToken: string): Promise<AirtableBases> {\n try {\n const client = getClient(accessToken);\n const response = await client.callApi<{\n bases: AirtableBases;\n }>(\"v0/meta/bases\");\n\n if (response.success) {\n return response.data.bases;\n } else {\n throw new Error(`Failed to fetch bases: ${response.status}`);\n }\n } catch (error) {\n console.error(\"Error fetching Airtable bases:\", error);\n return [];\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"handler.js","names":["records: Record<string, unknown>"],"sources":["../../../../../src/shared/datarecords/external/airtable/handler.ts"],"sourcesContent":["import type { TObject, TProperties } from \"@sinclair/typebox\";\nimport type { AirtableBases, AirtableFieldType, AirtableOptions } from \"./types\";\n\nconst sleep = (ms: number): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms));\n\nfunction getClient(token: string) {\n if (!token) {\n throw new Error(\"Missing Airtable API token\");\n }\n\n return {\n async callApi<R, P extends Record<string, unknown> = Record<string, unknown>>(\n path: string,\n method: \"GET\" | \"POST\" | \"DELETE\" | \"PUT\" | \"PATCH\" = \"GET\",\n body: P | null = null,\n ) {\n const url = `https://api.airtable.com/${path}`;\n const maxRetries = 5;\n const retryDelay = 30000; // 30 seconds\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n const res = await fetch(url, {\n method,\n headers: {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n // if 429 is rate limit exceeded\n if (res.status === 429 && attempt < maxRetries) {\n console.warn(\n `Airtable rate limit hit (429) on attempt ${attempt}/${maxRetries}. Waiting ${retryDelay / 1000}s before retry...`,\n );\n await sleep(retryDelay);\n continue; // Retry\n }\n\n const data = await res.json();\n\n // for any other response (success or definitive error)\n return {\n status: res.status,\n success: res.ok,\n data: data as R,\n };\n } catch (error) {\n // In case of network error, we also retry except on the last attempt\n if (attempt < maxRetries) {\n console.warn(\n `Network error on attempt ${attempt}/${maxRetries}. Waiting ${retryDelay / 1000}s before retry...`,\n error,\n );\n await sleep(retryDelay);\n continue;\n }\n // On the last attempt, we rethrow the error\n console.error(`Error on attempt ${attempt}/${maxRetries}:`, error);\n throw error;\n }\n }\n\n // If we reach here, it means we exhausted all attempts with 429\n throw new Error(`Airtable API rate limit exceeded after ${maxRetries} attempts`);\n },\n };\n}\n\n/**\n * Convert a FormData value based on Airtable field type\n */\nfunction convertValueForAirtableField(value: string, fieldType: AirtableFieldType): unknown {\n switch (fieldType) {\n case \"checkbox\":\n return value === \"true\" || value === \"1\" || value.toLowerCase() === \"on\";\n\n case \"number\": {\n const numValue = Number(value);\n return Number.isNaN(numValue) ? value : numValue;\n }\n\n case \"date\":\n case \"dateTime\":\n // Airtable expects ISO format strings\n return value;\n\n case \"email\":\n case \"url\":\n case \"singleLineText\":\n case \"multilineText\":\n return value;\n\n case \"singleSelect\":\n return value;\n\n case \"multipleSelects\": {\n // Handle comma-separated values or JSON array strings\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\n default:\n console.warn(`Unknown Airtable field type: ${fieldType}, treating as text`);\n return value;\n }\n}\n\n/**\n * Fallback conversion based on value patterns (when field type is unknown)\n */\nfunction convertValueByPattern(value: string): unknown {\n // Handle boolean-like values\n if (value === \"true\" || value === \"false\") {\n return value === \"true\";\n }\n\n // Handle number-like values\n if (/^\\d+\\.?\\d*$/.test(value)) {\n const numValue = Number(value);\n if (!Number.isNaN(numValue)) {\n return numValue;\n }\n }\n\n // Handle date formats\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value) || /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/.test(value)) {\n return value;\n }\n\n // Handle comma-separated values (potential multiple select)\n if (value.includes(\",\")) {\n const values = value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n if (values.length > 1) {\n return values;\n }\n }\n\n // Default to string\n return value;\n}\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: AirtableOptions;\n properties: TProperties;\n accessToken: string;\n}): Promise<{ id: string } | null> {\n try {\n const client = getClient(accessToken);\n const records: Record<string, unknown> = {};\n\n for (const [key, value] of formData.entries()) {\n // Skip empty values\n if (value === null || value === undefined || value === \"\") continue;\n\n // Skip Files for now as they need special handling\n if (value instanceof File) {\n console.warn(`File upload not yet supported for field: ${key}`);\n continue;\n }\n\n // Find the field definition in options.fields\n const fieldDef = options.fields?.find((field) => field.name === key);\n\n if (fieldDef) {\n // Use field type information for precise conversion\n records[key] = convertValueForAirtableField(value, fieldDef.type as AirtableFieldType);\n } else {\n // Fallback to pattern-based conversion if field definition not found\n records[key] = convertValueByPattern(value);\n }\n }\n const response = await client.callApi<{\n records: Array<{ id: string; fields: Record<string, unknown> }>;\n }>(`v0/${options.baseId}/${options.tableId}`, \"POST\", {\n records: [\n {\n fields: records,\n },\n ],\n });\n\n if (!response.success) {\n throw new Error(\n `Failed to push data to Airtable: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return response.data.records[0] ? { id: response.data.records[0].id } : null;\n } catch (error) {\n console.error(\"Error pushing data to Airtable:\", error);\n }\n\n return null;\n}\n\n/**\n * Build Airtable table creation data from schema\n */\nfunction buildAirtableTableData(properties: TProperties) {\n // Sort fields by metadata.order (ascending), then fields without order\n const sortedEntries = Object.entries(properties).sort(([, fieldA], [, fieldB]) => {\n const orderA = fieldA.metadata?.order;\n const orderB = fieldB.metadata?.order;\n\n // If both have order, sort by order value\n if (orderA !== undefined && orderB !== undefined) {\n return orderA - orderB;\n }\n\n // Fields with order come first\n if (orderA !== undefined && orderB === undefined) {\n return -1;\n }\n\n if (orderA === undefined && orderB !== undefined) {\n return 1;\n }\n\n // Both without order, maintain original order\n return 0;\n });\n\n const fields = sortedEntries.map(([fieldName, field]) => {\n // Seulement 3 cas : string, number, boolean\n if (field.type === \"string\") {\n if (field.format === \"email\") {\n return {\n name: fieldName,\n type: \"email\",\n };\n }\n if (field.format === \"uri\") {\n return {\n name: fieldName,\n type: \"url\",\n };\n }\n if (field.format === \"date\") {\n return {\n name: fieldName,\n type: \"date\",\n options: {\n dateFormat: {\n name: \"local\",\n },\n },\n };\n }\n if (field.format === \"date-time\") {\n return {\n name: fieldName,\n type: \"dateTime\",\n options: {\n dateFormat: {\n name: \"local\",\n },\n timeFormat: {\n name: \"24hour\",\n },\n timeZone: \"client\",\n },\n };\n }\n if (field.metadata?.[\"ui:multiline\"]) {\n return {\n name: fieldName,\n type: \"multilineText\",\n };\n }\n if (field.enum) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n return {\n name: fieldName,\n type: \"multipleSelects\",\n options: {\n choices: (field.enum as Array<string>).map((value) => ({\n name: value,\n })),\n },\n };\n }\n return {\n name: fieldName,\n type: \"singleSelect\",\n options: {\n choices: (field.enum as Array<string>).map((value) => ({\n name: value,\n })),\n },\n };\n }\n return {\n name: fieldName,\n type: \"singleLineText\",\n };\n }\n if (field.type === \"boolean\") {\n return {\n name: fieldName,\n type: \"checkbox\",\n options: {\n icon: \"check\",\n color: \"grayBright\",\n },\n };\n }\n if (field.type === \"number\") {\n return {\n name: fieldName,\n type: \"number\",\n options: {\n precision: 8,\n },\n };\n }\n });\n\n return fields;\n}\n\nexport async function createTable({\n name,\n schema,\n baseId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n baseId: string;\n accessToken: string;\n}): Promise<AirtableOptions | null> {\n const fields = buildAirtableTableData(schema.properties);\n const tableCreationData = {\n name,\n description: `Table created by Upstart for ${name}`,\n fields: fields,\n };\n // console.dir(data);\n try {\n const client = getClient(accessToken);\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n primaryFieldId: string;\n fields: Array<{\n id: string;\n name: string;\n type: string;\n }>;\n }>(`v0/meta/bases/${baseId}/tables`, \"POST\", tableCreationData);\n\n if (!response.success) {\n console.error(\n \"Error while creating Airtable table with:\",\n JSON.stringify(tableCreationData, null, 2),\n \"from schema: \",\n JSON.stringify(schema, null, 2),\n );\n throw new Error(\n `Failed to create Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return {\n tableId: response.data.id,\n fields: response.data.fields,\n tableName: response.data.name,\n externalUrl: `https://airtable.com/${baseId}/${response.data.id}`,\n } as AirtableOptions;\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while creating Airtable table\", error);\n }\n throw error;\n }\n}\n\nexport async function updateTable({\n baseId,\n tableId,\n newName,\n newProperties,\n accessToken,\n}: {\n baseId: string;\n tableId: string;\n newName: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<AirtableOptions | null> {\n const client = getClient(accessToken);\n if (newProperties) {\n try {\n const fields = buildAirtableTableData(newProperties);\n for (const field of fields) {\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n type: string;\n }>(`v0/meta/bases/${baseId}/tables/${tableId}/fields`, \"POST\", field);\n if (!response.success) {\n console.error(\"Error while adding field to Airtable table with:\", JSON.stringify(field, null, 2));\n throw new Error(\n `Failed to update Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while updating Airtable table\", error);\n }\n throw error;\n }\n }\n\n try {\n const tableUpdateData = {\n name: newName,\n description: `Table updated by Upstart for ${newName}`,\n };\n const response = await client.callApi<{\n id: string;\n name: string;\n description: string;\n primaryFieldId: string;\n fields: Array<{\n id: string;\n name: string;\n type: string;\n }>;\n }>(`v0/meta/bases/${baseId}/tables/${tableId}`, \"PATCH\", tableUpdateData);\n\n if (!response.success) {\n console.error(\"Error while updating Airtable table with:\", JSON.stringify(tableUpdateData, null, 2));\n throw new Error(\n `Failed to update Airtable table: ${response.status} - ${JSON.stringify(response.data)}`,\n );\n }\n\n return {\n tableId: response.data.id,\n fields: response.data.fields,\n tableName: response.data.name,\n externalUrl: `https://airtable.com/${baseId}/${response.data.id}`,\n } as AirtableOptions;\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.message);\n } else {\n console.error(\"Unknown error occurred while creating Airtable table\", error);\n }\n throw error;\n }\n}\n\nexport async function fetchAirtableBases(accessToken: string): Promise<AirtableBases> {\n try {\n const client = getClient(accessToken);\n const response = await client.callApi<{\n bases: AirtableBases;\n }>(\"v0/meta/bases\");\n\n if (response.success) {\n return response.data.bases;\n } else {\n throw new Error(`Failed to fetch bases: ${response.status}`);\n }\n } catch (error) {\n console.error(\"Error fetching Airtable bases:\", error);\n return [];\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,16 @@
1
- import { type Static } from "@sinclair/typebox";
2
- export declare const airtableOAuthTokenSchema: import("@sinclair/typebox").TObject<{
3
- scope: import("@sinclair/typebox").TString;
4
- token_type: import("@sinclair/typebox").TString;
5
- expires_in: import("@sinclair/typebox").TNumber;
6
- access_token: import("@sinclair/typebox").TString;
7
- refresh_token: import("@sinclair/typebox").TString;
8
- refresh_expires_in: import("@sinclair/typebox").TNumber;
1
+ import * as _sinclair_typebox7631 from "@sinclair/typebox";
2
+ import { Static } from "@sinclair/typebox";
3
+
4
+ //#region src/shared/datarecords/external/airtable/oauth/config.d.ts
5
+ declare const airtableOAuthTokenSchema: _sinclair_typebox7631.TObject<{
6
+ scope: _sinclair_typebox7631.TString;
7
+ token_type: _sinclair_typebox7631.TString;
8
+ expires_in: _sinclair_typebox7631.TNumber;
9
+ access_token: _sinclair_typebox7631.TString;
10
+ refresh_token: _sinclair_typebox7631.TString;
11
+ refresh_expires_in: _sinclair_typebox7631.TNumber;
9
12
  }>;
10
- export type AirtableOAuthToken = Static<typeof airtableOAuthTokenSchema>;
13
+ type AirtableOAuthToken = Static<typeof airtableOAuthTokenSchema>;
14
+ //#endregion
15
+ export { AirtableOAuthToken, airtableOAuthTokenSchema };
11
16
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/datarecords/external/airtable/oauth/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,wBAAwB;;;;;;;EAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","names":[],"sources":["../../../../../../src/shared/datarecords/external/airtable/oauth/config.ts"],"sourcesContent":[],"mappings":";;;;cAEa,gDAAwB;SAOnC,qBAAA,CAAA;;EAPW,UAAA,+BAOX;EAAA,YAAA,+BAAA;eAAA,+BAAA;;;KACU,kBAAA,GAAqB,cAAc"}
@@ -1,18 +1,15 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import "../../../../chunk-ZGQ3AQBG.js";
4
-
5
- // src/shared/datarecords/external/airtable/oauth/config.ts
6
1
  import { Type } from "@sinclair/typebox";
7
- var airtableOAuthTokenSchema = Type.Object({
8
- scope: Type.String(),
9
- token_type: Type.String(),
10
- expires_in: Type.Number(),
11
- access_token: Type.String(),
12
- refresh_token: Type.String(),
13
- refresh_expires_in: Type.Number()
2
+
3
+ //#region src/shared/datarecords/external/airtable/oauth/config.ts
4
+ const airtableOAuthTokenSchema = Type.Object({
5
+ scope: Type.String(),
6
+ token_type: Type.String(),
7
+ expires_in: Type.Number(),
8
+ access_token: Type.String(),
9
+ refresh_token: Type.String(),
10
+ refresh_expires_in: Type.Number()
14
11
  });
15
- export {
16
- airtableOAuthTokenSchema
17
- };
12
+
13
+ //#endregion
14
+ export { airtableOAuthTokenSchema };
18
15
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/shared/datarecords/external/airtable/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const airtableOAuthTokenSchema = Type.Object({\n scope: Type.String(),\n token_type: Type.String(),\n expires_in: Type.Number(),\n access_token: Type.String(),\n refresh_token: Type.String(),\n refresh_expires_in: Type.Number(),\n});\nexport type AirtableOAuthToken = Static<typeof airtableOAuthTokenSchema>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,2BAA2B,KAAK,OAAO;AAAA,EAClD,OAAO,KAAK,OAAO;AAAA,EACnB,YAAY,KAAK,OAAO;AAAA,EACxB,YAAY,KAAK,OAAO;AAAA,EACxB,cAAc,KAAK,OAAO;AAAA,EAC1B,eAAe,KAAK,OAAO;AAAA,EAC3B,oBAAoB,KAAK,OAAO;AAClC,CAAC;","names":[]}
1
+ {"version":3,"file":"config.js","names":[],"sources":["../../../../../../src/shared/datarecords/external/airtable/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const airtableOAuthTokenSchema = Type.Object({\n scope: Type.String(),\n token_type: Type.String(),\n expires_in: Type.Number(),\n access_token: Type.String(),\n refresh_token: Type.String(),\n refresh_expires_in: Type.Number(),\n});\nexport type AirtableOAuthToken = Static<typeof airtableOAuthTokenSchema>;\n"],"mappings":";;;AAEA,MAAa,2BAA2B,KAAK,OAAO;CAClD,OAAO,KAAK,QAAQ;CACpB,YAAY,KAAK,QAAQ;CACzB,YAAY,KAAK,QAAQ;CACzB,cAAc,KAAK,QAAQ;CAC3B,eAAe,KAAK,QAAQ;CAC5B,oBAAoB,KAAK,QAAQ;CAClC,CAAC"}
@@ -1,40 +1,44 @@
1
- import { type Static } from "@sinclair/typebox";
2
- export declare const airtableFields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
3
- id: import("@sinclair/typebox").TString;
4
- name: import("@sinclair/typebox").TString;
5
- type: import("@sinclair/typebox").TString;
1
+ import * as _sinclair_typebox6129 from "@sinclair/typebox";
2
+ import { Static } from "@sinclair/typebox";
3
+
4
+ //#region src/shared/datarecords/external/airtable/types.d.ts
5
+ declare const airtableFields: _sinclair_typebox6129.TArray<_sinclair_typebox6129.TObject<{
6
+ id: _sinclair_typebox6129.TString;
7
+ name: _sinclair_typebox6129.TString;
8
+ type: _sinclair_typebox6129.TString;
6
9
  }>>;
7
- export type AirtableFields = Static<typeof airtableFields>;
8
- declare const createAirtableTableResponseSchema: import("@sinclair/typebox").TObject<{
9
- id: import("@sinclair/typebox").TString;
10
- name: import("@sinclair/typebox").TString;
11
- description: import("@sinclair/typebox").TString;
12
- primaryFieldId: import("@sinclair/typebox").TString;
13
- fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
14
- id: import("@sinclair/typebox").TString;
15
- name: import("@sinclair/typebox").TString;
16
- type: import("@sinclair/typebox").TString;
17
- }>>;
10
+ type AirtableFields = Static<typeof airtableFields>;
11
+ declare const createAirtableTableResponseSchema: _sinclair_typebox6129.TObject<{
12
+ id: _sinclair_typebox6129.TString;
13
+ name: _sinclair_typebox6129.TString;
14
+ description: _sinclair_typebox6129.TString;
15
+ primaryFieldId: _sinclair_typebox6129.TString;
16
+ fields: _sinclair_typebox6129.TArray<_sinclair_typebox6129.TObject<{
17
+ id: _sinclair_typebox6129.TString;
18
+ name: _sinclair_typebox6129.TString;
19
+ type: _sinclair_typebox6129.TString;
20
+ }>>;
18
21
  }>;
19
- export type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;
20
- export declare const airtableOptions: import("@sinclair/typebox").TObject<{
21
- externalUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
- baseId: import("@sinclair/typebox").TString;
23
- baseName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
- tableId: import("@sinclair/typebox").TString;
25
- tableName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
26
- fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
27
- id: import("@sinclair/typebox").TString;
28
- name: import("@sinclair/typebox").TString;
29
- type: import("@sinclair/typebox").TString;
30
- }>>>;
22
+ type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;
23
+ declare const airtableOptions: _sinclair_typebox6129.TObject<{
24
+ externalUrl: _sinclair_typebox6129.TOptional<_sinclair_typebox6129.TString>;
25
+ baseId: _sinclair_typebox6129.TString;
26
+ baseName: _sinclair_typebox6129.TOptional<_sinclair_typebox6129.TString>;
27
+ tableId: _sinclair_typebox6129.TString;
28
+ tableName: _sinclair_typebox6129.TOptional<_sinclair_typebox6129.TString>;
29
+ fields: _sinclair_typebox6129.TOptional<_sinclair_typebox6129.TArray<_sinclair_typebox6129.TObject<{
30
+ id: _sinclair_typebox6129.TString;
31
+ name: _sinclair_typebox6129.TString;
32
+ type: _sinclair_typebox6129.TString;
33
+ }>>>;
31
34
  }>;
32
- export type AirtableOptions = Static<typeof airtableOptions>;
33
- export type AirtableBases = {
34
- id: string;
35
- name: string;
35
+ type AirtableOptions = Static<typeof airtableOptions>;
36
+ type AirtableBases = {
37
+ id: string;
38
+ name: string;
36
39
  }[];
37
- export declare const AirtableFieldTypes: import("@sinclair/typebox").TUnsafe<"number" | "checkbox" | "date" | "email" | "url" | "dateTime" | "singleLineText" | "multilineText" | "singleSelect" | "multipleSelects">;
38
- export type AirtableFieldType = Static<typeof AirtableFieldTypes>;
39
- export {};
40
+ declare const AirtableFieldTypes: _sinclair_typebox6129.TUnsafe<"number" | "date" | "email" | "url" | "checkbox" | "dateTime" | "singleLineText" | "multilineText" | "singleSelect" | "multipleSelects">;
41
+ type AirtableFieldType = Static<typeof AirtableFieldTypes>;
42
+ //#endregion
43
+ export { AirtableBases, AirtableFieldType, AirtableFieldTypes, AirtableFields, AirtableOptions, CreateAirtableTableResponse, airtableFields, airtableOptions };
40
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,cAAc;;;;GAM1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,QAAA,MAAM,iCAAiC;;;;;;;;;;EAMrC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE3F,eAAO,MAAM,eAAe;;;;;;;;;;;EAqB1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,EAAE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,8KAW7B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":[],"mappings":";;;;cAGa,gBAAc,qBAAA,CAAA,6BAAA;MAM1B,qBAAA,CAAA;;EANY,IAAA,+BAMZ;CAAA,CAAA,CAAA;AAAA,KACW,cAAA,GAAiB,MAD5B,CAAA,OAC0C,cAD1C,CAAA;cAGK,yDAAiC;MAMrC,qBAAA,CAAA;qCAfyB;aAAA,+BAAA;EAAA,cAAA,+BAAA;EAOf,MAAA,8BAAc,8BAAA,CAAA;IAAA,EAAA,+BAAA;IAAiB,IAAA,+BAAA;IAAd,IAAA,+BAAA;EAAM,CAAA,CAAA,CAAA;AAAwB,CAAA,CAAA;AAQzD,KAEU,2BAAA,GAA8B,MAFxC,CAAA,OAEsD,iCAFtD,CAAA;AAAA,cAIW,eAJX,wBAI0B,OAJ1B,CAAA;+CAyBA,qBAAA,CAAA,OAAA;;;;;;;;uCA/BqC;EAAA,CAAA,CAAA,CAAA,CAAA;AAQvC,CAAA,CAAA;AAAuC,KAwB3B,eAAA,GAAkB,MAxBS,CAAA,OAwBK,eAxBL,CAAA;AAAiB,KA0B5C,aAAA,GA1B4C;MAAd,MAAA;EAAM,IAAA,EAAA,MAAA;AAEhD,CAAA,EAAA;AAqBE,cAQW,kBARX,EAmBA,qBAAA,CAX6B,OAR7B,CAAA,QAAA,GAAA,MAAA,GAAA,OAAA,GAAA,KAAA,GAAA,UAAA,GAAA,UAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,iBAAA,CAAA;AAAA,KAoBU,iBAAA,GAAoB,MApB9B,CAAA,OAoB4C,kBApB5C,CAAA"}
@@ -1,15 +1,46 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
1
+ import { StringEnum } from "../../../utils/string-enum.js";
2
+ import { Type } from "@sinclair/typebox";
2
3
 
3
- import {
4
- AirtableFieldTypes,
5
- airtableFields,
6
- airtableOptions
7
- } from "../../../chunk-EID5HPF3.js";
8
- import "../../../chunk-GDYCCB3B.js";
9
- import "../../../chunk-ZGQ3AQBG.js";
10
- export {
11
- AirtableFieldTypes,
12
- airtableFields,
13
- airtableOptions
14
- };
4
+ //#region src/shared/datarecords/external/airtable/types.ts
5
+ const airtableFields = Type.Array(Type.Object({
6
+ id: Type.String(),
7
+ name: Type.String(),
8
+ type: Type.String()
9
+ }));
10
+ Type.Object({
11
+ id: Type.String(),
12
+ name: Type.String(),
13
+ description: Type.String(),
14
+ primaryFieldId: Type.String(),
15
+ fields: airtableFields
16
+ });
17
+ const airtableOptions = Type.Object({
18
+ externalUrl: Type.Optional(Type.String()),
19
+ baseId: Type.String({
20
+ pattern: "^app[A-Za-z0-9]+$",
21
+ description: "Airtable Base ID starting with \"app\""
22
+ }),
23
+ baseName: Type.Optional(Type.String({ description: "Airtable Base Name" })),
24
+ tableId: Type.String({
25
+ pattern: "^tbl[A-Za-z0-9]+$",
26
+ description: "Airtable Table ID starting with \"tbl\""
27
+ }),
28
+ tableName: Type.Optional(Type.String({ description: "Table name as shown in Airtable interface" })),
29
+ fields: Type.Optional(airtableFields)
30
+ });
31
+ const AirtableFieldTypes = StringEnum([
32
+ "number",
33
+ "checkbox",
34
+ "date",
35
+ "dateTime",
36
+ "email",
37
+ "url",
38
+ "singleLineText",
39
+ "multilineText",
40
+ "singleSelect",
41
+ "multipleSelects"
42
+ ]);
43
+
44
+ //#endregion
45
+ export { AirtableFieldTypes, airtableFields, airtableOptions };
15
46
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/shared/datarecords/external/airtable/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\nimport { StringEnum } from \"~/shared/utils/string-enum\";\n\nexport const airtableFields = Type.Array(\n Type.Object({\n id: Type.String(),\n name: Type.String(),\n type: Type.String(),\n }),\n);\nexport type AirtableFields = Static<typeof airtableFields>;\n\nconst createAirtableTableResponseSchema = Type.Object({\n id: Type.String(),\n name: Type.String(),\n description: Type.String(),\n primaryFieldId: Type.String(),\n fields: airtableFields,\n});\n\nexport type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;\n\nexport const airtableOptions = Type.Object({\n externalUrl: Type.Optional(Type.String()),\n baseId: Type.String({\n pattern: \"^app[A-Za-z0-9]+$\",\n description: 'Airtable Base ID starting with \"app\"',\n }),\n baseName: Type.Optional(\n Type.String({\n description: \"Airtable Base Name\",\n }),\n ),\n tableId: Type.String({\n pattern: \"^tbl[A-Za-z0-9]+$\",\n description: 'Airtable Table ID starting with \"tbl\"',\n }),\n tableName: Type.Optional(\n Type.String({\n description: \"Table name as shown in Airtable interface\",\n }),\n ),\n fields: Type.Optional(airtableFields),\n});\nexport type AirtableOptions = Static<typeof airtableOptions>;\n\nexport type AirtableBases = {\n id: string;\n name: string;\n}[];\n\nexport const AirtableFieldTypes = StringEnum([\n \"number\",\n \"checkbox\",\n \"date\",\n \"dateTime\",\n \"email\",\n \"url\",\n \"singleLineText\",\n \"multilineText\",\n \"singleSelect\",\n \"multipleSelects\",\n]);\nexport type AirtableFieldType = Static<typeof AirtableFieldTypes>;\n"],"mappings":";;;;AAGA,MAAa,iBAAiB,KAAK,MACjC,KAAK,OAAO;CACV,IAAI,KAAK,QAAQ;CACjB,MAAM,KAAK,QAAQ;CACnB,MAAM,KAAK,QAAQ;CACpB,CAAC,CACH;AAGyC,KAAK,OAAO;CACpD,IAAI,KAAK,QAAQ;CACjB,MAAM,KAAK,QAAQ;CACnB,aAAa,KAAK,QAAQ;CAC1B,gBAAgB,KAAK,QAAQ;CAC7B,QAAQ;CACT,CAAC;AAIF,MAAa,kBAAkB,KAAK,OAAO;CACzC,aAAa,KAAK,SAAS,KAAK,QAAQ,CAAC;CACzC,QAAQ,KAAK,OAAO;EAClB,SAAS;EACT,aAAa;EACd,CAAC;CACF,UAAU,KAAK,SACb,KAAK,OAAO,EACV,aAAa,sBACd,CAAC,CACH;CACD,SAAS,KAAK,OAAO;EACnB,SAAS;EACT,aAAa;EACd,CAAC;CACF,WAAW,KAAK,SACd,KAAK,OAAO,EACV,aAAa,6CACd,CAAC,CACH;CACD,QAAQ,KAAK,SAAS,eAAe;CACtC,CAAC;AAQF,MAAa,qBAAqB,WAAW;CAC3C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC"}
@@ -1,3 +1,7 @@
1
- import type { GenericWebhookOptions } from "./options";
2
- export default function genericWebhookHandler(formData: FormData, options: GenericWebhookOptions): Promise<boolean>;
1
+ import { GenericWebhookOptions } from "./options.js";
2
+
3
+ //#region src/shared/datarecords/external/generic-webhook/handler.d.ts
4
+ declare function genericWebhookHandler(formData: FormData, options: GenericWebhookOptions): Promise<boolean>;
5
+ //#endregion
6
+ export { genericWebhookHandler as default };
3
7
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/generic-webhook/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,wBAA8B,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,oBAOrG"}
1
+ {"version":3,"file":"handler.d.ts","names":[],"sources":["../../../../../src/shared/datarecords/external/generic-webhook/handler.ts"],"sourcesContent":[],"mappings":";;;iBAE8B,qBAAA,WAAgC,mBAAmB,wBAAqB"}
@@ -1,17 +1,12 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import "../../../chunk-ZGQ3AQBG.js";
4
-
5
- // src/shared/datarecords/external/generic-webhook/handler.ts
1
+ //#region src/shared/datarecords/external/generic-webhook/handler.ts
6
2
  async function genericWebhookHandler(formData, options) {
7
- const result = await fetch(options.url, {
8
- method: "POST",
9
- body: JSON.stringify(formData),
10
- headers: options.headers
11
- });
12
- return result.ok;
3
+ return (await fetch(options.url, {
4
+ method: "POST",
5
+ body: JSON.stringify(formData),
6
+ headers: options.headers
7
+ })).ok;
13
8
  }
14
- export {
15
- genericWebhookHandler as default
16
- };
9
+
10
+ //#endregion
11
+ export { genericWebhookHandler as default };
17
12
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datarecords/external/generic-webhook/handler.ts"],"sourcesContent":["import type { GenericWebhookOptions } from \"./options\";\n\nexport default async function genericWebhookHandler(formData: FormData, options: GenericWebhookOptions) {\n const result = await fetch(options.url, {\n method: \"POST\",\n body: JSON.stringify(formData),\n headers: options.headers,\n });\n return result.ok;\n}\n"],"mappings":";;;;;AAEA,eAAO,sBAA6C,UAAoB,SAAgC;AACtG,QAAM,SAAS,MAAM,MAAM,QAAQ,KAAK;AAAA,IACtC,QAAQ;AAAA,IACR,MAAM,KAAK,UAAU,QAAQ;AAAA,IAC7B,SAAS,QAAQ;AAAA,EACnB,CAAC;AACD,SAAO,OAAO;AAChB;","names":[]}
1
+ {"version":3,"file":"handler.js","names":[],"sources":["../../../../../src/shared/datarecords/external/generic-webhook/handler.ts"],"sourcesContent":["import type { GenericWebhookOptions } from \"./options\";\n\nexport default async function genericWebhookHandler(formData: FormData, options: GenericWebhookOptions) {\n const result = await fetch(options.url, {\n method: \"POST\",\n body: JSON.stringify(formData),\n headers: options.headers,\n });\n return result.ok;\n}\n"],"mappings":";AAEA,eAA8B,sBAAsB,UAAoB,SAAgC;AAMtG,SALe,MAAM,MAAM,QAAQ,KAAK;EACtC,QAAQ;EACR,MAAM,KAAK,UAAU,SAAS;EAC9B,SAAS,QAAQ;EAClB,CAAC,EACY"}
@@ -1,7 +1,12 @@
1
- import { type Static } from "@sinclair/typebox";
2
- export declare const genericWebhookOptions: import("@sinclair/typebox").TObject<{
3
- url: import("@sinclair/typebox").TString;
4
- headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
1
+ import * as _sinclair_typebox6160 from "@sinclair/typebox";
2
+ import { Static } from "@sinclair/typebox";
3
+
4
+ //#region src/shared/datarecords/external/generic-webhook/options.d.ts
5
+ declare const genericWebhookOptions: _sinclair_typebox6160.TObject<{
6
+ url: _sinclair_typebox6160.TString;
7
+ headers: _sinclair_typebox6160.TOptional<_sinclair_typebox6160.TRecord<_sinclair_typebox6160.TString, _sinclair_typebox6160.TString>>;
5
8
  }>;
6
- export type GenericWebhookOptions = Static<typeof genericWebhookOptions>;
9
+ type GenericWebhookOptions = Static<typeof genericWebhookOptions>;
10
+ //#endregion
11
+ export { GenericWebhookOptions, genericWebhookOptions };
7
12
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/generic-webhook/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,qBAAqB;;;EAQhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","names":[],"sources":["../../../../../src/shared/datarecords/external/generic-webhook/options.ts"],"sourcesContent":[],"mappings":";;;;cAEa,6CAAqB;OAQhC,qBAAA,CAAA;;AARF,CAAA,CAAA;AAQE,KAEU,qBAAA,GAAwB,MAFlC,CAAA,OAEgD,qBAFhD,CAAA"}
@@ -1,19 +1,17 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import "../../../chunk-ZGQ3AQBG.js";
4
-
5
- // src/shared/datarecords/external/generic-webhook/options.ts
6
1
  import { Type } from "@sinclair/typebox";
7
- var genericWebhookOptions = Type.Object({
8
- url: Type.String({ format: "uri", title: "Webhook URL" }),
9
- headers: Type.Optional(
10
- Type.Record(Type.String(), Type.String(), {
11
- title: "Headers",
12
- description: "Additional headers to include in the webhook request"
13
- })
14
- )
2
+
3
+ //#region src/shared/datarecords/external/generic-webhook/options.ts
4
+ const genericWebhookOptions = Type.Object({
5
+ url: Type.String({
6
+ format: "uri",
7
+ title: "Webhook URL"
8
+ }),
9
+ headers: Type.Optional(Type.Record(Type.String(), Type.String(), {
10
+ title: "Headers",
11
+ description: "Additional headers to include in the webhook request"
12
+ }))
15
13
  });
16
- export {
17
- genericWebhookOptions
18
- };
14
+
15
+ //#endregion
16
+ export { genericWebhookOptions };
19
17
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shared/datarecords/external/generic-webhook/options.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const genericWebhookOptions = Type.Object({\n url: Type.String({ format: \"uri\", title: \"Webhook URL\" }),\n headers: Type.Optional(\n Type.Record(Type.String(), Type.String(), {\n title: \"Headers\",\n description: \"Additional headers to include in the webhook request\",\n }),\n ),\n});\n\nexport type GenericWebhookOptions = Static<typeof genericWebhookOptions>;\n"],"mappings":";;;;;AAAA,SAAS,YAAyB;AAE3B,IAAM,wBAAwB,KAAK,OAAO;AAAA,EAC/C,KAAK,KAAK,OAAO,EAAE,QAAQ,OAAO,OAAO,cAAc,CAAC;AAAA,EACxD,SAAS,KAAK;AAAA,IACZ,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG;AAAA,MACxC,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
1
+ {"version":3,"file":"options.js","names":[],"sources":["../../../../../src/shared/datarecords/external/generic-webhook/options.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const genericWebhookOptions = Type.Object({\n url: Type.String({ format: \"uri\", title: \"Webhook URL\" }),\n headers: Type.Optional(\n Type.Record(Type.String(), Type.String(), {\n title: \"Headers\",\n description: \"Additional headers to include in the webhook request\",\n }),\n ),\n});\n\nexport type GenericWebhookOptions = Static<typeof genericWebhookOptions>;\n"],"mappings":";;;AAEA,MAAa,wBAAwB,KAAK,OAAO;CAC/C,KAAK,KAAK,OAAO;EAAE,QAAQ;EAAO,OAAO;EAAe,CAAC;CACzD,SAAS,KAAK,SACZ,KAAK,OAAO,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE;EACxC,OAAO;EACP,aAAa;EACd,CAAC,CACH;CACF,CAAC"}
@@ -1,27 +1,31 @@
1
- import { type Static } from "@sinclair/typebox";
2
- declare const googleOAuthTokenSchema: import("@sinclair/typebox").TObject<{
3
- access_token: import("@sinclair/typebox").TString;
4
- token_type: import("@sinclair/typebox").TString;
5
- expires_in: import("@sinclair/typebox").TNumber;
6
- refresh_token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
- scope: import("@sinclair/typebox").TString;
8
- id_token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1
+ import * as _sinclair_typebox7758 from "@sinclair/typebox";
2
+ import { Static } from "@sinclair/typebox";
3
+
4
+ //#region src/shared/datarecords/external/google/oauth/config.d.ts
5
+ declare const googleOAuthTokenSchema: _sinclair_typebox7758.TObject<{
6
+ access_token: _sinclair_typebox7758.TString;
7
+ token_type: _sinclair_typebox7758.TString;
8
+ expires_in: _sinclair_typebox7758.TNumber;
9
+ refresh_token: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
10
+ scope: _sinclair_typebox7758.TString;
11
+ id_token: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
9
12
  }>;
10
- export type GoogleOAuthToken = Static<typeof googleOAuthTokenSchema>;
11
- declare const googleIdTokenSchema: import("@sinclair/typebox").TObject<{
12
- iss: import("@sinclair/typebox").TString;
13
- sub: import("@sinclair/typebox").TString;
14
- aud: import("@sinclair/typebox").TString;
15
- iat: import("@sinclair/typebox").TNumber;
16
- exp: import("@sinclair/typebox").TNumber;
17
- email: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
- email_verified: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
19
- name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
- picture: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
- given_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
- family_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
- locale: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
+ type GoogleOAuthToken = Static<typeof googleOAuthTokenSchema>;
14
+ declare const googleIdTokenSchema: _sinclair_typebox7758.TObject<{
15
+ iss: _sinclair_typebox7758.TString;
16
+ sub: _sinclair_typebox7758.TString;
17
+ aud: _sinclair_typebox7758.TString;
18
+ iat: _sinclair_typebox7758.TNumber;
19
+ exp: _sinclair_typebox7758.TNumber;
20
+ email: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
21
+ email_verified: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TBoolean>;
22
+ name: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
23
+ picture: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
24
+ given_name: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
25
+ family_name: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
26
+ locale: _sinclair_typebox7758.TOptional<_sinclair_typebox7758.TString>;
24
27
  }>;
25
- export type GoogleIdToken = Static<typeof googleIdTokenSchema>;
26
- export {};
28
+ type GoogleIdToken = Static<typeof googleIdTokenSchema>;
29
+ //#endregion
30
+ export { GoogleIdToken, GoogleOAuthToken };
27
31
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/datarecords/external/google/oauth/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,sBAAsB;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGrE,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;EAavB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","names":[],"sources":["../../../../../../src/shared/datarecords/external/google/oauth/config.ts"],"sourcesContent":[],"mappings":";;;;cAEM,8CAAsB;gBAO1B,qBAAA,CAAA;;EAPI,UAAA,+BAOJ;EAAA,aAAA,iCAAA,+BAAA;OAAA,+BAAA;;;KAEU,gBAAA,GAAmB,cAAc;cAGvC,2CAAmB;OAavB,qBAAA,CAAA;;;oCAzB0B;EAAA,GAAA,+BAAA;EAShB,KAAA,iCAAgB,+BAAA;EAAA,cAAA,iCAAA,gCAAA;MAAiB,iCAAA,+BAAA;SAAd,iCAAA,+BAAA;EAAM,UAAA,iCAAA,+BAAA;EAG/B,WAAA,iCAaJ,+BAAA;EAAA,MAAA,iCAAA,+BAAA;;KAEU,aAAA,GAAgB,cAAc"}
@@ -1,38 +1,29 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
-
4
- // src/shared/datarecords/external/google/oauth/config.ts
5
1
  import { Type } from "@sinclair/typebox";
6
- var googleOAuthTokenSchema = Type.Object({
7
- access_token: Type.String(),
8
- token_type: Type.String(),
9
- // Usually "Bearer"
10
- expires_in: Type.Number(),
11
- // Seconds until token expires, typically 3600 (1 hour)
12
- refresh_token: Type.Optional(Type.String()),
13
- // Only present in first OAuth exchange
14
- scope: Type.String(),
15
- // Space-separated list of granted scopes
16
- id_token: Type.Optional(Type.String())
17
- // JWT token containing user info, if requested
2
+
3
+ //#region src/shared/datarecords/external/google/oauth/config.ts
4
+ Type.Object({
5
+ access_token: Type.String(),
6
+ token_type: Type.String(),
7
+ expires_in: Type.Number(),
8
+ refresh_token: Type.Optional(Type.String()),
9
+ scope: Type.String(),
10
+ id_token: Type.Optional(Type.String())
18
11
  });
19
- var googleIdTokenSchema = Type.Object({
20
- iss: Type.String(),
21
- // Issuer (usually 'https://accounts.google.com')
22
- sub: Type.String(),
23
- // Unique Google ID for the user
24
- aud: Type.String(),
25
- // Your client ID
26
- iat: Type.Number(),
27
- // Issued at (timestamp)
28
- exp: Type.Number(),
29
- // Expiration time (timestamp)
30
- email: Type.Optional(Type.String()),
31
- email_verified: Type.Optional(Type.Boolean()),
32
- name: Type.Optional(Type.String()),
33
- picture: Type.Optional(Type.String()),
34
- given_name: Type.Optional(Type.String()),
35
- family_name: Type.Optional(Type.String()),
36
- locale: Type.Optional(Type.String())
12
+ Type.Object({
13
+ iss: Type.String(),
14
+ sub: Type.String(),
15
+ aud: Type.String(),
16
+ iat: Type.Number(),
17
+ exp: Type.Number(),
18
+ email: Type.Optional(Type.String()),
19
+ email_verified: Type.Optional(Type.Boolean()),
20
+ name: Type.Optional(Type.String()),
21
+ picture: Type.Optional(Type.String()),
22
+ given_name: Type.Optional(Type.String()),
23
+ family_name: Type.Optional(Type.String()),
24
+ locale: Type.Optional(Type.String())
37
25
  });
26
+
27
+ //#endregion
28
+ export { };
38
29
  //# sourceMappingURL=config.js.map