@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.
- package/dist/shared/ai/schemas.d.ts +20 -15
- package/dist/shared/ai/schemas.d.ts.map +1 -1
- package/dist/shared/ai/schemas.js +31 -57
- package/dist/shared/ai/schemas.js.map +1 -1
- package/dist/shared/ai/types.d.ts +193 -190
- package/dist/shared/ai/types.d.ts.map +1 -1
- package/dist/shared/ai/types.js +1 -3
- package/dist/shared/analytics/init.d.ts +4 -1
- package/dist/shared/analytics/init.d.ts.map +1 -1
- package/dist/shared/analytics/init.js +14 -20
- package/dist/shared/analytics/init.js.map +1 -1
- package/dist/shared/analytics/track.d.ts +6 -2
- package/dist/shared/analytics/track.d.ts.map +1 -1
- package/dist/shared/analytics/track.js +14 -24
- package/dist/shared/analytics/track.js.map +1 -1
- package/dist/shared/analytics/types.d.ts +10 -8
- package/dist/shared/analytics/types.d.ts.map +1 -1
- package/dist/shared/analytics/types.js +1 -3
- package/dist/shared/attributes.d.ts +488 -483
- package/dist/shared/attributes.d.ts.map +1 -1
- package/dist/shared/attributes.js +369 -45
- package/dist/shared/attributes.js.map +1 -1
- package/dist/shared/brick-manifest.d.ts +126 -108
- package/dist/shared/brick-manifest.d.ts.map +1 -1
- package/dist/shared/brick-manifest.js +36 -12
- package/dist/shared/brick-manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/_types.d.ts +11 -7
- package/dist/shared/bricks/manifests/_types.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/_types.js +1 -3
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts +83 -76
- package/dist/shared/bricks/manifests/accordion.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/accordion.manifest.js +389 -24
- package/dist/shared/bricks/manifests/accordion.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.d.ts +15 -10
- package/dist/shared/bricks/manifests/all-manifests.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-manifests.js +128 -61
- package/dist/shared/bricks/manifests/all-manifests.js.map +1 -1
- package/dist/shared/bricks/manifests/all-props.d.ts +1510 -1505
- package/dist/shared/bricks/manifests/all-props.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/all-props.js +167 -241
- package/dist/shared/bricks/manifests/all-props.js.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.d.ts +87 -80
- package/dist/shared/bricks/manifests/box.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/box.manifest.js +548 -27
- package/dist/shared/bricks/manifests/box.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.d.ts +75 -68
- package/dist/shared/bricks/manifests/button.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/button.manifest.js +308 -23
- package/dist/shared/bricks/manifests/button.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.d.ts +96 -89
- package/dist/shared/bricks/manifests/card.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/card.manifest.js +392 -28
- package/dist/shared/bricks/manifests/card.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts +86 -79
- package/dist/shared/bricks/manifests/carousel.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/carousel.manifest.js +775 -26
- package/dist/shared/bricks/manifests/carousel.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.d.ts +117 -110
- package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/footer.manifest.js +864 -25
- package/dist/shared/bricks/manifests/footer.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.d.ts +94 -87
- package/dist/shared/bricks/manifests/form.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/form.manifest.js +324 -25
- package/dist/shared/bricks/manifests/form.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.d.ts +80 -73
- package/dist/shared/bricks/manifests/hero.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/hero.manifest.js +202 -24
- package/dist/shared/bricks/manifests/hero.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.d.ts +68 -61
- package/dist/shared/bricks/manifests/html.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/html.manifest.js +95 -18
- package/dist/shared/bricks/manifests/html.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.d.ts +74 -67
- package/dist/shared/bricks/manifests/icon.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/icon.manifest.js +239 -24
- package/dist/shared/bricks/manifests/icon.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.d.ts +97 -90
- package/dist/shared/bricks/manifests/image.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/image.manifest.js +456 -27
- package/dist/shared/bricks/manifests/image.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts +93 -86
- package/dist/shared/bricks/manifests/images-gallery.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/images-gallery.manifest.js +598 -25
- package/dist/shared/bricks/manifests/images-gallery.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.d.ts +78 -71
- package/dist/shared/bricks/manifests/map.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/map.manifest.js +138 -23
- package/dist/shared/bricks/manifests/map.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts +117 -110
- package/dist/shared/bricks/manifests/navbar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/navbar.manifest.js +370 -28
- package/dist/shared/bricks/manifests/navbar.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts +94 -87
- package/dist/shared/bricks/manifests/sidebar.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/sidebar.manifest.js +69 -24
- package/dist/shared/bricks/manifests/sidebar.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts +84 -77
- package/dist/shared/bricks/manifests/social-links.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/social-links.manifest.js +465 -24
- package/dist/shared/bricks/manifests/social-links.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts +65 -58
- package/dist/shared/bricks/manifests/spacer.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/spacer.manifest.js +39 -18
- package/dist/shared/bricks/manifests/spacer.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.d.ts +93 -86
- package/dist/shared/bricks/manifests/table.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/table.manifest.js +771 -25
- package/dist/shared/bricks/manifests/table.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts +91 -84
- package/dist/shared/bricks/manifests/tabs.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/tabs.manifest.js +119 -25
- package/dist/shared/bricks/manifests/tabs.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts +97 -90
- package/dist/shared/bricks/manifests/testimonials.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/testimonials.manifest.js +223 -28
- package/dist/shared/bricks/manifests/testimonials.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.d.ts +76 -69
- package/dist/shared/bricks/manifests/text.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/text.manifest.js +199 -23
- package/dist/shared/bricks/manifests/text.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts +102 -95
- package/dist/shared/bricks/manifests/timeline.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/timeline.manifest.js +401 -25
- package/dist/shared/bricks/manifests/timeline.manifest.js.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.d.ts +74 -67
- package/dist/shared/bricks/manifests/video.manifest.d.ts.map +1 -1
- package/dist/shared/bricks/manifests/video.manifest.js +97 -21
- package/dist/shared/bricks/manifests/video.manifest.js.map +1 -1
- package/dist/shared/bricks/props/align.d.ts +12 -7
- package/dist/shared/bricks/props/align.d.ts.map +1 -1
- package/dist/shared/bricks/props/align.js +74 -13
- package/dist/shared/bricks/props/align.js.map +1 -1
- package/dist/shared/bricks/props/background.d.ts +21 -17
- package/dist/shared/bricks/props/background.d.ts.map +1 -1
- package/dist/shared/bricks/props/background.js +63 -11
- package/dist/shared/bricks/props/background.js.map +1 -1
- package/dist/shared/bricks/props/boolean.d.ts +6 -2
- package/dist/shared/bricks/props/boolean.d.ts.map +1 -1
- package/dist/shared/bricks/props/boolean.js +12 -8
- package/dist/shared/bricks/props/boolean.js.map +1 -1
- package/dist/shared/bricks/props/border.d.ts +12 -7
- package/dist/shared/bricks/props/border.d.ts.map +1 -1
- package/dist/shared/bricks/props/border.js +85 -12
- package/dist/shared/bricks/props/border.js.map +1 -1
- package/dist/shared/bricks/props/color-preset.d.ts +331 -327
- package/dist/shared/bricks/props/color-preset.d.ts.map +1 -1
- package/dist/shared/bricks/props/color-preset.js +378 -10
- package/dist/shared/bricks/props/color-preset.js.map +1 -1
- package/dist/shared/bricks/props/color.d.ts +10 -5
- package/dist/shared/bricks/props/color.d.ts.map +1 -1
- package/dist/shared/bricks/props/color.js +27 -10
- package/dist/shared/bricks/props/color.js.map +1 -1
- package/dist/shared/bricks/props/common.d.ts +32 -28
- package/dist/shared/bricks/props/common.d.ts.map +1 -1
- package/dist/shared/bricks/props/common.js +42 -13
- package/dist/shared/bricks/props/common.js.map +1 -1
- package/dist/shared/bricks/props/css-length.d.ts +10 -5
- package/dist/shared/bricks/props/css-length.d.ts.map +1 -1
- package/dist/shared/bricks/props/css-length.js +39 -12
- package/dist/shared/bricks/props/css-length.js.map +1 -1
- package/dist/shared/bricks/props/datarecord.d.ts +8 -3
- package/dist/shared/bricks/props/datarecord.d.ts.map +1 -1
- package/dist/shared/bricks/props/datarecord.js +12 -8
- package/dist/shared/bricks/props/datarecord.js.map +1 -1
- package/dist/shared/bricks/props/datasource.d.ts +18 -13
- package/dist/shared/bricks/props/datasource.d.ts.map +1 -1
- package/dist/shared/bricks/props/datasource.js +61 -84
- package/dist/shared/bricks/props/datasource.js.map +1 -1
- package/dist/shared/bricks/props/date.d.ts +8 -3
- package/dist/shared/bricks/props/date.d.ts.map +1 -1
- package/dist/shared/bricks/props/date.js +19 -23
- package/dist/shared/bricks/props/date.js.map +1 -1
- package/dist/shared/bricks/props/direction.d.ts +8 -3
- package/dist/shared/bricks/props/direction.d.ts.map +1 -1
- package/dist/shared/bricks/props/direction.js +16 -9
- package/dist/shared/bricks/props/direction.js.map +1 -1
- package/dist/shared/bricks/props/dynamic.d.ts +39 -34
- package/dist/shared/bricks/props/dynamic.d.ts.map +1 -1
- package/dist/shared/bricks/props/dynamic.js +92 -13
- package/dist/shared/bricks/props/dynamic.js.map +1 -1
- package/dist/shared/bricks/props/effects.d.ts +18 -11
- package/dist/shared/bricks/props/effects.d.ts.map +1 -1
- package/dist/shared/bricks/props/effects.js +81 -13
- package/dist/shared/bricks/props/effects.js.map +1 -1
- package/dist/shared/bricks/props/file.d.ts +6 -1
- package/dist/shared/bricks/props/file.d.ts.map +1 -1
- package/dist/shared/bricks/props/file.js +11 -14
- package/dist/shared/bricks/props/file.js.map +1 -1
- package/dist/shared/bricks/props/geolocation.d.ts +15 -10
- package/dist/shared/bricks/props/geolocation.d.ts.map +1 -1
- package/dist/shared/bricks/props/geolocation.js +28 -40
- package/dist/shared/bricks/props/geolocation.js.map +1 -1
- package/dist/shared/bricks/props/grow.d.ts +7 -2
- package/dist/shared/bricks/props/grow.d.ts.map +1 -1
- package/dist/shared/bricks/props/grow.js +14 -8
- package/dist/shared/bricks/props/grow.js.map +1 -1
- package/dist/shared/bricks/props/helpers.d.ts +32 -24
- package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
- package/dist/shared/bricks/props/helpers.js +50 -19
- package/dist/shared/bricks/props/helpers.js.map +1 -1
- package/dist/shared/bricks/props/image.d.ts +15 -12
- package/dist/shared/bricks/props/image.d.ts.map +1 -1
- package/dist/shared/bricks/props/image.js +109 -9
- package/dist/shared/bricks/props/image.js.map +1 -1
- package/dist/shared/bricks/props/number.d.ts +8 -4
- package/dist/shared/bricks/props/number.d.ts.map +1 -1
- package/dist/shared/bricks/props/number.js +11 -8
- package/dist/shared/bricks/props/number.js.map +1 -1
- package/dist/shared/bricks/props/position.d.ts +8 -3
- package/dist/shared/bricks/props/position.d.ts.map +1 -1
- package/dist/shared/bricks/props/position.js +12 -8
- package/dist/shared/bricks/props/position.js.map +1 -1
- package/dist/shared/bricks/props/string.d.ts +13 -9
- package/dist/shared/bricks/props/string.d.ts.map +1 -1
- package/dist/shared/bricks/props/string.js +34 -12
- package/dist/shared/bricks/props/string.js.map +1 -1
- package/dist/shared/bricks/props/tags.d.ts +8 -3
- package/dist/shared/bricks/props/tags.d.ts.map +1 -1
- package/dist/shared/bricks/props/tags.js +16 -8
- package/dist/shared/bricks/props/tags.js.map +1 -1
- package/dist/shared/bricks/props/text.d.ts +22 -11
- package/dist/shared/bricks/props/text.d.ts.map +1 -1
- package/dist/shared/bricks/props/text.js +79 -13
- package/dist/shared/bricks/props/text.js.map +1 -1
- package/dist/shared/bricks/props/types.d.ts +52 -49
- package/dist/shared/bricks/props/types.d.ts.map +1 -1
- package/dist/shared/bricks/props/types.js +1 -3
- package/dist/shared/bricks.d.ts +183 -179
- package/dist/shared/bricks.d.ts.map +1 -1
- package/dist/shared/bricks.js +271 -78
- package/dist/shared/bricks.js.map +1 -1
- package/dist/shared/context.d.ts +405 -398
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/context.js +22 -93
- package/dist/shared/context.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.d.ts +40 -20
- package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/handler.js +242 -366
- package/dist/shared/datarecords/external/airtable/handler.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/oauth/config.d.ts +14 -9
- package/dist/shared/datarecords/external/airtable/oauth/config.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/oauth/config.js +12 -15
- package/dist/shared/datarecords/external/airtable/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.d.ts +39 -35
- package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -1
- package/dist/shared/datarecords/external/airtable/types.js +44 -13
- package/dist/shared/datarecords/external/airtable/types.js.map +1 -1
- package/dist/shared/datarecords/external/generic-webhook/handler.d.ts +6 -2
- package/dist/shared/datarecords/external/generic-webhook/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/generic-webhook/handler.js +9 -14
- package/dist/shared/datarecords/external/generic-webhook/handler.js.map +1 -1
- package/dist/shared/datarecords/external/generic-webhook/options.d.ts +10 -5
- package/dist/shared/datarecords/external/generic-webhook/options.d.ts.map +1 -1
- package/dist/shared/datarecords/external/generic-webhook/options.js +14 -16
- package/dist/shared/datarecords/external/generic-webhook/options.js.map +1 -1
- package/dist/shared/datarecords/external/google/oauth/config.d.ts +28 -24
- package/dist/shared/datarecords/external/google/oauth/config.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/oauth/config.js +25 -34
- package/dist/shared/datarecords/external/google/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/client.d.ts +11 -9
- package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/client.js +75 -8
- package/dist/shared/datarecords/external/google/sheets/client.js.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts +36 -18
- package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/handler.js +103 -176
- package/dist/shared/datarecords/external/google/sheets/handler.js.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/types.d.ts +12 -7
- package/dist/shared/datarecords/external/google/sheets/types.d.ts.map +1 -1
- package/dist/shared/datarecords/external/google/sheets/types.js +11 -8
- package/dist/shared/datarecords/external/google/sheets/types.js.map +1 -1
- package/dist/shared/datarecords/external/notion/handler.d.ts +48 -26
- package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -1
- package/dist/shared/datarecords/external/notion/handler.js +233 -386
- package/dist/shared/datarecords/external/notion/handler.js.map +1 -1
- package/dist/shared/datarecords/external/notion/oauth/config.d.ts +10 -5
- package/dist/shared/datarecords/external/notion/oauth/config.d.ts.map +1 -1
- package/dist/shared/datarecords/external/notion/oauth/config.js +8 -11
- package/dist/shared/datarecords/external/notion/oauth/config.js.map +1 -1
- package/dist/shared/datarecords/external/notion/types.d.ts +20 -15
- package/dist/shared/datarecords/external/notion/types.d.ts.map +1 -1
- package/dist/shared/datarecords/external/notion/types.js +14 -8
- package/dist/shared/datarecords/external/notion/types.js.map +1 -1
- package/dist/shared/datarecords/types.d.ts +24 -19
- package/dist/shared/datarecords/types.d.ts.map +1 -1
- package/dist/shared/datarecords/types.js +144 -16
- package/dist/shared/datarecords/types.js.map +1 -1
- package/dist/shared/datarecords.d.ts +6 -2
- package/dist/shared/datarecords.d.ts.map +1 -1
- package/dist/shared/datarecords.js +5 -9
- package/dist/shared/datarecords.js.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts +8 -5
- package/dist/shared/datasources/external/facebook/posts/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/fetcher.js +38 -48
- package/dist/shared/datasources/external/facebook/posts/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/schema.d.ts +30 -25
- package/dist/shared/datasources/external/facebook/posts/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/facebook/posts/schema.js +29 -36
- package/dist/shared/datasources/external/facebook/posts/schema.js.map +1 -1
- package/dist/shared/datasources/external/http-json/fetcher.d.ts +7 -3
- package/dist/shared/datasources/external/http-json/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/http-json/fetcher.js +16 -28
- package/dist/shared/datasources/external/http-json/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/http-json/options.d.ts +10 -5
- package/dist/shared/datasources/external/http-json/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/http-json/options.js +8 -11
- package/dist/shared/datasources/external/http-json/options.js.map +1 -1
- package/dist/shared/datasources/external/http-json/schema.d.ts +9 -4
- package/dist/shared/datasources/external/http-json/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/http-json/schema.js +6 -10
- package/dist/shared/datasources/external/http-json/schema.js.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts +8 -5
- package/dist/shared/datasources/external/instagram/feed/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/fetcher.js +26 -28
- package/dist/shared/datasources/external/instagram/feed/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts +22 -17
- package/dist/shared/datasources/external/instagram/feed/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/instagram/feed/schema.js +26 -29
- package/dist/shared/datasources/external/instagram/feed/schema.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts +7 -4
- package/dist/shared/datasources/external/mastodon/account/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/account/fetcher.js +10 -8
- package/dist/shared/datasources/external/mastodon/account/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/account/schema.d.ts +43 -38
- package/dist/shared/datasources/external/mastodon/account/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/account/schema.js +42 -8
- package/dist/shared/datasources/external/mastodon/account/schema.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/options.d.ts +9 -4
- package/dist/shared/datasources/external/mastodon/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/options.js +5 -10
- package/dist/shared/datasources/external/mastodon/options.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts +7 -4
- package/dist/shared/datasources/external/mastodon/status/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/fetcher.js +20 -31
- package/dist/shared/datasources/external/mastodon/status/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts +50 -47
- package/dist/shared/datasources/external/mastodon/status/sample.array.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.array.js +54 -62
- package/dist/shared/datasources/external/mastodon/status/sample.array.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts +50 -47
- package/dist/shared/datasources/external/mastodon/status/sample.single.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/sample.single.js +54 -60
- package/dist/shared/datasources/external/mastodon/status/sample.single.js.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts +252 -247
- package/dist/shared/datasources/external/mastodon/status/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/mastodon/status/schema.js +108 -108
- package/dist/shared/datasources/external/mastodon/status/schema.js.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.d.ts +29 -25
- package/dist/shared/datasources/external/meta/oauth/config.d.ts.map +1 -1
- package/dist/shared/datasources/external/meta/oauth/config.js +15 -20
- package/dist/shared/datasources/external/meta/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/meta/options.d.ts +9 -4
- package/dist/shared/datasources/external/meta/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/meta/options.js +5 -10
- package/dist/shared/datasources/external/meta/options.js.map +1 -1
- package/dist/shared/datasources/external/rss/fetcher.d.ts +7 -4
- package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/rss/fetcher.js +14 -25
- package/dist/shared/datasources/external/rss/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/rss/options.d.ts +9 -4
- package/dist/shared/datasources/external/rss/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/rss/options.js +5 -10
- package/dist/shared/datasources/external/rss/options.js.map +1 -1
- package/dist/shared/datasources/external/rss/sample.js +25 -0
- package/dist/shared/datasources/external/rss/sample.js.map +1 -0
- package/dist/shared/datasources/external/rss/schema.d.ts +13 -8
- package/dist/shared/datasources/external/rss/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/rss/schema.js +30 -8
- package/dist/shared/datasources/external/rss/schema.js.map +1 -1
- package/dist/shared/datasources/external/threads/media/fetcher.d.ts +9 -5
- package/dist/shared/datasources/external/threads/media/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/threads/media/fetcher.js +37 -46
- package/dist/shared/datasources/external/threads/media/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.d.ts +29 -24
- package/dist/shared/datasources/external/threads/media/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/threads/media/schema.js +32 -36
- package/dist/shared/datasources/external/threads/media/schema.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/oauth/config.d.ts +31 -27
- package/dist/shared/datasources/external/tiktok/oauth/config.d.ts.map +1 -1
- package/dist/shared/datasources/external/tiktok/oauth/config.js +15 -18
- package/dist/shared/datasources/external/tiktok/oauth/config.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts +8 -5
- package/dist/shared/datasources/external/tiktok/video/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/fetcher.js +31 -33
- package/dist/shared/datasources/external/tiktok/video/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/options.d.ts +10 -5
- package/dist/shared/datasources/external/tiktok/video/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/options.js +8 -11
- package/dist/shared/datasources/external/tiktok/video/options.js.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/schema.d.ts +24 -19
- package/dist/shared/datasources/external/tiktok/video/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/tiktok/video/schema.js +23 -30
- package/dist/shared/datasources/external/tiktok/video/schema.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/fetcher.d.ts +8 -5
- package/dist/shared/datasources/external/youtube/list/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/external/youtube/list/fetcher.js +20 -31
- package/dist/shared/datasources/external/youtube/list/fetcher.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/options.d.ts +13 -8
- package/dist/shared/datasources/external/youtube/list/options.d.ts.map +1 -1
- package/dist/shared/datasources/external/youtube/list/options.js +11 -14
- package/dist/shared/datasources/external/youtube/list/options.js.map +1 -1
- package/dist/shared/datasources/external/youtube/list/sample.js +33 -0
- package/dist/shared/datasources/external/youtube/list/sample.js.map +1 -0
- package/dist/shared/datasources/external/youtube/list/schema.d.ts +33 -28
- package/dist/shared/datasources/external/youtube/list/schema.d.ts.map +1 -1
- package/dist/shared/datasources/external/youtube/list/schema.js +36 -8
- package/dist/shared/datasources/external/youtube/list/schema.js.map +1 -1
- package/dist/shared/datasources/external/youtube/oauth/config.d.ts +22 -18
- package/dist/shared/datasources/external/youtube/oauth/config.d.ts.map +1 -1
- package/dist/shared/datasources/external/youtube/oauth/config.js +15 -18
- package/dist/shared/datasources/external/youtube/oauth/config.js.map +1 -1
- package/dist/shared/datasources/fetcher.d.ts +10 -6
- package/dist/shared/datasources/fetcher.d.ts.map +1 -1
- package/dist/shared/datasources/fetcher.js +1 -3
- package/dist/shared/datasources/internal/blog/schema.d.ts +20 -15
- package/dist/shared/datasources/internal/blog/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/blog/schema.js +59 -75
- package/dist/shared/datasources/internal/blog/schema.js.map +1 -1
- package/dist/shared/datasources/internal/changelog/schema.d.ts +15 -10
- package/dist/shared/datasources/internal/changelog/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/changelog/schema.js +36 -51
- package/dist/shared/datasources/internal/changelog/schema.js.map +1 -1
- package/dist/shared/datasources/internal/contact-info/schema.d.ts +21 -16
- package/dist/shared/datasources/internal/contact-info/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/contact-info/schema.js +21 -25
- package/dist/shared/datasources/internal/contact-info/schema.js.map +1 -1
- package/dist/shared/datasources/internal/cv/schema.d.ts +71 -66
- package/dist/shared/datasources/internal/cv/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/cv/schema.js +155 -222
- package/dist/shared/datasources/internal/cv/schema.js.map +1 -1
- package/dist/shared/datasources/internal/faq/schema.d.ts +13 -8
- package/dist/shared/datasources/internal/faq/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/faq/schema.js +20 -30
- package/dist/shared/datasources/internal/faq/schema.js.map +1 -1
- package/dist/shared/datasources/internal/job-board/schema.d.ts +86 -81
- package/dist/shared/datasources/internal/job-board/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/job-board/schema.js +194 -224
- package/dist/shared/datasources/internal/job-board/schema.js.map +1 -1
- package/dist/shared/datasources/internal/links/schema.d.ts +12 -7
- package/dist/shared/datasources/internal/links/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/links/schema.js +20 -8
- package/dist/shared/datasources/internal/links/schema.js.map +1 -1
- package/dist/shared/datasources/internal/recipes/schema.d.ts +19 -14
- package/dist/shared/datasources/internal/recipes/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/recipes/schema.js +23 -45
- package/dist/shared/datasources/internal/recipes/schema.js.map +1 -1
- package/dist/shared/datasources/internal/restaurant/schema.d.ts +82 -77
- package/dist/shared/datasources/internal/restaurant/schema.d.ts.map +1 -1
- package/dist/shared/datasources/internal/restaurant/schema.js +154 -226
- package/dist/shared/datasources/internal/restaurant/schema.js.map +1 -1
- package/dist/shared/datasources/samples.d.ts +7 -3
- package/dist/shared/datasources/samples.d.ts.map +1 -1
- package/dist/shared/datasources/samples.js +9 -69
- package/dist/shared/datasources/samples.js.map +1 -1
- package/dist/shared/datasources/schemas.d.ts +43 -38
- package/dist/shared/datasources/schemas.d.ts.map +1 -1
- package/dist/shared/datasources/schemas.js +10 -34
- package/dist/shared/datasources/schemas.js.map +1 -1
- package/dist/shared/datasources/types.d.ts +142 -138
- package/dist/shared/datasources/types.d.ts.map +1 -1
- package/dist/shared/datasources/types.js +384 -20
- package/dist/shared/datasources/types.js.map +1 -1
- package/dist/shared/datasources/utils.d.ts +8 -4
- package/dist/shared/datasources/utils.d.ts.map +1 -1
- package/dist/shared/datasources/utils.js +15 -12
- package/dist/shared/datasources/utils.js.map +1 -1
- package/dist/shared/datasources.d.ts +22 -9
- package/dist/shared/datasources.d.ts.map +1 -1
- package/dist/shared/datasources.js +65 -44
- package/dist/shared/datasources.js.map +1 -1
- package/dist/shared/env.d.ts +25 -21
- package/dist/shared/env.d.ts.map +1 -1
- package/dist/shared/env.js +1 -3
- package/dist/shared/errors.d.ts +2 -2
- package/dist/shared/errors.js +2 -9
- package/dist/shared/images.d.ts +21 -16
- package/dist/shared/images.d.ts.map +1 -1
- package/dist/shared/images.js +24 -11
- package/dist/shared/images.js.map +1 -1
- package/dist/shared/index.d.ts +4 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -10
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/layout-constants.d.ts +8 -5
- package/dist/shared/layout-constants.d.ts.map +1 -1
- package/dist/shared/layout-constants.js +15 -15
- package/dist/shared/layout-constants.js.map +1 -1
- package/dist/shared/manifest.d.ts +17 -12
- package/dist/shared/manifest.d.ts.map +1 -1
- package/dist/shared/manifest.js +26 -52
- package/dist/shared/manifest.js.map +1 -1
- package/dist/shared/oauth.d.ts +14 -9
- package/dist/shared/oauth.d.ts.map +1 -1
- package/dist/shared/oauth.js +14 -9
- package/dist/shared/oauth.js.map +1 -1
- package/dist/shared/page.d.ts +250 -243
- package/dist/shared/page.d.ts.map +1 -1
- package/dist/shared/page.js +29 -62
- package/dist/shared/page.js.map +1 -1
- package/dist/shared/prompt.d.ts +8 -3
- package/dist/shared/prompt.d.ts.map +1 -1
- package/dist/shared/prompt.js +10 -8
- package/dist/shared/prompt.js.map +1 -1
- package/dist/shared/responsive.d.ts +8 -3
- package/dist/shared/responsive.d.ts.map +1 -1
- package/dist/shared/responsive.js +5 -10
- package/dist/shared/responsive.js.map +1 -1
- package/dist/shared/site.d.ts +629 -622
- package/dist/shared/site.d.ts.map +1 -1
- package/dist/shared/site.js +56 -70
- package/dist/shared/site.js.map +1 -1
- package/dist/shared/sitemap.d.ts +21 -14
- package/dist/shared/sitemap.d.ts.map +1 -1
- package/dist/shared/sitemap.js +29 -63
- package/dist/shared/sitemap.js.map +1 -1
- package/dist/shared/social-icons.d.ts +6 -3
- package/dist/shared/social-icons.d.ts.map +1 -1
- package/dist/shared/social-icons.js +309 -313
- package/dist/shared/social-icons.js.map +1 -1
- package/dist/shared/theme.d.ts +83 -78
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +261 -18
- package/dist/shared/theme.js.map +1 -1
- package/dist/shared/themes/color-system.d.ts +16 -12
- package/dist/shared/themes/color-system.d.ts.map +1 -1
- package/dist/shared/themes/color-system.js +81 -89
- package/dist/shared/themes/color-system.js.map +1 -1
- package/dist/shared/utils/canvas-data-uri.d.ts +4 -1
- package/dist/shared/utils/canvas-data-uri.d.ts.map +1 -1
- package/dist/shared/utils/canvas-data-uri.js +4 -8
- package/dist/shared/utils/canvas-data-uri.js.map +1 -1
- package/dist/shared/utils/invariant.d.ts +4 -1
- package/dist/shared/utils/invariant.d.ts.map +1 -1
- package/dist/shared/utils/invariant.js +10 -8
- package/dist/shared/utils/invariant.js.map +1 -1
- package/dist/shared/utils/json-date.d.ts +9 -4
- package/dist/shared/utils/json-date.d.ts.map +1 -1
- package/dist/shared/utils/json-date.js +6 -8
- package/dist/shared/utils/json-date.js.map +1 -1
- package/dist/shared/utils/llm.d.ts +7 -2
- package/dist/shared/utils/llm.d.ts.map +1 -1
- package/dist/shared/utils/llm.js +57 -8
- package/dist/shared/utils/llm.js.map +1 -1
- package/dist/shared/utils/merge.d.ts +4 -1
- package/dist/shared/utils/merge.d.ts.map +1 -1
- package/dist/shared/utils/merge.js +11 -8
- package/dist/shared/utils/merge.js.map +1 -1
- package/dist/shared/utils/object-hash.d.ts +4 -1
- package/dist/shared/utils/object-hash.d.ts.map +1 -1
- package/dist/shared/utils/object-hash.js +8 -13
- package/dist/shared/utils/object-hash.js.map +1 -1
- package/dist/shared/utils/schema.d.ts +13 -10
- package/dist/shared/utils/schema.d.ts.map +1 -1
- package/dist/shared/utils/schema.js +91 -14
- package/dist/shared/utils/schema.js.map +1 -1
- package/dist/shared/utils/string-enum.d.ts +13 -8
- package/dist/shared/utils/string-enum.d.ts.map +1 -1
- package/dist/shared/utils/string-enum.js +18 -8
- package/dist/shared/utils/string-enum.js.map +1 -1
- package/dist/shared/utils/try-catch.d.ts +4 -2
- package/dist/shared/utils/try-catch.d.ts.map +1 -1
- package/dist/shared/utils/try-catch.js +12 -13
- package/dist/shared/utils/try-catch.js.map +1 -1
- package/package.json +10 -20
- package/src/shared/ai/schemas.ts +5 -3
- package/src/shared/attributes.ts +10 -6
- package/src/shared/bricks/manifests/card.manifest.ts +2 -5
- package/src/shared/bricks/manifests/image.manifest.ts +1 -5
- package/src/shared/bricks/props/color.ts +3 -2
- package/src/shared/bricks/props/dynamic.ts +4 -1
- package/src/shared/bricks/props/image.ts +2 -3
- package/src/shared/bricks.ts +3 -2
- package/src/shared/datarecords/types.ts +41 -33
- package/src/shared/datasources/external/rss/fetcher.ts +0 -6
- package/src/shared/datasources.ts +13 -5
- package/src/shared/prompt.ts +1 -1
- package/src/shared/site.ts +2 -1
- package/src/shared/sitemap.ts +7 -0
- package/src/shared/utils/schema.ts +12 -43
- package/src/shared/utils/tests/schema.test.ts +53 -28
- package/dist/shared/ai/types.js.map +0 -1
- package/dist/shared/ajv.d.ts +0 -7
- package/dist/shared/ajv.d.ts.map +0 -1
- package/dist/shared/ajv.js +0 -6866
- package/dist/shared/ajv.js.map +0 -1
- package/dist/shared/analytics/types.js.map +0 -1
- package/dist/shared/bricks/manifests/_types.js.map +0 -1
- package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts +0 -2
- package/dist/shared/bricks/manifests/tests/header.manifest.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/background.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/background.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/border.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/border.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/effects.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/effects.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/helpers.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/helpers.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/image.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/image.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/tests/string.test.d.ts +0 -2
- package/dist/shared/bricks/props/tests/string.test.d.ts.map +0 -1
- package/dist/shared/bricks/props/types.js.map +0 -1
- package/dist/shared/chunk-2BPYOTKA.js +0 -21
- package/dist/shared/chunk-2BPYOTKA.js.map +0 -1
- package/dist/shared/chunk-2EOCK66Z.js +0 -19
- package/dist/shared/chunk-2EOCK66Z.js.map +0 -1
- package/dist/shared/chunk-2U5U3CCJ.js +0 -90
- package/dist/shared/chunk-2U5U3CCJ.js.map +0 -1
- package/dist/shared/chunk-2UEPTT5J.js +0 -67
- package/dist/shared/chunk-2UEPTT5J.js.map +0 -1
- package/dist/shared/chunk-2Z5WOCFS.js +0 -126
- package/dist/shared/chunk-2Z5WOCFS.js.map +0 -1
- package/dist/shared/chunk-34IUWNRX.js +0 -346
- package/dist/shared/chunk-34IUWNRX.js.map +0 -1
- package/dist/shared/chunk-3ZDN5BWN.js +0 -18
- package/dist/shared/chunk-3ZDN5BWN.js.map +0 -1
- package/dist/shared/chunk-55C6MTX2.js +0 -21
- package/dist/shared/chunk-55C6MTX2.js.map +0 -1
- package/dist/shared/chunk-57NRTXRA.js +0 -309
- package/dist/shared/chunk-57NRTXRA.js.map +0 -1
- package/dist/shared/chunk-5HJT5NJ3.js +0 -422
- package/dist/shared/chunk-5HJT5NJ3.js.map +0 -1
- package/dist/shared/chunk-5J4Y43RM.js +0 -388
- package/dist/shared/chunk-5J4Y43RM.js.map +0 -1
- package/dist/shared/chunk-5OVOXUFX.js +0 -61
- package/dist/shared/chunk-5OVOXUFX.js.map +0 -1
- package/dist/shared/chunk-5RCC2STG.js +0 -58
- package/dist/shared/chunk-5RCC2STG.js.map +0 -1
- package/dist/shared/chunk-5SNSUC6Q.js +0 -364
- package/dist/shared/chunk-5SNSUC6Q.js.map +0 -1
- package/dist/shared/chunk-6TVVKUWM.js +0 -15
- package/dist/shared/chunk-6TVVKUWM.js.map +0 -1
- package/dist/shared/chunk-6WIMWLCJ.js +0 -17
- package/dist/shared/chunk-6WIMWLCJ.js.map +0 -1
- package/dist/shared/chunk-7LAWWRU7.js +0 -21
- package/dist/shared/chunk-7LAWWRU7.js.map +0 -1
- package/dist/shared/chunk-B5T2LFV2.js +0 -494
- package/dist/shared/chunk-B5T2LFV2.js.map +0 -1
- package/dist/shared/chunk-BHARJBEK.js +0 -27
- package/dist/shared/chunk-BHARJBEK.js.map +0 -1
- package/dist/shared/chunk-DCM4732T.js +0 -146
- package/dist/shared/chunk-DCM4732T.js.map +0 -1
- package/dist/shared/chunk-E3ZW57HF.js +0 -843
- package/dist/shared/chunk-E3ZW57HF.js.map +0 -1
- package/dist/shared/chunk-EID5HPF3.js +0 -63
- package/dist/shared/chunk-EID5HPF3.js.map +0 -1
- package/dist/shared/chunk-EMF5TCPX.js +0 -389
- package/dist/shared/chunk-EMF5TCPX.js.map +0 -1
- package/dist/shared/chunk-EUFVTHAG.js +0 -33
- package/dist/shared/chunk-EUFVTHAG.js.map +0 -1
- package/dist/shared/chunk-FC52EHCC.js +0 -104
- package/dist/shared/chunk-FC52EHCC.js.map +0 -1
- package/dist/shared/chunk-FD7YYFRI.js +0 -225
- package/dist/shared/chunk-FD7YYFRI.js.map +0 -1
- package/dist/shared/chunk-FVV27R73.js +0 -269
- package/dist/shared/chunk-FVV27R73.js.map +0 -1
- package/dist/shared/chunk-FYGFB5U5.js +0 -57
- package/dist/shared/chunk-FYGFB5U5.js.map +0 -1
- package/dist/shared/chunk-GDYCCB3B.js +0 -22
- package/dist/shared/chunk-GDYCCB3B.js.map +0 -1
- package/dist/shared/chunk-GLV6QIIM.js +0 -41
- package/dist/shared/chunk-GLV6QIIM.js.map +0 -1
- package/dist/shared/chunk-GNTJT7MR.js +0 -56
- package/dist/shared/chunk-GNTJT7MR.js.map +0 -1
- package/dist/shared/chunk-HHUFGV7J.js +0 -259
- package/dist/shared/chunk-HHUFGV7J.js.map +0 -1
- package/dist/shared/chunk-HPCCD6V5.js +0 -17
- package/dist/shared/chunk-HPCCD6V5.js.map +0 -1
- package/dist/shared/chunk-IEMCCHM4.js +0 -389
- package/dist/shared/chunk-IEMCCHM4.js.map +0 -1
- package/dist/shared/chunk-IMDOF55E.js +0 -137
- package/dist/shared/chunk-IMDOF55E.js.map +0 -1
- package/dist/shared/chunk-IPWYNE6Y.js +0 -213
- package/dist/shared/chunk-IPWYNE6Y.js.map +0 -1
- package/dist/shared/chunk-J6R3GSKS.js +0 -386
- package/dist/shared/chunk-J6R3GSKS.js.map +0 -1
- package/dist/shared/chunk-KNREHAPN.js +0 -13
- package/dist/shared/chunk-KNREHAPN.js.map +0 -1
- package/dist/shared/chunk-KRODRZNS.js +0 -440
- package/dist/shared/chunk-KRODRZNS.js.map +0 -1
- package/dist/shared/chunk-KT7SSWMM.js +0 -24
- package/dist/shared/chunk-KT7SSWMM.js.map +0 -1
- package/dist/shared/chunk-KTA7XES3.js +0 -168
- package/dist/shared/chunk-KTA7XES3.js.map +0 -1
- package/dist/shared/chunk-L4W4B2RQ.js +0 -174
- package/dist/shared/chunk-L4W4B2RQ.js.map +0 -1
- package/dist/shared/chunk-MO6CRLQA.js +0 -73
- package/dist/shared/chunk-MO6CRLQA.js.map +0 -1
- package/dist/shared/chunk-NTP6BKRU.js +0 -516
- package/dist/shared/chunk-NTP6BKRU.js.map +0 -1
- package/dist/shared/chunk-O53V22BK.js +0 -469
- package/dist/shared/chunk-O53V22BK.js.map +0 -1
- package/dist/shared/chunk-O5PQISX4.js +0 -51
- package/dist/shared/chunk-O5PQISX4.js.map +0 -1
- package/dist/shared/chunk-OJ6KL7FU.js +0 -32
- package/dist/shared/chunk-OJ6KL7FU.js.map +0 -1
- package/dist/shared/chunk-OJP4HMJT.js +0 -22
- package/dist/shared/chunk-OJP4HMJT.js.map +0 -1
- package/dist/shared/chunk-ORIUCOED.js +0 -129
- package/dist/shared/chunk-ORIUCOED.js.map +0 -1
- package/dist/shared/chunk-OSJ6KGPX.js +0 -16
- package/dist/shared/chunk-OSJ6KGPX.js.map +0 -1
- package/dist/shared/chunk-OXYXZHP2.js +0 -48
- package/dist/shared/chunk-OXYXZHP2.js.map +0 -1
- package/dist/shared/chunk-PFZMRSHJ.js +0 -616
- package/dist/shared/chunk-PFZMRSHJ.js.map +0 -1
- package/dist/shared/chunk-QHKOAIOK.js +0 -243
- package/dist/shared/chunk-QHKOAIOK.js.map +0 -1
- package/dist/shared/chunk-QLQVDZIL.js +0 -11
- package/dist/shared/chunk-QLQVDZIL.js.map +0 -1
- package/dist/shared/chunk-RDOCVLCF.js +0 -422
- package/dist/shared/chunk-RDOCVLCF.js.map +0 -1
- package/dist/shared/chunk-RFH7PEVS.js +0 -38
- package/dist/shared/chunk-RFH7PEVS.js.map +0 -1
- package/dist/shared/chunk-T3UPW5OW.js +0 -79
- package/dist/shared/chunk-T3UPW5OW.js.map +0 -1
- package/dist/shared/chunk-TGKNA2JS.js +0 -847
- package/dist/shared/chunk-TGKNA2JS.js.map +0 -1
- package/dist/shared/chunk-TKMWY2VN.js +0 -18
- package/dist/shared/chunk-TKMWY2VN.js.map +0 -1
- package/dist/shared/chunk-TZ6X7ZM5.js +0 -158
- package/dist/shared/chunk-TZ6X7ZM5.js.map +0 -1
- package/dist/shared/chunk-UC75KRLX.js +0 -67
- package/dist/shared/chunk-UC75KRLX.js.map +0 -1
- package/dist/shared/chunk-VMIJ6MG5.js +0 -368
- package/dist/shared/chunk-VMIJ6MG5.js.map +0 -1
- package/dist/shared/chunk-VYA2FCTY.js +0 -83
- package/dist/shared/chunk-VYA2FCTY.js.map +0 -1
- package/dist/shared/chunk-WPZV3LYL.js +0 -24
- package/dist/shared/chunk-WPZV3LYL.js.map +0 -1
- package/dist/shared/chunk-XCWMZVF5.js +0 -89
- package/dist/shared/chunk-XCWMZVF5.js.map +0 -1
- package/dist/shared/chunk-XCZVD5H6.js +0 -13
- package/dist/shared/chunk-XCZVD5H6.js.map +0 -1
- package/dist/shared/chunk-XFZQGRRL.js +0 -101
- package/dist/shared/chunk-XFZQGRRL.js.map +0 -1
- package/dist/shared/chunk-XYWSIMZ6.js +0 -59
- package/dist/shared/chunk-XYWSIMZ6.js.map +0 -1
- package/dist/shared/chunk-XZ6WJZHN.js +0 -10
- package/dist/shared/chunk-XZ6WJZHN.js.map +0 -1
- package/dist/shared/chunk-ZEFOWKYP.js +0 -44
- package/dist/shared/chunk-ZEFOWKYP.js.map +0 -1
- package/dist/shared/chunk-ZGQ3AQBG.js +0 -33
- package/dist/shared/chunk-ZGQ3AQBG.js.map +0 -1
- package/dist/shared/chunk-ZRBTAC3G.js +0 -53
- package/dist/shared/chunk-ZRBTAC3G.js.map +0 -1
- package/dist/shared/chunk-ZYQZUWF7.js +0 -537
- package/dist/shared/chunk-ZYQZUWF7.js.map +0 -1
- package/dist/shared/chunk-ZZVYD4BG.js +0 -41
- package/dist/shared/chunk-ZZVYD4BG.js.map +0 -1
- package/dist/shared/datasources/external/facebook/posts/sample.d.ts +0 -26
- package/dist/shared/datasources/external/facebook/posts/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts +0 -2
- package/dist/shared/datasources/external/facebook/posts/tests/fetcher.test.d.ts.map +0 -1
- package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts +0 -2
- package/dist/shared/datasources/external/http-json/tests/fetcher.test.d.ts.map +0 -1
- package/dist/shared/datasources/external/instagram/feed/sample.d.ts +0 -3
- package/dist/shared/datasources/external/instagram/feed/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts +0 -2
- package/dist/shared/datasources/external/instagram/feed/tests/fetcher.test.d.ts.map +0 -1
- package/dist/shared/datasources/external/mastodon/account/sample.d.ts +0 -30
- package/dist/shared/datasources/external/mastodon/account/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts +0 -2
- package/dist/shared/datasources/external/mastodon/account/tests/fetcher.test.d.ts.map +0 -1
- package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts +0 -2
- package/dist/shared/datasources/external/mastodon/status/tests/fetcher.test.d.ts.map +0 -1
- package/dist/shared/datasources/external/rss/sample.d.ts +0 -3
- package/dist/shared/datasources/external/rss/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/threads/media/sample.d.ts +0 -40
- package/dist/shared/datasources/external/threads/media/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/tiktok/video/sample.d.ts +0 -15
- package/dist/shared/datasources/external/tiktok/video/sample.d.ts.map +0 -1
- package/dist/shared/datasources/external/youtube/list/sample.d.ts +0 -29
- package/dist/shared/datasources/external/youtube/list/sample.d.ts.map +0 -1
- package/dist/shared/datasources/fetcher.js.map +0 -1
- package/dist/shared/env.js.map +0 -1
- package/dist/shared/errors.d.ts.map +0 -1
- package/dist/shared/errors.js.map +0 -1
- package/dist/shared/tests/attributes.test.d.ts +0 -2
- package/dist/shared/tests/attributes.test.d.ts.map +0 -1
- package/dist/shared/themes/tests/color-system.test.d.ts +0 -2
- package/dist/shared/themes/tests/color-system.test.d.ts.map +0 -1
- package/dist/shared/utils/tests/schema.test.d.ts +0 -2
- package/dist/shared/utils/tests/schema.test.d.ts.map +0 -1
- package/src/shared/ajv.ts +0 -123
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shared/datarecords/external/notion/handler.ts"],"sourcesContent":["import {\n Client,\n type CreateDatabaseResponse,\n type DatabaseObjectResponse,\n type GetPageResponse,\n type PageObjectResponse,\n} from \"@notionhq/client\";\nimport type { TObject, TProperties } from \"@sinclair/typebox\";\nimport { nanoid } from \"nanoid\";\nimport type { ListPagesResponse, NotionOptions, NotionPage, NotionPages } from \"./types\";\n\nconst MAX_CALL = 10;\nconst MAX_PAGES = 1000;\n\nexport type { CreateDatabaseResponse, DatabaseObjectResponse, ListPagesResponse };\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: NotionOptions;\n properties: TProperties;\n accessToken: string;\n}) {\n const client = new Client({\n auth: accessToken,\n });\n const notionData = buildCreatePageParameters(formData, options.properties);\n\n try {\n return client.pages.create({\n parent: { database_id: options.id },\n properties: {\n ...notionData,\n },\n });\n } catch (e) {\n return;\n }\n}\n\nasync function searchPages(\n client: Client,\n pages: NotionPages,\n parameters: {\n maxResults?: number;\n maxCalls?: number;\n },\n offset?: string,\n resultIndex?: number,\n): Promise<ListPagesResponse> {\n const nextIndex = resultIndex ? resultIndex + 1 : 1;\n // Notion API has a hard limit of 300 results (3 requests of 100 results)\n if (nextIndex > (parameters?.maxCalls ?? MAX_CALL)) {\n return {\n status: \"max_call_reached\",\n pages,\n };\n }\n try {\n const response = await client.search({\n filter: {\n property: \"object\",\n value: \"page\",\n },\n start_cursor: offset,\n page_size: 100, // default\n });\n if (!response) {\n return {\n status: \"error\",\n pages,\n };\n }\n for (const d in response.results) {\n const p = response.results[d] as PageObjectResponse;\n\n if (p.parent.type !== \"database_id\") {\n const page = {\n id: p.id,\n name:\n p.properties.title &&\n p.properties.title.type === \"title\" &&\n Array.isArray(p.properties.title.title) &&\n p.properties.title.title[0]?.plain_text\n ? p.properties.title.title[0].plain_text\n : \"No Title\",\n };\n pages.push(page);\n if (pages.length >= (parameters?.maxResults ?? MAX_PAGES)) {\n return {\n status: \"max_pages_reached\",\n pages: pages,\n };\n }\n }\n }\n if (response.has_more && response.next_cursor) {\n const moreResults = await searchPages(client, pages, parameters, response.next_cursor, nextIndex);\n if (moreResults.status !== \"success\") {\n return {\n status: moreResults.status,\n pages: pages,\n };\n }\n return moreResults;\n }\n } catch (error) {\n console.error(\"Error searching Notion pages:\", error);\n }\n return {\n status: \"success\",\n pages,\n };\n}\n\nexport async function listPages(\n accessToken: string,\n parameters?: {\n maxResults?: number;\n maxCalls?: number;\n },\n): Promise<ListPagesResponse> {\n try {\n const client = new Client({\n auth: accessToken,\n });\n\n const response = await searchPages(client, [], { ...parameters });\n return response;\n } catch (error) {\n console.error(\"Error listing Notion databases:\", error);\n throw error;\n }\n}\n\n/**\n * In Notion, databases column are sorted by alphabetical order\n * @param schema\n * @returns\n */\nfunction buildDatabaseProperties(schemaProperties: TProperties, requiredFields: string[] = []) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const properties: Record<string, any> = {};\n\n for (const [fieldName, field] of Object.entries(schemaProperties)) {\n if (field.type === \"string\") {\n if (fieldName in (requiredFields ?? []) && fieldName === \"id\") {\n properties[fieldName] = {\n title: {},\n name: fieldName,\n type: \"title\",\n };\n } else {\n if (field.format === \"email\") {\n properties[fieldName] = {\n type: \"email\",\n name: fieldName,\n email: {},\n };\n } else if (field.format === \"uri\") {\n properties[fieldName] = {\n type: \"url\",\n name: fieldName,\n url: {},\n };\n } else if (field.format === \"date\" || field.format === \"date-time\") {\n properties[fieldName] = {\n type: \"date\",\n name: fieldName,\n date: {},\n };\n } else {\n if (field.enum && Array.isArray(field.enum) && field.enum.length > 0) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n properties[fieldName] = {\n type: \"multi_select\",\n name: fieldName,\n multi_select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n } else {\n properties[fieldName] = {\n type: \"select\",\n name: fieldName,\n select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n }\n } else {\n properties[fieldName] = {\n rich_text: {},\n name: fieldName,\n type: \"rich_text\",\n };\n }\n }\n }\n } else if (field.type === \"number\") {\n properties[fieldName] = {\n number: {},\n };\n } else if (field.type === \"boolean\") {\n properties[fieldName] = {\n checkbox: {},\n };\n }\n }\n\n // if no id field of type title, add one\n if (!properties.id) {\n properties.id = {\n title: {},\n name: \"id\",\n type: \"title\",\n };\n }\n return properties;\n}\n\nexport async function updateTable({\n id,\n newName,\n newProperties,\n accessToken,\n}: {\n id: string;\n newName?: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<NotionOptions> {\n const client = new Client({\n auth: accessToken,\n });\n\n const properties = newProperties ? buildDatabaseProperties(newProperties) : {};\n const response = (await client.databases.update({\n database_id: id,\n ...(newName\n ? {\n title: [\n {\n type: \"text\" as const,\n text: {\n content: newName,\n },\n },\n ],\n }\n : {}),\n ...(Object.keys(properties).length > 0 ? { properties } : {}),\n })) as DatabaseObjectResponse;\n if (!response) {\n throw new Error(\"Failed to update Notion database\");\n }\n return {\n id: response.id,\n name: response.title[0]?.plain_text,\n properties: response.properties,\n url: response.url,\n };\n}\n\nexport async function createTable({\n name,\n schema,\n pageId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n pageId: string;\n accessToken: string;\n}): Promise<NotionOptions> {\n const properties = buildDatabaseProperties(schema.properties, schema.required);\n const data = {\n parent: { type: \"page_id\" as const, page_id: pageId },\n title: [\n {\n type: \"text\" as const,\n text: {\n content: name,\n },\n },\n ],\n properties,\n };\n const client = new Client({\n auth: accessToken,\n });\n const response = (await client.databases.create(data)) as CreateDatabaseResponse;\n if (!response) {\n throw new Error(\"Failed to create Notion database\");\n }\n const table = (await client.databases.retrieve({ database_id: response.id })) as DatabaseObjectResponse;\n if (!table) {\n throw new Error(\"Failed to retrieve Notion database after creation\");\n }\n return {\n id: table.id,\n name: table.title[0]?.plain_text,\n properties: table.properties,\n url: table.url,\n };\n}\n\nexport async function checkPage({\n pageId,\n accessToken,\n}: {\n pageId: string;\n accessToken: string;\n}): Promise<NotionPage | undefined> {\n const client = new Client({\n auth: accessToken,\n });\n try {\n const response = (await client.pages.retrieve({ page_id: pageId })) as GetPageResponse;\n if (!response) {\n console.log(\"Failed to retrieve Notion page\");\n return;\n }\n if (response) {\n // Convert the complex Notion response to a simple type\n const page = response as PageObjectResponse;\n return {\n id: page.id,\n name:\n page.properties.title &&\n page.properties.title.type === \"title\" &&\n Array.isArray(page.properties.title.title) &&\n page.properties.title.title[0]?.plain_text\n ? page.properties.title.title[0].plain_text\n : \"No Title\",\n };\n }\n } catch (e) {\n console.error(\"Error retrieving Notion page:\", e);\n }\n return;\n}\n\nfunction buildCreatePageParameters(data: FormData, databaseProperties: NotionOptions[\"properties\"]) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const notionData: Record<string, any> = {};\n for (const [key, value] of data.entries()) {\n if (value === null || value === undefined || value === \"\") continue;\n if (key in databaseProperties) {\n switch (databaseProperties[key].type) {\n case \"title\":\n notionData[key] = {\n title: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"rich_text\":\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"email\":\n notionData[key] = {\n email: String(value),\n };\n break;\n case \"phone_number\":\n notionData[key] = {\n phone_number: String(value),\n };\n break;\n case \"url\":\n notionData[key] = {\n url: String(value),\n };\n break;\n case \"number\":\n notionData[key] = {\n number: Number(value),\n };\n break;\n case \"checkbox\":\n notionData[key] = {\n checkbox: value === \"true\" || value === \"1\",\n };\n break;\n case \"date\":\n notionData[key] = {\n date: value ? { start: String(value) } : null,\n };\n break;\n case \"select\":\n notionData[key] = {\n select: {\n name: String(value),\n },\n };\n break;\n case \"multi_select\": {\n const getValues = (value: string) => {\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n try {\n return JSON.parse(value);\n } catch {\n return [value];\n }\n }\n if (value.includes(\",\")) {\n return value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n }\n return [value];\n };\n const values = getValues(String(value));\n notionData[key] = {\n multi_select: values.map((v: string) => ({\n name: v,\n })),\n };\n break;\n }\n default:\n console.warn(`Unsupported property type for key \"${key}\": ${databaseProperties[key].type}`);\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n }\n }\n }\n if (!(\"id\" in notionData)) {\n notionData.id = {\n title: [\n {\n text: {\n content: nanoid(5),\n },\n },\n ],\n };\n }\n return notionData;\n}\n"],"mappings":"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","names":["value"]}
|
|
1
|
+
{"version":3,"file":"handler.js","names":["properties: Record<string, any>","notionData: Record<string, any>","value"],"sources":["../../../../../src/shared/datarecords/external/notion/handler.ts"],"sourcesContent":["import {\n Client,\n type CreateDatabaseResponse,\n type DatabaseObjectResponse,\n type GetPageResponse,\n type PageObjectResponse,\n} from \"@notionhq/client\";\nimport type { TObject, TProperties } from \"@sinclair/typebox\";\nimport { nanoid } from \"nanoid\";\nimport type { ListPagesResponse, NotionOptions, NotionPage, NotionPages } from \"./types\";\n\nconst MAX_CALL = 10;\nconst MAX_PAGES = 1000;\n\nexport type { CreateDatabaseResponse, DatabaseObjectResponse, ListPagesResponse };\n\nexport async function saveRecord({\n formData,\n options,\n properties,\n accessToken,\n}: {\n formData: FormData;\n options: NotionOptions;\n properties: TProperties;\n accessToken: string;\n}) {\n const client = new Client({\n auth: accessToken,\n });\n const notionData = buildCreatePageParameters(formData, options.properties);\n\n try {\n return client.pages.create({\n parent: { database_id: options.id },\n properties: {\n ...notionData,\n },\n });\n } catch (e) {\n return;\n }\n}\n\nasync function searchPages(\n client: Client,\n pages: NotionPages,\n parameters: {\n maxResults?: number;\n maxCalls?: number;\n },\n offset?: string,\n resultIndex?: number,\n): Promise<ListPagesResponse> {\n const nextIndex = resultIndex ? resultIndex + 1 : 1;\n // Notion API has a hard limit of 300 results (3 requests of 100 results)\n if (nextIndex > (parameters?.maxCalls ?? MAX_CALL)) {\n return {\n status: \"max_call_reached\",\n pages,\n };\n }\n try {\n const response = await client.search({\n filter: {\n property: \"object\",\n value: \"page\",\n },\n start_cursor: offset,\n page_size: 100, // default\n });\n if (!response) {\n return {\n status: \"error\",\n pages,\n };\n }\n for (const d in response.results) {\n const p = response.results[d] as PageObjectResponse;\n\n if (p.parent.type !== \"database_id\") {\n const page = {\n id: p.id,\n name:\n p.properties.title &&\n p.properties.title.type === \"title\" &&\n Array.isArray(p.properties.title.title) &&\n p.properties.title.title[0]?.plain_text\n ? p.properties.title.title[0].plain_text\n : \"No Title\",\n };\n pages.push(page);\n if (pages.length >= (parameters?.maxResults ?? MAX_PAGES)) {\n return {\n status: \"max_pages_reached\",\n pages: pages,\n };\n }\n }\n }\n if (response.has_more && response.next_cursor) {\n const moreResults = await searchPages(client, pages, parameters, response.next_cursor, nextIndex);\n if (moreResults.status !== \"success\") {\n return {\n status: moreResults.status,\n pages: pages,\n };\n }\n return moreResults;\n }\n } catch (error) {\n console.error(\"Error searching Notion pages:\", error);\n }\n return {\n status: \"success\",\n pages,\n };\n}\n\nexport async function listPages(\n accessToken: string,\n parameters?: {\n maxResults?: number;\n maxCalls?: number;\n },\n): Promise<ListPagesResponse> {\n try {\n const client = new Client({\n auth: accessToken,\n });\n\n const response = await searchPages(client, [], { ...parameters });\n return response;\n } catch (error) {\n console.error(\"Error listing Notion databases:\", error);\n throw error;\n }\n}\n\n/**\n * In Notion, databases column are sorted by alphabetical order\n * @param schema\n * @returns\n */\nfunction buildDatabaseProperties(schemaProperties: TProperties, requiredFields: string[] = []) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const properties: Record<string, any> = {};\n\n for (const [fieldName, field] of Object.entries(schemaProperties)) {\n if (field.type === \"string\") {\n if (fieldName in (requiredFields ?? []) && fieldName === \"id\") {\n properties[fieldName] = {\n title: {},\n name: fieldName,\n type: \"title\",\n };\n } else {\n if (field.format === \"email\") {\n properties[fieldName] = {\n type: \"email\",\n name: fieldName,\n email: {},\n };\n } else if (field.format === \"uri\") {\n properties[fieldName] = {\n type: \"url\",\n name: fieldName,\n url: {},\n };\n } else if (field.format === \"date\" || field.format === \"date-time\") {\n properties[fieldName] = {\n type: \"date\",\n name: fieldName,\n date: {},\n };\n } else {\n if (field.enum && Array.isArray(field.enum) && field.enum.length > 0) {\n if (field.metadata?.[\"ui:widget\"] === \"checkbox\") {\n properties[fieldName] = {\n type: \"multi_select\",\n name: fieldName,\n multi_select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n } else {\n properties[fieldName] = {\n type: \"select\",\n name: fieldName,\n select: {\n options: field.enum.map((option) => ({\n name: option,\n })),\n },\n };\n }\n } else {\n properties[fieldName] = {\n rich_text: {},\n name: fieldName,\n type: \"rich_text\",\n };\n }\n }\n }\n } else if (field.type === \"number\") {\n properties[fieldName] = {\n number: {},\n };\n } else if (field.type === \"boolean\") {\n properties[fieldName] = {\n checkbox: {},\n };\n }\n }\n\n // if no id field of type title, add one\n if (!properties.id) {\n properties.id = {\n title: {},\n name: \"id\",\n type: \"title\",\n };\n }\n return properties;\n}\n\nexport async function updateTable({\n id,\n newName,\n newProperties,\n accessToken,\n}: {\n id: string;\n newName?: string;\n newProperties?: TProperties;\n accessToken: string;\n}): Promise<NotionOptions> {\n const client = new Client({\n auth: accessToken,\n });\n\n const properties = newProperties ? buildDatabaseProperties(newProperties) : {};\n const response = (await client.databases.update({\n database_id: id,\n ...(newName\n ? {\n title: [\n {\n type: \"text\" as const,\n text: {\n content: newName,\n },\n },\n ],\n }\n : {}),\n ...(Object.keys(properties).length > 0 ? { properties } : {}),\n })) as DatabaseObjectResponse;\n if (!response) {\n throw new Error(\"Failed to update Notion database\");\n }\n return {\n id: response.id,\n name: response.title[0]?.plain_text,\n properties: response.properties,\n url: response.url,\n };\n}\n\nexport async function createTable({\n name,\n schema,\n pageId,\n accessToken,\n}: {\n name: string;\n schema: TObject;\n pageId: string;\n accessToken: string;\n}): Promise<NotionOptions> {\n const properties = buildDatabaseProperties(schema.properties, schema.required);\n const data = {\n parent: { type: \"page_id\" as const, page_id: pageId },\n title: [\n {\n type: \"text\" as const,\n text: {\n content: name,\n },\n },\n ],\n properties,\n };\n const client = new Client({\n auth: accessToken,\n });\n const response = (await client.databases.create(data)) as CreateDatabaseResponse;\n if (!response) {\n throw new Error(\"Failed to create Notion database\");\n }\n const table = (await client.databases.retrieve({ database_id: response.id })) as DatabaseObjectResponse;\n if (!table) {\n throw new Error(\"Failed to retrieve Notion database after creation\");\n }\n return {\n id: table.id,\n name: table.title[0]?.plain_text,\n properties: table.properties,\n url: table.url,\n };\n}\n\nexport async function checkPage({\n pageId,\n accessToken,\n}: {\n pageId: string;\n accessToken: string;\n}): Promise<NotionPage | undefined> {\n const client = new Client({\n auth: accessToken,\n });\n try {\n const response = (await client.pages.retrieve({ page_id: pageId })) as GetPageResponse;\n if (!response) {\n console.log(\"Failed to retrieve Notion page\");\n return;\n }\n if (response) {\n // Convert the complex Notion response to a simple type\n const page = response as PageObjectResponse;\n return {\n id: page.id,\n name:\n page.properties.title &&\n page.properties.title.type === \"title\" &&\n Array.isArray(page.properties.title.title) &&\n page.properties.title.title[0]?.plain_text\n ? page.properties.title.title[0].plain_text\n : \"No Title\",\n };\n }\n } catch (e) {\n console.error(\"Error retrieving Notion page:\", e);\n }\n return;\n}\n\nfunction buildCreatePageParameters(data: FormData, databaseProperties: NotionOptions[\"properties\"]) {\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const notionData: Record<string, any> = {};\n for (const [key, value] of data.entries()) {\n if (value === null || value === undefined || value === \"\") continue;\n if (key in databaseProperties) {\n switch (databaseProperties[key].type) {\n case \"title\":\n notionData[key] = {\n title: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"rich_text\":\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n break;\n case \"email\":\n notionData[key] = {\n email: String(value),\n };\n break;\n case \"phone_number\":\n notionData[key] = {\n phone_number: String(value),\n };\n break;\n case \"url\":\n notionData[key] = {\n url: String(value),\n };\n break;\n case \"number\":\n notionData[key] = {\n number: Number(value),\n };\n break;\n case \"checkbox\":\n notionData[key] = {\n checkbox: value === \"true\" || value === \"1\",\n };\n break;\n case \"date\":\n notionData[key] = {\n date: value ? { start: String(value) } : null,\n };\n break;\n case \"select\":\n notionData[key] = {\n select: {\n name: String(value),\n },\n };\n break;\n case \"multi_select\": {\n const getValues = (value: string) => {\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n try {\n return JSON.parse(value);\n } catch {\n return [value];\n }\n }\n if (value.includes(\",\")) {\n return value\n .split(\",\")\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n }\n return [value];\n };\n const values = getValues(String(value));\n notionData[key] = {\n multi_select: values.map((v: string) => ({\n name: v,\n })),\n };\n break;\n }\n default:\n console.warn(`Unsupported property type for key \"${key}\": ${databaseProperties[key].type}`);\n notionData[key] = {\n rich_text: [\n {\n text: {\n content: String(value),\n },\n },\n ],\n };\n }\n }\n }\n if (!(\"id\" in notionData)) {\n notionData.id = {\n title: [\n {\n text: {\n content: nanoid(5),\n },\n },\n ],\n };\n }\n return notionData;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as _sinclair_typebox7638 from "@sinclair/typebox";
|
|
2
|
+
import { Static } from "@sinclair/typebox";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/datarecords/external/notion/oauth/config.d.ts
|
|
5
|
+
declare const notionOAuthTokenSchema: _sinclair_typebox7638.TObject<{
|
|
6
|
+
access_token: _sinclair_typebox7638.TString;
|
|
7
|
+
refresh_token: _sinclair_typebox7638.TString;
|
|
5
8
|
}>;
|
|
6
|
-
|
|
9
|
+
type NotionOAuthToken = Static<typeof notionOAuthTokenSchema>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { NotionOAuthToken, notionOAuthTokenSchema };
|
|
7
12
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":[],"sources":["../../../../../../src/shared/datarecords/external/notion/oauth/config.ts"],"sourcesContent":[],"mappings":";;;;cAEa,8CAAsB;gBAGjC,qBAAA,CAAA;;AAHF,CAAA,CAAA;AAGE,KACU,gBAAA,GAAmB,MAD7B,CAAA,OAC2C,sBAD3C,CAAA"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
/*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
|
|
2
|
-
|
|
3
|
-
import "../../../../chunk-ZGQ3AQBG.js";
|
|
4
|
-
|
|
5
|
-
// src/shared/datarecords/external/notion/oauth/config.ts
|
|
6
1
|
import { Type } from "@sinclair/typebox";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
|
|
3
|
+
//#region src/shared/datarecords/external/notion/oauth/config.ts
|
|
4
|
+
const notionOAuthTokenSchema = Type.Object({
|
|
5
|
+
access_token: Type.String(),
|
|
6
|
+
refresh_token: Type.String()
|
|
10
7
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { notionOAuthTokenSchema };
|
|
14
11
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/shared/datarecords/external/notion/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOAuthTokenSchema = Type.Object({\n access_token: Type.String(),\n refresh_token: Type.String(),\n});\nexport type NotionOAuthToken = Static<typeof notionOAuthTokenSchema>;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../../../../src/shared/datarecords/external/notion/oauth/config.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOAuthTokenSchema = Type.Object({\n access_token: Type.String(),\n refresh_token: Type.String(),\n});\nexport type NotionOAuthToken = Static<typeof notionOAuthTokenSchema>;\n"],"mappings":";;;AAEA,MAAa,yBAAyB,KAAK,OAAO;CAChD,cAAc,KAAK,QAAQ;CAC3B,eAAe,KAAK,QAAQ;CAC7B,CAAC"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import * as _sinclair_typebox6168 from "@sinclair/typebox";
|
|
2
|
+
import { Static } from "@sinclair/typebox";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/datarecords/external/notion/types.d.ts
|
|
5
|
+
declare const notionOptions: _sinclair_typebox6168.TObject<{
|
|
6
|
+
url: _sinclair_typebox6168.TOptional<_sinclair_typebox6168.TString>;
|
|
7
|
+
id: _sinclair_typebox6168.TString;
|
|
8
|
+
name: _sinclair_typebox6168.TString;
|
|
9
|
+
properties: _sinclair_typebox6168.TAny;
|
|
7
10
|
}>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
type NotionOptions = Static<typeof notionOptions>;
|
|
12
|
+
type NotionPage = {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
12
15
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
type NotionPages = NotionPage[];
|
|
17
|
+
type listPageStatus = "success" | "error" | "max_call_reached" | "max_pages_reached";
|
|
18
|
+
type ListPagesResponse = {
|
|
19
|
+
status: listPageStatus;
|
|
20
|
+
pages: NotionPages;
|
|
18
21
|
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ListPagesResponse, NotionOptions, NotionPage, NotionPages, listPageStatus, notionOptions };
|
|
19
24
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../src/shared/datarecords/external/notion/types.ts"],"sourcesContent":[],"mappings":";;;;cAEa,qCAAa;uCAUxB,qBAAA,CAAA,OAAA;;EAVW,IAAA,+BAUX;EAAA,UAAA,4BAAA;;KAEU,aAAA,GAAgB,cAAc;KAE9B,UAAA;;;;AAdc,KAmBd,WAAA,GAAc,UAnBA,EAAA;AAYd,KAQA,cAAA,GARa,SAAA,GAAA,OAAA,GAAA,kBAAA,GAAA,mBAAA;AAAA,KAUb,iBAAA,GAVa;QAAiB,EAWhC,cAXgC;OAAd,EAYnB,WAZmB;CAAM"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
3
|
+
//#region src/shared/datarecords/external/notion/types.ts
|
|
4
|
+
const notionOptions = Type.Object({
|
|
5
|
+
url: Type.Optional(Type.String()),
|
|
6
|
+
id: Type.String({
|
|
7
|
+
pattern: "^[A-Za-z0-9\\-]+$",
|
|
8
|
+
description: "Notion Database ID"
|
|
9
|
+
}),
|
|
10
|
+
name: Type.String({ description: "Notion Database Name" }),
|
|
11
|
+
properties: Type.Any()
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { notionOptions };
|
|
10
16
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/shared/datarecords/external/notion/types.ts"],"sourcesContent":["import { Type, type Static } from \"@sinclair/typebox\";\n\nexport const notionOptions = Type.Object({\n url: Type.Optional(Type.String()),\n id: Type.String({\n pattern: \"^[A-Za-z0-9\\\\-]+$\",\n description: \"Notion Database ID\",\n }),\n name: Type.String({\n description: \"Notion Database Name\",\n }),\n properties: Type.Any(),\n});\n\nexport type NotionOptions = Static<typeof notionOptions>;\n\nexport type NotionPage = {\n id: string;\n name: string;\n};\n\nexport type NotionPages = NotionPage[];\nexport type listPageStatus = \"success\" | \"error\" | \"max_call_reached\" | \"max_pages_reached\";\n\nexport type ListPagesResponse = {\n status: listPageStatus;\n pages: NotionPages;\n};\n"],"mappings":";;;AAEA,MAAa,gBAAgB,KAAK,OAAO;CACvC,KAAK,KAAK,SAAS,KAAK,QAAQ,CAAC;CACjC,IAAI,KAAK,OAAO;EACd,SAAS;EACT,aAAa;EACd,CAAC;CACF,MAAM,KAAK,OAAO,EAChB,aAAa,wBACd,CAAC;CACF,YAAY,KAAK,KAAK;CACvB,CAAC"}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import * as _sinclair_typebox2180 from "@sinclair/typebox";
|
|
2
|
+
import { Static } from "@sinclair/typebox";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/datarecords/types.d.ts
|
|
5
|
+
declare const connectorSchema: _sinclair_typebox2180.TUnsafe<"internal" | "airtable" | "google-sheets" | "notion">;
|
|
6
|
+
type DatarecordConnector = Static<typeof connectorSchema>;
|
|
7
|
+
declare const genericDatarecord: _sinclair_typebox2180.TObject<{
|
|
8
|
+
provider: _sinclair_typebox2180.TUnion<[_sinclair_typebox2180.TLiteral<"internal">, _sinclair_typebox2180.TLiteral<"notion">, _sinclair_typebox2180.TLiteral<"google-sheets">, _sinclair_typebox2180.TLiteral<"airtable">]>;
|
|
9
|
+
id: _sinclair_typebox2180.TString;
|
|
10
|
+
label: _sinclair_typebox2180.TString;
|
|
11
|
+
description: _sinclair_typebox2180.TOptional<_sinclair_typebox2180.TString>;
|
|
12
|
+
schema: _sinclair_typebox2180.TObject<{}>;
|
|
10
13
|
}>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
type Datarecord = Static<typeof genericDatarecord>;
|
|
15
|
+
type InternalDatarecord = Extract<Datarecord, {
|
|
16
|
+
provider: "internal";
|
|
14
17
|
}>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
declare const datarecordsList: _sinclair_typebox2180.TArray<_sinclair_typebox2180.TObject<{
|
|
19
|
+
provider: _sinclair_typebox2180.TUnion<[_sinclair_typebox2180.TLiteral<"internal">, _sinclair_typebox2180.TLiteral<"notion">, _sinclair_typebox2180.TLiteral<"google-sheets">, _sinclair_typebox2180.TLiteral<"airtable">]>;
|
|
20
|
+
id: _sinclair_typebox2180.TString;
|
|
21
|
+
label: _sinclair_typebox2180.TString;
|
|
22
|
+
description: _sinclair_typebox2180.TOptional<_sinclair_typebox2180.TString>;
|
|
23
|
+
schema: _sinclair_typebox2180.TObject<{}>;
|
|
21
24
|
}>>;
|
|
22
|
-
|
|
25
|
+
type DatarecordsList = Static<typeof datarecordsList>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Datarecord, DatarecordConnector, DatarecordsList, InternalDatarecord, connectorSchema, datarecordsList, genericDatarecord };
|
|
23
28
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/shared/datarecords/types.ts"],"sourcesContent":[],"mappings":";;;;cAMa,iBAAiF,qBAAA,CAAlE;KAEhB,mBAAA,GAAsB,cAAc;cAsHnC,yCAAiB;EAxHjB,QAAA,8BAAiF,CAAA,CA0I5F,qBAAA,CAAA,QA1I0B,CAAA,UAAA,CAAA,gCAAA,CAAA,QAAA,CAAA,gCAAA,CAAA,eAAA,CAAA,gCAAA,CAAA,UAAA,CAAA,CAAA,CAAA;EAEhB,EAAA,+BAAmB;EAAA,KAAA,+BAAA;aAAiB,iCAAA,+BAAA;QAAd,+BAAA,CAAA,CAAA,CAAA,CAAA;CAAM,CAAA;AAsH3B,KAoBD,UAAA,GAAa,MAFvB,CAAA,OAEqC,iBAFrC,CAAA;AAAA,KAGU,kBAAA,GAAqB,OAH/B,CAGuC,UAHvC,EAAA;UAAA,EAAA,UAAA;;cAKW,iBAAe,qBAAA,CAAA,6BAAA;0CAAgC,qBAAA,CAAA;;;;;;KAChD,eAAA,GAAkB,cAAc"}
|
|
@@ -1,18 +1,146 @@
|
|
|
1
|
-
|
|
1
|
+
import { StringEnum } from "../utils/string-enum.js";
|
|
2
|
+
import { airtableOptions } from "./external/airtable/types.js";
|
|
3
|
+
import { googleSheetsOptions } from "./external/google/sheets/types.js";
|
|
4
|
+
import { notionOptions } from "./external/notion/types.js";
|
|
5
|
+
import { Type } from "@sinclair/typebox";
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
//#region src/shared/datarecords/types.ts
|
|
8
|
+
const connectorSchema = StringEnum([
|
|
9
|
+
"airtable",
|
|
10
|
+
"google-sheets",
|
|
11
|
+
"notion",
|
|
12
|
+
"internal"
|
|
13
|
+
]);
|
|
14
|
+
const internalDatarecord = Type.Object({
|
|
15
|
+
provider: Type.Literal("internal"),
|
|
16
|
+
schema: Type.Object({}, {
|
|
17
|
+
title: "Schema",
|
|
18
|
+
additionalProperties: true,
|
|
19
|
+
description: "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved in the database.",
|
|
20
|
+
examples: [{
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
firstname: {
|
|
24
|
+
type: "string",
|
|
25
|
+
title: "Firstname"
|
|
26
|
+
},
|
|
27
|
+
lastname: {
|
|
28
|
+
type: "string",
|
|
29
|
+
title: "Lastname"
|
|
30
|
+
},
|
|
31
|
+
email: {
|
|
32
|
+
type: "string",
|
|
33
|
+
format: "email",
|
|
34
|
+
title: "Email"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
required: ["email"],
|
|
38
|
+
title: "Newsletter Subscription"
|
|
39
|
+
}]
|
|
40
|
+
}),
|
|
41
|
+
indexes: Type.Array(Type.Object({
|
|
42
|
+
name: Type.String({ title: "Index name" }),
|
|
43
|
+
fields: Type.Array(Type.String(), { title: "Fields to index" }),
|
|
44
|
+
unique: Type.Optional(Type.Boolean({
|
|
45
|
+
title: "Unique index",
|
|
46
|
+
default: false
|
|
47
|
+
}))
|
|
48
|
+
}, { examples: [{
|
|
49
|
+
name: "unique_email_index",
|
|
50
|
+
fields: ["email"],
|
|
51
|
+
unique: true
|
|
52
|
+
}, {
|
|
53
|
+
name: "lastname_index",
|
|
54
|
+
fields: ["lastname"]
|
|
55
|
+
}] }), {
|
|
56
|
+
title: "Indexes",
|
|
57
|
+
description: "IMPORTANT: Indexes to create on the datarecord. use it to enforce uniqueness or improve query performance."
|
|
58
|
+
})
|
|
59
|
+
}, { examples: [{
|
|
60
|
+
provider: "internal",
|
|
61
|
+
schema: {
|
|
62
|
+
type: "object",
|
|
63
|
+
properties: {
|
|
64
|
+
firstname: {
|
|
65
|
+
type: "string",
|
|
66
|
+
title: "Firstname"
|
|
67
|
+
},
|
|
68
|
+
lastname: {
|
|
69
|
+
type: "string",
|
|
70
|
+
title: "Lastname"
|
|
71
|
+
},
|
|
72
|
+
email: {
|
|
73
|
+
type: "string",
|
|
74
|
+
format: "email",
|
|
75
|
+
title: "Email"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
required: ["email"],
|
|
79
|
+
title: "Newsletter Subscription"
|
|
80
|
+
},
|
|
81
|
+
indexes: [{
|
|
82
|
+
name: "email_index",
|
|
83
|
+
fields: ["email"],
|
|
84
|
+
unique: true
|
|
85
|
+
}]
|
|
86
|
+
}] });
|
|
87
|
+
const commonDatarecordSchema = Type.Object({ schema: Type.Object({}, {
|
|
88
|
+
additionalProperties: true,
|
|
89
|
+
title: "Schema",
|
|
90
|
+
description: "JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",
|
|
91
|
+
examples: [{
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: {
|
|
94
|
+
firstname: {
|
|
95
|
+
type: "string",
|
|
96
|
+
title: "Firstname"
|
|
97
|
+
},
|
|
98
|
+
lastname: {
|
|
99
|
+
type: "string",
|
|
100
|
+
title: "Lastname"
|
|
101
|
+
},
|
|
102
|
+
email: {
|
|
103
|
+
type: "string",
|
|
104
|
+
format: "email",
|
|
105
|
+
title: "Email"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
required: ["email"],
|
|
109
|
+
title: "Newsletter Subscription"
|
|
110
|
+
}]
|
|
111
|
+
}) });
|
|
112
|
+
const commonDatarecordMetadata = Type.Object({
|
|
113
|
+
id: Type.String({
|
|
114
|
+
title: "Datarecord ID",
|
|
115
|
+
comment: "A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'"
|
|
116
|
+
}),
|
|
117
|
+
label: Type.String({
|
|
118
|
+
title: "Name of the datarecord",
|
|
119
|
+
comment: "For example, 'Newsletter Subscriptions'"
|
|
120
|
+
}),
|
|
121
|
+
description: Type.Optional(Type.String({ title: "Description of the datarecord" }))
|
|
122
|
+
});
|
|
123
|
+
const genericDatarecord = Type.Composite([
|
|
124
|
+
Type.Union([
|
|
125
|
+
Type.Object({
|
|
126
|
+
provider: Type.Literal("airtable"),
|
|
127
|
+
options: airtableOptions
|
|
128
|
+
}),
|
|
129
|
+
Type.Object({
|
|
130
|
+
provider: Type.Literal("google-sheets"),
|
|
131
|
+
options: googleSheetsOptions
|
|
132
|
+
}),
|
|
133
|
+
Type.Object({
|
|
134
|
+
provider: Type.Literal("notion"),
|
|
135
|
+
options: notionOptions
|
|
136
|
+
}),
|
|
137
|
+
internalDatarecord
|
|
138
|
+
]),
|
|
139
|
+
commonDatarecordMetadata,
|
|
140
|
+
commonDatarecordSchema
|
|
141
|
+
]);
|
|
142
|
+
const datarecordsList = Type.Array(genericDatarecord);
|
|
143
|
+
|
|
144
|
+
//#endregion
|
|
145
|
+
export { connectorSchema, datarecordsList, genericDatarecord };
|
|
18
146
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/shared/datarecords/types.ts"],"sourcesContent":["import { type TSchema, Type, type Static } from \"@sinclair/typebox\";\nimport { airtableOptions } from \"./external/airtable/types\";\nimport { googleSheetsOptions } from \"./external/google/sheets/types\";\nimport { notionOptions } from \"./external/notion/types\";\nimport { StringEnum } from \"../utils/string-enum\";\n\nexport const connectorSchema = StringEnum([\"airtable\", \"google-sheets\", \"notion\", \"internal\"]);\n\nexport type DatarecordConnector = Static<typeof connectorSchema>;\n\nconst internalDatarecord = Type.Object(\n {\n provider: Type.Literal(\"internal\"),\n // options: Type.Optional(Type.Any()),\n schema: Type.Object(\n {},\n {\n title: \"Schema\",\n additionalProperties: true,\n description:\n \"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved in the database.\",\n examples: [\n {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n ],\n },\n ),\n indexes: Type.Array(\n Type.Object(\n {\n name: Type.String({ title: \"Index name\" }),\n fields: Type.Array(Type.String(), { title: \"Fields to index\" }),\n unique: Type.Optional(Type.Boolean({ title: \"Unique index\", default: false })),\n },\n {\n examples: [\n {\n name: \"unique_email_index\",\n fields: [\"email\"],\n unique: true,\n },\n {\n name: \"lastname_index\",\n fields: [\"lastname\"],\n },\n ],\n },\n ),\n {\n title: \"Indexes\",\n description:\n \"IMPORTANT: Indexes to create on the datarecord. use it to enforce uniqueness or improve query performance.\",\n },\n ),\n },\n {\n examples: [\n {\n provider: \"internal\",\n schema: {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n indexes: [\n {\n name: \"email_index\",\n fields: [\"email\"],\n unique: true,\n },\n ],\n },\n ],\n },\n);\n\n// Schema commun à tous les datarecords\nconst commonDatarecordSchema = Type.Object({\n schema: Type.Object(\n {},\n {\n additionalProperties: true,\n title: \"Schema\",\n description:\n \"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.\",\n examples: [\n {\n type: \"object\",\n properties: {\n firstname: { type: \"string\", title: \"Firstname\" },\n lastname: { type: \"string\", title: \"Lastname\" },\n email: { type: \"string\", format: \"email\", title: \"Email\" },\n },\n required: [\"email\"],\n title: \"Newsletter Subscription\",\n },\n ],\n },\n ),\n});\n\nconst commonDatarecordMetadata = Type.Object({\n id: Type.String({\n title: \"Datarecord ID\",\n comment: \"A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'\",\n }),\n label: Type.String({\n title: \"Name of the datarecord\",\n comment: \"For example, 'Newsletter Subscriptions'\",\n }),\n description: Type.Optional(Type.String({ title: \"Description of the datarecord\" })),\n});\n\nexport const genericDatarecord = Type.Composite([\n Type.Union([\n Type.Object({\n provider: Type.Literal(\"airtable\"),\n options: airtableOptions,\n }),\n Type.Object({\n provider: Type.Literal(\"google-sheets\"),\n options: googleSheetsOptions,\n }),\n Type.Object({\n provider: Type.Literal(\"notion\"),\n options: notionOptions,\n }),\n internalDatarecord,\n ]),\n commonDatarecordMetadata,\n commonDatarecordSchema,\n]);\n\nexport type Datarecord = Static<typeof genericDatarecord>;\nexport type InternalDatarecord = Extract<Datarecord, { provider: \"internal\" }>;\n\nexport const datarecordsList = Type.Array(genericDatarecord);\nexport type DatarecordsList = Static<typeof datarecordsList>;\n"],"mappings":";;;;;;;AAMA,MAAa,kBAAkB,WAAW;CAAC;CAAY;CAAiB;CAAU;CAAW,CAAC;AAI9F,MAAM,qBAAqB,KAAK,OAC9B;CACE,UAAU,KAAK,QAAQ,WAAW;CAElC,QAAQ,KAAK,OACX,EAAE,EACF;EACE,OAAO;EACP,sBAAsB;EACtB,aACE;EACF,UAAU,CACR;GACE,MAAM;GACN,YAAY;IACV,WAAW;KAAE,MAAM;KAAU,OAAO;KAAa;IACjD,UAAU;KAAE,MAAM;KAAU,OAAO;KAAY;IAC/C,OAAO;KAAE,MAAM;KAAU,QAAQ;KAAS,OAAO;KAAS;IAC3D;GACD,UAAU,CAAC,QAAQ;GACnB,OAAO;GACR,CACF;EACF,CACF;CACD,SAAS,KAAK,MACZ,KAAK,OACH;EACE,MAAM,KAAK,OAAO,EAAE,OAAO,cAAc,CAAC;EAC1C,QAAQ,KAAK,MAAM,KAAK,QAAQ,EAAE,EAAE,OAAO,mBAAmB,CAAC;EAC/D,QAAQ,KAAK,SAAS,KAAK,QAAQ;GAAE,OAAO;GAAgB,SAAS;GAAO,CAAC,CAAC;EAC/E,EACD,EACE,UAAU,CACR;EACE,MAAM;EACN,QAAQ,CAAC,QAAQ;EACjB,QAAQ;EACT,EACD;EACE,MAAM;EACN,QAAQ,CAAC,WAAW;EACrB,CACF,EACF,CACF,EACD;EACE,OAAO;EACP,aACE;EACH,CACF;CACF,EACD,EACE,UAAU,CACR;CACE,UAAU;CACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,WAAW;IAAE,MAAM;IAAU,OAAO;IAAa;GACjD,UAAU;IAAE,MAAM;IAAU,OAAO;IAAY;GAC/C,OAAO;IAAE,MAAM;IAAU,QAAQ;IAAS,OAAO;IAAS;GAC3D;EACD,UAAU,CAAC,QAAQ;EACnB,OAAO;EACR;CACD,SAAS,CACP;EACE,MAAM;EACN,QAAQ,CAAC,QAAQ;EACjB,QAAQ;EACT,CACF;CACF,CACF,EACF,CACF;AAGD,MAAM,yBAAyB,KAAK,OAAO,EACzC,QAAQ,KAAK,OACX,EAAE,EACF;CACE,sBAAsB;CACtB,OAAO;CACP,aACE;CACF,UAAU,CACR;EACE,MAAM;EACN,YAAY;GACV,WAAW;IAAE,MAAM;IAAU,OAAO;IAAa;GACjD,UAAU;IAAE,MAAM;IAAU,OAAO;IAAY;GAC/C,OAAO;IAAE,MAAM;IAAU,QAAQ;IAAS,OAAO;IAAS;GAC3D;EACD,UAAU,CAAC,QAAQ;EACnB,OAAO;EACR,CACF;CACF,CACF,EACF,CAAC;AAEF,MAAM,2BAA2B,KAAK,OAAO;CAC3C,IAAI,KAAK,OAAO;EACd,OAAO;EACP,SAAS;EACV,CAAC;CACF,OAAO,KAAK,OAAO;EACjB,OAAO;EACP,SAAS;EACV,CAAC;CACF,aAAa,KAAK,SAAS,KAAK,OAAO,EAAE,OAAO,iCAAiC,CAAC,CAAC;CACpF,CAAC;AAEF,MAAa,oBAAoB,KAAK,UAAU;CAC9C,KAAK,MAAM;EACT,KAAK,OAAO;GACV,UAAU,KAAK,QAAQ,WAAW;GAClC,SAAS;GACV,CAAC;EACF,KAAK,OAAO;GACV,UAAU,KAAK,QAAQ,gBAAgB;GACvC,SAAS;GACV,CAAC;EACF,KAAK,OAAO;GACV,UAAU,KAAK,QAAQ,SAAS;GAChC,SAAS;GACV,CAAC;EACF;EACD,CAAC;CACF;CACA;CACD,CAAC;AAKF,MAAa,kBAAkB,KAAK,MAAM,kBAAkB"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { Datarecord } from "./datarecords/types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/datarecords.d.ts
|
|
4
|
+
declare function defineDataRecord<T extends Datarecord>(datarecord: T): T;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { defineDataRecord };
|
|
3
7
|
//# sourceMappingURL=datarecords.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datarecords.d.ts","
|
|
1
|
+
{"version":3,"file":"datarecords.d.ts","names":[],"sources":["../../src/shared/datarecords.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,2BAA2B,wBAAwB,IAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import "./chunk-ZGQ3AQBG.js";
|
|
4
|
-
|
|
5
|
-
// src/shared/datarecords.ts
|
|
1
|
+
//#region src/shared/datarecords.ts
|
|
6
2
|
function defineDataRecord(datarecord) {
|
|
7
|
-
|
|
3
|
+
return datarecord;
|
|
8
4
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { defineDataRecord };
|
|
12
8
|
//# sourceMappingURL=datarecords.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/datarecords.ts"],"sourcesContent":["import type { Datarecord } from \"./datarecords/types\";\n\nexport function defineDataRecord<T extends Datarecord>(datarecord: T) {\n return datarecord;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"datarecords.js","names":[],"sources":["../../src/shared/datarecords.ts"],"sourcesContent":["import type { Datarecord } from \"./datarecords/types\";\n\nexport function defineDataRecord<T extends Datarecord>(datarecord: T) {\n return datarecord;\n}\n"],"mappings":";AAEA,SAAgB,iBAAuC,YAAe;AACpE,QAAO"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { FacebookPostSchema } from "./schema.js";
|
|
2
|
+
import { MetaFullOAuthConfig } from "../../meta/oauth/config.js";
|
|
3
|
+
import { MetaOptions } from "../../meta/options.js";
|
|
4
|
+
import { DatasourceFetcher } from "../../../fetcher.js";
|
|
5
|
+
|
|
6
|
+
//#region src/shared/datasources/external/facebook/posts/fetcher.d.ts
|
|
5
7
|
declare const fetchFacebookPostDatasource: DatasourceFetcher<FacebookPostSchema, MetaFullOAuthConfig, MetaOptions>;
|
|
6
|
-
|
|
8
|
+
//#endregion
|
|
9
|
+
export { fetchFacebookPostDatasource as default };
|
|
7
10
|
//# sourceMappingURL=fetcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","names":[],"sources":["../../../../../../src/shared/datasources/external/facebook/posts/fetcher.ts"],"sourcesContent":[],"mappings":";;;;;;cAOM,6BAA6B,kBACjC,oBACA,qBACA"}
|