@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,10 +1,8 @@
1
1
  import { Type, type Static } from "@sinclair/typebox";
2
- import type { JSONSchemaType } from "ajv";
3
2
  import { getSchemaDefaults } from "../shared/utils/schema";
4
3
  import { manifest as navbarManifest } from "./bricks/manifests/navbar.manifest";
5
4
  import { manifest as footerManifest } from "./bricks/manifests/footer.manifest";
6
5
  import { boolean } from "./bricks/props/boolean";
7
- import { datetime } from "./bricks/props/date";
8
6
  import { image } from "./bricks/props/image";
9
7
  import { colorPreset } from "./bricks/props/color-preset";
10
8
  import { queryUse, type QueryUseSettings } from "./bricks/props/dynamic";
@@ -12,8 +10,7 @@ import { querySchema } from "./datasources/types";
12
10
  import { StringEnum } from "./utils/string-enum";
13
11
  import { background } from "./bricks/props/background";
14
12
  import { toLLMSchema } from "./utils/llm";
15
-
16
- export type { JSONSchemaType };
13
+ import defaultsDeep from "lodash-es/defaultsDeep";
17
14
 
18
15
  // Default attributes
19
16
  export const pageAttributesSchema = Type.Object(
@@ -207,12 +204,19 @@ export const pageAttributesSchema = Type.Object(
207
204
  "ui:group": "layout",
208
205
  }),
209
206
  ),
207
+ isInitialPage: Type.Optional(
208
+ Type.Boolean({
209
+ title: "Is this the initial page created by the system?",
210
+ "ai:hidden": true,
211
+ }),
212
+ ),
210
213
  },
211
214
  {
212
215
  "ui:groups": {
213
216
  meta: "SEO & Meta tags",
214
217
  layout: "Layout",
215
218
  },
219
+ additionalProperties: true,
216
220
  },
217
221
  );
218
222
 
@@ -399,10 +403,10 @@ export type PageAttributesNoQueries = Static<typeof pageAttributesNoQueriesSchem
399
403
 
400
404
  export function resolvePageAttributes(data: Partial<PageAttributes> = {}) {
401
405
  const defaultAttrValues = getSchemaDefaults(pageAttributesSchema);
402
- return { ...defaultAttrValues, ...data } as PageAttributes;
406
+ return defaultsDeep({}, defaultAttrValues, data) as PageAttributes;
403
407
  }
404
408
 
405
409
  export function resolveSiteAttributes(data: Partial<SiteAttributes> = {}) {
406
410
  const defaultAttrValues = getSchemaDefaults(siteAttributesSchema);
407
- return { ...defaultAttrValues, ...data } as SiteAttributes;
411
+ return defaultsDeep({}, defaultAttrValues, data) as SiteAttributes;
408
412
  }
@@ -4,7 +4,6 @@ import { textContent } from "../props/text";
4
4
  import { BsCardText } from "react-icons/bs";
5
5
  import { image } from "../props/image";
6
6
  import { type Static, Type } from "@sinclair/typebox";
7
- import type { BrickProps } from "../props/types";
8
7
  import { shadow } from "../props/effects";
9
8
  import { border, rounding } from "../props/border";
10
9
  import { colorPreset } from "../props/color-preset";
@@ -24,6 +23,7 @@ Guidelines:
24
23
  - Always provide a short button label (1-3 words) and pick a color matching semantic weight (primary/accent for primary actions, neutral/secondary for low emphasis).
25
24
  - Set noTitle: true when the card is intentionally title-less (e.g. a quote card or pure media focus).
26
25
  - Use dynamic tokens (e.g. {{products.price}}) instead of duplicating literal values.
26
+ - A good value for the "colorPreset" is base-100 for light mode and neutral-800 for dark mode.
27
27
  - border + rounding + shadow should be cohesive: stronger borders pair well with larger rounding + moderate shadow; minimal / flat cards may use border-0 + no shadow.
