@upstart.gg/sdk 0.0.128 → 0.0.130

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 (41) hide show
  1. package/dist/shared/bricks/props/helpers.d.ts +1 -1
  2. package/dist/shared/bricks/props/helpers.d.ts.map +1 -1
  3. package/dist/shared/chunk-L6WHBSRZ.js +8 -0
  4. package/dist/shared/{chunk-6K3KZDFC.js → chunk-UAQHU6L6.js} +1 -1
  5. package/dist/shared/{chunk-VTBI7WX3.js → chunk-YFFTZ5T6.js} +1 -1
  6. package/dist/shared/context.d.ts +5 -6
  7. package/dist/shared/context.d.ts.map +1 -1
  8. package/dist/shared/datarecords/external/airtable/client.d.ts +8 -0
  9. package/dist/shared/datarecords/external/airtable/client.d.ts.map +1 -0
  10. package/dist/shared/datarecords/external/airtable/handler.d.ts +6 -6
  11. package/dist/shared/datarecords/external/airtable/handler.d.ts.map +1 -1
  12. package/dist/shared/datarecords/external/airtable/handler.js +3 -0
  13. package/dist/shared/datarecords/external/airtable/options.d.ts.map +1 -1
  14. package/dist/shared/datarecords/external/airtable/types.d.ts +15 -0
  15. package/dist/shared/datarecords/external/airtable/types.d.ts.map +1 -0
  16. package/dist/shared/datarecords/external/google/sheets/client.d.ts +14 -0
  17. package/dist/shared/datarecords/external/google/sheets/client.d.ts.map +1 -0
  18. package/dist/shared/datarecords/external/google/sheets/handler.d.ts +4 -6
  19. package/dist/shared/datarecords/external/google/sheets/handler.d.ts.map +1 -1
  20. package/dist/shared/datarecords/external/google/sheets/handler.js +6 -0
  21. package/dist/shared/datarecords/external/notion/client.d.ts +8 -0
  22. package/dist/shared/datarecords/external/notion/client.d.ts.map +1 -0
  23. package/dist/shared/datarecords/external/notion/handler.d.ts +9 -0
  24. package/dist/shared/datarecords/external/notion/handler.d.ts.map +1 -0
  25. package/dist/shared/datarecords/external/notion/handler.js +3 -0
  26. package/dist/shared/datarecords/external/notion/utils.d.ts +5 -0
  27. package/dist/shared/datarecords/external/notion/utils.d.ts.map +1 -0
  28. package/dist/shared/datarecords/types.d.ts +147 -0
  29. package/dist/shared/datarecords/types.d.ts.map +1 -1
  30. package/dist/shared/datarecords/types.js +1 -1
  31. package/dist/shared/page.d.ts +12 -38
  32. package/dist/shared/page.d.ts.map +1 -1
  33. package/dist/shared/page.js +1 -1
  34. package/dist/shared/site.d.ts +113 -16
  35. package/dist/shared/site.d.ts.map +1 -1
  36. package/dist/shared/site.js +1 -1
  37. package/dist/shared/sitemap.d.ts +170 -14
  38. package/dist/shared/sitemap.d.ts.map +1 -1
  39. package/dist/shared/sitemap.js +1 -1
  40. package/package.json +4 -3
  41. package/dist/shared/chunk-C2S243PB.js +0 -8
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { type TProperties, type TSchema, type TObject, type ObjectOptions } from "@sinclair/typebox";
5
5
  import type { PartialBy, PropGroup, GroupMetadata } from "./types";
