@ourofoundation/ouro-js 2.1.1 → 2.1.2

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 CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var zod=require('zod'),uuidv7=require('uuidv7'),marked=require('marked');var m=zod.enum(["user","organization","team","dataset","file","service","route","post","comment","conversation","blueprint","replication"]),S=zod.enum(["public","private","organization","monetized","inherit"]),v=zod.enum(["admin","read","write","none"]),ie=zod.enum(["none","pay-to-unlock","pay-per-use"]),ba=zod.object({id:zod.string(),user_id:zod.string(),org_id:zod.optional(zod.nullable(zod.string())),embedding:zod.array(zod.number()),content:zod.string(),asset_type:m,asset_id:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),created_at:zod.string(),last_updated:zod.string()}),ut=zod.enum(["comment","reference","mention","action","component"]),va=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),type:ut,action_id:zod.optional(zod.nullable(zod.string().uuid())),source_id:zod.string().uuid(),target_id:zod.string().uuid(),source_asset_type:m,target_asset_type:m,created_at:zod.string(),last_updated:zod.string()}),Ca=zod.object({assetId:zod.string().uuid(),method:zod.enum(["checkout","api"]),assetType:m}),Aa=zod.object({id:zod.string().uuid(),role:v,user:zod.object({user_id:zod.string().uuid()}),user_id:zod.nullable(zod.string().uuid()),org_id:zod.nullable(zod.string().uuid()),asset_type:m,asset_id:zod.string().uuid(),created_at:zod.string(),last_updated:zod.string()}),me=zod.enum(["queued","in-progress","success","error"]),Ue=zod.enum(["web","api"]);var g=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),username:zod.optional(zod.nullable(zod.string())),avatar_path:zod.optional(zod.nullable(zod.string())),bio:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.array(zod.object({value:zod.string().url()}))),post_id:zod.optional(zod.nullable(zod.string().uuid())),is_agent:zod.boolean(),plan_type:zod.enum(["free","gold"]),last_active:zod.string()}),Pa=g.extend({is_agent:zod.boolean(),isFollowing:zod.boolean(),isFollowed:zod.boolean(),isSelf:zod.boolean(),followers:zod.number().default(0),following:zod.number().default(0)}),wa=g.partial().omit({id:true,user_id:true,last_active:true});var Q=zod.object({id:zod.string().uuid(),name:zod.string(),avatar_path:zod.optional(zod.nullable(zod.string())),mission:zod.optional(zod.nullable(zod.string())),size:zod.string(),email:zod.optional(zod.nullable(zod.string())),domain:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.nullable(zod.array(zod.object({value:zod.string()})))),base_role:v.default("write")}),Oa=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(g)),org_id:zod.string().uuid(),team_id:zod.string().uuid(),role:v,added_at:zod.string().default(()=>new Date().toISOString()),visibility:S.default("public")});var X=zod.object({id:zod.string().uuid(),org_id:zod.string().uuid(),organization:Q,name:zod.string(),description:zod.optional(zod.nullable(zod.string())),default_role:v,visibility:S,userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:v}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.string().uuid(),role:v,added_at:zod.string(),user:zod.optional(zod.nullable(g.partial()))})),created_at:zod.string()}),Na=X.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:v.default("write").refine(e=>e==="read"||e==="write"),visibility:S.default("public").refine(e=>e==="public"||e==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),ft=X.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:v}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.string().uuid(),role:v,added_at:zod.string(),user:zod.optional(zod.nullable(g.partial()))})),organization:zod.optional(zod.nullable(Q.partial()))}),Va=zod.array(ft.extend({label:zod.string(),value:zod.string()})),La=X.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.string().uuid()});var y=zod.object({doi_url:zod.optional(zod.nullable(zod.string())),external_url:zod.optional(zod.nullable(zod.string())),paper_url:zod.optional(zod.nullable(zod.string())),github_url:zod.optional(zod.nullable(zod.string())),originality:zod.enum(["original","derivative","third-party"]),source:zod.optional(zod.nullable(zod.string()))}),n=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(g.partial()),org_id:zod.string().uuid(),organization:zod.optional(Q.partial()),team_id:zod.string().uuid(),team:zod.optional(X.partial()),parent_id:zod.optional(zod.nullable(zod.string().uuid())),parent:zod.optional(zod.record(zod.string(),zod.any())),license_id:zod.string(),license:zod.optional(zod.record(zod.string(),zod.any())),asset_type:m,name:zod.string(),name_url_slug:zod.optional(zod.nullable(zod.string())),slug:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:S,monetization:ie,price:zod.optional(zod.nullable(zod.number())),unit_cost:zod.optional(zod.nullable(zod.number())),cost_accounting:zod.optional(zod.nullable(zod.enum(["fixed","variable"]))),cost_unit:zod.optional(zod.nullable(zod.string())),metadata:zod.optional(zod.nullable(y)),preview:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),state:me,source:Ue,created_at:zod.string(),last_updated:zod.string()}),T=n.partial().omit({user_id:true,user:true,organization:true,license:true,team:true,slug:true}).extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),org_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),name:zod.string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:zod.optional(zod.nullable(zod.string())),state:me.optional().default("success"),visibility:S.optional().default("public"),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}),Xa=n.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true});var xt=zod.object({id:zod.string().uuid(),path:zod.string(),bucket:zod.enum(["public-files","files"]),name:zod.string(),type:zod.string(),extension:zod.string(),size:zod.number(),width:zod.optional(zod.number()),height:zod.optional(zod.number())}),gt=zod.object({type:zod.string()}),Ee=xt.extend(y.partial().shape),zt=gt.extend(y.partial().shape),bt=n.extend({asset_type:zod.literal("file").default("file"),metadata:Ee}),ar=zod.discriminatedUnion("state",[T.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:Ee}),T.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:zt})]),rr=bt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())});var He=zod.lazy(()=>zod.object({type:zod.string(),content:zod.optional(zod.array(He)),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.object({type:zod.string(),attrs:zod.optional(zod.record(zod.string(),zod.any()))}))),text:zod.optional(zod.string())})),ee=zod.object({type:zod.literal("doc"),content:zod.array(He)}),Ze=zod.object({json:ee,text:zod.string()}).default({json:{type:"doc",content:[]},text:""}),At=zod.object({}),Tt=At.extend(y.partial().shape),_e=n.extend({name:zod.nullable(zod.string()),asset_type:m.refine(e=>["post","comment"].includes(e)),metadata:Tt,preview:ee.default({type:"doc",content:[]}),content:Ze}),pr=T.extend({asset_type:zod.literal("post").default("post"),name:zod.string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),preview:ee}),Mt=_e.extend({content:zod.optional(zod.nullable(Ze.default({json:{type:"doc",content:[]},text:""}))),reactions:zod.array(zod.record(zod.string(),zod.any())).default([]),views:zod.number().default(0),commentCount:zod.number().default(0),pinned:zod.boolean().default(false)}),ur=zod.array(Mt),mr=zod.array(_e),dr=_e.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:zod.string().default(()=>new Date().toISOString())});var kt=n.extend({asset_type:zod.literal("comment").default("comment"),preview:zod.optional(zod.nullable(zod.object({type:zod.string().refine(e=>e==="doc"),content:zod.array(zod.record(zod.string(),zod.any()))}).default({type:"doc",content:[]})))}),hr=kt.partial().omit({id:true,user_id:true}).extend({asset_type:zod.literal("comment").default("comment"),id:zod.string().default(()=>uuidv7.uuidv7()),name:zod.string().default(""),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())});var jt=zod.object({members:zod.array(zod.string())}),Et=jt.extend(y.partial().shape),Nt=n.extend({asset_type:m.default("conversation"),metadata:Et,users:zod.optional(zod.nullable(zod.array(g)))}),Vt=Nt.omit({org_id:true,team_id:true,user_id:true,created_at:true,last_updated:true}).extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),monetization:ie.default("none"),visibility:S.default("private")}),Ar=Vt.omit({id:true,org_id:true,team_id:true,team:true,user:true,organization:true,slug:true}).partial(),Tr=zod.object({id:zod.string().uuid(),conversation_id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(g)),created_at:zod.string(),last_updated:zod.string(),viewers:zod.array(zod.string().uuid()),json:ee,text:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any())))});var Qe=zod.object({type:zod.string(),size:zod.number(),path:zod.string(),extension:zod.string(),name:zod.string(),id:zod.string().uuid(),bucket:zod.enum(["public-files","files"])}),Zt=zod.object({table_name:zod.string(),schema:zod.literal("datasets").default("datasets"),columns:zod.array(zod.string())}),Ce=Zt.extend(y.partial().shape),Jt=n.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce.extend({...Qe.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),Rr=T.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce.extend({...Qe.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),Ur=T.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce,preview:zod.array(zod.record(zod.string(),zod.any()))}),Dr=Jt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({asset_type:zod.literal("dataset").default("dataset"),last_updated:zod.string().default(()=>new Date().toISOString())});var Kt=zod.enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","other"]),$r=zod.object({id:zod.string().uuid(),source_user_id:zod.string().uuid(),destination_user_id:zod.string().uuid(),org_id:zod.string().uuid(),asset_id:zod.optional(zod.string().uuid()),type:Kt,content:zod.object({text:zod.optional(zod.string()),asset:zod.optional(zod.object({assetId:zod.string(),assetType:m})),mention:zod.optional(zod.object({})),event:zod.optional(zod.object({type:zod.enum(["success","error"])}))}),viewed:zod.boolean(),created_at:zod.string(),last_updated:zod.string()});var Xt=zod.enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),Yt=zod.object({authentication:Xt,base_url:zod.string(),version:zod.optional(zod.nullable(zod.string())),spec_path:zod.optional(zod.nullable(zod.string())),auth_token:zod.optional(zod.nullable(zod.string())),auth_url:zod.optional(zod.nullable(zod.string()))}),Ye=Yt.extend(y.partial().shape),qt=n.extend({asset_type:m.refine(e=>e==="service"),metadata:Ye}),Nr=T.extend({asset_type:m.refine(e=>e==="service"),metadata:Ye}),Vr=qt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}),ea=zod.object({id:zod.string(),user_id:zod.string(),service_id:zod.string(),path:zod.string(),method:zod.enum(["GET","POST","PUT","PATCH","DELETE"]),summary:zod.optional(zod.nullable(zod.string())),parameters:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),request_body:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),responses:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),input_type:zod.optional(zod.nullable(zod.enum(["file","dataset","post"]))),input_filter:zod.optional(zod.nullable(zod.enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:zod.optional(zod.nullable(zod.string())),output_type:zod.optional(zod.nullable(zod.enum(["file","dataset","post"]))),security:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),rate_limit:zod.optional(zod.nullable(zod.number())),last_updated:zod.string()}),Lr=n.extend({asset_type:m.refine(e=>e==="route"),route:ea}),Hr=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),route_id:zod.string().uuid(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),response:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),side_effects:zod.boolean().default(true),input_asset_id:zod.optional(zod.nullable(zod.string().uuid())),output_asset_id:zod.optional(zod.nullable(zod.string().uuid())),input_asset:zod.optional(zod.nullable(n)),output_asset:zod.optional(zod.nullable(n)),status:zod.enum(["queued","in-progress","success","error","done"]),created_at:zod.string(),last_updated:zod.string(),started_at:zod.optional(zod.nullable(zod.string())),finished_at:zod.optional(zod.nullable(zod.string()))});var oa=zod.object({schedule:zod.optional(zod.object({cron:zod.string()}).passthrough())}),ia=oa.extend(y.partial().shape),na=n.extend({asset_type:m.refine(e=>e==="replication"),metadata:ia}),Wr=na.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string()}),Xr=zod.object({team_id:zod.optional(zod.nullable(zod.string().uuid())),name_url_slug:zod.optional(zod.nullable(zod.string())),name:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:zod.optional(zod.nullable(S)),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),last_updated:zod.string().default(()=>new Date().toISOString())});var pa=zod.object({edges:zod.array(zod.record(zod.string(),zod.any())),nodes:zod.array(zod.record(zod.string(),zod.any()))}),tt=pa.extend(y.partial().shape),oo=n.extend({asset_type:m.refine(e=>e==="blueprint"),metadata:tt}),io=n.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string(),metadata:tt.passthrough()}),no=zod.object({team_id:zod.nullable(zod.string().uuid()),name_url_slug:zod.nullable(zod.string()),name:zod.nullable(zod.string()),description:zod.nullable(zod.string()),visibility:zod.nullable(S),metadata:zod.nullable(zod.record(zod.string(),zod.any())),last_updated:zod.string().default(()=>new Date().toISOString())});var uo=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),asset_id:zod.string().uuid(),content:zod.record(zod.string(),zod.any()),created_at:zod.string(),active:zod.optional(zod.nullable(zod.boolean()))});function we(e,t=false){return !e||!Array.isArray(e)?"":e.map(c=>t&&(c.hasOwnProperty("active")&&!c.active)?"":`${c.column}.${c.operator}.${c.value}`).join(",")}var at=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),rt=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,c=e.name?at(e.name):e.id;return `/${e.asset_type}s/${t}/${c}`};var ya=(e,t)=>{let c=(e==null?void 0:e.slug)||rt(e),u=t!=null&&t.intent?`?intent=${t.intent}`:"",a=`${c}${u}`;return t!=null&&t.filters&&(a+=`?filters=${we(t.filters)}`),a};var ha={name:"katex",level:"inline",start(e){let t=e.match(/\\\[|\\\(/);return t?t.index:void 0},end(e){var c,u,a;let t=e.match(/\s\\\]|\s\\\)/);return t?((c=t.index)!=null?c:0)+((a=(u=t[0])==null?void 0:u.length)!=null?a:0):void 0},tokenizer(e,t){let c=/^\\\[([\s\S]*?)\\\]/,u=/^\\\(([\s\S]*?)\\\)/,a=c.exec(e);if(a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:true};if(a=u.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>`}},Sa={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 u=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(u)return {type:"assetComponent",raw:u[0],properties:u[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(u){console.error("Invalid JSON in assetComponent properties:",u),t={};}return `
2
- <asset-component ${Object.entries(t).map(([u,a])=>`${u}="${a}"`).join(" ")}></asset-component>`}},_a={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 u=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(u)return {type:"userMention",raw:u[0],username:u[1]}},renderer(e){return `<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`}};marked.marked.use({gfm:true,extensions:[Sa,_a,ha]});function xa(e){return marked.marked.parse(e)}var pe=e=>Array.isArray(e)?e.map(pe):e!=null&&e.content?Array.isArray(e.content)?e.content.map(pe).flat():pe(e.content):e;function ga(e){if(!e||!(e!=null&&e.content))return {users:[],assets:[]};let t=e.content.map(pe).flat(),c=t.filter(a=>a.type==="mention").map(a=>{var h,x,Re;return {user_id:(h=a.attrs)==null?void 0:h.id,username:((x=a.attrs)==null?void 0:x.label)||((Re=a.attrs)==null?void 0:Re.username)}}).reduce((a,h)=>(a.some(x=>x.user_id&&h.user_id&&x.user_id===h.user_id||x.username&&h.username&&x.username===h.username)||a.push(h),a),[]),u=t.filter(a=>{var h,x;return a.type==="assetComponent"&&((h=a.attrs)==null?void 0:h.id)&&!((x=a.attrs)!=null&&x.partial)}).map(({attrs:a})=>({id:a.id,assetType:a.assetType})).reduce((a,h)=>(a.some(x=>x.id===h.id)||a.push(h),a),[]);return {users:c,assets:u}}exports.ActionSchema=Hr;exports.AssetMetadataSchema=y;exports.AssetSchema=n;exports.AssetTypeSchema=m;exports.BlueprintSchema=oo;exports.CommentSchema=kt;exports.ConnectionSchema=va;exports.ContentSchema=Ze;exports.ConversationSchema=Nt;exports.CreateAssetSchema=T;exports.CreateBlueprintSchema=io;exports.CreateCommentSchema=hr;exports.CreateConversationSchema=Vt;exports.CreateDatasetFromFileSchema=Rr;exports.CreateDatasetFromSchemaSchema=Ur;exports.CreateFileSchema=ar;exports.CreatePostSchema=pr;exports.CreateReplicationSchema=Wr;exports.CreateServiceSchema=Nr;exports.CreateTeamSchema=Na;exports.DatasetSchema=Jt;exports.EmbeddingSchema=ba;exports.FileSchema=bt;exports.ListPostsSchema=mr;exports.MembershipSchema=Oa;exports.MessageSchema=Tr;exports.MonetizationSchema=ie;exports.NotificationSchema=$r;exports.OrganizationsSchema=Q;exports.PermissionSchema=Aa;exports.PostSchema=_e;exports.ProfileSchema=g;exports.PurchaseAssetSchema=Ca;exports.ReadPostSchema=Mt;exports.ReadPostsSchema=ur;exports.ReadProfileSchema=Pa;exports.ReadTeamSchema=ft;exports.ReadTeamsSchema=Va;exports.ReplicationSchema=na;exports.RoleSchema=v;exports.RouteSchema=Lr;exports.ServiceSchema=qt;exports.SourceSchema=Ue;exports.StatusSchema=me;exports.TeamSchema=X;exports.TipTapSchema=ee;exports.UpdateAssetSchema=Xa;exports.UpdateBlueprintSchema=no;exports.UpdateConversationSchema=Ar;exports.UpdatePostSchema=dr;exports.UpdateProfileSchema=wa;exports.UpdateReplicationSchema=Xr;exports.UpdateServiceSchema=Vr;exports.UpdateTeamSchema=La;exports.VisibilitySchema=S;exports.createNameUrlSlug=at;exports.createUrlSlug=rt;exports.filterListToString=we;exports.getAssetUrl=ya;exports.getReferencesInContent=ga;exports.parseMarkdown=xa;exports.reactionSchema=uo;exports.updateDatasetSchema=Dr;exports.updateFileSchema=rr;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var zod=require('zod'),uuidv7=require('uuidv7'),marked=require('marked');var m=zod.enum(["user","organization","team","dataset","file","service","route","post","comment","conversation","blueprint","replication"]),S=zod.enum(["public","private","organization","monetized","inherit"]),C=zod.enum(["admin","read","write","none"]),ie=zod.enum(["none","pay-to-unlock","pay-per-use"]),ba=zod.object({id:zod.string(),user_id:zod.string(),org_id:zod.optional(zod.nullable(zod.string())),embedding:zod.array(zod.number()),content:zod.string(),asset_type:m,asset_id:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),created_at:zod.string(),last_updated:zod.string()}),mt=zod.enum(["comment","reference","mention","action","component"]),va=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),type:mt,action_id:zod.optional(zod.nullable(zod.string().uuid())),source_id:zod.string().uuid(),target_id:zod.string().uuid(),source_asset_type:m,target_asset_type:m,created_at:zod.string(),last_updated:zod.string()}),Ca=zod.object({assetId:zod.string().uuid(),method:zod.enum(["checkout","api"]),assetType:m}),Aa=zod.object({id:zod.string().uuid(),role:C,user:zod.object({user_id:zod.string().uuid()}),user_id:zod.nullable(zod.string().uuid()),org_id:zod.nullable(zod.string().uuid()),asset_type:m,asset_id:zod.string().uuid(),created_at:zod.string(),last_updated:zod.string()}),me=zod.enum(["queued","in-progress","success","error"]),Ue=zod.enum(["web","api"]);var g=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),username:zod.optional(zod.nullable(zod.string())),avatar_path:zod.optional(zod.nullable(zod.string())),bio:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.array(zod.object({value:zod.string().url()}))),post_id:zod.optional(zod.nullable(zod.string().uuid())),is_agent:zod.boolean(),plan_type:zod.enum(["free","gold"]),last_active:zod.string()}),Pa=g.extend({is_agent:zod.boolean(),isFollowing:zod.boolean(),isFollowed:zod.boolean(),isSelf:zod.boolean(),followers:zod.number().default(0),following:zod.number().default(0)}),wa=g.partial().omit({id:true,user_id:true,last_active:true});var Q=zod.object({id:zod.string().uuid(),name:zod.string(),avatar_path:zod.optional(zod.nullable(zod.string())),mission:zod.optional(zod.nullable(zod.string())),size:zod.string(),email:zod.optional(zod.nullable(zod.string())),domain:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.nullable(zod.array(zod.object({value:zod.string()})))),base_role:C.default("write")}),Oa=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(g)),org_id:zod.string().uuid(),team_id:zod.string().uuid(),role:C,added_at:zod.string().default(()=>new Date().toISOString()),visibility:S.default("public")});var X=zod.object({id:zod.string().uuid(),org_id:zod.string().uuid(),organization:Q,name:zod.string(),description:zod.optional(zod.nullable(zod.string())),default_role:C,visibility:S,userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:C}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.string().uuid(),role:C,added_at:zod.string(),user:zod.optional(zod.nullable(g.partial()))})),created_at:zod.string()}),Na=X.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:C.default("write").refine(e=>e==="read"||e==="write"),visibility:S.default("public").refine(e=>e==="public"||e==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),yt=X.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:C}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.string().uuid(),role:C,added_at:zod.string(),user:zod.optional(zod.nullable(g.partial()))})),organization:zod.optional(zod.nullable(Q.partial()))}),Va=zod.array(yt.extend({label:zod.string(),value:zod.string()})),La=X.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.string().uuid()});var y=zod.object({doi_url:zod.optional(zod.nullable(zod.string())),external_url:zod.optional(zod.nullable(zod.string())),paper_url:zod.optional(zod.nullable(zod.string())),github_url:zod.optional(zod.nullable(zod.string())),originality:zod.enum(["original","derivative","third-party"]),source:zod.optional(zod.nullable(zod.string()))}),n=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(g.partial()),org_id:zod.string().uuid(),organization:zod.optional(Q.partial()),team_id:zod.string().uuid(),team:zod.optional(X.partial()),parent_id:zod.optional(zod.nullable(zod.string().uuid())),parent:zod.optional(zod.record(zod.string(),zod.any())),license_id:zod.string(),license:zod.optional(zod.record(zod.string(),zod.any())),asset_type:m,name:zod.string(),name_url_slug:zod.optional(zod.nullable(zod.string())),slug:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:S,monetization:ie,price:zod.optional(zod.nullable(zod.number())),unit_cost:zod.optional(zod.nullable(zod.number())),cost_accounting:zod.optional(zod.nullable(zod.enum(["fixed","variable"]))),cost_unit:zod.optional(zod.nullable(zod.string())),metadata:zod.optional(zod.nullable(y)),preview:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),state:me,source:Ue,created_at:zod.string(),last_updated:zod.string()}),z=n.partial().omit({user_id:true,user:true,organization:true,license:true,team:true,slug:true}).extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),org_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),name:zod.string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:zod.optional(zod.nullable(zod.string())),state:me.optional().default("success"),visibility:S.optional().default("public"),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}),Xa=n.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true});var gt=zod.object({id:zod.string().uuid(),path:zod.string(),bucket:zod.enum(["public-files","files"]),name:zod.string(),type:zod.string(),extension:zod.string(),size:zod.number(),width:zod.optional(zod.number()),height:zod.optional(zod.number())}),zt=zod.object({type:zod.string()}),Ee=gt.extend(y.partial().shape),bt=zt.extend(y.partial().shape),vt=n.extend({asset_type:zod.literal("file").default("file"),metadata:Ee}),ar=zod.discriminatedUnion("state",[z.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:Ee}),z.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:bt})]),rr=vt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())});var He=zod.lazy(()=>zod.object({type:zod.string(),content:zod.optional(zod.array(He)),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.object({type:zod.string(),attrs:zod.optional(zod.record(zod.string(),zod.any()))}))),text:zod.optional(zod.string())})),ee=zod.object({type:zod.literal("doc"),content:zod.array(He)}),Ze=zod.object({json:ee,text:zod.string()}).default({json:{type:"doc",content:[]},text:""}),Tt=zod.object({}),Mt=Tt.extend(y.partial().shape),_e=n.extend({name:zod.nullable(zod.string()),asset_type:m.refine(e=>["post","comment"].includes(e)),metadata:Mt,preview:ee.default({type:"doc",content:[]}),content:Ze}),pr=z.extend({asset_type:zod.literal("post").default("post"),name:zod.string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),preview:ee}),Pt=_e.extend({content:zod.optional(zod.nullable(Ze.default({json:{type:"doc",content:[]},text:""}))),reactions:zod.array(zod.record(zod.string(),zod.any())).default([]),views:zod.number().default(0),commentCount:zod.number().default(0),pinned:zod.boolean().default(false)}),ur=zod.array(Pt),mr=zod.array(_e),dr=_e.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:zod.string().default(()=>new Date().toISOString())});var $t=n.extend({asset_type:zod.literal("comment").default("comment"),preview:zod.optional(zod.nullable(zod.object({type:zod.string().refine(e=>e==="doc"),content:zod.array(zod.record(zod.string(),zod.any()))}).default({type:"doc",content:[]})))}),hr=$t.partial().omit({id:true,user_id:true}).extend({asset_type:zod.literal("comment").default("comment"),id:zod.string().default(()=>uuidv7.uuidv7()),name:zod.string().default(""),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())});var Nt=zod.object({members:zod.array(zod.string())}),Ke=Nt.extend(y.partial().shape),Cr=n.extend({asset_type:m.default("conversation"),metadata:Ke,users:zod.optional(zod.nullable(zod.array(g)))}),Vt=z.extend({asset_type:zod.literal("conversation").default("conversation"),id:zod.string().uuid().default(()=>uuidv7.uuidv7()),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),monetization:ie.default("none"),visibility:S.default("private"),metadata:Ke}),Ar=Vt.omit({id:true,org_id:true,team_id:true,team:true,user:true,organization:true,slug:true}).partial(),Tr=zod.object({id:zod.string().uuid(),conversation_id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(g)),created_at:zod.string(),last_updated:zod.string(),viewers:zod.array(zod.string().uuid()),json:ee,text:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any())))});var We=zod.object({type:zod.string(),size:zod.number(),path:zod.string(),extension:zod.string(),name:zod.string(),id:zod.string().uuid(),bucket:zod.enum(["public-files","files"])}),Zt=zod.object({table_name:zod.string(),schema:zod.literal("datasets").default("datasets"),columns:zod.array(zod.string())}),Ce=Zt.extend(y.partial().shape),Jt=n.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce.extend({...We.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),Rr=z.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce.extend({...We.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),Ur=z.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:Ce,preview:zod.array(zod.record(zod.string(),zod.any()))}),Dr=Jt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({asset_type:zod.literal("dataset").default("dataset"),last_updated:zod.string().default(()=>new Date().toISOString())});var Kt=zod.enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","other"]),$r=zod.object({id:zod.string().uuid(),source_user_id:zod.string().uuid(),destination_user_id:zod.string().uuid(),org_id:zod.string().uuid(),asset_id:zod.optional(zod.string().uuid()),type:Kt,content:zod.object({text:zod.optional(zod.string()),asset:zod.optional(zod.object({assetId:zod.string(),assetType:m})),mention:zod.optional(zod.object({})),event:zod.optional(zod.object({type:zod.enum(["success","error"])}))}),viewed:zod.boolean(),created_at:zod.string(),last_updated:zod.string()});var Xt=zod.enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),Yt=zod.object({authentication:Xt,base_url:zod.string(),version:zod.optional(zod.nullable(zod.string())),spec_path:zod.optional(zod.nullable(zod.string())),auth_token:zod.optional(zod.nullable(zod.string())),auth_url:zod.optional(zod.nullable(zod.string()))}),qe=Yt.extend(y.partial().shape),qt=n.extend({asset_type:m.refine(e=>e==="service"),metadata:qe}),Nr=z.extend({asset_type:m.refine(e=>e==="service"),metadata:qe}),Vr=qt.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}),ea=zod.object({id:zod.string(),user_id:zod.string(),service_id:zod.string(),path:zod.string(),method:zod.enum(["GET","POST","PUT","PATCH","DELETE"]),summary:zod.optional(zod.nullable(zod.string())),parameters:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),request_body:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),responses:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),input_type:zod.optional(zod.nullable(zod.enum(["file","dataset","post"]))),input_filter:zod.optional(zod.nullable(zod.enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:zod.optional(zod.nullable(zod.string())),output_type:zod.optional(zod.nullable(zod.enum(["file","dataset","post"]))),security:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),rate_limit:zod.optional(zod.nullable(zod.number())),last_updated:zod.string()}),Lr=n.extend({asset_type:m.refine(e=>e==="route"),route:ea}),Hr=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),route_id:zod.string().uuid(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),response:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),side_effects:zod.boolean().default(true),input_asset_id:zod.optional(zod.nullable(zod.string().uuid())),output_asset_id:zod.optional(zod.nullable(zod.string().uuid())),input_asset:zod.optional(zod.nullable(n)),output_asset:zod.optional(zod.nullable(n)),status:zod.enum(["queued","in-progress","success","error","done"]),created_at:zod.string(),last_updated:zod.string(),started_at:zod.optional(zod.nullable(zod.string())),finished_at:zod.optional(zod.nullable(zod.string()))});var oa=zod.object({schedule:zod.optional(zod.object({cron:zod.string()}).passthrough())}),ia=oa.extend(y.partial().shape),na=n.extend({asset_type:m.refine(e=>e==="replication"),metadata:ia}),Wr=na.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string()}),Xr=zod.object({team_id:zod.optional(zod.nullable(zod.string().uuid())),name_url_slug:zod.optional(zod.nullable(zod.string())),name:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:zod.optional(zod.nullable(S)),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),last_updated:zod.string().default(()=>new Date().toISOString())});var pa=zod.object({edges:zod.array(zod.record(zod.string(),zod.any())),nodes:zod.array(zod.record(zod.string(),zod.any()))}),at=pa.extend(y.partial().shape),oo=n.extend({asset_type:m.refine(e=>e==="blueprint"),metadata:at}),io=n.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string(),metadata:at.passthrough()}),no=zod.object({team_id:zod.nullable(zod.string().uuid()),name_url_slug:zod.nullable(zod.string()),name:zod.nullable(zod.string()),description:zod.nullable(zod.string()),visibility:zod.nullable(S),metadata:zod.nullable(zod.record(zod.string(),zod.any())),last_updated:zod.string().default(()=>new Date().toISOString())});var uo=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),asset_id:zod.string().uuid(),content:zod.record(zod.string(),zod.any()),created_at:zod.string(),active:zod.optional(zod.nullable(zod.boolean()))});function we(e,t=false){return !e||!Array.isArray(e)?"":e.map(c=>t&&(c.hasOwnProperty("active")&&!c.active)?"":`${c.column}.${c.operator}.${c.value}`).join(",")}var rt=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),ot=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,c=e.name?rt(e.name):e.id;return `/${e.asset_type}s/${t}/${c}`};var ya=(e,t)=>{let c=(e==null?void 0:e.slug)||ot(e),u=t!=null&&t.intent?`?intent=${t.intent}`:"",a=`${c}${u}`;return t!=null&&t.filters&&(a+=`?filters=${we(t.filters)}`),a};var ha={name:"katex",level:"inline",start(e){let t=e.match(/\\\[|\\\(/);return t?t.index:void 0},end(e){var c,u,a;let t=e.match(/\s\\\]|\s\\\)/);return t?((c=t.index)!=null?c:0)+((a=(u=t[0])==null?void 0:u.length)!=null?a:0):void 0},tokenizer(e,t){let c=/^\\\[([\s\S]*?)\\\]/,u=/^\\\(([\s\S]*?)\\\)/,a=c.exec(e);if(a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:true};if(a=u.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>`}},Sa={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 u=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(u)return {type:"assetComponent",raw:u[0],properties:u[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(u){console.error("Invalid JSON in assetComponent properties:",u),t={};}return `
2
+ <asset-component ${Object.entries(t).map(([u,a])=>`${u}="${a}"`).join(" ")}></asset-component>`}},_a={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 u=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(u)return {type:"userMention",raw:u[0],username:u[1]}},renderer(e){return `<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`}};marked.marked.use({gfm:true,extensions:[Sa,_a,ha]});function xa(e){return marked.marked.parse(e)}var pe=e=>Array.isArray(e)?e.map(pe):e!=null&&e.content?Array.isArray(e.content)?e.content.map(pe).flat():pe(e.content):e;function ga(e){if(!e||!(e!=null&&e.content))return {users:[],assets:[]};let t=e.content.map(pe).flat(),c=t.filter(a=>a.type==="mention").map(a=>{var h,x,Re;return {user_id:(h=a.attrs)==null?void 0:h.id,username:((x=a.attrs)==null?void 0:x.label)||((Re=a.attrs)==null?void 0:Re.username)}}).reduce((a,h)=>(a.some(x=>x.user_id&&h.user_id&&x.user_id===h.user_id||x.username&&h.username&&x.username===h.username)||a.push(h),a),[]),u=t.filter(a=>{var h,x;return a.type==="assetComponent"&&((h=a.attrs)==null?void 0:h.id)&&!((x=a.attrs)!=null&&x.partial)}).map(({attrs:a})=>({id:a.id,assetType:a.assetType})).reduce((a,h)=>(a.some(x=>x.id===h.id)||a.push(h),a),[]);return {users:c,assets:u}}exports.ActionSchema=Hr;exports.AssetMetadataSchema=y;exports.AssetSchema=n;exports.AssetTypeSchema=m;exports.BlueprintSchema=oo;exports.CommentSchema=$t;exports.ConnectionSchema=va;exports.ContentSchema=Ze;exports.ConversationSchema=Cr;exports.CreateAssetSchema=z;exports.CreateBlueprintSchema=io;exports.CreateCommentSchema=hr;exports.CreateConversationSchema=Vt;exports.CreateDatasetFromFileSchema=Rr;exports.CreateDatasetFromSchemaSchema=Ur;exports.CreateFileSchema=ar;exports.CreatePostSchema=pr;exports.CreateReplicationSchema=Wr;exports.CreateServiceSchema=Nr;exports.CreateTeamSchema=Na;exports.DatasetSchema=Jt;exports.EmbeddingSchema=ba;exports.FileSchema=vt;exports.ListPostsSchema=mr;exports.MembershipSchema=Oa;exports.MessageSchema=Tr;exports.MonetizationSchema=ie;exports.NotificationSchema=$r;exports.OrganizationsSchema=Q;exports.PermissionSchema=Aa;exports.PostSchema=_e;exports.ProfileSchema=g;exports.PurchaseAssetSchema=Ca;exports.ReadPostSchema=Pt;exports.ReadPostsSchema=ur;exports.ReadProfileSchema=Pa;exports.ReadTeamSchema=yt;exports.ReadTeamsSchema=Va;exports.ReplicationSchema=na;exports.RoleSchema=C;exports.RouteSchema=Lr;exports.ServiceSchema=qt;exports.SourceSchema=Ue;exports.StatusSchema=me;exports.TeamSchema=X;exports.TipTapSchema=ee;exports.UpdateAssetSchema=Xa;exports.UpdateBlueprintSchema=no;exports.UpdateConversationSchema=Ar;exports.UpdatePostSchema=dr;exports.UpdateProfileSchema=wa;exports.UpdateReplicationSchema=Xr;exports.UpdateServiceSchema=Vr;exports.UpdateTeamSchema=La;exports.VisibilitySchema=S;exports.createNameUrlSlug=rt;exports.createUrlSlug=ot;exports.filterListToString=we;exports.getAssetUrl=ya;exports.getReferencesInContent=ga;exports.parseMarkdown=xa;exports.reactionSchema=uo;exports.updateDatasetSchema=Dr;exports.updateFileSchema=rr;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map
@@ -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","SourceSchema","ProfileSchema","boolean","ReadProfileSchema","UpdateProfileSchema","OrganizationsSchema","MembershipSchema","TeamSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","ReadTeamsSchema","UpdateTeamSchema","AssetMetadataSchema","AssetSchema","CreateAssetSchema","UpdateAssetSchema","BaseFileMetadataSchema","BaseStubFileMetadataSchema","FileMetadataSchema","StubFileMetadataSchema","FileSchema","literal","CreateFileSchema","discriminatedUnion","updateFileSchema","TipTapNode","lazy","TipTapSchema","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","PostSchema","x","CreatePostSchema","ReadPostSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema","CommentSchema","CreateCommentSchema","BaseConversationMetadataSchema","ConversationMetadataSchema","ConversationSchema","CreateConversationSchema","UpdateConversationSchema","MessageSchema","DatasetFromFileMetadataSchema","BaseDatasetMetadataSchema","DatasetMetadataSchema","DatasetSchema","CreateDatasetFromFileSchema","CreateDatasetFromSchemaSchema","updateDatasetSchema","NotificationTypeSchema","NotificationSchema","AuthType","BaseServiceMetadataSchema","ServiceMetadataSchema","ServiceSchema","CreateServiceSchema","UpdateServiceSchema","RouteDetailSchema","RouteSchema","ActionSchema","BaseReplicationMetadataSchema","ReplicationMetadataSchema","ReplicationSchema","val","CreateReplicationSchema","UpdateReplicationSchema","BaseBlueprintMetadataSchema","BlueprintMetadataSchema","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.cjs","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\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\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>;\nexport type Source = z.infer<typeof SourceSchema>;\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 added_at: string(),\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 added_at: string(),\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 SourceSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\n\nconst AssetMetadataSchema = object({\n doi_url: optional(nullable(string())),\n external_url: optional(nullable(string())),\n paper_url: optional(nullable(string())),\n github_url: optional(nullable(string())),\n originality: zodEnum([\"original\", \"derivative\", \"third-party\"]),\n source: optional(nullable(string())),\n})\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 license_id: string(),\n license: 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 metadata: optional(nullable(AssetMetadataSchema)),\n preview: optional(nullable(array(record(string(), any())))),\n state: StatusSchema,\n source: SourceSchema,\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 license: 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 { AssetMetadataSchema, AssetSchema, CreateAssetSchema, UpdateAssetSchema };\nexport type AssetMetadata = z.infer<typeof AssetMetadataSchema>;\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 nullable\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema, AssetMetadataSchema } from \"./assets\";\n\nconst BaseFileMetadataSchema = 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 BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\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: StubFileMetadataSchema,\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 { AssetMetadataSchema, 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 BasePostMetadataSchema = object({})\n\nconst PostMetadataSchema = BasePostMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n metadata: PostMetadataSchema,\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n\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 { AssetMetadataSchema, AssetSchema } from \"./assets\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n metadata: ConversationMetadataSchema,\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, AssetMetadataSchema } 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 BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n});\n\nconst DatasetMetadataSchema = BaseDatasetMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\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 { AssetMetadataSchema, AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n auth_token: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst UpdateServiceSchema = ServiceSchema.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\nconst RouteDetailSchema = 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 RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\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([\"queued\", \"in-progress\", \"success\", \"error\", 'done']),\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, CreateServiceSchema, UpdateServiceSchema, ActionSchema };\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\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 { AssetMetadataSchema, AssetSchema } from \"./assets\";\nimport { AssetTypeSchema, VisibilitySchema } from \"./common\";\n\nconst BaseReplicationMetadataSchema = object({\n schedule: optional(\n object({\n cron: string(),\n }).passthrough()\n ),\n});\n\nconst ReplicationMetadataSchema = BaseReplicationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ReplicationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"replication\"),\n metadata: ReplicationMetadataSchema,\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 { AssetMetadataSchema, AssetSchema } from \"./assets\";\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\n\nconst BaseBlueprintMetadataSchema = object({\n edges: array(record(string(), any())),\n nodes: array(record(string(), any())),\n});\n\nconst BlueprintMetadataSchema = BaseBlueprintMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst BlueprintSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"blueprint\"),\n metadata: BlueprintMetadataSchema,\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: BlueprintMetadataSchema.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 // User could have user_id or only username, so we need to check both\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) =>\n (u.user_id && item.user_id && u.user_id === item.user_id) ||\n (u.username && item.username && u.username === item.username)\n )) {\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","SourceSchema","ProfileSchema","boolean","ReadProfileSchema","UpdateProfileSchema","OrganizationsSchema","MembershipSchema","TeamSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","ReadTeamsSchema","UpdateTeamSchema","AssetMetadataSchema","AssetSchema","CreateAssetSchema","UpdateAssetSchema","BaseFileMetadataSchema","BaseStubFileMetadataSchema","FileMetadataSchema","StubFileMetadataSchema","FileSchema","literal","CreateFileSchema","discriminatedUnion","updateFileSchema","TipTapNode","lazy","TipTapSchema","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","PostSchema","x","CreatePostSchema","ReadPostSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema","CommentSchema","CreateCommentSchema","BaseConversationMetadataSchema","ConversationMetadataSchema","ConversationSchema","CreateConversationSchema","UpdateConversationSchema","MessageSchema","DatasetFromFileMetadataSchema","BaseDatasetMetadataSchema","DatasetMetadataSchema","DatasetSchema","CreateDatasetFromFileSchema","CreateDatasetFromSchemaSchema","updateDatasetSchema","NotificationTypeSchema","NotificationSchema","AuthType","BaseServiceMetadataSchema","ServiceMetadataSchema","ServiceSchema","CreateServiceSchema","UpdateServiceSchema","RouteDetailSchema","RouteSchema","ActionSchema","BaseReplicationMetadataSchema","ReplicationMetadataSchema","ReplicationSchema","val","CreateReplicationSchema","UpdateReplicationSchema","BaseBlueprintMetadataSchema","BlueprintMetadataSchema","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.cjs","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\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\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>;\nexport type Source = z.infer<typeof SourceSchema>;\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 added_at: string(),\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 added_at: string(),\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 SourceSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\n\nconst AssetMetadataSchema = object({\n doi_url: optional(nullable(string())),\n external_url: optional(nullable(string())),\n paper_url: optional(nullable(string())),\n github_url: optional(nullable(string())),\n originality: zodEnum([\"original\", \"derivative\", \"third-party\"]),\n source: optional(nullable(string())),\n})\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 license_id: string(),\n license: 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 metadata: optional(nullable(AssetMetadataSchema)),\n preview: optional(nullable(array(record(string(), any())))),\n state: StatusSchema,\n source: SourceSchema,\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 license: 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 { AssetMetadataSchema, AssetSchema, CreateAssetSchema, UpdateAssetSchema };\nexport type AssetMetadata = z.infer<typeof AssetMetadataSchema>;\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 nullable\n} from \"zod\";\n\nimport { AssetSchema, CreateAssetSchema, AssetMetadataSchema } from \"./assets\";\n\nconst BaseFileMetadataSchema = 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 BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\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: StubFileMetadataSchema,\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 { AssetMetadataSchema, 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 BasePostMetadataSchema = object({})\n\nconst PostMetadataSchema = BasePostMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n metadata: PostMetadataSchema,\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n\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 { AssetMetadataSchema, AssetSchema, CreateAssetSchema } from \"./assets\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n metadata: ConversationMetadataSchema,\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst CreateConversationSchema = CreateAssetSchema.extend({\n asset_type: literal(\"conversation\").default(\"conversation\"),\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 metadata: ConversationMetadataSchema,\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, AssetMetadataSchema } 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 BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n});\n\nconst DatasetMetadataSchema = BaseDatasetMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\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 { AssetMetadataSchema, AssetSchema, CreateAssetSchema } from \"./assets\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n auth_token: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst UpdateServiceSchema = ServiceSchema.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\nconst RouteDetailSchema = 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 RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\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([\"queued\", \"in-progress\", \"success\", \"error\", 'done']),\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, CreateServiceSchema, UpdateServiceSchema, ActionSchema };\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\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 { AssetMetadataSchema, AssetSchema } from \"./assets\";\nimport { AssetTypeSchema, VisibilitySchema } from \"./common\";\n\nconst BaseReplicationMetadataSchema = object({\n schedule: optional(\n object({\n cron: string(),\n }).passthrough()\n ),\n});\n\nconst ReplicationMetadataSchema = BaseReplicationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ReplicationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"replication\"),\n metadata: ReplicationMetadataSchema,\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 { AssetMetadataSchema, AssetSchema } from \"./assets\";\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\n\nconst BaseBlueprintMetadataSchema = object({\n edges: array(record(string(), any())),\n nodes: array(record(string(), any())),\n});\n\nconst BlueprintMetadataSchema = BaseBlueprintMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst BlueprintSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((val) => val === \"blueprint\"),\n metadata: BlueprintMetadataSchema,\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: BlueprintMetadataSchema.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 // User could have user_id or only username, so we need to check both\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) =>\n (u.user_id && item.user_id && u.user_id === item.user_id) ||\n (u.username && item.username && u.username === item.username)\n )) {\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"]}