28
28
  - For internal navigation, always supply a page ID (e.g. 'about') instead of a full URL. Use placeholders like {{page.$slug}} for dynamic page links.
29
29
  - Keep HTML inside text minimal (<strong>, <em>, <br>, <p>) — for richer structure consider multiple bricks instead.
@@ -37,7 +37,6 @@ Guidelines:
37
37
  colorPreset: Type.Optional(
38
38
  colorPreset({
39
39
  title: "Color preset",
40
- default: { color: "base-100" },
41
40
  }),
42
41
  ),
43
42
  cardImage: Type.Optional(
@@ -53,7 +52,6 @@ Guidelines:
53
52
  enumNames: ["Top", "Middle", "Bottom"],
54
53
  title: "Image Position",
55
54
  description: "Where the image should be placed in the card",
56
- default: "top",
57
55
  "ui:responsive": "desktop",
58
56
  metadata: {
59
57
  category: "content",
@@ -67,7 +65,6 @@ Guidelines:
67
65
  Type.Boolean({
68
66
  title: "No Title",
69
67
  description: "Whether to hide the card title",
70
- default: false,
71
68
  "ui:responsive": "desktop",
72
69
  }),
73
70
  ),
@@ -101,7 +98,7 @@ Guidelines:
101
98
  }),
102
99
  url: urlOrPageId({
103
100
  title: "Button URL",
104
- description: "The URL the button should link to.",
101
+ description: "The URL or page id the button should link to.",
105
102
  metadata: {
106
103
  category: "content",
107
104
  },
@@ -66,11 +66,7 @@ DO
66
66
  "ui:styleId": "styles:padding",
67
67
  }),
68
68
  ),
69
- rounding: Type.Optional(
70
- rounding({
71
- default: "rounded-md",
72
- }),
73
- ),
69
+ rounding: Type.Optional(rounding()),
74
70
  border: Type.Optional(border()),
75
71
  shadow: Type.Optional(shadow()),
76
72
  blurHash: Type.Optional(
@@ -6,7 +6,7 @@ export function color(options: StringOptions = {}) {
6
6
  "ai:instructions":
7
7
  "Format is `text-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
8
8
  pattern:
9
- "^text-(primary|secondary|accent|neutral|base|inherit)-?(50|100|200|300|400|500|600|700|800|900)?$",
9
+ "^text-(primary|secondary|accent|neutral|base|inherit|current)-?(50|100|200|300|400|500|600|700|800|900)?$",
10
10
  "ui:styleId": "styles:color",
11
11
  "ui:field": "color",
12
12
  "ui:color-type": "text",
@@ -21,7 +21,8 @@ export function borderColor(options: StringOptions = {}) {
21
21
  title: "Border color",
22
22
  "ai:instructions":
23
23
  "Format is `border-<variant>-<shade>`, variants being `primary`, `secondary`, `accent` and `neutral`, and shades between 50 and 900",
24
- pattern: "^border-(primary|secondary|accent|neutral|base)-?(50|100|200|300|400|500|600|700|800|900)?$",
24
+ pattern:
25
+ "^border-(primary|secondary|accent|neutral|base|current)-?(50|100|200|300|400|500|600|700|800|900)?$",
25
26
  "ui:styleId": "styles:borderColor",
26
27
  "ui:field": "color",
27
28
  "ui:color-type": "border",
@@ -22,7 +22,10 @@ export function queryUse() {
22
22
  description:
23
23
  "Additional query parameters/filters to apply to the query. One can use placeholders in values like ':slug' to reference URL parameters.",
24
24
  title: "Query Parameters",
25
- default: [],
25
+ examples: [
26
+ { field: "$slug", op: "eq", value: ":slug" },
27
+ { field: "category", op: "eq", value: ":category" },
28
+ ],
26
29
  }),
27
30
  ),
28
31
  },
