@upstart.gg/sdk 0.0.136 → 0.0.138

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 (461) hide show
  1. package/dist/shared/ai/schemas.d.ts.map +1 -1
  2. package/dist/shared/ai/schemas.js +26 -31
  3. package/dist/shared/ai/schemas.js.map +1 -1
  4. package/dist/shared/ai/types.d.ts +14 -62
  5. package/dist/shared/ai/types.d.ts.map +1 -1
  6. package/dist/shared/ajv.js +33 -31
  7. package/dist/shared/ajv.js.map +1 -1
  8. package/dist/shared/attributes.d.ts +91 -85
  9. package/dist/shared/attributes.d.ts.map +1 -1
  10. package/dist/shared/attributes.js +21 -23
  11. package/dist/shared/brick-manifest.d.ts +8 -5
  12. package/dist/shared/brick-manifest.d.ts.map +1 -1
  13. package/dist/shared/brick-manifest.js +3 -18
  14. package/dist/shared/bricks/manifests/accordion.manifest.d.ts +2 -2
  15. package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
  16. package/dist/shared/bricks/manifests/accordion.manifest.js +14 -20
  17. package/dist/shared/bricks/manifests/all-manifests.js +45 -43
  18. package/dist/shared/bricks/manifests/all-props.d.ts +1511 -0
  19. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -0
  20. package/dist/shared/bricks/manifests/all-props.js +244 -0
  21. package/dist/shared/bricks/manifests/all-props.js.map +1 -0
  22. package/dist/shared/bricks/manifests/box.manifest.d.ts +2 -2
  23. package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
  24. package/dist/shared/bricks/manifests/box.manifest.js +17 -20
  25. package/dist/shared/bricks/manifests/button.manifest.d.ts +3 -6
  26. package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
  27. package/dist/shared/bricks/manifests/button.manifest.js +14 -20
  28. package/dist/shared/bricks/manifests/card.manifest.d.ts +5 -3
  29. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  30. package/dist/shared/bricks/manifests/card.manifest.js +19 -20
  31. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +3 -2
  32. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  33. package/dist/shared/bricks/manifests/carousel.manifest.js +16 -20
  34. package/dist/shared/bricks/manifests/footer.manifest.d.ts +5 -3
  35. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  36. package/dist/shared/bricks/manifests/footer.manifest.js +14 -20
  37. package/dist/shared/bricks/manifests/form.manifest.d.ts +3 -3
  38. package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
  39. package/dist/shared/bricks/manifests/form.manifest.js +14 -20
  40. package/dist/shared/bricks/manifests/hero.manifest.d.ts +3 -5
  41. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  42. package/dist/shared/bricks/manifests/hero.manifest.js +14 -20
  43. package/dist/shared/bricks/manifests/html.manifest.d.ts +2 -1
  44. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  45. package/dist/shared/bricks/manifests/html.manifest.js +9 -20
  46. package/dist/shared/bricks/manifests/icon.manifest.d.ts +1 -1
  47. package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
  48. package/dist/shared/bricks/manifests/icon.manifest.js +14 -20
  49. package/dist/shared/bricks/manifests/image.manifest.d.ts +3 -2
  50. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  51. package/dist/shared/bricks/manifests/image.manifest.js +17 -20
  52. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +4 -2
  53. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
  54. package/dist/shared/bricks/manifests/images-gallery.manifest.js +16 -20
  55. package/dist/shared/bricks/manifests/map.manifest.d.ts +2 -1
  56. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  57. package/dist/shared/bricks/manifests/map.manifest.js +12 -20
  58. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +7 -5
  59. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/navbar.manifest.js +16 -20
  61. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +1 -1
  62. package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
  63. package/dist/shared/bricks/manifests/sidebar.manifest.js +14 -20
  64. package/dist/shared/bricks/manifests/social-links.manifest.d.ts +2 -2
  65. package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
  66. package/dist/shared/bricks/manifests/social-links.manifest.js +15 -20
  67. package/dist/shared/bricks/manifests/spacer.manifest.d.ts +1 -1
  68. package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
  69. package/dist/shared/bricks/manifests/spacer.manifest.js +9 -20
  70. package/dist/shared/bricks/manifests/table.manifest.d.ts +5 -4
  71. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/table.manifest.js +16 -20
  73. package/dist/shared/bricks/manifests/tabs.manifest.d.ts +5 -5
  74. package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
  75. package/dist/shared/bricks/manifests/tabs.manifest.js +16 -20
  76. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +5 -3
  77. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  78. package/dist/shared/bricks/manifests/testimonials.manifest.js +19 -20
  79. package/dist/shared/bricks/manifests/text.manifest.d.ts +3 -10
  80. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  81. package/dist/shared/bricks/manifests/text.manifest.js +14 -20
  82. package/dist/shared/bricks/manifests/timeline.manifest.d.ts +7 -7
  83. package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
  84. package/dist/shared/bricks/manifests/timeline.manifest.js +16 -20
  85. package/dist/shared/bricks/manifests/video.manifest.d.ts +1 -1
  86. package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
  87. package/dist/shared/bricks/manifests/video.manifest.js +12 -20
  88. package/dist/shared/bricks/props/align.d.ts +0 -3
  89. package/dist/shared/bricks/props/align.d.ts.map +1 -1
  90. package/dist/shared/bricks/props/align.js +4 -11
  91. package/dist/shared/bricks/props/background.d.ts +2 -8
  92. package/dist/shared/bricks/props/background.d.ts.map +1 -1
  93. package/dist/shared/bricks/props/background.js +4 -9
  94. package/dist/shared/bricks/props/border.d.ts +0 -7
  95. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  96. package/dist/shared/bricks/props/border.js +5 -10
  97. package/dist/shared/bricks/props/color-preset.d.ts +316 -6
  98. package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
  99. package/dist/shared/bricks/props/color-preset.js +2 -5
  100. package/dist/shared/bricks/props/color.d.ts +3 -5
  101. package/dist/shared/bricks/props/color.d.ts.map +1 -1
  102. package/dist/shared/bricks/props/color.js +3 -8
  103. package/dist/shared/bricks/props/common.d.ts.map +1 -1
  104. package/dist/shared/bricks/props/common.js +5 -5
  105. package/dist/shared/bricks/props/css-length.d.ts +0 -1
  106. package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
  107. package/dist/shared/bricks/props/css-length.js +1 -4
  108. package/dist/shared/bricks/props/datasource.d.ts +3 -3
  109. package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
  110. package/dist/shared/bricks/props/datasource.js +74 -76
  111. package/dist/shared/bricks/props/datasource.js.map +1 -1
  112. package/dist/shared/bricks/props/date.js +21 -4
  113. package/dist/shared/bricks/props/date.js.map +1 -1
  114. package/dist/shared/bricks/props/direction.d.ts +1 -2
  115. package/dist/shared/bricks/props/direction.d.ts.map +1 -1
  116. package/dist/shared/bricks/props/direction.js +4 -7
  117. package/dist/shared/bricks/props/dynamic.d.ts +5 -67
  118. package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
  119. package/dist/shared/bricks/props/dynamic.js +6 -24
  120. package/dist/shared/bricks/props/effects.d.ts +1 -3
  121. package/dist/shared/bricks/props/effects.d.ts.map +1 -1
  122. package/dist/shared/bricks/props/effects.js +4 -9
  123. package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
  124. package/dist/shared/bricks/props/geolocation.js +3 -6
  125. package/dist/shared/bricks/props/geolocation.js.map +1 -1
  126. package/dist/shared/bricks/props/grow.d.ts +3 -0
  127. package/dist/shared/bricks/props/grow.d.ts.map +1 -0
  128. package/dist/shared/{utils/typed-ref.js → bricks/props/grow.js} +5 -5
  129. package/dist/shared/bricks/props/helpers.js +6 -6
  130. package/dist/shared/bricks/props/image.d.ts +3 -8
  131. package/dist/shared/bricks/props/image.d.ts.map +1 -1
  132. package/dist/shared/bricks/props/image.js +4 -7
  133. package/dist/shared/bricks/props/string.d.ts +2 -5
  134. package/dist/shared/bricks/props/string.d.ts.map +1 -1
  135. package/dist/shared/bricks/props/string.js +3 -10
  136. package/dist/shared/bricks/props/tags.d.ts +0 -1
  137. package/dist/shared/bricks/props/tags.d.ts.map +1 -1
  138. package/dist/shared/bricks/props/tags.js +3 -6
  139. package/dist/shared/bricks/props/text.d.ts +0 -3
  140. package/dist/shared/bricks/props/text.d.ts.map +1 -1
  141. package/dist/shared/bricks/props/text.js +4 -11
  142. package/dist/shared/bricks/props/types.d.ts +2 -2
  143. package/dist/shared/bricks/props/types.d.ts.map +1 -1
  144. package/dist/shared/bricks.d.ts +65 -154
  145. package/dist/shared/bricks.d.ts.map +1 -1
  146. package/dist/shared/bricks.js +48 -52
  147. package/dist/shared/chunk-2EOCK66Z.js +19 -0
  148. package/dist/shared/chunk-2EOCK66Z.js.map +1 -0
  149. package/dist/shared/{chunk-F22LDHEO.js → chunk-2U5U3CCJ.js} +3 -18
  150. package/dist/shared/chunk-2U5U3CCJ.js.map +1 -0
  151. package/dist/shared/{chunk-2RK3CPYJ.js → chunk-2UEPTT5J.js} +12 -19
  152. package/dist/shared/chunk-2UEPTT5J.js.map +1 -0
  153. package/dist/shared/{chunk-W6MRYRGJ.js → chunk-2Z5WOCFS.js} +46 -20
  154. package/dist/shared/chunk-2Z5WOCFS.js.map +1 -0
  155. package/dist/shared/{chunk-CRS7QCPZ.js → chunk-34IUWNRX.js} +65 -27
  156. package/dist/shared/chunk-34IUWNRX.js.map +1 -0
  157. package/dist/shared/chunk-57NRTXRA.js +309 -0
  158. package/dist/shared/chunk-57NRTXRA.js.map +1 -0
  159. package/dist/shared/{chunk-UXTASZ23.js → chunk-5HJT5NJ3.js} +66 -63
  160. package/dist/shared/chunk-5HJT5NJ3.js.map +1 -0
  161. package/dist/shared/{chunk-H5JM2M2T.js → chunk-5J4Y43RM.js} +58 -185
  162. package/dist/shared/chunk-5J4Y43RM.js.map +1 -0
  163. package/dist/shared/{chunk-RV7AYVFV.js → chunk-5OVOXUFX.js} +6 -20
  164. package/dist/shared/chunk-5OVOXUFX.js.map +1 -0
  165. package/dist/shared/{chunk-TNMNMYOB.js → chunk-5RCC2STG.js} +2 -13
  166. package/dist/shared/chunk-5RCC2STG.js.map +1 -0
  167. package/dist/shared/{chunk-42OUNI7C.js → chunk-5SNSUC6Q.js} +27 -29
  168. package/dist/shared/chunk-5SNSUC6Q.js.map +1 -0
  169. package/dist/shared/{chunk-ZR6R6Z6O.js → chunk-B5T2LFV2.js} +34 -36
  170. package/dist/shared/chunk-B5T2LFV2.js.map +1 -0
  171. package/dist/shared/{chunk-Q4NPPLEU.js → chunk-BHARJBEK.js} +2 -9
  172. package/dist/shared/chunk-BHARJBEK.js.map +1 -0
  173. package/dist/shared/{chunk-LLNPH3XR.js → chunk-DCM4732T.js} +6 -8
  174. package/dist/shared/chunk-DCM4732T.js.map +1 -0
  175. package/dist/shared/{chunk-LCJ2VFPM.js → chunk-E3ZW57HF.js} +32 -26
  176. package/dist/shared/chunk-E3ZW57HF.js.map +1 -0
  177. package/dist/shared/{chunk-CSF2WQX2.js → chunk-EID5HPF3.js} +15 -12
  178. package/dist/shared/chunk-EID5HPF3.js.map +1 -0
  179. package/dist/shared/chunk-EMF5TCPX.js +389 -0
  180. package/dist/shared/chunk-EMF5TCPX.js.map +1 -0
  181. package/dist/shared/chunk-EUFVTHAG.js +33 -0
  182. package/dist/shared/chunk-EUFVTHAG.js.map +1 -0
  183. package/dist/shared/{chunk-2IHKVMKW.js → chunk-FC52EHCC.js} +18 -19
  184. package/dist/shared/chunk-FC52EHCC.js.map +1 -0
  185. package/dist/shared/chunk-FD7YYFRI.js +225 -0
  186. package/dist/shared/chunk-FD7YYFRI.js.map +1 -0
  187. package/dist/shared/{chunk-KILJYJFE.js → chunk-FVV27R73.js} +20 -105
  188. package/dist/shared/chunk-FVV27R73.js.map +1 -0
  189. package/dist/shared/{chunk-N3ZTQD5I.js → chunk-FYGFB5U5.js} +10 -23
  190. package/dist/shared/chunk-FYGFB5U5.js.map +1 -0
  191. package/dist/shared/chunk-GDYCCB3B.js +22 -0
  192. package/dist/shared/chunk-GDYCCB3B.js.map +1 -0
  193. package/dist/shared/chunk-GLV6QIIM.js +41 -0
  194. package/dist/shared/chunk-GLV6QIIM.js.map +1 -0
  195. package/dist/shared/{chunk-EVLRH6VG.js → chunk-GNTJT7MR.js} +2 -2
  196. package/dist/shared/chunk-GNTJT7MR.js.map +1 -0
  197. package/dist/shared/chunk-HHUFGV7J.js +259 -0
  198. package/dist/shared/chunk-HHUFGV7J.js.map +1 -0
  199. package/dist/shared/{chunk-TFGGYU6Y.js → chunk-IEMCCHM4.js} +7 -12
  200. package/dist/shared/chunk-IEMCCHM4.js.map +1 -0
  201. package/dist/shared/{chunk-GIGFNQBO.js → chunk-IMDOF55E.js} +12 -4
  202. package/dist/shared/chunk-IMDOF55E.js.map +1 -0
  203. package/dist/shared/{chunk-N3BEBLWF.js → chunk-IPWYNE6Y.js} +34 -34
  204. package/dist/shared/chunk-J6R3GSKS.js +386 -0
  205. package/dist/shared/chunk-J6R3GSKS.js.map +1 -0
  206. package/dist/shared/{chunk-ZRRAK5NS.js → chunk-KRODRZNS.js} +41 -33
  207. package/dist/shared/chunk-KRODRZNS.js.map +1 -0
  208. package/dist/shared/chunk-KTA7XES3.js +168 -0
  209. package/dist/shared/chunk-KTA7XES3.js.map +1 -0
  210. package/dist/shared/{chunk-2VDR4ZYY.js → chunk-L4W4B2RQ.js} +26 -82
  211. package/dist/shared/chunk-L4W4B2RQ.js.map +1 -0
  212. package/dist/shared/chunk-MO6CRLQA.js +73 -0
  213. package/dist/shared/chunk-MO6CRLQA.js.map +1 -0
  214. package/dist/shared/{chunk-GQTZPN5D.js → chunk-NTP6BKRU.js} +29 -32
  215. package/dist/shared/chunk-NTP6BKRU.js.map +1 -0
  216. package/dist/shared/{chunk-DFAFDBYZ.js → chunk-O53V22BK.js} +34 -27
  217. package/dist/shared/chunk-O53V22BK.js.map +1 -0
  218. package/dist/shared/{chunk-BPBKHEQ5.js → chunk-OJ6KL7FU.js} +1 -8
  219. package/dist/shared/chunk-OJ6KL7FU.js.map +1 -0
  220. package/dist/shared/{chunk-F247VKAE.js → chunk-ORIUCOED.js} +18 -20
  221. package/dist/shared/chunk-ORIUCOED.js.map +1 -0
  222. package/dist/shared/{chunk-GFAQWQER.js → chunk-PFZMRSHJ.js} +33 -35
  223. package/dist/shared/chunk-PFZMRSHJ.js.map +1 -0
  224. package/dist/shared/{chunk-KIDICX3Y.js → chunk-QHKOAIOK.js} +43 -78
  225. package/dist/shared/chunk-QHKOAIOK.js.map +1 -0
  226. package/dist/shared/{chunk-4MNWMEMM.js → chunk-RDOCVLCF.js} +21 -21
  227. package/dist/shared/chunk-RDOCVLCF.js.map +1 -0
  228. package/dist/shared/{chunk-FQDR2BBZ.js → chunk-RFH7PEVS.js} +13 -5
  229. package/dist/shared/chunk-RFH7PEVS.js.map +1 -0
  230. package/dist/shared/chunk-T3UPW5OW.js +79 -0
  231. package/dist/shared/chunk-T3UPW5OW.js.map +1 -0
  232. package/dist/shared/{chunk-L6C7HUSA.js → chunk-TGKNA2JS.js} +21 -24
  233. package/dist/shared/chunk-TGKNA2JS.js.map +1 -0
  234. package/dist/shared/chunk-TZ6X7ZM5.js +158 -0
  235. package/dist/shared/chunk-TZ6X7ZM5.js.map +1 -0
  236. package/dist/shared/{chunk-BHC2A43S.js → chunk-UC75KRLX.js} +3 -3
  237. package/dist/shared/{chunk-BHC2A43S.js.map → chunk-UC75KRLX.js.map} +1 -1
  238. package/dist/shared/{chunk-LTIJI7Y3.js → chunk-VMIJ6MG5.js} +34 -34
  239. package/dist/shared/chunk-VMIJ6MG5.js.map +1 -0
  240. package/dist/shared/{chunk-NTLAKMMQ.js → chunk-VYA2FCTY.js} +6 -17
  241. package/dist/shared/chunk-VYA2FCTY.js.map +1 -0
  242. package/dist/shared/{chunk-Y74LZNND.js → chunk-WPZV3LYL.js} +4 -10
  243. package/dist/shared/chunk-WPZV3LYL.js.map +1 -0
  244. package/dist/shared/chunk-XFZQGRRL.js +101 -0
  245. package/dist/shared/chunk-XFZQGRRL.js.map +1 -0
  246. package/dist/shared/{chunk-FOGAVJC2.js → chunk-XYWSIMZ6.js} +3 -3
  247. package/dist/shared/chunk-XYWSIMZ6.js.map +1 -0
  248. package/dist/shared/{chunk-ZLYIRH2B.js → chunk-ZRBTAC3G.js} +3 -18
  249. package/dist/shared/chunk-ZRBTAC3G.js.map +1 -0
  250. package/dist/shared/{chunk-36PLZKMW.js → chunk-ZYQZUWF7.js} +26 -27
  251. package/dist/shared/chunk-ZYQZUWF7.js.map +1 -0
  252. package/dist/shared/chunk-ZZVYD4BG.js +41 -0
  253. package/dist/shared/chunk-ZZVYD4BG.js.map +1 -0
  254. package/dist/shared/context.d.ts +406 -23
  255. package/dist/shared/context.d.ts.map +1 -1
  256. package/dist/shared/context.js +94 -0
  257. package/dist/shared/context.js.map +1 -1
  258. package/dist/shared/datarecords/external/airtable/types.d.ts +1 -1
  259. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
  260. package/dist/shared/datarecords/external/airtable/types.js +2 -1
  261. package/dist/shared/datarecords/types.d.ts +3 -3
  262. package/dist/shared/datarecords/types.d.ts.map +1 -1
  263. package/dist/shared/datarecords/types.js +3 -2
  264. package/dist/shared/datasources/external/instagram/feed/schema.d.ts +1 -1
  265. package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
  266. package/dist/shared/datasources/external/instagram/feed/schema.js +4 -1
  267. package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
  268. package/dist/shared/datasources/external/mastodon/status/schema.d.ts +6 -6
  269. package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
  270. package/dist/shared/datasources/external/mastodon/status/schema.js +6 -19
  271. package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
  272. package/dist/shared/datasources/external/meta/oauth/config.d.ts +2 -2
  273. package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
  274. package/dist/shared/datasources/external/meta/oauth/config.js +4 -1
  275. package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
  276. package/dist/shared/datasources/external/threads/media/schema.d.ts +1 -1
  277. package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
  278. package/dist/shared/datasources/external/threads/media/schema.js +4 -8
  279. package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
  280. package/dist/shared/datasources/internal/blog/schema.d.ts +1 -1
  281. package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
  282. package/dist/shared/datasources/internal/blog/schema.js +4 -1
  283. package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
  284. package/dist/shared/datasources/types.d.ts +25 -25
  285. package/dist/shared/datasources/types.d.ts.map +1 -1
  286. package/dist/shared/datasources/types.js +3 -16
  287. package/dist/shared/images.d.ts +1 -1
  288. package/dist/shared/images.d.ts.map +1 -1
  289. package/dist/shared/images.js +4 -38
  290. package/dist/shared/images.js.map +1 -1
  291. package/dist/shared/page.d.ts +141 -22
  292. package/dist/shared/page.d.ts.map +1 -1
  293. package/dist/shared/page.js +52 -49
  294. package/dist/shared/responsive.js +1 -1
  295. package/dist/shared/site.d.ts +81 -191
  296. package/dist/shared/site.d.ts.map +1 -1
  297. package/dist/shared/site.js +56 -114
  298. package/dist/shared/site.js.map +1 -1
  299. package/dist/shared/sitemap.d.ts +4 -326
  300. package/dist/shared/sitemap.d.ts.map +1 -1
  301. package/dist/shared/sitemap.js +51 -58
  302. package/dist/shared/theme.d.ts +0 -37
  303. package/dist/shared/theme.d.ts.map +1 -1
  304. package/dist/shared/theme.js +4 -21
  305. package/dist/shared/utils/llm.d.ts +1 -10
  306. package/dist/shared/utils/llm.d.ts.map +1 -1
  307. package/dist/shared/utils/llm.js +1 -18
  308. package/dist/shared/utils/schema.d.ts +3 -7
  309. package/dist/shared/utils/schema.d.ts.map +1 -1
  310. package/dist/shared/utils/schema.js +2 -19
  311. package/dist/shared/utils/string-enum.d.ts +9 -3
  312. package/dist/shared/utils/string-enum.d.ts.map +1 -1
  313. package/dist/shared/utils/string-enum.js +1 -1
  314. package/package.json +21 -5
  315. package/src/shared/ai/schemas.ts +25 -30
  316. package/src/shared/ai/types.ts +23 -89
  317. package/src/shared/attributes.ts +53 -51
  318. package/src/shared/brick-manifest.ts +5 -6
  319. package/src/shared/bricks/manifests/accordion.manifest.ts +11 -11
  320. package/src/shared/bricks/manifests/all-props.ts +165 -0
  321. package/src/shared/bricks/manifests/box.manifest.ts +19 -21
  322. package/src/shared/bricks/manifests/button.manifest.ts +54 -16
  323. package/src/shared/bricks/manifests/card.manifest.ts +45 -174
  324. package/src/shared/bricks/manifests/carousel.manifest.ts +11 -13
  325. package/src/shared/bricks/manifests/footer.manifest.ts +16 -15
  326. package/src/shared/bricks/manifests/form.manifest.ts +14 -15
  327. package/src/shared/bricks/manifests/hero.manifest.ts +58 -265
  328. package/src/shared/bricks/manifests/html.manifest.ts +6 -0
  329. package/src/shared/bricks/manifests/icon.manifest.ts +10 -99
  330. package/src/shared/bricks/manifests/image.manifest.ts +22 -23
  331. package/src/shared/bricks/manifests/images-gallery.manifest.ts +21 -15
  332. package/src/shared/bricks/manifests/map.manifest.ts +19 -75
  333. package/src/shared/bricks/manifests/navbar.manifest.ts +20 -21
  334. package/src/shared/bricks/manifests/sidebar.manifest.ts +9 -10
  335. package/src/shared/bricks/manifests/social-links.manifest.ts +17 -20
  336. package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
  337. package/src/shared/bricks/manifests/table.manifest.ts +21 -15
  338. package/src/shared/bricks/manifests/tabs.manifest.ts +26 -445
  339. package/src/shared/bricks/manifests/testimonials.manifest.ts +47 -244
  340. package/src/shared/bricks/manifests/text.manifest.ts +28 -59
  341. package/src/shared/bricks/manifests/timeline.manifest.ts +29 -24
  342. package/src/shared/bricks/manifests/video.manifest.ts +9 -10
  343. package/src/shared/bricks/props/align.ts +0 -13
  344. package/src/shared/bricks/props/background.ts +3 -15
  345. package/src/shared/bricks/props/border.ts +2 -13
  346. package/src/shared/bricks/props/color-preset.ts +9 -10
  347. package/src/shared/bricks/props/color.ts +12 -20
  348. package/src/shared/bricks/props/common.ts +8 -15
  349. package/src/shared/bricks/props/css-length.ts +0 -5
  350. package/src/shared/bricks/props/datasource.ts +72 -74
  351. package/src/shared/bricks/props/direction.ts +1 -5
  352. package/src/shared/bricks/props/dynamic.ts +0 -11
  353. package/src/shared/bricks/props/effects.ts +0 -9
  354. package/src/shared/bricks/props/geolocation.ts +3 -3
  355. package/src/shared/bricks/props/grow.ts +11 -0
  356. package/src/shared/bricks/props/helpers.ts +1 -1
  357. package/src/shared/bricks/props/image.ts +44 -16
  358. package/src/shared/bricks/props/string.ts +7 -18
  359. package/src/shared/bricks/props/tags.ts +0 -5
  360. package/src/shared/bricks/props/tests/background.test.ts +1 -15
  361. package/src/shared/bricks/props/tests/image.test.ts +3 -9
  362. package/src/shared/bricks/props/tests/string.test.ts +2 -26
  363. package/src/shared/bricks/props/text.ts +0 -12
  364. package/src/shared/bricks/props/types.ts +4 -3
  365. package/src/shared/bricks.ts +166 -1020
  366. package/src/shared/context.ts +24 -24
  367. package/src/shared/datarecords/external/airtable/types.ts +12 -11
  368. package/src/shared/datarecords/types.ts +2 -34
  369. package/src/shared/datasources/external/instagram/feed/schema.ts +2 -1
  370. package/src/shared/datasources/external/mastodon/status/schema.ts +4 -19
  371. package/src/shared/datasources/external/meta/oauth/config.ts +2 -1
  372. package/src/shared/datasources/external/threads/media/schema.ts +2 -8
  373. package/src/shared/datasources/internal/blog/schema.ts +2 -1
  374. package/src/shared/datasources/types.ts +64 -79
  375. package/src/shared/images.ts +12 -18
  376. package/src/shared/page.ts +10 -1
  377. package/src/shared/site.ts +1 -0
  378. package/src/shared/sitemap.ts +3 -70
  379. package/src/shared/tests/attributes.test.ts +2 -0
  380. package/src/shared/theme.ts +81 -96
  381. package/src/shared/utils/llm.ts +5 -191
  382. package/src/shared/utils/schema.ts +95 -258
  383. package/src/shared/utils/string-enum.ts +25 -4
  384. package/src/shared/utils/tests/schema.test.ts +278 -314
  385. package/dist/shared/chunk-2IHKVMKW.js.map +0 -1
  386. package/dist/shared/chunk-2RK3CPYJ.js.map +0 -1
  387. package/dist/shared/chunk-2VDR4ZYY.js.map +0 -1
  388. package/dist/shared/chunk-36PLZKMW.js.map +0 -1
  389. package/dist/shared/chunk-42OUNI7C.js.map +0 -1
  390. package/dist/shared/chunk-4MNWMEMM.js.map +0 -1
  391. package/dist/shared/chunk-A2QPY54H.js +0 -13
  392. package/dist/shared/chunk-A2QPY54H.js.map +0 -1
  393. package/dist/shared/chunk-BPBKHEQ5.js.map +0 -1
  394. package/dist/shared/chunk-CRS7QCPZ.js.map +0 -1
  395. package/dist/shared/chunk-CSF2WQX2.js.map +0 -1
  396. package/dist/shared/chunk-DFAFDBYZ.js.map +0 -1
  397. package/dist/shared/chunk-DV3G7X34.js +0 -244
  398. package/dist/shared/chunk-DV3G7X34.js.map +0 -1
  399. package/dist/shared/chunk-EVLRH6VG.js.map +0 -1
  400. package/dist/shared/chunk-F22LDHEO.js.map +0 -1
  401. package/dist/shared/chunk-F247VKAE.js.map +0 -1
  402. package/dist/shared/chunk-FOGAVJC2.js.map +0 -1
  403. package/dist/shared/chunk-FQDR2BBZ.js.map +0 -1
  404. package/dist/shared/chunk-GFAQWQER.js.map +0 -1
  405. package/dist/shared/chunk-GIGFNQBO.js.map +0 -1
  406. package/dist/shared/chunk-GQTZPN5D.js.map +0 -1
  407. package/dist/shared/chunk-H5JM2M2T.js.map +0 -1
  408. package/dist/shared/chunk-HTUSL2U7.js +0 -260
  409. package/dist/shared/chunk-HTUSL2U7.js.map +0 -1
  410. package/dist/shared/chunk-IQIISR22.js +0 -794
  411. package/dist/shared/chunk-IQIISR22.js.map +0 -1
  412. package/dist/shared/chunk-JK2FWFJU.js +0 -15
  413. package/dist/shared/chunk-JK2FWFJU.js.map +0 -1
  414. package/dist/shared/chunk-KEM5N6GJ.js +0 -505
  415. package/dist/shared/chunk-KEM5N6GJ.js.map +0 -1
  416. package/dist/shared/chunk-KIDICX3Y.js.map +0 -1
  417. package/dist/shared/chunk-KILJYJFE.js.map +0 -1
  418. package/dist/shared/chunk-L6C7HUSA.js.map +0 -1
  419. package/dist/shared/chunk-LCJ2VFPM.js.map +0 -1
  420. package/dist/shared/chunk-LLNPH3XR.js.map +0 -1
  421. package/dist/shared/chunk-LTIJI7Y3.js.map +0 -1
  422. package/dist/shared/chunk-MFNHFN2B.js +0 -103
  423. package/dist/shared/chunk-MFNHFN2B.js.map +0 -1
  424. package/dist/shared/chunk-N3ZTQD5I.js.map +0 -1
  425. package/dist/shared/chunk-NTLAKMMQ.js.map +0 -1
  426. package/dist/shared/chunk-Q4NPPLEU.js.map +0 -1
  427. package/dist/shared/chunk-RV7AYVFV.js.map +0 -1
  428. package/dist/shared/chunk-SE6O65HC.js +0 -44
  429. package/dist/shared/chunk-SE6O65HC.js.map +0 -1
  430. package/dist/shared/chunk-TFGGYU6Y.js.map +0 -1
  431. package/dist/shared/chunk-TNMNMYOB.js.map +0 -1
  432. package/dist/shared/chunk-TNTFKLCR.js +0 -1225
  433. package/dist/shared/chunk-TNTFKLCR.js.map +0 -1
  434. package/dist/shared/chunk-U5ZECCJM.js +0 -464
  435. package/dist/shared/chunk-U5ZECCJM.js.map +0 -1
  436. package/dist/shared/chunk-UXTASZ23.js.map +0 -1
  437. package/dist/shared/chunk-W6MRYRGJ.js.map +0 -1
  438. package/dist/shared/chunk-WKN566LN.js +0 -29
  439. package/dist/shared/chunk-WKN566LN.js.map +0 -1
  440. package/dist/shared/chunk-Y74LZNND.js.map +0 -1
  441. package/dist/shared/chunk-YWOTQWIQ.js +0 -572
  442. package/dist/shared/chunk-YWOTQWIQ.js.map +0 -1
  443. package/dist/shared/chunk-ZLYIRH2B.js.map +0 -1
  444. package/dist/shared/chunk-ZR6R6Z6O.js.map +0 -1
  445. package/dist/shared/chunk-ZRRAK5NS.js.map +0 -1
  446. package/dist/shared/tests/schema-registry.test.d.ts +0 -2
  447. package/dist/shared/tests/schema-registry.test.d.ts.map +0 -1
  448. package/dist/shared/utils/schema-registry.d.ts +0 -5
  449. package/dist/shared/utils/schema-registry.d.ts.map +0 -1
  450. package/dist/shared/utils/schema-registry.js +0 -29
  451. package/dist/shared/utils/tests/schema-registry.test.d.ts +0 -2
  452. package/dist/shared/utils/tests/schema-registry.test.d.ts.map +0 -1
  453. package/dist/shared/utils/typed-ref.d.ts +0 -43
  454. package/dist/shared/utils/typed-ref.d.ts.map +0 -1
  455. package/dist/shared/utils/typed-ref.js.map +0 -1
  456. package/src/shared/tests/schema-registry.test.ts +0 -12
  457. package/src/shared/utils/schema-registry.ts +0 -82
  458. package/src/shared/utils/tests/schema-registry.test.ts +0 -13
  459. package/src/shared/utils/typed-ref.ts +0 -53
  460. /package/dist/shared/{utils/schema-registry.js.map → bricks/props/grow.js.map} +0 -0
  461. /package/dist/shared/{chunk-N3BEBLWF.js.map → chunk-IPWYNE6Y.js.map} +0 -0
