@ourofoundation/ouro-js 3.5.4 → 3.5.6

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.
@@ -0,0 +1,7 @@
1
+ import {marked}from'marked';function c(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function l(e,n){return `<span data-latex="${c(e)}" data-display-mode="${n}"></span>`}var u={name:"katexBlock",level:"block",start(e){let n=e.match(/\\\[/);return n?n.index:void 0},end(e){var r,t,s;let n=e.match(/\s\\\]/);return n?((r=n.index)!=null?r:0)+((s=(t=n[0])==null?void 0:t.length)!=null?s:0):void 0},tokenizer(e,n){let t=/^\\\[([\s\S]*?)\\\]/.exec(e);if(t)return {type:"katexBlock",raw:t[0],latex:t[1].trim(),displayMode:true}},renderer(e){return l(e.latex,e.displayMode)}},m={name:"katexInline",level:"inline",start(e){let n=e.match(/\\\(/);return n?n.index:void 0},end(e){var r,t,s;let n=e.match(/\s\\\)/);return n?((r=n.index)!=null?r:0)+((s=(t=n[0])==null?void 0:t.length)!=null?s:0):void 0},tokenizer(e,n){let t=/^\\\(([\s\S]*?)\\\)/.exec(e);if(t)return {type:"katexInline",raw:t[0],latex:t[1].trim(),displayMode:false}},renderer(e){return l(e.latex,e.displayMode)}},y={name:"assetComponent",level:"block",start(e){var n;return (n=e.match(/^```assetComponent/))==null?void 0:n.index},end(e){var n;return (n=e.match(/^```/))==null?void 0:n.index},tokenizer(e,n){let t=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(t)return {type:"assetComponent",raw:t[0],properties:t[1],tokens:[]}},renderer(e){let n;try{n=JSON.parse(e.properties);}catch(t){console.error("Invalid JSON in assetComponent properties:",t),n={};}return `
2
+ <asset-component ${Object.entries(n).map(([t,s])=>{let o=(typeof s=="object"&&s!==null?JSON.stringify(s):String(s)).replace(/"/g,"&quot;");return `${t}="${o}"`}).join(" ")}></asset-component>`}},k={name:"userMention",level:"inline",start(e){let n=e.match(/`\{@|(?<![`])\{@/);return n?n.index:void 0},end(e){var n,r,t;return (t=(n=e.match(/\}`/))==null?void 0:n.index)!=null?t:(r=e.match(/(?<![`])\{@[^}]*\}/))==null?void 0:r.index},tokenizer(e,n){let r=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(r)return {type:"userMention",raw:r[0],username:r[1]};let t=/^\{@([a-zA-Z0-9_]+)\}/.exec(e);if(t)return {type:"userMention",raw:t[0],username:t[1]}},renderer(e){let n=c(e.username);return `<user-mention username="${n}" data-label="${n}"></user-mention>`}};marked.use({gfm:true,extensions:[y,k,u,m],renderer:{list(e){var n;return !e.ordered&&((n=e.items)==null?void 0:n.length)>0&&e.items.every(r=>r.task)?`<ul data-type="taskList">
3
+ ${e.items.map(t=>{let s=t.tokens.filter(p=>p.type!=="checkbox"),a=this.parser.parse(s,!!t.loose);t.loose||(a=`<p>${a}</p>`);let o=t.checked?"true":"false",d=t.checked?' checked="checked"':"";return `<li data-type="taskItem" data-checked="${o}"><label contenteditable="false"><input type="checkbox"${d}></label><div>${a}</div></li>`}).join(`
4
+ `)}
5
+ </ul>
6
+ `:false}}});function h(e){return marked.parse(e)}export{h as a};//# sourceMappingURL=chunk-KXYKN3TY.js.map
7
+ //# sourceMappingURL=chunk-KXYKN3TY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/air/markdown-parser.ts"],"names":["escapeHtmlAttr","s","mathSpanHtml","latex","displayMode","katexBlockParser","src","match","_a","_b","_c","tokens","token","katexInlineParser","assetComponentExtension","properties","e","key","value","escapedValue","userMentionExtension","m","codeWrapped","bracesOnly","u","marked","item","inner","t","text","checked","ckAttr","parseMarkdown","markdown"],"mappings":"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","file":"chunk-KXYKN3TY.js","sourcesContent":["import { marked } from \"marked\";\n\n/** Safe for double-quoted HTML attributes (e.g. data-latex). */\nfunction escapeHtmlAttr(s: string): string {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\");\n}\n\nfunction mathSpanHtml(latex: string, displayMode: boolean): string {\n return `<span data-latex=\"${escapeHtmlAttr(latex)}\" data-display-mode=\"${displayMode}\"></span>`;\n}\n\nconst katexBlockParser = {\n name: \"katexBlock\",\n level: \"block\",\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\\\\\\]/);\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 match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katexBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n // Non-self-closing span is important for client-side inline flow around the node.\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst katexInlineParser = {\n name: \"katexInline\",\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\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n const match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katexInline\",\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 mathSpanHtml(token.latex, token.displayMode);\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]) => {\n // Stringify arrays and objects, keep primitives as-is\n const stringValue = typeof value === 'object' && value !== null\n ? JSON.stringify(value)\n : String(value);\n // Escape quotes for HTML attributes\n const escapedValue = stringValue.replace(/\"/g, '&quot;');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n const m = src.match(/`\\{@|(?<![`])\\{@/);\n return m ? m.index : undefined;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index ?? src.match(/(?<![`])\\{@[^}]*\\}/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const codeWrapped = /^`\\{@([a-zA-Z0-9_]+)\\}`/.exec(src);\n if (codeWrapped) {\n return {\n type: \"userMention\",\n raw: codeWrapped[0],\n username: codeWrapped[1],\n };\n }\n const bracesOnly = /^\\{@([a-zA-Z0-9_]+)\\}/.exec(src);\n if (bracesOnly) {\n return {\n type: \"userMention\",\n raw: bracesOnly[0],\n username: bracesOnly[1],\n };\n }\n },\n renderer(token: any) {\n const u = escapeHtmlAttr(token.username);\n return `<user-mention username=\"${u}\" data-label=\"${u}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [\n assetComponentExtension,\n userMentionExtension,\n katexBlockParser,\n katexInlineParser,\n ],\n renderer: {\n list(token: any) {\n if (\n !token.ordered &&\n token.items?.length > 0 &&\n token.items.every((item: any) => item.task)\n ) {\n const body = token.items\n .map((item: any) => {\n const inner = item.tokens.filter(\n (t: any) => t.type !== \"checkbox\"\n );\n let text = (this as any).parser.parse(inner, !!item.loose);\n if (!item.loose) text = `<p>${text}</p>`;\n const checked = item.checked ? \"true\" : \"false\";\n const ckAttr = item.checked ? ' checked=\"checked\"' : \"\";\n return `<li data-type=\"taskItem\" data-checked=\"${checked}\"><label contenteditable=\"false\"><input type=\"checkbox\"${ckAttr}></label><div>${text}</div></li>`;\n })\n .join(\"\\n\");\n return `<ul data-type=\"taskList\">\\n${body}\\n</ul>\\n`;\n }\n return false as any;\n },\n },\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ 'use strict';var marked=require('marked');function c(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function l(e,n){return `<span data-latex="${c(e)}" data-display-mode="${n}"></span>`}var u={name:"katexBlock",level:"block",start(e){let n=e.match(/\\\[/);return n?n.index:void 0},end(e){var r,t,s;let n=e.match(/\s\\\]/);return n?((r=n.index)!=null?r:0)+((s=(t=n[0])==null?void 0:t.length)!=null?s:0):void 0},tokenizer(e,n){let t=/^\\\[([\s\S]*?)\\\]/.exec(e);if(t)return {type:"katexBlock",raw:t[0],latex:t[1].trim(),displayMode:true}},renderer(e){return l(e.latex,e.displayMode)}},m={name:"katexInline",level:"inline",start(e){let n=e.match(/\\\(/);return n?n.index:void 0},end(e){var r,t,s;let n=e.match(/\s\\\)/);return n?((r=n.index)!=null?r:0)+((s=(t=n[0])==null?void 0:t.length)!=null?s:0):void 0},tokenizer(e,n){let t=/^\\\(([\s\S]*?)\\\)/.exec(e);if(t)return {type:"katexInline",raw:t[0],latex:t[1].trim(),displayMode:false}},renderer(e){return l(e.latex,e.displayMode)}},y={name:"assetComponent",level:"block",start(e){var n;return (n=e.match(/^```assetComponent/))==null?void 0:n.index},end(e){var n;return (n=e.match(/^```/))==null?void 0:n.index},tokenizer(e,n){let t=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(t)return {type:"assetComponent",raw:t[0],properties:t[1],tokens:[]}},renderer(e){let n;try{n=JSON.parse(e.properties);}catch(t){console.error("Invalid JSON in assetComponent properties:",t),n={};}return `
2
+ <asset-component ${Object.entries(n).map(([t,s])=>{let o=(typeof s=="object"&&s!==null?JSON.stringify(s):String(s)).replace(/"/g,"&quot;");return `${t}="${o}"`}).join(" ")}></asset-component>`}},k={name:"userMention",level:"inline",start(e){let n=e.match(/`\{@|(?<![`])\{@/);return n?n.index:void 0},end(e){var n,r,t;return (t=(n=e.match(/\}`/))==null?void 0:n.index)!=null?t:(r=e.match(/(?<![`])\{@[^}]*\}/))==null?void 0:r.index},tokenizer(e,n){let r=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(r)return {type:"userMention",raw:r[0],username:r[1]};let t=/^\{@([a-zA-Z0-9_]+)\}/.exec(e);if(t)return {type:"userMention",raw:t[0],username:t[1]}},renderer(e){let n=c(e.username);return `<user-mention username="${n}" data-label="${n}"></user-mention>`}};marked.marked.use({gfm:true,extensions:[y,k,u,m],renderer:{list(e){var n;return !e.ordered&&((n=e.items)==null?void 0:n.length)>0&&e.items.every(r=>r.task)?`<ul data-type="taskList">
3
+ ${e.items.map(t=>{let s=t.tokens.filter(p=>p.type!=="checkbox"),a=this.parser.parse(s,!!t.loose);t.loose||(a=`<p>${a}</p>`);let o=t.checked?"true":"false",d=t.checked?' checked="checked"':"";return `<li data-type="taskItem" data-checked="${o}"><label contenteditable="false"><input type="checkbox"${d}></label><div>${a}</div></li>`}).join(`
4
+ `)}
5
+ </ul>
6
+ `:false}}});function h(e){return marked.marked.parse(e)}exports.a=h;//# sourceMappingURL=chunk-NSKBXBRD.cjs.map
7
+ //# sourceMappingURL=chunk-NSKBXBRD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/air/markdown-parser.ts"],"names":["escapeHtmlAttr","s","mathSpanHtml","latex","displayMode","katexBlockParser","src","match","_a","_b","_c","tokens","token","katexInlineParser","assetComponentExtension","properties","e","key","value","escapedValue","userMentionExtension","m","codeWrapped","bracesOnly","u","marked","item","inner","t","text","checked","ckAttr","parseMarkdown","markdown"],"mappings":"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","file":"chunk-NSKBXBRD.cjs","sourcesContent":["import { marked } from \"marked\";\n\n/** Safe for double-quoted HTML attributes (e.g. data-latex). */\nfunction escapeHtmlAttr(s: string): string {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\");\n}\n\nfunction mathSpanHtml(latex: string, displayMode: boolean): string {\n return `<span data-latex=\"${escapeHtmlAttr(latex)}\" data-display-mode=\"${displayMode}\"></span>`;\n}\n\nconst katexBlockParser = {\n name: \"katexBlock\",\n level: \"block\",\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\\\\\\]/);\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 match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katexBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n // Non-self-closing span is important for client-side inline flow around the node.\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst katexInlineParser = {\n name: \"katexInline\",\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\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n const match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katexInline\",\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 mathSpanHtml(token.latex, token.displayMode);\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]) => {\n // Stringify arrays and objects, keep primitives as-is\n const stringValue = typeof value === 'object' && value !== null\n ? JSON.stringify(value)\n : String(value);\n // Escape quotes for HTML attributes\n const escapedValue = stringValue.replace(/\"/g, '&quot;');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n const m = src.match(/`\\{@|(?<![`])\\{@/);\n return m ? m.index : undefined;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index ?? src.match(/(?<![`])\\{@[^}]*\\}/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const codeWrapped = /^`\\{@([a-zA-Z0-9_]+)\\}`/.exec(src);\n if (codeWrapped) {\n return {\n type: \"userMention\",\n raw: codeWrapped[0],\n username: codeWrapped[1],\n };\n }\n const bracesOnly = /^\\{@([a-zA-Z0-9_]+)\\}/.exec(src);\n if (bracesOnly) {\n return {\n type: \"userMention\",\n raw: bracesOnly[0],\n username: bracesOnly[1],\n };\n }\n },\n renderer(token: any) {\n const u = escapeHtmlAttr(token.username);\n return `<user-mention username=\"${u}\" data-label=\"${u}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [\n assetComponentExtension,\n userMentionExtension,\n katexBlockParser,\n katexInlineParser,\n ],\n renderer: {\n list(token: any) {\n if (\n !token.ordered &&\n token.items?.length > 0 &&\n token.items.every((item: any) => item.task)\n ) {\n const body = token.items\n .map((item: any) => {\n const inner = item.tokens.filter(\n (t: any) => t.type !== \"checkbox\"\n );\n let text = (this as any).parser.parse(inner, !!item.loose);\n if (!item.loose) text = `<p>${text}</p>`;\n const checked = item.checked ? \"true\" : \"false\";\n const ckAttr = item.checked ? ' checked=\"checked\"' : \"\";\n return `<li data-type=\"taskItem\" data-checked=\"${checked}\"><label contenteditable=\"false\"><input type=\"checkbox\"${ckAttr}></label><div>${text}</div></li>`;\n })\n .join(\"\\n\");\n return `<ul data-type=\"taskList\">\\n${body}\\n</ul>\\n`;\n }\n return false as any;\n },\n },\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {b as b$1,c,d,a as a$1}from'./chunk-SR5UZ4NP.js';import {a}from'./chunk-WRHPQNEL.js';import {object,enum as _enum,uuid,string,number,record,optional,array,literal,nullable,discriminatedUnion,any}from'zod';var y=object({type:string(),size:number(),path:string(),extension:string(),name:string(),id:uuid(),bucket:_enum(["public-files","files"])}),_=_enum(["asset","action"]),x=record(string(),object({kind:_,asset_type:optional(a)})),z=record(string(),object({values:array(string())})),F=object({table_name:string(),schema:literal("datasets").default("datasets"),columns:array(string()),refs:optional(nullable(x)),enum_columns:optional(nullable(z))}),w=object({column_name:string(),data_type:string(),fk_constraint_name:optional(nullable(string())),foreign_table_schema:optional(nullable(string())),foreign_table_name:optional(nullable(string())),foreign_column_name:optional(nullable(string())),semantic_type:optional(nullable(_enum(["reference","enum"]))),ref_kind:optional(nullable(_)),asset_type:optional(nullable(a)),enum_values:optional(nullable(array(string())))}),v=object({kind:literal("asset"),id:uuid(),asset_type:a,name:nullable(string()),web_url:nullable(string())}),C=object({kind:literal("action"),id:uuid(),status:nullable(string()),route_id:nullable(uuid()),route_name:nullable(string()),name:nullable(string()),web_url:nullable(string()),created_at:nullable(string())}),b=discriminatedUnion("kind",[v,C]),M=record(string(),record(string(),b)),u=F.extend(b$1.partial().shape),g=c.extend({asset_type:literal("dataset").default("dataset"),metadata:u.extend({...y.partial().shape}),preview:array(record(string(),any()))}),K=d.extend({asset_type:literal("dataset").default("dataset"),metadata:u.extend({...y.shape}),preview:array(record(string(),any()))}).transform(m=>a$1(m)),U=d.extend({asset_type:literal("dataset").default("dataset"),metadata:u,preview:array(record(string(),any()))}).transform(m=>a$1(m)),j=g.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({asset_type:literal("dataset").default("dataset"),last_updated:string().default(()=>new Date().toISOString())}).transform(m=>a$1(m));export{_ as a,x as b,z as c,w as d,b as e,M as f,g,K as h,U as i,j};//# sourceMappingURL=chunk-WNYOQITO.js.map
2
+ //# sourceMappingURL=chunk-WNYOQITO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schema/datasets.ts"],"names":["DatasetFromFileMetadataSchema","object","string","number","uuid","zodEnum","RefKindSchema","DatasetRefsSchema","record","optional","AssetTypeSchema","DatasetEnumColumnsSchema","array","BaseDatasetMetadataSchema","literal","nullable","EnrichedDatasetSchemaFieldSchema","ResolvedAssetRefSchema","ResolvedActionRefSchema","ResolvedRefSchema","discriminatedUnion","ResolvedRefsSchema","DatasetMetadataSchema","AssetMetadataSchema","DatasetSchema","AssetSchema","any","CreateDatasetFromFileSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","CreateDatasetFromSchemaSchema","updateDatasetSchema"],"mappings":"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","file":"chunk-WNYOQITO.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n literal,\n record,\n optional,\n nullable,\n discriminatedUnion,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\n/**\n * The kind of object a dataset reference column points at. The FK target table\n * is the source of truth: public.assets -> \"asset\", public.actions -> \"action\".\n */\nconst RefKindSchema = zodEnum([\"asset\", \"action\"]);\n\n/**\n * Per-column reference declarations.\n *\n * A column becomes a reference when the backend adds a real Postgres FK to a\n * referenceable table. `kind` selects the target table; `asset_type` is an\n * optional target-type hint that only applies when `kind` is \"asset\".\n */\nconst DatasetRefsSchema = record(\n string(),\n object({\n kind: RefKindSchema,\n asset_type: optional(AssetTypeSchema),\n })\n);\n\n/**\n * Per-column enum declarations.\n *\n * Enum columns are stored as ordinary dataset columns plus a Postgres CHECK\n * constraint. The values are surfaced in schema reads so agents can query with\n * known categorical values.\n */\nconst DatasetEnumColumnsSchema = record(\n string(),\n object({\n values: array(string()),\n })\n);\n\nconst BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n refs: optional(nullable(DatasetRefsSchema)),\n enum_columns: optional(nullable(DatasetEnumColumnsSchema)),\n});\n\n/**\n * A single column from GET /datasets/:id/schema, enriched server-side.\n *\n * The FK fields come straight from get_table_schema. `semantic_type` is pure\n * inference: \"reference\" when the column has an FK to a referenceable table,\n * with `ref_kind` naming which one (\"asset\" | \"action\"). The optional\n * `asset_type` is the declared target-type hint from metadata.refs (display +\n * soft validation only, asset kind only). `semantic_type: \"enum\"` comes from\n * metadata.enum_columns and exposes its known values.\n */\nconst EnrichedDatasetSchemaFieldSchema = object({\n column_name: string(),\n data_type: string(),\n fk_constraint_name: optional(nullable(string())),\n foreign_table_schema: optional(nullable(string())),\n foreign_table_name: optional(nullable(string())),\n foreign_column_name: optional(nullable(string())),\n semantic_type: optional(nullable(zodEnum([\"reference\", \"enum\"]))),\n ref_kind: optional(nullable(RefKindSchema)),\n asset_type: optional(nullable(AssetTypeSchema)),\n enum_values: optional(nullable(array(string()))),\n});\n\n/**\n * A resolved reference returned in the `resolved_refs` sidecar of\n * GET /datasets/:id/data?resolve_refs=true. Discriminated on `kind` so asset\n * and action references share one vocabulary while carrying kind-specific\n * fields.\n */\nconst ResolvedAssetRefSchema = object({\n kind: literal(\"asset\"),\n id: uuid(),\n asset_type: AssetTypeSchema,\n name: nullable(string()),\n web_url: nullable(string()),\n});\n\nconst ResolvedActionRefSchema = object({\n kind: literal(\"action\"),\n id: uuid(),\n status: nullable(string()),\n route_id: nullable(uuid()),\n route_name: nullable(string()),\n name: nullable(string()),\n web_url: nullable(string()),\n created_at: nullable(string()),\n});\n\nconst ResolvedRefSchema = discriminatedUnion(\"kind\", [\n ResolvedAssetRefSchema,\n ResolvedActionRefSchema,\n]);\n\n/** column -> (referenced uuid -> resolved reference). */\nconst ResolvedRefsSchema = record(\n string(),\n record(string(), ResolvedRefSchema)\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}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n}).transform((value) => normalizeAssetConfigForParsing(value));\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 is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n RefKindSchema,\n DatasetRefsSchema,\n DatasetEnumColumnsSchema,\n EnrichedDatasetSchemaFieldSchema,\n ResolvedRefSchema,\n ResolvedRefsSchema,\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>;\nexport type RefKind = z.infer<typeof RefKindSchema>;\nexport type DatasetRefs = z.infer<typeof DatasetRefsSchema>;\nexport type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;\nexport type EnrichedDatasetSchemaField = z.infer<\n typeof EnrichedDatasetSchemaFieldSchema\n>;\nexport type ResolvedRef = z.infer<typeof ResolvedRefSchema>;\nexport type ResolvedRefs = z.infer<typeof ResolvedRefsSchema>;\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkROMY5WNQ_cjs=require('./chunk-ROMY5WNQ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),zod=require('zod');var y=zod.object({type:zod.string(),size:zod.number(),path:zod.string(),extension:zod.string(),name:zod.string(),id:zod.uuid(),bucket:zod.enum(["public-files","files"])}),_=zod.enum(["asset","action"]),x=zod.record(zod.string(),zod.object({kind:_,asset_type:zod.optional(chunk43KB23BA_cjs.a)})),z=zod.record(zod.string(),zod.object({values:zod.array(zod.string())})),F=zod.object({table_name:zod.string(),schema:zod.literal("datasets").default("datasets"),columns:zod.array(zod.string()),refs:zod.optional(zod.nullable(x)),enum_columns:zod.optional(zod.nullable(z))}),w=zod.object({column_name:zod.string(),data_type:zod.string(),fk_constraint_name:zod.optional(zod.nullable(zod.string())),foreign_table_schema:zod.optional(zod.nullable(zod.string())),foreign_table_name:zod.optional(zod.nullable(zod.string())),foreign_column_name:zod.optional(zod.nullable(zod.string())),semantic_type:zod.optional(zod.nullable(zod.enum(["reference","enum"]))),ref_kind:zod.optional(zod.nullable(_)),asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),enum_values:zod.optional(zod.nullable(zod.array(zod.string())))}),v=zod.object({kind:zod.literal("asset"),id:zod.uuid(),asset_type:chunk43KB23BA_cjs.a,name:zod.nullable(zod.string()),web_url:zod.nullable(zod.string())}),C=zod.object({kind:zod.literal("action"),id:zod.uuid(),status:zod.nullable(zod.string()),route_id:zod.nullable(zod.uuid()),route_name:zod.nullable(zod.string()),name:zod.nullable(zod.string()),web_url:zod.nullable(zod.string()),created_at:zod.nullable(zod.string())}),b=zod.discriminatedUnion("kind",[v,C]),M=zod.record(zod.string(),zod.record(zod.string(),b)),u=F.extend(chunkROMY5WNQ_cjs.b.partial().shape),g=chunkROMY5WNQ_cjs.c.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u.extend({...y.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),K=chunkROMY5WNQ_cjs.d.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u.extend({...y.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(m=>chunkROMY5WNQ_cjs.a(m)),U=chunkROMY5WNQ_cjs.d.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u,preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(m=>chunkROMY5WNQ_cjs.a(m)),j=g.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({asset_type:zod.literal("dataset").default("dataset"),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(m=>chunkROMY5WNQ_cjs.a(m));exports.a=_;exports.b=x;exports.c=z;exports.d=w;exports.e=b;exports.f=M;exports.g=g;exports.h=K;exports.i=U;exports.j=j;//# sourceMappingURL=chunk-YKA3RUTN.cjs.map
2
+ //# sourceMappingURL=chunk-YKA3RUTN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schema/datasets.ts"],"names":["DatasetFromFileMetadataSchema","object","string","number","uuid","zodEnum","RefKindSchema","DatasetRefsSchema","record","optional","AssetTypeSchema","DatasetEnumColumnsSchema","array","BaseDatasetMetadataSchema","literal","nullable","EnrichedDatasetSchemaFieldSchema","ResolvedAssetRefSchema","ResolvedActionRefSchema","ResolvedRefSchema","discriminatedUnion","ResolvedRefsSchema","DatasetMetadataSchema","AssetMetadataSchema","DatasetSchema","AssetSchema","any","CreateDatasetFromFileSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","CreateDatasetFromSchemaSchema","updateDatasetSchema"],"mappings":"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","file":"chunk-YKA3RUTN.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n literal,\n record,\n optional,\n nullable,\n discriminatedUnion,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\n/**\n * The kind of object a dataset reference column points at. The FK target table\n * is the source of truth: public.assets -> \"asset\", public.actions -> \"action\".\n */\nconst RefKindSchema = zodEnum([\"asset\", \"action\"]);\n\n/**\n * Per-column reference declarations.\n *\n * A column becomes a reference when the backend adds a real Postgres FK to a\n * referenceable table. `kind` selects the target table; `asset_type` is an\n * optional target-type hint that only applies when `kind` is \"asset\".\n */\nconst DatasetRefsSchema = record(\n string(),\n object({\n kind: RefKindSchema,\n asset_type: optional(AssetTypeSchema),\n })\n);\n\n/**\n * Per-column enum declarations.\n *\n * Enum columns are stored as ordinary dataset columns plus a Postgres CHECK\n * constraint. The values are surfaced in schema reads so agents can query with\n * known categorical values.\n */\nconst DatasetEnumColumnsSchema = record(\n string(),\n object({\n values: array(string()),\n })\n);\n\nconst BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n refs: optional(nullable(DatasetRefsSchema)),\n enum_columns: optional(nullable(DatasetEnumColumnsSchema)),\n});\n\n/**\n * A single column from GET /datasets/:id/schema, enriched server-side.\n *\n * The FK fields come straight from get_table_schema. `semantic_type` is pure\n * inference: \"reference\" when the column has an FK to a referenceable table,\n * with `ref_kind` naming which one (\"asset\" | \"action\"). The optional\n * `asset_type` is the declared target-type hint from metadata.refs (display +\n * soft validation only, asset kind only). `semantic_type: \"enum\"` comes from\n * metadata.enum_columns and exposes its known values.\n */\nconst EnrichedDatasetSchemaFieldSchema = object({\n column_name: string(),\n data_type: string(),\n fk_constraint_name: optional(nullable(string())),\n foreign_table_schema: optional(nullable(string())),\n foreign_table_name: optional(nullable(string())),\n foreign_column_name: optional(nullable(string())),\n semantic_type: optional(nullable(zodEnum([\"reference\", \"enum\"]))),\n ref_kind: optional(nullable(RefKindSchema)),\n asset_type: optional(nullable(AssetTypeSchema)),\n enum_values: optional(nullable(array(string()))),\n});\n\n/**\n * A resolved reference returned in the `resolved_refs` sidecar of\n * GET /datasets/:id/data?resolve_refs=true. Discriminated on `kind` so asset\n * and action references share one vocabulary while carrying kind-specific\n * fields.\n */\nconst ResolvedAssetRefSchema = object({\n kind: literal(\"asset\"),\n id: uuid(),\n asset_type: AssetTypeSchema,\n name: nullable(string()),\n web_url: nullable(string()),\n});\n\nconst ResolvedActionRefSchema = object({\n kind: literal(\"action\"),\n id: uuid(),\n status: nullable(string()),\n route_id: nullable(uuid()),\n route_name: nullable(string()),\n name: nullable(string()),\n web_url: nullable(string()),\n created_at: nullable(string()),\n});\n\nconst ResolvedRefSchema = discriminatedUnion(\"kind\", [\n ResolvedAssetRefSchema,\n ResolvedActionRefSchema,\n]);\n\n/** column -> (referenced uuid -> resolved reference). */\nconst ResolvedRefsSchema = record(\n string(),\n record(string(), ResolvedRefSchema)\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}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n}).transform((value) => normalizeAssetConfigForParsing(value));\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 is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n RefKindSchema,\n DatasetRefsSchema,\n DatasetEnumColumnsSchema,\n EnrichedDatasetSchemaFieldSchema,\n ResolvedRefSchema,\n ResolvedRefsSchema,\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>;\nexport type RefKind = z.infer<typeof RefKindSchema>;\nexport type DatasetRefs = z.infer<typeof DatasetRefsSchema>;\nexport type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;\nexport type EnrichedDatasetSchemaField = z.infer<\n typeof EnrichedDatasetSchemaFieldSchema\n>;\nexport type ResolvedRef = z.infer<typeof ResolvedRefSchema>;\nexport type ResolvedRefs = z.infer<typeof ResolvedRefsSchema>;\n"]}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkMOEVC3KD_cjs=require('./chunk-MOEVC3KD.cjs'),chunkVGNECRJJ_cjs=require('./chunk-VGNECRJJ.cjs'),chunkL2EAP5SJ_cjs=require('./chunk-L2EAP5SJ.cjs'),chunkN6AJDETI_cjs=require('./chunk-N6AJDETI.cjs'),chunk6GPIZJ4T_cjs=require('./chunk-6GPIZJ4T.cjs'),chunk4K6R6FZD_cjs=require('./chunk-4K6R6FZD.cjs'),chunkBWAEBQKV_cjs=require('./chunk-BWAEBQKV.cjs'),chunk6ZJQTECB_cjs=require('./chunk-6ZJQTECB.cjs'),chunkT4BUMCXS_cjs=require('./chunk-T4BUMCXS.cjs'),chunkV73EW77Y_cjs=require('./chunk-V73EW77Y.cjs'),chunkUORCDNEC_cjs=require('./chunk-UORCDNEC.cjs'),chunkFRMPLGE4_cjs=require('./chunk-FRMPLGE4.cjs'),chunkW73NWPCZ_cjs=require('./chunk-W73NWPCZ.cjs'),chunkF5CWCYOP_cjs=require('./chunk-F5CWCYOP.cjs'),chunk73DHYPGU_cjs=require('./chunk-73DHYPGU.cjs'),chunkROMY5WNQ_cjs=require('./chunk-ROMY5WNQ.cjs'),chunkUY43EQTO_cjs=require('./chunk-UY43EQTO.cjs'),chunkVOY623ZD_cjs=require('./chunk-VOY623ZD.cjs'),chunkGY6SLMMJ_cjs=require('./chunk-GY6SLMMJ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs');require('./chunk-7HF5VHUN.cjs');var chunkFLOHG4H4_cjs=require('./chunk-FLOHG4H4.cjs');Object.defineProperty(exports,"createNameUrlSlug",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.a}});Object.defineProperty(exports,"createUrlSlug",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.b}});Object.defineProperty(exports,"getAssetUrl",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.c}});Object.defineProperty(exports,"filterListToString",{enumerable:true,get:function(){return chunkVGNECRJJ_cjs.a}});Object.defineProperty(exports,"getReferencesInContent",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.e}});Object.defineProperty(exports,"normalizeViewMode",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.a}});Object.defineProperty(exports,"parseAssetLinkShorthand",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.c}});Object.defineProperty(exports,"parseOuroAssetUrl",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.d}});Object.defineProperty(exports,"resolveDisplayConfig",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.b}});Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkN6AJDETI_cjs.a}});Object.defineProperty(exports,"CreateFileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.b}});Object.defineProperty(exports,"FileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.a}});Object.defineProperty(exports,"updateFileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.c}});Object.defineProperty(exports,"NotificationSchema",{enumerable:true,get:function(){return chunk4K6R6FZD_cjs.a}});Object.defineProperty(exports,"CreateEntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.p}});Object.defineProperty(exports,"CreateQuestItemObjectSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.i}});Object.defineProperty(exports,"CreateQuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.j}});Object.defineProperty(exports,"CreateQuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.l}});Object.defineProperty(exports,"EntryEvalStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.e}});Object.defineProperty(exports,"EntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.o}});Object.defineProperty(exports,"EntryStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.f}});Object.defineProperty(exports,"QuestItemBaseSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.g}});Object.defineProperty(exports,"QuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.h}});Object.defineProperty(exports,"QuestItemStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.c}});Object.defineProperty(exports,"QuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.k}});Object.defineProperty(exports,"QuestStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.b}});Object.defineProperty(exports,"QuestTypeSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.a}});Object.defineProperty(exports,"ReviewEntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.q}});Object.defineProperty(exports,"RewardCurrencySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.d}});Object.defineProperty(exports,"UpdateQuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.n}});Object.defineProperty(exports,"UpdateQuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.m}});Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.c}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.m}});Object.defineProperty(exports,"reactionSchema",{enumerable:true,get:function(){return chunkT4BUMCXS_cjs.a}});Object.defineProperty(exports,"ActionSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.k}});Object.defineProperty(exports,"CreateServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.b}});Object.defineProperty(exports,"ExecutionModeSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.d}});Object.defineProperty(exports,"RouteInputAssetDeclarationSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.e}});Object.defineProperty(exports,"RouteInputAssetsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.g}});Object.defineProperty(exports,"RouteMetricsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.i}});Object.defineProperty(exports,"RouteOutputAssetDeclarationSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.f}});Object.defineProperty(exports,"RouteOutputAssetsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.h}});Object.defineProperty(exports,"RouteSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.j}});Object.defineProperty(exports,"ServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.a}});Object.defineProperty(exports,"UpdateServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.c}});Object.defineProperty(exports,"AssetTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.e}});Object.defineProperty(exports,"AssetTagWithTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.f}});Object.defineProperty(exports,"CreateAssetTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.g}});Object.defineProperty(exports,"TagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.c}});Object.defineProperty(exports,"TagSourceSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.b}});Object.defineProperty(exports,"TagTypeSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.a}});Object.defineProperty(exports,"TagWithParentSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.d}});Object.defineProperty(exports,"TagsByTypeSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.h}});Object.defineProperty(exports,"CommentSchema",{enumerable:true,get:function(){return chunkFRMPLGE4_cjs.a}});Object.defineProperty(exports,"CreateCommentSchema",{enumerable:true,get:function(){return chunkFRMPLGE4_cjs.b}});Object.defineProperty(exports,"ConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.a}});Object.defineProperty(exports,"CreateConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.b}});Object.defineProperty(exports,"MessageSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.d}});Object.defineProperty(exports,"UpdateConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.c}});Object.defineProperty(exports,"ContentSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.b}});Object.defineProperty(exports,"CreatePostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.d}});Object.defineProperty(exports,"ListPostsSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.g}});Object.defineProperty(exports,"PostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.c}});Object.defineProperty(exports,"ReadPostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.e}});Object.defineProperty(exports,"ReadPostsSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.f}});Object.defineProperty(exports,"TipTapSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.a}});Object.defineProperty(exports,"UpdatePostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.h}});Object.defineProperty(exports,"CreateDatasetFromFileSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.g}});Object.defineProperty(exports,"CreateDatasetFromSchemaSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.h}});Object.defineProperty(exports,"DatasetAssetRefsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.a}});Object.defineProperty(exports,"DatasetEnumColumnsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.b}});Object.defineProperty(exports,"DatasetSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.f}});Object.defineProperty(exports,"EnrichedDatasetSchemaFieldSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.c}});Object.defineProperty(exports,"ResolvedAssetRefSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.d}});Object.defineProperty(exports,"ResolvedAssetRefsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.e}});Object.defineProperty(exports,"updateDatasetSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.i}});Object.defineProperty(exports,"AssetMetadataSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.b}});Object.defineProperty(exports,"AssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.c}});Object.defineProperty(exports,"CreateAssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.d}});Object.defineProperty(exports,"UpdateAssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.e}});Object.defineProperty(exports,"normalizeAssetConfigForParsing",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.a}});Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.e}});Object.defineProperty(exports,"ActorTypePolicySchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.a}});Object.defineProperty(exports,"MembershipSchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.d}});Object.defineProperty(exports,"OrganizationsSchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.c}});Object.defineProperty(exports,"SourcePolicySchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.b}});Object.defineProperty(exports,"ActorTypeSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.a}});Object.defineProperty(exports,"ProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.b}});Object.defineProperty(exports,"ReadProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.c}});Object.defineProperty(exports,"UpdateProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.d}});Object.defineProperty(exports,"AssetTypeSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.a}});Object.defineProperty(exports,"ConnectionSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.g}});Object.defineProperty(exports,"EmbeddingSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.f}});Object.defineProperty(exports,"MonetizationSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.d}});Object.defineProperty(exports,"PermissionSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.i}});Object.defineProperty(exports,"PriceCurrencySchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.e}});Object.defineProperty(exports,"PurchaseAssetSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.h}});Object.defineProperty(exports,"RoleSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.c}});Object.defineProperty(exports,"SourceSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.k}});Object.defineProperty(exports,"StatusSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.j}});Object.defineProperty(exports,"VisibilitySchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.b}});Object.defineProperty(exports,"USER_SUBSCRIBABLE_WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.c}});Object.defineProperty(exports,"WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.a}});Object.defineProperty(exports,"WEBHOOK_EVENT_TYPES",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.b}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkMOEVC3KD_cjs=require('./chunk-MOEVC3KD.cjs'),chunkVGNECRJJ_cjs=require('./chunk-VGNECRJJ.cjs'),chunkL2EAP5SJ_cjs=require('./chunk-L2EAP5SJ.cjs'),chunkNSKBXBRD_cjs=require('./chunk-NSKBXBRD.cjs'),chunk6GPIZJ4T_cjs=require('./chunk-6GPIZJ4T.cjs'),chunk4K6R6FZD_cjs=require('./chunk-4K6R6FZD.cjs'),chunkBWAEBQKV_cjs=require('./chunk-BWAEBQKV.cjs'),chunk6ZJQTECB_cjs=require('./chunk-6ZJQTECB.cjs'),chunkT4BUMCXS_cjs=require('./chunk-T4BUMCXS.cjs'),chunkV73EW77Y_cjs=require('./chunk-V73EW77Y.cjs'),chunkUORCDNEC_cjs=require('./chunk-UORCDNEC.cjs'),chunkFRMPLGE4_cjs=require('./chunk-FRMPLGE4.cjs'),chunkW73NWPCZ_cjs=require('./chunk-W73NWPCZ.cjs'),chunkF5CWCYOP_cjs=require('./chunk-F5CWCYOP.cjs'),chunkYKA3RUTN_cjs=require('./chunk-YKA3RUTN.cjs'),chunkROMY5WNQ_cjs=require('./chunk-ROMY5WNQ.cjs'),chunkUY43EQTO_cjs=require('./chunk-UY43EQTO.cjs'),chunkVOY623ZD_cjs=require('./chunk-VOY623ZD.cjs'),chunkGY6SLMMJ_cjs=require('./chunk-GY6SLMMJ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs');require('./chunk-7HF5VHUN.cjs');var chunkFLOHG4H4_cjs=require('./chunk-FLOHG4H4.cjs');Object.defineProperty(exports,"createNameUrlSlug",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.a}});Object.defineProperty(exports,"createUrlSlug",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.b}});Object.defineProperty(exports,"getAssetUrl",{enumerable:true,get:function(){return chunkMOEVC3KD_cjs.c}});Object.defineProperty(exports,"filterListToString",{enumerable:true,get:function(){return chunkVGNECRJJ_cjs.a}});Object.defineProperty(exports,"getReferencesInContent",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.e}});Object.defineProperty(exports,"normalizeViewMode",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.a}});Object.defineProperty(exports,"parseAssetLinkShorthand",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.c}});Object.defineProperty(exports,"parseOuroAssetUrl",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.d}});Object.defineProperty(exports,"resolveDisplayConfig",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.b}});Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkNSKBXBRD_cjs.a}});Object.defineProperty(exports,"CreateFileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.b}});Object.defineProperty(exports,"FileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.a}});Object.defineProperty(exports,"updateFileSchema",{enumerable:true,get:function(){return chunk6GPIZJ4T_cjs.c}});Object.defineProperty(exports,"NotificationSchema",{enumerable:true,get:function(){return chunk4K6R6FZD_cjs.a}});Object.defineProperty(exports,"CreateEntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.p}});Object.defineProperty(exports,"CreateQuestItemObjectSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.i}});Object.defineProperty(exports,"CreateQuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.j}});Object.defineProperty(exports,"CreateQuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.l}});Object.defineProperty(exports,"EntryEvalStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.e}});Object.defineProperty(exports,"EntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.o}});Object.defineProperty(exports,"EntryStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.f}});Object.defineProperty(exports,"QuestItemBaseSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.g}});Object.defineProperty(exports,"QuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.h}});Object.defineProperty(exports,"QuestItemStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.c}});Object.defineProperty(exports,"QuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.k}});Object.defineProperty(exports,"QuestStatusSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.b}});Object.defineProperty(exports,"QuestTypeSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.a}});Object.defineProperty(exports,"ReviewEntrySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.q}});Object.defineProperty(exports,"RewardCurrencySchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.d}});Object.defineProperty(exports,"UpdateQuestItemSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.n}});Object.defineProperty(exports,"UpdateQuestSchema",{enumerable:true,get:function(){return chunkBWAEBQKV_cjs.m}});Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.c}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.m}});Object.defineProperty(exports,"reactionSchema",{enumerable:true,get:function(){return chunkT4BUMCXS_cjs.a}});Object.defineProperty(exports,"ActionSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.k}});Object.defineProperty(exports,"CreateServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.b}});Object.defineProperty(exports,"ExecutionModeSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.d}});Object.defineProperty(exports,"RouteInputAssetDeclarationSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.e}});Object.defineProperty(exports,"RouteInputAssetsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.g}});Object.defineProperty(exports,"RouteMetricsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.i}});Object.defineProperty(exports,"RouteOutputAssetDeclarationSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.f}});Object.defineProperty(exports,"RouteOutputAssetsSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.h}});Object.defineProperty(exports,"RouteSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.j}});Object.defineProperty(exports,"ServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.a}});Object.defineProperty(exports,"UpdateServiceSchema",{enumerable:true,get:function(){return chunkV73EW77Y_cjs.c}});Object.defineProperty(exports,"AssetTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.e}});Object.defineProperty(exports,"AssetTagWithTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.f}});Object.defineProperty(exports,"CreateAssetTagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.g}});Object.defineProperty(exports,"TagSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.c}});Object.defineProperty(exports,"TagSourceSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.b}});Object.defineProperty(exports,"TagTypeSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.a}});Object.defineProperty(exports,"TagWithParentSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.d}});Object.defineProperty(exports,"TagsByTypeSchema",{enumerable:true,get:function(){return chunkUORCDNEC_cjs.h}});Object.defineProperty(exports,"CommentSchema",{enumerable:true,get:function(){return chunkFRMPLGE4_cjs.a}});Object.defineProperty(exports,"CreateCommentSchema",{enumerable:true,get:function(){return chunkFRMPLGE4_cjs.b}});Object.defineProperty(exports,"ConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.a}});Object.defineProperty(exports,"CreateConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.b}});Object.defineProperty(exports,"MessageSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.d}});Object.defineProperty(exports,"UpdateConversationSchema",{enumerable:true,get:function(){return chunkW73NWPCZ_cjs.c}});Object.defineProperty(exports,"ContentSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.b}});Object.defineProperty(exports,"CreatePostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.d}});Object.defineProperty(exports,"ListPostsSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.g}});Object.defineProperty(exports,"PostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.c}});Object.defineProperty(exports,"ReadPostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.e}});Object.defineProperty(exports,"ReadPostsSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.f}});Object.defineProperty(exports,"TipTapSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.a}});Object.defineProperty(exports,"UpdatePostSchema",{enumerable:true,get:function(){return chunkF5CWCYOP_cjs.h}});Object.defineProperty(exports,"CreateDatasetFromFileSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.h}});Object.defineProperty(exports,"CreateDatasetFromSchemaSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.i}});Object.defineProperty(exports,"DatasetEnumColumnsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.c}});Object.defineProperty(exports,"DatasetRefsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.b}});Object.defineProperty(exports,"DatasetSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.g}});Object.defineProperty(exports,"EnrichedDatasetSchemaFieldSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.d}});Object.defineProperty(exports,"RefKindSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.a}});Object.defineProperty(exports,"ResolvedRefSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.e}});Object.defineProperty(exports,"ResolvedRefsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.f}});Object.defineProperty(exports,"updateDatasetSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.j}});Object.defineProperty(exports,"AssetMetadataSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.b}});Object.defineProperty(exports,"AssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.c}});Object.defineProperty(exports,"CreateAssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.d}});Object.defineProperty(exports,"UpdateAssetSchema",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.e}});Object.defineProperty(exports,"normalizeAssetConfigForParsing",{enumerable:true,get:function(){return chunkROMY5WNQ_cjs.a}});Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkUY43EQTO_cjs.e}});Object.defineProperty(exports,"ActorTypePolicySchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.a}});Object.defineProperty(exports,"MembershipSchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.d}});Object.defineProperty(exports,"OrganizationsSchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.c}});Object.defineProperty(exports,"SourcePolicySchema",{enumerable:true,get:function(){return chunkVOY623ZD_cjs.b}});Object.defineProperty(exports,"ActorTypeSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.a}});Object.defineProperty(exports,"ProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.b}});Object.defineProperty(exports,"ReadProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.c}});Object.defineProperty(exports,"UpdateProfileSchema",{enumerable:true,get:function(){return chunkGY6SLMMJ_cjs.d}});Object.defineProperty(exports,"AssetTypeSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.a}});Object.defineProperty(exports,"ConnectionSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.g}});Object.defineProperty(exports,"EmbeddingSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.f}});Object.defineProperty(exports,"MonetizationSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.d}});Object.defineProperty(exports,"PermissionSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.i}});Object.defineProperty(exports,"PriceCurrencySchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.e}});Object.defineProperty(exports,"PurchaseAssetSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.h}});Object.defineProperty(exports,"RoleSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.c}});Object.defineProperty(exports,"SourceSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.k}});Object.defineProperty(exports,"StatusSchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.j}});Object.defineProperty(exports,"VisibilitySchema",{enumerable:true,get:function(){return chunk43KB23BA_cjs.b}});Object.defineProperty(exports,"USER_SUBSCRIBABLE_WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.c}});Object.defineProperty(exports,"WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.a}});Object.defineProperty(exports,"WEBHOOK_EVENT_TYPES",{enumerable:true,get:function(){return chunkFLOHG4H4_cjs.b}});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -7,7 +7,7 @@ export { CreateFile, CreateFileSchema, File, FileSchema, UpdateFile, updateFileS
7
7
  export { Content, ContentSchema, CreatePost, CreatePostSchema, ListPosts, ListPostsSchema, Post, PostSchema, ReadPost, ReadPostSchema, ReadPosts, ReadPostsSchema, TipTap, TipTapSchema, UpdatePost, UpdatePostSchema } from './schema/posts.cjs';
8
8
  export { Comment, CommentSchema, CreateComment, CreateCommentSchema } from './schema/comments.cjs';
9
9
  export { Conversation, ConversationSchema, CreateConversation, CreateConversationSchema, Message, MessageSchema, UpdateConversation, UpdateConversationSchema } from './schema/conversations.cjs';
10
- export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, CreateFromFileDataset, CreateFromSchemaDataset, Dataset, DatasetAssetRefs, DatasetAssetRefsSchema, DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetSchema, EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, ResolvedAssetRef, ResolvedAssetRefSchema, ResolvedAssetRefs, ResolvedAssetRefsSchema, UpdateDataset, updateDatasetSchema } from './schema/datasets.cjs';
10
+ export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, CreateFromFileDataset, CreateFromSchemaDataset, Dataset, DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetRefs, DatasetRefsSchema, DatasetSchema, EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, RefKind, RefKindSchema, ResolvedRef, ResolvedRefSchema, ResolvedRefs, ResolvedRefsSchema, UpdateDataset, updateDatasetSchema } from './schema/datasets.cjs';
11
11
  export { CreateEntry, CreateEntrySchema, CreateQuest, CreateQuestItem, CreateQuestItemObjectSchema, CreateQuestItemSchema, CreateQuestSchema, Entry, EntryEvalStatus, EntryEvalStatusSchema, EntrySchema, EntryStatus, EntryStatusSchema, Quest, QuestItem, QuestItemBaseSchema, QuestItemSchema, QuestItemStatus, QuestItemStatusSchema, QuestSchema, QuestStatus, QuestStatusSchema, QuestType, QuestTypeSchema, ReviewEntry, ReviewEntrySchema, RewardCurrency, RewardCurrencySchema, UpdateQuest, UpdateQuestItem, UpdateQuestItemSchema, UpdateQuestSchema } from './schema/quests.cjs';
12
12
  export { Notification, NotificationSchema } from './schema/notifications.cjs';
13
13
  export { USER_SUBSCRIBABLE_WEBHOOK_EVENTS, WEBHOOK_EVENTS, WEBHOOK_EVENT_TYPES, WebhookActor, WebhookAssetRef, WebhookEventDefinition, WebhookEventType, WebhookOrgRef, WebhookPayload, WebhookTeamRef } from './schema/events.cjs';
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { CreateFile, CreateFileSchema, File, FileSchema, UpdateFile, updateFileS
7
7
  export { Content, ContentSchema, CreatePost, CreatePostSchema, ListPosts, ListPostsSchema, Post, PostSchema, ReadPost, ReadPostSchema, ReadPosts, ReadPostsSchema, TipTap, TipTapSchema, UpdatePost, UpdatePostSchema } from './schema/posts.js';
8
8
  export { Comment, CommentSchema, CreateComment, CreateCommentSchema } from './schema/comments.js';
9
9
  export { Conversation, ConversationSchema, CreateConversation, CreateConversationSchema, Message, MessageSchema, UpdateConversation, UpdateConversationSchema } from './schema/conversations.js';
10
- export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, CreateFromFileDataset, CreateFromSchemaDataset, Dataset, DatasetAssetRefs, DatasetAssetRefsSchema, DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetSchema, EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, ResolvedAssetRef, ResolvedAssetRefSchema, ResolvedAssetRefs, ResolvedAssetRefsSchema, UpdateDataset, updateDatasetSchema } from './schema/datasets.js';
10
+ export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, CreateFromFileDataset, CreateFromSchemaDataset, Dataset, DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetRefs, DatasetRefsSchema, DatasetSchema, EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, RefKind, RefKindSchema, ResolvedRef, ResolvedRefSchema, ResolvedRefs, ResolvedRefsSchema, UpdateDataset, updateDatasetSchema } from './schema/datasets.js';
11
11
  export { CreateEntry, CreateEntrySchema, CreateQuest, CreateQuestItem, CreateQuestItemObjectSchema, CreateQuestItemSchema, CreateQuestSchema, Entry, EntryEvalStatus, EntryEvalStatusSchema, EntrySchema, EntryStatus, EntryStatusSchema, Quest, QuestItem, QuestItemBaseSchema, QuestItemSchema, QuestItemStatus, QuestItemStatusSchema, QuestSchema, QuestStatus, QuestStatusSchema, QuestType, QuestTypeSchema, ReviewEntry, ReviewEntrySchema, RewardCurrency, RewardCurrencySchema, UpdateQuest, UpdateQuestItem, UpdateQuestItemSchema, UpdateQuestSchema } from './schema/quests.js';
12
12
  export { Notification, NotificationSchema } from './schema/notifications.js';
13
13
  export { USER_SUBSCRIBABLE_WEBHOOK_EVENTS, WEBHOOK_EVENTS, WEBHOOK_EVENT_TYPES, WebhookActor, WebhookAssetRef, WebhookEventDefinition, WebhookEventType, WebhookOrgRef, WebhookPayload, WebhookTeamRef } from './schema/events.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{a as createNameUrlSlug,b as createUrlSlug,c as getAssetUrl}from'./chunk-EY4OFSDP.js';export{a as filterListToString}from'./chunk-OJQM6MWS.js';export{e as getReferencesInContent,a as normalizeViewMode,c as parseAssetLinkShorthand,d as parseOuroAssetUrl,b as resolveDisplayConfig}from'./chunk-PONEAJK7.js';export{a as parseMarkdown}from'./chunk-DE2Z5AOM.js';export{b as CreateFileSchema,a as FileSchema,c as updateFileSchema}from'./chunk-KCVE35IO.js';export{a as NotificationSchema}from'./chunk-JISPX5A6.js';export{p as CreateEntrySchema,i as CreateQuestItemObjectSchema,j as CreateQuestItemSchema,l as CreateQuestSchema,e as EntryEvalStatusSchema,o as EntrySchema,f as EntryStatusSchema,g as QuestItemBaseSchema,h as QuestItemSchema,c as QuestItemStatusSchema,k as QuestSchema,b as QuestStatusSchema,a as QuestTypeSchema,q as ReviewEntrySchema,d as RewardCurrencySchema,n as UpdateQuestItemSchema,m as UpdateQuestSchema}from'./chunk-R2W4NEEJ.js';export{c as KeyedAssetInputSchema,a as KeyedAssetRefsSchema,d as QuestSubmissionAssetDeclarationSchema,k as assetMatchesDeclaration,j as declarationToPickerFilters,f as declarationToSubmissionDeclaration,l as getPrimaryAssetRef,h as getPrimaryDeclarationKey,e as getRouteInputDeclarationsFromRoute,i as getSubmissionAssetShape,g as materializeContributorSubmissionAssets,m as toRouteInputAssets}from'./chunk-TYOQ32UV.js';export{a as reactionSchema}from'./chunk-WE6CXCEQ.js';export{k as ActionSchema,b as CreateServiceSchema,d as ExecutionModeSchema,e as RouteInputAssetDeclarationSchema,g as RouteInputAssetsSchema,i as RouteMetricsSchema,f as RouteOutputAssetDeclarationSchema,h as RouteOutputAssetsSchema,j as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'./chunk-MLTO7TMM.js';export{e as AssetTagSchema,f as AssetTagWithTagSchema,g as CreateAssetTagSchema,c as TagSchema,b as TagSourceSchema,a as TagTypeSchema,d as TagWithParentSchema,h as TagsByTypeSchema}from'./chunk-EEXD7LGK.js';export{a as CommentSchema,b as CreateCommentSchema}from'./chunk-G3VMEPTP.js';export{a as ConversationSchema,b as CreateConversationSchema,d as MessageSchema,c as UpdateConversationSchema}from'./chunk-QR2BSJ2C.js';export{b as ContentSchema,d as CreatePostSchema,g as ListPostsSchema,c as PostSchema,e as ReadPostSchema,f as ReadPostsSchema,a as TipTapSchema,h as UpdatePostSchema}from'./chunk-IWOXGKK4.js';export{g as CreateDatasetFromFileSchema,h as CreateDatasetFromSchemaSchema,a as DatasetAssetRefsSchema,b as DatasetEnumColumnsSchema,f as DatasetSchema,c as EnrichedDatasetSchemaFieldSchema,d as ResolvedAssetRefSchema,e as ResolvedAssetRefsSchema,i as updateDatasetSchema}from'./chunk-XLJBQ7BU.js';export{b as AssetMetadataSchema,c as AssetSchema,d as CreateAssetSchema,e as UpdateAssetSchema,a as normalizeAssetConfigForParsing}from'./chunk-SR5UZ4NP.js';export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'./chunk-CF56NFUG.js';export{a as ActorTypePolicySchema,d as MembershipSchema,c as OrganizationsSchema,b as SourcePolicySchema}from'./chunk-WLGOABHV.js';export{a as ActorTypeSchema,b as ProfileSchema,c as ReadProfileSchema,d as UpdateProfileSchema}from'./chunk-3N56ERWF.js';export{a as AssetTypeSchema,g as ConnectionSchema,f as EmbeddingSchema,d as MonetizationSchema,i as PermissionSchema,e as PriceCurrencySchema,h as PurchaseAssetSchema,c as RoleSchema,k as SourceSchema,j as StatusSchema,b as VisibilitySchema}from'./chunk-WRHPQNEL.js';import'./chunk-DUBPWSCA.js';export{c as USER_SUBSCRIBABLE_WEBHOOK_EVENTS,a as WEBHOOK_EVENTS,b as WEBHOOK_EVENT_TYPES}from'./chunk-X2PI5PAT.js';//# sourceMappingURL=index.js.map
1
+ export{a as createNameUrlSlug,b as createUrlSlug,c as getAssetUrl}from'./chunk-EY4OFSDP.js';export{a as filterListToString}from'./chunk-OJQM6MWS.js';export{e as getReferencesInContent,a as normalizeViewMode,c as parseAssetLinkShorthand,d as parseOuroAssetUrl,b as resolveDisplayConfig}from'./chunk-PONEAJK7.js';export{a as parseMarkdown}from'./chunk-KXYKN3TY.js';export{b as CreateFileSchema,a as FileSchema,c as updateFileSchema}from'./chunk-KCVE35IO.js';export{a as NotificationSchema}from'./chunk-JISPX5A6.js';export{p as CreateEntrySchema,i as CreateQuestItemObjectSchema,j as CreateQuestItemSchema,l as CreateQuestSchema,e as EntryEvalStatusSchema,o as EntrySchema,f as EntryStatusSchema,g as QuestItemBaseSchema,h as QuestItemSchema,c as QuestItemStatusSchema,k as QuestSchema,b as QuestStatusSchema,a as QuestTypeSchema,q as ReviewEntrySchema,d as RewardCurrencySchema,n as UpdateQuestItemSchema,m as UpdateQuestSchema}from'./chunk-R2W4NEEJ.js';export{c as KeyedAssetInputSchema,a as KeyedAssetRefsSchema,d as QuestSubmissionAssetDeclarationSchema,k as assetMatchesDeclaration,j as declarationToPickerFilters,f as declarationToSubmissionDeclaration,l as getPrimaryAssetRef,h as getPrimaryDeclarationKey,e as getRouteInputDeclarationsFromRoute,i as getSubmissionAssetShape,g as materializeContributorSubmissionAssets,m as toRouteInputAssets}from'./chunk-TYOQ32UV.js';export{a as reactionSchema}from'./chunk-WE6CXCEQ.js';export{k as ActionSchema,b as CreateServiceSchema,d as ExecutionModeSchema,e as RouteInputAssetDeclarationSchema,g as RouteInputAssetsSchema,i as RouteMetricsSchema,f as RouteOutputAssetDeclarationSchema,h as RouteOutputAssetsSchema,j as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'./chunk-MLTO7TMM.js';export{e as AssetTagSchema,f as AssetTagWithTagSchema,g as CreateAssetTagSchema,c as TagSchema,b as TagSourceSchema,a as TagTypeSchema,d as TagWithParentSchema,h as TagsByTypeSchema}from'./chunk-EEXD7LGK.js';export{a as CommentSchema,b as CreateCommentSchema}from'./chunk-G3VMEPTP.js';export{a as ConversationSchema,b as CreateConversationSchema,d as MessageSchema,c as UpdateConversationSchema}from'./chunk-QR2BSJ2C.js';export{b as ContentSchema,d as CreatePostSchema,g as ListPostsSchema,c as PostSchema,e as ReadPostSchema,f as ReadPostsSchema,a as TipTapSchema,h as UpdatePostSchema}from'./chunk-IWOXGKK4.js';export{h as CreateDatasetFromFileSchema,i as CreateDatasetFromSchemaSchema,c as DatasetEnumColumnsSchema,b as DatasetRefsSchema,g as DatasetSchema,d as EnrichedDatasetSchemaFieldSchema,a as RefKindSchema,e as ResolvedRefSchema,f as ResolvedRefsSchema,j as updateDatasetSchema}from'./chunk-WNYOQITO.js';export{b as AssetMetadataSchema,c as AssetSchema,d as CreateAssetSchema,e as UpdateAssetSchema,a as normalizeAssetConfigForParsing}from'./chunk-SR5UZ4NP.js';export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'./chunk-CF56NFUG.js';export{a as ActorTypePolicySchema,d as MembershipSchema,c as OrganizationsSchema,b as SourcePolicySchema}from'./chunk-WLGOABHV.js';export{a as ActorTypeSchema,b as ProfileSchema,c as ReadProfileSchema,d as UpdateProfileSchema}from'./chunk-3N56ERWF.js';export{a as AssetTypeSchema,g as ConnectionSchema,f as EmbeddingSchema,d as MonetizationSchema,i as PermissionSchema,e as PriceCurrencySchema,h as PurchaseAssetSchema,c as RoleSchema,k as SourceSchema,j as StatusSchema,b as VisibilitySchema}from'./chunk-WRHPQNEL.js';import'./chunk-DUBPWSCA.js';export{c as USER_SUBSCRIBABLE_WEBHOOK_EVENTS,a as WEBHOOK_EVENTS,b as WEBHOOK_EVENT_TYPES}from'./chunk-X2PI5PAT.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk73DHYPGU_cjs=require('../chunk-73DHYPGU.cjs');require('../chunk-ROMY5WNQ.cjs'),require('../chunk-UY43EQTO.cjs'),require('../chunk-VOY623ZD.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-43KB23BA.cjs'),require('../chunk-7HF5VHUN.cjs');Object.defineProperty(exports,"CreateDatasetFromFileSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.g}});Object.defineProperty(exports,"CreateDatasetFromSchemaSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.h}});Object.defineProperty(exports,"DatasetAssetRefsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.a}});Object.defineProperty(exports,"DatasetEnumColumnsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.b}});Object.defineProperty(exports,"DatasetSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.f}});Object.defineProperty(exports,"EnrichedDatasetSchemaFieldSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.c}});Object.defineProperty(exports,"ResolvedAssetRefSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.d}});Object.defineProperty(exports,"ResolvedAssetRefsSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.e}});Object.defineProperty(exports,"updateDatasetSchema",{enumerable:true,get:function(){return chunk73DHYPGU_cjs.i}});//# sourceMappingURL=datasets.cjs.map
1
+ 'use strict';var chunkYKA3RUTN_cjs=require('../chunk-YKA3RUTN.cjs');require('../chunk-ROMY5WNQ.cjs'),require('../chunk-UY43EQTO.cjs'),require('../chunk-VOY623ZD.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-43KB23BA.cjs'),require('../chunk-7HF5VHUN.cjs');Object.defineProperty(exports,"CreateDatasetFromFileSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.h}});Object.defineProperty(exports,"CreateDatasetFromSchemaSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.i}});Object.defineProperty(exports,"DatasetEnumColumnsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.c}});Object.defineProperty(exports,"DatasetRefsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.b}});Object.defineProperty(exports,"DatasetSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.g}});Object.defineProperty(exports,"EnrichedDatasetSchemaFieldSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.d}});Object.defineProperty(exports,"RefKindSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.a}});Object.defineProperty(exports,"ResolvedRefSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.e}});Object.defineProperty(exports,"ResolvedRefsSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.f}});Object.defineProperty(exports,"updateDatasetSchema",{enumerable:true,get:function(){return chunkYKA3RUTN_cjs.j}});//# sourceMappingURL=datasets.cjs.map
2
2
  //# sourceMappingURL=datasets.cjs.map
@@ -1,12 +1,25 @@
1
1
  import { z } from 'zod';
2
2
 
3
3
  /**
4
- * Per-column asset reference declarations.
4
+ * The kind of object a dataset reference column points at. The FK target table
5
+ * is the source of truth: public.assets -> "asset", public.actions -> "action".
6
+ */
7
+ declare const RefKindSchema: z.ZodEnum<{
8
+ action: "action";
9
+ asset: "asset";
10
+ }>;
11
+ /**
12
+ * Per-column reference declarations.
5
13
  *
6
- * A column becomes an asset reference when the backend adds a real Postgres FK
7
- * to public.assets(id). The optional asset_type refines validation/display.
14
+ * A column becomes a reference when the backend adds a real Postgres FK to a
15
+ * referenceable table. `kind` selects the target table; `asset_type` is an
16
+ * optional target-type hint that only applies when `kind` is "asset".
8
17
  */
9
- declare const DatasetAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
18
+ declare const DatasetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
19
+ kind: z.ZodEnum<{
20
+ action: "action";
21
+ asset: "asset";
22
+ }>;
10
23
  asset_type: z.ZodOptional<z.ZodEnum<{
11
24
  user: "user";
12
25
  organization: "organization";
@@ -35,10 +48,11 @@ declare const DatasetEnumColumnsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
35
48
  * A single column from GET /datasets/:id/schema, enriched server-side.
36
49
  *
37
50
  * The FK fields come straight from get_table_schema. `semantic_type` is pure
38
- * inference: "asset_ref" when the column has an FK to public.assets. The
39
- * optional `asset_type` is the declared target-type hint from
40
- * metadata.asset_refs (display + soft validation only). `semantic_type: "enum"`
41
- * comes from metadata.enum_columns and exposes its known values.
51
+ * inference: "reference" when the column has an FK to a referenceable table,
52
+ * with `ref_kind` naming which one ("asset" | "action"). The optional
53
+ * `asset_type` is the declared target-type hint from metadata.refs (display +
54
+ * soft validation only, asset kind only). `semantic_type: "enum"` comes from
55
+ * metadata.enum_columns and exposes its known values.
42
56
  */
43
57
  declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
44
58
  column_name: z.ZodString;
@@ -49,7 +63,11 @@ declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
49
63
  foreign_column_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
64
  semantic_type: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
51
65
  enum: "enum";
52
- asset_ref: "asset_ref";
66
+ reference: "reference";
67
+ }>>>;
68
+ ref_kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
69
+ action: "action";
70
+ asset: "asset";
53
71
  }>>>;