@@ -2,13 +2,12 @@ import { Type, type Static, type ObjectOptions } from "@sinclair/typebox";
2
2
  import { StringEnum } from "~/shared/utils/string-enum";
3
3
 
4
4
  type PropImageOptions = {
5
- defaultImageUrl?: string;
6
5
  showImgSearch?: boolean;
7
6
  noObjectOptions?: boolean;
8
7
  } & ObjectOptions;
9
8
 
10
9
  export function image(options: PropImageOptions = {}) {
11
- const { defaultImageUrl, showImgSearch = false, noObjectOptions = false } = options;
10
+ const { showImgSearch = false, noObjectOptions = false } = options;
12
11
  const schema = Type.Object(
13
12
  {
14
13
  src: Type.String({
@@ -55,7 +54,7 @@ export function image(options: PropImageOptions = {}) {
55
54
  "9:21 (Tall vertical)",
56
55
  "Original",
57
56
  ],
58
- title: "Aspect Ratio",
57
+ title: "Forces aspect ratio",
59
58
  description: "The aspect ratio of the image",
60
59
  "ui:field": "enum",
61
60
  "ui:styleId": "styles:aspectRatio",
@@ -111,7 +111,8 @@ export function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {
111
111
  }),
112
112
  type: Type.Literal(type),
113
113
  props: manifests[type].props,
114
- mobileProps: Type.Optional(Type.Partial(manifests[type].props)),
114
+ // Mobileprops are always partial and do not contain $children
115
+ mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[type].props, ["$children"]))),
115
116
  },
116
117
  // IMPORTANT: DO NOT set "additionalProperties" to `false` because it would break validation with Cabidela library
117
118
  // { additionalProperties: false },
@@ -139,7 +140,7 @@ export function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {
139
140
  }),
140
141
  type: Type.Literal(t),
141
142
  props: manifests[t].props,
142
- mobileProps: Type.Optional(Type.Partial(manifests[t].props)),
143
+ mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[t].props, ["$children"]))),
143
144
  }),
144
145
  ),
145
146
  ),