@@ -1,6 +1,14 @@
1
- import type { ImageSearchResultsType } from "./images";
2
- import type { VersionedPage } from "./page";
3
- import type { Site } from "./site";
1
+ import { type Static, Type } from "@sinclair/typebox";
2
+ import { imageResultsSchema } from "./images";
3
+ import { versionedPageSchema } from "./page";
4
+ import { siteSchema } from "./site";
5
+
6
+ export const generationStateSchema = Type.Object({
7
+ isReady: Type.Boolean(),
8
+ isSetup: Type.Boolean(),
9
+ hasSitemap: Type.Boolean(),
10
+ hasThemesGenerated: Type.Boolean(),
11
+ });
4
12
 
5
13
  export type GenerationState = {
6
14
  isReady: boolean;
@@ -9,25 +17,17 @@ export type GenerationState = {
9
17
  hasThemesGenerated: boolean;
10
18
  };
11
19
 
12
- export type CallContextProps = {
13
- userId: string;
14
- /**
15
- * The site object
16
- */
17
- site: Site;
18
- /**
19
- * Current page. Undefined if flow is "setup" and no page has been created yet.
20
- */
21
- page: VersionedPage;
22
-
23
- /**
24
- * The current generation state of the site. Only used when flow is "setup".
25
- */
26
- generationState?: GenerationState;
27
- /**
28
- * The user language guessed from the sitePrompt, if available.
29
- */
30
- userLanguage?: string;
20
+ export const callContextSchema = Type.Object({
21
+ site: siteSchema,
22
+ page: versionedPageSchema,
23
+ generationState: Type.Optional(generationStateSchema),
24
+ userLanguage: Type.Optional(
25
+ Type.String({
26
+ minLength: 2,
27
+ maxLength: 2,
28
+ }),
29
+ ),
30
+ assets: imageResultsSchema,
31
+ });
31
32
 
32
- assets: ImageSearchResultsType;
33
- };
33
+ export type CallContextProps = Static<typeof callContextSchema>;
@@ -1,4 +1,5 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
+ import { StringEnum } from "~/shared/utils/string-enum";
2
3
 
3
4
  export const airtableFields = Type.Array(
4
5
  Type.Object({
@@ -48,16 +49,16 @@ export type AirtableBases = {
48
49
  name: string;
49
50
  }[];
50
51
 
51
- export const AirtableFieldTypes = Type.Union([
52
- Type.Literal("number"),
53
- Type.Literal("checkbox"),
54
- Type.Literal("date"),
55
- Type.Literal("dateTime"),
56
- Type.Literal("email"),
57
- Type.Literal("url"),
58
- Type.Literal("singleLineText"),
59
- Type.Literal("multilineText"),
60
- Type.Literal("singleSelect"),
61
- Type.Literal("multipleSelects"),
52
+ export const AirtableFieldTypes = StringEnum([
53
+ "number",
54
+ "checkbox",
55
+ "date",
56
+ "dateTime",
57
+ "email",
58
+ "url",
59
+ "singleLineText",
60
+ "multilineText",
61
+ "singleSelect",
62
+ "multipleSelects",
62
63
  ]);
63
64
  export type AirtableFieldType = Static<typeof AirtableFieldTypes>;
@@ -2,13 +2,9 @@ import { Type, type Static } from "@sinclair/typebox";
2
2
  import { airtableOptions } from "./external/airtable/types";
3
3
  import { googleSheetsOptions } from "./external/google/sheets/types";
4
4
  import { notionOptions } from "./external/notion/types";
5
+ import { StringEnum } from "../utils/string-enum";
5
6
 
6
- export const connectorSchema = Type.Union([
7
- Type.Literal("airtable"),
8
- Type.Literal("google-sheets"),
9
- Type.Literal("notion"),
10
- Type.Literal("internal"),
11
- ]);
7
+ export const connectorSchema = StringEnum(["airtable", "google-sheets", "notion", "internal"]);
12
8
 
13
9
  export type DatarecordConnector = Static<typeof connectorSchema>;
14
10
 
@@ -140,34 +136,6 @@ export const genericDatarecord = Type.Composite([
140
136
  commonDatarecordSchema,
141
137
  ]);
142
138
 
143
- // export const genericDatarecord = Type.Union([
144
- // Type.Composite([
145
- // Type.Object({
146
- // provider: Type.Literal("airtable"),
147
- // options: airtableOptions,
148
- // }),
149
- // commonDatarecordMetadata,
150
- // commonDatarecordSchema,
151
- // ]),
152
- // Type.Composite([
153
- // Type.Object({
154
- // provider: Type.Literal("google-sheets"),
155
- // options: googleSheetsOptions,
156
- // }),
157
- // commonDatarecordMetadata,
158
- // commonDatarecordSchema,
159
- // ]),
160
- // Type.Composite([
161
- // Type.Object({
162
- // provider: Type.Literal("notion"),
163
- // options: notionOptions,
164
- // }),
165
- // commonDatarecordMetadata,
166
- // commonDatarecordSchema,
167
- // ]),
168
- // Type.Composite([internalDatarecord, commonDatarecordMetadata, commonDatarecordSchema]),
169
- // ]);
170
-
171
139
  export type Datarecord = Static<typeof genericDatarecord>;
172
140
  export type InternalDatarecord = Extract<Datarecord, { provider: "internal" }>;
173
141
 
@@ -1,4 +1,5 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
+ import { StringEnum } from "../../../../utils/string-enum";
2
3
 
3
4
  export const instagramFeedSchema = Type.Object({
4
5
  data: Type.Array(
@@ -8,7 +9,7 @@ export const instagramFeedSchema = Type.Object({
8
9
  timestamp: Type.String(),
9
10
  media_url: Type.String(),
10
11
  permalink: Type.String(),
11
- media_type: Type.Union([Type.Literal("IMAGE"), Type.Literal("VIDEO"), Type.Literal("CAROUSEL_ALBUM")]),
12
+ media_type: StringEnum(["IMAGE", "VIDEO", "CAROUSEL_ALBUM"]),
12
13
  }),
13
14
  ),
14
15
  paging: Type.Object({
@@ -1,15 +1,10 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
+ import { StringEnum } from "../../../../utils/string-enum";
2
3
  import { mastodonAccountSchema } from "../account/schema";
3
4
 
4
5
  const mastodonMediaAttachmentSchema = Type.Object({
5
6
  id: Type.String(),
6
- type: Type.Union([
7
- Type.Literal("audio"),
8
- Type.Literal("image"),
9
- Type.Literal("video"),
10
- Type.Literal("gifv"),
11
- Type.Literal("unknown"),
12
- ]),
7
+ type: StringEnum(["audio", "image", "video", "gifv", "unknown"]),
13
8
  url: Type.String(),
14
9
  preview_url: Type.Optional(Type.String()),
15
10
  remote_url: Type.Optional(Type.String()),
@@ -30,12 +25,7 @@ const mastodonPreviewCardSchema = Type.Object({
30
25
  url: Type.String(),
31
26
  title: Type.String(),
32
27
  description: Type.String(),
33
- type: Type.Union([
34
- Type.Literal("link"),
35
- Type.Literal("photo"),
36
- Type.Literal("video"),
37
- Type.Literal("rich"),
38
- ]),
28
+ type: StringEnum(["link", "photo", "video", "rich"]),
39
29
  author_name: Type.String(),
40
30
  author_url: Type.String(),
41
31
  provider_name: Type.String(),
@@ -71,12 +61,7 @@ export const mastodonStatusSchema = Type.Object({
71
61
  created_at: Type.String(),
72
62
  account: mastodonAccountSchema,
73
63
  content: Type.String(),
74
- visibility: Type.Union([
75
- Type.Literal("public"),
76
- Type.Literal("unlisted"),
77
- Type.Literal("private"),
78
- Type.Literal("direct"),
79
- ]),
64
+ visibility: StringEnum(["public", "unlisted", "private", "direct"]),
80
65
  sensitive: Type.Boolean(),
81
66
  media_attachments: Type.Array(mastodonMediaAttachmentSchema),
82
67
  application: Type.Optional(
@@ -1,8 +1,9 @@
1
1
  import { Type, type Static, type StaticDecode } from "@sinclair/typebox";
2
+ import { StringEnum } from "../../../../utils/string-enum";
2
3
  import { buildOAuthConfigSchema } from "~/shared/oauth";
3
4
 
4
5
  const metaOAuthConfig = Type.Object({
5
- type: Type.Union([Type.Literal("short-lived"), Type.Literal("long-lived")]),
6
+ type: StringEnum(["short-lived", "long-lived"]),
6
7
  accessToken: Type.String(),
7
8
  userId: Type.String(),
8
9
  permissions: Type.Array(Type.String()),
@@ -1,18 +1,12 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
+ import { StringEnum } from "../../../../utils/string-enum";
2
3
 
3
4
  export const threadsMediaSchema = Type.Object({
4
5
  data: Type.Array(
5
6
  Type.Object({
6
7
  id: Type.String(),
7
8
  media_product_type: Type.Literal("THREADS"),
8
- media_type: Type.Union([
9
- Type.Literal("TEXT_POST"),
10
- Type.Literal("IMAGE"),
11
- Type.Literal("VIDEO"),
12
- Type.Literal("CAROUSEL_ALBUM"),
13
- Type.Literal("AUDIO"),
14
- Type.Literal("REPOST_FACADE"),
15
- ]),
9
+ media_type: StringEnum(["TEXT_POST", "IMAGE", "VIDEO", "CAROUSEL_ALBUM", "AUDIO", "REPOST_FACADE"]),
16
10
  media_url: Type.String(),
17
11
  permalink: Type.String(),
18
12
  owner: Type.Object({
@@ -1,4 +1,5 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
+ import { StringEnum } from "../../../utils/string-enum";
2
3
 
3
4
  export const blogSchema = Type.Array(
4
5
  Type.Object({
@@ -39,7 +40,7 @@ export const blogSchema = Type.Array(
39
40
  pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$",
40
41
  description: "URL-friendly version of the title",
41
42
  }),
42
- status: Type.Union([Type.Literal("draft"), Type.Literal("published"), Type.Literal("archived")], {
43
+ status: StringEnum(["draft", "published", "archived"], {
43
44
  title: "Status",
44
45
  description: "Publication status of the blog post",
45
46
  }),
@@ -2,26 +2,26 @@ import { Type, type Static } from "@sinclair/typebox";
2
2
  import { StringEnum } from "../utils/string-enum";
3
3
  import { toLLMSchema } from "../utils/llm";
4
4
 
5
- export const providersSchema = Type.Union([
6
- // Type.Literal("facebook-posts"),
7
- // Type.Literal("instagram-feed"),
8
- // Type.Literal("mastodon-account"),
9
- // Type.Literal("mastodon-status"),
10
- // Type.Literal("mastodon-status-list"),
11
- Type.Literal("internal"),
12
- // Type.Literal("rss"),
13
- // // Type.Literal("threads-media"),
14
- // // Type.Literal("tiktok-video"),
15
- // Type.Literal("youtube-list"),
16
- // Type.Literal("http-json"),
17
- // Type.Literal("internal-blog"),
18
- // Type.Literal("internal-changelog"),
19
- // // Type.Literal("internal-contact-info"),
20
- // Type.Literal("internal-faq"),
21
- // Type.Literal("internal-links"),
22
- // Type.Literal("internal-recipes"),
23
- // Type.Literal("internal-restaurant"),
24
- // Type.Literal("internal-cv"),
5
+ export const providersSchema = StringEnum([
6
+ // "facebook-posts",
7
+ // "instagram-feed",
8
+ // "mastodon-account",
9
+ // "mastodon-status",
10
+ // "mastodon-status-list",
11
+ "internal",
12
+ // "rss",
13
+ // // "threads-media",
14
+ // // "tiktok-video",
15
+ // "youtube-list",
16
+ // "http-json",
17
+ // "internal-blog",
18
+ // "internal-changelog",
19
+ // // "internal-contact-info",
20
+ // "internal-faq",
21
+ // "internal-links",
22
+ // "internal-recipes",
23
+ // "internal-restaurant",
24
+ // "internal-cv",
25
25
  ]);
26
26
 
27
27
  export type DatasourceProvider = Static<typeof providersSchema>;
@@ -77,19 +77,17 @@ const datasourceInternalManifest = Type.Object(
77
77
  title: "Schema",
78
78
  description: "JSON Schema of datasource. MUST Always an array of objects.",
79
79
  }),
80
- indexes: Type.Optional(
81
- Type.Array(
82
- Type.Object({
83
- name: Type.String({ title: "Index name" }),
84
- fields: Type.Array(Type.String(), { title: "Fields to index" }),
85
- unique: Type.Optional(Type.Boolean({ title: "Unique index", default: false })),
86
- }),
87
- {
88
- title: "Indexes",
89
- description:
90
- "IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance.",
91
- },
92
- ),
80
+ indexes: Type.Array(
81
+ Type.Object({
82
+ name: Type.String({ title: "Index name" }),
83
+ fields: Type.Array(Type.String(), { title: "Fields to index" }),
84
+ unique: Type.Optional(Type.Boolean({ title: "Unique index", default: false })),
85
+ }),
86
+ {
87
+ title: "Indexes",
88
+ description:
89
+ "IMPORTANT: Indexes to create on the datasource. use it to enforce uniqueness or improve query performance.",
90
+ },
93
91
  ),
94
92
  },
95
93
  {
@@ -243,53 +241,40 @@ export type DatasourcesList = Static<typeof datasourcesList>;
243
241
 
244
242
  const stringFilter = Type.Object({
245
243
  field: Type.String(),
246
- op: Type.Union([
247
- Type.Literal("eq"),
248
- Type.Literal("ne"),
249
- Type.Literal("contains"),
250
- Type.Literal("notContains"),
251
- Type.Literal("startsWith"),
252
- Type.Literal("notStartsWith"),
253
- Type.Literal("endsWith"),
254
- Type.Literal("notEndsWith"),
244
+ op: StringEnum([
245
+ "eq",
246
+ "ne",
247
+ "contains",
248
+ "notContains",
249
+ "startsWith",
250
+ "notStartsWith",
251
+ "endsWith",
252
+ "notEndsWith",
255
253
  ]),
256
254
  value: Type.String(),
257
255
  });
258
256
 
259
257
  const numberFilter = Type.Object({
260
258
  field: Type.String(),
261
- op: Type.Union([
262
- Type.Literal("eq"),
263
- Type.Literal("ne"),
264
- Type.Literal("lt"),
265
- Type.Literal("lte"),
266
- Type.Literal("gt"),
267
- Type.Literal("gte"),
268
- ]),
259
+ op: StringEnum(["eq", "ne", "lt", "lte", "gt", "gte"]),
269
260
  value: Type.Number(),
270
261
  });
271
262
 
272
263
  const dateFilterAbsolute = Type.Object({
273
264
  field: Type.String(),
274
- op: Type.Union([Type.Literal("before"), Type.Literal("after")]),
265
+ op: StringEnum(["before", "after"]),
275
266
  value: Type.String(),
276
267
  });
277
268
 
278
269
  const dateFilterRelative = Type.Object({
279
270
  field: Type.String(),
280
- op: Type.Union([Type.Literal("beforeNow"), Type.Literal("afterNow")]),
271
+ op: StringEnum(["beforeNow", "afterNow"]),
281
272
  value: Type.Null(),
282
273
  });
283
274
 
284
275
  const arrayFilter = Type.Object({
285
276
  field: Type.String(),
286
- op: Type.Union([
287
- Type.Literal("contains"),
288
- Type.Literal("notContains"),
289
- Type.Literal("containsAll"),
290
- Type.Literal("containsAny"),
291
- Type.Literal("notContainsAny"),
292
- ]),
277
+ op: StringEnum(["contains", "notContains", "containsAll", "containsAny", "notContainsAny"]),
293
278
  value: Type.Array(Type.String()),
294
279
  });
295
280
 
@@ -392,27 +377,27 @@ export const querySchema = Type.Object(
392
377
  Type.Array(
393
378
  Type.Object({
394
379
  field: Type.String({ title: "Field", description: "Field name to use as parameter" }),
395
- op: Type.Union(
380
+ op: StringEnum(
396
381
  [
397
- Type.Literal("eq"),
398
- Type.Literal("ne"),
399
- Type.Literal("contains"),
400
- Type.Literal("notContains"),
401
- Type.Literal("startsWith"),
402
- Type.Literal("notStartsWith"),
403
- Type.Literal("endsWith"),
404
- Type.Literal("notEndsWith"),
405
- Type.Literal("lt"),
406
- Type.Literal("lte"),
407
- Type.Literal("gt"),
408
- Type.Literal("gte"),
409
- Type.Literal("before"),
410
- Type.Literal("after"),
411
- Type.Literal("beforeNow"),
412
- Type.Literal("afterNow"),
413
- Type.Literal("containsAll"),
414
- Type.Literal("containsAny"),
415
- Type.Literal("notContainsAny"),
382
+ "eq",
383
+ "ne",
384
+ "contains",
385
+ "notContains",
386
+ "startsWith",
387
+ "notStartsWith",
388
+ "endsWith",
389
+ "notEndsWith",
390
+ "lt",
391
+ "lte",
392
+ "gt",
393
+ "gte",
394
+ "before",
395
+ "after",
396
+ "beforeNow",
397
+ "afterNow",
398
+ "containsAll",
399
+ "containsAny",
400
+ "notContainsAny",
416
401
  ],
417
402
  { title: "Operator", description: "Operator to use for the parameter" },
418
403
  ),
@@ -16,24 +16,18 @@ export const imageSearchSchema = Type.Object({
16
16
  export type ImageSearchParams = Static<typeof imageSearchSchema>;
17
17
 
18
18
  export const imageResultsSchema = Type.Array(
19
- Type.Object(
20
- {
21
- provider: Type.String({ description: "The image provider (e.g. unsplash, pexels)" }),
22
- description: Type.String({ description: "A brief description of the image" }),
23
- url: Type.String({ description: "The URL of the image" }),
24
- blurHash: Type.Optional(Type.String({ description: "The blur hash of the image" })),
25
- author: Type.Optional(
26
- Type.Object(
27
- {
28
- name: Type.String({ description: "The name of the user who uploaded the image" }),
29
- profile_url: Type.String({ description: "The profile URL of the user who uploaded the image" }),
30
- },
31
- { additionalProperties: false },
32
- ),
33
- ),
34
- },
35
- { additionalProperties: false },
36
- ),
19
+ Type.Object({
20
+ provider: Type.String({ description: "The image provider (e.g. unsplash, pexels)" }),
21
+ description: Type.String({ description: "A brief description of the image" }),
22
+ url: Type.String({ description: "The URL of the image" }),
23
+ blurHash: Type.Optional(Type.String({ description: "The blur hash of the image" })),
24
+ author: Type.Optional(
25
+ Type.Object({
26
+ name: Type.String({ description: "The name of the user who uploaded the image" }),
27
+ profileUrl: Type.String({ description: "The profile URL of the user who uploaded the image" }),
28
+ }),
29
+ ),
30
+ }),
37
31
  {
38
32
  title: "Array of image search results",
39
33
  },
@@ -6,6 +6,7 @@ export const pageSchema = Type.Object({
6
6
  id: Type.String({
7
7
  description: "The unique ID of the page. Use a human readable url-safe slug",
8
8
  examples: ["home", "about-us", "products-list"],
9
+ pattern: "^[a-z0-9-_]+$",
9
10
  }),
10
11
  label: Type.String({
11
12
  description: "The label (name) of the page",
@@ -18,7 +19,15 @@ export const pageSchema = Type.Object({
18
19
  });
19
20
 
20
21
  export type Page = Static<typeof pageSchema>;
21
- export type VersionedPage = Page & { version: string };
22
+
23
+ export const versionedPageSchema = Type.Composite([
24
+ pageSchema,
25
+ Type.Object({
26
+ version: Type.String(),
27
+ }),
28
+ ]);
29
+
30
+ export type VersionedPage = Static<typeof versionedPageSchema>;
22
31
 
23
32
  /**
24
33
  * Page context represents the page config PLUS:
@@ -47,6 +47,7 @@ export function createEmptyConfig(sitePrompt: string): SiteAndPagesConfig {
47
47
  // we need a fake page
48
48
  pages: [
49
49
  {
50
+ // Keep this fake id as is!
50
51
  id: "_default_",
51
52
  label: "First page",
52
53
  sections: [],
@@ -1,61 +1,12 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
2
  import { StringEnum } from "./utils/string-enum";
3
3
  import { pageSchema } from "./page";
4
- import { toLLMSchema } from "./utils/llm";
5
-
6
- export const sitemapPageEntry = Type.Pick(pageSchema, ["id", "label", "path", "attributes"]);
7
- export type SitemapPageEntry = Static<typeof sitemapPageEntry>;
8
-
9
- export const sectionsPlanSchema = Type.Array(
10
- Type.Object(
11
- {
12
- id: Type.String({
13
- title: "Section ID",
14
- examples: ["header-section", "hero-section", "features-section"],
15
- format: "slug",
16
- }),
17
- name: Type.String({ title: "Section name", examples: ["Header", "Hero", "Features"] }),
18
- description: Type.String({
19
- title: "A long description of the section",
20
- description: `You must elaborate a clear and detailled plan that describes:
21
- - The section purpose in the page, in detail.
22
- - The section structure, look & feel, and structural/design organization, in detail
23
- - the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
24
-
25
- IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`,
26
-
27
- examples: [
28
- "This section contains a `hero` and a call-to-action `button`. All of theme aligned horizontally. The section should market a coffee shop.",
29
- "This section should contain a `hero` text and an `image`.",
30
- ],
31
- }),
32
- },
33
- { additionalProperties: false },
34
- ),
35
- {
36
- title: "Sections plan",
37
- description: "A plan for the sections of the page. Used to generate the page content.",
38
- examples: [
39
- [
40
- {
41
- id: "header-section",
42
- name: "Header",
43
- description: "This section only contains a header brick",
44
- },
45
- {
46
- id: "hero-section",
47
- name: "Hero",
48
- description:
49
- "This is the hero section of the page. It should display a marketing message using a hero brick, as well as a button (CTA). The section should center bricks horizontally.",
50
- },
51
- ],
52
- ],
53
- },
54
- );
4
+ import { pageAttributesSchema } from "./attributes";
55
5
 
56
6
  export const sitemapEntry = Type.Composite(
57
7
  [
58
- sitemapPageEntry,
8
+ Type.Pick(pageSchema, ["id", "label"]),
9
+ Type.Pick(pageAttributesSchema, ["path", "tags"]),
59
10
  Type.Object({
60
11
  status: Type.Optional(
61
12
  StringEnum(["draft", "published"], {
@@ -65,32 +16,14 @@ export const sitemapEntry = Type.Composite(
65
16
  "ai:hidden": true,
66
17
  description:
67
18
  "The status of the page. Can be draft or published. [AI instructions: Dont generate this.]",
68
- "ai:instructions": "Upsie: Never generate this optional field.",
69
19
  }),
70
20
  ),
71
21
  }),
72
22
  ],
73
23
  {
74
24
  description: "Pages map. The complete list of site pages & their metadata",
75
- additionalProperties: false,
76
25
  },
77
26
  );
78
27
 
79
28
  export const sitemapSchema = Type.Array(sitemapEntry);
80
29
  export type Sitemap = Static<typeof sitemapSchema>;
81
-
82
- export const sitemapSchemaLLM = toLLMSchema(
83
- Type.Array(
84
- Type.Composite([
85
- sitemapEntry,
86
- Type.Object({
87
- // Sections plan helps agents to the structure and content of the page
88
- sectionsPlan: sectionsPlanSchema,
89
- }),
90
- ]),
91
- ),
92
- );
93
-
94
- export type SitemapWithPlans = Static<typeof sitemapSchemaLLM>;
95
-
96
- export const sitemapSchemaNoPlansLLM = toLLMSchema(sitemapSchema);
@@ -16,6 +16,8 @@ describe("Attributes test suite", () => {
16
16
  title: "Untitled",
17
17
  description: "",
18
18
  keywords: "",
19
+ queries: [],
20
+ tags: [],
19
21
  });
20
22
  });
21
23
  });