54
72
  asset_type: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
55
73
  user: "user";
@@ -66,13 +84,9 @@ declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
66
84
  }>>>;
67
85
  enum_values: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
68
86
  }, z.core.$strip>;
69
- /**
70
- * A resolved asset reference returned in the `resolved_asset_refs` sidecar of
71
- * GET /datasets/:id/data?resolve_asset_refs=true. Reuses the platform-wide
72
- * { asset_id, asset_type } vocabulary (see KeyedAssetRefsSchema).
73
- */
74
- declare const ResolvedAssetRefSchema: z.ZodObject<{
75
- asset_id: z.ZodUUID;
87
+ declare const ResolvedRefSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
88
+ kind: z.ZodLiteral<"asset">;
89
+ id: z.ZodUUID;
76
90
  asset_type: z.ZodEnum<{
77
91
  user: "user";
78
92
  organization: "organization";
@@ -88,10 +102,20 @@ declare const ResolvedAssetRefSchema: z.ZodObject<{
88
102
  }>;
89
103
  name: z.ZodNullable<z.ZodString>;
90
104
  web_url: z.ZodNullable<z.ZodString>;
91
- }, z.core.$strip>;
92
- /** column -> (referenced uuid -> resolved asset). */
93
- declare const ResolvedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
94
- asset_id: z.ZodUUID;
105
+ }, z.core.$strip>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"action">;
107
+ id: z.ZodUUID;
108
+ status: z.ZodNullable<z.ZodString>;
109
+ route_id: z.ZodNullable<z.ZodUUID>;
110
+ route_name: z.ZodNullable<z.ZodString>;
111
+ name: z.ZodNullable<z.ZodString>;
112
+ web_url: z.ZodNullable<z.ZodString>;
113
+ created_at: z.ZodNullable<z.ZodString>;
114
+ }, z.core.$strip>]>;
115
+ /** column -> (referenced uuid -> resolved reference). */
116
+ declare const ResolvedRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
117
+ kind: z.ZodLiteral<"asset">;
118
+ id: z.ZodUUID;
95
119
  asset_type: z.ZodEnum<{
96
120
  user: "user";
97
121
  organization: "organization";
@@ -107,7 +131,16 @@ declare const ResolvedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.Zo
107
131
  }>;
