@ourofoundation/ouro-js 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +541 -17
- package/dist/index.d.ts +541 -17
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {enum as _enum,object,string,optional,array,nullable,record,any,number,boolean,literal,discriminatedUnion,lazy}from'zod';import {uuidv7}from'uuidv7';import {marked}from'marked';var c=_enum(["user","organization","team","dataset","file","service","route","post","comment","conversation","blueprint","replication"]),l=_enum(["public","private","organization","monetized","inherit"]),z=_enum(["admin","read","write","none"]),re=_enum(["none","pay-to-unlock","pay-per-use"]),oa=object({id:string(),user_id:string(),org_id:optional(nullable(string())),embedding:array(number()),content:string(),asset_type:c,asset_id:string(),metadata:optional(nullable(record(string(),any()))),created_at:string(),last_updated:string()}),rt=_enum(["comment","reference","mention","action","component"]),ia=object({id:string().uuid(),user_id:string().uuid(),type:rt,action_id:optional(nullable(string().uuid())),source_id:string().uuid(),target_id:string().uuid(),source_asset_type:c,target_asset_type:c,created_at:string(),last_updated:string()}),na=object({assetId:string().uuid(),method:_enum(["checkout","api"]),assetType:c}),sa=object({id:string().uuid(),role:z,user:object({user_id:string().uuid()}),user_id:nullable(string().uuid()),org_id:nullable(string().uuid()),asset_type:c,asset_id:string().uuid(),created_at:string(),last_updated:string()}),ue=_enum(["queued","in-progress","success","error"]);var S=object({id:string().uuid(),user_id:string().uuid(),username:optional(nullable(string())),avatar_path:optional(nullable(string())),bio:optional(nullable(string())),urls:optional(array(object({value:string().url()}))),post_id:optional(nullable(string().uuid())),is_agent:boolean(),plan_type:_enum(["free","gold"]),last_active:string()}),ma=S.extend({is_agent:boolean(),isFollowing:boolean(),isFollowed:boolean(),isSelf:boolean(),followers:number().default(0),following:number().default(0)}),da=S.partial().omit({id:true,user_id:true,last_active:true});var K=object({id:string().uuid(),name:string(),avatar_path:optional(nullable(string())),mission:optional(nullable(string())),size:string(),email:optional(nullable(string())),domain:optional(nullable(string())),urls:optional(nullable(array(object({value:string()})))),base_role:z.default("write")}),ha=object({id:string().uuid(),user_id:string().uuid(),user:optional(nullable(S)),org_id:string().uuid(),team_id:string().uuid(),role:z,added_at:string().default(()=>new Date().toISOString()),visibility:l.default("public")});var W=object({id:string().uuid(),org_id:string().uuid(),organization:K,name:string(),description:optional(nullable(string())),default_role:z,visibility:l,userMembership:optional(nullable(object({user_id:string().uuid(),role:z}))),memberCount:optional(nullable(number())),members:array(object({user_id:string().uuid(),role:z,user:optional(nullable(S.partial()))})),created_at:string()}),Ca=W.extend({id:string().default(()=>uuidv7()),default_role:z.default("write").refine(e=>e==="read"||e==="write"),visibility:l.default("public").refine(e=>e==="public"||e==="organization"),created_at:string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),pt=W.extend({userMembership:optional(nullable(object({user_id:string().uuid(),role:z}))),memberCount:number(),members:array(object({user_id:string().uuid(),role:z,user:optional(nullable(S.partial()))})),organization:optional(nullable(K.partial()))}),va=array(pt.extend({label:string(),value:string()})),Ta=W.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:string().uuid()});var u=object({id:string().uuid(),user_id:string().uuid(),user:optional(S.partial()),org_id:string().uuid(),organization:optional(K.partial()),team_id:string().uuid(),team:optional(W.partial()),parent_id:optional(nullable(string().uuid())),parent:optional(record(string(),any())),asset_type:c,name:string(),name_url_slug:optional(nullable(string())),slug:optional(nullable(string())),description:optional(nullable(string())),visibility:l,monetization:re,price:optional(nullable(number())),unit_cost:optional(nullable(number())),cost_accounting:optional(nullable(_enum(["fixed","variable"]))),cost_unit:optional(nullable(string())),product_id:optional(nullable(string())),price_id:optional(nullable(string())),metadata:optional(nullable(record(string(),any()))),preview:optional(nullable(array(record(string(),any())))),state:optional(nullable(ue)),created_at:string(),last_updated:string()}),w=u.partial().omit({user_id:true,user:true,organization:true,team:true,slug:true}).extend({id:string().uuid().default(()=>uuidv7()),team_id:nullable(string().uuid()).default("00000000-0000-0000-0000-000000000000"),org_id:nullable(string().uuid()).default("00000000-0000-0000-0000-000000000000"),name:string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:optional(nullable(string())),state:ue.optional().default("success"),visibility:l.optional().default("public"),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}),Fa=u.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true});var ke=object({id:string().uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number())}),yt=u.extend({asset_type:literal("file").default("file"),metadata:ke}),Ia=discriminatedUnion("state",[w.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:ke}),w.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:object({type:string()})})]),Ea=yt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())});var Ne=lazy(()=>object({type:string(),content:optional(array(Ne)),attrs:optional(record(string(),any())),marks:optional(array(object({type:string(),attrs:optional(record(string(),any()))}))),text:optional(string())})),Y=object({type:literal("doc"),content:array(Ne)}),Le=object({json:Y,text:string()}).default({json:{type:"doc",content:[]},text:""}),Se=u.extend({name:nullable(string()),asset_type:c.refine(e=>["post","comment"].includes(e)),preview:Y.default({type:"doc",content:[]}),content:Le}),Ba=w.extend({asset_type:literal("post").default("post"),name:string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),preview:Y}),_t=Se.extend({content:optional(nullable(Le.default({json:{type:"doc",content:[]},text:""}))),reactions:array(record(string(),any())).default([]),views:number().default(0),commentCount:number().default(0),pinned:boolean().default(false)}),Ga=array(_t),Ha=array(Se),Za=Se.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,content:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())});var At=u.extend({asset_type:literal("comment").default("comment"),preview:optional(nullable(object({type:string().refine(e=>e==="doc"),content:array(record(string(),any()))}).default({type:"doc",content:[]})))}),Xa=At.partial().omit({id:true,user_id:true}).extend({asset_type:literal("comment").default("comment"),id:string().default(()=>uuidv7()),name:string().default(""),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())});var Ut=u.extend({metadata:object({members:array(string())}),asset_type:c.default("conversation"),users:optional(nullable(array(S)))}),Dt=Ut.omit({org_id:true,team_id:true,user_id:true,created_at:true,last_updated:true}).extend({id:string().uuid().default(()=>uuidv7()),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),monetization:re.default("none"),visibility:l.default("private")}),nr=Dt.omit({id:true,org_id:true,team_id:true,team:true,user:true,organization:true,slug:true}).partial(),sr=object({id:string().uuid(),conversation_id:string().uuid(),user_id:string().uuid(),user:optional(nullable(S)),created_at:string(),last_updated:string(),viewers:array(string().uuid()),json:Y,text:string(),metadata:optional(nullable(record(string(),any())))});var He=object({type:string(),size:number(),path:string(),extension:string(),name:string(),id:string().uuid(),bucket:_enum(["public-files","files"])}),Ce=object({table_name:string(),schema:literal("datasets").default("datasets"),columns:array(string())}),Ot=u.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce.extend({...He.partial().shape}),preview:array(record(string(),any()))}),dr=w.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce.extend({...He.shape}),preview:array(record(string(),any()))}),cr=w.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce,preview:array(record(string(),any()))}),lr=Ot.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({asset_type:literal("dataset").default("dataset"),last_updated:string().default(()=>new Date().toISOString())});var kt=_enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","other"]),Sr=object({id:string().uuid(),source_user_id:string().uuid(),destination_user_id:string().uuid(),org_id:string().uuid(),asset_id:optional(string().uuid()),type:kt,content:object({text:optional(string()),asset:optional(object({assetId:string(),assetType:c})),mention:optional(object({})),event:optional(object({type:_enum(["success","error"])}))}),viewed:boolean(),created_at:string(),last_updated:string()});var jt=_enum(["Personal Access Token","None","OAuth 2.0"]),br=object({id:string(),user_id:string(),org_id:optional(nullable(string())),name:string(),description:optional(nullable(string())),visibility:l,version:optional(nullable(string())),authentication:jt,base_url:string(),spec_path:string(),created_at:string(),last_updated:string()}),Cr=object({id:string(),user_id:string(),service_id:string(),path:string(),method:_enum(["GET","POST","PUT","PATCH","DELETE"]),summary:optional(nullable(string())),parameters:optional(nullable(array(record(string(),any())))),request_body:optional(nullable(record(string(),any()))),responses:optional(nullable(array(record(string(),any())))),input_type:optional(nullable(_enum(["file","dataset","post"]))),input_filter:optional(nullable(_enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:optional(nullable(string())),output_type:optional(nullable(_enum(["file","dataset","post"]))),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),last_updated:string()}),vr=object({id:string().uuid(),user_id:string().uuid(),route_id:string().uuid(),metadata:optional(nullable(record(string(),any()))),response:optional(nullable(record(string(),any()))),side_effects:boolean().default(true),input_asset_id:optional(nullable(string().uuid())),output_asset_id:optional(nullable(string().uuid())),input_asset:optional(nullable(u)),output_asset:optional(nullable(u)),status:_enum(["PENDING","PROCESSING","COMPLETED","FAILED"]),created_at:string(),last_updated:string(),started_at:optional(nullable(string())),finished_at:optional(nullable(string()))});var Bt=u.extend({asset_type:c.refine(e=>e==="replication"),metadata:object({schedule:optional(object({cron:string()}).passthrough())}).passthrough()}),Ur=Bt.partial().extend({id:string().uuid().default(()=>uuidv7()),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:string()}),Dr=object({team_id:optional(nullable(string().uuid())),name_url_slug:optional(nullable(string())),name:optional(nullable(string())),description:optional(nullable(string())),visibility:optional(nullable(l)),metadata:optional(nullable(record(string(),any()))),last_updated:string().default(()=>new Date().toISOString())});var Er=u.extend({asset_type:c.refine(e=>e==="blueprint")}),jr=u.partial().extend({id:string().uuid().default(()=>uuidv7()),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:string(),metadata:object({edges:array(record(string(),any())),nodes:array(record(string(),any()))}).passthrough()}),Nr=object({team_id:nullable(string().uuid()),name_url_slug:nullable(string()),name:nullable(string()),description:nullable(string()),visibility:nullable(l),metadata:nullable(record(string(),any())),last_updated:string().default(()=>new Date().toISOString())});var Br=object({id:string().uuid(),user_id:string().uuid(),asset_id:string().uuid(),content:record(string(),any()),created_at:string(),active:optional(nullable(boolean()))});function we(e,t=false){return !e||!Array.isArray(e)?"":e.map(m=>t&&(m.hasOwnProperty("active")&&!m.active)?"":`${m.column}.${m.operator}.${m.value}`).join(",")}var We=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),Xe=e=>{if(e.asset_type==="conversation")return `/conversations/${e.id}`;if(e.asset_type==="comment")return `/comments/${e.id}`;let t=e.org_id!=="00000000-0000-0000-0000-000000000000"?e.organization.name:e.user.username,m=e.name?We(e.name):e.id;return `/${e.asset_type}s/${t}/${m}`};var Xt=(e,t)=>{let m=(e==null?void 0:e.slug)||Xe(e),n=t!=null&&t.intent?`?intent=${t.intent}`:"",a=`${m}${n}`;return t!=null&&t.filters&&(a+=`?filters=${we(t.filters)}`),a};var Yt={name:"katex",level:"inline",start(e){let t=e.match(/\\\[|\\\(/);return t?t.index:void 0},end(e){var m,n,a;let t=e.match(/\s\\\]|\s\\\)/);return t?((m=t.index)!=null?m:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let m=/^\\\[([\s\S]*?)\\\]/,n=/^\\\(([\s\S]*?)\\\)/,a=m.exec(e);if(a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:true};if(a=n.exec(e),a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:false}},renderer(e){return `<span data-latex="${e.latex}" data-display-mode="${e.displayMode}"></span>`}},qt={name:"assetComponent",level:"block",start(e){var t;return (t=e.match(/^```assetComponent/))==null?void 0:t.index},end(e){var t;return (t=e.match(/^```/))==null?void 0:t.index},tokenizer(e,t){let n=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(n)return {type:"assetComponent",raw:n[0],properties:n[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(n){console.error("Invalid JSON in assetComponent properties:",n),t={};}return `
|
|
2
|
-
<asset-component ${Object.entries(t).map(([n,a])=>`${n}="${a}"`).join(" ")}></asset-component>`}},
|
|
1
|
+
import {enum as _enum,object,string,optional,array,nullable,record,any,number,boolean,literal,discriminatedUnion,lazy}from'zod';import {uuidv7}from'uuidv7';import {marked}from'marked';var u=_enum(["user","organization","team","dataset","file","service","route","post","comment","conversation","blueprint","replication"]),f=_enum(["public","private","organization","monetized","inherit"]),z=_enum(["admin","read","write","none"]),re=_enum(["none","pay-to-unlock","pay-per-use"]),ia=object({id:string(),user_id:string(),org_id:optional(nullable(string())),embedding:array(number()),content:string(),asset_type:u,asset_id:string(),metadata:optional(nullable(record(string(),any()))),created_at:string(),last_updated:string()}),rt=_enum(["comment","reference","mention","action","component"]),na=object({id:string().uuid(),user_id:string().uuid(),type:rt,action_id:optional(nullable(string().uuid())),source_id:string().uuid(),target_id:string().uuid(),source_asset_type:u,target_asset_type:u,created_at:string(),last_updated:string()}),sa=object({assetId:string().uuid(),method:_enum(["checkout","api"]),assetType:u}),pa=object({id:string().uuid(),role:z,user:object({user_id:string().uuid()}),user_id:nullable(string().uuid()),org_id:nullable(string().uuid()),asset_type:u,asset_id:string().uuid(),created_at:string(),last_updated:string()}),ue=_enum(["queued","in-progress","success","error"]);var S=object({id:string().uuid(),user_id:string().uuid(),username:optional(nullable(string())),avatar_path:optional(nullable(string())),bio:optional(nullable(string())),urls:optional(array(object({value:string().url()}))),post_id:optional(nullable(string().uuid())),is_agent:boolean(),plan_type:_enum(["free","gold"]),last_active:string()}),da=S.extend({is_agent:boolean(),isFollowing:boolean(),isFollowed:boolean(),isSelf:boolean(),followers:number().default(0),following:number().default(0)}),ca=S.partial().omit({id:true,user_id:true,last_active:true});var K=object({id:string().uuid(),name:string(),avatar_path:optional(nullable(string())),mission:optional(nullable(string())),size:string(),email:optional(nullable(string())),domain:optional(nullable(string())),urls:optional(nullable(array(object({value:string()})))),base_role:z.default("write")}),Sa=object({id:string().uuid(),user_id:string().uuid(),user:optional(nullable(S)),org_id:string().uuid(),team_id:string().uuid(),role:z,added_at:string().default(()=>new Date().toISOString()),visibility:f.default("public")});var W=object({id:string().uuid(),org_id:string().uuid(),organization:K,name:string(),description:optional(nullable(string())),default_role:z,visibility:f,userMembership:optional(nullable(object({user_id:string().uuid(),role:z}))),memberCount:optional(nullable(number())),members:array(object({user_id:string().uuid(),role:z,user:optional(nullable(S.partial()))})),created_at:string()}),va=W.extend({id:string().default(()=>uuidv7()),default_role:z.default("write").refine(e=>e==="read"||e==="write"),visibility:f.default("public").refine(e=>e==="public"||e==="organization"),created_at:string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),pt=W.extend({userMembership:optional(nullable(object({user_id:string().uuid(),role:z}))),memberCount:number(),members:array(object({user_id:string().uuid(),role:z,user:optional(nullable(S.partial()))})),organization:optional(nullable(K.partial()))}),Ta=array(pt.extend({label:string(),value:string()})),Aa=W.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:string().uuid()});var s=object({id:string().uuid(),user_id:string().uuid(),user:optional(S.partial()),org_id:string().uuid(),organization:optional(K.partial()),team_id:string().uuid(),team:optional(W.partial()),parent_id:optional(nullable(string().uuid())),parent:optional(record(string(),any())),asset_type:u,name:string(),name_url_slug:optional(nullable(string())),slug:optional(nullable(string())),description:optional(nullable(string())),visibility:f,monetization:re,price:optional(nullable(number())),unit_cost:optional(nullable(number())),cost_accounting:optional(nullable(_enum(["fixed","variable"]))),cost_unit:optional(nullable(string())),product_id:optional(nullable(string())),price_id:optional(nullable(string())),metadata:optional(nullable(record(string(),any()))),preview:optional(nullable(array(record(string(),any())))),state:optional(nullable(ue)),created_at:string(),last_updated:string()}),w=s.partial().omit({user_id:true,user:true,organization:true,team:true,slug:true}).extend({id:string().uuid().default(()=>uuidv7()),team_id:nullable(string().uuid()).default("00000000-0000-0000-0000-000000000000"),org_id:nullable(string().uuid()).default("00000000-0000-0000-0000-000000000000"),name:string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:optional(nullable(string())),state:ue.optional().default("success"),visibility:f.optional().default("public"),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}),Oa=s.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true});var ke=object({id:string().uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number())}),yt=s.extend({asset_type:literal("file").default("file"),metadata:ke}),Ea=discriminatedUnion("state",[w.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:ke}),w.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:object({type:string()})})]),ja=yt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())});var Ne=lazy(()=>object({type:string(),content:optional(array(Ne)),attrs:optional(record(string(),any())),marks:optional(array(object({type:string(),attrs:optional(record(string(),any()))}))),text:optional(string())})),Y=object({type:literal("doc"),content:array(Ne)}),Le=object({json:Y,text:string()}).default({json:{type:"doc",content:[]},text:""}),Se=s.extend({name:nullable(string()),asset_type:u.refine(e=>["post","comment"].includes(e)),preview:Y.default({type:"doc",content:[]}),content:Le}),Ga=w.extend({asset_type:literal("post").default("post"),name:string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),preview:Y}),_t=Se.extend({content:optional(nullable(Le.default({json:{type:"doc",content:[]},text:""}))),reactions:array(record(string(),any())).default([]),views:number().default(0),commentCount:number().default(0),pinned:boolean().default(false)}),Ha=array(_t),Za=array(Se),Ja=Se.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,content:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())});var At=s.extend({asset_type:literal("comment").default("comment"),preview:optional(nullable(object({type:string().refine(e=>e==="doc"),content:array(record(string(),any()))}).default({type:"doc",content:[]})))}),Ya=At.partial().omit({id:true,user_id:true}).extend({asset_type:literal("comment").default("comment"),id:string().default(()=>uuidv7()),name:string().default(""),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())});var Ut=s.extend({metadata:object({members:array(string())}),asset_type:u.default("conversation"),users:optional(nullable(array(S)))}),Dt=Ut.omit({org_id:true,team_id:true,user_id:true,created_at:true,last_updated:true}).extend({id:string().uuid().default(()=>uuidv7()),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),monetization:re.default("none"),visibility:f.default("private")}),sr=Dt.omit({id:true,org_id:true,team_id:true,team:true,user:true,organization:true,slug:true}).partial(),pr=object({id:string().uuid(),conversation_id:string().uuid(),user_id:string().uuid(),user:optional(nullable(S)),created_at:string(),last_updated:string(),viewers:array(string().uuid()),json:Y,text:string(),metadata:optional(nullable(record(string(),any())))});var He=object({type:string(),size:number(),path:string(),extension:string(),name:string(),id:string().uuid(),bucket:_enum(["public-files","files"])}),Ce=object({table_name:string(),schema:literal("datasets").default("datasets"),columns:array(string())}),Ot=s.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce.extend({...He.partial().shape}),preview:array(record(string(),any()))}),cr=w.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce.extend({...He.shape}),preview:array(record(string(),any()))}),lr=w.extend({asset_type:literal("dataset").default("dataset"),metadata:Ce,preview:array(record(string(),any()))}),fr=Ot.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({asset_type:literal("dataset").default("dataset"),last_updated:string().default(()=>new Date().toISOString())});var kt=_enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","other"]),_r=object({id:string().uuid(),source_user_id:string().uuid(),destination_user_id:string().uuid(),org_id:string().uuid(),asset_id:optional(string().uuid()),type:kt,content:object({text:optional(string()),asset:optional(object({assetId:string(),assetType:u})),mention:optional(object({})),event:optional(object({type:_enum(["success","error"])}))}),viewed:boolean(),created_at:string(),last_updated:string()});var jt=_enum(["Personal Access Token","None","OAuth 2.0"]),Nt=object({authentication:jt,version:optional(nullable(string())),base_url:string(),spec_path:string()}),Cr=s.extend({asset_type:u.refine(e=>e==="service"),metadata:Nt}),vr=object({id:string(),user_id:string(),service_id:string(),path:string(),method:_enum(["GET","POST","PUT","PATCH","DELETE"]),summary:optional(nullable(string())),parameters:optional(nullable(array(record(string(),any())))),request_body:optional(nullable(record(string(),any()))),responses:optional(nullable(array(record(string(),any())))),input_type:optional(nullable(_enum(["file","dataset","post"]))),input_filter:optional(nullable(_enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:optional(nullable(string())),output_type:optional(nullable(_enum(["file","dataset","post"]))),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),last_updated:string()}),Tr=object({id:string().uuid(),user_id:string().uuid(),route_id:string().uuid(),metadata:optional(nullable(record(string(),any()))),response:optional(nullable(record(string(),any()))),side_effects:boolean().default(true),input_asset_id:optional(nullable(string().uuid())),output_asset_id:optional(nullable(string().uuid())),input_asset:optional(nullable(s)),output_asset:optional(nullable(s)),status:_enum(["PENDING","PROCESSING","COMPLETED","FAILED"]),created_at:string(),last_updated:string(),started_at:optional(nullable(string())),finished_at:optional(nullable(string()))});var Gt=s.extend({asset_type:u.refine(e=>e==="replication"),metadata:object({schedule:optional(object({cron:string()}).passthrough())}).passthrough()}),Dr=Gt.partial().extend({id:string().uuid().default(()=>uuidv7()),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:string()}),Mr=object({team_id:optional(nullable(string().uuid())),name_url_slug:optional(nullable(string())),name:optional(nullable(string())),description:optional(nullable(string())),visibility:optional(nullable(f)),metadata:optional(nullable(record(string(),any()))),last_updated:string().default(()=>new Date().toISOString())});var jr=s.extend({asset_type:u.refine(e=>e==="blueprint")}),Nr=s.partial().extend({id:string().uuid().default(()=>uuidv7()),team_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:string(),metadata:object({edges:array(record(string(),any())),nodes:array(record(string(),any()))}).passthrough()}),Lr=object({team_id:nullable(string().uuid()),name_url_slug:nullable(string()),name:nullable(string()),description:nullable(string()),visibility:nullable(f),metadata:nullable(record(string(),any())),last_updated:string().default(()=>new Date().toISOString())});var Gr=object({id:string().uuid(),user_id:string().uuid(),asset_id:string().uuid(),content:record(string(),any()),created_at:string(),active:optional(nullable(boolean()))});function we(e,t=false){return !e||!Array.isArray(e)?"":e.map(p=>t&&(p.hasOwnProperty("active")&&!p.active)?"":`${p.column}.${p.operator}.${p.value}`).join(",")}var We=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),Xe=e=>{if(e.asset_type==="conversation")return `/conversations/${e.id}`;if(e.asset_type==="comment")return `/comments/${e.id}`;let t=e.org_id!=="00000000-0000-0000-0000-000000000000"?e.organization.name:e.user.username,p=e.name?We(e.name):e.id;return `/${e.asset_type}s/${t}/${p}`};var Yt=(e,t)=>{let p=(e==null?void 0:e.slug)||Xe(e),n=t!=null&&t.intent?`?intent=${t.intent}`:"",a=`${p}${n}`;return t!=null&&t.filters&&(a+=`?filters=${we(t.filters)}`),a};var qt={name:"katex",level:"inline",start(e){let t=e.match(/\\\[|\\\(/);return t?t.index:void 0},end(e){var p,n,a;let t=e.match(/\s\\\]|\s\\\)/);return t?((p=t.index)!=null?p:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let p=/^\\\[([\s\S]*?)\\\]/,n=/^\\\(([\s\S]*?)\\\)/,a=p.exec(e);if(a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:true};if(a=n.exec(e),a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:false}},renderer(e){return `<span data-latex="${e.latex}" data-display-mode="${e.displayMode}"></span>`}},ea={name:"assetComponent",level:"block",start(e){var t;return (t=e.match(/^```assetComponent/))==null?void 0:t.index},end(e){var t;return (t=e.match(/^```/))==null?void 0:t.index},tokenizer(e,t){let n=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(n)return {type:"assetComponent",raw:n[0],properties:n[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(n){console.error("Invalid JSON in assetComponent properties:",n),t={};}return `
|
|
2
|
+
<asset-component ${Object.entries(t).map(([n,a])=>`${n}="${a}"`).join(" ")}></asset-component>`}},ta={name:"userMention",level:"inline",start(e){var t;return (t=e.match(/`\{@/))==null?void 0:t.index},end(e){var t;return (t=e.match(/\}`/))==null?void 0:t.index},tokenizer(e,t){let n=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(n)return {type:"userMention",raw:n[0],username:n[1]}},renderer(e){return `<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`}};marked.use({gfm:true,extensions:[ea,ta,qt]});function aa(e){return marked.parse(e)}var se=e=>Array.isArray(e)?e.map(se):e!=null&&e.content?Array.isArray(e.content)?e.content.map(se).flat():se(e.content):e;function ra(e){if(!e||!(e!=null&&e.content))return {users:[],assets:[]};let t=e.content.map(se).flat(),p=t.filter(a=>a.type==="mention").map(a=>{var g,T,Re;return {user_id:(g=a.attrs)==null?void 0:g.id,username:((T=a.attrs)==null?void 0:T.label)||((Re=a.attrs)==null?void 0:Re.username)}}).reduce((a,g)=>(a.some(T=>T.user_id===g.user_id)||a.push(g),a),[]),n=t.filter(a=>{var g,T;return a.type==="assetComponent"&&((g=a.attrs)==null?void 0:g.id)&&!((T=a.attrs)!=null&&T.partial)}).map(({attrs:a})=>({id:a.id,assetType:a.assetType})).reduce((a,g)=>(a.some(T=>T.id===g.id)||a.push(g),a),[]);return {users:p,assets:n}}export{Tr as ActionSchema,s as AssetSchema,u as AssetTypeSchema,jr as BlueprintSchema,At as CommentSchema,na as ConnectionSchema,Le as ContentSchema,Ut as ConversationSchema,w as CreateAssetSchema,Nr as CreateBlueprintSchema,Ya as CreateCommentSchema,Dt as CreateConversationSchema,cr as CreateDatasetFromFileSchema,lr as CreateDatasetFromSchemaSchema,Ea as CreateFileSchema,Ga as CreatePostSchema,Dr as CreateReplicationSchema,va as CreateTeamSchema,Ot as DatasetSchema,ia as EmbeddingSchema,yt as FileSchema,Za as ListPostsSchema,Sa as MembershipSchema,pr as MessageSchema,re as MonetizationSchema,_r as NotificationSchema,K as OrganizationsSchema,pa as PermissionSchema,Se as PostSchema,S as ProfileSchema,sa as PurchaseAssetSchema,_t as ReadPostSchema,Ha as ReadPostsSchema,da as ReadProfileSchema,pt as ReadTeamSchema,Ta as ReadTeamsSchema,Gt as ReplicationSchema,z as RoleSchema,ue as StatusSchema,W as TeamSchema,Y as TipTapSchema,Oa as UpdateAssetSchema,Lr as UpdateBlueprintSchema,sr as UpdateConversationSchema,Ja as UpdatePostSchema,ca as UpdateProfileSchema,Mr as UpdateReplicationSchema,Aa as UpdateTeamSchema,f as VisibilitySchema,jt as authType,We as createNameUrlSlug,Xe as createUrlSlug,we as filterListToString,Yt as getAssetUrl,ra as getReferencesInContent,aa as parseMarkdown,Gr as reactionSchema,vr as routeSchema,Cr as serviceSchema,fr as updateDatasetSchema,ja as updateFileSchema};//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/common.ts","../src/schema/users.ts","../src/schema/organizations.ts","../src/schema/teams.ts","../src/schema/assets.ts","../src/schema/files.ts","../src/schema/posts.ts","../src/schema/comments.ts","../src/schema/conversations.ts","../src/schema/datasets.ts","../src/schema/notifications.ts","../src/schema/services.ts","../src/schema/replications.ts","../src/schema/blueprints.ts","../src/schema/reactions.ts","../src/utils/dataset.ts","../src/utils/navigate.ts","../src/utils/air/markdown-parser.ts","../src/utils/air/index.ts"],"names":["AssetTypeSchema","zodEnum","VisibilitySchema","RoleSchema","MonetizationSchema","EmbeddingSchema","object","string","optional","nullable","array","number","record","any","ConnectionTypeSchema","ConnectionSchema","PurchaseAssetSchema","PermissionSchema","StatusSchema","ProfileSchema","boolean","ReadProfileSchema","UpdateProfileSchema","OrganizationsSchema","MembershipSchema","TeamSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","ReadTeamsSchema","UpdateTeamSchema","AssetSchema","CreateAssetSchema","UpdateAssetSchema","FileMetadataSchema","FileSchema","literal","CreateFileSchema","discriminatedUnion","updateFileSchema","TipTapNode","lazy","TipTapSchema","ContentSchema","PostSchema","x","CreatePostSchema","ReadPostSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema","CommentSchema","CreateCommentSchema","ConversationSchema","CreateConversationSchema","UpdateConversationSchema","MessageSchema","DatasetFromFileMetadataSchema","DatasetMetadataSchema","DatasetSchema","CreateDatasetFromFileSchema","CreateDatasetFromSchemaSchema","updateDatasetSchema","NotificationTypeSchema","NotificationSchema","authType","serviceSchema","routeSchema","ActionSchema","ReplicationSchema","val","CreateReplicationSchema","UpdateReplicationSchema","BlueprintSchema","CreateBlueprintSchema","UpdateBlueprintSchema","reactionSchema","filterListToString","filters","onlyActive","filter","createNameUrlSlug","name","createUrlSlug","asset","entityName","getAssetUrl","config","slug","pathPostfix","url","katexParser","src","match","_a","_b","_c","tokens","displayRule","inlineRule","token","assetComponentExtension","properties","e","key","value","userMentionExtension","marked","parseMarkdown","markdown","extractContent","item","getReferencesInContent","json","content","users","unique","u","assets","attrs"],"mappings":"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","file":"index.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n enum as zodEnum,\n type z,\n any,\n nullable,\n optional,\n record\n} from \"zod\";\n\nconst AssetTypeSchema = zodEnum([\n \"user\",\n \"organization\",\n \"team\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n \"post\",\n \"comment\",\n \"conversation\",\n \"blueprint\",\n \"replication\",\n]);\n\nconst VisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n \"inherit\",\n]);\n\nconst RoleSchema = zodEnum([\"admin\", \"read\", \"write\", \"none\"]);\n\nconst MonetizationSchema = zodEnum([\"none\", \"pay-to-unlock\", \"pay-per-use\"]);\n\nconst EmbeddingSchema = object({\n id: string(),\n user_id: string(),\n org_id: optional(nullable(string())),\n embedding: array(number()),\n content: string(),\n asset_type: AssetTypeSchema,\n asset_id: string(),\n metadata: optional(nullable(record(string(), any()))),\n created_at: string(),\n last_updated: string(),\n});\n\nconst ConnectionTypeSchema = zodEnum([\n \"comment\",\n \"reference\",\n \"mention\",\n \"action\",\n \"component\",\n]);\n\nconst ConnectionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n type: ConnectionTypeSchema,\n action_id: optional(nullable(string().uuid())),\n source_id: string().uuid(),\n target_id: string().uuid(),\n source_asset_type: AssetTypeSchema,\n target_asset_type: AssetTypeSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst PurchaseAssetSchema = object({\n assetId: string().uuid(),\n method: zodEnum([\"checkout\", \"api\"]),\n assetType: AssetTypeSchema,\n});\n\nconst PermissionSchema = object({\n id: string().uuid(),\n role: RoleSchema,\n user: object({\n user_id: string().uuid(),\n }),\n user_id: nullable(string().uuid()),\n org_id: nullable(string().uuid()),\n asset_type: AssetTypeSchema,\n asset_id: string().uuid(),\n created_at: string(),\n last_updated: string(),\n});\n\nconst StatusSchema = zodEnum([\"queued\", \"in-progress\", \"success\", \"error\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\n","import {\n object,\n string,\n number,\n array,\n boolean,\n enum as zodEnum,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nconst ProfileSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n username: optional(nullable(string())),\n avatar_path: optional(nullable(string())),\n bio: optional(nullable(string())),\n urls: optional(\n array(\n object({\n value: string().url(),\n })\n )\n ),\n post_id: optional(nullable(string().uuid())),\n is_agent: boolean(),\n plan_type: zodEnum([\"free\", \"gold\"]),\n last_active: string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n is_agent: boolean(),\n isFollowing: boolean(),\n isFollowed: boolean(),\n isSelf: boolean(),\n followers: number().default(0),\n following: number().default(0),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n // username: true, // once set, users cannot update their username\n});\n// .extend({\n// user_id: z.string().uuid(),\n// })\n\nexport { ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n","import {\n object,\n string,\n array,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\nimport { ProfileSchema } from \"./users\";\n\nconst OrganizationsSchema = object({\n id: string().uuid(),\n name: string(),\n avatar_path: optional(nullable(string())),\n mission: optional(nullable(string())),\n size: string(),\n email: optional(nullable(string())),\n domain: optional(nullable(string())),\n urls: optional(\n nullable(\n array(\n object({\n value: string(),\n })\n )\n )\n ),\n base_role: RoleSchema.default(\"write\"),\n});\n\nconst MembershipSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n user: optional(nullable(ProfileSchema)),\n org_id: string().uuid(),\n team_id: string().uuid(),\n role: RoleSchema,\n added_at: string().default(() => new Date().toISOString()),\n visibility: VisibilitySchema.default(\"public\"),\n});\n\nexport { OrganizationsSchema, MembershipSchema };\nexport type Organization = z.infer<typeof OrganizationsSchema>;\nexport type Membership = z.infer<typeof MembershipSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n number,\n array,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\n\nconst TeamSchema = object({\n id: string().uuid(),\n org_id: string().uuid(),\n organization: OrganizationsSchema,\n name: string(),\n description: optional(nullable(string())),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n userMembership: optional(\n nullable(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: optional(nullable(number())),\n members: array(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n created_at: string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: string().default(() => new Date().toISOString()),\n}).omit({\n organization: true,\n userMembership: true,\n memberCount: true,\n members: true,\n created_at: true,\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: optional(\n nullable(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: number(),\n members: array(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n organization: optional(nullable(OrganizationsSchema.partial())),\n});\n\nconst ReadTeamsSchema = array(\n ReadTeamSchema.extend({\n label: string(),\n value: string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n organization: true,\n created_at: true,\n })\n .extend({\n id: string().uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n","import {\n object,\n string,\n number,\n array,\n enum as zodEnum,\n nullable,\n optional,\n record,\n type z,\n any\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n StatusSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\n\nconst AssetSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n user: optional(ProfileSchema.partial()),\n org_id: string().uuid(),\n organization: optional(OrganizationsSchema.partial()),\n team_id: string().uuid(),\n team: optional(TeamSchema.partial()),\n parent_id: optional(nullable(string().uuid())),\n parent: optional(record(string(), any())),\n asset_type: AssetTypeSchema,\n name: string(),\n name_url_slug: optional(nullable(string())),\n slug: optional(nullable(string())),\n description: optional(nullable(string())),\n visibility: VisibilitySchema,\n monetization: MonetizationSchema,\n price: optional(nullable(number())),\n unit_cost: optional(nullable(number())),\n cost_accounting: optional(nullable(zodEnum([\"fixed\", \"variable\"]))),\n cost_unit: optional(nullable(string())),\n product_id: optional(nullable(string())),\n price_id: optional(nullable(string())),\n metadata: optional(nullable(record(string(), any()))),\n preview: optional(nullable(array(record(string(), any())))),\n state: optional(nullable(StatusSchema)),\n created_at: string(),\n last_updated: string(),\n});\n\nconst CreateAssetSchema = AssetSchema.partial()\n .omit({\n user_id: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n })\n .extend({\n id: string().uuid().default(() => uuidv7()),\n team_id: nullable(string().uuid())\n .default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: nullable(string().uuid())\n .default(\"00000000-0000-0000-0000-000000000000\"),\n name: string()\n .min(1, { message: \"Name cannot be empty\" })\n .max(255, { message: \"Name must be less than 255 characters\" }),\n name_url_slug: optional(nullable(string())),\n state: StatusSchema.optional().default(\"success\"),\n visibility: VisibilitySchema.optional().default(\"public\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nconst UpdateAssetSchema = AssetSchema.partial().omit({\n id: true,\n user_id: true,\n created_at: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n});\n\nexport { AssetSchema, CreateAssetSchema, UpdateAssetSchema };\nexport type Asset = z.infer<typeof AssetSchema>;\nexport type CreateAsset = z.infer<typeof CreateAssetSchema>;\nexport type UpdateAsset = z.infer<typeof UpdateAssetSchema>;\n","import {\n object,\n string,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst FileMetadataSchema = object({\n id: string().uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n});\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: object({\n type: string(),\n }),\n }),\n]);\n\nconst updateFileSchema = FileSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n","import {\n object,\n string,\n number,\n array,\n lazy,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n boolean,\n type ZodType\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst TipTapNode: ZodType<any> = lazy(() =>\n object({\n type: string(),\n content: optional(array(TipTapNode)),\n attrs: optional(record(string(), any())),\n marks: optional(\n array(\n object({\n type: string(),\n attrs: optional(record(string(), any())),\n })\n )\n ),\n text: optional(string()), // For text nodes\n })\n);\n\nconst TipTapSchema = object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n});\n\nconst ContentSchema = object({\n json: TipTapSchema,\n text: string(),\n}).default({ json: { type: \"doc\", content: [] }, text: \"\" });\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n});\n\nconst CreatePostSchema = CreateAssetSchema.extend({\n asset_type: literal(\"post\").default(\"post\"),\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n preview: TipTapSchema,\n});\n\nconst ReadPostSchema = PostSchema.extend({\n content: optional(\n nullable(\n ContentSchema.default({\n json: { type: \"doc\", content: [] },\n text: \"\",\n })\n )\n ),\n reactions: array(record(string(), any())).default([]),\n views: number().default(0),\n commentCount: number().default(0),\n // We have this on asset now\n // parent: ConnectionSchema.optional().nullable(),\n pinned: boolean().default(false),\n});\n\nconst ReadPostsSchema = array(ReadPostSchema);\n\nconst ListPostsSchema = array(PostSchema);\n\nconst UpdatePostSchema = PostSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n content: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport {\n TipTapSchema,\n ContentSchema,\n PostSchema,\n CreatePostSchema,\n ListPostsSchema,\n ReadPostSchema,\n ReadPostsSchema,\n UpdatePostSchema,\n};\nexport type Post = z.infer<typeof PostSchema>;\nexport type CreatePost = z.infer<typeof CreatePostSchema>;\nexport type ListPosts = z.infer<typeof ListPostsSchema>;\nexport type ReadPost = z.infer<typeof ReadPostSchema>;\nexport type ReadPosts = z.infer<typeof ReadPostsSchema>;\nexport type UpdatePost = z.infer<typeof UpdatePostSchema>;\nexport type Content = z.infer<typeof ContentSchema>;\nexport type TipTap = z.infer<typeof TipTapSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n literal,\n optional,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\n\nconst CommentSchema = AssetSchema.extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n preview: optional(\n nullable(\n object({\n type: string().refine((x) => x === \"doc\"),\n content: array(record(string(), any())),\n }).default({ type: \"doc\", content: [] })\n )\n ),\n});\n\nconst CreateCommentSchema = CommentSchema.partial()\n .omit({\n id: true,\n user_id: true,\n })\n .extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n id: string().default(() => uuidv7()),\n name: string().default(\"\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport { CommentSchema, CreateCommentSchema };\nexport type Comment = z.infer<typeof CommentSchema>;\nexport type CreateComment = z.infer<typeof CreateCommentSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { AssetSchema } from \"./assets\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst ConversationSchema = AssetSchema.extend({\n metadata: object({\n members: array(string()),\n }),\n asset_type: AssetTypeSchema.default(\"conversation\"),\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst CreateConversationSchema = ConversationSchema.omit({\n org_id: true,\n team_id: true,\n user_id: true,\n created_at: true,\n last_updated: true,\n}).extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\n});\n\n// Partial because we can make updates to conversations without providing all fields\nconst UpdateConversationSchema = CreateConversationSchema.omit({\n id: true,\n org_id: true,\n team_id: true,\n team: true,\n user: true,\n organization: true,\n slug: true,\n}).partial();\n\nconst MessageSchema = object({\n id: string().uuid(),\n conversation_id: string().uuid(),\n user_id: string().uuid(),\n user: optional(nullable(ProfileSchema)),\n created_at: string(),\n last_updated: string(),\n viewers: array(string().uuid()),\n json: TipTapSchema,\n text: string(),\n metadata: optional(nullable(record(string(), any()))),\n});\n\nexport {\n MessageSchema,\n UpdateConversationSchema,\n CreateConversationSchema,\n ConversationSchema,\n};\nexport type Conversation = z.infer<typeof ConversationSchema>;\nexport type CreateConversation = z.infer<typeof CreateConversationSchema>;\nexport type UpdateConversation = z.infer<typeof UpdateConversationSchema>;\nexport type Message = z.infer<typeof MessageSchema>;\n","import {\n object,\n string,\n number,\n array,\n literal,\n record,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: string().uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\nconst DatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n});\n\nconst DatasetSchema = AssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema.extend({\n ...DatasetFromFileMetadataSchema.partial().shape,\n }),\n preview: array(record(string(), any())),\n});\n\nconst CreateDatasetFromFileSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema.extend({\n ...DatasetFromFileMetadataSchema.shape,\n }),\n preview: array(record(string(), any())),\n});\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n});\n\nconst updateDatasetSchema = DatasetSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n};\nexport type Dataset = z.infer<typeof DatasetSchema>;\nexport type CreateFromFileDataset = z.infer<typeof CreateDatasetFromFileSchema>;\nexport type CreateFromSchemaDataset = z.infer<typeof CreateDatasetFromSchemaSchema>;\nexport type UpdateDataset = z.infer<typeof updateDatasetSchema>;\n","import {\n object,\n string,\n boolean,\n type z,\n enum as zodEnum,\n optional\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"./common\";\n\nconst NotificationTypeSchema = zodEnum([\n \"follow\",\n \"like\",\n \"comment\",\n \"reply\",\n \"mention\",\n \"reference\",\n \"invite\",\n \"payment\",\n \"event\",\n \"share\",\n \"other\",\n]);\n\nconst NotificationSchema = object({\n id: string().uuid(),\n source_user_id: string().uuid(),\n destination_user_id: string().uuid(),\n org_id: string().uuid(),\n asset_id: optional(string().uuid()),\n type: NotificationTypeSchema,\n content: object({\n text: optional(string()),\n asset: optional(\n object({\n assetId: string(),\n assetType: AssetTypeSchema,\n })\n ),\n mention: optional(object({})),\n event: optional(\n object({\n type: zodEnum([\"success\", \"error\"]),\n })\n ),\n }),\n viewed: boolean(),\n created_at: string(),\n last_updated: string(),\n});\n\nexport { NotificationSchema };\nexport type Notification = z.infer<typeof NotificationSchema>;\n","import {\n object,\n string,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { VisibilitySchema } from \"./common\";\nimport { AssetSchema } from \"./assets\";\n\nconst authType = zodEnum([\"Personal Access Token\", \"None\", \"OAuth 2.0\"]);\n\nconst serviceSchema = object({\n id: string(),\n user_id: string(),\n org_id: optional(nullable(string())),\n name: string(),\n description: optional(nullable(string())),\n visibility: VisibilitySchema,\n version: optional(nullable(string())),\n authentication: authType,\n base_url: string(),\n spec_path: string(),\n created_at: string(),\n last_updated: string(),\n});\n\nconst routeSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n input_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n input_filter: optional(nullable(zodEnum([\"audio\", \"video\", \"image\", \"pdf\", \"3d model\", \"atomic structure\"]))),\n input_file_extension: optional(nullable(string())),\n output_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n last_updated: string(),\n});\n\nconst ActionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n route_id: string().uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(string().uuid())),\n output_asset_id: optional(nullable(string().uuid())),\n input_asset: optional(nullable(AssetSchema)),\n output_asset: optional(nullable(AssetSchema)),\n status: zodEnum([\"PENDING\", \"PROCESSING\", \"COMPLETED\", \"FAILED\"]),\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n finished_at: optional(nullable(string())),\n});\n\nexport { routeSchema, serviceSchema, authType, ActionSchema };\nexport type Service = z.infer<typeof serviceSchema>;\nexport type Route = z.infer<typeof routeSchema>;\nexport type AuthType = z.infer<typeof authType>;\nexport type Action = z.infer<typeof ActionSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n type z,\n record,\n any,\n optional,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\nimport { AssetTypeSchema, VisibilitySchema } from \"./common\";\n\nconst ReplicationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"replication\"),\n metadata: object({\n schedule: optional(\n object({\n cron: string(),\n }).passthrough()\n ),\n }).passthrough(),\n});\n\nconst CreateReplicationSchema = ReplicationSchema.partial().extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n name_url_slug: string(),\n});\n\nconst UpdateReplicationSchema = object({\n team_id: optional(nullable(string().uuid())),\n name_url_slug: optional(nullable(string())),\n name: optional(nullable(string())),\n description: optional(nullable(string())),\n visibility: optional(nullable(VisibilitySchema)),\n metadata: optional(nullable(record(string(), any()))),\n last_updated: string().default(() => new Date().toISOString()),\n});\n\nexport { ReplicationSchema, CreateReplicationSchema, UpdateReplicationSchema };\nexport type Replication = z.infer<typeof ReplicationSchema>;\nexport type CreateReplication = z.infer<typeof CreateReplicationSchema>;\nexport type UpdateReplication = z.infer<typeof UpdateReplicationSchema>;\n\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\n\nconst BlueprintSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"blueprint\"),\n});\n\nconst CreateBlueprintSchema = AssetSchema.partial().extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n name_url_slug: string(),\n metadata: object({\n edges: array(record(string(), any())),\n nodes: array(record(string(), any())),\n }).passthrough(),\n});\n\nconst UpdateBlueprintSchema = object({\n team_id: nullable(string().uuid()),\n name_url_slug: nullable(string()),\n name: nullable(string()),\n description: nullable(string()),\n visibility: nullable(VisibilitySchema),\n metadata: nullable(record(string(), any())),\n last_updated: string().default(() => new Date().toISOString()),\n});\n\nexport { BlueprintSchema, CreateBlueprintSchema, UpdateBlueprintSchema };\nexport type Blueprint = z.infer<typeof BlueprintSchema>;\nexport type CreateBlueprint = z.infer<typeof CreateBlueprintSchema>;\nexport type UpdateBlueprint = z.infer<typeof UpdateBlueprintSchema>;\n","import {\n object,\n string,\n boolean,\n type z,\n record,\n any,\n optional,\n nullable\n} from \"zod\";\n\nconst reactionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n asset_id: string().uuid(),\n content: record(string(), any()),\n created_at: string(),\n active: optional(nullable(boolean())),\n});\n\nexport { reactionSchema };\nexport type Reaction = z.infer<typeof reactionSchema>;","// Convert a list of filter object into a filter string for URL\nfunction filterListToString(\n filters?: {\n column: string;\n value: string;\n operator: string;\n active?: boolean;\n }[],\n onlyActive = false\n) {\n if (!filters || !Array.isArray(filters)) return \"\";\n\n return filters\n .map((filter) => {\n // If onlyActive is true, only include filters that have active property true, or without active property (different creation source)\n if (\n onlyActive &&\n (filter.hasOwnProperty(\"active\") ? !filter.active : false)\n )\n return \"\";\n return `${filter.column}.${filter.operator}.${filter.value}`;\n })\n .join(\",\");\n}\n\nexport { filterListToString };\n","import { filterListToString } from \"./dataset\";\n\nconst createNameUrlSlug = (name: string) => {\n return (\n name\n // Convert to lowercase\n .toLowerCase()\n // Normalize unicode characters\n .normalize(\"NFD\")\n // Remove diacritical marks\n .replace(/[\\u0300-\\u036f]/g, \"\")\n // Replace spaces, forward slashes, and underscores with hyphens\n .replace(/[\\s\\/\\_]+/g, \"-\")\n // Remove special characters\n .replace(/[^\\w\\-]+/g, \"\")\n // Remove multiple consecutive hyphens\n .replace(/\\-\\-+/g, \"-\")\n // Trim hyphens from start and end\n .replace(/^-+/, \"\")\n .replace(/-+$/, \"\")\n );\n};\n\nconst createUrlSlug = (asset: any) => {\n if (asset.asset_type === \"conversation\") {\n return `/conversations/${asset.id}`;\n }\n if (asset.asset_type === \"comment\") {\n return `/comments/${asset.id}`;\n }\n const entityName =\n asset.org_id !== \"00000000-0000-0000-0000-000000000000\"\n ? asset.organization.name\n : asset.user.username;\n const name = asset.name ? createNameUrlSlug(asset.name) : asset.id;\n const assetType = asset.asset_type;\n return `/${assetType}s/${entityName}/${name}`;\n};\n\nconst getParentAssetUrl = (asset: any, config?: any): string => {\n if (!asset?.parent) return \"#\";\n const postfix = asset.asset_type === \"comment\" ? `#comment-${asset.id}` : \"\";\n return `${getAssetUrl(asset.parent, config)}${postfix}`;\n};\n\nconst getAssetUrl = (\n asset: any,\n config?: {\n intent?: \"share\";\n filters?: { column: string; value: string; operator: string }[];\n }\n) => {\n // const assetType = asset?.asset_type || asset?.assetType;\n const slug = asset?.slug || createUrlSlug(asset);\n const pathPostfix = config?.intent ? `?intent=${config.intent}` : \"\";\n let url = `${slug}${pathPostfix}`;\n if (config?.filters) {\n url += `?filters=${filterListToString(config.filters)}`;\n }\n\n return url;\n};\n\nexport { getAssetUrl, createUrlSlug, createNameUrlSlug };\n","import { marked } from \"marked\";\n\nconst katexParser = {\n name: \"katex\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\\\\\[|\\\\\\(/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\]|\\s\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const displayRule = /^\\\\\\[([\\s\\S]*?)\\\\\\]/;\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n\n let match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: false,\n };\n }\n },\n renderer(token: any) {\n // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it\n return `<span data-latex=\"${token.latex}\" data-display-mode=\"${token.displayMode}\"></span>`;\n },\n};\n\nconst assetComponentExtension = {\n name: \"assetComponent\",\n level: \"block\",\n start(src: string) {\n return src.match(/^```assetComponent/)?.index;\n },\n end(src: string) {\n return src.match(/^```/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^```assetComponent\\s+(\\{[\\s\\S]*?\\})\\n```/;\n const match = rule.exec(src);\n if (match) {\n const token = {\n type: \"assetComponent\",\n raw: match[0],\n properties: match[1],\n tokens: [],\n };\n return token;\n }\n },\n renderer(token: any) {\n let properties;\n try {\n properties = JSON.parse(token.properties);\n } catch (e) {\n console.error(\"Invalid JSON in assetComponent properties:\", e);\n properties = {};\n }\n const componentHtml = `\n <asset-component ${Object.entries(properties)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n return src.match(/`\\{@/)?.index;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^`\\{@([a-zA-Z0-9_]+)\\}`/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"userMention\",\n raw: match[0],\n username: match[1],\n };\n }\n },\n renderer(token: any) {\n return `<user-mention username=\"${token.username}\" data-label=\"${token.username}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [assetComponentExtension, userMentionExtension, katexParser],\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n","import { Content } from \"../../schema/posts\";\nimport { Profile } from \"../../schema/users\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: string;\n filters?: any;\n partial?: boolean;\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(json: Content[\"json\"]) {\n if (!json || !json?.content) return { users: [], assets: [] };\n const content = json.content.map(extractContent).flat();\n // TODO: should keep the structure instead of flattening to list of strings\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs?.id,\n username: item.attrs?.label || item.attrs?.username,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.user_id === item.user_id)) {\n unique.push(item);\n }\n return unique;\n }, []) as Partial<Profile>[];\n\n const assets = content\n // Filter out assets that still have partial data, must have id\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []) as InlineAssetAttrs[];\n\n return {\n users,\n assets,\n };\n}\n\nexport { getReferencesInContent };\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/schema/common.ts","../src/schema/users.ts","../src/schema/organizations.ts","../src/schema/teams.ts","../src/schema/assets.ts","../src/schema/files.ts","../src/schema/posts.ts","../src/schema/comments.ts","../src/schema/conversations.ts","../src/schema/datasets.ts","../src/schema/notifications.ts","../src/schema/services.ts","../src/schema/replications.ts","../src/schema/blueprints.ts","../src/schema/reactions.ts","../src/utils/dataset.ts","../src/utils/navigate.ts","../src/utils/air/markdown-parser.ts","../src/utils/air/index.ts"],"names":["AssetTypeSchema","zodEnum","VisibilitySchema","RoleSchema","MonetizationSchema","EmbeddingSchema","object","string","optional","nullable","array","number","record","any","ConnectionTypeSchema","ConnectionSchema","PurchaseAssetSchema","PermissionSchema","StatusSchema","ProfileSchema","boolean","ReadProfileSchema","UpdateProfileSchema","OrganizationsSchema","MembershipSchema","TeamSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","ReadTeamsSchema","UpdateTeamSchema","AssetSchema","CreateAssetSchema","UpdateAssetSchema","FileMetadataSchema","FileSchema","literal","CreateFileSchema","discriminatedUnion","updateFileSchema","TipTapNode","lazy","TipTapSchema","ContentSchema","PostSchema","x","CreatePostSchema","ReadPostSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema","CommentSchema","CreateCommentSchema","ConversationSchema","CreateConversationSchema","UpdateConversationSchema","MessageSchema","DatasetFromFileMetadataSchema","DatasetMetadataSchema","DatasetSchema","CreateDatasetFromFileSchema","CreateDatasetFromSchemaSchema","updateDatasetSchema","NotificationTypeSchema","NotificationSchema","authType","serviceMetadataSchema","serviceSchema","routeSchema","ActionSchema","ReplicationSchema","val","CreateReplicationSchema","UpdateReplicationSchema","BlueprintSchema","CreateBlueprintSchema","UpdateBlueprintSchema","reactionSchema","filterListToString","filters","onlyActive","filter","createNameUrlSlug","name","createUrlSlug","asset","entityName","getAssetUrl","config","slug","pathPostfix","url","katexParser","src","match","_a","_b","_c","tokens","displayRule","inlineRule","token","assetComponentExtension","properties","e","key","value","userMentionExtension","marked","parseMarkdown","markdown","extractContent","item","getReferencesInContent","json","content","users","unique","u","assets","attrs"],"mappings":"wLAaMA,IAAAA,CAAAA,CAAkBC,KAAQ,CAAA,CAC9B,OACA,cACA,CAAA,MAAA,CACA,UACA,MACA,CAAA,SAAA,CACA,QACA,MACA,CAAA,SAAA,CACA,eACA,WACA,CAAA,aACF,CAAC,CAEKC,CAAAA,CAAAA,CAAmBD,MAAQ,CAC/B,QAAA,CACA,UACA,cACA,CAAA,WAAA,CACA,SACF,CAAC,CAEKE,CAAAA,CAAAA,CAAaF,MAAQ,CAAC,OAAA,CAAS,OAAQ,OAAS,CAAA,MAAM,CAAC,CAEvDG,CAAAA,EAAAA,CAAqBH,MAAQ,CAAC,MAAA,CAAQ,gBAAiB,aAAa,CAAC,EAErEI,EAAkBC,CAAAA,MAAAA,CAAO,CAC7B,EAAIC,CAAAA,MAAAA,EACJ,CAAA,OAAA,CAASA,MAAO,EAAA,CAChB,OAAQC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EACnC,SAAWG,CAAAA,KAAAA,CAAMC,MAAO,EAAC,CACzB,CAAA,OAAA,CAASJ,QACT,CAAA,UAAA,CAAYP,EACZ,QAAUO,CAAAA,MAAAA,GACV,QAAUC,CAAAA,QAAAA,CAASC,QAASG,CAAAA,MAAAA,CAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,CAAC,CACpD,CAAA,UAAA,CAAYN,QACZ,CAAA,YAAA,CAAcA,QAChB,CAAC,EAEKO,EAAuBb,CAAAA,KAAAA,CAAQ,CACnC,SACA,CAAA,WAAA,CACA,UACA,QACA,CAAA,WACF,CAAC,CAAA,CAEKc,EAAmBT,CAAAA,MAAAA,CAAO,CAC9B,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,QAASA,MAAO,EAAA,CAAE,MAClB,CAAA,IAAA,CAAMO,GACN,SAAWN,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAA,CAAE,MAAM,CAAC,CAC7C,CAAA,SAAA,CAAWA,MAAO,EAAA,CAAE,MACpB,CAAA,SAAA,CAAWA,QAAS,CAAA,IAAA,GACpB,iBAAmBP,CAAAA,CAAAA,CACnB,kBAAmBA,CACnB,CAAA,UAAA,CAAYO,QACZ,CAAA,YAAA,CAAcA,QAChB,CAAC,EAEKS,EAAsBV,CAAAA,MAAAA,CAAO,CACjC,OAAA,CAASC,MAAO,EAAA,CAAE,MAClB,CAAA,MAAA,CAAQN,MAAQ,CAAC,UAAA,CAAY,KAAK,CAAC,CAAA,CACnC,SAAWD,CAAAA,CACb,CAAC,CAAA,CAEKiB,GAAmBX,MAAO,CAAA,CAC9B,GAAIC,MAAO,EAAA,CAAE,MACb,CAAA,IAAA,CAAMJ,CACN,CAAA,IAAA,CAAMG,MAAO,CAAA,CACX,QAASC,MAAO,EAAA,CAAE,MACpB,CAAC,EACD,OAASE,CAAAA,QAAAA,CAASF,QAAS,CAAA,IAAA,EAAM,CACjC,CAAA,MAAA,CAAQE,SAASF,MAAO,EAAA,CAAE,MAAM,CAAA,CAChC,UAAYP,CAAAA,CAAAA,CACZ,QAAUO,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACxB,WAAYA,MAAO,EAAA,CACnB,aAAcA,MAAO,EACvB,CAAC,CAEKW,CAAAA,EAAAA,CAAejB,MAAQ,CAAC,QAAA,CAAU,cAAe,SAAW,CAAA,OAAO,CAAC,EClFpEkB,IAAAA,CAAAA,CAAgBb,MAAO,CAAA,CAC3B,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,QAASA,MAAO,EAAA,CAAE,MAClB,CAAA,QAAA,CAAUC,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACrC,YAAaC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,CACxC,CAAA,GAAA,CAAKC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EAChC,IAAMC,CAAAA,QAAAA,CACJE,MACEJ,MAAO,CAAA,CACL,KAAOC,CAAAA,MAAAA,EAAS,CAAA,GAAA,EAClB,CAAC,CACH,CACF,CACA,CAAA,OAAA,CAASC,SAASC,QAASF,CAAAA,MAAAA,EAAS,CAAA,IAAA,EAAM,CAAC,EAC3C,QAAUa,CAAAA,OAAAA,GACV,SAAWnB,CAAAA,KAAAA,CAAQ,CAAC,MAAQ,CAAA,MAAM,CAAC,CACnC,CAAA,WAAA,CAAaM,QACf,CAAC,EAEKc,EAAoBF,CAAAA,CAAAA,CAAc,OAAO,CAC7C,QAAA,CAAUC,OAAQ,EAAA,CAClB,WAAaA,CAAAA,OAAAA,GACb,UAAYA,CAAAA,OAAAA,GACZ,MAAQA,CAAAA,OAAAA,GACR,SAAWT,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,CAAC,CAAA,CAC7B,UAAWA,MAAO,EAAA,CAAE,QAAQ,CAAC,CAC/B,CAAC,CAEKW,CAAAA,EAAAA,CAAsBH,CAAc,CAAA,OAAA,EAAU,CAAA,IAAA,CAAK,CACvD,EAAI,CAAA,IAAA,CACJ,QAAS,IACT,CAAA,WAAA,CAAa,IAEf,CAAC,MCjCKI,CAAsBjB,CAAAA,MAAAA,CAAO,CACjC,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,KAAMA,MAAO,EAAA,CACb,WAAaC,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACxC,QAASC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EACpC,IAAMA,CAAAA,MAAAA,GACN,KAAOC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAClC,CAAA,MAAA,CAAQC,QAASC,CAAAA,QAAAA,CAASF,MAAO,EAAC,CAAC,CACnC,CAAA,IAAA,CAAMC,SACJC,QACEC,CAAAA,KAAAA,CACEJ,OAAO,CACL,KAAA,CAAOC,QACT,CAAC,CACH,CACF,CACF,EACA,SAAWJ,CAAAA,CAAAA,CAAW,QAAQ,OAAO,CACvC,CAAC,CAAA,CAEKqB,EAAmBlB,CAAAA,MAAAA,CAAO,CAC9B,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,QAASA,MAAO,EAAA,CAAE,IAAK,EAAA,CACvB,IAAMC,CAAAA,QAAAA,CAASC,SAASU,CAAa,CAAC,EACtC,MAAQZ,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACtB,OAASA,CAAAA,MAAAA,EAAS,CAAA,IAAA,GAClB,IAAMJ,CAAAA,CAAAA,CACN,SAAUI,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CACzD,CAAA,UAAA,CAAYL,EAAiB,OAAQ,CAAA,QAAQ,CAC/C,CAAC,EC1BD,IAAMuB,EAAanB,MAAO,CAAA,CACxB,GAAIC,MAAO,EAAA,CAAE,IAAK,EAAA,CAClB,MAAQA,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACtB,aAAcgB,CACd,CAAA,IAAA,CAAMhB,QACN,CAAA,WAAA,CAAaC,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACxC,aAAcJ,CACd,CAAA,UAAA,CAAYD,EACZ,cAAgBM,CAAAA,QAAAA,CACdC,QACEH,CAAAA,MAAAA,CAAO,CACL,OAAA,CAASC,QAAS,CAAA,IAAA,GAClB,IAAMJ,CAAAA,CACR,CAAC,CACH,CACF,CACA,CAAA,WAAA,CAAaK,QAASC,CAAAA,QAAAA,CAASE,QAAQ,CAAC,EACxC,OAASD,CAAAA,KAAAA,CACPJ,OAAO,CACL,OAAA,CAASC,MAAO,EAAA,CAAE,IAAK,EAAA,CACvB,KAAMJ,CACN,CAAA,IAAA,CAAMK,SAASC,QAASU,CAAAA,CAAAA,CAAc,SAAS,CAAC,CAClD,CAAC,CACH,EACA,UAAYZ,CAAAA,MAAAA,EACd,CAAC,CAAA,CAEKmB,GAAmBD,CAAW,CAAA,MAAA,CAAO,CACzC,EAAA,CAAIlB,MAAO,EAAA,CAAE,QAAQ,IAAMoB,MAAAA,EAAQ,CACnC,CAAA,YAAA,CAAcxB,EAAW,OAAQ,CAAA,OAAO,EAAE,MACvCyB,CAAAA,CAAAA,EAAMA,IAAM,MAAUA,EAAAA,CAAAA,GAAM,OAC/B,CACA,CAAA,UAAA,CAAY1B,EAAiB,OAAQ,CAAA,QAAQ,CAAE,CAAA,MAAA,CAC5C0B,CAAMA,EAAAA,CAAAA,GAAM,UAAYA,CAAM,GAAA,cACjC,EACA,UAAYrB,CAAAA,MAAAA,GAAS,OAAQ,CAAA,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAC7D,CAAC,CAAE,CAAA,IAAA,CAAK,CACN,YAAc,CAAA,IAAA,CACd,cAAgB,CAAA,IAAA,CAChB,WAAa,CAAA,IAAA,CACb,QAAS,IACT,CAAA,UAAA,CAAY,IACd,CAAC,CAAA,CAEKsB,GAAiBJ,CAAW,CAAA,MAAA,CAAO,CACvC,cAAA,CAAgBjB,QACdC,CAAAA,QAAAA,CACEH,OAAO,CACL,OAAA,CAASC,QAAS,CAAA,IAAA,GAClB,IAAMJ,CAAAA,CACR,CAAC,CACH,CACF,CAAA,CACA,YAAaQ,MAAO,EAAA,CACpB,QAASD,KACPJ,CAAAA,MAAAA,CAAO,CACL,OAASC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACvB,KAAMJ,CACN,CAAA,IAAA,CAAMK,SAASC,QAASU,CAAAA,CAAAA,CAAc,SAAS,CAAC,CAClD,CAAC,CACH,CAAA,CACA,aAAcX,QAASC,CAAAA,QAAAA,CAASc,EAAoB,OAAQ,EAAC,CAAC,CAChE,CAAC,CAEKO,CAAAA,EAAAA,CAAkBpB,KACtBmB,CAAAA,EAAAA,CAAe,OAAO,CACpB,KAAA,CAAOtB,QACP,CAAA,KAAA,CAAOA,QACT,CAAC,CACH,CAAA,CAEMwB,EAAmBN,CAAAA,CAAAA,CAAW,SACjC,CAAA,IAAA,CAAK,CACJ,MAAQ,CAAA,IAAA,CACR,aAAc,IACd,CAAA,UAAA,CAAY,IACd,CAAC,CAAA,CACA,OAAO,CACN,EAAA,CAAIlB,QAAS,CAAA,IAAA,EACf,CAAC,MCtEGyB,CAAc1B,CAAAA,MAAAA,CAAO,CACzB,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,OAASA,CAAAA,MAAAA,EAAS,CAAA,IAAA,GAClB,IAAMC,CAAAA,QAAAA,CAASW,EAAc,OAAQ,EAAC,EACtC,MAAQZ,CAAAA,MAAAA,EAAS,CAAA,IAAA,EACjB,CAAA,YAAA,CAAcC,SAASe,CAAoB,CAAA,OAAA,EAAS,CACpD,CAAA,OAAA,CAAShB,QAAS,CAAA,IAAA,GAClB,IAAMC,CAAAA,QAAAA,CAASiB,EAAW,OAAQ,EAAC,EACnC,SAAWjB,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAA,CAAE,IAAK,EAAC,CAAC,CAAA,CAC7C,OAAQC,QAASI,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAA,CACxC,WAAYb,CACZ,CAAA,IAAA,CAAMO,QACN,CAAA,aAAA,CAAeC,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CAC1C,IAAMC,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACjC,YAAaC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EACxC,UAAYL,CAAAA,CAAAA,CACZ,aAAcE,EACd,CAAA,KAAA,CAAOI,SAASC,QAASE,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CAClC,SAAWH,CAAAA,QAAAA,CAASC,QAASE,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACtC,gBAAiBH,QAASC,CAAAA,QAAAA,CAASR,MAAQ,CAAC,OAAA,CAAS,UAAU,CAAC,CAAC,CAAC,EAClE,SAAWO,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CACtC,CAAA,UAAA,CAAYC,QAASC,CAAAA,QAAAA,CAASF,MAAO,EAAC,CAAC,CACvC,CAAA,QAAA,CAAUC,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACrC,SAAUC,QAASC,CAAAA,QAAAA,CAASG,OAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,CAAC,CACpD,CAAA,OAAA,CAASL,QAASC,CAAAA,QAAAA,CAASC,KAAME,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAC,CAAC,CAC1D,CAAA,KAAA,CAAOL,SAASC,QAASS,CAAAA,EAAY,CAAC,CACtC,CAAA,UAAA,CAAYX,QACZ,CAAA,YAAA,CAAcA,QAChB,CAAC,CAEK0B,CAAAA,CAAAA,CAAoBD,CAAY,CAAA,OAAA,GACnC,IAAK,CAAA,CACJ,QAAS,IACT,CAAA,IAAA,CAAM,KACN,YAAc,CAAA,IAAA,CACd,KAAM,IACN,CAAA,IAAA,CAAM,IACR,CAAC,CAAA,CACA,OAAO,CACN,EAAA,CAAIzB,QAAS,CAAA,IAAA,EAAO,CAAA,OAAA,CAAQ,IAAMoB,MAAAA,EAAQ,CAC1C,CAAA,OAAA,CAASlB,SAASF,MAAO,EAAA,CAAE,MAAM,CAAA,CAC9B,OAAQ,CAAA,sCAAsC,CACjD,CAAA,MAAA,CAAQE,SAASF,MAAO,EAAA,CAAE,MAAM,CAAA,CAC7B,QAAQ,sCAAsC,CAAA,CACjD,IAAMA,CAAAA,MAAAA,EACH,CAAA,GAAA,CAAI,EAAG,CAAE,OAAA,CAAS,sBAAuB,CAAC,CAAA,CAC1C,IAAI,GAAK,CAAA,CAAE,QAAS,uCAAwC,CAAC,EAChE,aAAeC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAC1C,CAAA,KAAA,CAAOW,EAAa,CAAA,QAAA,EAAW,CAAA,OAAA,CAAQ,SAAS,CAChD,CAAA,UAAA,CAAYhB,EAAiB,QAAS,EAAA,CAAE,QAAQ,QAAQ,CAAA,CACxD,WAAYK,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC3D,CAAA,YAAA,CAAcA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAC/D,CAAC,CAEG2B,CAAAA,EAAAA,CAAoBF,EAAY,OAAQ,EAAA,CAAE,KAAK,CACnD,EAAA,CAAI,KACJ,OAAS,CAAA,IAAA,CACT,WAAY,IACZ,CAAA,IAAA,CAAM,IACN,CAAA,YAAA,CAAc,IACd,CAAA,IAAA,CAAM,KACN,IAAM,CAAA,IACR,CAAC,ECzED,IAAMG,EAAqB7B,CAAAA,MAAAA,CAAO,CAChC,EAAA,CAAIC,QAAS,CAAA,IAAA,GACb,IAAMA,CAAAA,MAAAA,GACN,MAAQN,CAAAA,KAAAA,CAAQ,CAAC,cAAgB,CAAA,OAAO,CAAC,CACzC,CAAA,IAAA,CAAMM,QACN,CAAA,IAAA,CAAMA,QACN,CAAA,SAAA,CAAWA,MAAO,EAAA,CAClB,IAAMI,CAAAA,MAAAA,GAEN,KAAOH,CAAAA,QAAAA,CAASG,QAAQ,CAAA,CACxB,OAAQH,QAASG,CAAAA,MAAAA,EAAQ,CAC3B,CAAC,CAAA,CAEKyB,GAAaJ,CAAY,CAAA,MAAA,CAAO,CACpC,UAAYK,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC1C,QAAUF,CAAAA,EACZ,CAAC,CAEKG,CAAAA,EAAAA,CAAmBC,mBAAmB,OAAS,CAAA,CAEnDN,EAAkB,MAAO,CAAA,CACvB,WAAYI,OAAQ,CAAA,MAAM,EAAE,OAAQ,CAAA,MAAM,EAC1C,KAAOA,CAAAA,OAAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAAA,CAC3C,QAAUF,CAAAA,EACZ,CAAC,CAEDF,CAAAA,CAAAA,CAAkB,OAAO,CACvB,UAAA,CAAYI,QAAQ,MAAM,CAAA,CAAE,OAAQ,CAAA,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAU/B,MAAO,CAAA,CACf,IAAMC,CAAAA,MAAAA,EACR,CAAC,CACH,CAAC,CACH,CAAC,CAEKiC,CAAAA,EAAAA,CAAmBJ,GAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAc7B,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,MC1CGkC,EAA2BC,CAAAA,IAAAA,CAAK,IACpCpC,MAAAA,CAAO,CACL,IAAA,CAAMC,QACN,CAAA,OAAA,CAASC,SAASE,KAAM+B,CAAAA,EAAU,CAAC,CACnC,CAAA,KAAA,CAAOjC,QAASI,CAAAA,MAAAA,CAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,EACvC,KAAOL,CAAAA,QAAAA,CACLE,MACEJ,MAAO,CAAA,CACL,IAAMC,CAAAA,MAAAA,EACN,CAAA,KAAA,CAAOC,SAASI,MAAOL,CAAAA,MAAAA,GAAUM,GAAI,EAAC,CAAC,CACzC,CAAC,CACH,CACF,CAAA,CACA,KAAML,QAASD,CAAAA,MAAAA,EAAQ,CACzB,CAAC,CACH,CAEMoC,CAAAA,CAAAA,CAAerC,MAAO,CAAA,CAC1B,IAAM+B,CAAAA,OAAAA,CAAQ,KAAK,CACnB,CAAA,OAAA,CAAS3B,MAAM+B,EAAU,CAC3B,CAAC,CAEKG,CAAAA,EAAAA,CAAgBtC,OAAO,CAC3B,IAAA,CAAMqC,EACN,IAAMpC,CAAAA,MAAAA,EACR,CAAC,CAAA,CAAE,QAAQ,CAAE,IAAA,CAAM,CAAE,IAAA,CAAM,KAAO,CAAA,OAAA,CAAS,EAAG,CAAA,CAAG,KAAM,EAAG,CAAC,EAErDsC,EAAab,CAAAA,CAAAA,CAAY,OAAO,CACpC,IAAA,CAAMvB,SAASF,MAAO,EAAC,EACvB,UAAYP,CAAAA,CAAAA,CAAgB,OAAQ8C,CAAM,EAAA,CAAC,MAAQ,CAAA,SAAS,CAAE,CAAA,QAAA,CAASA,CAAC,CAAC,CAAA,CAEzE,QAASH,CAAa,CAAA,OAAA,CAAQ,CAAE,IAAM,CAAA,KAAA,CAAO,OAAS,CAAA,EAAG,CAAC,EAC1D,OAASC,CAAAA,EACX,CAAC,CAEKG,CAAAA,EAAAA,CAAmBd,EAAkB,MAAO,CAAA,CAChD,UAAYI,CAAAA,OAAAA,CAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,KAAM9B,MAAO,EAAA,CACV,UACA,CAAA,QAAA,GACA,OAAQ,CAAA,EAAE,EACV,SAAWuC,CAAAA,CAAAA,EAAMA,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAG,MAAM,CAC1B,CAAA,SAAA,CAAWA,CAAMA,EAAAA,CAAAA,EAAK,IAAI,CAAA,CAC7B,QAASH,CACX,CAAC,EAEKK,EAAiBH,CAAAA,EAAAA,CAAW,OAAO,CACvC,OAAA,CAASrC,SACPC,QACEmC,CAAAA,EAAAA,CAAc,QAAQ,CACpB,IAAA,CAAM,CAAE,IAAM,CAAA,KAAA,CAAO,QAAS,EAAG,CACjC,CAAA,IAAA,CAAM,EACR,CAAC,CACH,CACF,CAAA,CACA,UAAWlC,KAAME,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAA,CAAE,QAAQ,EAAE,EACpD,KAAOF,CAAAA,MAAAA,GAAS,OAAQ,CAAA,CAAC,CACzB,CAAA,YAAA,CAAcA,MAAO,EAAA,CAAE,QAAQ,CAAC,CAAA,CAGhC,OAAQS,OAAQ,EAAA,CAAE,QAAQ,KAAK,CACjC,CAAC,CAAA,CAEK6B,EAAkBvC,CAAAA,KAAAA,CAAMsC,EAAc,CAEtCE,CAAAA,EAAAA,CAAkBxC,MAAMmC,EAAU,CAAA,CAElCM,GAAmBN,EAAW,CAAA,OAAA,EACjC,CAAA,IAAA,CAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,OAAS,CAAA,IAAA,CACT,aAAc,IACd,CAAA,IAAA,CAAM,KACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,YAActC,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,ECrFH,IAAM6C,GAAgBpB,CAAY,CAAA,MAAA,CAAO,CACvC,UAAYK,CAAAA,OAAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAChD,CAAA,OAAA,CAAS7B,SACPC,QACEH,CAAAA,MAAAA,CAAO,CACL,IAAA,CAAMC,MAAO,EAAA,CAAE,OAAQuC,CAAMA,EAAAA,CAAAA,GAAM,KAAK,CACxC,CAAA,OAAA,CAASpC,MAAME,MAAOL,CAAAA,MAAAA,EAAUM,CAAAA,GAAAA,EAAK,CAAC,CACxC,CAAC,CAAA,CAAE,QAAQ,CAAE,IAAA,CAAM,MAAO,OAAS,CAAA,EAAG,CAAC,CACzC,CACF,CACF,CAAC,CAAA,CAEKwC,GAAsBD,EAAc,CAAA,OAAA,GACvC,IAAK,CAAA,CACJ,GAAI,IACJ,CAAA,OAAA,CAAS,IACX,CAAC,CAAA,CACA,OAAO,CACN,UAAA,CAAYf,QAAQ,SAAS,CAAA,CAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,EAAA,CAAI9B,QAAS,CAAA,OAAA,CAAQ,IAAMoB,MAAO,EAAC,EACnC,IAAMpB,CAAAA,MAAAA,GAAS,OAAQ,CAAA,EAAE,EACzB,UAAYA,CAAAA,MAAAA,GAAS,OAAQ,CAAA,IAAM,IAAI,IAAK,EAAA,CAAE,WAAY,EAAC,CAC3D,CAAA,YAAA,CAAcA,QAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,EChBG+C,IAAAA,EAAAA,CAAqBtB,CAAY,CAAA,MAAA,CAAO,CAC5C,QAAA,CAAU1B,OAAO,CACf,OAAA,CAASI,MAAMH,MAAO,EAAC,CACzB,CAAC,CAAA,CACD,UAAYP,CAAAA,CAAAA,CAAgB,OAAQ,CAAA,cAAc,EAClD,KAAOQ,CAAAA,QAAAA,CAASC,SAASC,KAAMS,CAAAA,CAAa,CAAC,CAAC,CAChD,CAAC,CAEKoC,CAAAA,EAAAA,CAA2BD,GAAmB,IAAK,CAAA,CACvD,OAAQ,IACR,CAAA,OAAA,CAAS,KACT,OAAS,CAAA,IAAA,CACT,UAAY,CAAA,IAAA,CACZ,YAAc,CAAA,IAChB,CAAC,CAAE,CAAA,MAAA,CAAO,CACR,EAAI/C,CAAAA,MAAAA,GACD,IAAK,EAAA,CACL,QAAQ,IAAMoB,MAAAA,EAAQ,CACzB,CAAA,MAAA,CAAQpB,QAAS,CAAA,IAAA,GAAO,OAAQ,CAAA,sCAAsC,CACtE,CAAA,OAAA,CAASA,MAAO,EAAA,CAAE,MAAO,CAAA,OAAA,CAAQ,sCAAsC,CACvE,CAAA,YAAA,CAAcH,GAAmB,OAAQ,CAAA,MAAM,EAC/C,UAAYF,CAAAA,CAAAA,CAAiB,QAAQ,SAAS,CAChD,CAAC,CAGKsD,CAAAA,EAAAA,CAA2BD,GAAyB,IAAK,CAAA,CAC7D,EAAI,CAAA,IAAA,CACJ,MAAQ,CAAA,IAAA,CACR,QAAS,IACT,CAAA,IAAA,CAAM,KACN,IAAM,CAAA,IAAA,CACN,aAAc,IACd,CAAA,IAAA,CAAM,IACR,CAAC,CAAE,CAAA,OAAA,GAEGE,EAAgBnD,CAAAA,MAAAA,CAAO,CAC3B,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,eAAiBA,CAAAA,MAAAA,EAAS,CAAA,IAAA,GAC1B,OAASA,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACvB,KAAMC,QAASC,CAAAA,QAAAA,CAASU,CAAa,CAAC,CAAA,CACtC,WAAYZ,MAAO,EAAA,CACnB,aAAcA,MAAO,EAAA,CACrB,QAASG,KAAMH,CAAAA,MAAAA,EAAS,CAAA,IAAA,EAAM,CAAA,CAC9B,KAAMoC,CACN,CAAA,IAAA,CAAMpC,QACN,CAAA,QAAA,CAAUC,SAASC,QAASG,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAC,CACtD,CAAC,ECtDD,IAAM6C,GAAgCpD,MAAO,CAAA,CAC3C,KAAMC,MAAO,EAAA,CACb,KAAMI,MAAO,EAAA,CACb,IAAMJ,CAAAA,MAAAA,EACN,CAAA,SAAA,CAAWA,QACX,CAAA,IAAA,CAAMA,QACN,CAAA,EAAA,CAAIA,QAAS,CAAA,IAAA,EACb,CAAA,MAAA,CAAQN,KAAQ,CAAA,CAAC,eAAgB,OAAO,CAAC,CAC3C,CAAC,CAAA,CAEK0D,GAAwBrD,MAAO,CAAA,CACnC,UAAYC,CAAAA,MAAAA,EACZ,CAAA,MAAA,CAAQ8B,QAAQ,UAAU,CAAA,CAAE,QAAQ,UAAU,CAAA,CAC9C,QAAS3B,KAAMH,CAAAA,MAAAA,EAAQ,CACzB,CAAC,EAEKqD,EAAgB5B,CAAAA,CAAAA,CAAY,OAAO,CACvC,UAAA,CAAYK,QAAQ,SAAS,CAAA,CAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,QAAA,CAAUsB,GAAsB,MAAO,CAAA,CACrC,GAAGD,EAA8B,CAAA,OAAA,GAAU,KAC7C,CAAC,CACD,CAAA,OAAA,CAAShD,KAAME,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CACxC,CAAC,CAEKgD,CAAAA,EAAAA,CAA8B5B,CAAkB,CAAA,MAAA,CAAO,CAC3D,UAAA,CAAYI,QAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAChD,SAAUsB,EAAsB,CAAA,MAAA,CAAO,CACrC,GAAGD,EAAAA,CAA8B,KACnC,CAAC,CAAA,CACD,QAAShD,KAAME,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CACxC,CAAC,EAEKiD,EAAgC7B,CAAAA,CAAAA,CAAkB,OAAO,CAC7D,UAAA,CAAYI,QAAQ,SAAS,CAAA,CAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,QAAA,CAAUsB,GACV,OAASjD,CAAAA,KAAAA,CAAME,OAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,CACxC,CAAC,CAEKkD,CAAAA,EAAAA,CAAsBH,GAAc,OAAQ,EAAA,CAC/C,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,KAAM,IACN,CAAA,IAAA,CAAM,KACN,IAAM,CAAA,IACR,CAAC,CAAA,CACA,MAAO,CAAA,CACN,WAAYvB,OAAQ,CAAA,SAAS,EAAE,OAAQ,CAAA,SAAS,EAChD,YAAc9B,CAAAA,MAAAA,GAAS,OAAQ,CAAA,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAC/D,CAAC,ECvDGyD,IAAAA,EAAAA,CAAyB/D,MAAQ,CACrC,QAAA,CACA,OACA,SACA,CAAA,OAAA,CACA,UACA,WACA,CAAA,QAAA,CACA,UACA,OACA,CAAA,OAAA,CACA,OACF,CAAC,CAEKgE,CAAAA,EAAAA,CAAqB3D,OAAO,CAChC,EAAA,CAAIC,QAAS,CAAA,IAAA,GACb,cAAgBA,CAAAA,MAAAA,EAAS,CAAA,IAAA,EACzB,CAAA,mBAAA,CAAqBA,QAAS,CAAA,IAAA,GAC9B,MAAQA,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACtB,QAAUC,CAAAA,QAAAA,CAASD,MAAO,EAAA,CAAE,MAAM,CAAA,CAClC,KAAMyD,EACN,CAAA,OAAA,CAAS1D,OAAO,CACd,IAAA,CAAME,SAASD,MAAO,EAAC,EACvB,KAAOC,CAAAA,QAAAA,CACLF,OAAO,CACL,OAAA,CAASC,QACT,CAAA,SAAA,CAAWP,CACb,CAAC,CACH,CAAA,CACA,QAASQ,QAASF,CAAAA,MAAAA,CAAO,EAAE,CAAC,EAC5B,KAAOE,CAAAA,QAAAA,CACLF,OAAO,CACL,IAAA,CAAML,MAAQ,CAAC,SAAA,CAAW,OAAO,CAAC,CACpC,CAAC,CACH,CACF,CAAC,CAAA,CACD,MAAQmB,CAAAA,OAAAA,GACR,UAAYb,CAAAA,MAAAA,GACZ,YAAcA,CAAAA,MAAAA,EAChB,CAAC,MCjCK2D,EAAWjE,CAAAA,KAAAA,CAAQ,CAAC,uBAAA,CAAyB,MAAQ,CAAA,WAAW,CAAC,CAEjEkE,CAAAA,EAAAA,CAAwB7D,OAAO,CACnC,cAAA,CAAgB4D,GAChB,OAAS1D,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,EACpC,QAAUA,CAAAA,MAAAA,GACV,SAAWA,CAAAA,MAAAA,EACb,CAAC,CAAA,CAEK6D,GAAgBpC,CAAY,CAAA,MAAA,CAAO,CACvC,UAAYhC,CAAAA,CAAAA,CAAgB,OAAQ8C,CAAoBA,EAAAA,CAAAA,GAAd,SAAe,CACzD,CAAA,QAAA,CAAUqB,EACZ,CAAC,CAEKE,CAAAA,EAAAA,CAAc/D,OAAO,CACzB,EAAA,CAAIC,QACJ,CAAA,OAAA,CAASA,QACT,CAAA,UAAA,CAAYA,QACZ,CAAA,IAAA,CAAMA,QACN,CAAA,MAAA,CAAQN,MAAQ,CAAC,KAAA,CAAO,OAAQ,KAAO,CAAA,OAAA,CAAS,QAAQ,CAAC,CACzD,CAAA,OAAA,CAASO,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACpC,WAAYC,QAASC,CAAAA,QAAAA,CAASC,MAAME,MAAOL,CAAAA,MAAAA,GAAUM,GAAI,EAAC,CAAC,CAAC,CAAC,EAC7D,YAAcL,CAAAA,QAAAA,CAASC,QAASG,CAAAA,MAAAA,CAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,CAAC,CACxD,CAAA,SAAA,CAAWL,SAASC,QAASC,CAAAA,KAAAA,CAAME,MAAOL,CAAAA,MAAAA,EAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAC,CAAC,CAC5D,CAAA,UAAA,CAAYL,SAASC,QAASR,CAAAA,KAAAA,CAAQ,CAAC,MAAA,CAAQ,SAAW,CAAA,MAAM,CAAC,CAAC,CAAC,EACnE,YAAcO,CAAAA,QAAAA,CAASC,SAASR,KAAQ,CAAA,CAAC,QAAS,OAAS,CAAA,OAAA,CAAS,MAAO,UAAY,CAAA,kBAAkB,CAAC,CAAC,CAAC,EAC5G,oBAAsBO,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,EACjD,WAAaC,CAAAA,QAAAA,CAASC,SAASR,KAAQ,CAAA,CAAC,OAAQ,SAAW,CAAA,MAAM,CAAC,CAAC,CAAC,CAAA,CACpE,SAAUO,QAASC,CAAAA,QAAAA,CAASG,OAAOL,MAAO,EAAA,CAAGM,KAAK,CAAC,CAAC,CAAA,CACpD,UAAYL,CAAAA,QAAAA,CAASC,SAASE,MAAO,EAAC,CAAC,CACvC,CAAA,YAAA,CAAcJ,QAChB,CAAC,EAEK+D,EAAehE,CAAAA,MAAAA,CAAO,CAC1B,EAAIC,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAClB,QAASA,MAAO,EAAA,CAAE,IAAK,EAAA,CACvB,QAAUA,CAAAA,MAAAA,GAAS,IAAK,EAAA,CACxB,SAAUC,QAASC,CAAAA,QAAAA,CAASG,OAAOL,MAAO,EAAA,CAAGM,GAAI,EAAC,CAAC,CAAC,EACpD,QAAUL,CAAAA,QAAAA,CAASC,SAASG,MAAOL,CAAAA,MAAAA,GAAUM,GAAI,EAAC,CAAC,CAAC,CACpD,CAAA,YAAA,CAAcO,SAAU,CAAA,OAAA,CAAQ,IAAI,CACpC,CAAA,cAAA,CAAgBZ,SAASC,QAASF,CAAAA,MAAAA,GAAS,IAAK,EAAC,CAAC,CAClD,CAAA,eAAA,CAAiBC,SAASC,QAASF,CAAAA,MAAAA,GAAS,IAAK,EAAC,CAAC,CAAA,CACnD,WAAaC,CAAAA,QAAAA,CAASC,SAASuB,CAAW,CAAC,EAC3C,YAAcxB,CAAAA,QAAAA,CAASC,SAASuB,CAAW,CAAC,EAC5C,MAAQ/B,CAAAA,KAAAA,CAAQ,CAAC,SAAW,CAAA,YAAA,CAAc,YAAa,QAAQ,CAAC,EAChE,UAAYM,CAAAA,MAAAA,EACZ,CAAA,YAAA,CAAcA,MAAO,EAAA,CACrB,WAAYC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EACvC,WAAaC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAC1C,CAAC,ECpDKgE,IAAAA,EAAAA,CAAoBvC,CAAY,CAAA,MAAA,CAAO,CAC3C,UAAYhC,CAAAA,CAAAA,CAAgB,OAAQwE,CAAQA,EAAAA,CAAAA,GAAQ,aAAa,CACjE,CAAA,QAAA,CAAUlE,MAAO,CAAA,CACf,QAAUE,CAAAA,QAAAA,CACRF,OAAO,CACL,IAAA,CAAMC,QACR,CAAC,EAAE,WAAY,EACjB,CACF,CAAC,CAAA,CAAE,aACL,CAAC,EAEKkE,EAA0BF,CAAAA,EAAAA,CAAkB,SAAU,CAAA,MAAA,CAAO,CACjE,EAAA,CAAIhE,MAAO,EAAA,CACR,MACA,CAAA,OAAA,CAAQ,IAAMoB,MAAO,EAAC,EACzB,OAASpB,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAAE,QAAQ,sCAAsC,CAAA,CACvE,OAAQA,MAAO,EAAA,CAAE,MAAO,CAAA,OAAA,CAAQ,sCAAsC,CAAA,CACtE,aAAeA,CAAAA,MAAAA,EACjB,CAAC,CAAA,CAEKmE,GAA0BpE,MAAO,CAAA,CACrC,QAASE,QAASC,CAAAA,QAAAA,CAASF,QAAS,CAAA,IAAA,EAAM,CAAC,CAAA,CAC3C,cAAeC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,CAC1C,CAAA,IAAA,CAAMC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,EACjC,WAAaC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAAA,CACxC,UAAYC,CAAAA,QAAAA,CAASC,SAASP,CAAgB,CAAC,EAC/C,QAAUM,CAAAA,QAAAA,CAASC,SAASG,MAAOL,CAAAA,MAAAA,EAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAC,CACpD,CAAA,YAAA,CAAcN,QAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,ECxBD,IAAMoE,GAAkB3C,CAAY,CAAA,MAAA,CAAO,CACzC,UAAYhC,CAAAA,CAAAA,CAAgB,OAAQwE,CAAQA,EAAAA,CAAAA,GAAQ,WAAW,CACjE,CAAC,CAEKI,CAAAA,EAAAA,CAAwB5C,CAAY,CAAA,OAAA,GAAU,MAAO,CAAA,CACzD,GAAIzB,MAAO,EAAA,CACR,MACA,CAAA,OAAA,CAAQ,IAAMoB,MAAO,EAAC,EACzB,OAASpB,CAAAA,MAAAA,GAAS,IAAK,EAAA,CAAE,QAAQ,sCAAsC,CAAA,CACvE,MAAQA,CAAAA,MAAAA,EAAS,CAAA,IAAA,GAAO,OAAQ,CAAA,sCAAsC,EACtE,aAAeA,CAAAA,MAAAA,GACf,QAAUD,CAAAA,MAAAA,CAAO,CACf,KAAA,CAAOI,KAAME,CAAAA,MAAAA,CAAOL,QAAUM,CAAAA,GAAAA,EAAK,CAAC,CAAA,CACpC,MAAOH,KAAME,CAAAA,MAAAA,CAAOL,MAAO,EAAA,CAAGM,GAAI,EAAC,CAAC,CACtC,CAAC,EAAE,WAAY,EACjB,CAAC,CAEKgE,CAAAA,EAAAA,CAAwBvE,OAAO,CACnC,OAAA,CAASG,SAASF,MAAO,EAAA,CAAE,MAAM,CAAA,CACjC,cAAeE,QAASF,CAAAA,MAAAA,EAAQ,CAAA,CAChC,IAAME,CAAAA,QAAAA,CAASF,QAAQ,CAAA,CACvB,YAAaE,QAASF,CAAAA,MAAAA,EAAQ,CAC9B,CAAA,UAAA,CAAYE,QAASP,CAAAA,CAAgB,CACrC,CAAA,QAAA,CAAUO,SAASG,MAAOL,CAAAA,MAAAA,GAAUM,GAAI,EAAC,CAAC,CAC1C,CAAA,YAAA,CAAcN,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAC/D,CAAC,EChCD,IAAMuE,GAAiBxE,MAAO,CAAA,CAC1B,GAAIC,MAAO,EAAA,CAAE,MACb,CAAA,OAAA,CAASA,MAAO,EAAA,CAAE,IAAK,EAAA,CACvB,SAAUA,MAAO,EAAA,CAAE,MACnB,CAAA,OAAA,CAASK,OAAOL,MAAO,EAAA,CAAGM,GAAI,EAAC,CAC/B,CAAA,UAAA,CAAYN,QACZ,CAAA,MAAA,CAAQC,SAASC,QAASW,CAAAA,OAAAA,EAAS,CAAC,CACxC,CAAC,ECjBD,SAAS2D,GACPC,CAMAC,CAAAA,CAAAA,CAAa,MACb,CACA,OAAI,CAACD,CAAW,EAAA,CAAC,KAAM,CAAA,OAAA,CAAQA,CAAO,CAAA,CAAU,GAEzCA,CACJ,CAAA,GAAA,CAAKE,GAGFD,CACCC,GAAAA,CAAAA,CAAO,eAAe,QAAQ,CAAA,EAAI,CAACA,CAAO,CAAA,MAAA,CAAA,CAEpC,GACF,CAAGA,EAAAA,CAAAA,CAAO,MAAM,CAAIA,CAAAA,EAAAA,CAAAA,CAAO,QAAQ,CAAIA,CAAAA,EAAAA,CAAAA,CAAO,KAAK,CAAA,CAC3D,CACA,CAAA,IAAA,CAAK,GAAG,CACb,KCrBMC,EAAqBC,CAAAA,CAAAA,EAEvBA,EAEG,WAAY,EAAA,CAEZ,UAAU,KAAK,CAAA,CAEf,QAAQ,kBAAoB,CAAA,EAAE,EAE9B,OAAQ,CAAA,YAAA,CAAc,GAAG,CAEzB,CAAA,OAAA,CAAQ,WAAa,CAAA,EAAE,CAEvB,CAAA,OAAA,CAAQ,SAAU,GAAG,CAAA,CAErB,QAAQ,KAAO,CAAA,EAAE,EACjB,OAAQ,CAAA,KAAA,CAAO,EAAE,CAAA,CAIlBC,EAAiBC,CAAAA,CAAAA,EAAe,CACpC,GAAIA,CAAAA,CAAM,aAAe,cACvB,CAAA,OAAO,kBAAkBA,CAAM,CAAA,EAAE,CAEnC,CAAA,CAAA,GAAIA,CAAM,CAAA,UAAA,GAAe,UACvB,OAAO,CAAA,UAAA,EAAaA,EAAM,EAAE,CAAA,CAAA,CAE9B,IAAMC,CACJD,CAAAA,CAAAA,CAAM,SAAW,sCACbA,CAAAA,CAAAA,CAAM,aAAa,IACnBA,CAAAA,CAAAA,CAAM,KAAK,QACXF,CAAAA,CAAAA,CAAOE,EAAM,IAAOH,CAAAA,EAAAA,CAAkBG,CAAM,CAAA,IAAI,CAAIA,CAAAA,CAAAA,CAAM,GAEhE,OAAO,CAAA,CAAA,EADWA,EAAM,UACJ,CAAA,EAAA,EAAKC,CAAU,CAAIH,CAAAA,EAAAA,CAAI,EAC7C,EAQA,IAAMI,GAAc,CAClBF,CAAAA,CACAG,IAIG,CAEH,IAAMC,GAAOJ,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAO,CAAA,IAAA,GAAQD,EAAcC,CAAAA,CAAK,EACzCK,CAAcF,CAAAA,CAAAA,EAAA,MAAAA,CAAQ,CAAA,MAAA,CAAS,WAAWA,CAAO,CAAA,MAAM,GAAK,EAC9DG,CAAAA,CAAAA,CAAM,GAAGF,CAAI,CAAA,EAAGC,CAAW,CAC/B,CAAA,CAAA,OAAIF,GAAA,IAAAA,EAAAA,CAAAA,CAAQ,OACVG,GAAAA,CAAAA,EAAO,CAAYb,SAAAA,EAAAA,EAAAA,CAAmBU,EAAO,OAAO,CAAC,IAGhDG,CACT,EC3DA,IAAMC,EAAc,CAAA,CAClB,KAAM,OACN,CAAA,KAAA,CAAO,SACP,KAAMC,CAAAA,CAAAA,CAAa,CACjB,IAAMC,CAAAA,CAAQD,CAAI,CAAA,KAAA,CAAM,WAAW,CAAA,CACnC,OAAOC,CAAQA,CAAAA,CAAAA,CAAM,MAAQ,MAC/B,CAAA,CACA,IAAID,CAAa,CAAA,CATnB,IAAAE,CAAAC,CAAAA,CAAAA,CAAAC,EAUI,IAAMH,CAAAA,CAAQD,EAAI,KAAM,CAAA,eAAe,EACvC,OAAOC,CAAAA,CAAAA,CAAAA,CAASC,CAAAD,CAAAA,CAAAA,CAAM,KAAN,GAAA,IAAA,CAAAC,EAAe,CAAME,GAAAA,CAAAA,CAAAA,CAAAA,CAAAD,EAAAF,CAAM,CAAA,CAAC,IAAP,IAAAE,CAAAA,MAAAA,CAAAA,CAAAA,CAAU,SAAV,IAAAC,CAAAA,CAAAA,CAAoB,GAAK,MAChE,CAAA,CACA,UAAUJ,CAAaK,CAAAA,CAAAA,CAAa,CAClC,IAAMC,CAAAA,CAAc,qBACdC,CAAAA,CAAAA,CAAa,qBAEfN,CAAAA,CAAAA,CAAQK,EAAY,IAAKN,CAAAA,CAAG,EAChC,GAAIC,CAAAA,CACF,OAAO,CACL,IAAA,CAAM,QACN,GAAKA,CAAAA,CAAAA,CAAM,CAAC,CACZ,CAAA,KAAA,CAAOA,EAAM,CAAC,CAAA,CAAE,MAChB,CAAA,WAAA,CAAa,IACf,CAAA,CAGF,GADAA,CAAAA,CAAQM,EAAW,IAAKP,CAAAA,CAAG,EACvBC,CACF,CAAA,OAAO,CACL,IAAM,CAAA,OAAA,CACN,GAAKA,CAAAA,CAAAA,CAAM,CAAC,CAAA,CACZ,MAAOA,CAAM,CAAA,CAAC,EAAE,IAAK,EAAA,CACrB,YAAa,KACf,CAEJ,CACA,CAAA,QAAA,CAASO,CAAY,CAAA,CAEnB,OAAO,CAAqBA,kBAAAA,EAAAA,CAAAA,CAAM,KAAK,CAAwBA,qBAAAA,EAAAA,CAAAA,CAAM,WAAW,CAClF,SAAA,CAAA,CACF,EAEMC,EAA0B,CAAA,CAC9B,KAAM,gBACN,CAAA,KAAA,CAAO,QACP,KAAMT,CAAAA,CAAAA,CAAa,CA7CrB,IAAAE,CAAAA,CA8CI,OAAOA,CAAAA,CAAAA,CAAAF,CAAI,CAAA,KAAA,CAAM,oBAAoB,CAA9B,GAAA,IAAA,CAAA,MAAA,CAAAE,EAAiC,KAC1C,CAAA,CACA,IAAIF,CAAa,CAAA,CAhDnB,IAAAE,CAAAA,CAiDI,OAAOA,CAAAA,CAAAA,CAAAF,EAAI,KAAM,CAAA,MAAM,IAAhB,IAAAE,CAAAA,MAAAA,CAAAA,CAAAA,CAAmB,KAC5B,CACA,CAAA,SAAA,CAAUF,CAAaK,CAAAA,CAAAA,CAAa,CAElC,IAAMJ,EADO,0CACM,CAAA,IAAA,CAAKD,CAAG,CAC3B,CAAA,GAAIC,EAOF,OANc,CACZ,KAAM,gBACN,CAAA,GAAA,CAAKA,EAAM,CAAC,CAAA,CACZ,WAAYA,CAAM,CAAA,CAAC,EACnB,MAAQ,CAAA,EACV,CAGJ,CACA,CAAA,QAAA,CAASO,EAAY,CACnB,IAAIE,EACJ,GAAI,CACFA,EAAa,IAAK,CAAA,KAAA,CAAMF,CAAM,CAAA,UAAU,EAC1C,CAAA,MAASG,EAAG,CACV,OAAA,CAAQ,MAAM,4CAA8CA,CAAAA,CAAC,EAC7DD,CAAa,CAAA,GACf,CAMA,OALsB;AAAA,yBAAA,EACC,MAAO,CAAA,OAAA,CAAQA,CAAU,CAAA,CAC3C,IAAI,CAAC,CAACE,CAAKC,CAAAA,CAAK,IAAM,CAAGD,EAAAA,CAAG,CAAKC,EAAAA,EAAAA,CAAK,GAAG,CACzC,CAAA,IAAA,CAAK,GAAG,CAAC,CAGhB,mBAAA,CAAA,CACF,CAEMC,CAAAA,EAAAA,CAAuB,CAC3B,IAAM,CAAA,aAAA,CACN,KAAO,CAAA,QAAA,CACP,MAAMd,CAAa,CAAA,CApFrB,IAAAE,CAAAA,CAqFI,QAAOA,CAAAF,CAAAA,CAAAA,CAAI,KAAM,CAAA,MAAM,CAAhB,GAAA,IAAA,CAAA,MAAA,CAAAE,CAAmB,CAAA,KAC5B,EACA,GAAIF,CAAAA,CAAAA,CAAa,CAvFnB,IAAAE,EAwFI,OAAOA,CAAAA,CAAAA,CAAAF,CAAI,CAAA,KAAA,CAAM,KAAK,CAAf,GAAA,IAAA,CAAA,MAAA,CAAAE,CAAkB,CAAA,KAC3B,EACA,SAAUF,CAAAA,CAAAA,CAAaK,CAAa,CAAA,CAElC,IAAMJ,CADO,CAAA,yBAAA,CACM,IAAKD,CAAAA,CAAG,EAC3B,GAAIC,CAAAA,CACF,OAAO,CACL,KAAM,aACN,CAAA,GAAA,CAAKA,CAAM,CAAA,CAAC,CACZ,CAAA,QAAA,CAAUA,CAAM,CAAA,CAAC,CACnB,CAEJ,CAAA,CACA,QAASO,CAAAA,CAAAA,CAAY,CACnB,OAAO,CAAA,wBAAA,EAA2BA,CAAM,CAAA,QAAQ,iBAAiBA,CAAM,CAAA,QAAQ,CACjF,iBAAA,CAAA,CACF,EAEAO,MAAO,CAAA,GAAA,CAAI,CACT,GAAA,CAAK,KACL,UAAY,CAAA,CAACN,EAAyBK,CAAAA,EAAAA,CAAsBf,EAAW,CACzE,CAAC,CAEM,CAAA,SAASiB,GAAcC,CAAkB,CAAA,CAC9C,OAAOF,MAAAA,CAAO,KAAME,CAAAA,CAAQ,CAC9B,CCtGA,IAAMC,EAAkBC,CAAAA,CAAAA,EAClB,KAAM,CAAA,OAAA,CAAQA,CAAI,CAAUA,CAAAA,CAAAA,CAAK,GAAID,CAAAA,EAAc,EACnDC,CAAA,EAAA,IAAA,EAAAA,CAAM,CAAA,OAAA,CACJ,MAAM,OAAQA,CAAAA,CAAAA,CAAK,OAAO,CAAA,CACrBA,EAAK,OAAQ,CAAA,GAAA,CAAID,EAAc,CAAA,CAAE,MAC9BA,CAAAA,EAAAA,CAAeC,CAAK,CAAA,OAAO,EAC3BA,CAGhB,CAAA,SAASC,EAAuBC,CAAAA,CAAAA,CAAuB,CACrD,GAAI,CAACA,CAAAA,EAAQ,EAACA,CAAA,EAAA,IAAA,EAAAA,CAAM,CAAA,OAAA,CAAA,CAAS,OAAO,CAAE,KAAA,CAAO,EAAC,CAAG,OAAQ,EAAG,CAC5D,CAAA,IAAMC,EAAUD,CAAK,CAAA,OAAA,CAAQ,GAAIH,CAAAA,EAAc,EAAE,IAAK,EAAA,CAEhDK,CAAQD,CAAAA,CAAAA,CACX,OAAQH,CAAcA,EAAAA,CAAAA,CAAK,IAAS,GAAA,SAAS,EAC7C,GAAKA,CAAAA,CAAAA,EAAW,CA1BrB,IAAAjB,CAAAC,CAAAA,CAAAA,CAAAC,EA0ByB,CAAA,OAAA,CACnB,SAASF,CAAAiB,CAAAA,CAAAA,CAAK,KAAL,GAAA,IAAA,CAAA,MAAA,CAAAjB,EAAY,EACrB,CAAA,QAAA,CAAA,CAAA,CAAUC,CAAAgB,CAAAA,CAAAA,CAAK,QAAL,IAAAhB,CAAAA,MAAAA,CAAAA,CAAAA,CAAY,KAASC,IAAAA,CAAAA,EAAAA,CAAAe,EAAK,KAAL,GAAA,IAAA,CAAA,MAAA,CAAAf,EAAY,CAAA,QAAA,CAC7C,EAAE,CACD,CAAA,MAAA,CAAO,CAACoB,CAAAA,CAAeL,KACjBK,CAAO,CAAA,IAAA,CAAMC,CAAMA,EAAAA,CAAAA,CAAE,UAAYN,CAAK,CAAA,OAAO,CAChDK,EAAAA,CAAAA,CAAO,IAAKL,CAAAA,CAAI,CAEXK,CAAAA,CAAAA,CAAAA,CACN,EAAE,CAAA,CAEDE,CAASJ,CAAAA,CAAAA,CAEZ,OACEH,CAAW,EAAA,CAxClB,IAAAjB,CAAAA,CAAAC,EAyCQ,OAAAgB,CAAAA,CAAK,IAAS,GAAA,gBAAA,GAAA,CAAoBjB,EAAAiB,CAAK,CAAA,KAAA,GAAL,IAAAjB,CAAAA,MAAAA,CAAAA,CAAAA,CAAY,KAAM,EAACC,CAAAA,CAAAA,CAAAgB,CAAK,CAAA,KAAA,GAAL,MAAAhB,CAAY,CAAA,OAAA,CAAA,CACrE,CACC,CAAA,GAAA,CAAI,CAAC,CAAE,KAAA,CAAAwB,CAAM,CAAA,IAAoC,CAChD,EAAA,CAAIA,CAAM,CAAA,EAAA,CACV,UAAWA,CAAM,CAAA,SACnB,CAAE,CAAA,CAAA,CACD,OAAO,CAACH,CAAAA,CAAeL,CACjBK,IAAAA,CAAAA,CAAO,KAAMC,CAAMA,EAAAA,CAAAA,CAAE,EAAON,GAAAA,CAAAA,CAAK,EAAE,CACtCK,EAAAA,CAAAA,CAAO,IAAKL,CAAAA,CAAI,EAEXK,CACN,CAAA,CAAA,EAAE,CAAA,CAEP,OAAO,CACL,KAAA,CAAAD,CACA,CAAA,MAAA,CAAAG,CACF,CACF","file":"index.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n enum as zodEnum,\n type z,\n any,\n nullable,\n optional,\n record\n} from \"zod\";\n\nconst AssetTypeSchema = zodEnum([\n \"user\",\n \"organization\",\n \"team\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n \"post\",\n \"comment\",\n \"conversation\",\n \"blueprint\",\n \"replication\",\n]);\n\nconst VisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n \"inherit\",\n]);\n\nconst RoleSchema = zodEnum([\"admin\", \"read\", \"write\", \"none\"]);\n\nconst MonetizationSchema = zodEnum([\"none\", \"pay-to-unlock\", \"pay-per-use\"]);\n\nconst EmbeddingSchema = object({\n id: string(),\n user_id: string(),\n org_id: optional(nullable(string())),\n embedding: array(number()),\n content: string(),\n asset_type: AssetTypeSchema,\n asset_id: string(),\n metadata: optional(nullable(record(string(), any()))),\n created_at: string(),\n last_updated: string(),\n});\n\nconst ConnectionTypeSchema = zodEnum([\n \"comment\",\n \"reference\",\n \"mention\",\n \"action\",\n \"component\",\n]);\n\nconst ConnectionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n type: ConnectionTypeSchema,\n action_id: optional(nullable(string().uuid())),\n source_id: string().uuid(),\n target_id: string().uuid(),\n source_asset_type: AssetTypeSchema,\n target_asset_type: AssetTypeSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst PurchaseAssetSchema = object({\n assetId: string().uuid(),\n method: zodEnum([\"checkout\", \"api\"]),\n assetType: AssetTypeSchema,\n});\n\nconst PermissionSchema = object({\n id: string().uuid(),\n role: RoleSchema,\n user: object({\n user_id: string().uuid(),\n }),\n user_id: nullable(string().uuid()),\n org_id: nullable(string().uuid()),\n asset_type: AssetTypeSchema,\n asset_id: string().uuid(),\n created_at: string(),\n last_updated: string(),\n});\n\nconst StatusSchema = zodEnum([\"queued\", \"in-progress\", \"success\", \"error\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\n","import {\n object,\n string,\n number,\n array,\n boolean,\n enum as zodEnum,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nconst ProfileSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n username: optional(nullable(string())),\n avatar_path: optional(nullable(string())),\n bio: optional(nullable(string())),\n urls: optional(\n array(\n object({\n value: string().url(),\n })\n )\n ),\n post_id: optional(nullable(string().uuid())),\n is_agent: boolean(),\n plan_type: zodEnum([\"free\", \"gold\"]),\n last_active: string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n is_agent: boolean(),\n isFollowing: boolean(),\n isFollowed: boolean(),\n isSelf: boolean(),\n followers: number().default(0),\n following: number().default(0),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n // username: true, // once set, users cannot update their username\n});\n// .extend({\n// user_id: z.string().uuid(),\n// })\n\nexport { ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n","import {\n object,\n string,\n array,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\nimport { ProfileSchema } from \"./users\";\n\nconst OrganizationsSchema = object({\n id: string().uuid(),\n name: string(),\n avatar_path: optional(nullable(string())),\n mission: optional(nullable(string())),\n size: string(),\n email: optional(nullable(string())),\n domain: optional(nullable(string())),\n urls: optional(\n nullable(\n array(\n object({\n value: string(),\n })\n )\n )\n ),\n base_role: RoleSchema.default(\"write\"),\n});\n\nconst MembershipSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n user: optional(nullable(ProfileSchema)),\n org_id: string().uuid(),\n team_id: string().uuid(),\n role: RoleSchema,\n added_at: string().default(() => new Date().toISOString()),\n visibility: VisibilitySchema.default(\"public\"),\n});\n\nexport { OrganizationsSchema, MembershipSchema };\nexport type Organization = z.infer<typeof OrganizationsSchema>;\nexport type Membership = z.infer<typeof MembershipSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n number,\n array,\n type z,\n optional,\n nullable\n} from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\n\nconst TeamSchema = object({\n id: string().uuid(),\n org_id: string().uuid(),\n organization: OrganizationsSchema,\n name: string(),\n description: optional(nullable(string())),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n userMembership: optional(\n nullable(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: optional(nullable(number())),\n members: array(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n created_at: string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: string().default(() => new Date().toISOString()),\n}).omit({\n organization: true,\n userMembership: true,\n memberCount: true,\n members: true,\n created_at: true,\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: optional(\n nullable(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: number(),\n members: array(\n object({\n user_id: string().uuid(),\n role: RoleSchema,\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n organization: optional(nullable(OrganizationsSchema.partial())),\n});\n\nconst ReadTeamsSchema = array(\n ReadTeamSchema.extend({\n label: string(),\n value: string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n organization: true,\n created_at: true,\n })\n .extend({\n id: string().uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n","import {\n object,\n string,\n number,\n array,\n enum as zodEnum,\n nullable,\n optional,\n record,\n type z,\n any\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n StatusSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\n\nconst AssetSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n user: optional(ProfileSchema.partial()),\n org_id: string().uuid(),\n organization: optional(OrganizationsSchema.partial()),\n team_id: string().uuid(),\n team: optional(TeamSchema.partial()),\n parent_id: optional(nullable(string().uuid())),\n parent: optional(record(string(), any())),\n asset_type: AssetTypeSchema,\n name: string(),\n name_url_slug: optional(nullable(string())),\n slug: optional(nullable(string())),\n description: optional(nullable(string())),\n visibility: VisibilitySchema,\n monetization: MonetizationSchema,\n price: optional(nullable(number())),\n unit_cost: optional(nullable(number())),\n cost_accounting: optional(nullable(zodEnum([\"fixed\", \"variable\"]))),\n cost_unit: optional(nullable(string())),\n product_id: optional(nullable(string())),\n price_id: optional(nullable(string())),\n metadata: optional(nullable(record(string(), any()))),\n preview: optional(nullable(array(record(string(), any())))),\n state: optional(nullable(StatusSchema)),\n created_at: string(),\n last_updated: string(),\n});\n\nconst CreateAssetSchema = AssetSchema.partial()\n .omit({\n user_id: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n })\n .extend({\n id: string().uuid().default(() => uuidv7()),\n team_id: nullable(string().uuid())\n .default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: nullable(string().uuid())\n .default(\"00000000-0000-0000-0000-000000000000\"),\n name: string()\n .min(1, { message: \"Name cannot be empty\" })\n .max(255, { message: \"Name must be less than 255 characters\" }),\n name_url_slug: optional(nullable(string())),\n state: StatusSchema.optional().default(\"success\"),\n visibility: VisibilitySchema.optional().default(\"public\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nconst UpdateAssetSchema = AssetSchema.partial().omit({\n id: true,\n user_id: true,\n created_at: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n});\n\nexport { AssetSchema, CreateAssetSchema, UpdateAssetSchema };\nexport type Asset = z.infer<typeof AssetSchema>;\nexport type CreateAsset = z.infer<typeof CreateAssetSchema>;\nexport type UpdateAsset = z.infer<typeof UpdateAssetSchema>;\n","import {\n object,\n string,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst FileMetadataSchema = object({\n id: string().uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n});\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: object({\n type: string(),\n }),\n }),\n]);\n\nconst updateFileSchema = FileSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n","import {\n object,\n string,\n number,\n array,\n lazy,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n boolean,\n type ZodType\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst TipTapNode: ZodType<any> = lazy(() =>\n object({\n type: string(),\n content: optional(array(TipTapNode)),\n attrs: optional(record(string(), any())),\n marks: optional(\n array(\n object({\n type: string(),\n attrs: optional(record(string(), any())),\n })\n )\n ),\n text: optional(string()), // For text nodes\n })\n);\n\nconst TipTapSchema = object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n});\n\nconst ContentSchema = object({\n json: TipTapSchema,\n text: string(),\n}).default({ json: { type: \"doc\", content: [] }, text: \"\" });\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n});\n\nconst CreatePostSchema = CreateAssetSchema.extend({\n asset_type: literal(\"post\").default(\"post\"),\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n preview: TipTapSchema,\n});\n\nconst ReadPostSchema = PostSchema.extend({\n content: optional(\n nullable(\n ContentSchema.default({\n json: { type: \"doc\", content: [] },\n text: \"\",\n })\n )\n ),\n reactions: array(record(string(), any())).default([]),\n views: number().default(0),\n commentCount: number().default(0),\n // We have this on asset now\n // parent: ConnectionSchema.optional().nullable(),\n pinned: boolean().default(false),\n});\n\nconst ReadPostsSchema = array(ReadPostSchema);\n\nconst ListPostsSchema = array(PostSchema);\n\nconst UpdatePostSchema = PostSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n content: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport {\n TipTapSchema,\n ContentSchema,\n PostSchema,\n CreatePostSchema,\n ListPostsSchema,\n ReadPostSchema,\n ReadPostsSchema,\n UpdatePostSchema,\n};\nexport type Post = z.infer<typeof PostSchema>;\nexport type CreatePost = z.infer<typeof CreatePostSchema>;\nexport type ListPosts = z.infer<typeof ListPostsSchema>;\nexport type ReadPost = z.infer<typeof ReadPostSchema>;\nexport type ReadPosts = z.infer<typeof ReadPostsSchema>;\nexport type UpdatePost = z.infer<typeof UpdatePostSchema>;\nexport type Content = z.infer<typeof ContentSchema>;\nexport type TipTap = z.infer<typeof TipTapSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n literal,\n optional,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\n\nconst CommentSchema = AssetSchema.extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n preview: optional(\n nullable(\n object({\n type: string().refine((x) => x === \"doc\"),\n content: array(record(string(), any())),\n }).default({ type: \"doc\", content: [] })\n )\n ),\n});\n\nconst CreateCommentSchema = CommentSchema.partial()\n .omit({\n id: true,\n user_id: true,\n })\n .extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n id: string().default(() => uuidv7()),\n name: string().default(\"\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport { CommentSchema, CreateCommentSchema };\nexport type Comment = z.infer<typeof CommentSchema>;\nexport type CreateComment = z.infer<typeof CreateCommentSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { AssetSchema } from \"./assets\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst ConversationSchema = AssetSchema.extend({\n metadata: object({\n members: array(string()),\n }),\n asset_type: AssetTypeSchema.default(\"conversation\"),\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst CreateConversationSchema = ConversationSchema.omit({\n org_id: true,\n team_id: true,\n user_id: true,\n created_at: true,\n last_updated: true,\n}).extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\n});\n\n// Partial because we can make updates to conversations without providing all fields\nconst UpdateConversationSchema = CreateConversationSchema.omit({\n id: true,\n org_id: true,\n team_id: true,\n team: true,\n user: true,\n organization: true,\n slug: true,\n}).partial();\n\nconst MessageSchema = object({\n id: string().uuid(),\n conversation_id: string().uuid(),\n user_id: string().uuid(),\n user: optional(nullable(ProfileSchema)),\n created_at: string(),\n last_updated: string(),\n viewers: array(string().uuid()),\n json: TipTapSchema,\n text: string(),\n metadata: optional(nullable(record(string(), any()))),\n});\n\nexport {\n MessageSchema,\n UpdateConversationSchema,\n CreateConversationSchema,\n ConversationSchema,\n};\nexport type Conversation = z.infer<typeof ConversationSchema>;\nexport type CreateConversation = z.infer<typeof CreateConversationSchema>;\nexport type UpdateConversation = z.infer<typeof UpdateConversationSchema>;\nexport type Message = z.infer<typeof MessageSchema>;\n","import {\n object,\n string,\n number,\n array,\n literal,\n record,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: string().uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\nconst DatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n});\n\nconst DatasetSchema = AssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema.extend({\n ...DatasetFromFileMetadataSchema.partial().shape,\n }),\n preview: array(record(string(), any())),\n});\n\nconst CreateDatasetFromFileSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema.extend({\n ...DatasetFromFileMetadataSchema.shape,\n }),\n preview: array(record(string(), any())),\n});\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n});\n\nconst updateDatasetSchema = DatasetSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n};\nexport type Dataset = z.infer<typeof DatasetSchema>;\nexport type CreateFromFileDataset = z.infer<typeof CreateDatasetFromFileSchema>;\nexport type CreateFromSchemaDataset = z.infer<typeof CreateDatasetFromSchemaSchema>;\nexport type UpdateDataset = z.infer<typeof updateDatasetSchema>;\n","import {\n object,\n string,\n boolean,\n type z,\n enum as zodEnum,\n optional\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"./common\";\n\nconst NotificationTypeSchema = zodEnum([\n \"follow\",\n \"like\",\n \"comment\",\n \"reply\",\n \"mention\",\n \"reference\",\n \"invite\",\n \"payment\",\n \"event\",\n \"share\",\n \"other\",\n]);\n\nconst NotificationSchema = object({\n id: string().uuid(),\n source_user_id: string().uuid(),\n destination_user_id: string().uuid(),\n org_id: string().uuid(),\n asset_id: optional(string().uuid()),\n type: NotificationTypeSchema,\n content: object({\n text: optional(string()),\n asset: optional(\n object({\n assetId: string(),\n assetType: AssetTypeSchema,\n })\n ),\n mention: optional(object({})),\n event: optional(\n object({\n type: zodEnum([\"success\", \"error\"]),\n })\n ),\n }),\n viewed: boolean(),\n created_at: string(),\n last_updated: string(),\n});\n\nexport { NotificationSchema };\nexport type Notification = z.infer<typeof NotificationSchema>;\n","import {\n object,\n string,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"./common\";\nimport { AssetSchema } from \"./assets\";\n\nconst authType = zodEnum([\"Personal Access Token\", \"None\", \"OAuth 2.0\"]);\n\nconst serviceMetadataSchema = object({\n authentication: authType,\n version: optional(nullable(string())),\n base_url: string(),\n spec_path: string(),\n})\n\nconst serviceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: serviceMetadataSchema,\n});\n\nconst routeSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n input_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n input_filter: optional(nullable(zodEnum([\"audio\", \"video\", \"image\", \"pdf\", \"3d model\", \"atomic structure\"]))),\n input_file_extension: optional(nullable(string())),\n output_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n last_updated: string(),\n});\n\nconst ActionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n route_id: string().uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(string().uuid())),\n output_asset_id: optional(nullable(string().uuid())),\n input_asset: optional(nullable(AssetSchema)),\n output_asset: optional(nullable(AssetSchema)),\n status: zodEnum([\"PENDING\", \"PROCESSING\", \"COMPLETED\", \"FAILED\"]),\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n finished_at: optional(nullable(string())),\n});\n\nexport { routeSchema, serviceSchema, authType, ActionSchema };\nexport type Service = z.infer<typeof serviceSchema>;\nexport type Route = z.infer<typeof routeSchema>;\nexport type AuthType = z.infer<typeof authType>;\nexport type Action = z.infer<typeof ActionSchema>;\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n type z,\n record,\n any,\n optional,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\nimport { AssetTypeSchema, VisibilitySchema } from \"./common\";\n\nconst ReplicationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"replication\"),\n metadata: object({\n schedule: optional(\n object({\n cron: string(),\n }).passthrough()\n ),\n }).passthrough(),\n});\n\nconst CreateReplicationSchema = ReplicationSchema.partial().extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n name_url_slug: string(),\n});\n\nconst UpdateReplicationSchema = object({\n team_id: optional(nullable(string().uuid())),\n name_url_slug: optional(nullable(string())),\n name: optional(nullable(string())),\n description: optional(nullable(string())),\n visibility: optional(nullable(VisibilitySchema)),\n metadata: optional(nullable(record(string(), any()))),\n last_updated: string().default(() => new Date().toISOString()),\n});\n\nexport { ReplicationSchema, CreateReplicationSchema, UpdateReplicationSchema };\nexport type Replication = z.infer<typeof ReplicationSchema>;\nexport type CreateReplication = z.infer<typeof CreateReplicationSchema>;\nexport type UpdateReplication = z.infer<typeof UpdateReplicationSchema>;\n\n","import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n nullable\n} from \"zod\";\n\nimport { AssetSchema } from \"./assets\";\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\n\nconst BlueprintSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"blueprint\"),\n});\n\nconst CreateBlueprintSchema = AssetSchema.partial().extend({\n id: string()\n .uuid()\n .default(() => uuidv7()),\n team_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n org_id: string().uuid().default(\"00000000-0000-0000-0000-000000000000\"),\n name_url_slug: string(),\n metadata: object({\n edges: array(record(string(), any())),\n nodes: array(record(string(), any())),\n }).passthrough(),\n});\n\nconst UpdateBlueprintSchema = object({\n team_id: nullable(string().uuid()),\n name_url_slug: nullable(string()),\n name: nullable(string()),\n description: nullable(string()),\n visibility: nullable(VisibilitySchema),\n metadata: nullable(record(string(), any())),\n last_updated: string().default(() => new Date().toISOString()),\n});\n\nexport { BlueprintSchema, CreateBlueprintSchema, UpdateBlueprintSchema };\nexport type Blueprint = z.infer<typeof BlueprintSchema>;\nexport type CreateBlueprint = z.infer<typeof CreateBlueprintSchema>;\nexport type UpdateBlueprint = z.infer<typeof UpdateBlueprintSchema>;\n","import {\n object,\n string,\n boolean,\n type z,\n record,\n any,\n optional,\n nullable\n} from \"zod\";\n\nconst reactionSchema = object({\n id: string().uuid(),\n user_id: string().uuid(),\n asset_id: string().uuid(),\n content: record(string(), any()),\n created_at: string(),\n active: optional(nullable(boolean())),\n});\n\nexport { reactionSchema };\nexport type Reaction = z.infer<typeof reactionSchema>;","// Convert a list of filter object into a filter string for URL\nfunction filterListToString(\n filters?: {\n column: string;\n value: string;\n operator: string;\n active?: boolean;\n }[],\n onlyActive = false\n) {\n if (!filters || !Array.isArray(filters)) return \"\";\n\n return filters\n .map((filter) => {\n // If onlyActive is true, only include filters that have active property true, or without active property (different creation source)\n if (\n onlyActive &&\n (filter.hasOwnProperty(\"active\") ? !filter.active : false)\n )\n return \"\";\n return `${filter.column}.${filter.operator}.${filter.value}`;\n })\n .join(\",\");\n}\n\nexport { filterListToString };\n","import { filterListToString } from \"./dataset\";\n\nconst createNameUrlSlug = (name: string) => {\n return (\n name\n // Convert to lowercase\n .toLowerCase()\n // Normalize unicode characters\n .normalize(\"NFD\")\n // Remove diacritical marks\n .replace(/[\\u0300-\\u036f]/g, \"\")\n // Replace spaces, forward slashes, and underscores with hyphens\n .replace(/[\\s\\/\\_]+/g, \"-\")\n // Remove special characters\n .replace(/[^\\w\\-]+/g, \"\")\n // Remove multiple consecutive hyphens\n .replace(/\\-\\-+/g, \"-\")\n // Trim hyphens from start and end\n .replace(/^-+/, \"\")\n .replace(/-+$/, \"\")\n );\n};\n\nconst createUrlSlug = (asset: any) => {\n if (asset.asset_type === \"conversation\") {\n return `/conversations/${asset.id}`;\n }\n if (asset.asset_type === \"comment\") {\n return `/comments/${asset.id}`;\n }\n const entityName =\n asset.org_id !== \"00000000-0000-0000-0000-000000000000\"\n ? asset.organization.name\n : asset.user.username;\n const name = asset.name ? createNameUrlSlug(asset.name) : asset.id;\n const assetType = asset.asset_type;\n return `/${assetType}s/${entityName}/${name}`;\n};\n\nconst getParentAssetUrl = (asset: any, config?: any): string => {\n if (!asset?.parent) return \"#\";\n const postfix = asset.asset_type === \"comment\" ? `#comment-${asset.id}` : \"\";\n return `${getAssetUrl(asset.parent, config)}${postfix}`;\n};\n\nconst getAssetUrl = (\n asset: any,\n config?: {\n intent?: \"share\";\n filters?: { column: string; value: string; operator: string }[];\n }\n) => {\n // const assetType = asset?.asset_type || asset?.assetType;\n const slug = asset?.slug || createUrlSlug(asset);\n const pathPostfix = config?.intent ? `?intent=${config.intent}` : \"\";\n let url = `${slug}${pathPostfix}`;\n if (config?.filters) {\n url += `?filters=${filterListToString(config.filters)}`;\n }\n\n return url;\n};\n\nexport { getAssetUrl, createUrlSlug, createNameUrlSlug };\n","import { marked } from \"marked\";\n\nconst katexParser = {\n name: \"katex\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\\\\\[|\\\\\\(/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\]|\\s\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const displayRule = /^\\\\\\[([\\s\\S]*?)\\\\\\]/;\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n\n let match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: false,\n };\n }\n },\n renderer(token: any) {\n // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it\n return `<span data-latex=\"${token.latex}\" data-display-mode=\"${token.displayMode}\"></span>`;\n },\n};\n\nconst assetComponentExtension = {\n name: \"assetComponent\",\n level: \"block\",\n start(src: string) {\n return src.match(/^```assetComponent/)?.index;\n },\n end(src: string) {\n return src.match(/^```/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^```assetComponent\\s+(\\{[\\s\\S]*?\\})\\n```/;\n const match = rule.exec(src);\n if (match) {\n const token = {\n type: \"assetComponent\",\n raw: match[0],\n properties: match[1],\n tokens: [],\n };\n return token;\n }\n },\n renderer(token: any) {\n let properties;\n try {\n properties = JSON.parse(token.properties);\n } catch (e) {\n console.error(\"Invalid JSON in assetComponent properties:\", e);\n properties = {};\n }\n const componentHtml = `\n <asset-component ${Object.entries(properties)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n return src.match(/`\\{@/)?.index;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^`\\{@([a-zA-Z0-9_]+)\\}`/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"userMention\",\n raw: match[0],\n username: match[1],\n };\n }\n },\n renderer(token: any) {\n return `<user-mention username=\"${token.username}\" data-label=\"${token.username}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [assetComponentExtension, userMentionExtension, katexParser],\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n","import { Content } from \"../../schema/posts\";\nimport { Profile } from \"../../schema/users\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: string;\n filters?: any;\n partial?: boolean;\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(json: Content[\"json\"]) {\n if (!json || !json?.content) return { users: [], assets: [] };\n const content = json.content.map(extractContent).flat();\n // TODO: should keep the structure instead of flattening to list of strings\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs?.id,\n username: item.attrs?.label || item.attrs?.username,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.user_id === item.user_id)) {\n unique.push(item);\n }\n return unique;\n }, []) as Partial<Profile>[];\n\n const assets = content\n // Filter out assets that still have partial data, must have id\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []) as InlineAssetAttrs[];\n\n return {\n users,\n assets,\n };\n}\n\nexport { getReferencesInContent };\n"]}
|