@upstart.gg/sdk 0.0.89 → 0.0.90

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.
@@ -1,3 +1,3 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- var c="upstart-cli";var I=process.env.PUBLIC_UPSTART_OAUTH_CLIENT_ID??"50000000-0000-0000-0000-000000000001",T=process.env.PUBLIC_UPSTART_API_BASE_URL??"https://api.upstart.gg",P=process.env.PUBLIC_UPSTART_EDITOR_BASE_URL??"https://upstart.gg";import p from"conf";import r from"node:path";import a from"node:crypto";import o from"node:fs";import{fileURLToPath as _}from"node:url";function i(){let e;if(process.env.npm_config_user_agent){let t=process.env.npm_config_user_agent.split(" ")[0];e=t.slice(0,t.lastIndexOf("/"))}return e||(console.log("Warning: could not detect package manager"),e="npm"),e}import u from"chalk";var m=_(new URL(".",import.meta.url)),d=l(),f=new p({projectName:c,encryptionKey:d,clearInvalidConfig:!0});function k(){let e=f.get("access_token");if(!e){let t=i();throw new Error(`Access token not found. Please run ${u.cyan(`${t} run enpage:login`)} to authenticate.`)}return e}function g(){let e=m;for(;e!==r.parse(e).root;){let t=r.join(e,"node_modules");if(o.existsSync(t))return t;e=r.dirname(e)}return null}function l(){let e=g();if(!e)throw new Error("Could not find nearest node_modules directory.");let t=r.join(e,".enpage-tmp");o.existsSync(t)||o.mkdirSync(t,{recursive:!0,mode:448});let n=r.join(t,".enpage-key");if(!o.existsSync(n)){let s=a.randomBytes(32).toString("hex");return o.writeFileSync(n,s,{mode:384,flush:!0}),s}return o.readFileSync(n,"utf8")}export{f as accessStore,k as getTokenOrThrow};
3
+ var c="upstart-cli";var I=process.env.PUBLIC_UPSTART_OAUTH_CLIENT_ID??"50000000-0000-0000-0000-000000000001",T=process.env.PUBLIC_UPSTART_API_BASE_URL??"https://api.upstart.gg",P=process.env.PUBLIC_UPSTART_EDITOR_BASE_URL??"https://upstart.gg";import p from"conf";import r from"node:path";import a from"node:crypto";import o from"node:fs";import{fileURLToPath as _}from"node:url";function i(){let e;if(process.env.npm_config_user_agent){let t=process.env.npm_config_user_agent.split(" ")[0];e=t.slice(0,t.lastIndexOf("/"))}return e||(console.log("Warning: could not detect package manager"),e="npm"),e}import u from"chalk";var m=_(new URL(".",import.meta.url)),d=E(),f=new p({projectName:c,encryptionKey:d,clearInvalidConfig:!0});function h(){let e=f.get("access_token");if(!e){let t=i();throw new Error(`Access token not found. Please run ${u.cyan(`${t} run enpage:login`)} to authenticate.`)}return e}function g(){let e=m;for(;e!==r.parse(e).root;){let t=r.join(e,"node_modules");if(o.existsSync(t))return t;e=r.dirname(e)}return null}function E(){let e=g();if(!e)throw new Error("Could not find nearest node_modules directory.");let t=r.join(e,".enpage-tmp");o.existsSync(t)||o.mkdirSync(t,{recursive:!0,mode:448});let n=r.join(t,".enpage-key");if(!o.existsSync(n)){let s=a.randomBytes(32).toString("hex");return o.writeFileSync(n,s,{mode:384}),s}return o.readFileSync(n,"utf8")}export{f as accessStore,h as getTokenOrThrow};
@@ -1,13 +1,13 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{Type as e}from"@sinclair/typebox";var m=e.Object({id:e.Optional(e.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:e.String({title:"Template Name"}),description:e.Optional(e.String({title:"Show template description"})),readme:e.Optional(e.Record(e.RegExp(/^[a-z]{2}$/),e.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:e.Optional(e.Array(e.String(),{title:"Tags"})),author:e.Optional(e.String({title:"Author name"})),thumbnail:e.Optional(e.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:e.Optional(e.String({title:"Homepage",description:"A URL to the homepage of the template."}))});import d from"node:fs";import{readFile as x}from"node:fs/promises";import L from"fast-glob";import{createLogger as b}from"vite";var g="0.0.89";import n from"chalk";function v(r,i,a=!1){let t=b(r==="debug"?"info":r,{prefix:"[upstart]",allowClearScreen:i});return a&&t.info(n.hex("#7270c6").bold(`\u{1F680} Upstart v${g}
3
+ import{Type as e}from"@sinclair/typebox";var c=e.Object({id:e.Optional(e.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:e.String({title:"Template Name"}),description:e.Optional(e.String({title:"Show template description"})),readme:e.Optional(e.Record(e.RegExp(/^[a-z]{2}$/),e.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:e.Optional(e.Array(e.String(),{title:"Tags"})),author:e.Optional(e.String({title:"Author name"})),thumbnail:e.Optional(e.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:e.Optional(e.String({title:"Homepage",description:"A URL to the homepage of the template."}))});import d from"node:fs";import{readFile as x}from"node:fs/promises";import L from"fast-glob";import{createLogger as b}from"vite";var g="0.0.90";import n from"chalk";function v(r,i,a=!1){let t=b(r==="debug"?"info":r,{prefix:"[upstart]",allowClearScreen:i});return a&&t.info(n.hex("#7270c6").bold(`\u{1F680} Upstart v${g}
4
4
  `)),{...t,success:(s,o)=>t.info(n.green(s),o),error:(s,o)=>t.error(n.red(s),o),warn:(s,o)=>t.warn(n.yellow(s),o),warnOnce:(s,o)=>t.warnOnce(n.yellow(s),o),debug:(s,o)=>{r==="debug"&&t.info(n.gray(s),o)}}}var u=v();import{fromError as O}from"zod-validation-error";import{basename as f,dirname as w,extname as S}from"node:path";async function U(r,i=u){d.existsSync(r)||(i.error(`\u{1F534} No enpage.config.js found!
5
5
  Your project must have an enpage.config.js file in the root directory.
6
6
 
7
- `),process.exit(1));let a=await import(r),t=w(r),s={},o=await L(["README.enpage.md","README.enpage.*.md"],{cwd:t,onlyFiles:!0,absolute:!0,caseSensitiveMatch:!1});for(let p of o){let y=f(p,".md"),c=S(y),l=(c===".enpage"?"en":c.substring(1)).toLowerCase();i.debug(`Found template readme file (${l}): ${f(p)}`),s[l]=await x(p,"utf-8")}return a.manifest&&(a.manifest.readme=s),a}function P(r,i){return d.existsSync(r)||(i.error(`\u{1F534} No enpage.manifest.json found!
7
+ `),process.exit(1));let a=await import(r),t=w(r),s={},o=await L(["README.enpage.md","README.enpage.*.md"],{cwd:t,onlyFiles:!0,absolute:!0,caseSensitiveMatch:!1});for(let p of o){let y=f(p,".md"),l=S(y),m=(l===".enpage"?"en":l.substring(1)).toLowerCase();i.debug(`Found template readme file (${m}): ${f(p)}`),s[m]=await x(p,"utf-8")}return a.manifest&&(a.manifest.readme=s),a}function P(r,i){return d.existsSync(r)||(i.error(`\u{1F534} No enpage.manifest.json found!
8
8
  You may want to 'build' your template.
9
9
 
10
- `),process.exit(1)),JSON.parse(d.readFileSync(r,"utf-8"))}function B(r,i){for(let t in r.datasources)if(r.datasources[t].provider==="json"&&!r.datasources[t].sampleData)throw i.error(`\u{1F534} Error: Datasource "${t}" is missing sample data - nothing will be rendered during development! Please check your enpage.config.js file and add a "sampleData" key to your ${t} datasource.`),new Error(`Missing sample data for datasource "${t}"`);let a=m.safeParse(r.manifest);if(!a.success){i.error(`\u{1F534} Error: template manifest is invalid. Check your call to defineManifest().
10
+ `),process.exit(1)),JSON.parse(d.readFileSync(r,"utf-8"))}function B(r,i){for(let t in r.datasources)if(r.datasources[t].provider==="json"&&!r.datasources[t].sampleData)throw i.error(`\u{1F534} Error: Datasource "${t}" is missing sample data - nothing will be rendered during development! Please check your enpage.config.js file and add a "sampleData" key to your ${t} datasource.`),new Error(`Missing sample data for datasource "${t}"`);let a=c.safeParse(r.manifest);if(!a.success){i.error(`\u{1F534} Error: template manifest is invalid. Check your call to defineManifest().
11
11
  `);let t=O(a.error);i.error(`Hint: ${t.toString()}
12
12
 
13
13
  `),process.exit(1)}return r}export{U as loadConfigFromJsFile,P as loadConfigFromManifestFile,B as validateTemplateConfig};
@@ -1,4 +1,4 @@
1
1
  /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
2
 
3
- import{createLogger as d}from"vite";var i="0.0.89";import r from"chalk";function c(o,a,n=!1){let s=d(o==="debug"?"info":o,{prefix:"[upstart]",allowClearScreen:a});return n&&s.info(r.hex("#7270c6").bold(`\u{1F680} Upstart v${i}
4
- `)),{...s,success:(e,t)=>s.info(r.green(e),t),error:(e,t)=>s.error(r.red(e),t),warn:(e,t)=>s.warn(r.yellow(e),t),warnOnce:(e,t)=>s.warnOnce(r.yellow(e),t),debug:(e,t)=>{o==="debug"&&s.info(r.gray(e),t)}}}var y=c();export{c as createLogger,y as logger};
3
+ import{createLogger as d}from"vite";var i="0.0.90";import r from"chalk";function g(o,a,n=!1){let s=d(o==="debug"?"info":o,{prefix:"[upstart]",allowClearScreen:a});return n&&s.info(r.hex("#7270c6").bold(`\u{1F680} Upstart v${i}
4
+ `)),{...s,success:(e,t)=>s.info(r.green(e),t),error:(e,t)=>s.error(r.red(e),t),warn:(e,t)=>s.warn(r.yellow(e),t),warnOnce:(e,t)=>s.warnOnce(r.yellow(e),t),debug:(e,t)=>{o==="debug"&&s.info(r.gray(e),t)}}}var y=g();export{g as createLogger,y as logger};
@@ -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,e,f,g,h,i}from"./chunk-KK7J6SRT.js";import"./chunk-WJ5CDDXW.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";export{b as brickSchema,i as defineBrick,g as defineBricks,f as defineSections,c as definedBrickSchema,e as definedSectionSchema,a as generateId,h as getPositionDefaults,d as sectionSchema};
3
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-SWGSHUTE.js";import"./chunk-WJ5CDDXW.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";export{b as brickSchema,i as defineBrick,g as defineBricks,f as defineSections,c as definedBrickSchema,e as definedSectionSchema,a as generateId,h as getPositionDefaults,d as sectionSchema};
@@ -0,0 +1,3 @@
1
+ /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
+
3
+ import{Type as o}from"@sinclair/typebox";var b=o.Object({data:o.Array(o.Object({from:o.Object({name:o.String(),id:o.String()}),id:o.String(),permalink_url:o.String(),is_hidden:o.Boolean(),message:o.Optional(o.String()),object_id:o.String(),link:o.String(),is_published:o.Boolean(),status_type:o.String(),type:o.String(),actions:o.Array(o.Object({name:o.String(),link:o.String()}))})),paging:o.Object({previous:o.Optional(o.String()),next:o.Optional(o.String())})});import{Type as c}from"@sinclair/typebox";var A=c.Object({data:c.Array(c.Object({id:c.String(),caption:c.String(),timestamp:c.String(),media_url:c.String(),permalink:c.String(),media_type:c.Union([c.Literal("IMAGE"),c.Literal("VIDEO"),c.Literal("CAROUSEL_ALBUM")])})),paging:c.Object({cursors:c.Object({before:c.Optional(c.String()),after:c.Optional(c.String())}),next:c.Optional(c.String())})});import{Type as t}from"@sinclair/typebox";import{Type as r}from"@sinclair/typebox";var y=r.Object({id:r.String(),username:r.String(),acct:r.String(),url:r.String(),display_name:r.Optional(r.String()),note:r.String(),avatar:r.String(),avatar_static:r.String(),header:r.String(),header_static:r.String(),locked:r.Boolean(),fields:r.Array(r.Object({name:r.String(),value:r.String(),verified_at:r.Optional(r.String())})),emojis:r.Array(r.Object({shortcode:r.String(),url:r.String(),static_url:r.String(),visible_in_picker:r.Boolean(),category:r.Optional(r.String())})),bot:r.Boolean(),group:r.Boolean(),discoverable:r.Union([r.Boolean(),r.Null()]),noindex:r.Optional(r.Boolean()),moved:r.Optional(r.String()),suspended:r.Optional(r.Boolean()),limited:r.Optional(r.Boolean()),created_at:r.String(),last_status_at:r.Optional(r.String()),statuses_count:r.Number(),followers_count:r.Number(),following_count:r.Number()});var j=t.Object({id:t.String(),type:t.Union([t.Literal("audio"),t.Literal("image"),t.Literal("video"),t.Literal("gifv"),t.Literal("unknown")]),url:t.String(),preview_url:t.Optional(t.String()),remote_url:t.Optional(t.String()),meta:t.Record(t.String(),t.Any()),description:t.Optional(t.String()),blurhash:t.Optional(t.String())}),h=t.Object({shortcode:t.String(),url:t.String(),static_url:t.String(),visible_in_picker:t.Boolean(),category:t.Optional(t.String())}),x=t.Object({url:t.String(),title:t.String(),description:t.String(),type:t.Union([t.Literal("link"),t.Literal("photo"),t.Literal("video"),t.Literal("rich")]),author_name:t.String(),author_url:t.String(),provider_name:t.String(),provider_url:t.String(),html:t.String(),width:t.Number(),height:t.Number(),image:t.Optional(t.String()),embed_url:t.String(),blurhash:t.Optional(t.String())}),L=t.Object({id:t.String(),expires_at:t.String(),expired:t.Boolean(),multiple:t.Boolean(),votes_count:t.Number(),options:t.Array(t.Object({title:t.String(),votes_count:t.Number()})),voted:t.Optional(t.Boolean()),own_votes:t.Optional(t.Array(t.Number())),emojis:t.Array(h)}),f=t.Object({id:t.String(),uri:t.String(),created_at:t.String(),account:y,content:t.String(),visibility:t.Union([t.Literal("public"),t.Literal("unlisted"),t.Literal("private"),t.Literal("direct")]),sensitive:t.Boolean(),media_attachments:t.Array(j),application:t.Optional(t.Object({name:t.String(),website:t.Optional(t.String())})),mentions:t.Array(t.Object({id:t.String(),username:t.String(),acct:t.String(),url:t.String()})),tags:t.Array(t.Object({name:t.String(),url:t.String()})),emojis:t.Array(h),reblogs_count:t.Number(),favourites_count:t.Number(),replies_count:t.Number(),url:t.String(),in_reply_to_id:t.Optional(t.String()),in_reply_to_account_id:t.Optional(t.String()),reblog:t.Optional(t.Ref("mastodonStatus")),poll:t.Optional(L),card:t.Optional(x),language:t.Optional(t.String()),text:t.Optional(t.String()),edited_at:t.Optional(t.String()),favourited:t.Optional(t.Boolean()),reblogged:t.Optional(t.Boolean()),muted:t.Optional(t.Boolean()),bookmarked:t.Optional(t.Boolean()),pinned:t.Optional(t.Boolean())},{$id:"mastodonStatus"}),_=t.Array(f);import{Type as p}from"@sinclair/typebox";var T=p.Object({title:p.String({title:"Title",description:"The title of the RSS feed"}),link:p.String({title:"Link",description:"The link to the RSS feed"}),description:p.Optional(p.String({title:"Description",description:"The description of the RSS feed"})),updated:p.Optional(p.String({title:"Updated",description:"The last updated date of the RSS feed"})),items:p.Array(p.Object({title:p.Optional(p.String({title:"Title",description:"The title of the RSS feed item"})),link:p.Optional(p.String({title:"Link",description:"The link to the RSS feed item"})),creator:p.Optional(p.String({title:"Creator",description:"The creator of the RSS feed item"})),content:p.Optional(p.String({title:"Content",description:"The content of the RSS feed item"})),pubDate:p.Optional(p.String({title:"Pub Date",description:"The publication date of the RSS feed item"}))}))});import{Type as n}from"@sinclair/typebox";var k=n.Object({data:n.Array(n.Object({id:n.String(),media_product_type:n.Literal("THREADS"),media_type:n.Union([n.Literal("TEXT_POST"),n.Literal("IMAGE"),n.Literal("VIDEO"),n.Literal("CAROUSEL_ALBUM"),n.Literal("AUDIO"),n.Literal("REPOST_FACADE")]),media_url:n.String(),permalink:n.String(),owner:n.Object({id:n.String()}),username:n.String(),text:n.String(),timestamp:n.String(),thumbnail_url:n.String(),shortcode:n.String(),is_quote_post:n.Boolean()})),paging:n.Object({cursors:n.Object({before:n.String(),after:n.String()})})});import{Type as s}from"@sinclair/typebox";var v=s.Object({data:s.Object({has_more:s.Boolean(),cursor:s.Number(),videos:s.Array(s.Object({title:s.String(),video_description:s.String(),cover_image_url:s.String(),duration:s.Number(),embed_link:s.String(),id:s.String()}))}),error:s.Optional(s.Object({code:s.String(),message:s.String(),log_id:s.String()}))});import{Type as a}from"@sinclair/typebox";var N=a.Object({etag:a.String(),nextPageToken:a.String(),regionCode:a.String(),pageInfo:a.Object({totalResults:a.Number(),resultsPerPage:a.Number()}),items:a.Array(a.Object({etag:a.String(),id:a.Object({videoId:a.String(),channelId:a.String(),playlistId:a.String()}),snippet:a.Object({publishedAt:a.String(),channelId:a.String(),title:a.String(),description:a.String(),thumbnails:a.Object({default:a.Object({url:a.String(),width:a.Number(),height:a.Number()}),standard:a.Object({url:a.String(),width:a.Number(),height:a.Number()})}),channelTitle:a.String(),liveBroadcastContent:a.String()})}))});import{Type as l}from"@sinclair/typebox";var D=l.Array(l.Object({title:l.String({title:"Title",description:"Blog post title"}),excerpt:l.String({title:"Excerpt",description:"Short summary of the blog post",format:"markdown"}),image:l.Optional(l.String({title:"Image URL",format:"uri",description:"Blog post image"})),content:l.String({title:"Content",description:"Blog post content",format:"markdown"}),author:l.Object({name:l.String({title:"Author Name",description:"Author's name"})}),publishedAt:l.String({title:"Published Date",format:"date",description:"Publication date in ISO format"}),slug:l.String({title:"Slug",pattern:"^[a-z0-9]+(?:-[a-z0-9]+)*$",description:"URL-friendly version of the title"}),status:l.Union([l.Literal("draft"),l.Literal("published"),l.Literal("archived")],{title:"Status",description:"Publication status of the blog post"}),categories:l.Optional(l.Array(l.String({title:"Categories",description:"Blog post categories"}))),tags:l.Optional(l.Array(l.String({title:"Tags",description:"Blog post tags"})))}));import{Type as S}from"@sinclair/typebox";var B=S.Array(S.Object({title:S.String({title:"Release Title",description:"Title of the release"}),version:S.Optional(S.String({title:"Version",description:"Version number"})),date:S.String({title:"Release Date",format:"date",description:"Release date in ISO format"}),changes:S.Array(S.Object({type:S.Union([S.Literal("added"),S.Literal("changed"),S.Literal("fixed"),S.Literal("improved"),S.Literal("deprecated"),S.Literal("removed")],{title:"Change Type"}),description:S.String({title:"Description",format:"markdown"})}))}));import{Type as m}from"@sinclair/typebox";import{Type as u}from"@sinclair/typebox";var O=u.Array(u.Object({url:u.String({format:"uri",title:"URL"}),title:u.String({title:"Title"}),description:u.Optional(u.String({title:"Description",format:"markdown"})),icon:u.Optional(u.String({title:"Icon",format:"uri"}))}),{description:"Schema representing a collection of links"});var P=m.Object({email:m.String({format:"email",title:"Email"}),phone:m.Optional(m.String({title:"Phone"})),companyName:m.Optional(m.String({title:"Company Name"})),firstName:m.Optional(m.String({title:"First Name"})),lastName:m.Optional(m.String({title:"Last Name"})),url:m.Optional(m.String({format:"uri",title:"Website URL"})),address:m.Optional(m.String({title:"Address"})),socialLinks:O},{description:"A generic schema representing a person or company contact information"});import{Type as i}from"@sinclair/typebox";var C=i.Object({firstName:i.String({title:"First name"}),lastName:i.String({title:"Last name"}),tagLine:i.String({title:"Tag line"}),email:i.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"}),phoneNumber:i.Optional(i.String({title:"Phone number",pattern:"^\\+?[1-9]\\d{1,14}$"})),address:i.Optional(i.String({title:"Address"})),socialLinks:i.Optional(i.Array(i.Object({platform:i.String({title:"Platform",enum:["LinkedIn","GitHub","Twitter","Portfolio","Other"]}),url:i.String({title:"URL",pattern:"^https?://.*"})}))),professionalSummary:i.String({title:"Professional Summary",description:"Brief overview of your professional background and goals",maxLength:2e3}),workExperience:i.Array(i.Object({company:i.String({title:"Company Name"}),position:i.String({title:"Position"}),location:i.Optional(i.String({title:"Location"})),startDate:i.String({title:"Start Date",format:"date"}),endDate:i.Optional(i.String({title:"End Date",format:"date"})),current:i.Optional(i.Boolean({title:"Current Position",default:!1})),description:i.String({title:"Description",description:"Description of responsibilities and achievements",format:"markdown"}),achievements:i.Optional(i.Array(i.String({title:"Achievement"})))})),education:i.Array(i.Object({institution:i.String({title:"Institution"}),degree:i.String({title:"Degree"}),field:i.String({title:"Field of Study"}),startDate:i.String({title:"Start Date",format:"date"}),endDate:i.Optional(i.String({title:"End Date",format:"date"})),gpa:i.Optional(i.Number({title:"GPA",minimum:0,maximum:4})),honors:i.Optional(i.Array(i.String({title:"Honor/Award"})))})),skills:i.Array(i.Object({category:i.String({title:"Skill Category",description:"E.g., Programming Languages, Tools, Soft Skills"}),items:i.Array(i.Object({name:i.String({title:"Skill Name"}),level:i.Optional(i.String({title:"Proficiency Level",enum:["Beginner","Intermediate","Advanced","Expert"]}))}))})),certifications:i.Optional(i.Array(i.Object({name:i.String({title:"Certification Name"}),issuer:i.String({title:"Issuing Organization"}),dateObtained:i.String({title:"Date Obtained",format:"date"}),expiryDate:i.Optional(i.String({title:"Expiry Date",format:"date"})),credentialId:i.Optional(i.String({title:"Credential ID"}))}))),languages:i.Optional(i.Array(i.Object({language:i.String({title:"Language"}),proficiency:i.String({title:"Proficiency Level",enum:["Basic","Intermediate","Advanced","Native/Bilingual"]})}))),projects:i.Optional(i.Array(i.Object({name:i.String({title:"Project Name"}),description:i.String({title:"Description"}),url:i.Optional(i.String({title:"Project URL",pattern:"^https?://.*"})),technologies:i.Array(i.String({title:"Technology"})),startDate:i.Optional(i.String({title:"Start Date",format:"date"})),endDate:i.Optional(i.String({title:"End Date",format:"date"}))}))),references:i.Optional(i.Array(i.Object({name:i.String({title:"Reference Name"}),position:i.String({title:"Position"}),company:i.String({title:"Company"}),email:i.Optional(i.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"})),phoneNumber:i.Optional(i.String({title:"Phone Number",pattern:"^\\+?[1-9]\\d{1,14}$"})),relationship:i.String({title:"Professional Relationship"})})))},{description:"Schema representing a comprehensive CV"});import{Type as d}from"@sinclair/typebox";var I=d.Array(d.Object({question:d.String({title:"Question",format:"markdown"}),answer:d.String({title:"Answer",format:"markdown"}),category:d.Optional(d.String({title:"Category"})),tags:d.Optional(d.Array(d.String(),{title:"Tags"})),order:d.Optional(d.Number({title:"Order in the list"}))}),{title:"FAQ",description:"Schema representing a collection of frequently asked questions (FAQ)"});import{Type as g}from"@sinclair/typebox";var R=g.Array(g.Object({title:g.String({title:"Title"}),description:g.String({title:"Description",format:"markdown"}),time:g.String({title:"Time to prepare the recipe"}),ingredients:g.Array(g.Object({name:g.String({title:"Name of the ingredient"}),quantity:g.String({title:"Quantity of the ingredient"})})),steps:g.Array(g.Object({title:g.String({title:"Step title"}),description:g.String({title:"Step description"})}))}),{description:"Schema representing a collection of recipes"});import{Type as e}from"@sinclair/typebox";var w=e.Object({basicInfo:e.Object({name:e.String({title:"Restaurant Name"}),legalName:e.Optional(e.String({title:"Legal Business Name"})),taxId:e.Optional(e.String({title:"Tax ID/VAT Number"})),establishedDate:e.String({title:"Establishment Date",format:"date"}),cuisine:e.Array(e.String({title:"Cuisine Type",description:"Types of cuisine served"}))}),contact:e.Object({email:e.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"}),phone:e.String({title:"Phone Number",pattern:"^\\+?[1-9]\\d{1,14}$"}),socialMedia:e.Optional(e.Object({facebook:e.Optional(e.String()),instagram:e.Optional(e.String()),twitter:e.Optional(e.String())}))}),location:e.Object({address:e.String({title:"Street Address"}),city:e.String({title:"City"}),state:e.Optional(e.String({title:"State/Province"})),postalCode:e.String({title:"Postal Code"}),country:e.String({title:"Country"}),coordinates:e.Optional(e.Object({latitude:e.Number(),longitude:e.Number()}))}),hours:e.Object({regularHours:e.Array(e.Object({day:e.String({enum:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]}),open:e.String({title:"Opening Time",pattern:"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$"}),close:e.String({title:"Closing Time",pattern:"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$"}),closed:e.Optional(e.Boolean({title:"Closed on this day",default:!1}))})),specialHours:e.Optional(e.Array(e.Object({date:e.String({title:"Special Date",format:"date"}),description:e.String({title:"Description"}),open:e.Optional(e.String()),close:e.Optional(e.String()),closed:e.Boolean({default:!1})})))}),menu:e.Object({categories:e.Array(e.Object({name:e.String({title:"Category Name",description:"E.g., Starters, Main Course, Desserts"}),description:e.Optional(e.String()),items:e.Array(e.Object({id:e.String({title:"Item ID"}),name:e.String({title:"Item Name"}),description:e.String({title:"Item Description"}),price:e.Number({title:"Price",minimum:0}),currency:e.String({default:"USD"}),spicyLevel:e.Optional(e.Number({minimum:0,maximum:5})),allergens:e.Optional(e.Array(e.String({enum:["Gluten","Dairy","Nuts","Eggs","Soy","Shellfish","Fish","Other"]}))),dietary:e.Optional(e.Array(e.String({enum:["Vegetarian","Vegan","Halal","Kosher","Gluten-Free","Dairy-Free"]}))),available:e.Boolean({title:"Currently Available",default:!0}),image:e.Optional(e.String({title:"Image URL",pattern:"^https?://.*"})),customizations:e.Optional(e.Array(e.Object({name:e.String({title:"Customization Name"}),options:e.Array(e.Object({name:e.String(),price:e.Optional(e.Number())})),required:e.Boolean({default:!1}),multiSelect:e.Boolean({default:!1})})))}))})),specials:e.Optional(e.Array(e.Object({name:e.String(),description:e.String(),price:e.Number(),startDate:e.String({format:"date"}),endDate:e.String({format:"date"}),daysAvailable:e.Optional(e.Array(e.String({enum:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]})))})))})},{description:"Schema representing a restaurant with its menu and details"});export{b as a,A as b,y as c,f as d,_ as e,T as f,k as g,v as h,N as i,D as j,B as k,O as l,P as m,C as n,I as o,R as p,w as q};
@@ -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 b}from"./chunk-WXKRIUTA.js";import{b as c}from"./chunk-H6L4KRCJ.js";import{b as m,d as S}from"./chunk-KK7J6SRT.js";import{b as h}from"./chunk-7XRTVY2Z.js";import{b as f}from"./chunk-2ZPY4LCA.js";import{d as s,e as n}from"./chunk-64II435T.js";import{Type as t}from"@sinclair/typebox";var u=t.Array(t.Object({id:t.String(),label:t.String(),path:t.String(),tags:t.Array(t.String(),{default:[]}),status:t.Union([t.Literal("draft"),t.Literal("published")])})),d=t.Object({id:t.String(),label:t.String(),path:t.String()});function y(a,r="/",o=!1){let e=a.pages.find(p=>p.path===r);return b(e,`createPageConfigFromTemplateConfig: No page config found for path ${r}`),{id:typeof o=="boolean"?crypto.randomUUID():o,label:e.label,tags:e.tags??[],path:r,sections:e.sections,bricks:e.bricks,...e.attributes?{attributes:e.attributes,attr:{...n(e.attributes),...e.attr??{}}}:{}}}var A=t.Object({id:t.String(),label:t.String(),hostname:t.String(),attributes:s,attr:s,datasources:t.Optional(h),datarecords:t.Optional(f),themes:t.Array(c),theme:c,pagesMap:u});function G(a,r,o={label:"New site"},e=!1){let p=e?"50000000-0000-0000-0000-000000000001":crypto.randomUUID(),g=a.pages.map((i,l)=>y(a,i.path,e?`60000000-0000-0000-0000-00000000000${l}`:!1));return{site:{id:p,label:o.label,hostname:r,attributes:a.attributes,attr:{...n(a.attributes),...a.attr??{}},datasources:a.datasources,themes:a.themes,theme:a.themes[0],pagesMap:g.map(i=>({id:i.id,label:i.label,path:i.path,tags:i.tags,status:"draft"}))},pages:g}}var P=t.Object({label:t.String({description:"The label (name) of the page"}),path:t.String({description:"The path of the page in the URL. Should be unique"}),sections:t.Array(S,{description:"The sections of the page. See the Section schema","doc:type":"Array of `Section` objects"}),bricks:t.Array(m,{description:"The bricks of the page. See the various bricks available below","doc:type":"Array of `Brick` objects"}),tags:t.Array(t.String(),{description:"The tags of the page, used for organizating and filtering pages",default:[]}),attributes:t.Optional(s),attr:t.Optional(s)}),U=t.Object({site:t.Omit(A,["attributes"]),pages:t.Array(t.Composite([t.Omit(P,["attributes"]),d]))});export{y as a,A as b,G as c,P as d};
3
+ import{a as b}from"./chunk-WXKRIUTA.js";import{b as c}from"./chunk-H6L4KRCJ.js";import{b as m,d as S}from"./chunk-SWGSHUTE.js";import{b as h}from"./chunk-7XRTVY2Z.js";import{b as f}from"./chunk-2ZPY4LCA.js";import{d as s,e as n}from"./chunk-64II435T.js";import{Type as t}from"@sinclair/typebox";var u=t.Array(t.Object({id:t.String(),label:t.String(),path:t.String(),tags:t.Array(t.String(),{default:[]}),status:t.Union([t.Literal("draft"),t.Literal("published")])})),d=t.Object({id:t.String(),label:t.String(),path:t.String()});function y(a,r="/",o=!1){let e=a.pages.find(p=>p.path===r);return b(e,`createPageConfigFromTemplateConfig: No page config found for path ${r}`),{id:typeof o=="boolean"?crypto.randomUUID():o,label:e.label,tags:e.tags??[],path:r,sections:e.sections,bricks:e.bricks,...e.attributes?{attributes:e.attributes,attr:{...n(e.attributes),...e.attr??{}}}:{}}}var A=t.Object({id:t.String(),label:t.String(),hostname:t.String(),attributes:s,attr:s,datasources:t.Optional(h),datarecords:t.Optional(f),themes:t.Array(c),theme:c,pagesMap:u});function G(a,r,o={label:"New site"},e=!1){let p=e?"50000000-0000-0000-0000-000000000001":crypto.randomUUID(),g=a.pages.map((i,l)=>y(a,i.path,e?`60000000-0000-0000-0000-00000000000${l}`:!1));return{site:{id:p,label:o.label,hostname:r,attributes:a.attributes,attr:{...n(a.attributes),...a.attr??{}},datasources:a.datasources,themes:a.themes,theme:a.themes[0],pagesMap:g.map(i=>({id:i.id,label:i.label,path:i.path,tags:i.tags,status:"draft"}))},pages:g}}var P=t.Object({label:t.String({description:"The label (name) of the page"}),path:t.String({description:"The path of the page in the URL. Should be unique"}),sections:t.Array(S,{description:"The sections of the page. See the Section schema","doc:type":"Array of `Section` objects"}),bricks:t.Array(m,{description:"The bricks of the page. See the various bricks available below","doc:type":"Array of `Brick` objects"}),tags:t.Array(t.String(),{description:"The tags of the page, used for organizating and filtering pages",default:[]}),attributes:t.Optional(s),attr:t.Optional(s)}),U=t.Object({site:t.Omit(A,["attributes"]),pages:t.Array(t.Composite([t.Omit(P,["attributes"]),d]))});export{y as a,A as b,G as c,P 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{a as s}from"./chunk-WJ5CDDXW.js";import{b as n}from"./chunk-S64XUCWM.js";import{c as o}from"./chunk-64II435T.js";import{a as p}from"./chunk-P5FVZ5PL.js";import{Type as e}from"@sinclair/typebox";import{customAlphabet as b}from"nanoid";import{merge as a}from"lodash-es";var d=b("1234567890azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN",7),l=e.Object({x:e.Number({title:"X",description:"The column start (0-based) in grid units, not pixels."}),y:e.Number({title:"Y",description:"The row start (0-based) in grid units, not pixels."}),w:e.Number({title:"Width",description:"The width in columns in grid units, not pixels."}),h:e.Number({title:"Height",description:"The height in rows in grid units, not pixels."}),manualHeight:e.Optional(e.Number({description:"Do not use this field. It is used internally by the editor."})),hidden:e.Optional(e.Boolean({description:"Do not use this field. It is used internally by the editor."}))},{$id:"brick-position"}),c=e.Object({x:e.Union([e.Number(),e.Literal("half"),e.Literal("third"),e.Literal("twoThird"),e.Literal("quarter"),e.Literal("threeQuarter")],{title:"X",description:"The column start (0-based) in grid units, not pixels. Can use aliases like 'half' to represent half of the grid."}),y:e.Number({title:"Y",description:"The row start (0-based) in grid units, not pixels."}),w:e.Union([e.Number(),e.Literal("full"),e.Literal("half"),e.Literal("third"),e.Literal("twoThird"),e.Literal("quarter"),e.Literal("threeQuarter")],{title:"Width",description:"The width in columns in grid units, not pixels. Can use aliases like 'half' to represent half of the grid."}),h:e.Union([e.Number({title:"Height",description:"The height in rows in grid units, not pixels."})]),hidden:e.Optional(e.Boolean({description:"Do not use this field. It is used internally by the editor."}))}),u=e.Object({id:e.String({title:"ID",description:"A unique identifier for the brick."}),type:e.String({title:"Type"}),props:e.Record(e.String(),e.Unknown()),mobileProps:e.Record(e.String(),e.Unknown()),parentId:e.Optional(e.String()),sectionId:e.String(),$children:e.Optional(e.Array(e.Ref("brick"))),position:e.Object({mobile:l,desktop:l},{title:"Position",description:"The position of the brick in the layout."})},{$id:"brick"}),T=e.Composite([e.Pick(u,["type","props","sectionId","parentId","$children"]),e.Object({id:e.Optional(e.String()),mobileProps:e.Optional(u.properties.props),position:e.Object({mobile:c,desktop:c})})]),h=e.Object({background:e.Optional(p()),width:e.Optional(o.enum("Width","max-w-full",{options:[{value:"max-w-screen-lg",title:"Medium",description:"Common for text-heavy content/blog posts"},{value:"max-w-screen-xl",title:"Large",description:"Usefull or some landing pages"},{value:"max-w-screen-2xl",title:"Extra large",description:"Common width"},{value:"max-w-full",title:"Full width",description:"Takes the entire space"}],description:"The maximum width of the page. Desktop only",displayAs:"select","ui:group":"layout","ui:group:order":3,"ui:group:title":"Layout"})),$paddingHorizontal:e.Optional(o.number("Horizontal spacing",0,{min:0,description:"Horizontal spacing. Desktop only",displayAs:"button-group"})),lastTouched:e.Optional(e.Number({description:"Do not use this field. It is used internally by the editor.","ui:field":"hidden"}))},{additionalProperties:!0}),y=e.Object({id:e.String(),kind:e.Literal("section"),label:e.Optional(e.String()),position:e.Object({mobile:e.Object({h:e.Optional(e.Union([e.Number(),e.Literal("full")]))}),desktop:e.Object({h:e.Union([e.Number(),e.Literal("full")])})}),order:e.Number({description:"Determines section order in the page (lower numbers appear first)"}),props:h,mobileProps:e.Optional(e.Partial(h))},{$id:"section"}),D=e.Omit(y,["kind"]);function m(t,i,r=s){return{x:t.x==="quarter"?r[i]/4:t.x==="threeQuarter"?r[i]*.75:t.x==="half"?r[i]/2:t.x==="third"?r[i]/3:t.x==="twoThird"?r[i]*2/3:t.x,y:t.y,w:t.w==="full"?r[i]:t.w==="half"?r[i]/2:t.w==="third"?r[i]/3:t.w==="quarter"?r[i]/4:t.w==="twoThird"?r[i]*2/3:t.w==="threeQuarter"?r[i]*3/4:t.w,h:t.h,hidden:t.hidden}}function I(t){return t.map(i=>({...i,props:i.props??{},kind:"section"}))}function N(t){return t.map(x)}function f(){return{desktop:{w:0,h:0,x:0,y:0},mobile:{w:0,h:0,x:0,y:0}}}function x(t){let i=t.id??`brick-${d()}`;return{id:i,...t,props:{...a({},n[t.type].props,t.props),..."$children"in t.props?{$children:t.props.$children.map(r=>({...r,id:r.id??`brick-${d()}`,parentId:i,sectionId:t.sectionId,position:f(),props:a({},n[r.type].props,r.props)}))}:{}},mobileProps:t.mobileProps??{},position:t.position?{mobile:m(t.position.mobile,"mobile"),desktop:m(t.position.desktop,"desktop")}:f()}}export{d as a,u as b,T as c,y as d,D as e,I as f,N as g,f as h,x as i};
3
+ import{a as s}from"./chunk-WJ5CDDXW.js";import{b as n}from"./chunk-S64XUCWM.js";import{c as o}from"./chunk-64II435T.js";import{a as p}from"./chunk-P5FVZ5PL.js";import{Type as e}from"@sinclair/typebox";import{customAlphabet as f}from"nanoid";import{merge as a}from"lodash-es";var d=f("1234567890azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN",7),l=e.Object({x:e.Number({title:"X",description:"The column start (0-based) in grid units, not pixels."}),y:e.Number({title:"Y",description:"The row start (0-based) in grid units, not pixels."}),w:e.Number({title:"Width",description:"The width in columns in grid units, not pixels."}),h:e.Number({title:"Height",description:"The height in rows in grid units, not pixels."}),manualHeight:e.Optional(e.Number({description:"Do not use this field. It is used internally by the editor."})),hidden:e.Optional(e.Boolean({description:"Do not use this field. It is used internally by the editor."}))},{$id:"brick-position"}),c=e.Object({x:e.Union([e.Number(),e.Literal("half"),e.Literal("third"),e.Literal("twoThird"),e.Literal("quarter"),e.Literal("threeQuarter")],{title:"X",description:"The column start (0-based) in grid units, not pixels. Can use aliases like 'half' to represent half of the grid."}),y:e.Number({title:"Y",description:"The row start (0-based) in grid units, not pixels."}),w:e.Union([e.Number(),e.Literal("full"),e.Literal("half"),e.Literal("third"),e.Literal("twoThird"),e.Literal("quarter"),e.Literal("threeQuarter")],{title:"Width",description:"The width in columns in grid units, not pixels. Can use aliases like 'half' to represent half of the grid."}),h:e.Union([e.Number({title:"Height",description:"The height in rows in grid units, not pixels."})]),hidden:e.Optional(e.Boolean({description:"Do not use this field. It is used internally by the editor."}))}),u=e.Object({id:e.String({title:"ID",description:"A unique identifier for the brick."}),type:e.String({title:"Type"}),props:e.Record(e.String(),e.Unknown()),mobileProps:e.Record(e.String(),e.Unknown()),parentId:e.Optional(e.String()),sectionId:e.String(),$children:e.Optional(e.Array(e.Ref("brick"))),position:e.Object({mobile:l,desktop:l},{title:"Position",description:"The position of the brick in the layout."})},{$id:"brick"}),T=e.Composite([e.Pick(u,["type","props","sectionId","parentId","$children"]),e.Object({id:e.Optional(e.String()),mobileProps:e.Optional(u.properties.props),position:e.Object({mobile:c,desktop:c})})]),h=e.Object({background:e.Optional(p()),width:e.Optional(o.enum("Width","max-w-full",{options:[{value:"max-w-screen-lg",title:"Medium",description:"Common for text-heavy content/blog posts"},{value:"max-w-screen-xl",title:"Large",description:"Usefull or some landing pages"},{value:"max-w-screen-2xl",title:"Extra large",description:"Common width"},{value:"max-w-full",title:"Full width",description:"Takes the entire space"}],description:"The maximum width of the page. Desktop only",displayAs:"select","ui:group":"layout","ui:group:order":3,"ui:group:title":"Layout"})),$paddingHorizontal:e.Optional(o.number("Horizontal spacing",0,{min:0,description:"Horizontal spacing. Desktop only",displayAs:"button-group"})),lastTouched:e.Optional(e.Number({description:"Do not use this field. It is used internally by the editor.","ui:field":"hidden"}))},{additionalProperties:!0}),b=e.Object({id:e.String(),kind:e.Literal("section"),label:e.Optional(e.String()),position:e.Object({mobile:e.Object({h:e.Optional(e.Union([e.Number(),e.Literal("full")]))}),desktop:e.Object({h:e.Union([e.Number(),e.Literal("full")])})}),order:e.Number({description:"Determines section order in the page (lower numbers appear first)"}),props:h,mobileProps:e.Optional(e.Partial(h))},{$id:"section"}),D=e.Omit(b,["kind"]);function m(t,i,r=s){return{x:t.x==="quarter"?r[i]/4:t.x==="threeQuarter"?r[i]*.75:t.x==="half"?r[i]/2:t.x==="third"?r[i]/3:t.x==="twoThird"?r[i]*2/3:t.x,y:t.y,w:t.w==="full"?r[i]:t.w==="half"?r[i]/2:t.w==="third"?r[i]/3:t.w==="quarter"?r[i]/4:t.w==="twoThird"?r[i]*2/3:t.w==="threeQuarter"?r[i]*3/4:t.w,h:t.h,hidden:t.hidden}}function I(t){return t.map(i=>({...i,props:i.props??{},kind:"section"}))}function N(t){return t.map(x)}function y(){return{desktop:{w:0,h:0,x:0,y:0},mobile:{w:0,h:0,x:0,y:0}}}function x(t){let i=t.id??`brick-${d()}`;return{id:i,...t,props:{...a({},n[t.type].props,t.props),..."$children"in t.props?{$children:t.props.$children.map(r=>({...r,id:r.id??`brick-${d()}`,parentId:i,sectionId:t.sectionId,position:{mobile:{},desktop:{}},props:a({},n[r.type].props,r.props)}))}:{}},mobileProps:t.mobileProps??{},position:t.position?{mobile:m(t.position.mobile,"mobile"),desktop:m(t.position.desktop,"desktop")}:y()}}export{d as a,u as b,T as c,b as d,D as e,I as f,N as g,y as h,x as i};
@@ -1,20 +1,17 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
2
  export declare const blogSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
3
3
  title: import("@sinclair/typebox").TString;
4
+ excerpt: import("@sinclair/typebox").TString;
5
+ image: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
6
  content: import("@sinclair/typebox").TString;
5
7
  author: import("@sinclair/typebox").TObject<{
6
8
  name: import("@sinclair/typebox").TString;
7
9
  }>;
8
10
  publishedAt: import("@sinclair/typebox").TString;
9
- updatedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
11
  slug: import("@sinclair/typebox").TString;
11
12
  status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"draft">, import("@sinclair/typebox").TLiteral<"published">, import("@sinclair/typebox").TLiteral<"archived">]>;
12
13
  categories: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
13
14
  tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
14
- metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
15
- description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
- featuredImage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
- }>>;
18
15
  }>>;
19
16
  export type BlogSchema = Static<typeof blogSchema>;
20
17
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/blog/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;GAsDtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/blog/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;GA4DtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/changelog/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;;;GAoC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/changelog/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;;;GAuC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/faq/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,SAAS;;;;;;GAqBrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/faq/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,SAAS;;;;;;GAsBrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -1,87 +1,86 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
- export declare const jobBoardSchema: import("@sinclair/typebox").TObject<{
3
- company: import("@sinclair/typebox").TObject<{
4
- basicInfo: import("@sinclair/typebox").TObject<{
5
- name: import("@sinclair/typebox").TString;
6
- legalName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
- industry: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
8
- companySize: import("@sinclair/typebox").TString;
9
- foundedYear: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
10
- description: import("@sinclair/typebox").TString;
11
- }>;
12
- contact: import("@sinclair/typebox").TObject<{
13
- email: import("@sinclair/typebox").TString;
14
- phone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
- website: import("@sinclair/typebox").TString;
16
- socialMedia: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
17
- linkedin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
- twitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
- facebook: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
- }>>;
21
- }>;
22
- location: import("@sinclair/typebox").TObject<{
23
- headquarters: import("@sinclair/typebox").TObject<{
24
- address: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
- city: import("@sinclair/typebox").TString;
26
- state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
- country: import("@sinclair/typebox").TString;
28
- postalCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
- }>;
30
- hasRemoteWorkPolicy: import("@sinclair/typebox").TBoolean;
31
- offices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
32
- city: import("@sinclair/typebox").TString;
33
- state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
- country: import("@sinclair/typebox").TString;
35
- }>>>;
36
- }>;
2
+ export declare const jobBoardCompanySchema: import("@sinclair/typebox").TObject<{
3
+ basicInfo: import("@sinclair/typebox").TObject<{
4
+ name: import("@sinclair/typebox").TString;
5
+ legalName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ industry: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
7
+ companySize: import("@sinclair/typebox").TString;
8
+ foundedYear: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
+ description: import("@sinclair/typebox").TString;
37
10
  }>;
38
- jobListing: import("@sinclair/typebox").TObject<{
39
- id: import("@sinclair/typebox").TString;
40
- basicInfo: import("@sinclair/typebox").TObject<{
41
- title: import("@sinclair/typebox").TString;
42
- department: import("@sinclair/typebox").TString;
43
- employmentType: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
44
- experienceLevel: import("@sinclair/typebox").TString;
45
- workplaceType: import("@sinclair/typebox").TString;
46
- }>;
47
- compensation: import("@sinclair/typebox").TObject<{
48
- salary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
49
- min: import("@sinclair/typebox").TNumber;
50
- max: import("@sinclair/typebox").TNumber;
51
- currency: import("@sinclair/typebox").TString;
52
- period: import("@sinclair/typebox").TString;
53
- }>>;
54
- benefits: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
55
- additionalCompensation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
- }>;
57
- details: import("@sinclair/typebox").TObject<{
58
- description: import("@sinclair/typebox").TString;
59
- responsibilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
60
- requirements: import("@sinclair/typebox").TObject<{
61
- required: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
62
- preferred: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
63
- }>;
64
- skills: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
65
- name: import("@sinclair/typebox").TString;
66
- level: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
67
- required: import("@sinclair/typebox").TBoolean;
68
- }>>;
69
- }>;
70
- applicationProcess: import("@sinclair/typebox").TObject<{
71
- howToApply: import("@sinclair/typebox").TString;
72
- applicationUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
73
- applicationEmail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
74
- requiredDocuments: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
75
- }>;
76
- metadata: import("@sinclair/typebox").TObject<{
77
- postingDate: import("@sinclair/typebox").TString;
78
- expirationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
79
- status: import("@sinclair/typebox").TString;
80
- isSponsored: import("@sinclair/typebox").TBoolean;
81
- isRemoteEligible: import("@sinclair/typebox").TBoolean;
82
- isVisaSponsored: import("@sinclair/typebox").TBoolean;
11
+ contact: import("@sinclair/typebox").TObject<{
12
+ email: import("@sinclair/typebox").TString;
13
+ phone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
+ website: import("@sinclair/typebox").TString;
15
+ socialMedia: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
16
+ linkedin: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ twitter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ facebook: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ }>>;
20
+ }>;
21
+ location: import("@sinclair/typebox").TObject<{
22
+ headquarters: import("@sinclair/typebox").TObject<{
23
+ address: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
+ city: import("@sinclair/typebox").TString;
25
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
26
+ country: import("@sinclair/typebox").TString;
27
+ postalCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
28
  }>;
29
+ hasRemoteWorkPolicy: import("@sinclair/typebox").TBoolean;
30
+ offices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
31
+ city: import("@sinclair/typebox").TString;
32
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
33
+ country: import("@sinclair/typebox").TString;
34
+ }>>>;
84
35
  }>;
85
36
  }>;
86
- export type JobBoardType = Static<typeof jobBoardSchema>;
37
+ export declare const jobBoardListingSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
38
+ id: import("@sinclair/typebox").TString;
39
+ basicInfo: import("@sinclair/typebox").TObject<{
40
+ title: import("@sinclair/typebox").TString;
41
+ department: import("@sinclair/typebox").TString;
42
+ employmentType: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
43
+ experienceLevel: import("@sinclair/typebox").TString;
44
+ workplaceType: import("@sinclair/typebox").TString;
45
+ }>;
46
+ compensation: import("@sinclair/typebox").TObject<{
47
+ salary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
48
+ min: import("@sinclair/typebox").TNumber;
49
+ max: import("@sinclair/typebox").TNumber;
50
+ currency: import("@sinclair/typebox").TString;
51
+ period: import("@sinclair/typebox").TString;
52
+ }>>;
53
+ benefits: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
54
+ additionalCompensation: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
+ }>;
56
+ details: import("@sinclair/typebox").TObject<{
57
+ description: import("@sinclair/typebox").TString;
58
+ responsibilities: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
59
+ requirements: import("@sinclair/typebox").TObject<{
60
+ required: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
61
+ preferred: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
62
+ }>;
63
+ skills: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
64
+ name: import("@sinclair/typebox").TString;
65
+ level: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
66
+ required: import("@sinclair/typebox").TBoolean;
67
+ }>>;
68
+ }>;
69
+ applicationProcess: import("@sinclair/typebox").TObject<{
70
+ howToApply: import("@sinclair/typebox").TString;
71
+ applicationUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
72
+ applicationEmail: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
73
+ requiredDocuments: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
74
+ }>;
75
+ metadata: import("@sinclair/typebox").TObject<{
76
+ postingDate: import("@sinclair/typebox").TString;
77
+ expirationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
78
+ status: import("@sinclair/typebox").TString;
79
+ isSponsored: import("@sinclair/typebox").TBoolean;
80
+ isRemoteEligible: import("@sinclair/typebox").TBoolean;
81
+ isVisaSponsored: import("@sinclair/typebox").TBoolean;
82
+ }>;
83
+ }>>;
84
+ export type JobBoardCompanyType = Static<typeof jobBoardCompanySchema>;
85
+ export type JobBoardListingType = Static<typeof jobBoardListingSchema>;
87
86
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/job-board/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8N1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../src/shared/datasources/internal/job-board/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsIjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,qBAAqB,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,e,f,g,h,i,j,k,l,m,n,o,p,q}from"../chunk-ZRWRIZBR.js";export{j as blogSchema,k as changelogSchema,m as contactInfoSchema,n as cvSchema,a as facebookPostSchema,o as faqSchema,b as instagramFeedSchema,l as linksSchema,c as mastodonAccountSchema,e as mastodonStatusArraySchema,d as mastodonStatusSchema,p as recipesSchema,q as restaurantSchema,f as rssSchema,g as threadsMediaSchema,h as tiktokVideoListSchema,i as youtubeListSchema};
3
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q}from"../chunk-HC4I5B3L.js";export{j as blogSchema,k as changelogSchema,m as contactInfoSchema,n as cvSchema,a as facebookPostSchema,o as faqSchema,b as instagramFeedSchema,l as linksSchema,c as mastodonAccountSchema,e as mastodonStatusArraySchema,d as mastodonStatusSchema,p as recipesSchema,q as restaurantSchema,f as rssSchema,g as threadsMediaSchema,h as tiktokVideoListSchema,i as youtubeListSchema};
@@ -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,b as s,d as c,e as n,f as o,g as u,h as i,i as m,j as h,k as d,l as S,m as l,n as f,o as p,p as g,q as k}from"./chunk-ZRWRIZBR.js";function D(e){let r={};for(let[v,a]of Object.entries(e))r[v]={...a,schema:"schema"in a?a.schema:b(a.provider)};return r}function b(e){switch(e){case"facebook-posts":return t;case"instagram-feed":return s;case"mastodon-status":return c;case"mastodon-status-list":return n;case"rss":return o;case"threads-media":return u;case"tiktok-video":return i;case"youtube-list":return m;case"internal-blog":return h;case"internal-changelog":return d;case"internal-contact-info":return l;case"internal-faq":return p;case"internal-links":return S;case"internal-recipes":return g;case"internal-restaurant":return k;case"internal-cv":return f}throw new Error(`No schema for provider: ${e}`)}export{D as defineDataSources};
3
+ import{a as t,b as s,d as c,e as n,f as o,g as u,h as i,i as m,j as h,k as d,l as S,m as l,n as f,o as p,p as g,q as k}from"./chunk-HC4I5B3L.js";function D(e){let r={};for(let[v,a]of Object.entries(e))r[v]={...a,schema:"schema"in a?a.schema:b(a.provider)};return r}function b(e){switch(e){case"facebook-posts":return t;case"instagram-feed":return s;case"mastodon-status":return c;case"mastodon-status-list":return n;case"rss":return o;case"threads-media":return u;case"tiktok-video":return i;case"youtube-list":return m;case"internal-blog":return h;case"internal-changelog":return d;case"internal-contact-info":return l;case"internal-faq":return p;case"internal-links":return S;case"internal-recipes":return g;case"internal-restaurant":return k;case"internal-cv":return f}throw new Error(`No schema for provider: ${e}`)}export{D as defineDataSources};
@@ -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-TGGTFM2R.js";import"./chunk-WXKRIUTA.js";import"./chunk-H6L4KRCJ.js";import"./chunk-KK7J6SRT.js";import"./chunk-WJ5CDDXW.js";import"./chunk-7XRTVY2Z.js";import"./chunk-2ZPY4LCA.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";export{a as getNewPageConfig,c as getNewSiteConfig,b as siteSchema,d as templatePageSchema};
3
+ import{a,b,c,d}from"./chunk-OTJI3IWM.js";import"./chunk-WXKRIUTA.js";import"./chunk-H6L4KRCJ.js";import"./chunk-SWGSHUTE.js";import"./chunk-WJ5CDDXW.js";import"./chunk-7XRTVY2Z.js";import"./chunk-2ZPY4LCA.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";export{a as getNewPageConfig,c as getNewSiteConfig,b as siteSchema,d as templatePageSchema};
@@ -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{d as o}from"./chunk-TGGTFM2R.js";import"./chunk-WXKRIUTA.js";import{b as p}from"./chunk-H6L4KRCJ.js";import"./chunk-KK7J6SRT.js";import"./chunk-WJ5CDDXW.js";import{b as m}from"./chunk-7XRTVY2Z.js";import"./chunk-2ZPY4LCA.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import{b as i,d as r}from"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";import{Type as a}from"@sinclair/typebox";import{Type as t}from"@sinclair/typebox";var s=t.Object({id:t.Optional(t.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:t.String({title:"Template Name"}),description:t.Optional(t.String({title:"Show template description"})),readme:t.Optional(t.Record(t.RegExp(/^[a-z]{2}$/),t.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:t.Optional(t.Array(t.String(),{title:"Tags"})),author:t.Optional(t.String({title:"Author name"})),thumbnail:t.Optional(t.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:t.Optional(t.String({title:"Homepage",description:"A URL to the homepage of the template."}))});export*from"@sinclair/typebox";function g(e){return{attributes:i(e.attributes),attr:e.attr,manifest:e.manifest,pages:e.pages,themes:e.themes,...e.datasources?{datasources:e.datasources}:{}}}var b=a.Object({manifest:s,themes:a.Array(p),datasources:a.Optional(m),attributes:r,attr:a.Record(a.String(),a.Any()),pages:a.Array(o)},{title:"Template schema",description:"The template configuration schema"});export{g as defineConfig,b as templateSchema};
3
+ import{d as o}from"./chunk-OTJI3IWM.js";import"./chunk-WXKRIUTA.js";import{b as p}from"./chunk-H6L4KRCJ.js";import"./chunk-SWGSHUTE.js";import"./chunk-WJ5CDDXW.js";import{b as m}from"./chunk-7XRTVY2Z.js";import"./chunk-2ZPY4LCA.js";import"./chunk-S64XUCWM.js";import"./chunk-3CY6AZG7.js";import"./chunk-IKAMZM4I.js";import"./chunk-F2ZVIFHO.js";import"./chunk-6MEWEGNA.js";import"./chunk-4FLI7C3B.js";import"./chunk-OELIU5BZ.js";import"./chunk-DAPQ4JPP.js";import"./chunk-WOEBR25A.js";import"./chunk-BK6LBWDI.js";import"./chunk-U5WW6K7W.js";import"./chunk-ERSFH7XA.js";import"./chunk-PD7P5KSV.js";import"./chunk-BXEKJXEP.js";import"./chunk-PJ6HA55L.js";import"./chunk-U4R5EGBK.js";import"./chunk-KB4HY432.js";import"./chunk-Q4MXTCE4.js";import"./chunk-V2NS45PF.js";import"./chunk-HIZPJNEM.js";import"./chunk-JVDUEZYO.js";import"./chunk-XBX6II3M.js";import"./chunk-QCQH5WLN.js";import"./chunk-WPTVLIYS.js";import"./chunk-FGU4BGP4.js";import"./chunk-SQVL4WSX.js";import{b as i,d as r}from"./chunk-64II435T.js";import"./chunk-ZWQHIQEQ.js";import"./chunk-U44NTSIO.js";import"./chunk-LDOM2LJF.js";import"./chunk-IWSVY2VC.js";import"./chunk-AZ63RF3K.js";import"./chunk-SO5M7CYA.js";import"./chunk-XGCBIXOO.js";import"./chunk-RBYYMUOZ.js";import"./chunk-P5FVZ5PL.js";import"./chunk-BMDB2V7J.js";import"./chunk-PSSJMWGU.js";import{Type as a}from"@sinclair/typebox";import{Type as t}from"@sinclair/typebox";var s=t.Object({id:t.Optional(t.String({title:"Template ID",description:"A unique identifier for the template. Can be any string, but should be unique."})),name:t.String({title:"Template Name"}),description:t.Optional(t.String({title:"Show template description"})),readme:t.Optional(t.Record(t.RegExp(/^[a-z]{2}$/),t.String(),{title:"Readme texts.",description:"A dictionary of readme files for different languages (iso 2 letters code). Currently on supported for 'en' and 'fr'."})),tags:t.Optional(t.Array(t.String(),{title:"Tags"})),author:t.Optional(t.String({title:"Author name"})),thumbnail:t.Optional(t.String({title:"Thumbnail",description:"A URL to the thumbnail image for the template."})),homepage:t.Optional(t.String({title:"Homepage",description:"A URL to the homepage of the template."}))});export*from"@sinclair/typebox";function g(e){return{attributes:i(e.attributes),attr:e.attr,manifest:e.manifest,pages:e.pages,themes:e.themes,...e.datasources?{datasources:e.datasources}:{}}}var b=a.Object({manifest:s,themes:a.Array(p),datasources:a.Optional(m),attributes:r,attr:a.Record(a.String(),a.Any()),pages:a.Array(o)},{title:"Template schema",description:"The template configuration schema"});export{g as defineConfig,b as templateSchema};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upstart.gg/sdk",
3
- "version": "0.0.89",
3
+ "version": "0.0.90",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -63,8 +63,6 @@
63
63
  "open": "10.1.0",
64
64
  "ora": "8.1.0",
65
65
  "p-queue": "8.0.1",
66
- "react": "18.3.0-canary-3d9b20132-20240124",
67
- "react-dom": "18.3.0-canary-3d9b20132-20240124",
68
66
  "react-hotkeys-hook": "4.5.1",
69
67
  "react-icons": "5.3.0",
70
68
  "react-selecto": "1.26.3",
@@ -74,12 +72,12 @@
74
72
  "zod-validation-error": "3.3.1",
75
73
  "zundo": "2.3.0",
76
74
  "zustand": "4.5.5",
77
- "@upstart.gg/style-system": "0.0.89"
75
+ "@upstart.gg/style-system": "0.0.90"
78
76
  },
79
77
  "peerDependencies": {
80
78
  "react": "18.3.0-canary-3d9b20132-20240124",
81
79
  "react-dom": "18.3.0-canary-3d9b20132-20240124",
82
- "@upstart.gg/style-system": "0.0.89"
80
+ "@upstart.gg/style-system": "0.0.90"
83
81
  },
84
82
  "devDependencies": {
85
83
  "@cloudflare/workers-types": "4.20240806.0",
@@ -1,3 +0,0 @@
1
- /*! Upstart.gg - Copyright (C) 2024 Flippable - https://github.com/upstart-gg/upstart/blob/main/LICENSE */
2
-
3
- import{Type as l}from"@sinclair/typebox";var b=l.Object({data:l.Array(l.Object({from:l.Object({name:l.String(),id:l.String()}),id:l.String(),permalink_url:l.String(),is_hidden:l.Boolean(),message:l.Optional(l.String()),object_id:l.String(),link:l.String(),is_published:l.Boolean(),status_type:l.String(),type:l.String(),actions:l.Array(l.Object({name:l.String(),link:l.String()}))})),paging:l.Object({previous:l.Optional(l.String()),next:l.Optional(l.String())})});import{Type as c}from"@sinclair/typebox";var A=c.Object({data:c.Array(c.Object({id:c.String(),caption:c.String(),timestamp:c.String(),media_url:c.String(),permalink:c.String(),media_type:c.Union([c.Literal("IMAGE"),c.Literal("VIDEO"),c.Literal("CAROUSEL_ALBUM")])})),paging:c.Object({cursors:c.Object({before:c.Optional(c.String()),after:c.Optional(c.String())}),next:c.Optional(c.String())})});import{Type as t}from"@sinclair/typebox";import{Type as r}from"@sinclair/typebox";var O=r.Object({id:r.String(),username:r.String(),acct:r.String(),url:r.String(),display_name:r.Optional(r.String()),note:r.String(),avatar:r.String(),avatar_static:r.String(),header:r.String(),header_static:r.String(),locked:r.Boolean(),fields:r.Array(r.Object({name:r.String(),value:r.String(),verified_at:r.Optional(r.String())})),emojis:r.Array(r.Object({shortcode:r.String(),url:r.String(),static_url:r.String(),visible_in_picker:r.Boolean(),category:r.Optional(r.String())})),bot:r.Boolean(),group:r.Boolean(),discoverable:r.Union([r.Boolean(),r.Null()]),noindex:r.Optional(r.Boolean()),moved:r.Optional(r.String()),suspended:r.Optional(r.Boolean()),limited:r.Optional(r.Boolean()),created_at:r.String(),last_status_at:r.Optional(r.String()),statuses_count:r.Number(),followers_count:r.Number(),following_count:r.Number()});var j=t.Object({id:t.String(),type:t.Union([t.Literal("audio"),t.Literal("image"),t.Literal("video"),t.Literal("gifv"),t.Literal("unknown")]),url:t.String(),preview_url:t.Optional(t.String()),remote_url:t.Optional(t.String()),meta:t.Record(t.String(),t.Any()),description:t.Optional(t.String()),blurhash:t.Optional(t.String())}),h=t.Object({shortcode:t.String(),url:t.String(),static_url:t.String(),visible_in_picker:t.Boolean(),category:t.Optional(t.String())}),x=t.Object({url:t.String(),title:t.String(),description:t.String(),type:t.Union([t.Literal("link"),t.Literal("photo"),t.Literal("video"),t.Literal("rich")]),author_name:t.String(),author_url:t.String(),provider_name:t.String(),provider_url:t.String(),html:t.String(),width:t.Number(),height:t.Number(),image:t.Optional(t.String()),embed_url:t.String(),blurhash:t.Optional(t.String())}),_=t.Object({id:t.String(),expires_at:t.String(),expired:t.Boolean(),multiple:t.Boolean(),votes_count:t.Number(),options:t.Array(t.Object({title:t.String(),votes_count:t.Number()})),voted:t.Optional(t.Boolean()),own_votes:t.Optional(t.Array(t.Number())),emojis:t.Array(h)}),f=t.Object({id:t.String(),uri:t.String(),created_at:t.String(),account:O,content:t.String(),visibility:t.Union([t.Literal("public"),t.Literal("unlisted"),t.Literal("private"),t.Literal("direct")]),sensitive:t.Boolean(),media_attachments:t.Array(j),application:t.Optional(t.Object({name:t.String(),website:t.Optional(t.String())})),mentions:t.Array(t.Object({id:t.String(),username:t.String(),acct:t.String(),url:t.String()})),tags:t.Array(t.Object({name:t.String(),url:t.String()})),emojis:t.Array(h),reblogs_count:t.Number(),favourites_count:t.Number(),replies_count:t.Number(),url:t.String(),in_reply_to_id:t.Optional(t.String()),in_reply_to_account_id:t.Optional(t.String()),reblog:t.Optional(t.Ref("mastodonStatus")),poll:t.Optional(_),card:t.Optional(x),language:t.Optional(t.String()),text:t.Optional(t.String()),edited_at:t.Optional(t.String()),favourited:t.Optional(t.Boolean()),reblogged:t.Optional(t.Boolean()),muted:t.Optional(t.Boolean()),bookmarked:t.Optional(t.Boolean()),pinned:t.Optional(t.Boolean())},{$id:"mastodonStatus"}),L=t.Array(f);import{Type as p}from"@sinclair/typebox";var k=p.Object({title:p.String({title:"Title",description:"The title of the RSS feed"}),link:p.String({title:"Link",description:"The link to the RSS feed"}),description:p.Optional(p.String({title:"Description",description:"The description of the RSS feed"})),updated:p.Optional(p.String({title:"Updated",description:"The last updated date of the RSS feed"})),items:p.Array(p.Object({title:p.Optional(p.String({title:"Title",description:"The title of the RSS feed item"})),link:p.Optional(p.String({title:"Link",description:"The link to the RSS feed item"})),creator:p.Optional(p.String({title:"Creator",description:"The creator of the RSS feed item"})),content:p.Optional(p.String({title:"Content",description:"The content of the RSS feed item"})),pubDate:p.Optional(p.String({title:"Pub Date",description:"The publication date of the RSS feed item"}))}))});import{Type as a}from"@sinclair/typebox";var v=a.Object({data:a.Array(a.Object({id:a.String(),media_product_type:a.Literal("THREADS"),media_type:a.Union([a.Literal("TEXT_POST"),a.Literal("IMAGE"),a.Literal("VIDEO"),a.Literal("CAROUSEL_ALBUM"),a.Literal("AUDIO"),a.Literal("REPOST_FACADE")]),media_url:a.String(),permalink:a.String(),owner:a.Object({id:a.String()}),username:a.String(),text:a.String(),timestamp:a.String(),thumbnail_url:a.String(),shortcode:a.String(),is_quote_post:a.Boolean()})),paging:a.Object({cursors:a.Object({before:a.String(),after:a.String()})})});import{Type as s}from"@sinclair/typebox";var T=s.Object({data:s.Object({has_more:s.Boolean(),cursor:s.Number(),videos:s.Array(s.Object({title:s.String(),video_description:s.String(),cover_image_url:s.String(),duration:s.Number(),embed_link:s.String(),id:s.String()}))}),error:s.Optional(s.Object({code:s.String(),message:s.String(),log_id:s.String()}))});import{Type as n}from"@sinclair/typebox";var N=n.Object({etag:n.String(),nextPageToken:n.String(),regionCode:n.String(),pageInfo:n.Object({totalResults:n.Number(),resultsPerPage:n.Number()}),items:n.Array(n.Object({etag:n.String(),id:n.Object({videoId:n.String(),channelId:n.String(),playlistId:n.String()}),snippet:n.Object({publishedAt:n.String(),channelId:n.String(),title:n.String(),description:n.String(),thumbnails:n.Object({default:n.Object({url:n.String(),width:n.Number(),height:n.Number()}),standard:n.Object({url:n.String(),width:n.Number(),height:n.Number()})}),channelTitle:n.String(),liveBroadcastContent:n.String()})}))});import{Type as o}from"@sinclair/typebox";var D=o.Array(o.Object({title:o.String({description:"Blog post title"}),content:o.String({description:"Blog post content",format:"markdown"}),author:o.Object({name:o.String({description:"Author's name"})}),publishedAt:o.String({description:"Publication date in ISO format"}),updatedAt:o.Optional(o.String({description:"Last update date in ISO format"})),slug:o.String({description:"URL-friendly version of the title"}),status:o.Union([o.Literal("draft"),o.Literal("published"),o.Literal("archived")],{description:"Publication status of the blog post"}),categories:o.Optional(o.Array(o.String({description:"Blog post categories"}))),tags:o.Optional(o.Array(o.String({description:"Blog post tags"}))),metadata:o.Optional(o.Object({description:o.Optional(o.String()),featuredImage:o.Optional(o.String())},{description:"Additional metadata for the blog post"}))}));import{Type as S}from"@sinclair/typebox";var B=S.Array(S.Object({title:S.String({description:"Title of the release"}),version:S.Optional(S.String({description:"Version number"})),date:S.String({format:"date",description:"Release date in ISO format"}),changes:S.Array(S.Object({type:S.Union([S.Literal("added"),S.Literal("changed"),S.Literal("fixed"),S.Literal("improved"),S.Literal("deprecated"),S.Literal("removed")],{description:"Type of change"}),description:S.String({description:"Description of the change",format:"markdown"})}))}));import{Type as m}from"@sinclair/typebox";import{Type as u}from"@sinclair/typebox";var y=u.Array(u.Object({url:u.String({format:"uri",description:"URL"}),title:u.String({description:"Title"}),description:u.Optional(u.String({description:"Description",format:"markdown"})),icon:u.Optional(u.String({description:"Icon"}))}),{description:"Schema representing a collection of links"});var I=m.Object({email:m.String({format:"email"}),phone:m.Optional(m.String()),companyName:m.Optional(m.String()),firstName:m.Optional(m.String()),lastName:m.Optional(m.String()),url:m.Optional(m.String({format:"uri"})),address:m.Optional(m.String()),socialLinks:y},{description:"A generic schema representing a person or company contact information"});import{Type as i}from"@sinclair/typebox";var P=i.Object({firstName:i.String({title:"First name"}),lastName:i.String({title:"Last name"}),tagLine:i.String({title:"Tag line"}),email:i.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"}),phoneNumber:i.Optional(i.String({title:"Phone number",pattern:"^\\+?[1-9]\\d{1,14}$"})),address:i.Optional(i.String({title:"Address"})),socialLinks:i.Optional(i.Array(i.Object({platform:i.String({title:"Platform",enum:["LinkedIn","GitHub","Twitter","Portfolio","Other"]}),url:i.String({title:"URL",pattern:"^https?://.*"})}))),professionalSummary:i.String({title:"Professional Summary",description:"Brief overview of your professional background and goals",maxLength:2e3}),workExperience:i.Array(i.Object({company:i.String({title:"Company Name"}),position:i.String({title:"Position"}),location:i.Optional(i.String({title:"Location"})),startDate:i.String({title:"Start Date",format:"date"}),endDate:i.Optional(i.String({title:"End Date",format:"date"})),current:i.Optional(i.Boolean({title:"Current Position",default:!1})),description:i.String({title:"Description",description:"Description of responsibilities and achievements",format:"markdown"}),achievements:i.Optional(i.Array(i.String({title:"Achievement"})))})),education:i.Array(i.Object({institution:i.String({title:"Institution"}),degree:i.String({title:"Degree"}),field:i.String({title:"Field of Study"}),startDate:i.String({title:"Start Date",format:"date"}),endDate:i.Optional(i.String({title:"End Date",format:"date"})),gpa:i.Optional(i.Number({title:"GPA",minimum:0,maximum:4})),honors:i.Optional(i.Array(i.String({title:"Honor/Award"})))})),skills:i.Array(i.Object({category:i.String({title:"Skill Category",description:"E.g., Programming Languages, Tools, Soft Skills"}),items:i.Array(i.Object({name:i.String({title:"Skill Name"}),level:i.Optional(i.String({title:"Proficiency Level",enum:["Beginner","Intermediate","Advanced","Expert"]}))}))})),certifications:i.Optional(i.Array(i.Object({name:i.String({title:"Certification Name"}),issuer:i.String({title:"Issuing Organization"}),dateObtained:i.String({title:"Date Obtained",format:"date"}),expiryDate:i.Optional(i.String({title:"Expiry Date",format:"date"})),credentialId:i.Optional(i.String({title:"Credential ID"}))}))),languages:i.Optional(i.Array(i.Object({language:i.String({title:"Language"}),proficiency:i.String({title:"Proficiency Level",enum:["Basic","Intermediate","Advanced","Native/Bilingual"]})}))),projects:i.Optional(i.Array(i.Object({name:i.String({title:"Project Name"}),description:i.String({title:"Description"}),url:i.Optional(i.String({title:"Project URL",pattern:"^https?://.*"})),technologies:i.Array(i.String({title:"Technology"})),startDate:i.Optional(i.String({title:"Start Date",format:"date"})),endDate:i.Optional(i.String({title:"End Date",format:"date"}))}))),references:i.Optional(i.Array(i.Object({name:i.String({title:"Reference Name"}),position:i.String({title:"Position"}),company:i.String({title:"Company"}),email:i.Optional(i.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"})),phoneNumber:i.Optional(i.String({title:"Phone Number",pattern:"^\\+?[1-9]\\d{1,14}$"})),relationship:i.String({title:"Professional Relationship"})})))},{description:"Schema representing a comprehensive CV"});import{Type as d}from"@sinclair/typebox";var C=d.Array(d.Object({question:d.String({description:"Question",format:"markdown"}),answer:d.String({description:"Answer",format:"markdown"}),category:d.Optional(d.String({description:"Category"})),tags:d.Optional(d.Array(d.String(),{description:"Tags"})),order:d.Optional(d.Number({description:"Order number in the list"}))}),{description:"Schema representing a collection of frequently asked questions (FAQ)"});import{Type as g}from"@sinclair/typebox";var R=g.Array(g.Object({title:g.String({description:"Title of the recipe"}),description:g.String({description:"Description of the recipe",format:"markdown"}),time:g.String({description:"Time to prepare the recipe"}),ingredients:g.Array(g.Object({name:g.String({description:"Name of the ingredient"}),quantity:g.String({description:"Quantity of the ingredient"})})),steps:g.Array(g.Object({title:g.String({description:"Step title"}),description:g.String({description:"Step description"})}))}),{description:"Schema representing a collection of recipes"});import{Type as e}from"@sinclair/typebox";var w=e.Object({basicInfo:e.Object({name:e.String({title:"Restaurant Name"}),legalName:e.Optional(e.String({title:"Legal Business Name"})),taxId:e.Optional(e.String({title:"Tax ID/VAT Number"})),establishedDate:e.String({title:"Establishment Date",format:"date"}),cuisine:e.Array(e.String({title:"Cuisine Type",description:"Types of cuisine served"}))}),contact:e.Object({email:e.String({title:"Email",pattern:"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"}),phone:e.String({title:"Phone Number",pattern:"^\\+?[1-9]\\d{1,14}$"}),socialMedia:e.Optional(e.Object({facebook:e.Optional(e.String()),instagram:e.Optional(e.String()),twitter:e.Optional(e.String())}))}),location:e.Object({address:e.String({title:"Street Address"}),city:e.String({title:"City"}),state:e.Optional(e.String({title:"State/Province"})),postalCode:e.String({title:"Postal Code"}),country:e.String({title:"Country"}),coordinates:e.Optional(e.Object({latitude:e.Number(),longitude:e.Number()}))}),hours:e.Object({regularHours:e.Array(e.Object({day:e.String({enum:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]}),open:e.String({title:"Opening Time",pattern:"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$"}),close:e.String({title:"Closing Time",pattern:"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$"}),closed:e.Optional(e.Boolean({title:"Closed on this day",default:!1}))})),specialHours:e.Optional(e.Array(e.Object({date:e.String({title:"Special Date",format:"date"}),description:e.String({title:"Description"}),open:e.Optional(e.String()),close:e.Optional(e.String()),closed:e.Boolean({default:!1})})))}),menu:e.Object({categories:e.Array(e.Object({name:e.String({title:"Category Name",description:"E.g., Starters, Main Course, Desserts"}),description:e.Optional(e.String()),items:e.Array(e.Object({id:e.String({title:"Item ID"}),name:e.String({title:"Item Name"}),description:e.String({title:"Item Description"}),price:e.Number({title:"Price",minimum:0}),currency:e.String({default:"USD"}),spicyLevel:e.Optional(e.Number({minimum:0,maximum:5})),allergens:e.Optional(e.Array(e.String({enum:["Gluten","Dairy","Nuts","Eggs","Soy","Shellfish","Fish","Other"]}))),dietary:e.Optional(e.Array(e.String({enum:["Vegetarian","Vegan","Halal","Kosher","Gluten-Free","Dairy-Free"]}))),available:e.Boolean({title:"Currently Available",default:!0}),image:e.Optional(e.String({title:"Image URL",pattern:"^https?://.*"})),customizations:e.Optional(e.Array(e.Object({name:e.String({title:"Customization Name"}),options:e.Array(e.Object({name:e.String(),price:e.Optional(e.Number())})),required:e.Boolean({default:!1}),multiSelect:e.Boolean({default:!1})})))}))})),specials:e.Optional(e.Array(e.Object({name:e.String(),description:e.String(),price:e.Number(),startDate:e.String({format:"date"}),endDate:e.String({format:"date"}),daysAvailable:e.Optional(e.Array(e.String({enum:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]})))})))})},{description:"Schema representing a restaurant with its menu and details"});export{b as a,A as b,O as c,f as d,L as e,k as f,v as g,T as h,N as i,D as j,B as k,y as l,I as m,P as n,C as o,R as p,w as q};