108
132
  name: z.ZodNullable<z.ZodString>;
109
133
  web_url: z.ZodNullable<z.ZodString>;
110
- }, z.core.$strip>>>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ kind: z.ZodLiteral<"action">;
136
+ id: z.ZodUUID;
137
+ status: z.ZodNullable<z.ZodString>;
138
+ route_id: z.ZodNullable<z.ZodUUID>;
139
+ route_name: z.ZodNullable<z.ZodString>;
140
+ name: z.ZodNullable<z.ZodString>;
141
+ web_url: z.ZodNullable<z.ZodString>;
142
+ created_at: z.ZodNullable<z.ZodString>;
143
+ }, z.core.$strip>]>>>;
111
144
  declare const DatasetSchema: z.ZodObject<{
112
145
  id: z.ZodUUID;
113
146
  user_id: z.ZodUUID;
@@ -334,7 +367,11 @@ declare const DatasetSchema: z.ZodObject<{
334
367
  table_name: z.ZodString;
335
368
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
336
369
  columns: z.ZodArray<z.ZodString>;
337
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
370
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
371
+ kind: z.ZodEnum<{
372
+ action: "action";
373
+ asset: "asset";
374
+ }>;
338
375
  asset_type: z.ZodOptional<z.ZodEnum<{
339
376
  user: "user";
340
377
  organization: "organization";
@@ -433,7 +470,11 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
433
470
  table_name: z.ZodString;
434
471
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
435
472
  columns: z.ZodArray<z.ZodString>;
436
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
473
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
474
+ kind: z.ZodEnum<{
475
+ action: "action";
476
+ asset: "asset";
477
+ }>;
437
478
  asset_type: z.ZodOptional<z.ZodEnum<{
438
479
  user: "user";
439
480
  organization: "organization";
@@ -496,7 +537,8 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
496
537
  name: string;
497
538
  id: string;
498
539
  bucket: "public-files" | "files";
499
- asset_refs?: Record<string, {
540
+ refs?: Record<string, {
541
+ kind: "action" | "asset";
500
542
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
501
543
  }> | null | undefined;
502
544
  enum_columns?: Record<string, {
@@ -550,7 +592,8 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
550
592
  name: string;
551
593
  id: string;
552
594
  bucket: "public-files" | "files";
553
- asset_refs?: Record<string, {
595
+ refs?: Record<string, {
596
+ kind: "action" | "asset";
554
597
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
555
598
  }> | null | undefined;
556
599
  enum_columns?: Record<string, {
@@ -640,7 +683,11 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
640
683
  table_name: z.ZodString;
641
684
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
642
685
  columns: z.ZodArray<z.ZodString>;
643
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
686
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
687
+ kind: z.ZodEnum<{
688
+ action: "action";
689
+ asset: "asset";
690
+ }>;
644
691
  asset_type: z.ZodOptional<z.ZodEnum<{
645
692
  user: "user";
646
693
  organization: "organization";
@@ -686,7 +733,8 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
686
733
  table_name: string;
687
734
  schema: "datasets";
688
735
  columns: string[];
689
- asset_refs?: Record<string, {
736
+ refs?: Record<string, {
737
+ kind: "action" | "asset";
690
738
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
691
739
  }> | null | undefined;
692
740
  enum_columns?: Record<string, {
@@ -733,7 +781,8 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
733
781
  table_name: string;
734
782
  schema: "datasets";
735
783
  columns: string[];
736
- asset_refs?: Record<string, {
784
+ refs?: Record<string, {
785
+ kind: "action" | "asset";
737
786
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
738
787
  }> | null | undefined;
739
788
  enum_columns?: Record<string, {
@@ -773,7 +822,11 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
773
822
  table_name: z.ZodString;
774
823
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
775
824
  columns: z.ZodArray<z.ZodString>;
776
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
825
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
826
+ kind: z.ZodEnum<{
827
+ action: "action";
828
+ asset: "asset";
829
+ }>;
777
830
  asset_type: z.ZodOptional<z.ZodEnum<{
778
831
  user: "user";
779
832
  organization: "organization";
@@ -872,7 +925,8 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
872
925
  table_name: string;
873
926
  schema: "datasets";
874
927
  columns: string[];
875
- asset_refs?: Record<string, {
928
+ refs?: Record<string, {
929
+ kind: "action" | "asset";
876
930
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
877
931
  }> | null | undefined;
878
932
  enum_columns?: Record<string, {
@@ -925,7 +979,8 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
925
979
  table_name: string;
926
980
  schema: "datasets";
927
981
  columns: string[];
928
- asset_refs?: Record<string, {
982
+ refs?: Record<string, {
983
+ kind: "action" | "asset";
929
984
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
930
985
  }> | null | undefined;
931
986
  enum_columns?: Record<string, {
@@ -975,10 +1030,11 @@ type Dataset = z.infer<typeof DatasetSchema>;
975
1030
  type CreateFromFileDataset = z.infer<typeof CreateDatasetFromFileSchema>;
976
1031
  type CreateFromSchemaDataset = z.infer<typeof CreateDatasetFromSchemaSchema>;
977
1032
  type UpdateDataset = z.infer<typeof updateDatasetSchema>;
978
- type DatasetAssetRefs = z.infer<typeof DatasetAssetRefsSchema>;
1033
+ type RefKind = z.infer<typeof RefKindSchema>;
1034
+ type DatasetRefs = z.infer<typeof DatasetRefsSchema>;
979
1035
  type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;
980
1036
  type EnrichedDatasetSchemaField = z.infer<typeof EnrichedDatasetSchemaFieldSchema>;
981
- type ResolvedAssetRef = z.infer<typeof ResolvedAssetRefSchema>;
982
- type ResolvedAssetRefs = z.infer<typeof ResolvedAssetRefsSchema>;
1037
+ type ResolvedRef = z.infer<typeof ResolvedRefSchema>;
1038
+ type ResolvedRefs = z.infer<typeof ResolvedRefsSchema>;
983
1039
 
984
- export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, type CreateFromFileDataset, type CreateFromSchemaDataset, type Dataset, type DatasetAssetRefs, DatasetAssetRefsSchema, type DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetSchema, type EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, type ResolvedAssetRef, ResolvedAssetRefSchema, type ResolvedAssetRefs, ResolvedAssetRefsSchema, type UpdateDataset, updateDatasetSchema };
1040
+ export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, type CreateFromFileDataset, type CreateFromSchemaDataset, type Dataset, type DatasetEnumColumns, DatasetEnumColumnsSchema, type DatasetRefs, DatasetRefsSchema, DatasetSchema, type EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, type RefKind, RefKindSchema, type ResolvedRef, ResolvedRefSchema, type ResolvedRefs, ResolvedRefsSchema, type UpdateDataset, updateDatasetSchema };
@@ -1,12 +1,25 @@
1
1
  import { z } from 'zod';
2
2
 
3
3
  /**
4
- * Per-column asset reference declarations.
4
+ * The kind of object a dataset reference column points at. The FK target table
5
+ * is the source of truth: public.assets -> "asset", public.actions -> "action".
6
+ */
7
+ declare const RefKindSchema: z.ZodEnum<{
8
+ action: "action";
9
+ asset: "asset";
10
+ }>;
11
+ /**
12
+ * Per-column reference declarations.
5
13
  *
6
- * A column becomes an asset reference when the backend adds a real Postgres FK
7
- * to public.assets(id). The optional asset_type refines validation/display.
14
+ * A column becomes a reference when the backend adds a real Postgres FK to a
15
+ * referenceable table. `kind` selects the target table; `asset_type` is an
16
+ * optional target-type hint that only applies when `kind` is "asset".
8
17
  */
9
- declare const DatasetAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
18
+ declare const DatasetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
19
+ kind: z.ZodEnum<{
20
+ action: "action";
21
+ asset: "asset";
22
+ }>;
10
23
  asset_type: z.ZodOptional<z.ZodEnum<{
11
24
  user: "user";
12
25
  organization: "organization";
@@ -35,10 +48,11 @@ declare const DatasetEnumColumnsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
35
48
  * A single column from GET /datasets/:id/schema, enriched server-side.
36
49
  *
37
50
  * The FK fields come straight from get_table_schema. `semantic_type` is pure
38
- * inference: "asset_ref" when the column has an FK to public.assets. The
39
- * optional `asset_type` is the declared target-type hint from
40
- * metadata.asset_refs (display + soft validation only). `semantic_type: "enum"`
41
- * comes from metadata.enum_columns and exposes its known values.
51
+ * inference: "reference" when the column has an FK to a referenceable table,
52
+ * with `ref_kind` naming which one ("asset" | "action"). The optional
53
+ * `asset_type` is the declared target-type hint from metadata.refs (display +
54
+ * soft validation only, asset kind only). `semantic_type: "enum"` comes from
55
+ * metadata.enum_columns and exposes its known values.
42
56
  */
43
57
  declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
44
58
  column_name: z.ZodString;
@@ -49,7 +63,11 @@ declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
49
63
  foreign_column_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
64
  semantic_type: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
51
65
  enum: "enum";
52
- asset_ref: "asset_ref";
66
+ reference: "reference";
67
+ }>>>;
68
+ ref_kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
69
+ action: "action";
70
+ asset: "asset";
53
71
  }>>>;
54
72
  asset_type: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
55
73
  user: "user";
@@ -66,13 +84,9 @@ declare const EnrichedDatasetSchemaFieldSchema: z.ZodObject<{
66
84
  }>>>;
67
85
  enum_values: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
68
86
  }, z.core.$strip>;
69
- /**
70
- * A resolved asset reference returned in the `resolved_asset_refs` sidecar of
71
- * GET /datasets/:id/data?resolve_asset_refs=true. Reuses the platform-wide
72
- * { asset_id, asset_type } vocabulary (see KeyedAssetRefsSchema).
73
- */
74
- declare const ResolvedAssetRefSchema: z.ZodObject<{
75
- asset_id: z.ZodUUID;
87
+ declare const ResolvedRefSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
88
+ kind: z.ZodLiteral<"asset">;
89
+ id: z.ZodUUID;
76
90
  asset_type: z.ZodEnum<{
77
91
  user: "user";
78
92
  organization: "organization";
@@ -88,10 +102,20 @@ declare const ResolvedAssetRefSchema: z.ZodObject<{
88
102
  }>;
89
103
  name: z.ZodNullable<z.ZodString>;
90
104
  web_url: z.ZodNullable<z.ZodString>;
91
- }, z.core.$strip>;
92
- /** column -> (referenced uuid -> resolved asset). */
93
- declare const ResolvedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
94
- asset_id: z.ZodUUID;
105
+ }, z.core.$strip>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"action">;
107
+ id: z.ZodUUID;
108
+ status: z.ZodNullable<z.ZodString>;
109
+ route_id: z.ZodNullable<z.ZodUUID>;
110
+ route_name: z.ZodNullable<z.ZodString>;
111
+ name: z.ZodNullable<z.ZodString>;
112
+ web_url: z.ZodNullable<z.ZodString>;
113
+ created_at: z.ZodNullable<z.ZodString>;
114
+ }, z.core.$strip>]>;
115
+ /** column -> (referenced uuid -> resolved reference). */
116
+ declare const ResolvedRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
117
+ kind: z.ZodLiteral<"asset">;
118
+ id: z.ZodUUID;
95
119
  asset_type: z.ZodEnum<{
96
120
  user: "user";
97
121
  organization: "organization";
@@ -107,7 +131,16 @@ declare const ResolvedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.Zo
107
131
  }>;
108
132
  name: z.ZodNullable<z.ZodString>;
109
133
  web_url: z.ZodNullable<z.ZodString>;
110
- }, z.core.$strip>>>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ kind: z.ZodLiteral<"action">;
136
+ id: z.ZodUUID;
137
+ status: z.ZodNullable<z.ZodString>;
138
+ route_id: z.ZodNullable<z.ZodUUID>;
139
+ route_name: z.ZodNullable<z.ZodString>;
140
+ name: z.ZodNullable<z.ZodString>;
141
+ web_url: z.ZodNullable<z.ZodString>;
142
+ created_at: z.ZodNullable<z.ZodString>;
143
+ }, z.core.$strip>]>>>;
111
144
  declare const DatasetSchema: z.ZodObject<{
112
145
  id: z.ZodUUID;
113
146
  user_id: z.ZodUUID;
@@ -334,7 +367,11 @@ declare const DatasetSchema: z.ZodObject<{
334
367
  table_name: z.ZodString;
335
368
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
336
369
  columns: z.ZodArray<z.ZodString>;
337
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
370
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
371
+ kind: z.ZodEnum<{
372
+ action: "action";
373
+ asset: "asset";
374
+ }>;
338
375
  asset_type: z.ZodOptional<z.ZodEnum<{
339
376
  user: "user";
340
377
  organization: "organization";
@@ -433,7 +470,11 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
433
470
  table_name: z.ZodString;
434
471
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
435
472
  columns: z.ZodArray<z.ZodString>;
436
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
473
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
474
+ kind: z.ZodEnum<{
475
+ action: "action";
476
+ asset: "asset";
477
+ }>;
437
478
  asset_type: z.ZodOptional<z.ZodEnum<{
438
479
  user: "user";
439
480
  organization: "organization";
@@ -496,7 +537,8 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
496
537
  name: string;
497
538
  id: string;
498
539
  bucket: "public-files" | "files";
499
- asset_refs?: Record<string, {
540
+ refs?: Record<string, {
541
+ kind: "action" | "asset";
500
542
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
501
543
  }> | null | undefined;
502
544
  enum_columns?: Record<string, {
@@ -550,7 +592,8 @@ declare const CreateDatasetFromFileSchema: z.ZodPipe<z.ZodObject<{
550
592
  name: string;
551
593
  id: string;
552
594
  bucket: "public-files" | "files";
553
- asset_refs?: Record<string, {
595
+ refs?: Record<string, {
596
+ kind: "action" | "asset";
554
597
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
555
598
  }> | null | undefined;
556
599
  enum_columns?: Record<string, {
@@ -640,7 +683,11 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
640
683
  table_name: z.ZodString;
641
684
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
642
685
  columns: z.ZodArray<z.ZodString>;
643
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
686
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
687
+ kind: z.ZodEnum<{
688
+ action: "action";
689
+ asset: "asset";
690
+ }>;
644
691
  asset_type: z.ZodOptional<z.ZodEnum<{
645
692
  user: "user";
646
693
  organization: "organization";
@@ -686,7 +733,8 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
686
733
  table_name: string;
687
734
  schema: "datasets";
688
735
  columns: string[];
689
- asset_refs?: Record<string, {
736
+ refs?: Record<string, {
737
+ kind: "action" | "asset";
690
738
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
691
739
  }> | null | undefined;
692
740
  enum_columns?: Record<string, {
@@ -733,7 +781,8 @@ declare const CreateDatasetFromSchemaSchema: z.ZodPipe<z.ZodObject<{
733
781
  table_name: string;
734
782
  schema: "datasets";
735
783
  columns: string[];
736
- asset_refs?: Record<string, {
784
+ refs?: Record<string, {
785
+ kind: "action" | "asset";
737
786
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
738
787
  }> | null | undefined;
739
788
  enum_columns?: Record<string, {
@@ -773,7 +822,11 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
773
822
  table_name: z.ZodString;
774
823
  schema: z.ZodDefault<z.ZodLiteral<"datasets">>;
775
824
  columns: z.ZodArray<z.ZodString>;
776
- asset_refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
825
+ refs: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
826
+ kind: z.ZodEnum<{
827
+ action: "action";
828
+ asset: "asset";
829
+ }>;
777
830
  asset_type: z.ZodOptional<z.ZodEnum<{
778
831
  user: "user";
779
832
  organization: "organization";
@@ -872,7 +925,8 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
872
925
  table_name: string;
873
926
  schema: "datasets";
874
927
  columns: string[];
875
- asset_refs?: Record<string, {
928
+ refs?: Record<string, {
929
+ kind: "action" | "asset";
876
930
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
877
931
  }> | null | undefined;
878
932
  enum_columns?: Record<string, {
@@ -925,7 +979,8 @@ declare const updateDatasetSchema: z.ZodPipe<z.ZodObject<{
925
979
  table_name: string;
926
980
  schema: "datasets";
927
981
  columns: string[];
928
- asset_refs?: Record<string, {
982
+ refs?: Record<string, {
983
+ kind: "action" | "asset";
929
984
  asset_type?: "user" | "organization" | "team" | "dataset" | "file" | "service" | "route" | "post" | "quest" | "comment" | "conversation" | undefined;
930
985
  }> | null | undefined;
931
986
  enum_columns?: Record<string, {
@@ -975,10 +1030,11 @@ type Dataset = z.infer<typeof DatasetSchema>;
975
1030
  type CreateFromFileDataset = z.infer<typeof CreateDatasetFromFileSchema>;
976
1031
  type CreateFromSchemaDataset = z.infer<typeof CreateDatasetFromSchemaSchema>;
977
1032
  type UpdateDataset = z.infer<typeof updateDatasetSchema>;
978
- type DatasetAssetRefs = z.infer<typeof DatasetAssetRefsSchema>;
1033
+ type RefKind = z.infer<typeof RefKindSchema>;
1034
+ type DatasetRefs = z.infer<typeof DatasetRefsSchema>;
979
1035
  type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;
980
1036
  type EnrichedDatasetSchemaField = z.infer<typeof EnrichedDatasetSchemaFieldSchema>;
981
- type ResolvedAssetRef = z.infer<typeof ResolvedAssetRefSchema>;
982
- type ResolvedAssetRefs = z.infer<typeof ResolvedAssetRefsSchema>;
1037
+ type ResolvedRef = z.infer<typeof ResolvedRefSchema>;
1038
+ type ResolvedRefs = z.infer<typeof ResolvedRefsSchema>;
983
1039
 
984
- export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, type CreateFromFileDataset, type CreateFromSchemaDataset, type Dataset, type DatasetAssetRefs, DatasetAssetRefsSchema, type DatasetEnumColumns, DatasetEnumColumnsSchema, DatasetSchema, type EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, type ResolvedAssetRef, ResolvedAssetRefSchema, type ResolvedAssetRefs, ResolvedAssetRefsSchema, type UpdateDataset, updateDatasetSchema };
1040
+ export { CreateDatasetFromFileSchema, CreateDatasetFromSchemaSchema, type CreateFromFileDataset, type CreateFromSchemaDataset, type Dataset, type DatasetEnumColumns, DatasetEnumColumnsSchema, type DatasetRefs, DatasetRefsSchema, DatasetSchema, type EnrichedDatasetSchemaField, EnrichedDatasetSchemaFieldSchema, type RefKind, RefKindSchema, type ResolvedRef, ResolvedRefSchema, type ResolvedRefs, ResolvedRefsSchema, type UpdateDataset, updateDatasetSchema };
@@ -1,2 +1,2 @@
1
- export{g as CreateDatasetFromFileSchema,h as CreateDatasetFromSchemaSchema,a as DatasetAssetRefsSchema,b as DatasetEnumColumnsSchema,f as DatasetSchema,c as EnrichedDatasetSchemaFieldSchema,d as ResolvedAssetRefSchema,e as ResolvedAssetRefsSchema,i as updateDatasetSchema}from'../chunk-XLJBQ7BU.js';import'../chunk-SR5UZ4NP.js';import'../chunk-CF56NFUG.js';import'../chunk-WLGOABHV.js';import'../chunk-3N56ERWF.js';import'../chunk-WRHPQNEL.js';import'../chunk-DUBPWSCA.js';//# sourceMappingURL=datasets.js.map
1
+ export{h as CreateDatasetFromFileSchema,i as CreateDatasetFromSchemaSchema,c as DatasetEnumColumnsSchema,b as DatasetRefsSchema,g as DatasetSchema,d as EnrichedDatasetSchemaFieldSchema,a as RefKindSchema,e as ResolvedRefSchema,f as ResolvedRefsSchema,j as updateDatasetSchema}from'../chunk-WNYOQITO.js';import'../chunk-SR5UZ4NP.js';import'../chunk-CF56NFUG.js';import'../chunk-WLGOABHV.js';import'../chunk-3N56ERWF.js';import'../chunk-WRHPQNEL.js';import'../chunk-DUBPWSCA.js';//# sourceMappingURL=datasets.js.map
2
2
  //# sourceMappingURL=datasets.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkN6AJDETI_cjs=require('../../chunk-N6AJDETI.cjs');Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkN6AJDETI_cjs.a}});//# sourceMappingURL=markdown-parser.cjs.map
1
+ 'use strict';var chunkNSKBXBRD_cjs=require('../../chunk-NSKBXBRD.cjs');Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkNSKBXBRD_cjs.a}});//# sourceMappingURL=markdown-parser.cjs.map
2
2
  //# sourceMappingURL=markdown-parser.cjs.map
@@ -1,2 +1,2 @@
1
- export{a as parseMarkdown}from'../../chunk-DE2Z5AOM.js';//# sourceMappingURL=markdown-parser.js.map
1
+ export{a as parseMarkdown}from'../../chunk-KXYKN3TY.js';//# sourceMappingURL=markdown-parser.js.map
2
2
  //# sourceMappingURL=markdown-parser.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ourofoundation/ouro-js",
3
- "version": "3.5.4",
3
+ "version": "3.5.6",
4
4
  "description": "Interact with the Ouro platform in browser and node.js environments",
5
5
  "module": "./dist/index.js",
6
6
  "main": "./dist/index.cjs",
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkROMY5WNQ_cjs=require('./chunk-ROMY5WNQ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),zod=require('zod');var y=zod.object({type:zod.string(),size:zod.number(),path:zod.string(),extension:zod.string(),name:zod.string(),id:zod.uuid(),bucket:zod.enum(["public-files","files"])}),D=zod.record(zod.string(),zod.object({asset_type:zod.optional(chunk43KB23BA_cjs.a)})),x=zod.record(zod.string(),zod.object({values:zod.array(zod.string())})),F=zod.object({table_name:zod.string(),schema:zod.literal("datasets").default("datasets"),columns:zod.array(zod.string()),asset_refs:zod.optional(zod.nullable(D)),enum_columns:zod.optional(zod.nullable(x))}),b=zod.object({column_name:zod.string(),data_type:zod.string(),fk_constraint_name:zod.optional(zod.nullable(zod.string())),foreign_table_schema:zod.optional(zod.nullable(zod.string())),foreign_table_name:zod.optional(zod.nullable(zod.string())),foreign_column_name:zod.optional(zod.nullable(zod.string())),semantic_type:zod.optional(zod.nullable(zod.enum(["asset_ref","enum"]))),asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),enum_values:zod.optional(zod.nullable(zod.array(zod.string())))}),R=zod.object({asset_id:zod.uuid(),asset_type:chunk43KB23BA_cjs.a,name:zod.nullable(zod.string()),web_url:zod.nullable(zod.string())}),g=zod.record(zod.string(),zod.record(zod.string(),R)),f=F.extend(chunkROMY5WNQ_cjs.b.partial().shape),z=chunkROMY5WNQ_cjs.c.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:f.extend({...y.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),E=chunkROMY5WNQ_cjs.d.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:f.extend({...y.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(n=>chunkROMY5WNQ_cjs.a(n)),w=chunkROMY5WNQ_cjs.d.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:f,preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(n=>chunkROMY5WNQ_cjs.a(n)),M=z.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({asset_type:zod.literal("dataset").default("dataset"),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(n=>chunkROMY5WNQ_cjs.a(n));exports.a=D;exports.b=x;exports.c=b;exports.d=R;exports.e=g;exports.f=z;exports.g=E;exports.h=w;exports.i=M;//# sourceMappingURL=chunk-73DHYPGU.cjs.map
2
- //# sourceMappingURL=chunk-73DHYPGU.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/datasets.ts"],"names":["DatasetFromFileMetadataSchema","object","string","number","uuid","zodEnum","DatasetAssetRefsSchema","record","optional","AssetTypeSchema","DatasetEnumColumnsSchema","array","BaseDatasetMetadataSchema","literal","nullable","EnrichedDatasetSchemaFieldSchema","ResolvedAssetRefSchema","ResolvedAssetRefsSchema","DatasetMetadataSchema","AssetMetadataSchema","DatasetSchema","AssetSchema","any","CreateDatasetFromFileSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","CreateDatasetFromSchemaSchema","updateDatasetSchema"],"mappings":"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","file":"chunk-73DHYPGU.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n literal,\n record,\n optional,\n nullable,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\n/**\n * Per-column asset reference declarations.\n *\n * A column becomes an asset reference when the backend adds a real Postgres FK\n * to public.assets(id). The optional asset_type refines validation/display.\n */\nconst DatasetAssetRefsSchema = record(\n string(),\n object({\n asset_type: optional(AssetTypeSchema),\n })\n);\n\n/**\n * Per-column enum declarations.\n *\n * Enum columns are stored as ordinary dataset columns plus a Postgres CHECK\n * constraint. The values are surfaced in schema reads so agents can query with\n * known categorical values.\n */\nconst DatasetEnumColumnsSchema = record(\n string(),\n object({\n values: array(string()),\n })\n);\n\nconst BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n asset_refs: optional(nullable(DatasetAssetRefsSchema)),\n enum_columns: optional(nullable(DatasetEnumColumnsSchema)),\n});\n\n/**\n * A single column from GET /datasets/:id/schema, enriched server-side.\n *\n * The FK fields come straight from get_table_schema. `semantic_type` is pure\n * inference: \"asset_ref\" when the column has an FK to public.assets. The\n * optional `asset_type` is the declared target-type hint from\n * metadata.asset_refs (display + soft validation only). `semantic_type: \"enum\"`\n * comes from metadata.enum_columns and exposes its known values.\n */\nconst EnrichedDatasetSchemaFieldSchema = object({\n column_name: string(),\n data_type: string(),\n fk_constraint_name: optional(nullable(string())),\n foreign_table_schema: optional(nullable(string())),\n foreign_table_name: optional(nullable(string())),\n foreign_column_name: optional(nullable(string())),\n semantic_type: optional(nullable(zodEnum([\"asset_ref\", \"enum\"]))),\n asset_type: optional(nullable(AssetTypeSchema)),\n enum_values: optional(nullable(array(string()))),\n});\n\n/**\n * A resolved asset reference returned in the `resolved_asset_refs` sidecar of\n * GET /datasets/:id/data?resolve_asset_refs=true. Reuses the platform-wide\n * { asset_id, asset_type } vocabulary (see KeyedAssetRefsSchema).\n */\nconst ResolvedAssetRefSchema = object({\n asset_id: uuid(),\n asset_type: AssetTypeSchema,\n name: nullable(string()),\n web_url: nullable(string()),\n});\n\n/** column -> (referenced uuid -> resolved asset). */\nconst ResolvedAssetRefsSchema = record(\n string(),\n record(string(), ResolvedAssetRefSchema)\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}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n}).transform((value) => normalizeAssetConfigForParsing(value));\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 is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n DatasetAssetRefsSchema,\n DatasetEnumColumnsSchema,\n EnrichedDatasetSchemaFieldSchema,\n ResolvedAssetRefSchema,\n ResolvedAssetRefsSchema,\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>;\nexport type DatasetAssetRefs = z.infer<typeof DatasetAssetRefsSchema>;\nexport type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;\nexport type EnrichedDatasetSchemaField = z.infer<\n typeof EnrichedDatasetSchemaFieldSchema\n>;\nexport type ResolvedAssetRef = z.infer<typeof ResolvedAssetRefSchema>;\nexport type ResolvedAssetRefs = z.infer<typeof ResolvedAssetRefsSchema>;\n"]}
@@ -1,8 +0,0 @@
1
- import {marked}from'marked';function c(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function i(e,t){return `<span data-latex="${c(e)}" data-display-mode="${t}"></span>`}function m(e){return /^\d/.test(e)?/^[\d,]+(\.\d+)?$/.test(e)||/^[\d,]+(\.\d+)?[KkMmBbTt]$/.test(e)?true:/\\[a-zA-Z]/.test(e)?false:!/[a-zA-Z\\{}]/.test(e)||!/(?:^|[^a-zA-Z])[a-zA-Z](?:[^a-zA-Z]|$)/.test(e):false}function p(e){if(!e.startsWith("$")||e.startsWith("$$"))return false;let t=e.slice(1),r=t[0];if(!r||r===" "||r===" "||r==="$")return false;if(!/\d/.test(r))return true;let n=t.indexOf("$");if(n<0)return false;let a=t.slice(0,n);return /[a-zA-Z\\{]/.test(a)}function f(e){let t=1;for(;t<e.length;){let r=e[t];if(r===`
2
- `)return -1;if(r==="\\"){t+=2;continue}if(r==="$"){if(e[t+1]==="$"){t+=2;continue}return t}t++;}return -1}var k={name:"katexDollarBlock",level:"block",start(e){let t=e.match(/\$\$/);return t?t.index:void 0},end(e){var r;let t=e.match(/\$\$/);return t?((r=t.index)!=null?r:0)+2:void 0},tokenizer(e,t){let n=/^\$\$([\s\S]*?)\$\$/.exec(e);if(n)return {type:"katexDollarBlock",raw:n[0],latex:n[1].trim(),displayMode:true}},renderer(e){return i(e.latex,true)}},x={name:"katexDollarInline",level:"inline",start(e){let t=e.match(/\$(?!\$)/);return t?t.index:void 0},end(e){var r;let t=e.match(/\$(?!\$)/);return t?((r=t.index)!=null?r:0)+1:void 0},tokenizer(e,t){if(!p(e))return;let r=f(e);if(r<0)return;let n=e.slice(1,r).trim();if(!(n.length===0||m(n)))return {type:"katexDollarInline",raw:e.slice(0,r+1),latex:n,displayMode:false}},renderer(e){return i(e.latex,false)}},h={name:"katexBlock",level:"block",start(e){let t=e.match(/\\\[/);return t?t.index:void 0},end(e){var r,n,a;let t=e.match(/\s\\\]/);return t?((r=t.index)!=null?r:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let n=/^\\\[([\s\S]*?)\\\]/.exec(e);if(n)return {type:"katexBlock",raw:n[0],latex:n[1].trim(),displayMode:true}},renderer(e){return i(e.latex,e.displayMode)}},y={name:"katexInline",level:"inline",start(e){let t=e.match(/\\\(/);return t?t.index:void 0},end(e){var r,n,a;let t=e.match(/\s\\\)/);return t?((r=t.index)!=null?r:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let n=/^\\\(([\s\S]*?)\\\)/.exec(e);if(n)return {type:"katexInline",raw:n[0],latex:n[1].trim(),displayMode:false}},renderer(e){return i(e.latex,e.displayMode)}},g={name:"assetComponent",level:"block",start(e){var t;return (t=e.match(/^```assetComponent/))==null?void 0:t.index},end(e){var t;return (t=e.match(/^```/))==null?void 0:t.index},tokenizer(e,t){let n=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(n)return {type:"assetComponent",raw:n[0],properties:n[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(n){console.error("Invalid JSON in assetComponent properties:",n),t={};}return `
3
- <asset-component ${Object.entries(t).map(([n,a])=>{let o=(typeof a=="object"&&a!==null?JSON.stringify(a):String(a)).replace(/"/g,"&quot;");return `${n}="${o}"`}).join(" ")}></asset-component>`}},$={name:"userMention",level:"inline",start(e){let t=e.match(/`\{@|(?<![`])\{@/);return t?t.index:void 0},end(e){var t,r,n;return (n=(t=e.match(/\}`/))==null?void 0:t.index)!=null?n:(r=e.match(/(?<![`])\{@[^}]*\}/))==null?void 0:r.index},tokenizer(e,t){let r=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(r)return {type:"userMention",raw:r[0],username:r[1]};let n=/^\{@([a-zA-Z0-9_]+)\}/.exec(e);if(n)return {type:"userMention",raw:n[0],username:n[1]}},renderer(e){let t=c(e.username);return `<user-mention username="${t}" data-label="${t}"></user-mention>`}};marked.use({gfm:true,extensions:[g,$,k,h,x,y],renderer:{list(e){var t;return !e.ordered&&((t=e.items)==null?void 0:t.length)>0&&e.items.every(r=>r.task)?`<ul data-type="taskList">
4
- ${e.items.map(n=>{let a=n.tokens.filter(d=>d.type!=="checkbox"),s=this.parser.parse(a,!!n.loose);n.loose||(s=`<p>${s}</p>`);let o=n.checked?"true":"false",u=n.checked?' checked="checked"':"";return `<li data-type="taskItem" data-checked="${o}"><label contenteditable="false"><input type="checkbox"${u}></label><div>${s}</div></li>`}).join(`
5
- `)}
6
- </ul>
7
- `:false}}});function z(e){return marked.parse(e)}export{z as a};//# sourceMappingURL=chunk-DE2Z5AOM.js.map
8
- //# sourceMappingURL=chunk-DE2Z5AOM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/air/markdown-parser.ts"],"names":["escapeHtmlAttr","s","mathSpanHtml","latex","displayMode","isLikelyCurrency","dollarInlineOpenOk","src","rest","c","nextDollar","segment","endIndexOfDollarInline","i","ch","katexDollarBlock","match","_a","tokens","token","katexDollarInline","close","katexBlockParser","_b","_c","katexInlineParser","assetComponentExtension","properties","e","key","value","escapedValue","userMentionExtension","m","codeWrapped","bracesOnly","u","marked","item","inner","t","text","checked","ckAttr","parseMarkdown","markdown"],"mappings":"4BAGA,SAASA,CAAAA,CAAeC,EAAmB,CACzC,OAAOA,CACJ,CAAA,OAAA,CAAQ,KAAM,OAAO,CAAA,CACrB,OAAQ,CAAA,IAAA,CAAM,QAAQ,CACtB,CAAA,OAAA,CAAQ,IAAM,CAAA,MAAM,CACzB,CAEA,SAASC,CAAaC,CAAAA,CAAAA,CAAeC,EAA8B,CACjE,OAAO,CAAqBJ,kBAAAA,EAAAA,CAAAA,CAAeG,CAAK,CAAC,CAAA,qBAAA,EAAwBC,CAAW,CAAA,SAAA,CACtF,CAaA,SAASC,CAAAA,CAAiBJ,CAAoB,CAAA,CAC5C,OAAK,KAAM,CAAA,IAAA,CAAKA,CAAC,CAAA,CAEb,mBAAmB,IAAKA,CAAAA,CAAC,CACzB,EAAA,4BAAA,CAA6B,KAAKA,CAAC,CAAA,CAAU,IAE7C,CAAA,YAAA,CAAa,KAAKA,CAAC,CAAA,CAAU,KAE7B,CAAA,CAAC,eAAe,IAAKA,CAAAA,CAAC,CAGtB,EAAA,CADyB,yCAAyC,IAAKA,CAAAA,CAAC,CATjD,CAAA,KAa7B,CAUA,SAASK,CAAAA,CAAmBC,EAAsB,CAChD,GAAI,CAACA,CAAI,CAAA,UAAA,CAAW,GAAG,CAAA,EAAKA,EAAI,UAAW,CAAA,IAAI,CAAG,CAAA,OAAO,OACzD,IAAMC,CAAAA,CAAOD,CAAI,CAAA,KAAA,CAAM,CAAC,CAClBE,CAAAA,CAAAA,CAAID,CAAK,CAAA,CAAC,EAChB,GAAI,CAACC,CAAKA,EAAAA,CAAAA,GAAM,KAAOA,CAAM,GAAA,GAAA,EAAQA,CAAM,GAAA,GAAA,CAAK,OAAO,MACvD,CAAA,GAAI,CAAC,IAAA,CAAK,KAAKA,CAAC,CAAA,CAAG,OAAO,KAAA,CAE1B,IAAMC,CAAaF,CAAAA,CAAAA,CAAK,OAAQ,CAAA,GAAG,EACnC,GAAIE,CAAAA,CAAa,CAAG,CAAA,OAAO,OAC3B,IAAMC,CAAAA,CAAUH,CAAK,CAAA,KAAA,CAAM,EAAGE,CAAU,CAAA,CACxC,OAAO,aAAA,CAAc,KAAKC,CAAO,CACnC,CAGA,SAASC,EAAuBL,CAAqB,CAAA,CACnD,IAAIM,CAAAA,CAAI,EACR,KAAOA,CAAAA,CAAIN,CAAI,CAAA,MAAA,EAAQ,CACrB,IAAMO,CAAAA,CAAKP,EAAIM,CAAC,CAAA,CAChB,GAAIC,CAAO,GAAA;AAAA,CAAA,CAAM,OAAO,GAAA,CACxB,GAAIA,CAAAA,GAAO,IAAM,CAAA,CACfD,CAAK,EAAA,CAAA,CACL,QACF,CACA,GAAIC,CAAAA,GAAO,GAAK,CAAA,CACd,GAAIP,CAAAA,CAAIM,CAAI,CAAA,CAAC,CAAM,GAAA,GAAA,CAAK,CACtBA,CAAAA,EAAK,CACL,CAAA,QACF,CACA,OAAOA,CACT,CACAA,CACF,GAAA,CACA,OAAO,GACT,CAEA,IAAME,CAAmB,CAAA,CACvB,IAAM,CAAA,kBAAA,CACN,KAAO,CAAA,OAAA,CACP,KAAMR,CAAAA,CAAAA,CAAa,CACjB,IAAMS,CAAQT,CAAAA,CAAAA,CAAI,KAAM,CAAA,MAAM,CAC9B,CAAA,OAAOS,CAAQA,CAAAA,CAAAA,CAAM,KAAQ,CAAA,MAC/B,CACA,CAAA,GAAA,CAAIT,CAAa,CAAA,CA3FnB,IAAAU,CAAAA,CA4FI,IAAMD,CAAAA,CAAQT,CAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAC9B,OAAOS,CAAAA,CAAAA,CAAAA,CAASC,CAAAD,CAAAA,CAAAA,CAAM,KAAN,GAAA,IAAA,CAAAC,CAAe,CAAA,CAAA,EAAK,CAAI,CAAA,MAC1C,CACA,CAAA,SAAA,CAAUV,CAAaW,CAAAA,CAAAA,CAAa,CAElC,IAAMF,CADO,CAAA,qBAAA,CACM,IAAKT,CAAAA,CAAG,CAC3B,CAAA,GAAIS,CACF,CAAA,OAAO,CACL,IAAA,CAAM,kBACN,CAAA,GAAA,CAAKA,CAAM,CAAA,CAAC,CACZ,CAAA,KAAA,CAAOA,CAAM,CAAA,CAAC,CAAE,CAAA,IAAA,EAChB,CAAA,WAAA,CAAa,IACf,CAEJ,CACA,CAAA,QAAA,CAASG,CAAY,CAAA,CACnB,OAAOjB,CAAAA,CAAaiB,CAAM,CAAA,KAAA,CAAO,IAAI,CACvC,CACF,CAAA,CAEMC,CAAoB,CAAA,CACxB,IAAM,CAAA,mBAAA,CACN,KAAO,CAAA,QAAA,CACP,KAAMb,CAAAA,CAAAA,CAAa,CACjB,IAAMS,CAAQT,CAAAA,CAAAA,CAAI,KAAM,CAAA,UAAU,CAClC,CAAA,OAAOS,CAAQA,CAAAA,CAAAA,CAAM,KAAQ,CAAA,MAC/B,CACA,CAAA,GAAA,CAAIT,CAAa,CAAA,CAvHnB,IAAAU,CAAAA,CAwHI,IAAMD,CAAAA,CAAQT,CAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAClC,OAAOS,CAAAA,CAAAA,CAAAA,CAASC,CAAAD,CAAAA,CAAAA,CAAM,KAAN,GAAA,IAAA,CAAAC,CAAe,CAAA,CAAA,EAAK,CAAI,CAAA,MAC1C,CACA,CAAA,SAAA,CAAUV,CAAaW,CAAAA,CAAAA,CAAa,CAClC,GAAI,CAACZ,CAAAA,CAAmBC,CAAG,CAAA,CAAG,OAC9B,IAAMc,CAAQT,CAAAA,CAAAA,CAAuBL,CAAG,CAAA,CACxC,GAAIc,CAAAA,CAAQ,CAAG,CAAA,OACf,IAAMlB,CAAAA,CAAQI,CAAI,CAAA,KAAA,CAAM,CAAGc,CAAAA,CAAK,CAAE,CAAA,IAAA,EAClC,CAAA,GAAI,EAAAlB,CAAAA,CAAM,MAAW,GAAA,CAAA,EAAKE,CAAiBF,CAAAA,CAAK,CAChD,CAAA,CAAA,OAAO,CACL,IAAA,CAAM,mBACN,CAAA,GAAA,CAAKI,CAAI,CAAA,KAAA,CAAM,CAAGc,CAAAA,CAAAA,CAAQ,CAAC,CAAA,CAC3B,KAAAlB,CAAAA,CAAAA,CACA,WAAa,CAAA,KACf,CACF,CAAA,CACA,QAASgB,CAAAA,CAAAA,CAAY,CACnB,OAAOjB,CAAaiB,CAAAA,CAAAA,CAAM,KAAO,CAAA,KAAK,CACxC,CACF,CAEMG,CAAAA,CAAAA,CAAmB,CACvB,IAAA,CAAM,YACN,CAAA,KAAA,CAAO,OACP,CAAA,KAAA,CAAMf,CAAa,CAAA,CACjB,IAAMS,CAAAA,CAAQT,CAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAC9B,OAAOS,CAAAA,CAAQA,CAAM,CAAA,KAAA,CAAQ,MAC/B,CAAA,CACA,GAAIT,CAAAA,CAAAA,CAAa,CApJnB,IAAAU,CAAAM,CAAAA,CAAAA,CAAAC,CAqJI,CAAA,IAAMR,CAAQT,CAAAA,CAAAA,CAAI,KAAM,CAAA,QAAQ,CAChC,CAAA,OAAOS,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,CAAM,CAAA,KAAA,GAAN,IAAAC,CAAAA,CAAAA,CAAe,CAAMO,GAAAA,CAAAA,CAAAA,CAAAA,CAAAD,CAAAP,CAAAA,CAAAA,CAAM,CAAC,CAAA,GAAP,IAAAO,CAAAA,MAAAA,CAAAA,CAAAA,CAAU,MAAV,GAAA,IAAA,CAAAC,CAAoB,CAAA,CAAA,CAAA,CAAK,MAChE,CAAA,CACA,SAAUjB,CAAAA,CAAAA,CAAaW,CAAa,CAAA,CAElC,IAAMF,CAAAA,CADc,qBACM,CAAA,IAAA,CAAKT,CAAG,CAAA,CAClC,GAAIS,CAAAA,CACF,OAAO,CACL,IAAM,CAAA,YAAA,CACN,GAAKA,CAAAA,CAAAA,CAAM,CAAC,CAAA,CACZ,KAAOA,CAAAA,CAAAA,CAAM,CAAC,CAAA,CAAE,IAAK,EAAA,CACrB,WAAa,CAAA,IACf,CAEJ,CAAA,CACA,QAASG,CAAAA,CAAAA,CAAY,CAEnB,OAAOjB,CAAaiB,CAAAA,CAAAA,CAAM,KAAOA,CAAAA,CAAAA,CAAM,WAAW,CACpD,CACF,CAAA,CAEMM,CAAoB,CAAA,CACxB,IAAM,CAAA,aAAA,CACN,KAAO,CAAA,QAAA,CACP,KAAMlB,CAAAA,CAAAA,CAAa,CACjB,IAAMS,CAAQT,CAAAA,CAAAA,CAAI,KAAM,CAAA,MAAM,CAC9B,CAAA,OAAOS,CAAQA,CAAAA,CAAAA,CAAM,KAAQ,CAAA,MAC/B,CACA,CAAA,GAAA,CAAIT,CAAa,CAAA,CAjLnB,IAAAU,CAAAA,CAAAM,CAAAC,CAAAA,CAAAA,CAkLI,IAAMR,CAAAA,CAAQT,CAAI,CAAA,KAAA,CAAM,QAAQ,CAAA,CAChC,OAAOS,CAAAA,CAAAA,CAAAA,CAASC,CAAAD,CAAAA,CAAAA,CAAM,KAAN,GAAA,IAAA,CAAAC,CAAe,CAAA,CAAA,GAAA,CAAMO,CAAAD,CAAAA,CAAAA,CAAAA,CAAAP,CAAM,CAAA,CAAC,CAAP,GAAA,IAAA,CAAA,MAAA,CAAAO,CAAU,CAAA,MAAA,GAAV,IAAAC,CAAAA,CAAAA,CAAoB,CAAK,CAAA,CAAA,MAChE,CACA,CAAA,SAAA,CAAUjB,CAAaW,CAAAA,CAAAA,CAAa,CAElC,IAAMF,CADa,CAAA,qBAAA,CACM,IAAKT,CAAAA,CAAG,CACjC,CAAA,GAAIS,CACF,CAAA,OAAO,CACL,IAAA,CAAM,aACN,CAAA,GAAA,CAAKA,CAAM,CAAA,CAAC,CACZ,CAAA,KAAA,CAAOA,CAAM,CAAA,CAAC,CAAE,CAAA,IAAA,EAChB,CAAA,WAAA,CAAa,KACf,CAEJ,CACA,CAAA,QAAA,CAASG,CAAY,CAAA,CAEnB,OAAOjB,CAAAA,CAAaiB,CAAM,CAAA,KAAA,CAAOA,CAAM,CAAA,WAAW,CACpD,CACF,CAEMO,CAAAA,CAAAA,CAA0B,CAC9B,IAAA,CAAM,gBACN,CAAA,KAAA,CAAO,OACP,CAAA,KAAA,CAAMnB,CAAa,CAAA,CA1MrB,IAAAU,CAAAA,CA2MI,OAAOA,CAAAA,CAAAA,CAAAV,CAAI,CAAA,KAAA,CAAM,oBAAoB,CAAA,GAA9B,IAAAU,CAAAA,MAAAA,CAAAA,CAAAA,CAAiC,KAC1C,CAAA,CACA,GAAIV,CAAAA,CAAAA,CAAa,CA7MnB,IAAAU,CA8MI,CAAA,OAAA,CAAOA,CAAAV,CAAAA,CAAAA,CAAI,KAAM,CAAA,MAAM,CAAhB,GAAA,IAAA,CAAA,MAAA,CAAAU,CAAmB,CAAA,KAC5B,CACA,CAAA,SAAA,CAAUV,CAAaW,CAAAA,CAAAA,CAAa,CAElC,IAAMF,CADO,CAAA,0CAAA,CACM,IAAKT,CAAAA,CAAG,CAC3B,CAAA,GAAIS,CAOF,CAAA,OANc,CACZ,IAAA,CAAM,gBACN,CAAA,GAAA,CAAKA,CAAM,CAAA,CAAC,CACZ,CAAA,UAAA,CAAYA,CAAM,CAAA,CAAC,CACnB,CAAA,MAAA,CAAQ,EACV,CAGJ,CAAA,CACA,QAASG,CAAAA,CAAAA,CAAY,CACnB,IAAIQ,CACJ,CAAA,GAAI,CACFA,CAAAA,CAAa,IAAK,CAAA,KAAA,CAAMR,CAAM,CAAA,UAAU,EAC1C,CAAA,MAASS,CAAG,CAAA,CACV,OAAQ,CAAA,KAAA,CAAM,4CAA8CA,CAAAA,CAAC,CAC7DD,CAAAA,CAAAA,CAAa,GACf,CAcA,OAbsB;AAAA,yBACC,EAAA,MAAA,CAAO,QAAQA,CAAU,CAAA,CAC3C,IAAI,CAAC,CAACE,EAAKC,CAAK,CAAA,GAAM,CAMrB,IAAMC,CAAAA,CAAAA,CAJc,OAAOD,CAAU,EAAA,QAAA,EAAYA,IAAU,IACvD,CAAA,IAAA,CAAK,UAAUA,CAAK,CAAA,CACpB,OAAOA,CAAK,CAAA,EAEiB,QAAQ,IAAM,CAAA,QAAQ,EACvD,OAAO,CAAA,EAAGD,CAAG,CAAKE,EAAAA,EAAAA,CAAY,GAChC,CAAC,CAAA,CACA,KAAK,GAAG,CAAC,qBAGhB,CACF,CAAA,CAEMC,CAAuB,CAAA,CAC3B,IAAM,CAAA,aAAA,CACN,MAAO,QACP,CAAA,KAAA,CAAMzB,EAAa,CACjB,IAAM0B,EAAI1B,CAAI,CAAA,KAAA,CAAM,kBAAkB,CACtC,CAAA,OAAO0B,EAAIA,CAAE,CAAA,KAAA,CAAQ,MACvB,CACA,CAAA,GAAA,CAAI1B,EAAa,CA7PnB,IAAAU,CAAAM,CAAAA,CAAAA,CAAAC,CA8PI,CAAA,OAAA,CAAOA,GAAAP,CAAAV,CAAAA,CAAAA,CAAI,MAAM,KAAK,CAAA,GAAf,YAAAU,CAAkB,CAAA,KAAA,GAAlB,KAAAO,CAA2BD,CAAAA,CAAAA,CAAAA,CAAAhB,EAAI,KAAM,CAAA,oBAAoB,IAA9B,IAAAgB,CAAAA,MAAAA,CAAAA,CAAAA,CAAiC,KACrE,CACA,CAAA,SAAA,CAAUhB,CAAaW,CAAAA,CAAAA,CAAa,CAClC,IAAMgB,EAAc,yBAA0B,CAAA,IAAA,CAAK3B,CAAG,CACtD,CAAA,GAAI2B,EACF,OAAO,CACL,KAAM,aACN,CAAA,GAAA,CAAKA,EAAY,CAAC,CAAA,CAClB,SAAUA,CAAY,CAAA,CAAC,CACzB,CAEF,CAAA,IAAMC,EAAa,uBAAwB,CAAA,IAAA,CAAK5B,CAAG,CACnD,CAAA,GAAI4B,EACF,OAAO,CACL,KAAM,aACN,CAAA,GAAA,CAAKA,EAAW,CAAC,CAAA,CACjB,SAAUA,CAAW,CAAA,CAAC,CACxB,CAEJ,CAAA,CACA,SAAShB,CAAY,CAAA,CACnB,IAAMiB,CAAAA,CAAIpC,CAAemB,CAAAA,CAAAA,CAAM,QAAQ,CACvC,CAAA,OAAO,2BAA2BiB,CAAC,CAAA,cAAA,EAAiBA,CAAC,CACvD,iBAAA,CAAA,CACF,EAEAC,MAAO,CAAA,GAAA,CAAI,CACT,GAAK,CAAA,IAAA,CACL,WAAY,CACVX,CAAAA,CACAM,EACAjB,CACAO,CAAAA,CAAAA,CACAF,CACAK,CAAAA,CACF,CACA,CAAA,QAAA,CAAU,CACR,IAAKN,CAAAA,CAAAA,CAAY,CAnSrB,IAAAF,CAAAA,CAoSM,OACE,CAACE,CAAAA,CAAM,WACPF,CAAAE,CAAAA,CAAAA,CAAM,QAAN,IAAAF,CAAAA,MAAAA,CAAAA,CAAAA,CAAa,QAAS,CACtBE,EAAAA,CAAAA,CAAM,MAAM,KAAOmB,CAAAA,CAAAA,EAAcA,CAAK,CAAA,IAAI,CAcnC,CAAA,CAAA;AAAA,EAZMnB,CAAAA,CAAM,KAChB,CAAA,GAAA,CAAKmB,CAAc,EAAA,CAClB,IAAMC,CAAQD,CAAAA,CAAAA,CAAK,MAAO,CAAA,MAAA,CACvBE,CAAWA,EAAAA,CAAAA,CAAE,OAAS,UACzB,CAAA,CACIC,CAAQ,CAAA,IAAA,CAAa,MAAO,CAAA,KAAA,CAAMF,EAAO,CAAC,CAACD,CAAK,CAAA,KAAK,CACpDA,CAAAA,CAAAA,CAAK,QAAOG,CAAO,CAAA,CAAA,GAAA,EAAMA,CAAI,CAAA,IAAA,CAAA,CAAA,CAClC,IAAMC,CAAAA,CAAUJ,EAAK,OAAU,CAAA,MAAA,CAAS,OAClCK,CAAAA,CAAAA,CAASL,CAAK,CAAA,OAAA,CAAU,qBAAuB,EACrD,CAAA,OAAO,CAA0CI,uCAAAA,EAAAA,CAAO,CAA0DC,uDAAAA,EAAAA,CAAM,iBAAiBF,CAAI,CAAA,WAAA,CAC/I,CAAC,CAAA,CACA,IAAK,CAAA;AAAA,CAAI,CAC6B;AAAA;AAAA,CAAA,CAEpC,KACT,CACF,CACF,CAAC,CAEM,CAAA,SAASG,CAAcC,CAAAA,CAAAA,CAAkB,CAC9C,OAAOR,MAAO,CAAA,KAAA,CAAMQ,CAAQ,CAC9B","file":"chunk-DE2Z5AOM.js","sourcesContent":["import { marked } from \"marked\";\n\n/** Safe for double-quoted HTML attributes (e.g. data-latex). */\nfunction escapeHtmlAttr(s: string): string {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\");\n}\n\nfunction mathSpanHtml(latex: string, displayMode: boolean): string {\n return `<span data-latex=\"${escapeHtmlAttr(latex)}\" data-display-mode=\"${displayMode}\"></span>`;\n}\n\n/**\n * Detect whether the text between `$…$` is a currency amount rather than math.\n *\n * Covers bare numbers ($50, $3.50, $1,000), numbers with magnitude suffixes\n * ($50K, $1.5M), and numeric-only fragments produced when a price range like\n * \"$50-$100\" is split at the inner `$` (content = \"50-\").\n *\n * If the content starts with a digit but also contains single-letter tokens\n * (likely math variables such as x, n, k) or LaTeX commands, it is NOT\n * treated as currency so real math like `$2x + 3$` still renders.\n */\nfunction isLikelyCurrency(s: string): boolean {\n if (!/^\\d/.test(s)) return false;\n\n if (/^[\\d,]+(\\.\\d+)?$/.test(s)) return true;\n if (/^[\\d,]+(\\.\\d+)?[KkMmBbTt]$/.test(s)) return true;\n\n if (/\\\\[a-zA-Z]/.test(s)) return false;\n\n if (!/[a-zA-Z\\\\{}]/.test(s)) return true;\n\n const hasSingleLetterToken = /(?:^|[^a-zA-Z])[a-zA-Z](?:[^a-zA-Z]|$)/.test(s);\n if (!hasSingleLetterToken) return true;\n\n return false;\n}\n\n/**\n * The opening `$` in `src` may start inline math only when:\n * - it is a single `$` (not `$$`),\n * - the next character is non-whitespace and not another `$`, and\n * - when the next character is a digit, the captured segment (up to the\n * closing `$`) contains evidence of math (a letter, backslash, or brace)\n * rather than just a currency amount.\n */\nfunction dollarInlineOpenOk(src: string): boolean {\n if (!src.startsWith(\"$\") || src.startsWith(\"$$\")) return false;\n const rest = src.slice(1);\n const c = rest[0];\n if (!c || c === \" \" || c === \"\\t\" || c === \"$\") return false;\n if (!/\\d/.test(c)) return true;\n\n const nextDollar = rest.indexOf(\"$\");\n if (nextDollar < 0) return false;\n const segment = rest.slice(0, nextDollar);\n return /[a-zA-Z\\\\{]/.test(segment);\n}\n\n/** Closing `$` for inline math at start of `src` (which must begin with a single `$`). */\nfunction endIndexOfDollarInline(src: string): number {\n let i = 1;\n while (i < src.length) {\n const ch = src[i];\n if (ch === \"\\n\") return -1;\n if (ch === \"\\\\\") {\n i += 2;\n continue;\n }\n if (ch === \"$\") {\n if (src[i + 1] === \"$\") {\n i += 2;\n continue;\n }\n return i;\n }\n i++;\n }\n return -1;\n}\n\nconst katexDollarBlock = {\n name: \"katexDollarBlock\",\n level: \"block\",\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(/\\$\\$/);\n return match ? (match.index ?? 0) + 2 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^\\$\\$([\\s\\S]*?)\\$\\$/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"katexDollarBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, true);\n },\n};\n\nconst katexDollarInline = {\n name: \"katexDollarInline\",\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(/\\$(?!\\$)/);\n return match ? (match.index ?? 0) + 1 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n if (!dollarInlineOpenOk(src)) return;\n const close = endIndexOfDollarInline(src);\n if (close < 0) return;\n const latex = src.slice(1, close).trim();\n if (latex.length === 0 || isLikelyCurrency(latex)) return;\n return {\n type: \"katexDollarInline\",\n raw: src.slice(0, close + 1),\n latex,\n displayMode: false,\n };\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, false);\n },\n};\n\nconst katexBlockParser = {\n name: \"katexBlock\",\n level: \"block\",\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\\\\\\]/);\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 match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katexBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n // Non-self-closing span is important for client-side inline flow around the node.\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst katexInlineParser = {\n name: \"katexInline\",\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\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n const match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katexInline\",\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 mathSpanHtml(token.latex, token.displayMode);\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]) => {\n // Stringify arrays and objects, keep primitives as-is\n const stringValue = typeof value === 'object' && value !== null\n ? JSON.stringify(value)\n : String(value);\n // Escape quotes for HTML attributes\n const escapedValue = stringValue.replace(/\"/g, '&quot;');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n const m = src.match(/`\\{@|(?<![`])\\{@/);\n return m ? m.index : undefined;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index ?? src.match(/(?<![`])\\{@[^}]*\\}/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const codeWrapped = /^`\\{@([a-zA-Z0-9_]+)\\}`/.exec(src);\n if (codeWrapped) {\n return {\n type: \"userMention\",\n raw: codeWrapped[0],\n username: codeWrapped[1],\n };\n }\n const bracesOnly = /^\\{@([a-zA-Z0-9_]+)\\}/.exec(src);\n if (bracesOnly) {\n return {\n type: \"userMention\",\n raw: bracesOnly[0],\n username: bracesOnly[1],\n };\n }\n },\n renderer(token: any) {\n const u = escapeHtmlAttr(token.username);\n return `<user-mention username=\"${u}\" data-label=\"${u}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [\n assetComponentExtension,\n userMentionExtension,\n katexDollarBlock,\n katexBlockParser,\n katexDollarInline,\n katexInlineParser,\n ],\n renderer: {\n list(token: any) {\n if (\n !token.ordered &&\n token.items?.length > 0 &&\n token.items.every((item: any) => item.task)\n ) {\n const body = token.items\n .map((item: any) => {\n const inner = item.tokens.filter(\n (t: any) => t.type !== \"checkbox\"\n );\n let text = (this as any).parser.parse(inner, !!item.loose);\n if (!item.loose) text = `<p>${text}</p>`;\n const checked = item.checked ? \"true\" : \"false\";\n const ckAttr = item.checked ? ' checked=\"checked\"' : \"\";\n return `<li data-type=\"taskItem\" data-checked=\"${checked}\"><label contenteditable=\"false\"><input type=\"checkbox\"${ckAttr}></label><div>${text}</div></li>`;\n })\n .join(\"\\n\");\n return `<ul data-type=\"taskList\">\\n${body}\\n</ul>\\n`;\n }\n return false as any;\n },\n },\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"]}
@@ -1,8 +0,0 @@
1
- 'use strict';var marked=require('marked');function c(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function i(e,t){return `<span data-latex="${c(e)}" data-display-mode="${t}"></span>`}function m(e){return /^\d/.test(e)?/^[\d,]+(\.\d+)?$/.test(e)||/^[\d,]+(\.\d+)?[KkMmBbTt]$/.test(e)?true:/\\[a-zA-Z]/.test(e)?false:!/[a-zA-Z\\{}]/.test(e)||!/(?:^|[^a-zA-Z])[a-zA-Z](?:[^a-zA-Z]|$)/.test(e):false}function p(e){if(!e.startsWith("$")||e.startsWith("$$"))return false;let t=e.slice(1),r=t[0];if(!r||r===" "||r===" "||r==="$")return false;if(!/\d/.test(r))return true;let n=t.indexOf("$");if(n<0)return false;let a=t.slice(0,n);return /[a-zA-Z\\{]/.test(a)}function f(e){let t=1;for(;t<e.length;){let r=e[t];if(r===`
2
- `)return -1;if(r==="\\"){t+=2;continue}if(r==="$"){if(e[t+1]==="$"){t+=2;continue}return t}t++;}return -1}var k={name:"katexDollarBlock",level:"block",start(e){let t=e.match(/\$\$/);return t?t.index:void 0},end(e){var r;let t=e.match(/\$\$/);return t?((r=t.index)!=null?r:0)+2:void 0},tokenizer(e,t){let n=/^\$\$([\s\S]*?)\$\$/.exec(e);if(n)return {type:"katexDollarBlock",raw:n[0],latex:n[1].trim(),displayMode:true}},renderer(e){return i(e.latex,true)}},x={name:"katexDollarInline",level:"inline",start(e){let t=e.match(/\$(?!\$)/);return t?t.index:void 0},end(e){var r;let t=e.match(/\$(?!\$)/);return t?((r=t.index)!=null?r:0)+1:void 0},tokenizer(e,t){if(!p(e))return;let r=f(e);if(r<0)return;let n=e.slice(1,r).trim();if(!(n.length===0||m(n)))return {type:"katexDollarInline",raw:e.slice(0,r+1),latex:n,displayMode:false}},renderer(e){return i(e.latex,false)}},h={name:"katexBlock",level:"block",start(e){let t=e.match(/\\\[/);return t?t.index:void 0},end(e){var r,n,a;let t=e.match(/\s\\\]/);return t?((r=t.index)!=null?r:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let n=/^\\\[([\s\S]*?)\\\]/.exec(e);if(n)return {type:"katexBlock",raw:n[0],latex:n[1].trim(),displayMode:true}},renderer(e){return i(e.latex,e.displayMode)}},y={name:"katexInline",level:"inline",start(e){let t=e.match(/\\\(/);return t?t.index:void 0},end(e){var r,n,a;let t=e.match(/\s\\\)/);return t?((r=t.index)!=null?r:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let n=/^\\\(([\s\S]*?)\\\)/.exec(e);if(n)return {type:"katexInline",raw:n[0],latex:n[1].trim(),displayMode:false}},renderer(e){return i(e.latex,e.displayMode)}},g={name:"assetComponent",level:"block",start(e){var t;return (t=e.match(/^```assetComponent/))==null?void 0:t.index},end(e){var t;return (t=e.match(/^```/))==null?void 0:t.index},tokenizer(e,t){let n=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(n)return {type:"assetComponent",raw:n[0],properties:n[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(n){console.error("Invalid JSON in assetComponent properties:",n),t={};}return `
3
- <asset-component ${Object.entries(t).map(([n,a])=>{let o=(typeof a=="object"&&a!==null?JSON.stringify(a):String(a)).replace(/"/g,"&quot;");return `${n}="${o}"`}).join(" ")}></asset-component>`}},$={name:"userMention",level:"inline",start(e){let t=e.match(/`\{@|(?<![`])\{@/);return t?t.index:void 0},end(e){var t,r,n;return (n=(t=e.match(/\}`/))==null?void 0:t.index)!=null?n:(r=e.match(/(?<![`])\{@[^}]*\}/))==null?void 0:r.index},tokenizer(e,t){let r=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(r)return {type:"userMention",raw:r[0],username:r[1]};let n=/^\{@([a-zA-Z0-9_]+)\}/.exec(e);if(n)return {type:"userMention",raw:n[0],username:n[1]}},renderer(e){let t=c(e.username);return `<user-mention username="${t}" data-label="${t}"></user-mention>`}};marked.marked.use({gfm:true,extensions:[g,$,k,h,x,y],renderer:{list(e){var t;return !e.ordered&&((t=e.items)==null?void 0:t.length)>0&&e.items.every(r=>r.task)?`<ul data-type="taskList">
4
- ${e.items.map(n=>{let a=n.tokens.filter(d=>d.type!=="checkbox"),s=this.parser.parse(a,!!n.loose);n.loose||(s=`<p>${s}</p>`);let o=n.checked?"true":"false",u=n.checked?' checked="checked"':"";return `<li data-type="taskItem" data-checked="${o}"><label contenteditable="false"><input type="checkbox"${u}></label><div>${s}</div></li>`}).join(`
5
- `)}
6
- </ul>
7
- `:false}}});function z(e){return marked.marked.parse(e)}exports.a=z;//# sourceMappingURL=chunk-N6AJDETI.cjs.map
8
- //# sourceMappingURL=chunk-N6AJDETI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/air/markdown-parser.ts"],"names":["escapeHtmlAttr","s","mathSpanHtml","latex","displayMode","isLikelyCurrency","dollarInlineOpenOk","src","rest","c","nextDollar","segment","endIndexOfDollarInline","i","ch","katexDollarBlock","match","_a","tokens","token","katexDollarInline","close","katexBlockParser","_b","_c","katexInlineParser","assetComponentExtension","properties","e","key","value","escapedValue","userMentionExtension","m","codeWrapped","bracesOnly","u","marked","item","inner","t","text","checked","ckAttr","parseMarkdown","markdown"],"mappings":"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","file":"chunk-N6AJDETI.cjs","sourcesContent":["import { marked } from \"marked\";\n\n/** Safe for double-quoted HTML attributes (e.g. data-latex). */\nfunction escapeHtmlAttr(s: string): string {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\");\n}\n\nfunction mathSpanHtml(latex: string, displayMode: boolean): string {\n return `<span data-latex=\"${escapeHtmlAttr(latex)}\" data-display-mode=\"${displayMode}\"></span>`;\n}\n\n/**\n * Detect whether the text between `$…$` is a currency amount rather than math.\n *\n * Covers bare numbers ($50, $3.50, $1,000), numbers with magnitude suffixes\n * ($50K, $1.5M), and numeric-only fragments produced when a price range like\n * \"$50-$100\" is split at the inner `$` (content = \"50-\").\n *\n * If the content starts with a digit but also contains single-letter tokens\n * (likely math variables such as x, n, k) or LaTeX commands, it is NOT\n * treated as currency so real math like `$2x + 3$` still renders.\n */\nfunction isLikelyCurrency(s: string): boolean {\n if (!/^\\d/.test(s)) return false;\n\n if (/^[\\d,]+(\\.\\d+)?$/.test(s)) return true;\n if (/^[\\d,]+(\\.\\d+)?[KkMmBbTt]$/.test(s)) return true;\n\n if (/\\\\[a-zA-Z]/.test(s)) return false;\n\n if (!/[a-zA-Z\\\\{}]/.test(s)) return true;\n\n const hasSingleLetterToken = /(?:^|[^a-zA-Z])[a-zA-Z](?:[^a-zA-Z]|$)/.test(s);\n if (!hasSingleLetterToken) return true;\n\n return false;\n}\n\n/**\n * The opening `$` in `src` may start inline math only when:\n * - it is a single `$` (not `$$`),\n * - the next character is non-whitespace and not another `$`, and\n * - when the next character is a digit, the captured segment (up to the\n * closing `$`) contains evidence of math (a letter, backslash, or brace)\n * rather than just a currency amount.\n */\nfunction dollarInlineOpenOk(src: string): boolean {\n if (!src.startsWith(\"$\") || src.startsWith(\"$$\")) return false;\n const rest = src.slice(1);\n const c = rest[0];\n if (!c || c === \" \" || c === \"\\t\" || c === \"$\") return false;\n if (!/\\d/.test(c)) return true;\n\n const nextDollar = rest.indexOf(\"$\");\n if (nextDollar < 0) return false;\n const segment = rest.slice(0, nextDollar);\n return /[a-zA-Z\\\\{]/.test(segment);\n}\n\n/** Closing `$` for inline math at start of `src` (which must begin with a single `$`). */\nfunction endIndexOfDollarInline(src: string): number {\n let i = 1;\n while (i < src.length) {\n const ch = src[i];\n if (ch === \"\\n\") return -1;\n if (ch === \"\\\\\") {\n i += 2;\n continue;\n }\n if (ch === \"$\") {\n if (src[i + 1] === \"$\") {\n i += 2;\n continue;\n }\n return i;\n }\n i++;\n }\n return -1;\n}\n\nconst katexDollarBlock = {\n name: \"katexDollarBlock\",\n level: \"block\",\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(/\\$\\$/);\n return match ? (match.index ?? 0) + 2 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^\\$\\$([\\s\\S]*?)\\$\\$/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"katexDollarBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, true);\n },\n};\n\nconst katexDollarInline = {\n name: \"katexDollarInline\",\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(/\\$(?!\\$)/);\n return match ? (match.index ?? 0) + 1 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n if (!dollarInlineOpenOk(src)) return;\n const close = endIndexOfDollarInline(src);\n if (close < 0) return;\n const latex = src.slice(1, close).trim();\n if (latex.length === 0 || isLikelyCurrency(latex)) return;\n return {\n type: \"katexDollarInline\",\n raw: src.slice(0, close + 1),\n latex,\n displayMode: false,\n };\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, false);\n },\n};\n\nconst katexBlockParser = {\n name: \"katexBlock\",\n level: \"block\",\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\\\\\\]/);\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 match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katexBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n // Non-self-closing span is important for client-side inline flow around the node.\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst katexInlineParser = {\n name: \"katexInline\",\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\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n const match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katexInline\",\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 mathSpanHtml(token.latex, token.displayMode);\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]) => {\n // Stringify arrays and objects, keep primitives as-is\n const stringValue = typeof value === 'object' && value !== null\n ? JSON.stringify(value)\n : String(value);\n // Escape quotes for HTML attributes\n const escapedValue = stringValue.replace(/\"/g, '&quot;');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n const m = src.match(/`\\{@|(?<![`])\\{@/);\n return m ? m.index : undefined;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index ?? src.match(/(?<![`])\\{@[^}]*\\}/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const codeWrapped = /^`\\{@([a-zA-Z0-9_]+)\\}`/.exec(src);\n if (codeWrapped) {\n return {\n type: \"userMention\",\n raw: codeWrapped[0],\n username: codeWrapped[1],\n };\n }\n const bracesOnly = /^\\{@([a-zA-Z0-9_]+)\\}/.exec(src);\n if (bracesOnly) {\n return {\n type: \"userMention\",\n raw: bracesOnly[0],\n username: bracesOnly[1],\n };\n }\n },\n renderer(token: any) {\n const u = escapeHtmlAttr(token.username);\n return `<user-mention username=\"${u}\" data-label=\"${u}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [\n assetComponentExtension,\n userMentionExtension,\n katexDollarBlock,\n katexBlockParser,\n katexDollarInline,\n katexInlineParser,\n ],\n renderer: {\n list(token: any) {\n if (\n !token.ordered &&\n token.items?.length > 0 &&\n token.items.every((item: any) => item.task)\n ) {\n const body = token.items\n .map((item: any) => {\n const inner = item.tokens.filter(\n (t: any) => t.type !== \"checkbox\"\n );\n let text = (this as any).parser.parse(inner, !!item.loose);\n if (!item.loose) text = `<p>${text}</p>`;\n const checked = item.checked ? \"true\" : \"false\";\n const ckAttr = item.checked ? ' checked=\"checked\"' : \"\";\n return `<li data-type=\"taskItem\" data-checked=\"${checked}\"><label contenteditable=\"false\"><input type=\"checkbox\"${ckAttr}></label><div>${text}</div></li>`;\n })\n .join(\"\\n\");\n return `<ul data-type=\"taskList\">\\n${body}\\n</ul>\\n`;\n }\n return false as any;\n },\n },\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {b as b$1,c,d,a as a$1}from'./chunk-SR5UZ4NP.js';import {a}from'./chunk-WRHPQNEL.js';import {object,enum as _enum,uuid,string,number,record,optional,array,literal,nullable,any}from'zod';var y=object({type:string(),size:number(),path:string(),extension:string(),name:string(),id:uuid(),bucket:_enum(["public-files","files"])}),D=record(string(),object({asset_type:optional(a)})),x=record(string(),object({values:array(string())})),F=object({table_name:string(),schema:literal("datasets").default("datasets"),columns:array(string()),asset_refs:optional(nullable(D)),enum_columns:optional(nullable(x))}),b=object({column_name:string(),data_type:string(),fk_constraint_name:optional(nullable(string())),foreign_table_schema:optional(nullable(string())),foreign_table_name:optional(nullable(string())),foreign_column_name:optional(nullable(string())),semantic_type:optional(nullable(_enum(["asset_ref","enum"]))),asset_type:optional(nullable(a)),enum_values:optional(nullable(array(string())))}),R=object({asset_id:uuid(),asset_type:a,name:nullable(string()),web_url:nullable(string())}),g=record(string(),record(string(),R)),f=F.extend(b$1.partial().shape),z=c.extend({asset_type:literal("dataset").default("dataset"),metadata:f.extend({...y.partial().shape}),preview:array(record(string(),any()))}),E=d.extend({asset_type:literal("dataset").default("dataset"),metadata:f.extend({...y.shape}),preview:array(record(string(),any()))}).transform(n=>a$1(n)),w=d.extend({asset_type:literal("dataset").default("dataset"),metadata:f,preview:array(record(string(),any()))}).transform(n=>a$1(n)),M=z.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({asset_type:literal("dataset").default("dataset"),last_updated:string().default(()=>new Date().toISOString())}).transform(n=>a$1(n));export{D as a,x as b,b as c,R as d,g as e,z as f,E as g,w as h,M as i};//# sourceMappingURL=chunk-XLJBQ7BU.js.map
2
- //# sourceMappingURL=chunk-XLJBQ7BU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/datasets.ts"],"names":["DatasetFromFileMetadataSchema","object","string","number","uuid","zodEnum","DatasetAssetRefsSchema","record","optional","AssetTypeSchema","DatasetEnumColumnsSchema","array","BaseDatasetMetadataSchema","literal","nullable","EnrichedDatasetSchemaFieldSchema","ResolvedAssetRefSchema","ResolvedAssetRefsSchema","DatasetMetadataSchema","AssetMetadataSchema","DatasetSchema","AssetSchema","any","CreateDatasetFromFileSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","CreateDatasetFromSchemaSchema","updateDatasetSchema"],"mappings":"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","file":"chunk-XLJBQ7BU.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n literal,\n record,\n optional,\n nullable,\n type z,\n any,\n enum as zodEnum\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst DatasetFromFileMetadataSchema = object({\n type: string(),\n size: number(),\n path: string(),\n extension: string(),\n name: string(),\n id: uuid(), // storage file object id,\n bucket: zodEnum([\"public-files\", \"files\"]),\n});\n\n/**\n * Per-column asset reference declarations.\n *\n * A column becomes an asset reference when the backend adds a real Postgres FK\n * to public.assets(id). The optional asset_type refines validation/display.\n */\nconst DatasetAssetRefsSchema = record(\n string(),\n object({\n asset_type: optional(AssetTypeSchema),\n })\n);\n\n/**\n * Per-column enum declarations.\n *\n * Enum columns are stored as ordinary dataset columns plus a Postgres CHECK\n * constraint. The values are surfaced in schema reads so agents can query with\n * known categorical values.\n */\nconst DatasetEnumColumnsSchema = record(\n string(),\n object({\n values: array(string()),\n })\n);\n\nconst BaseDatasetMetadataSchema = object({\n table_name: string(),\n schema: literal(\"datasets\").default(\"datasets\"),\n columns: array(string()),\n asset_refs: optional(nullable(DatasetAssetRefsSchema)),\n enum_columns: optional(nullable(DatasetEnumColumnsSchema)),\n});\n\n/**\n * A single column from GET /datasets/:id/schema, enriched server-side.\n *\n * The FK fields come straight from get_table_schema. `semantic_type` is pure\n * inference: \"asset_ref\" when the column has an FK to public.assets. The\n * optional `asset_type` is the declared target-type hint from\n * metadata.asset_refs (display + soft validation only). `semantic_type: \"enum\"`\n * comes from metadata.enum_columns and exposes its known values.\n */\nconst EnrichedDatasetSchemaFieldSchema = object({\n column_name: string(),\n data_type: string(),\n fk_constraint_name: optional(nullable(string())),\n foreign_table_schema: optional(nullable(string())),\n foreign_table_name: optional(nullable(string())),\n foreign_column_name: optional(nullable(string())),\n semantic_type: optional(nullable(zodEnum([\"asset_ref\", \"enum\"]))),\n asset_type: optional(nullable(AssetTypeSchema)),\n enum_values: optional(nullable(array(string()))),\n});\n\n/**\n * A resolved asset reference returned in the `resolved_asset_refs` sidecar of\n * GET /datasets/:id/data?resolve_asset_refs=true. Reuses the platform-wide\n * { asset_id, asset_type } vocabulary (see KeyedAssetRefsSchema).\n */\nconst ResolvedAssetRefSchema = object({\n asset_id: uuid(),\n asset_type: AssetTypeSchema,\n name: nullable(string()),\n web_url: nullable(string()),\n});\n\n/** column -> (referenced uuid -> resolved asset). */\nconst ResolvedAssetRefsSchema = record(\n string(),\n record(string(), ResolvedAssetRefSchema)\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}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n metadata: DatasetMetadataSchema,\n preview: array(record(string(), any())),\n}).transform((value) => normalizeAssetConfigForParsing(value));\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 is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"dataset\").default(\"dataset\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n DatasetSchema,\n CreateDatasetFromFileSchema,\n CreateDatasetFromSchemaSchema,\n updateDatasetSchema,\n DatasetAssetRefsSchema,\n DatasetEnumColumnsSchema,\n EnrichedDatasetSchemaFieldSchema,\n ResolvedAssetRefSchema,\n ResolvedAssetRefsSchema,\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>;\nexport type DatasetAssetRefs = z.infer<typeof DatasetAssetRefsSchema>;\nexport type DatasetEnumColumns = z.infer<typeof DatasetEnumColumnsSchema>;\nexport type EnrichedDatasetSchemaField = z.infer<\n typeof EnrichedDatasetSchemaFieldSchema\n>;\nexport type ResolvedAssetRef = z.infer<typeof ResolvedAssetRefSchema>;\nexport type ResolvedAssetRefs = z.infer<typeof ResolvedAssetRefsSchema>;\n"]}