6
- export declare function group<T extends TProperties>({ title, children, category, metadata, options, }: PartialBy<PropGroup<T>, "category">): TObject<T> | TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").TSetDistinct<[...import("@sinclair/typebox").UnionToTuple<keyof T, [], import("@sinclair/typebox").UnionLast<keyof T>>], []> extends infer T_1 ? T_1 extends import("@sinclair/typebox").TSetDistinct<[...import("@sinclair/typebox").UnionToTuple<keyof T, [], import("@sinclair/typebox").UnionLast<keyof T>>], []> ? T_1 extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? /*elided*/ any : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_5 ? T_5 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_5 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_6 ? T_6 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_6 extends import("@sinclair/typebox").TNever ? [] : [T_6] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_7 ? T_7 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_7 extends import("@sinclair/typebox").TNever ? [T_5] : [T_5, T_7] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_8 ? T_8 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_8 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_9 ? T_9 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_9 extends import("@sinclair/typebox").TNever ? [] : [T_9] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_10 ? T_10 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_10 extends import("@sinclair/typebox").TNever ? [T_8] : [T_8, T_10] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_11 ? T_11 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_11 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_12 ? T_12 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_12 extends import("@sinclair/typebox").TNever ? [] : [T_12] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_13 ? T_13 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_13 extends import("@sinclair/typebox").TNever ? [T_11] : [T_11, T_13] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_14 ? T_14 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_14 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_15 ? T_15 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_15 extends import("@sinclair/typebox").TNever ? [] : [T_15] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_16 ? T_16 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_16 extends import("@sinclair/typebox").TNever ? [T_14] : [T_14, T_16] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_17 ? T_17 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_17 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_18 ? T_18 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_18 extends import("@sinclair/typebox").TNever ? [] : [T_18] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_19 ? T_19 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_19 extends import("@sinclair/typebox").TNever ? [T_17] : [T_17, T_19] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_20 ? T_20 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_20 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_21 ? T_21 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_21 extends import("@sinclair/typebox").TNever ? [] : [T_21] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_22 ? T_22 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_22 extends import("@sinclair/typebox").TNever ? [T_20] : [T_20, T_22] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_23 ? T_23 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_23 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_24 ? T_24 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_24 extends import("@sinclair/typebox").TNever ? [] : [T_24] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_25 ? T_25 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_25 extends import("@sinclair/typebox").TNever ? [T_23] : [T_23, T_25] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_26 ? T_26 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_26 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_27 ? T_27 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_27 extends import("@sinclair/typebox").TNever ? [] : [T_27] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_28 ? T_28 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_28 extends import("@sinclair/typebox").TNever ? [T_26] : [T_26, T_28] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_29 ? T_29 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_29 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_30 ? T_30 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_30 extends import("@sinclair/typebox").TNever ? [] : [T_30] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_31 ? T_31 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_31 extends import("@sinclair/typebox").TNever ? [T_29] : [T_29, T_31] : never : never : never : never>; } : {} : never : never>>;
6
+ export declare function group<T extends TProperties>({ title, children, category, metadata, options, }: PartialBy<PropGroup<T>, "category">): TObject<T> | TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").TSetDistinct<[...import("@sinclair/typebox").UnionToTuple<keyof T, [], import("@sinclair/typebox").UnionLast<keyof T>>], []> extends infer T_1 ? T_1 extends import("@sinclair/typebox").TSetDistinct<[...import("@sinclair/typebox").UnionToTuple<keyof T, [], import("@sinclair/typebox").UnionLast<keyof T>>], []> ? T_1 extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? R extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? /*elided*/ any : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : { [_ in L]: import("@sinclair/typebox").TIntersectEvaluated<import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_2 ? T_2 extends import("@sinclair/typebox").Assert<L extends never ? {}[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends never ? {}[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_2 extends import("@sinclair/typebox").TNever ? import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_3 ? T_3 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_3 extends import("@sinclair/typebox").TNever ? [] : [T_3] : never : never : import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> extends infer T_4 ? T_4 extends import("@sinclair/typebox").Assert<L extends keyof T ? T[L] : `${import("@sinclair/typebox").Assert<L, string | number>}` extends `${import("@sinclair/typebox").Assert<keyof T, string | number>}` ? T[import("@sinclair/typebox").Assert<L, string | number>] : import("@sinclair/typebox").TNever, TSchema> ? T_4 extends import("@sinclair/typebox").TNever ? [T_2] : [T_2, T_4] : never : never : never : never>; } : {} : never : never>>;
7
7
  export declare function getGroupInfo(schema: TSchema): {
8
8
  title: string | undefined;
9
9
  meta: GroupMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/props/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,WAAW,EAAQ,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMnE,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,EAC3C,KAAK,EACL,QAAQ,EACR,QAAqB,EACrB,QAAQ,EACR,OAAO,GACR,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,8xrBAyBrC;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO;WAGW,MAAM,GAAG,SAAS;;;EAIxE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,aAAa,GAAG;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;;;;;;;;OAUF;AAGD,eAAO,MAAM,KAAK,qIAAa,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/shared/bricks/props/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,WAAW,EAAQ,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMnE,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,EAC3C,KAAK,EACL,QAAQ,EACR,QAAqB,EACrB,QAAQ,EACR,OAAO,GACR,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,+rrBAyBrC;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO;WAGW,MAAM,GAAG,SAAS;;;EAIxE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,aAAa,GAAG;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;;;;;;;;OAUF;AAGD,eAAO,MAAM,KAAK,qIAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{a as i}from"./chunk-YFFTZ5T6.js";import{a as t}from"./chunk-SFKZAUPW.js";import{Type as e}from"@sinclair/typebox";var a=e.Pick(i,["id","label","path","attributes"]),p=e.Array(e.Object({id:e.String({title:"Section ID (slug format)"}),name:e.String({title:"Section name"}),description:e.String({title:"A long description of the section",description:`You must elaborate a clear and detailled plan that describes:
4
+ - The section purpose in the page, in detail.
5
+ - The section structure, look & feel, and structural/design organization, in detail
6
+ - the types of bricks (e.g. "container", "text", "video", "carousel", etc) that will be used and their purpose, in detail
7
+
8
+ IMPORTANT: be very descriptive and precise in your plan. The more details you provide, the better the generated page will be.`})},{additionalProperties:!1}),{title:"Sections plan",description:"A plan for the sections of the page. Used to generate the page content."}),o=e.Composite([a,e.Object({status:e.Optional(t(["draft","published"],{title:"Page status",enumNames:["Draft","Published"],description:"The status of the page. Can be draft or published. [AI instructions: Dont generate this.]","ai:instructions":"Do not generate this."}))})],{description:"Pages map. The complete list of site pages & their metadata",additionalProperties:!1}),c=e.Array(o);export{a,p as b,o as c,c as d};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as t}from"@sinclair/typebox";import{Type as e}from"@sinclair/typebox";var n=e.Object({externalUrl:e.Optional(e.String()),baseId:e.String({pattern:"^app[A-Za-z0-9]+$",description:'Airtable Base ID starting with "app"'}),baseName:e.Optional(e.String({description:"Airtable Base Name"})),tableId:e.String({pattern:"^tbl[A-Za-z0-9]+$",description:'Airtable Table ID starting with "tbl"'}),tableName:e.Optional(e.String({description:"Table name as shown in Airtable interface"}))});import{Type as r}from"@sinclair/typebox";var s=r.Object({url:r.String({format:"uri",title:"Webhook URL"}),headers:r.Optional(r.Record(r.String(),r.String(),{title:"Headers",description:"Additional headers to include in the webhook request"}))});import{Type as i}from"@sinclair/typebox";var p=i.Object({spreadsheetId:i.String(),spreadsheetUrl:i.Optional(i.String()),spreadsheetName:i.Optional(i.String()),externalUrl:i.Optional(i.String())});import{Type as o}from"@sinclair/typebox";var l=o.Object({url:o.Optional(o.String()),id:o.String({pattern:"^[A-Za-z0-9\\-]+$",description:"Notion Database ID"}),name:o.String({description:"Notion Database Name"}),properties:o.Any()});var D=t.Union([t.Literal("airtable"),t.Literal("google-sheets"),t.Literal("notion"),t.Literal("generic-webhook"),t.Literal("internal")]),c=t.Object({provider:t.Literal("internal"),schema:t.Any({title:"Schema",description:"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",examples:[{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"}]}),indexes:t.Array(t.Object({name:t.String({title:"Index name"}),fields:t.Array(t.String(),{title:"Fields to index"}),unique:t.Optional(t.Boolean({title:"Unique index",default:!1}))}),{title:"Indexes",description:"IMPORTANT: Indexes to create on the datarecord. use it to enforce uniqueness or improve query performance."})},{examples:[{provider:"internal",schema:{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"},indexes:[{name:"email_index",fields:["email"],unique:!0}]}]}),a=t.Object({schema:t.Any({title:"Schema",description:"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",examples:[{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"}]})}),d=t.Union([t.Composite([t.Object({provider:t.Literal("airtable"),options:n}),a]),t.Composite([t.Object({provider:t.Literal("google-sheets"),options:p}),a]),t.Composite([t.Object({provider:t.Literal("notion"),options:l}),a]),t.Composite([t.Object({provider:t.Literal("generic-webhook"),options:s}),a]),c]),m=t.Object({id:t.String({title:"Datarecord ID",comment:"A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'"}),label:t.String({title:"Name of the datarecord",comment:"For example, 'Newsletter Subscriptions'"}),description:t.Optional(t.String({title:"Description of the datarecord"}))}),b=t.Composite([d,m]),I=t.Composite([m,c]),q=t.Array(b);export{D as a,d as b,I as c,q as d};
3
+ import{Type as t}from"@sinclair/typebox";import{Type as e}from"@sinclair/typebox";var n=e.Object({externalUrl:e.Optional(e.String()),baseId:e.String({pattern:"^app[A-Za-z0-9]+$",description:'Airtable Base ID starting with "app"'}),baseName:e.Optional(e.String({description:"Airtable Base Name"})),tableId:e.String({pattern:"^tbl[A-Za-z0-9]+$",description:'Airtable Table ID starting with "tbl"'}),tableName:e.Optional(e.String({description:"Table name as shown in Airtable interface"}))});import{Type as i}from"@sinclair/typebox";var p=i.Object({url:i.String({format:"uri",title:"Webhook URL"}),headers:i.Optional(i.Record(i.String(),i.String(),{title:"Headers",description:"Additional headers to include in the webhook request"}))});import{Type as r}from"@sinclair/typebox";var s=r.Object({spreadsheetId:r.String(),spreadsheetUrl:r.Optional(r.String()),spreadsheetName:r.Optional(r.String()),externalUrl:r.Optional(r.String())});import{Type as o}from"@sinclair/typebox";var l=o.Object({url:o.Optional(o.String()),id:o.String({pattern:"^[A-Za-z0-9\\-]+$",description:"Notion Database ID"}),name:o.String({description:"Notion Database Name"}),properties:o.Any()});var U=t.Union([t.Literal("airtable"),t.Literal("google-sheets"),t.Literal("notion"),t.Literal("generic-webhook"),t.Literal("internal")]),c=t.Object({provider:t.Literal("internal"),schema:t.Any({title:"Schema",description:"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",examples:[{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"}]}),indexes:t.Array(t.Object({name:t.String({title:"Index name"}),fields:t.Array(t.String(),{title:"Fields to index"}),unique:t.Optional(t.Boolean({title:"Unique index",default:!1}))}),{title:"Indexes",description:"IMPORTANT: Indexes to create on the datarecord. use it to enforce uniqueness or improve query performance."})},{examples:[{provider:"internal",schema:{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"},indexes:[{name:"email_index",fields:["email"],unique:!0}]}]}),a=t.Object({schema:t.Any({title:"Schema",description:"JSON Schema of the datarecord. Always of type 'object' and representing a row that will be saved.",examples:[{type:"object",properties:{firstname:{type:"string",title:"Firstname"},lastname:{type:"string",title:"Lastname"},email:{type:"string",format:"email",title:"Email"}},required:["email"],title:"Newsletter Subscription"}]})}),d=t.Union([t.Composite([t.Object({provider:t.Literal("airtable"),options:n}),a]),t.Composite([t.Object({provider:t.Literal("google-sheets"),options:s}),a]),t.Composite([t.Object({provider:t.Literal("notion"),options:l}),a]),t.Composite([t.Object({provider:t.Literal("generic-webhook"),options:p}),a]),c]),m=t.Object({id:t.String({title:"Datarecord ID",comment:"A unique identifier for the datarecord, e.g., 'newsletter_subscriptions'"}),label:t.String({title:"Name of the datarecord",comment:"For example, 'Newsletter Subscriptions'"}),description:t.Optional(t.String({title:"Description of the datarecord"}))}),b=t.Composite([d,m]),k=t.Composite([m,c]),C=t.Array(b),y=t.Object({id:t.String(),name:t.String(),data:t.Any(),base:t.Optional(t.Object({id:t.String(),name:t.String(),data:t.Any()}))}),M=t.Array(y),S=t.Object({type:t.Literal("string"),title:t.String({description:"String field. May be single-line or multi-line, enum, email or url"}),format:t.Optional(t.Union([t.Literal("email"),t.Literal("url"),t.Literal("date"),t.Literal("date-time")])),"ui:placeholder":t.Optional(t.String()),minLength:t.Optional(t.Number()),maxLength:t.Optional(t.Number()),enum:t.Optional(t.Array(t.String(),{minItems:1})),metadata:t.Optional(t.Object({order:t.Optional(t.Number()),"ui:multiline":t.Literal(!0)}))}),g=t.Object({type:t.Literal("boolean"),title:t.String(),metadata:t.Optional(t.Object({order:t.Optional(t.Number())}))}),O=t.Object({type:t.Literal("number"),title:t.String(),min:t.Optional(t.Number()),max:t.Optional(t.Number()),default:t.Optional(t.Number()),metadata:t.Optional(t.Object({order:t.Optional(t.Number())}))}),h=t.Union([S,g,O]),f=t.Record(t.String(),h),F=t.Object({id:t.Optional(t.String()),type:t.Literal("object"),properties:f,required:t.Optional(t.Array(t.String()))});export{U as a,d as b,k as c,C as d,y as e,M as f,S as g,g as h,O as i,h as j,f as k,F as l};
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a as t}from"./chunk-EYPREFMH.js";import{e as a}from"./chunk-NLEWXPVM.js";import{Type as e}from"@sinclair/typebox";var s=e.Object({id:e.String({description:"The unique ID of the page. Use a human readable url-safe slug"}),label:e.String({description:"The label (name) of the page"}),path:e.String({description:"The path of the page in the URL. Should be unique"}),sections:e.Array(a,{description:"The sections of the page. See the Section schema"}),tags:e.Array(e.String(),{description:"The tags of the page, used for organizating and filtering pages"}),attributes:t});export{s as a};
3
+ import{a as t}from"./chunk-EYPREFMH.js";import{e as a}from"./chunk-NLEWXPVM.js";import{Type as e}from"@sinclair/typebox";var n=e.Object({id:e.String({description:"The unique ID of the page. Use a human readable url-safe slug"}),label:e.String({description:"The label (name) of the page"}),path:e.String({description:"The path of the page in the URL. Should be unique"}),sections:e.Array(a,{description:"The sections of the page. See the Section schema"}),attributes:t});export{n as a};
@@ -1,11 +1,10 @@
1
- import type { GenericPageConfig } from "./page";
1
+ import type { VersionedPage } from "./page";
2
2
  import type { Site } from "./site";
3
3
  import type { Sitemap } from "./sitemap";
4
4
  export type GenerationState = {
5
5
  isReady: boolean;
6
6
  hasSitemap: boolean;
7
7
  hasThemesGenerated: boolean;
8
- pages: GenericPageConfig[];
9
8
  sitemap: Sitemap;
10
9
  };
11
10
  export type CallContextProps = {
@@ -14,13 +13,13 @@ export type CallContextProps = {
14
13
  */
15
14
  site: Site;
16
15
  /**
17
- * All pages in the site.
16
+ * Sitemap
18
17
  */
19
- pages: GenericPageConfig[];
18
+ sitemap: Sitemap;
20
19
  /**
21
- * Current page ID. Undefined if flow is "setup" and no paage has been created yet.
20
+ * Current page. Undefined if flow is "setup" and no page has been created yet.
22
21
  */
23
- currentPageId?: string;
22
+ page?: VersionedPage;
24
23
  /**
25
24
  * When generating a new site, the flow should be "setup".
26
25
  * Otherwise, it should be "edit".
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/shared/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/shared/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export default function getClient(token: string): {
2
+ callApi<R, P extends Record<string, unknown> = Record<string, unknown>>(path: string, method?: "GET" | "POST" | "DELETE" | "PUT" | "PATCH", body?: P | null): Promise<{
3
+ status: number;
4
+ success: boolean;
5
+ data: R;
6
+ }>;
7
+ };
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/client.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,MAAM;YAM7B,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kCAC1C,MAAM,WACJ,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,SAC7C,CAAC,GAAG,IAAI;;;cA8BoB,CAAC;;EAsBxC"}
@@ -1,8 +1,8 @@
1
+ import type { Schema } from "../../types";
1
2
  import type { AirtableOptions } from "./options";
2
- /**
3
- * WARNING: not tested yet!!
4
- *
5
- * @todo test this function in a real environment
6
- */
7
- export default function airtableHandler(formData: FormData, options: AirtableOptions, accessToken: string): Promise<boolean>;
3
+ import type { CreateAirtableTableResponse } from "./types";
4
+ export declare function saveRecord(formData: FormData, options: AirtableOptions, accessToken: string): Promise<{
5
+ id: string;
6
+ } | null>;
7
+ export declare function createTable(name: string, schema: Schema, baseId: string, accessToken: string): Promise<CreateAirtableTableResponse | null>;
8
8
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;GAIG;AACH,wBAA8B,eAAe,CAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,oBAcpB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA6BhC;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CA8F7C"}
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ var m=a=>new Promise(i=>setTimeout(i,a));function c(a){if(!a)throw new Error("Missing Airtable API token");return{async callApi(i,l="GET",s=null){let o=`https://api.airtable.com/${i}`,e=5,n=3e4;for(let t=1;t<=e;t++)try{let r=await fetch(o,{method:l,headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:s?JSON.stringify(s):void 0});if(r.status===429&&t<e){console.warn(`Airtable rate limit hit (429) on attempt ${t}/${e}. Waiting ${n/1e3}s before retry...`),await m(n);continue}return{status:r.status,success:r.ok,data:await r.json()}}catch(r){if(t<e){console.warn(`Network error on attempt ${t}/${e}. Waiting ${n/1e3}s before retry...`,r),await m(n);continue}throw console.error(`Error on attempt ${t}/${e}:`,r),r}throw new Error(`Airtable API rate limit exceeded after ${e} attempts`)}}}async function y(a,i,l){try{let s=c(l),o={};for(let[n,t]of a.entries())o[n]=t;let e=await s.callApi(`v0/${i.baseId}/${i.tableId}`,"POST",{records:[{fields:o}]});if(!e.success)throw new Error(`Failed to push data to Airtable: ${e.status} - ${JSON.stringify(e.data)}`);return e.data.records[0]?{id:e.data.records[0].id}:null}catch(s){console.error("Error pushing data to Airtable:",s)}return null}async function d(a,i,l,s){let o=Object.entries(i.properties).map(([n,t])=>{if(t.type==="string")return t.format==="email"?{name:t.title,type:"email"}:t.format==="url"?{name:t.title,type:"url"}:t.format==="date"?{name:t.title,type:"date"}:t.format==="date-time"?{name:t.title,type:"dateTime"}:t.metadata?.["ui:multiline"]?{name:t.title,type:"multilineText"}:t.enum?{name:t.title,type:"singleSelect",options:t.enum.map(r=>({id:r,name:r}))}:{name:t.title,type:"singleLineText"};if(t.type==="boolean")return{name:t.title,type:"checkbox"};if(t.type==="number")return{name:t.title,type:"number"}}),e={name:a,description:`Table created by Upstart for ${a}`,fields:o};try{let t=await c(s).callApi(`v0/meta/bases/${l}/tables`,"POST",e);if(!t.success)throw new Error(`Failed to create Airtable table: ${t.status} - ${JSON.stringify(t.data)}`);return t.data}catch(n){console.error("Error creating Airtable table:",n)}return null}export{d as createTable,y as saveRecord};
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;EAoB1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;EAgB1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type Static } from "@sinclair/typebox";
2
+ declare const createAirtableTableResponseSchema: import("@sinclair/typebox").TObject<{
3
+ id: import("@sinclair/typebox").TString;
4
+ name: import("@sinclair/typebox").TString;
5
+ description: import("@sinclair/typebox").TString;
6
+ primaryFieldId: import("@sinclair/typebox").TString;
7
+ fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
8
+ id: import("@sinclair/typebox").TString;
9
+ name: import("@sinclair/typebox").TString;
10
+ type: import("@sinclair/typebox").TString;
11
+ }>>;
12
+ }>;
13
+ export type CreateAirtableTableResponse = Static<typeof createAirtableTableResponseSchema>;
14
+ export {};
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/airtable/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,iCAAiC;;;;;;;;;;EAYrC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface ApiResponse<T> {
2
+ success: boolean;
3
+ data: T;
4
+ status: number;
5
+ headers: Headers;
6
+ }
7
+ declare class GoogleDriveClient {
8
+ private accessToken;
9
+ constructor(accessToken: string);
10
+ callDriveApi<T>(endpoint: string, method?: "GET" | "POST" | "PUT" | "PATCH", body?: unknown): Promise<ApiResponse<T>>;
11
+ }
12
+ export default function getClient(accessToken: string): GoogleDriveClient;
13
+ export {};
14
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/datarecords/external/google/sheets/client.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,cAAM,iBAAiB;IACrB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAIzB,YAAY,CAAC,CAAC,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAe,EAChD,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAyF3B;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAExE"}
@@ -1,8 +1,6 @@
1
+ import type { TablesList } from "../../../types";
1
2
  import type { GoogleSheetsOptions } from "./options";
2
- /**
3
- * WARNING: not tested yet!!
4
- *
5
- * @todo test this function in a real environment
6
- */
7
- export default function googleSheetsHandler(formData: FormData, options: GoogleSheetsOptions, accessToken: string): Promise<boolean>;
3
+ export declare function saveRecord(formData: FormData, options: GoogleSheetsOptions, accessToken: string): Promise<boolean>;
4
+ export declare function getSchema(accessToken: string, options: GoogleSheetsOptions): Promise<Record<string, unknown> | null>;
5
+ export declare function listTables(accessToken: string): Promise<TablesList>;
8
6
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/datarecords/external/google/sheets/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD;;;;GAIG;AACH,wBAA8B,mBAAmB,CAC/C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,oBAepB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/datarecords/external/google/sheets/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAiBzC;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CzE"}
@@ -0,0 +1,6 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ var h=class{accessToken;constructor(s){this.accessToken=s}async callDriveApi(s,o="GET",t){let r=t instanceof ArrayBuffer||t instanceof Uint8Array,u={Authorization:`Bearer ${this.accessToken}`};r?u["Content-Type"]="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":u["Content-Type"]="application/json";let e=await fetch(s,{method:o,headers:u,body:r?t:t?JSON.stringify(t):void 0});if(s.includes("export")&&s.includes("mimeType=text/csv")){let i=await e.text();return{success:e.ok,data:i,status:e.status,headers:e.headers}}if(s.includes("export")&&s.includes("mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")){let i=await e.arrayBuffer();return{success:e.ok,data:i,status:e.status,headers:e.headers}}if(s.includes("upload/")&&e.ok)try{let i=await e.json();return{success:e.ok,data:i,status:e.status,headers:e.headers}}catch{return{success:!0,data:{message:"Upload successful"},status:e.status,headers:e.headers}}if(!e.ok&&e.headers.get("content-type")?.includes("text/html"))return{success:!1,data:{error:"HTML error response",details:(await e.text()).substring(0,200)},status:e.status,headers:e.headers};let c=await e.json();return{success:e.ok,data:c,status:e.status,headers:e.headers}}};function p(n){return new h(n)}async function x(n,s,o){try{if(!o)throw new Error("Access token is required");if(!s.spreadsheetId)throw new Error("Spreadsheet ID is required");let t=p(o),r=await t.callDriveApi(`https://www.googleapis.com/drive/v3/files/${s.spreadsheetId}/export?mimeType=text/csv`,"GET");if(!r.success)throw new Error(`Failed to download spreadsheet: ${r.status}`);let e=r.data.trim().split(`
4
+ `),c={};for(let[l,a]of n.entries())c[l]=a;let i=Object.keys(c),d=[];e.length===0||e[0].trim()===""?d.push(i.join(",")):d=[...e];let g=[i.map(l=>{let a=c[l]?.toString()||"";return a.includes(",")||a.includes('"')||a.includes(`
5
+ `)?`"${a.replace(/"/g,'""')}"`:a}).join(",")];d.push(...g);let w=d.join(`
6
+ `),m=await t.callDriveApi(`https://www.googleapis.com/upload/drive/v3/files/${s.spreadsheetId}?uploadType=resumable`,"PATCH",{mimeType:"application/vnd.google-apps.spreadsheet"});if(!m.success){let l=await m.data;throw new Error(`Failed to initiate upload: ${m.status} - ${l}`)}let f=m.headers.get("Location");if(!f)throw new Error("No upload URL returned from Google Drive");return(await fetch(f,{method:"PUT",headers:{"Content-Type":"text/csv"},body:w})).ok}catch(t){return console.error("Error pushing data to Google Sheets:",t),!1}}async function k(n,s){try{let t=await p(n).callDriveApi(`files/${s.spreadsheetId}/export?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,"GET");if(!t.success)throw new Error(`Failed to get spreadsheet schema: ${t.status}`);return t.data}catch(o){return console.error("Error getting Google Sheets schema:",o),null}}async function E(n){try{if(!n)throw new Error("Access token is required");let o=await p(n).callDriveApi("https://www.googleapis.com/drive/v3/files?q=mimeType='application/vnd.google-apps.spreadsheet'&fields=files(id,name,mimeType,createdTime,modifiedTime,webViewLink)","GET");if(!o.success)throw new Error(`Failed to list Google Sheets: ${o.status}`);return o.data.files.map(r=>({id:r.id,name:r.name,data:{mimeType:r.mimeType,createdTime:r.createdTime,modifiedTime:r.modifiedTime,webViewLink:r.webViewLink}}))}catch(s){return console.error("Error listing Google Sheets:",s),[]}}export{k as getSchema,E as listTables,x as saveRecord};
@@ -0,0 +1,8 @@
1
+ export default function getClient(token: string): {
2
+ callApi<R, P extends Record<string, unknown> = Record<string, unknown>>(path: string, method?: "GET" | "POST" | "DELETE" | "PUT" | "PATCH", body?: P | null): Promise<{
3
+ status: number;
4
+ success: boolean;
5
+ data: R;
6
+ }>;
7
+ };
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/notion/client.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,MAAM;YAM7B,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kCAC1C,MAAM,WACJ,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,SAC7C,CAAC,GAAG,IAAI;;;cA+BoB,CAAC;;EAsBxC"}
@@ -0,0 +1,9 @@
1
+ import { type CreateDatabaseResponse, type DatabaseObjectResponse } from "@notionhq/client";
2
+ import type { Schema, TablesList } from "../../types";
3
+ import type { NotionOptions } from "./options";
4
+ export type { CreateDatabaseResponse, DatabaseObjectResponse };
5
+ export declare function saveRecord(formData: FormData, options: NotionOptions, accessToken: string): Promise<import("@notionhq/client").CreatePageResponse>;
6
+ export declare function listTables(accessToken: string): Promise<TablesList>;
7
+ export declare function listPages(accessToken: string): Promise<TablesList>;
8
+ export declare function createTable(name: string, schema: Schema, pageId: string, accessToken: string): Promise<NotionOptions>;
9
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/notion/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;AAE/D,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0DAe/F;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgCzE;AAED,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAsCxE;AAoCD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA+BxB"}
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{Client as c}from"@notionhq/client";function l(s,r){let e={};for(let[t,a]of s.entries())if(!(a==null||a==="")&&t in r)switch(r[t].type){case"title":e[t]={title:[{text:{content:String(a)}}]};break;case"rich_text":e[t]={rich_text:[{text:{content:String(a)}}]};break;case"email":e[t]={email:String(a)};break;case"phone_number":e[t]={phone_number:String(a)};break;case"url":e[t]={url:String(a)};break;case"number":e[t]={number:Number(a)};break;case"checkbox":e[t]={checkbox:!!a};break;case"date":e[t]={date:a?{start:String(a)}:null};break;default:console.warn(`Unsupported property type for key "${t}": ${r[t].type}`),e[t]={rich_text:[{text:{content:String(a)}}]}}return e}async function f(s,r,e){let t=new c({auth:e}),a=l(s,r.properties),o=await t.pages.create({parent:{database_id:r.id},properties:{...a}});if(!o)throw new Error("Failed to push data to Notion");return o}async function m(s){try{let e=await new c({auth:s}).search({filter:{property:"object",value:"database"}}),t=[];for(let a in e.results){let o=e.results[a],i={id:o.id,name:o.title[0]?.plain_text,properties:o.properties,url:o.url},p={id:o.id,name:o.title[0]?.plain_text,data:i};t.push(p)}return t}catch(r){throw console.error("Error listing Notion databases:",r),r}}async function g(s){try{let e=await new c({auth:s}).search({filter:{property:"object",value:"page"}}),t=[];for(let a in e.results){let o=e.results[a];if(o.parent.type!=="database_id"){let i={id:o.id,name:o.properties.title&&o.properties.title.type==="title"&&Array.isArray(o.properties.title.title)&&o.properties.title.title[0]?.plain_text?o.properties.title.title[0].plain_text:"No Title",data:o.properties};t.push(i)}}return t}catch(r){throw console.error("Error listing Notion databases:",r),r}}function b(s){let r={};for(let[e,t]of Object.entries(s.properties))t.type==="string"&&(e===s.required?.[0]?r[e]={title:{},name:e,type:"title"}:r[e]={rich_text:{},name:e,type:"rich_text"}),t.type==="number"&&(r[e]={number:{}}),t.type==="boolean"&&(r[e]={checkbox:{}});return r}async function h(s,r,e,t){let a=b(r),o={parent:{type:"page_id",page_id:e},title:[{type:"text",text:{content:s}}],properties:a},i=new c({auth:t}),p=await i.databases.create(o);if(!p)throw new Error("Failed to create Notion database");let n=await i.databases.retrieve({database_id:p.id});if(!n)throw new Error("Failed to retrieve Notion database after creation");return{id:n.id,name:n.title[0]?.plain_text,properties:n.properties,url:n.url}}export{h as createTable,g as listPages,m as listTables,f as saveRecord};
@@ -0,0 +1,5 @@
1
+ import type { NotionOptions } from "./options";
2
+ type NotionDatabaseProperties = NotionOptions["properties"];
3
+ export declare function buildCreatePageParameters(data: FormData, databaseProperties: NotionDatabaseProperties): Record<string, any>;
4
+ export {};
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datarecords/external/notion/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,wBAAwB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAE5D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,wBAAwB,uBA0ErG"}
@@ -73,5 +73,152 @@ export declare const datarecordsList: import("@sinclair/typebox").TArray<import(
73
73
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
74
74
  }>>;
75
75
  export type DatarecordsList = Static<typeof datarecordsList>;
76
+ export declare const table: import("@sinclair/typebox").TObject<{
77
+ id: import("@sinclair/typebox").TString;
78
+ name: import("@sinclair/typebox").TString;
79
+ data: import("@sinclair/typebox").TAny;
80
+ base: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
81
+ id: import("@sinclair/typebox").TString;
82
+ name: import("@sinclair/typebox").TString;
83
+ data: import("@sinclair/typebox").TAny;
84
+ }>>;
85
+ }>;
86
+ export type Table = Static<typeof table>;
87
+ export declare const tablesList: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
88
+ id: import("@sinclair/typebox").TString;
89
+ name: import("@sinclair/typebox").TString;
90
+ data: import("@sinclair/typebox").TAny;
91
+ base: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
92
+ id: import("@sinclair/typebox").TString;
93
+ name: import("@sinclair/typebox").TString;
94
+ data: import("@sinclair/typebox").TAny;
95
+ }>>;
96
+ }>>;
97
+ export type TablesList = Static<typeof tablesList>;
98
+ export declare const stringProperty: import("@sinclair/typebox").TObject<{
99
+ type: import("@sinclair/typebox").TLiteral<"string">;
100
+ title: import("@sinclair/typebox").TString;
101
+ format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"email">, import("@sinclair/typebox").TLiteral<"url">, import("@sinclair/typebox").TLiteral<"date">, import("@sinclair/typebox").TLiteral<"date-time">]>>;
102
+ "ui:placeholder": import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
103
+ minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
104
+ maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
105
+ enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
106
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
107
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
108
+ "ui:multiline": import("@sinclair/typebox").TLiteral<true>;
109
+ }>>;
110
+ }>;
111
+ export type StringProperty = Static<typeof stringProperty>;
112
+ export declare const booleanProperty: import("@sinclair/typebox").TObject<{
113
+ type: import("@sinclair/typebox").TLiteral<"boolean">;
114
+ title: import("@sinclair/typebox").TString;
115
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
116
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
117
+ }>>;
118
+ }>;
119
+ export type BooleanProperty = Static<typeof booleanProperty>;
120
+ export declare const numberProperty: import("@sinclair/typebox").TObject<{
121
+ type: import("@sinclair/typebox").TLiteral<"number">;
122
+ title: import("@sinclair/typebox").TString;
123
+ min: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
124
+ max: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
125
+ default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
126
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
127
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
128
+ }>>;
129
+ }>;
130
+ export type NumberProperty = Static<typeof numberProperty>;
131
+ export declare const schemaProperty: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
132
+ type: import("@sinclair/typebox").TLiteral<"string">;
133
+ title: import("@sinclair/typebox").TString;
134
+ format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"email">, import("@sinclair/typebox").TLiteral<"url">, import("@sinclair/typebox").TLiteral<"date">, import("@sinclair/typebox").TLiteral<"date-time">]>>;
135
+ "ui:placeholder": import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
136
+ minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
137
+ maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
138
+ enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
139
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
140
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
141
+ "ui:multiline": import("@sinclair/typebox").TLiteral<true>;
142
+ }>>;
143
+ }>, import("@sinclair/typebox").TObject<{
144
+ type: import("@sinclair/typebox").TLiteral<"boolean">;
145
+ title: import("@sinclair/typebox").TString;
146
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
147
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
148
+ }>>;
149
+ }>, import("@sinclair/typebox").TObject<{
150
+ type: import("@sinclair/typebox").TLiteral<"number">;
151
+ title: import("@sinclair/typebox").TString;
152
+ min: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
153
+ max: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
154
+ default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
155
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
156
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
157
+ }>>;
158
+ }>]>;
159
+ export type SchemaProperty = Static<typeof schemaProperty>;
160
+ export declare const schemaProperties: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
161
+ type: import("@sinclair/typebox").TLiteral<"string">;
162
+ title: import("@sinclair/typebox").TString;
163
+ format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"email">, import("@sinclair/typebox").TLiteral<"url">, import("@sinclair/typebox").TLiteral<"date">, import("@sinclair/typebox").TLiteral<"date-time">]>>;
164
+ "ui:placeholder": import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
165
+ minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
166
+ maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
167
+ enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
168
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
169
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
170
+ "ui:multiline": import("@sinclair/typebox").TLiteral<true>;
171
+ }>>;
172
+ }>, import("@sinclair/typebox").TObject<{
173
+ type: import("@sinclair/typebox").TLiteral<"boolean">;
174
+ title: import("@sinclair/typebox").TString;
175
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
176
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
177
+ }>>;
178
+ }>, import("@sinclair/typebox").TObject<{
179
+ type: import("@sinclair/typebox").TLiteral<"number">;
180
+ title: import("@sinclair/typebox").TString;
181
+ min: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
182
+ max: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
183
+ default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
184
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
185
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
186
+ }>>;
187
+ }>]>>;
188
+ export type SchemaProperties = Static<typeof schemaProperties>;
189
+ export declare const schema: import("@sinclair/typebox").TObject<{
190
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
191
+ type: import("@sinclair/typebox").TLiteral<"object">;
192
+ properties: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
193
+ type: import("@sinclair/typebox").TLiteral<"string">;
194
+ title: import("@sinclair/typebox").TString;
195
+ format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"email">, import("@sinclair/typebox").TLiteral<"url">, import("@sinclair/typebox").TLiteral<"date">, import("@sinclair/typebox").TLiteral<"date-time">]>>;
196
+ "ui:placeholder": import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
197
+ minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
198
+ maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
199
+ enum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
200
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
201
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
202
+ "ui:multiline": import("@sinclair/typebox").TLiteral<true>;
203
+ }>>;
204
+ }>, import("@sinclair/typebox").TObject<{
205
+ type: import("@sinclair/typebox").TLiteral<"boolean">;
206
+ title: import("@sinclair/typebox").TString;
207
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
208
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
209
+ }>>;
210
+ }>, import("@sinclair/typebox").TObject<{
211
+ type: import("@sinclair/typebox").TLiteral<"number">;
212
+ title: import("@sinclair/typebox").TString;
213
+ min: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
214
+ max: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
215
+ default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
216
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
217
+ order: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
218
+ }>>;
219
+ }>]>>;
220
+ required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
221
+ }>;
222
+ export type Schema = Static<typeof schema>;
76
223
  export {};
77
224
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/datarecords/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMtD,eAAO,MAAM,eAAe,0SAO1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAmFjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BhC,CAAC;AAcH,QAAA,MAAM,kBAAkB;;;;;;EAA8D,CAAC;AAEvF,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAA2D,CAAC;AACnG,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;GAAiC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/datarecords/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMtD,eAAO,MAAM,eAAe,0SAO1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAmFjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BhC,CAAC;AAcH,QAAA,MAAM,kBAAkB;;;;;;EAA8D,CAAC;AAEvF,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAA2D,CAAC;AACnG,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;GAAiC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,eAAO,MAAM,KAAK;;;;;;;;;EAWhB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;AAEzC,eAAO,MAAM,UAAU;;;;;;;;;GAAoB,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAInD,eAAO,MAAM,cAAc;;;;;;;;;;;;EAgBzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;;EAQ1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,eAAO,MAAM,cAAc;;;;;;;;;EAWzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAG3D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAgE,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA6C,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{a,b,c,d}from"../chunk-6K3KZDFC.js";export{a as connectorSchema,b as datarecordsConnectors,d as datarecordsList,c as internalDatarecordManifest};
3
+ import{a,b,c,d,e,f,g,h,i,j,k,l}from"../chunk-UAQHU6L6.js";export{h as booleanProperty,a as connectorSchema,b as datarecordsConnectors,d as datarecordsList,c as internalDatarecordManifest,i as numberProperty,l as schema,k as schemaProperties,j as schemaProperty,g as stringProperty,e as table,f as tablesList};