@upstart.gg/sdk 0.0.104 → 0.0.106

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 (254) hide show
  1. package/dist/shared/ajv.d.ts +2 -0
  2. package/dist/shared/ajv.d.ts.map +1 -1
  3. package/dist/shared/ajv.js +1 -1
  4. package/dist/shared/attributes.js +1 -1
  5. package/dist/shared/brick-manifest.js +1 -1
  6. package/dist/shared/bricks/manifests/accordion.manifest.js +1 -1
  7. package/dist/shared/bricks/manifests/all-manifests.js +1 -1
  8. package/dist/shared/bricks/manifests/button.manifest.js +1 -1
  9. package/dist/shared/bricks/manifests/card.manifest.js +1 -1
  10. package/dist/shared/bricks/manifests/carousel.manifest.js +1 -1
  11. package/dist/shared/bricks/manifests/container.manifest.js +1 -1
  12. package/dist/shared/bricks/manifests/divider.manifest.js +1 -1
  13. package/dist/shared/bricks/manifests/footer.manifest.d.ts +1 -1
  14. package/dist/shared/bricks/manifests/footer.manifest.d.ts.map +1 -1
  15. package/dist/shared/bricks/manifests/footer.manifest.js +1 -1
  16. package/dist/shared/bricks/manifests/form.manifest.js +1 -1
  17. package/dist/shared/bricks/manifests/hero.manifest.js +1 -1
  18. package/dist/shared/bricks/manifests/icon.manifest.js +1 -1
  19. package/dist/shared/bricks/manifests/image.manifest.js +1 -1
  20. package/dist/shared/bricks/manifests/images-gallery.manifest.js +1 -1
  21. package/dist/shared/bricks/manifests/map.manifest.js +1 -1
  22. package/dist/shared/bricks/manifests/navbar.manifest.js +1 -1
  23. package/dist/shared/bricks/manifests/sidebar.manifest.js +1 -1
  24. package/dist/shared/bricks/manifests/social-links.manifest.js +1 -1
  25. package/dist/shared/bricks/manifests/testimonials.manifest.js +1 -1
  26. package/dist/shared/bricks/manifests/text.manifest.js +1 -1
  27. package/dist/shared/bricks/manifests/timeline.manifest.js +1 -1
  28. package/dist/shared/bricks/manifests/video.manifest.js +1 -1
  29. package/dist/shared/bricks/props/border.d.ts.map +1 -1
  30. package/dist/shared/bricks/props/border.js +1 -1
  31. package/dist/shared/bricks/props/container.js +1 -1
  32. package/dist/shared/bricks/props/effects.js +1 -1
  33. package/dist/shared/bricks.d.ts.map +1 -1
  34. package/dist/shared/bricks.js +1 -1
  35. package/dist/shared/{chunk-TCZBR3ZU.js → chunk-2DI5SIVV.js} +1 -1
  36. package/dist/shared/{chunk-O22VV7YR.js → chunk-33FU4KGU.js} +1 -1
  37. package/dist/shared/{chunk-WCNVFVDK.js → chunk-3ZGRY444.js} +1 -1
  38. package/dist/shared/{chunk-CUCUHPQ7.js → chunk-6OKXZL6R.js} +1 -1
  39. package/dist/shared/chunk-7E67XSKP.js +3 -0
  40. package/dist/shared/{chunk-LJQXN32B.js → chunk-AMGHA7QH.js} +1 -1
  41. package/dist/shared/{chunk-QALNFBY7.js → chunk-DC5DWF7B.js} +1 -1
  42. package/dist/shared/{chunk-I43NIQ2K.js → chunk-DY2YCYZ6.js} +1 -1
  43. package/dist/shared/{chunk-CEXHD4BO.js → chunk-E4UAVLKC.js} +2 -2
  44. package/dist/shared/{chunk-ZFTWLZ3G.js → chunk-EHH677K5.js} +1 -1
  45. package/dist/shared/{chunk-POYVTV5F.js → chunk-FD3KX2U7.js} +1 -1
  46. package/dist/shared/chunk-G3JO5DM5.js +3 -0
  47. package/dist/shared/{chunk-I5S2MPPR.js → chunk-H7OYUKBW.js} +1 -1
  48. package/dist/shared/{chunk-ATVHWZSA.js → chunk-HBM4DPIW.js} +1 -1
  49. package/dist/shared/chunk-HIBTEX2T.js +3 -0
  50. package/dist/shared/{chunk-E2EBTWJI.js → chunk-I3HSLGFA.js} +1 -1
  51. package/dist/shared/{chunk-UISES3HA.js → chunk-IXJX7EQ3.js} +1 -1
  52. package/dist/shared/{chunk-5IEGQ7YT.js → chunk-JAAPJQNK.js} +1 -1
  53. package/dist/shared/{chunk-UK6H3FDX.js → chunk-JDBVMPSI.js} +1 -1
  54. package/dist/shared/{chunk-F6MLW6DO.js → chunk-JH3NRO6M.js} +1 -1
  55. package/dist/shared/{chunk-ZNVRYEO7.js → chunk-L3TKLJKK.js} +1 -1
  56. package/dist/shared/{chunk-TEPFFY32.js → chunk-LOFXGDAK.js} +1 -1
  57. package/dist/shared/chunk-O3FJP65T.js +3 -0
  58. package/dist/shared/{chunk-7L3UOEMR.js → chunk-PX7QSNLO.js} +1 -1
  59. package/dist/shared/{chunk-22KRCQK5.js → chunk-U76JDFWJ.js} +1 -1
  60. package/dist/shared/{chunk-CW5FWW5W.js → chunk-UYZP24VV.js} +1 -1
  61. package/dist/shared/chunk-X42WBJTN.js +3 -0
  62. package/dist/shared/{chunk-OQIFFJ7I.js → chunk-XB3X4P3I.js} +1 -1
  63. package/dist/shared/chunk-XDCGA4WT.js +3 -0
  64. package/dist/shared/chunk-YGHBFXR6.js +3 -0
  65. package/dist/shared/{chunk-WEQRYCPD.js → chunk-ZWYLKIBI.js} +1 -1
  66. package/dist/shared/datasources/external/rss/fetcher.d.ts +1 -1
  67. package/dist/shared/datasources/external/rss/fetcher.d.ts.map +1 -1
  68. package/dist/shared/images.js +1 -1
  69. package/dist/shared/page.js +1 -1
  70. package/dist/shared/responsive.js +1 -1
  71. package/dist/shared/site.js +1 -1
  72. package/dist/shared/sitemap.js +1 -1
  73. package/dist/shared/theme.js +1 -1
  74. package/dist/shared/utils/schema.d.ts +6 -8
  75. package/dist/shared/utils/schema.d.ts.map +1 -1
  76. package/dist/shared/utils/schema.js +1 -1
  77. package/package.json +5 -9
  78. package/dist/shared/chunk-F63ANNAK.js +0 -3
  79. package/dist/shared/chunk-GPKRRX3D.js +0 -3
  80. package/dist/shared/chunk-HQQYIKTE.js +0 -3
  81. package/dist/shared/chunk-JFDOR3UH.js +0 -3
  82. package/dist/shared/chunk-OD2PRCLH.js +0 -3
  83. package/dist/shared/chunk-PK6UAFPW.js +0 -3
  84. package/dist/shared/chunk-VDHLON5R.js +0 -3
  85. package/src/node/cli/api.ts +0 -101
  86. package/src/node/cli/commands/cmd-build.ts +0 -64
  87. package/src/node/cli/commands/login/cmd-login.ts +0 -111
  88. package/src/node/cli/commands/logout/cmd-logout.ts +0 -11
  89. package/src/node/cli/commands/publish/cmd-publish.ts +0 -135
  90. package/src/node/cli/commands/publish/parse-gitignore.ts +0 -278
  91. package/src/node/cli/commands/publish/uploader.ts +0 -333
  92. package/src/node/cli/constants.ts +0 -14
  93. package/src/node/cli/is-logged-in.ts +0 -28
  94. package/src/node/cli/program.ts +0 -77
  95. package/src/node/cli/store.ts +0 -64
  96. package/src/node/cli/tests/api.test.ts +0 -161
  97. package/src/node/cli/types.ts +0 -34
  98. package/src/node/cli/utils.ts +0 -20
  99. package/src/node/shared/config.ts +0 -69
  100. package/src/node/shared/logger.ts +0 -44
  101. package/src/shared/ajv.ts +0 -103
  102. package/src/shared/analytics/init.ts +0 -14
  103. package/src/shared/analytics/track.ts +0 -21
  104. package/src/shared/analytics/types.ts +0 -13
  105. package/src/shared/attributes.ts +0 -211
  106. package/src/shared/brick-manifest.ts +0 -110
  107. package/src/shared/bricks/manifests/accordion.manifest.ts +0 -179
  108. package/src/shared/bricks/manifests/all-manifests.ts +0 -92
  109. package/src/shared/bricks/manifests/button.manifest.ts +0 -145
  110. package/src/shared/bricks/manifests/card.manifest.ts +0 -269
  111. package/src/shared/bricks/manifests/carousel.manifest.ts +0 -106
  112. package/src/shared/bricks/manifests/container.manifest.ts +0 -357
  113. package/src/shared/bricks/manifests/divider.manifest.ts +0 -121
  114. package/src/shared/bricks/manifests/footer.manifest.ts +0 -487
  115. package/src/shared/bricks/manifests/form.manifest.ts +0 -112
  116. package/src/shared/bricks/manifests/hero.manifest.ts +0 -132
  117. package/src/shared/bricks/manifests/icon.manifest.ts +0 -130
  118. package/src/shared/bricks/manifests/image.manifest.ts +0 -203
  119. package/src/shared/bricks/manifests/images-gallery.manifest.ts +0 -227
  120. package/src/shared/bricks/manifests/map.manifest.ts +0 -75
  121. package/src/shared/bricks/manifests/navbar.manifest.ts +0 -344
  122. package/src/shared/bricks/manifests/sidebar.manifest.ts +0 -90
  123. package/src/shared/bricks/manifests/social-links.manifest.ts +0 -370
  124. package/src/shared/bricks/manifests/testimonials.manifest.ts +0 -397
  125. package/src/shared/bricks/manifests/tests/header.manifest.test.ts +0 -10
  126. package/src/shared/bricks/manifests/text.manifest.ts +0 -164
  127. package/src/shared/bricks/manifests/timeline.manifest.ts +0 -456
  128. package/src/shared/bricks/manifests/video.manifest.ts +0 -59
  129. package/src/shared/bricks/props/_style-presets.ts +0 -352
  130. package/src/shared/bricks/props/align.ts +0 -59
  131. package/src/shared/bricks/props/background.ts +0 -118
  132. package/src/shared/bricks/props/boolean.ts +0 -11
  133. package/src/shared/bricks/props/border.ts +0 -84
  134. package/src/shared/bricks/props/color.ts +0 -24
  135. package/src/shared/bricks/props/common.ts +0 -37
  136. package/src/shared/bricks/props/container.ts +0 -356
  137. package/src/shared/bricks/props/css-length.ts +0 -25
  138. package/src/shared/bricks/props/datasource.ts +0 -60
  139. package/src/shared/bricks/props/date.ts +0 -24
  140. package/src/shared/bricks/props/effects.ts +0 -123
  141. package/src/shared/bricks/props/enum.ts +0 -42
  142. package/src/shared/bricks/props/file.ts +0 -12
  143. package/src/shared/bricks/props/geolocation.ts +0 -30
  144. package/src/shared/bricks/props/helpers.ts +0 -101
  145. package/src/shared/bricks/props/image.ts +0 -90
  146. package/src/shared/bricks/props/number.ts +0 -16
  147. package/src/shared/bricks/props/padding.ts +0 -21
  148. package/src/shared/bricks/props/position.ts +0 -27
  149. package/src/shared/bricks/props/preset.ts +0 -136
  150. package/src/shared/bricks/props/string.ts +0 -56
  151. package/src/shared/bricks/props/tests/align.test.ts +0 -37
  152. package/src/shared/bricks/props/tests/background.test.ts +0 -102
  153. package/src/shared/bricks/props/tests/border.test.ts +0 -38
  154. package/src/shared/bricks/props/tests/effects.test.ts +0 -37
  155. package/src/shared/bricks/props/tests/helpers.test.ts +0 -133
  156. package/src/shared/bricks/props/tests/image.test.ts +0 -71
  157. package/src/shared/bricks/props/tests/padding.ts +0 -12
  158. package/src/shared/bricks/props/tests/string.test.ts +0 -79
  159. package/src/shared/bricks/props/text.ts +0 -66
  160. package/src/shared/bricks/props/types.ts +0 -57
  161. package/src/shared/bricks.ts +0 -232
  162. package/src/shared/context.ts +0 -39
  163. package/src/shared/datarecords/external/airtable/handler.ts +0 -21
  164. package/src/shared/datarecords/external/airtable/options.ts +0 -22
  165. package/src/shared/datarecords/external/generic-webhook/handler.ts +0 -10
  166. package/src/shared/datarecords/external/generic-webhook/options.ts +0 -13
  167. package/src/shared/datarecords/external/google/oauth/config.ts +0 -30
  168. package/src/shared/datarecords/external/google/sheets/handler.ts +0 -26
  169. package/src/shared/datarecords/external/google/sheets/options.ts +0 -9
  170. package/src/shared/datarecords/types.ts +0 -120
  171. package/src/shared/datarecords.ts +0 -5
  172. package/src/shared/datasources/README.md +0 -3
  173. package/src/shared/datasources/external/facebook/posts/fetcher.ts +0 -52
  174. package/src/shared/datasources/external/facebook/posts/sample.ts +0 -35
  175. package/src/shared/datasources/external/facebook/posts/schema.ts +0 -33
  176. package/src/shared/datasources/external/facebook/posts/tests/fetcher.test.ts +0 -73
  177. package/src/shared/datasources/external/http-json/fetcher.ts +0 -28
  178. package/src/shared/datasources/external/http-json/options.ts +0 -12
  179. package/src/shared/datasources/external/http-json/schema.ts +0 -6
  180. package/src/shared/datasources/external/http-json/tests/fetcher.test.ts +0 -70
  181. package/src/shared/datasources/external/instagram/feed/fetcher.ts +0 -33
  182. package/src/shared/datasources/external/instagram/feed/sample.ts +0 -22
  183. package/src/shared/datasources/external/instagram/feed/schema.ts +0 -23
  184. package/src/shared/datasources/external/instagram/feed/tests/fetcher.test.ts +0 -64
  185. package/src/shared/datasources/external/mastodon/account/fetcher.ts +0 -24
  186. package/src/shared/datasources/external/mastodon/account/sample.ts +0 -33
  187. package/src/shared/datasources/external/mastodon/account/schema.ts +0 -45
  188. package/src/shared/datasources/external/mastodon/account/tests/fetcher.test.ts +0 -47
  189. package/src/shared/datasources/external/mastodon/options.ts +0 -11
  190. package/src/shared/datasources/external/mastodon/status/fetcher.ts +0 -35
  191. package/src/shared/datasources/external/mastodon/status/sample.array.ts +0 -59
  192. package/src/shared/datasources/external/mastodon/status/sample.single.ts +0 -55
  193. package/src/shared/datasources/external/mastodon/status/schema.ts +0 -130
  194. package/src/shared/datasources/external/mastodon/status/tests/fetcher.test.ts +0 -74
  195. package/src/shared/datasources/external/meta/oauth/config.ts +0 -16
  196. package/src/shared/datasources/external/meta/options.ts +0 -11
  197. package/src/shared/datasources/external/rss/fetcher.ts +0 -29
  198. package/src/shared/datasources/external/rss/options.ts +0 -11
  199. package/src/shared/datasources/external/rss/sample.ts +0 -22
  200. package/src/shared/datasources/external/rss/schema.ts +0 -42
  201. package/src/shared/datasources/external/threads/media/fetcher.ts +0 -53
  202. package/src/shared/datasources/external/threads/media/sample.ts +0 -44
  203. package/src/shared/datasources/external/threads/media/schema.ts +0 -37
  204. package/src/shared/datasources/external/tiktok/oauth/config.ts +0 -17
  205. package/src/shared/datasources/external/tiktok/video/fetcher.ts +0 -39
  206. package/src/shared/datasources/external/tiktok/video/options.ts +0 -12
  207. package/src/shared/datasources/external/tiktok/video/sample.ts +0 -26
  208. package/src/shared/datasources/external/tiktok/video/schema.ts +0 -27
  209. package/src/shared/datasources/external/youtube/list/fetcher.ts +0 -37
  210. package/src/shared/datasources/external/youtube/list/options.ts +0 -15
  211. package/src/shared/datasources/external/youtube/list/sample.ts +0 -33
  212. package/src/shared/datasources/external/youtube/list/schema.ts +0 -38
  213. package/src/shared/datasources/external/youtube/oauth/config.ts +0 -15
  214. package/src/shared/datasources/fetcher.ts +0 -17
  215. package/src/shared/datasources/internal/blog/schema.ts +0 -69
  216. package/src/shared/datasources/internal/changelog/schema.ts +0 -48
  217. package/src/shared/datasources/internal/contact-info/schema.ts +0 -20
  218. package/src/shared/datasources/internal/cv/schema.ts +0 -217
  219. package/src/shared/datasources/internal/faq/schema.ts +0 -27
  220. package/src/shared/datasources/internal/job-board/schema.ts +0 -228
  221. package/src/shared/datasources/internal/links/schema.ts +0 -15
  222. package/src/shared/datasources/internal/recipes/schema.ts +0 -42
  223. package/src/shared/datasources/internal/restaurant/schema.ts +0 -225
  224. package/src/shared/datasources/provider-options.ts +0 -7
  225. package/src/shared/datasources/samples.ts +0 -26
  226. package/src/shared/datasources/schemas.ts +0 -45
  227. package/src/shared/datasources/types.ts +0 -276
  228. package/src/shared/datasources/utils.ts +0 -16
  229. package/src/shared/datasources.ts +0 -42
  230. package/src/shared/env.ts +0 -23
  231. package/src/shared/errors.ts +0 -1
  232. package/src/shared/images.ts +0 -44
  233. package/src/shared/index.ts +0 -3
  234. package/src/shared/layout-constants.ts +0 -25
  235. package/src/shared/manifest.ts +0 -50
  236. package/src/shared/oauth.ts +0 -16
  237. package/src/shared/page.ts +0 -61
  238. package/src/shared/prompt.ts +0 -9
  239. package/src/shared/responsive.ts +0 -5
  240. package/src/shared/site.ts +0 -97
  241. package/src/shared/sitemap.ts +0 -66
  242. package/src/shared/social-icons.ts +0 -307
  243. package/src/shared/tests/attributes.test.ts +0 -37
  244. package/src/shared/theme.ts +0 -245
  245. package/src/shared/themes/README.md +0 -34
  246. package/src/shared/themes/color-system.ts +0 -127
  247. package/src/shared/utils/canvas-data-uri.ts +0 -2
  248. package/src/shared/utils/invariant.ts +0 -25
  249. package/src/shared/utils/json-date.ts +0 -8
  250. package/src/shared/utils/merge.ts +0 -12
  251. package/src/shared/utils/object-hash.ts +0 -7
  252. package/src/shared/utils/schema.ts +0 -35
  253. package/src/shared/utils/try-catch.ts +0 -12
  254. package/src/shared/utils/typed-ref.ts +0 -41