@@ -1,4 +1,4 @@
1
- import { Type, type Static } from "@sinclair/typebox";
1
+ import { type TSchema, 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";
@@ -12,23 +12,27 @@ const internalDatarecord = Type.Object(
12
12
  {
13
13
  provider: Type.Literal("internal"),
14
14
  // options: Type.Optional(Type.Any()),
15
- schema: Type.Any({
16
- title: "Schema",
17
- description:
18
- "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved in the database.",
19
- examples: [
20
- {
21
- type: "object",
22
- properties: {
23
- firstname: { type: "string", title: "Firstname" },
24
- lastname: { type: "string", title: "Lastname" },
25
- email: { type: "string", format: "email", title: "Email" },
15
+ schema: Type.Object(
16
+ {},
17
+ {
18
+ title: "Schema",
19
+ additionalProperties: true,
20
+ description:
21
+ "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved in the database.",
22
+ examples: [
23
+ {
24
+ type: "object",
25
+ properties: {
26
+ firstname: { type: "string", title: "Firstname" },
27
+ lastname: { type: "string", title: "Lastname" },
28
+ email: { type: "string", format: "email", title: "Email" },
29
+ },
30
+ required: ["email"],
31
+ title: "Newsletter Subscription",
26
32
  },
27
- required: ["email"],
28
- title: "Newsletter Subscription",
29
- },
30
- ],
31
- }),
33
+ ],
34
+ },
35
+ ),
32
36
  indexes: Type.Array(
33
37
  Type.Object(
34
38
  {
@@ -85,23 +89,27 @@ const internalDatarecord = Type.Object(
85
89
 
86
90
  // Schema commun à tous les datarecords
87
91
  const commonDatarecordSchema = Type.Object({
88
- schema: Type.Any({
89
- title: "Schema",
90
- description:
91
- "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",
92
- examples: [
93
- {
94
- type: "object",
95
- properties: {
96
- firstname: { type: "string", title: "Firstname" },
97
- lastname: { type: "string", title: "Lastname" },
98
- email: { type: "string", format: "email", title: "Email" },
92
+ schema: Type.Object(
93
+ {},
94
+ {
95
+ additionalProperties: true,
96
+ title: "Schema",
97
+ description:
98
+ "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",
99
+ examples: [
100
+ {
101
+ type: "object",
102
+ properties: {
103
+ firstname: { type: "string", title: "Firstname" },
104
+ lastname: { type: "string", title: "Lastname" },
105
+ email: { type: "string", format: "email", title: "Email" },
106
+ },
107
+ required: ["email"],
108
+ title: "Newsletter Subscription",
99
109
  },
100
- required: ["email"],
101
- title: "Newsletter Subscription",
102
- },
103
- ],
104
- }),
110
+ ],
111
+ },
112
+ ),
105
113
  });
106
114
 
107
115
  const commonDatarecordMetadata = Type.Object({
@@ -19,12 +19,6 @@ const fetchRss: DatasourceFetcher<RssSchema, null, RssOptions> = async ({
19
19
  pubDate: item.published ? item.published.toISOString() : new Date().toISOString(),
20
20
  })) ?? [];
21
21
 
22
- // const isValid = ajv.validate<RssSchema>(rssSchema, newFeed);
23
-
24
- // if (!isValid) {
25
- // throw new Error(`fetchRss Error: Invalid Feed data (${url}): ${serializeAjvErrors(ajv.errors)}`);
26
- // }
27
-
28
22
  return newFeed;
29
23
  };
30
24
 
@@ -1,4 +1,4 @@
1
- import type { TArray } from "@sinclair/typebox";
1
+ import { type Static, Type, type TArray } from "@sinclair/typebox";
2
2
  import type { Datasource } from "./datasources/types";
3
3
 
4
4
  /**
@@ -16,6 +16,15 @@ export function defineDatasource<D extends Datasource>(datasource: D) {
16
16
  };
17
17
  }
18
18
 
19
+ export const datasourceSystemProperties = Type.Object({
20
+ $id: Type.Optional(Type.String({ title: "Id", format: "text" })),
21
+ $publicationDate: Type.Optional(Type.String({ title: "Publication Date", format: "date-time" })),
22
+ $slug: Type.Optional(Type.String({ title: "Slug", format: "slug" })),
23
+ $lastModificationDate: Type.Optional(Type.String({ title: "Last Modification", format: "date-time" })),
24
+ });
25
+
26
+ export type DatasourceSystemProperties = Static<typeof datasourceSystemProperties>;
27
+
19
28
  /**
20
29
  * Map a datasource schema to include $id, $createdAt, and $updatedAt properties.
21
30
  */
@@ -28,11 +37,10 @@ export function mapDatasourceSchemaWithInternalProperties(schema: TArray): Datas
28
37
  type: "object",
29
38
  properties: {
30
39
  ...items.properties,
31
- $id: { type: "string", title: "Id" },
32
- $slug: { type: "string", format: "slug", title: "Slug" },
33
- $publicationDate: { type: "string", format: "date-time", title: "Publication Date" },
34
- $lastModificationDate: { type: "string", format: "date-time", title: "Last Modification Date" },
40
+ ...datasourceSystemProperties.properties,
35
41
  },
42
+ // We should likely reuse `datasourceSystemProperties.required` instead of hardcoding but I'm not sure
43
+ // how the dashboard is handling it right now when creating new items
36
44
  required: Array.from(new Set(["$id", "$slug", "$lastModificationDate", ...items.required])),
37
45
  },
38
46
  };
@@ -2,7 +2,7 @@ import { type Static, Type } from "@sinclair/typebox";
2
2
 
3
3
  export const sitePrompt = Type.String({
4
4
  minLength: 30,
5
- maxLength: 500,
5
+ maxLength: 1000,
6
6
  description: "User prompt for the site, describing the purpose and main features of the site.",
7
7
  });
8
8
 
@@ -49,10 +49,11 @@ export function createEmptyConfig(sitePrompt: string): SiteAndPagesConfig {
49
49
  {
50
50
  // Keep this fake id as is!
51
51
  id: "_default_",
52
- label: "First page",
52
+ label: "Untitled",
53
53
  sections: [],
54
54
  attributes: resolvePageAttributes({
55
55
  path: "/",
56
+ isInitialPage: true,
56
57
  }),
57
58
  },
58
59
  ],
@@ -18,10 +18,17 @@ export const sitemapEntry = Type.Composite(
18
18
  "The status of the page. Can be draft or published. [AI instructions: Dont generate this.]",
19
19
  }),
20
20
  ),
21
+ isInitialPage: Type.Optional(
22
+ Type.Boolean({
23
+ title: "Is initial page",
24
+ "ai:hidden": true,
25
+ }),
26
+ ),
21
27
  }),
22
28
  ],
23
29
  {
24
30
  description: "Pages map. The complete list of site pages & their metadata",
31
+ additionalProperties: true,
25
32
  },
26
33
  );
27
34
 
@@ -1,9 +1,8 @@
1
- import { type TArray, type TObject, type TSchema, Kind, type Static } from "@sinclair/typebox";
2
- import { Value } from "@sinclair/typebox/value";
1
+ import type { TArray, TObject, TSchema, Static } from "@sinclair/typebox";
3
2
  import type { PageAttributes } from "../attributes";
4
- import { defaultsDeep as applyDefaultsDeep, merge } from "lodash-es";
3
+ import { defaultsDeep as applyDefaultsDeep } from "lodash-es";
5
4
  import { FormatRegistry } from "@sinclair/typebox";
6
- import { DefaultErrorFunction, SetErrorFunction, ValueErrorType } from "@sinclair/typebox/errors";
5
+ import { Validator } from "@cfworker/json-schema";
7
6
  // export const jsonStringsSupportedFormats = ["date-time", "date", "email", "url"] as const;
8
7
 
9
8
  // import string enum for its side effects
@@ -34,21 +33,6 @@ FormatRegistry.Set("password", noCheck);
34
33
  FormatRegistry.Set("image", urlValidator);
35
34
  FormatRegistry.Set("file", urlValidator);
36
35
 
37
- SetErrorFunction((error) => {
38
- if (error.errorType === ValueErrorType.Kind) {
39
- if (
40
- error.schema.type === "string" &&
41
- typeof error.value === "string" &&
42
- error.schema.enum &&
43
- !error.schema.enum.includes(error.value)
44
- ) {
45
- return `Must include valid value: [${error.schema.enum.join(", ")}]`;
46
- }
47
- }
48
-
49
- return DefaultErrorFunction(error);
50
- });
51
-
52
36
  export function normalizeSchemaEnum(schema: TSchema): Array<{ const: string; title: string }> {
53
37
  if (!("enum" in schema)) {
54
38
  return schema.anyOf ?? schema.oneOf;
@@ -73,7 +57,6 @@ export function getSchemaDefaults<T extends TObject | TArray>(
73
57
  // Handle object schemas
74
58
  if (schema.type === "object" && "properties" in schema) {
75
59
  const objectSchema = schema as TObject;
76
- const required = objectSchema.required || [];
77
60
 
78
61
  // First pass: collect all properties that have defaults
79
62
  const propertiesWithDefaults: Record<string, unknown> = {};
@@ -84,14 +67,6 @@ export function getSchemaDefaults<T extends TObject | TArray>(
84
67
  }
85
68
  }
86
69
 
87
- // Second pass: validate that all required properties have defaults
88
- // If any required property lacks a default, return empty object
89
- for (const requiredProp of required) {
90
- if (!(requiredProp in propertiesWithDefaults)) {
91
- return {} as Static<T>;
92
- }
93
- }
94
-
95
70
  // If we get here, all required properties have defaults, so we can include all properties
96
71
  return propertiesWithDefaults as Static<T>;
97
72
  }
@@ -130,7 +105,6 @@ function getNestedDefaults(schema: TSchema, mode?: "mobile" | "desktop"): unknow
130
105
  if (schema.type === "object" && "properties" in schema) {
131
106
  const objectSchema = schema as TObject;
132
107
  const required = objectSchema.required || [];
133
- const defaults: Record<string, unknown> = {};
134
108
 
135
109
  // First pass: collect all properties that have defaults
136
110
  const propertiesWithDefaults: Record<string, unknown> = {};
@@ -187,25 +161,20 @@ export function filterSchemaProperties(schema: TObject, filter: (prop: TSchema)
187
161
  }
188
162
 
189
163
  export function validate<T extends TSchema>(schema: TSchema, data: unknown): Static<T> {
190
- try {
191
- const valid = Value.Check(schema, data);
192
- if (!valid) {
193
- let finalError = "";
194
- for (const error of Value.Errors(schema, data)) {
195
- finalError += `Error at ${error.path} with value ${error.value}: ${error.message}\n`;
196
- }
197
- console.error("Validation errors:\n", finalError);
198
- throw new Error(finalError);
164
+ const validator = new Validator(schema, "7", false);
165
+ const result = validator.validate(data);
166
+ if (!result.valid) {
167
+ const errors = [];
168
+ for (const error of result.errors) {
169
+ errors.push(`${error.error} (at ${error.keywordLocation})`);
199
170
  }
200
- } catch (e) {
201
- console.error("Validation exception:", e);
202
- console.dir(e, { depth: null });
203
- throw e;
171
+ const formatedError = `- ${errors.join("\n- ")}`;
172
+ throw new Error(formatedError);
204
173
  }
205
174
 
206
175
  // Mutate data with defaults
207
176
  const defaults = getSchemaDefaults(schema as TObject | TArray);
208
- const finalObject = applyDefaultsDeep({}, data, defaults);
177
+ const finalObject = Array.isArray(data) ? data : applyDefaultsDeep({}, data, defaults);
209
178
 
210
179
  return finalObject as Static<T>;
211
180
  }
@@ -4,9 +4,10 @@ import { validate, getSchemaDefaults } from "../schema";
4
4
  import { toLLMSchema } from "../llm";
5
5
  import { sitemapSchema } from "~/shared/sitemap";
6
6
  import type { Manifest } from "~/shared/bricks/manifests/text.manifest";
7
- import { makeFullBrickSchemaForLLM, type Section, sectionSchema } from "~/shared/bricks";
7
+ import { makeFullBrickSchemaForLLM, type Section, sectionProps, sectionSchema } from "~/shared/bricks";
8
8
  import type { BrickProps } from "~/shared/bricks/props/types";
9
9
  import { type Datarecord, genericDatarecord } from "~/shared/datarecords/types";
10
+ import { defaultTheme, themesArray } from "~/shared/theme";
10
11
 
11
12
  describe("toLLMSchema tests suite", () => {
12
13
  test("should remove metadata properties", () => {
@@ -425,31 +426,6 @@ describe("toLLMSchema consistency", () => {
425
426
  });
426
427
 
427
428
  describe("getSchemaDefaults", () => {
428
- test("should not generate partial objects when required properties lack defaults", () => {
429
- // Schema with mixed required/optional properties and defaults
430
- const problematicSchema = Type.Object(
431
- {
432
- requiredWithoutDefault: Type.String(), // Required but no default
433
- optionalWithDefault: Type.Optional(Type.String({ default: "has default" })), // Optional with default
434
- requiredWithDefault: Type.String({ default: "required default" }), // Required with default
435
- nested: Type.Object(
436
- {
437
- nestedRequired: Type.String(), // Required but no default
438
- nestedOptionalWithDefault: Type.Optional(Type.String({ default: "nested default" })), // Optional with default
439
- },
440
- { required: ["nestedRequired"] },
441
- ), // Make nestedRequired actually required
442
- },
443
- { required: ["requiredWithoutDefault", "requiredWithDefault", "nested"] },
444
- );
445
-
446
- const result = getSchemaDefaults(problematicSchema);
447
-
448
- // Should not include nested object since nestedRequired lacks a default
449
- // Should not include the root object at all since requiredWithoutDefault lacks a default
450
- expect(result).toEqual({});
451
- });
452
-
453
429
  test("should generate complete objects when all required properties have defaults", () => {
454
430
  const validSchema = Type.Object(
455
431
  {
@@ -631,6 +607,22 @@ describe("getSchemaDefaults", () => {
631
607
  expect(desktopResult).toEqual(["desktop1", "desktop2"]);
632
608
  expect(mobileResult).toEqual(["mobile1", "mobile2"]);
633
609
  });
610
+
611
+ test("should handle sectionProps", () => {
612
+ const result = getSchemaDefaults(sectionProps);
613
+ expect(result).toMatchObject({
614
+ direction: "flex-row",
615
+ });
616
+ });
617
+
618
+ test("should handle sectionSchema and its nested properties", () => {
619
+ const result = getSchemaDefaults(sectionSchema);
620
+ expect(result).toMatchObject({
621
+ props: {
622
+ direction: "flex-row",
623
+ },
624
+ });
625
+ });
634
626
  });
635
627
 
636
628
  describe("validation with validate()", () => {
@@ -750,7 +742,40 @@ describe("validation with validate()", () => {
750
742
  expect(() => validate(schema, example2)).not.toThrow();
751
743
  });
752
744
 
753
- test("show section schema", () => {
754
- console.log("Section schema:", JSON.stringify(sectionSchema));
745
+ test("should validate arrays", () => {
746
+ const schema = themesArray;
747
+ const good = [
748
+ defaultTheme,
749
+ {
750
+ ...defaultTheme,
751
+ name: "Theme 2",
752
+ },
753
+ ];
754
+ const wrong = [
755
+ defaultTheme,
756
+ {
757
+ ...defaultTheme,
758
+ name: 42,
759
+ },
760
+ ];
761
+ expect(() => validate(schema, good)).not.toThrow();
762
+ expect(() => validate(schema, wrong)).toThrow();
763
+ });
764
+
765
+ test("should add default values", () => {
766
+ const section: Section = {
767
+ id: "section1",
768
+ label: "Hero Section",
769
+ order: 1,
770
+ props: {
771
+ colorPreset: {
772
+ color: "primary-100",
773
+ },
774
+ },
775
+ bricks: [],
776
+ };
777
+ const validated = validate<typeof sectionSchema>(sectionSchema, section);
778
+ expect(() => validate<typeof sectionSchema>(sectionSchema, section)).not.toThrow();
779
+ expect(validated.props.direction).toBe("flex-row");
755
780
  });
756
781
  });
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +0,0 @@
1
- import Ajv, { type ErrorObject } from "ajv";
2
- export type { AnySchemaObject, JSONSchemaType, JSONType, SchemaObject } from "ajv";
3
- export declare const jsonStringsSupportedFormats: readonly ["date-time", "date", "email", "url"];
4
- export declare function createAJVInstance(): Ajv;
5
- export declare const ajv: Ajv;
6
- export declare function serializeAjvErrors(errors: ErrorObject[] | null | undefined): string;
7
- //# sourceMappingURL=ajv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ajv.d.ts","sourceRoot":"","sources":["../../src/shared/ajv.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAiB5C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnF,eAAO,MAAM,2BAA2B,gDAAiD,CAAC;AAE1F,wBAAgB,iBAAiB,QAmFhC;AAED,eAAO,MAAM,GAAG,KAAsB,CAAC;AAEvC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAcnF"}