@upstart.gg/sdk 0.0.137 → 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 (802) 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 -475
  20. package/dist/shared/attributes.d.ts.map +1 -1
  21. package/dist/shared/attributes.js +369 -44
  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 -23
  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 -60
  37. package/dist/shared/bricks/manifests/all-manifests.js.map +1 -1
  38. package/dist/shared/bricks/manifests/all-props.d.ts +1510 -1495
  39. package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
  40. package/dist/shared/bricks/manifests/all-props.js +167 -240
  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 -26
  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 -22
  49. package/dist/shared/bricks/manifests/button.manifest.js.map +1 -1
  50. package/dist/shared/bricks/manifests/card.manifest.d.ts +96 -87
  51. package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
  52. package/dist/shared/bricks/manifests/card.manifest.js +392 -27
  53. package/dist/shared/bricks/manifests/card.manifest.js.map +1 -1
  54. package/dist/shared/bricks/manifests/carousel.manifest.d.ts +86 -78
  55. package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
  56. package/dist/shared/bricks/manifests/carousel.manifest.js +775 -25
  57. package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -1
  58. package/dist/shared/bricks/manifests/footer.manifest.d.ts +117 -108
  59. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  60. package/dist/shared/bricks/manifests/footer.manifest.js +864 -24
  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 -24
  65. package/dist/shared/bricks/manifests/form.manifest.js.map +1 -1
  66. package/dist/shared/bricks/manifests/hero.manifest.d.ts +80 -75
  67. package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
  68. package/dist/shared/bricks/manifests/hero.manifest.js +202 -23
  69. package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -1
  70. package/dist/shared/bricks/manifests/html.manifest.d.ts +68 -60
  71. package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
  72. package/dist/shared/bricks/manifests/html.manifest.js +95 -17
  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 -23
  77. package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -1
  78. package/dist/shared/bricks/manifests/image.manifest.d.ts +97 -89
  79. package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
  80. package/dist/shared/bricks/manifests/image.manifest.js +456 -26
  81. package/dist/shared/bricks/manifests/image.manifest.js.map +1 -1
  82. package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +93 -84
  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 -24
  85. package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -1
  86. package/dist/shared/bricks/manifests/map.manifest.d.ts +78 -70
  87. package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
  88. package/dist/shared/bricks/manifests/map.manifest.js +138 -22
  89. package/dist/shared/bricks/manifests/map.manifest.js.map +1 -1
  90. package/dist/shared/bricks/manifests/navbar.manifest.d.ts +117 -108
  91. package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
  92. package/dist/shared/bricks/manifests/navbar.manifest.js +370 -27
  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 -23
  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 -23
  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 -17
  105. package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -1
  106. package/dist/shared/bricks/manifests/table.manifest.d.ts +93 -85
  107. package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
  108. package/dist/shared/bricks/manifests/table.manifest.js +771 -24
  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 -24
  113. package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -1
  114. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +97 -88
  115. package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
  116. package/dist/shared/bricks/manifests/testimonials.manifest.js +223 -27
  117. package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -1
  118. package/dist/shared/bricks/manifests/text.manifest.d.ts +76 -72
  119. package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
  120. package/dist/shared/bricks/manifests/text.manifest.js +199 -22
  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 -24
  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 -20
  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 -12
  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 +8 -0
  195. package/dist/shared/bricks/props/grow.d.ts.map +1 -0
  196. package/dist/shared/bricks/props/grow.js +16 -0
  197. package/dist/shared/bricks/props/grow.js.map +1 -0
  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 -18
  201. package/dist/shared/bricks/props/helpers.js.map +1 -1
  202. package/dist/shared/bricks/props/image.d.ts +15 -11
  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 -178
  230. package/dist/shared/bricks.d.ts.map +1 -1
  231. package/dist/shared/bricks.js +271 -77
  232. package/dist/shared/bricks.js.map +1 -1
  233. package/dist/shared/context.d.ts +405 -394
  234. package/dist/shared/context.d.ts.map +1 -1
  235. package/dist/shared/context.js +22 -92
  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 -241
  498. package/dist/shared/page.d.ts.map +1 -1
  499. package/dist/shared/page.js +29 -61
  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 -615
  510. package/dist/shared/site.d.ts.map +1 -1
  511. package/dist/shared/site.js +56 -69
  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 -62
  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 -15
  554. package/dist/shared/utils/schema.d.ts.map +1 -1
  555. package/dist/shared/utils/schema.js +91 -16
  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 +6 -4
  567. package/src/shared/ai/types.ts +2 -2
  568. package/src/shared/attributes.ts +10 -6
  569. package/src/shared/bricks/manifests/card.manifest.ts +27 -173
  570. package/src/shared/bricks/manifests/hero.manifest.ts +44 -249
  571. package/src/shared/bricks/manifests/html.manifest.ts +6 -0
  572. package/src/shared/bricks/manifests/icon.manifest.ts +1 -89
  573. package/src/shared/bricks/manifests/image.manifest.ts +1 -9
  574. package/src/shared/bricks/manifests/images-gallery.manifest.ts +8 -0
  575. package/src/shared/bricks/manifests/map.manifest.ts +9 -65
  576. package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -1
  577. package/src/shared/bricks/manifests/social-links.manifest.ts +0 -1
  578. package/src/shared/bricks/manifests/spacer.manifest.ts +0 -1
  579. package/src/shared/bricks/manifests/table.manifest.ts +6 -0
  580. package/src/shared/bricks/manifests/tabs.manifest.ts +12 -429
  581. package/src/shared/bricks/manifests/testimonials.manifest.ts +28 -226
  582. package/src/shared/bricks/manifests/text.manifest.ts +16 -44
  583. package/src/shared/bricks/props/background.ts +2 -1
  584. package/src/shared/bricks/props/color.ts +6 -2
  585. package/src/shared/bricks/props/common.ts +2 -8
  586. package/src/shared/bricks/props/dynamic.ts +4 -1
  587. package/src/shared/bricks/props/grow.ts +11 -0
  588. package/src/shared/bricks/props/image.ts +41 -2
  589. package/src/shared/bricks/props/string.ts +2 -0
  590. package/src/shared/bricks.ts +35 -24
  591. package/src/shared/datarecords/types.ts +41 -33
  592. package/src/shared/datasources/external/rss/fetcher.ts +0 -6
  593. package/src/shared/datasources.ts +13 -5
  594. package/src/shared/page.ts +1 -0
  595. package/src/shared/prompt.ts +1 -1
  596. package/src/shared/site.ts +3 -1
  597. package/src/shared/sitemap.ts +7 -0
  598. package/src/shared/utils/schema.ts +31 -52
  599. package/src/shared/utils/tests/schema.test.ts +239 -7
  600. package/dist/shared/ai/types.js.map +0 -1
  601. package/dist/shared/ajv.d.ts +0 -7
  602. package/dist/shared/ajv.d.ts.map +0 -1
  603. package/dist/shared/ajv.js +0 -6865
  604. package/dist/shared/ajv.js.map +0 -1
  605. package/dist/shared/analytics/types.js.map +0 -1
  606. package/dist/shared/bricks/manifests/_types.js.map +0 -1
  607. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +0 -2
  608. package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +0 -1
  609. package/dist/shared/bricks/props/tests/background.test.d.ts +0 -2
  610. package/dist/shared/bricks/props/tests/background.test.d.ts.map +0 -1
  611. package/dist/shared/bricks/props/tests/border.test.d.ts +0 -2
  612. package/dist/shared/bricks/props/tests/border.test.d.ts.map +0 -1
  613. package/dist/shared/bricks/props/tests/effects.test.d.ts +0 -2
  614. package/dist/shared/bricks/props/tests/effects.test.d.ts.map +0 -1
  615. package/dist/shared/bricks/props/tests/helpers.test.d.ts +0 -2
  616. package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +0 -1
  617. package/dist/shared/bricks/props/tests/image.test.d.ts +0 -2
  618. package/dist/shared/bricks/props/tests/image.test.d.ts.map +0 -1
  619. package/dist/shared/bricks/props/tests/string.test.d.ts +0 -2
  620. package/dist/shared/bricks/props/tests/string.test.d.ts.map +0 -1
  621. package/dist/shared/bricks/props/types.js.map +0 -1
  622. package/dist/shared/chunk-2BPYOTKA.js +0 -21
  623. package/dist/shared/chunk-2BPYOTKA.js.map +0 -1
  624. package/dist/shared/chunk-2O5HVPID.js +0 -41
  625. package/dist/shared/chunk-2O5HVPID.js.map +0 -1
  626. package/dist/shared/chunk-2U5U3CCJ.js +0 -90
  627. package/dist/shared/chunk-2U5U3CCJ.js.map +0 -1
  628. package/dist/shared/chunk-3ZDN5BWN.js +0 -18
  629. package/dist/shared/chunk-3ZDN5BWN.js.map +0 -1
  630. package/dist/shared/chunk-4KY7OZWD.js +0 -368
  631. package/dist/shared/chunk-4KY7OZWD.js.map +0 -1
  632. package/dist/shared/chunk-55C6MTX2.js +0 -21
  633. package/dist/shared/chunk-55C6MTX2.js.map +0 -1
  634. package/dist/shared/chunk-5RCC2STG.js +0 -58
  635. package/dist/shared/chunk-5RCC2STG.js.map +0 -1
  636. package/dist/shared/chunk-6AE7UD73.js +0 -272
  637. package/dist/shared/chunk-6AE7UD73.js.map +0 -1
  638. package/dist/shared/chunk-6TVVKUWM.js +0 -15
  639. package/dist/shared/chunk-6TVVKUWM.js.map +0 -1
  640. package/dist/shared/chunk-6WIMWLCJ.js +0 -17
  641. package/dist/shared/chunk-6WIMWLCJ.js.map +0 -1
  642. package/dist/shared/chunk-7LAWWRU7.js +0 -21
  643. package/dist/shared/chunk-7LAWWRU7.js.map +0 -1
  644. package/dist/shared/chunk-7U5WPHXB.js +0 -346
  645. package/dist/shared/chunk-7U5WPHXB.js.map +0 -1
  646. package/dist/shared/chunk-BHARJBEK.js +0 -27
  647. package/dist/shared/chunk-BHARJBEK.js.map +0 -1
  648. package/dist/shared/chunk-BZTWZC77.js +0 -530
  649. package/dist/shared/chunk-BZTWZC77.js.map +0 -1
  650. package/dist/shared/chunk-DCM4732T.js +0 -146
  651. package/dist/shared/chunk-DCM4732T.js.map +0 -1
  652. package/dist/shared/chunk-DRQKKPTX.js +0 -86
  653. package/dist/shared/chunk-DRQKKPTX.js.map +0 -1
  654. package/dist/shared/chunk-EID5HPF3.js +0 -63
  655. package/dist/shared/chunk-EID5HPF3.js.map +0 -1
  656. package/dist/shared/chunk-EMF5TCPX.js +0 -389
  657. package/dist/shared/chunk-EMF5TCPX.js.map +0 -1
  658. package/dist/shared/chunk-FD7YYFRI.js +0 -225
  659. package/dist/shared/chunk-FD7YYFRI.js.map +0 -1
  660. package/dist/shared/chunk-FHA4DFIM.js +0 -537
  661. package/dist/shared/chunk-FHA4DFIM.js.map +0 -1
  662. package/dist/shared/chunk-FUUSAMN3.js +0 -847
  663. package/dist/shared/chunk-FUUSAMN3.js.map +0 -1
  664. package/dist/shared/chunk-GDYCCB3B.js +0 -22
  665. package/dist/shared/chunk-GDYCCB3B.js.map +0 -1
  666. package/dist/shared/chunk-GLV6QIIM.js +0 -41
  667. package/dist/shared/chunk-GLV6QIIM.js.map +0 -1
  668. package/dist/shared/chunk-H6TMBELF.js +0 -374
  669. package/dist/shared/chunk-H6TMBELF.js.map +0 -1
  670. package/dist/shared/chunk-HPCCD6V5.js +0 -17
  671. package/dist/shared/chunk-HPCCD6V5.js.map +0 -1
  672. package/dist/shared/chunk-HUWMIXNN.js +0 -570
  673. package/dist/shared/chunk-HUWMIXNN.js.map +0 -1
  674. package/dist/shared/chunk-HY7JOP3J.js +0 -150
  675. package/dist/shared/chunk-HY7JOP3J.js.map +0 -1
  676. package/dist/shared/chunk-IEMCCHM4.js +0 -389
  677. package/dist/shared/chunk-IEMCCHM4.js.map +0 -1
  678. package/dist/shared/chunk-J45LSQT6.js +0 -56
  679. package/dist/shared/chunk-J45LSQT6.js.map +0 -1
  680. package/dist/shared/chunk-JF52BBFD.js +0 -461
  681. package/dist/shared/chunk-JF52BBFD.js.map +0 -1
  682. package/dist/shared/chunk-JLDAS3VE.js +0 -498
  683. package/dist/shared/chunk-JLDAS3VE.js.map +0 -1
  684. package/dist/shared/chunk-JSDKK5QN.js +0 -31
  685. package/dist/shared/chunk-JSDKK5QN.js.map +0 -1
  686. package/dist/shared/chunk-JW7MQAU4.js +0 -354
  687. package/dist/shared/chunk-JW7MQAU4.js.map +0 -1
  688. package/dist/shared/chunk-KKWT3OXF.js +0 -60
  689. package/dist/shared/chunk-KKWT3OXF.js.map +0 -1
  690. package/dist/shared/chunk-KNREHAPN.js +0 -13
  691. package/dist/shared/chunk-KNREHAPN.js.map +0 -1
  692. package/dist/shared/chunk-KQH6V22E.js +0 -213
  693. package/dist/shared/chunk-KQH6V22E.js.map +0 -1
  694. package/dist/shared/chunk-KT7SSWMM.js +0 -24
  695. package/dist/shared/chunk-KT7SSWMM.js.map +0 -1
  696. package/dist/shared/chunk-LGDDJJHK.js +0 -616
  697. package/dist/shared/chunk-LGDDJJHK.js.map +0 -1
  698. package/dist/shared/chunk-LGGPCCCY.js +0 -59
  699. package/dist/shared/chunk-LGGPCCCY.js.map +0 -1
  700. package/dist/shared/chunk-LPAQ47C6.js +0 -422
  701. package/dist/shared/chunk-LPAQ47C6.js.map +0 -1
  702. package/dist/shared/chunk-MO6CRLQA.js +0 -73
  703. package/dist/shared/chunk-MO6CRLQA.js.map +0 -1
  704. package/dist/shared/chunk-MYOLWTB2.js +0 -516
  705. package/dist/shared/chunk-MYOLWTB2.js.map +0 -1
  706. package/dist/shared/chunk-O24RDXZS.js +0 -505
  707. package/dist/shared/chunk-O24RDXZS.js.map +0 -1
  708. package/dist/shared/chunk-O5PQISX4.js +0 -51
  709. package/dist/shared/chunk-O5PQISX4.js.map +0 -1
  710. package/dist/shared/chunk-OJ6KL7FU.js +0 -32
  711. package/dist/shared/chunk-OJ6KL7FU.js.map +0 -1
  712. package/dist/shared/chunk-OJP4HMJT.js +0 -22
  713. package/dist/shared/chunk-OJP4HMJT.js.map +0 -1
  714. package/dist/shared/chunk-OSJ6KGPX.js +0 -16
  715. package/dist/shared/chunk-OSJ6KGPX.js.map +0 -1
  716. package/dist/shared/chunk-OXYXZHP2.js +0 -48
  717. package/dist/shared/chunk-OXYXZHP2.js.map +0 -1
  718. package/dist/shared/chunk-PF75LW33.js +0 -834
  719. package/dist/shared/chunk-PF75LW33.js.map +0 -1
  720. package/dist/shared/chunk-QEJGPYTB.js +0 -462
  721. package/dist/shared/chunk-QEJGPYTB.js.map +0 -1
  722. package/dist/shared/chunk-QLQVDZIL.js +0 -11
  723. package/dist/shared/chunk-QLQVDZIL.js.map +0 -1
  724. package/dist/shared/chunk-SK2O7GFC.js +0 -229
  725. package/dist/shared/chunk-SK2O7GFC.js.map +0 -1
  726. package/dist/shared/chunk-SQXZNGQF.js +0 -55
  727. package/dist/shared/chunk-SQXZNGQF.js.map +0 -1
  728. package/dist/shared/chunk-SRYBJ6NQ.js +0 -83
  729. package/dist/shared/chunk-SRYBJ6NQ.js.map +0 -1
  730. package/dist/shared/chunk-T6C3NG2L.js +0 -422
  731. package/dist/shared/chunk-T6C3NG2L.js.map +0 -1
  732. package/dist/shared/chunk-TBT2PTGB.js +0 -440
  733. package/dist/shared/chunk-TBT2PTGB.js.map +0 -1
  734. package/dist/shared/chunk-TKMWY2VN.js +0 -18
  735. package/dist/shared/chunk-TKMWY2VN.js.map +0 -1
  736. package/dist/shared/chunk-U4KZUX37.js +0 -104
  737. package/dist/shared/chunk-U4KZUX37.js.map +0 -1
  738. package/dist/shared/chunk-VSLRTXLF.js +0 -37
  739. package/dist/shared/chunk-VSLRTXLF.js.map +0 -1
  740. package/dist/shared/chunk-VTCHJT4O.js +0 -67
  741. package/dist/shared/chunk-VTCHJT4O.js.map +0 -1
  742. package/dist/shared/chunk-W2RFDII5.js +0 -129
  743. package/dist/shared/chunk-W2RFDII5.js.map +0 -1
  744. package/dist/shared/chunk-WPZV3LYL.js +0 -24
  745. package/dist/shared/chunk-WPZV3LYL.js.map +0 -1
  746. package/dist/shared/chunk-XCWMZVF5.js +0 -89
  747. package/dist/shared/chunk-XCWMZVF5.js.map +0 -1
  748. package/dist/shared/chunk-XCZVD5H6.js +0 -13
  749. package/dist/shared/chunk-XCZVD5H6.js.map +0 -1
  750. package/dist/shared/chunk-XFZQGRRL.js +0 -101
  751. package/dist/shared/chunk-XFZQGRRL.js.map +0 -1
  752. package/dist/shared/chunk-XK2CERPB.js +0 -364
  753. package/dist/shared/chunk-XK2CERPB.js.map +0 -1
  754. package/dist/shared/chunk-XNRSL6FL.js +0 -78
  755. package/dist/shared/chunk-XNRSL6FL.js.map +0 -1
  756. package/dist/shared/chunk-XXPSM6UA.js +0 -71
  757. package/dist/shared/chunk-XXPSM6UA.js.map +0 -1
  758. package/dist/shared/chunk-XZ6WJZHN.js +0 -10
  759. package/dist/shared/chunk-XZ6WJZHN.js.map +0 -1
  760. package/dist/shared/chunk-ZEFOWKYP.js +0 -44
  761. package/dist/shared/chunk-ZEFOWKYP.js.map +0 -1
  762. package/dist/shared/chunk-ZGQ3AQBG.js +0 -33
  763. package/dist/shared/chunk-ZGQ3AQBG.js.map +0 -1
  764. package/dist/shared/chunk-ZRBTAC3G.js +0 -53
  765. package/dist/shared/chunk-ZRBTAC3G.js.map +0 -1
  766. package/dist/shared/chunk-ZVJNRKT4.js +0 -129
  767. package/dist/shared/chunk-ZVJNRKT4.js.map +0 -1
  768. package/dist/shared/datasources/external/facebook/posts/sample.d.ts +0 -26
  769. package/dist/shared/datasources/external/facebook/posts/sample.d.ts.map +0 -1
  770. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts +0 -2
  771. package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts.map +0 -1
  772. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts +0 -2
  773. package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +0 -1
  774. package/dist/shared/datasources/external/instagram/feed/sample.d.ts +0 -3
  775. package/dist/shared/datasources/external/instagram/feed/sample.d.ts.map +0 -1
  776. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts +0 -2
  777. package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts.map +0 -1
  778. package/dist/shared/datasources/external/mastodon/account/sample.d.ts +0 -30
  779. package/dist/shared/datasources/external/mastodon/account/sample.d.ts.map +0 -1
  780. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts +0 -2
  781. package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts.map +0 -1
  782. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts +0 -2
  783. package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts.map +0 -1
  784. package/dist/shared/datasources/external/rss/sample.d.ts +0 -3
  785. package/dist/shared/datasources/external/rss/sample.d.ts.map +0 -1
  786. package/dist/shared/datasources/external/threads/media/sample.d.ts +0 -40
  787. package/dist/shared/datasources/external/threads/media/sample.d.ts.map +0 -1
  788. package/dist/shared/datasources/external/tiktok/video/sample.d.ts +0 -15
  789. package/dist/shared/datasources/external/tiktok/video/sample.d.ts.map +0 -1
  790. package/dist/shared/datasources/external/youtube/list/sample.d.ts +0 -29
  791. package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +0 -1
  792. package/dist/shared/datasources/fetcher.js.map +0 -1
  793. package/dist/shared/env.js.map +0 -1
  794. package/dist/shared/errors.d.ts.map +0 -1
  795. package/dist/shared/errors.js.map +0 -1
  796. package/dist/shared/tests/attributes.test.d.ts +0 -2
  797. package/dist/shared/tests/attributes.test.d.ts.map +0 -1
  798. package/dist/shared/themes/tests/color-system.test.d.ts +0 -2
  799. package/dist/shared/themes/tests/color-system.test.d.ts.map +0 -1
  800. package/dist/shared/utils/tests/schema.test.d.ts +0 -2
  801. package/dist/shared/utils/tests/schema.test.d.ts.map +0 -1
  802. package/src/shared/ajv.ts +0 -123