@@ -1,217 +0,0 @@
1
- import { Type, type Static } from "@sinclair/typebox";
2
- export const cvSchema = Type.Object(
3
- {
4
- firstName: Type.String({
5
- title: "First name",
6
- }),
7
- lastName: Type.String({
8
- title: "Last name",
9
- }),
10
- tagLine: Type.String({
11
- title: "Tag line",
12
- }),
13
- email: Type.String({
14
- title: "Email",
15
- pattern: "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
16
- }),
17
- phoneNumber: Type.Optional(
18
- Type.String({
19
- title: "Phone number",
20
- pattern: "^\\+?[1-9]\\d{1,14}$", // International phone number format
21
- }),
22
- ),
23
- address: Type.Optional(
24
- Type.String({
25
- title: "Address",
26
- }),
27
- ),
28
- socialLinks: Type.Optional(
29
- Type.Array(
30
- Type.Object({
31
- platform: Type.String({
32
- title: "Platform",
33
- enum: ["LinkedIn", "GitHub", "Twitter", "Portfolio", "Other"],
34
- }),
35
- url: Type.String({
36
- title: "URL",
37
- pattern: "^https?://.*",
38
- }),
39
- }),
40
- ),
41
- ),
42
- professionalSummary: Type.String({
43
- title: "Professional Summary",
44
- description: "Brief overview of your professional background and goals",
45
- maxLength: 2000,
46
- }),
47
- workExperience: Type.Array(
48
- Type.Object({
49
- company: Type.String({ title: "Company Name" }),
50
- position: Type.String({ title: "Position" }),
51
- location: Type.Optional(Type.String({ title: "Location" })),
52
- startDate: Type.String({
53
- title: "Start Date",
54
- format: "date",
55
- }),
56
- endDate: Type.Optional(
57
- Type.String({
58
- title: "End Date",
59
- format: "date",
60
- }),
61
- ),
62
- current: Type.Optional(
63
- Type.Boolean({
64
- title: "Current Position",
65
- default: false,
66
- }),
67
- ),
68
- description: Type.String({
69
- title: "Description",
70
- description: "Description of responsibilities and achievements",
71
- format: "markdown",
72
- }),
73
- achievements: Type.Optional(
74
- Type.Array(
75
- Type.String({
76
- title: "Achievement",
77
- }),
78
- ),
79
- ),
80
- }),
81
- ),
82
- education: Type.Array(
83
- Type.Object({
84
- institution: Type.String({ title: "Institution" }),
85
- degree: Type.String({ title: "Degree" }),
86
- field: Type.String({ title: "Field of Study" }),
87
- startDate: Type.String({
88
- title: "Start Date",
89
- format: "date",
90
- }),
91
- endDate: Type.Optional(
92
- Type.String({
93
- title: "End Date",
94
- format: "date",
95
- }),
96
- ),
97
- gpa: Type.Optional(
98
- Type.Number({
99
- title: "GPA",
100
- minimum: 0,
101
- maximum: 4,
102
- }),
103
- ),
104
- honors: Type.Optional(
105
- Type.Array(
106
- Type.String({
107
- title: "Honor/Award",
108
- }),
109
- ),
110
- ),
111
- }),
112
- ),
113
- skills: Type.Array(
114
- Type.Object({
115
- category: Type.String({
116
- title: "Skill Category",
117
- description: "E.g., Programming Languages, Tools, Soft Skills",
118
- }),
119
- items: Type.Array(
120
- Type.Object({
121
- name: Type.String({ title: "Skill Name" }),
122
- level: Type.Optional(
123
- Type.String({
124
- title: "Proficiency Level",
125
- enum: ["Beginner", "Intermediate", "Advanced", "Expert"],
126
- }),
127
- ),
128
- }),
129
- ),
130
- }),
131
- ),
132
- certifications: Type.Optional(
133
- Type.Array(
134
- Type.Object({
135
- name: Type.String({ title: "Certification Name" }),
136
- issuer: Type.String({ title: "Issuing Organization" }),
137
- dateObtained: Type.String({
138
- title: "Date Obtained",
139
- format: "date",
140
- }),
141
- expiryDate: Type.Optional(
142
- Type.String({
143
- title: "Expiry Date",
144
- format: "date",
145
- }),
146
- ),
147
- credentialId: Type.Optional(Type.String({ title: "Credential ID" })),
148
- }),
149
- ),
150
- ),
151
- languages: Type.Optional(
152
- Type.Array(
153
- Type.Object({
154
- language: Type.String({ title: "Language" }),
155
- proficiency: Type.String({
156
- title: "Proficiency Level",
157
- enum: ["Basic", "Intermediate", "Advanced", "Native/Bilingual"],
158
- }),
159
- }),
160
- ),
161
- ),
162
- projects: Type.Optional(
163
- Type.Array(
164
- Type.Object({
165
- name: Type.String({ title: "Project Name" }),
166
- description: Type.String({ title: "Description" }),
167
- url: Type.Optional(
168
- Type.String({
169
- title: "Project URL",
170
- pattern: "^https?://.*",
171
- }),
172
- ),
173
- technologies: Type.Array(Type.String({ title: "Technology" })),
174
- startDate: Type.Optional(
175
- Type.String({
176
- title: "Start Date",
177
- format: "date",
178
- }),
179
- ),
180
- endDate: Type.Optional(
181
- Type.String({
182
- title: "End Date",
183
- format: "date",
184
- }),
185
- ),
186
- }),
187
- ),
188
- ),
189
- references: Type.Optional(
190
- Type.Array(
191
- Type.Object({
192
- name: Type.String({ title: "Reference Name" }),
193
- position: Type.String({ title: "Position" }),
194
- company: Type.String({ title: "Company" }),
195
- email: Type.Optional(
196
- Type.String({
197
- title: "Email",
198
- pattern: "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
199
- }),
200
- ),
201
- phoneNumber: Type.Optional(
202
- Type.String({
203
- title: "Phone Number",
204
- pattern: "^\\+?[1-9]\\d{1,14}$",
205
- }),
206
- ),
207
- relationship: Type.String({ title: "Professional Relationship" }),
208
- }),
209
- ),
210
- ),
211
- },
212
- {
213
- description: "Schema representing a comprehensive CV",
214
- },
215
- );
216
-
217
- export type CVschema = Static<typeof cvSchema>;
@@ -1,27 +0,0 @@
1
- import { Type, type Static } from "@sinclair/typebox";
2
-
3
- export const faqSchema = Type.Array(
4
- Type.Object({
5
- question: Type.String({
6
- title: "Question",
7
- format: "markdown",
8
- }),
9
- answer: Type.String({
10
- title: "Answer",
11
- format: "markdown",
12
- }),
13
- category: Type.Optional(
14
- Type.String({
15
- title: "Category",
16
- }),
17
- ),
18
- tags: Type.Optional(Type.Array(Type.String(), { title: "Tags" })),
19
- order: Type.Optional(Type.Number({ title: "Order in the list" })),
20
- }),
21
- {
22
- title: "FAQ",
23
- description: "Schema representing a collection of frequently asked questions (FAQ)",
24
- },
25
- );
26
-
27
- export type FaqSchema = Static<typeof faqSchema>;
@@ -1,228 +0,0 @@
1
- import { Type, type Static } from "@sinclair/typebox";
2
-
3
- export const jobBoardCompanySchema = Type.Object(
4
- {
5
- basicInfo: Type.Object({
6
- name: Type.String({
7
- title: "Company Name",
8
- }),
9
- legalName: Type.Optional(
10
- Type.String({
11
- title: "Legal Company Name",
12
- }),
13
- ),
14
- industry: Type.Array(
15
- Type.String({
16
- title: "Industry",
17
- description: "Industries the company operates in",
18
- }),
19
- ),
20
- companySize: Type.String({
21
- enum: ["1-10", "11-50", "51-200", "201-500", "501-1000", "1000+"],
22
- title: "Company Size",
23
- }),
24
- foundedYear: Type.Optional(
25
- Type.Number({
26
- title: "Founded Year",
27
- minimum: 1800,
28
- maximum: 2025,
29
- }),
30
- ),
31
- description: Type.String({
32
- title: "Company Description",
33
- minLength: 1,
34
- maxLength: 5000,
35
- format: "markdown",
36
- }),
37
- }),
38
-
39
- contact: Type.Object({
40
- email: Type.String({
41
- title: "Company Email",
42
- pattern: "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
43
- }),
44
- phone: Type.Optional(
45
- Type.String({
46
- title: "Company Phone",
47
- pattern: "^\\+?[1-9]\\d{1,14}$",
48
- }),
49
- ),
50
- website: Type.String({
51
- title: "Company Website",
52
- pattern: "^https?://.*",
53
- }),
54
- socialMedia: Type.Optional(
55
- Type.Object({
56
- linkedin: Type.Optional(Type.String()),
57
- twitter: Type.Optional(Type.String()),
58
- facebook: Type.Optional(Type.String()),
59
- }),
60
- ),
61
- }),
62
-
63
- location: Type.Object({
64
- headquarters: Type.Object({
65
- address: Type.Optional(Type.String()),
66
- city: Type.String(),
67
- state: Type.Optional(Type.String()),
68
- country: Type.String(),
69
- postalCode: Type.Optional(Type.String()),
70
- }),
71
- hasRemoteWorkPolicy: Type.Boolean({
72
- title: "Offers Remote Work",
73
- default: false,
74
- }),
75
- offices: Type.Optional(
76
- Type.Array(
77
- Type.Object({
78
- city: Type.String(),
79
- state: Type.Optional(Type.String()),
80
- country: Type.String(),
81
- }),
82
- ),
83
- ),
84
- }),
85
- },
86
- {
87
- description: "Schema representing a job board listing with company and job details",
88
- },
89
- );
90
-
91
- export const jobBoardListingSchema = Type.Array(
92
- Type.Object({
93
- id: Type.String({
94
- title: "Job ID",
95
- description: "Unique identifier for the job posting",
96
- }),
97
- basicInfo: Type.Object({
98
- title: Type.String({
99
- title: "Job Title",
100
- }),
101
- department: Type.String({
102
- title: "Department",
103
- }),
104
- employmentType: Type.Array(
105
- Type.String({
106
- enum: ["Full-time", "Part-time", "Contract", "Temporary", "Internship", "Freelance"],
107
- }),
108
- ),
109
- experienceLevel: Type.String({
110
- enum: ["Entry", "Associate", "Mid-Senior", "Senior", "Lead", "Executive"],
111
- }),
112
- workplaceType: Type.String({
113
- enum: ["On-site", "Hybrid", "Remote"],
114
- }),
115
- }),
116
-
117
- compensation: Type.Object({
118
- salary: Type.Optional(
119
- Type.Object({
120
- min: Type.Number({
121
- minimum: 0,
122
- }),
123
- max: Type.Number({
124
- minimum: 0,
125
- }),
126
- currency: Type.String({
127
- default: "USD",
128
- }),
129
- period: Type.String({
130
- enum: ["Hour", "Day", "Week", "Month", "Year"],
131
- }),
132
- }),
133
- ),
134
- benefits: Type.Optional(
135
- Type.Array(
136
- Type.String({
137
- enum: [
138
- "Health Insurance",
139
- "Dental Insurance",
140
- "Vision Insurance",
141
- "401(k)",
142
- "Stock Options",
143
- "Paid Time Off",
144
- "Professional Development",
145
- "Gym Membership",
146
- "Remote Work",
147
- "Flexible Hours",
148
- "Other",
149
- ],
150
- }),
151
- ),
152
- ),
153
- additionalCompensation: Type.Optional(Type.String()),
154
- }),
155
-
156
- details: Type.Object({
157
- description: Type.String({
158
- title: "Job Description",
159
- minLength: 1,
160
- maxLength: 10000,
161
- }),
162
- responsibilities: Type.Array(Type.String()),
163
- requirements: Type.Object({
164
- required: Type.Array(Type.String()),
165
- preferred: Type.Optional(Type.Array(Type.String())),
166
- }),
167
- skills: Type.Array(
168
- Type.Object({
169
- name: Type.String(),
170
- level: Type.Optional(
171
- Type.String({
172
- enum: ["Beginner", "Intermediate", "Advanced", "Expert"],
173
- }),
174
- ),
175
- required: Type.Boolean({
176
- default: true,
177
- }),
178
- }),
179
- ),
180
- }),
181
-
182
- applicationProcess: Type.Object({
183
- howToApply: Type.String({
184
- enum: ["Direct", "External", "Email"],
185
- }),
186
- applicationUrl: Type.Optional(Type.String()),
187
- applicationEmail: Type.Optional(
188
- Type.String({
189
- pattern: "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
190
- }),
191
- ),
192
- requiredDocuments: Type.Array(
193
- Type.String({
194
- enum: ["Resume", "Cover Letter", "Portfolio", "References", "Other"],
195
- }),
196
- ),
197
- }),
198
-
199
- metadata: Type.Object({
200
- postingDate: Type.String({
201
- title: "Posting Date",
202
- format: "date",
203
- }),
204
- expirationDate: Type.Optional(
205
- Type.String({
206
- title: "Expiration Date",
207
- format: "date",
208
- }),
209
- ),
210
- status: Type.String({
211
- enum: ["Draft", "Active", "Paused", "Filled", "Expired", "Cancelled"],
212
- default: "Draft",
213
- }),
214
- isSponsored: Type.Boolean({
215
- default: false,
216
- }),
217
- isRemoteEligible: Type.Boolean({
218
- default: false,
219
- }),
220
- isVisaSponsored: Type.Boolean({
221
- default: false,
222
- }),
223
- }),
224
- }),
225
- );
226
-
227
- export type JobBoardCompanyType = Static<typeof jobBoardCompanySchema>;
228
- export type JobBoardListingType = Static<typeof jobBoardListingSchema>;
@@ -1,15 +0,0 @@
1
- import { Type, type Static } from "@sinclair/typebox";
2
-
3
- export const linksSchema = Type.Array(
4
- Type.Object({
5
- url: Type.String({ format: "uri", title: "URL" }),
6
- title: Type.String({ title: "Title" }),
7
- description: Type.Optional(Type.String({ title: "Description", format: "markdown" })),
8
- icon: Type.Optional(Type.String({ title: "Icon", format: "uri" })),
9
- }),
10
- {
11
- description: "Schema representing a collection of links",
12
- },
13
- );
14
-
15
- export type LinksSchema = Static<typeof linksSchema>;
@@ -1,42 +0,0 @@
1
- import { Type, type Static } from "@sinclair/typebox";
2
-
3
- export const recipesSchema = Type.Array(
4
- Type.Object({
5
- title: Type.String({
6
- title: "Title",
7
- }),
8
- description: Type.String({
9
- title: "Description",
10
- format: "markdown",
11
- }),
12
- time: Type.String({
13
- title: "Time to prepare the recipe",
14
- }),
15
- ingredients: Type.Array(
16
- Type.Object({
17
- name: Type.String({
18
- title: "Name of the ingredient",
19
- }),
20
- quantity: Type.String({
21
- title: "Quantity of the ingredient",
22
- }),
23
- }),
24
- ),
25
- steps: Type.Array(
26
- Type.Object({
27
- title: Type.String({
28
- title: "Step title",
29
- }),
30
- description: Type.String({
31
- title: "Step description",
32
- }),
33
- }),
34
- ),
35
- }),
36
- {
37
- title: "Recipes",
38
- description: "Collection of recipes",
39
- },
40
- );
41
-
42
- export type RecipesSchema = Static<typeof recipesSchema>;