@@ -101,15 +101,37 @@ export const brickSchema = Type.Object({
101
101
  });
102
102
 
103
103
  export function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {
104
- const originalProps = Type.Pick(brickSchema, ["props"]);
105
- const props = otherTypes
106
- ? Type.Composite([
107
- Type.Omit(brickSchema, ["props"]),
108
- Type.Object({
109
- props: Type.Composite([
110
- originalProps,
111
- Type.Object({
112
- $children: Type.Union(
104
+ if (!otherTypes || !otherTypes.length) {
105
+ return toLLMSchema(
106
+ Type.Object(
107
+ {
108
+ id: Type.String({
109
+ title: "ID",
110
+ description: "A unique identifier for the brick.",
111
+ }),
112
+ type: Type.Literal(type),
113
+ props: 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"]))),
116
+ },
117
+ // IMPORTANT: DO NOT set "additionalProperties" to `false` because it would break validation with Cabidela library
118
+ // { additionalProperties: false },
119
+ ),
120
+ );
121
+ }
122
+ return toLLMSchema(
123
+ Type.Object(
124
+ {
125
+ id: Type.String({
126
+ title: "ID",
127
+ description: "A unique identifier for the brick.",
128
+ }),
129
+ type: Type.Literal(type),
130
+ props: Type.Composite([
131
+ brickSchema.properties.props,
132
+ Type.Object({
133
+ $children: Type.Array(
134
+ Type.Union(
113
135
  otherTypes.map((t) =>
114
136
  Type.Object({
115
137
  id: Type.String({
@@ -118,24 +140,13 @@ export function makeFullBrickSchemaForLLM(type: string, otherTypes?: string[]) {
118
140
  }),
119
141
  type: Type.Literal(t),
120
142
  props: manifests[t].props,
121
- mobileProps: Type.Optional(Type.Partial(manifests[t].props)),
143
+ mobileProps: Type.Optional(Type.Partial(Type.Omit(manifests[t].props, ["$children"]))),
122
144
  }),
123
145
  ),
124
146
  ),
125
- }),
126
- ]),
127
- }),
128
- ])
129
- : manifests[type].props;
130
- return toLLMSchema(
131
- Type.Object(
132
- {
133
- id: Type.String({
134
- title: "ID",
135
- description: "A unique identifier for the brick.",
136
- }),
137
- type: Type.Literal(type),
138
- props,
147
+ ),
148
+ }),
149
+ ]),
139
150
  mobileProps: Type.Optional(Type.Partial(manifests[type].props)),
140
151
  },
141
152
  // IMPORTANT: DO NOT set "additionalProperties" to `false` because it would break validation with Cabidela library
@@ -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
  };
@@ -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",
@@ -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
 
@@ -47,11 +47,13 @@ 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
- label: "First page",
52
+ label: "Untitled",
52
53
  sections: [],
53
54
  attributes: resolvePageAttributes({
54
55
  path: "/",
56
+ isInitialPage: true,
55
57
  }),
56
58
  },
57
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,18 +57,18 @@ 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 defaults: Static<T> = {};
77
60
 
61
+ // First pass: collect all properties that have defaults
62
+ const propertiesWithDefaults: Record<string, unknown> = {};
78
63
  for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {
79
64
  const defaultValue = getNestedDefaults(propertySchema as TSchema, mode);
80
-
81
- // Only include properties that have explicit defaults
82
65
  if (defaultValue !== undefined) {
83
- defaults[key] = defaultValue;
66
+ propertiesWithDefaults[key] = defaultValue;
84
67
  }
85
68
  }
86
69
 
87
- return defaults as Static<T>;
70
+ // If we get here, all required properties have defaults, so we can include all properties
71
+ return propertiesWithDefaults as Static<T>;
88
72
  }
89
73
 
90
74
  // Handle array schemas
@@ -120,18 +104,27 @@ function getNestedDefaults(schema: TSchema, mode?: "mobile" | "desktop"): unknow
120
104
  // Handle nested object schemas
121
105
  if (schema.type === "object" && "properties" in schema) {
122
106
  const objectSchema = schema as TObject;
123
- const defaults: Record<string, unknown> = {};
107
+ const required = objectSchema.required || [];
124
108
 
109
+ // First pass: collect all properties that have defaults
110
+ const propertiesWithDefaults: Record<string, unknown> = {};
125
111
  for (const [key, propertySchema] of Object.entries(objectSchema.properties)) {
126
112
  const defaultValue = getNestedDefaults(propertySchema as TSchema, mode);
127
-
128
- // Only include properties that have explicit defaults
129
113
  if (defaultValue !== undefined) {
130
- defaults[key] = defaultValue;
114
+ propertiesWithDefaults[key] = defaultValue;
131
115
  }
132
116
  }
133
117
 
134
- return Object.keys(defaults).length > 0 ? defaults : undefined;
118
+ // Second pass: validate that all required properties have defaults
119
+ // If any required property lacks a default, this nested object cannot be included
120
+ for (const requiredProp of required) {
121
+ if (!(requiredProp in propertiesWithDefaults)) {
122
+ return undefined;
123
+ }
124
+ }
125
+
126
+ // If we get here, all required properties have defaults
127
+ return Object.keys(propertiesWithDefaults).length > 0 ? propertiesWithDefaults : undefined;
135
128
  }
136
129
 
137
130
  // Handle nested array schemas
@@ -167,35 +160,21 @@ export function filterSchemaProperties(schema: TObject, filter: (prop: TSchema)
167
160
  return extractProperties(schema);
168
161
  }
169
162
 
170
- /**
171
- * Resolves a JSON schema by following $ref references recursively.
172
- * Handles nested objects, arrays, and complex schema structures.
173
- */
174
- export function resolveSchema<T extends TSchema = TSchema>(schema: T): T {
175
- console.warn("resolveSchema is deprecated, use resolveSchemaRecursive instead");
176
- return schema;
177
- }
178
-
179
163
  export function validate<T extends TSchema>(schema: TSchema, data: unknown): Static<T> {
180
- try {
181
- const valid = Value.Check(schema, data);
182
- if (!valid) {
183
- let finalError = "";
184
- for (const error of Value.Errors(schema, data)) {
185
- finalError += `Error at ${error.path} with value ${error.value}: ${error.message}\n`;
186
- }
187
- console.error("Validation errors:\n", finalError);
188
- 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})`);
189
170
  }
190
- } catch (e) {
191
- console.error("Validation exception:", e);
192
- console.dir(e, { depth: null });
193
- throw e;
171
+ const formatedError = `- ${errors.join("\n- ")}`;
172
+ throw new Error(formatedError);
194
173
  }
195
174
 
196
175
  // Mutate data with defaults
197
176
  const defaults = getSchemaDefaults(schema as TObject | TArray);
198
- const finalObject = applyDefaultsDeep({}, data, defaults);
177
+ const finalObject = Array.isArray(data) ? data : applyDefaultsDeep({}, data, defaults);
199
178
 
200
179
  return finalObject as Static<T>;
201
180
  }