@ourofoundation/ouro-js 3.8.3 → 3.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2GABFYUS.cjs +2 -0
- package/dist/chunk-2GABFYUS.cjs.map +1 -0
- package/dist/chunk-4AEKCY33.js +2 -0
- package/dist/chunk-4AEKCY33.js.map +1 -0
- package/dist/chunk-4GP5MIEM.cjs +2 -0
- package/dist/chunk-4GP5MIEM.cjs.map +1 -0
- package/dist/{chunk-DSJ23DIB.cjs → chunk-4UNQYG7I.cjs} +2 -2
- package/dist/{chunk-DSJ23DIB.cjs.map → chunk-4UNQYG7I.cjs.map} +1 -1
- package/dist/{chunk-KU5AWMS5.cjs → chunk-5PWVQ2XA.cjs} +2 -2
- package/dist/{chunk-KU5AWMS5.cjs.map → chunk-5PWVQ2XA.cjs.map} +1 -1
- package/dist/chunk-67Q4RMP6.js +2 -0
- package/dist/chunk-67Q4RMP6.js.map +1 -0
- package/dist/chunk-6KQTA6I7.cjs +2 -0
- package/dist/{chunk-AIIAIQ6L.cjs.map → chunk-6KQTA6I7.cjs.map} +1 -1
- package/dist/chunk-B4OJDZY5.js +2 -0
- package/dist/{chunk-PGCNGDPK.js.map → chunk-B4OJDZY5.js.map} +1 -1
- package/dist/{chunk-OCG3P3PJ.js → chunk-BWUPF76F.js} +2 -2
- package/dist/{chunk-OCG3P3PJ.js.map → chunk-BWUPF76F.js.map} +1 -1
- package/dist/{chunk-RMMMRN4X.cjs → chunk-D2VAJ55Q.cjs} +2 -2
- package/dist/{chunk-RMMMRN4X.cjs.map → chunk-D2VAJ55Q.cjs.map} +1 -1
- package/dist/chunk-D6JWKEY5.cjs +2 -0
- package/dist/chunk-D6JWKEY5.cjs.map +1 -0
- package/dist/chunk-G3IGIXKD.cjs +2 -0
- package/dist/chunk-G3IGIXKD.cjs.map +1 -0
- package/dist/chunk-GS5VFJ22.cjs +2 -0
- package/dist/chunk-GS5VFJ22.cjs.map +1 -0
- package/dist/chunk-HKU6LRRS.js +2 -0
- package/dist/chunk-HKU6LRRS.js.map +1 -0
- package/dist/chunk-IUO6O47I.cjs +2 -0
- package/dist/chunk-IUO6O47I.cjs.map +1 -0
- package/dist/chunk-KTJTOSL2.cjs +2 -0
- package/dist/chunk-KTJTOSL2.cjs.map +1 -0
- package/dist/chunk-KV6R6XC2.cjs +2 -0
- package/dist/chunk-KV6R6XC2.cjs.map +1 -0
- package/dist/{chunk-LXDNBUOU.js → chunk-MV4VXP6M.js} +2 -2
- package/dist/{chunk-LXDNBUOU.js.map → chunk-MV4VXP6M.js.map} +1 -1
- package/dist/chunk-NGPSTYQD.js +2 -0
- package/dist/chunk-NGPSTYQD.js.map +1 -0
- package/dist/chunk-NK4K542Q.js +2 -0
- package/dist/chunk-NK4K542Q.js.map +1 -0
- package/dist/chunk-NLU672VS.js +2 -0
- package/dist/chunk-NLU672VS.js.map +1 -0
- package/dist/chunk-OC34WU3H.cjs +2 -0
- package/dist/chunk-OC34WU3H.cjs.map +1 -0
- package/dist/chunk-OZBQNIKJ.js +2 -0
- package/dist/chunk-OZBQNIKJ.js.map +1 -0
- package/dist/chunk-QVMN2EX4.js +2 -0
- package/dist/chunk-QVMN2EX4.js.map +1 -0
- package/dist/{chunk-E2FDUS3B.cjs → chunk-RCUD47O3.cjs} +2 -2
- package/dist/{chunk-E2FDUS3B.cjs.map → chunk-RCUD47O3.cjs.map} +1 -1
- package/dist/chunk-SB4X4GDQ.js +2 -0
- package/dist/chunk-SB4X4GDQ.js.map +1 -0
- package/dist/chunk-WMCUQQ2Q.cjs +2 -0
- package/dist/chunk-WMCUQQ2Q.cjs.map +1 -0
- package/dist/chunk-XQTA6BNA.js +2 -0
- package/dist/chunk-XQTA6BNA.js.map +1 -0
- package/dist/chunk-XTINLMDO.js +2 -0
- package/dist/{chunk-FGEMQEEM.js.map → chunk-XTINLMDO.js.map} +1 -1
- package/dist/chunk-ZBNLKRMB.js +2 -0
- package/dist/{chunk-MKRXM63S.js.map → chunk-ZBNLKRMB.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/schema/asset-filters.d.cts +2 -2
- package/dist/schema/asset-filters.d.ts +2 -2
- package/dist/schema/assets.cjs +1 -1
- package/dist/schema/assets.d.cts +6 -0
- package/dist/schema/assets.d.ts +6 -0
- package/dist/schema/assets.js +1 -1
- package/dist/schema/comments.cjs +1 -1
- package/dist/schema/comments.d.cts +36 -0
- package/dist/schema/comments.d.ts +36 -0
- package/dist/schema/comments.js +1 -1
- package/dist/schema/conversations.cjs +1 -1
- package/dist/schema/conversations.d.cts +12 -0
- package/dist/schema/conversations.d.ts +12 -0
- package/dist/schema/conversations.js +1 -1
- package/dist/schema/datasets.cjs +1 -1
- package/dist/schema/datasets.d.cts +13 -5
- package/dist/schema/datasets.d.ts +13 -5
- package/dist/schema/datasets.js +1 -1
- package/dist/schema/files.cjs +1 -1
- package/dist/schema/files.d.cts +168 -1
- package/dist/schema/files.d.ts +168 -1
- package/dist/schema/files.js +1 -1
- package/dist/schema/notifications.cjs +1 -1
- package/dist/schema/notifications.d.cts +20 -0
- package/dist/schema/notifications.d.ts +20 -0
- package/dist/schema/notifications.js +1 -1
- package/dist/schema/organizations.cjs +1 -1
- package/dist/schema/organizations.d.cts +3 -1
- package/dist/schema/organizations.d.ts +3 -1
- package/dist/schema/organizations.js +1 -1
- package/dist/schema/posts.cjs +1 -1
- package/dist/schema/posts.d.cts +36 -0
- package/dist/schema/posts.d.ts +36 -0
- package/dist/schema/posts.js +1 -1
- package/dist/schema/quests.cjs +1 -1
- package/dist/schema/quests.d.cts +88 -15
- package/dist/schema/quests.d.ts +88 -15
- package/dist/schema/quests.js +1 -1
- package/dist/schema/renditions.cjs +2 -0
- package/dist/schema/renditions.cjs.map +1 -0
- package/dist/schema/renditions.d.cts +196 -0
- package/dist/schema/renditions.d.ts +196 -0
- package/dist/schema/renditions.js +2 -0
- package/dist/schema/renditions.js.map +1 -0
- package/dist/schema/services.cjs +1 -1
- package/dist/schema/services.d.cts +319 -7
- package/dist/schema/services.d.ts +319 -7
- package/dist/schema/services.js +1 -1
- package/dist/schema/teams.cjs +1 -1
- package/dist/schema/teams.d.cts +25 -0
- package/dist/schema/teams.d.ts +25 -0
- package/dist/schema/teams.js +1 -1
- package/dist/schema/users.cjs +1 -1
- package/dist/schema/users.d.cts +42 -1
- package/dist/schema/users.d.ts +42 -1
- package/dist/schema/users.js +1 -1
- package/dist/utils/files.cjs +1 -1
- package/dist/utils/files.d.cts +2 -1
- package/dist/utils/files.d.ts +2 -1
- package/dist/utils/files.js +1 -1
- package/dist/utils/quest-submission.cjs +1 -1
- package/dist/utils/quest-submission.d.cts +10 -1
- package/dist/utils/quest-submission.d.ts +10 -1
- package/dist/utils/quest-submission.js +1 -1
- package/package.json +1 -1
- package/tests/file-classification.test.mjs +19 -0
- package/tests/files.test.mjs +21 -1
- package/tests/renditions.test.mjs +111 -0
- package/dist/chunk-3DGJ27WL.js +0 -2
- package/dist/chunk-3DGJ27WL.js.map +0 -1
- package/dist/chunk-3JPOAQ2M.cjs +0 -2
- package/dist/chunk-3JPOAQ2M.cjs.map +0 -1
- package/dist/chunk-64ZUBBP7.js +0 -2
- package/dist/chunk-64ZUBBP7.js.map +0 -1
- package/dist/chunk-ADLJ3UUW.cjs +0 -2
- package/dist/chunk-ADLJ3UUW.cjs.map +0 -1
- package/dist/chunk-AIIAIQ6L.cjs +0 -2
- package/dist/chunk-CDJH4OT5.js +0 -2
- package/dist/chunk-CDJH4OT5.js.map +0 -1
- package/dist/chunk-CIEATF7M.cjs +0 -2
- package/dist/chunk-CIEATF7M.cjs.map +0 -1
- package/dist/chunk-FGEMQEEM.js +0 -2
- package/dist/chunk-KHERHT26.cjs +0 -2
- package/dist/chunk-KHERHT26.cjs.map +0 -1
- package/dist/chunk-LMRFVO4I.cjs +0 -2
- package/dist/chunk-LMRFVO4I.cjs.map +0 -1
- package/dist/chunk-MKRXM63S.js +0 -2
- package/dist/chunk-OU4JKY4M.js +0 -2
- package/dist/chunk-OU4JKY4M.js.map +0 -1
- package/dist/chunk-PGCNGDPK.js +0 -2
- package/dist/chunk-PVUBGWOI.cjs +0 -2
- package/dist/chunk-PVUBGWOI.cjs.map +0 -1
- package/dist/chunk-RS5H4XDK.js +0 -2
- package/dist/chunk-RS5H4XDK.js.map +0 -1
- package/dist/chunk-W6KXPYCB.js +0 -2
- package/dist/chunk-W6KXPYCB.js.map +0 -1
- package/dist/chunk-XEA4DDOE.cjs +0 -2
- package/dist/chunk-XEA4DDOE.cjs.map +0 -1
- package/dist/chunk-XL2RQ3DZ.cjs +0 -2
- package/dist/chunk-XL2RQ3DZ.cjs.map +0 -1
- package/dist/chunk-XXFKHRNE.js +0 -2
- package/dist/chunk-XXFKHRNE.js.map +0 -1
- package/dist/chunk-Y6BK75KP.js +0 -2
- package/dist/chunk-Y6BK75KP.js.map +0 -1
- package/dist/chunk-YTCAK2AH.cjs +0 -2
- package/dist/chunk-YTCAK2AH.cjs.map +0 -1
- package/dist/chunk-ZFARY5F4.js +0 -2
- package/dist/chunk-ZFARY5F4.js.map +0 -1
package/dist/chunk-64ZUBBP7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {e}from'./chunk-RS5H4XDK.js';import {a}from'./chunk-33C7IDRP.js';import {record,string,object,uuid,union,optional,boolean}from'zod';function _(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}function k(e){if(!e)return null;let t=e.replace(/^\.+/,"").trim().toLowerCase().replace(/[^a-z0-9]/g,"");return !t||/^\d+$/.test(t)||t.length>12?null:t}function I(e){let s=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[];return Array.from(new Set(s.map(t=>k(t)).filter(t=>!!t)))}var P=record(string(),object({asset_id:uuid(),asset_type:a})),T=union([uuid(),object({asset_id:uuid(),asset_type:optional(a)})]),E=record(string(),T),q=e.extend({required:optional(boolean()).default(true)});function S(e){return I([...Array.isArray(e.file_extensions)?e.file_extensions:[],...Array.isArray(e.input_file_extensions)?e.input_file_extensions:[]].join(","))}function R(e){return e.input_filter||e.filter||void 0}function K(e){var n;let s=e==null?void 0:e.route;if(!s)return {};let t=s.input_assets;if(_(t)){let i=Object.entries(t).filter(([,r])=>_(r));if(i.length>0)return Object.fromEntries(i)}return s.input_type?{[s.input_type]:{asset_type:s.input_type,primary:true,input_filter:s.input_filter,input_file_extensions:(n=s.input_file_extensions)!=null?n:null}}:{}}function Q(e){let s=S(e),t=R(e);return {asset_type:e.asset_type,primary:e.primary,input_filter:t!=null?t:null,file_extensions:s.length>0?s:null,required:true}}function j(e,s){let t=new Set(s),n={};for(let[i,r]of Object.entries(e))t.has(i)||(n[i]=Q(r));return n}function L(e){let s=Object.entries(e);if(!s.length)return null;let t=s.find(([,n])=>n.primary===true);return t?t[0]:(s.length===1,s[0][0])}function B(e,s){var i,r;let t=(i=e.eval_static_inputs)!=null?i:{};if(e.eval_route_id&&s){let a=K(s),l=Object.keys(t),u=j(a,l);return {contributorKeys:Object.keys(u),declarations:u,pinned:t}}let n=(r=e.submission_assets)!=null?r:{};return {contributorKeys:Object.keys(n),declarations:n,pinned:t}}function F(e){if(!e)return null;let s=e.asset_type||void 0;if(!s)return null;let t={assetType:s,hasConstraints:false};if(s==="file"){let n=S(e);n.length>0&&(t.extensions=n,t.hasConstraints=true);let i=R(e);i&&(t.fileType=i,t.hasConstraints=true);}return t}function V(e,s){var i,r,a,l,u,d;if(!s||!e)return true;let t=F(s);if(!t)return true;let n=(i=e.assetType)!=null?i:e.asset_type;if(t.assetType&&n!==t.assetType)return false;if(t.assetType==="file"){let p=(a=(r=e.asset)==null?void 0:r.metadata)!=null?a:{};if(t.extensions&&t.extensions.length>0){let o=String((l=p.extension)!=null?l:"").toLowerCase();if(!o||!t.extensions.includes(o))return false}if(t.fileType){let o=String((d=(u=p.file_type)!=null?u:p.type)!=null?d:"").toLowerCase().split("/")[0],c=t.fileType.toLowerCase();if(o&&c&&!o.includes(c)&&o!==c)return false}}return true}function M(e,s){if(!e||!Object.keys(e).length)return null;let t=s&&L(s)||Object.keys(e)[0],n=e[t];return n?{key:t,asset_id:n.asset_id,asset_type:n.asset_type}:null}function $(e){return e?Object.fromEntries(Object.entries(e).map(([s,t])=>[s,{assetId:t.asset_id,assetType:t.asset_type}])):{}}export{P as a,T as b,E as c,q as d,K as e,Q as f,j as g,L as h,B as i,F as j,V as k,M as l,$ as m};//# sourceMappingURL=chunk-64ZUBBP7.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-64ZUBBP7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/quest-submission.ts"],"names":["isPlainObject","value","normalizeFileExtension","safe","normalizeFileExtensions","rawValues","entry","KeyedAssetRefsSchema","record","string","object","uuid","AssetTypeSchema","KeyedAssetInputValueSchema","union","optional","KeyedAssetInputSchema","QuestSubmissionAssetDeclarationSchema","RouteInputAssetDeclarationSchema","boolean","readDeclarationExtensions","declaration","readDeclarationFilter","getRouteInputDeclarationsFromRoute","route","_a","detail","inputs","entries","declarationToSubmissionDeclaration","extensions","filter","materializeContributorSubmissionAssets","routeInputs","pinnedKeys","pinned","out","key","getPrimaryDeclarationKey","declarations","primary","d","getSubmissionAssetShape","item","_b","materialized","declarationToPickerFilters","assetType","filters","fileType","assetMatchesDeclaration","asset","_c","_d","_e","_f","metadata","ext","type","expected","getPrimaryAssetRef","refs","ref","toRouteInputAssets"],"mappings":"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","file":"chunk-64ZUBBP7.js","sourcesContent":["import {\n object,\n string,\n record,\n optional,\n boolean,\n array,\n uuid,\n union,\n type z,\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"../schema/common\";\nimport { RouteInputAssetDeclarationSchema } from \"../schema/services\";\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction normalizeFileExtension(value: string | null | undefined): string | null {\n if (!value) return null;\n const normalized = value.replace(/^\\.+/, \"\").trim().toLowerCase();\n const safe = normalized.replace(/[^a-z0-9]/g, \"\");\n if (!safe || /^\\d+$/.test(safe) || safe.length > 12) return null;\n return safe;\n}\n\nfunction normalizeFileExtensions(\n value: string | string[] | null | undefined\n): string[] {\n const rawValues = Array.isArray(value)\n ? value\n : typeof value === \"string\"\n ? value.split(/[\\s,]+/)\n : [];\n return Array.from(\n new Set(\n rawValues\n .map((entry) => normalizeFileExtension(entry))\n .filter((entry): entry is string => Boolean(entry))\n )\n );\n}\n\n/** Stored on entries and eval_static_inputs after server normalization. */\nexport const KeyedAssetRefsSchema = record(\n string(),\n object({\n asset_id: uuid(),\n asset_type: AssetTypeSchema,\n })\n);\n\n/** Accepted on POST /quests/:id/entries/create — server fills asset_type. */\nexport const KeyedAssetInputValueSchema = union([\n uuid(),\n object({\n asset_id: uuid(),\n asset_type: optional(AssetTypeSchema),\n }),\n]);\n\nexport const KeyedAssetInputSchema = record(\n string(),\n KeyedAssetInputValueSchema\n);\n\nexport const QuestSubmissionAssetDeclarationSchema =\n RouteInputAssetDeclarationSchema.extend({\n required: optional(boolean()).default(true),\n });\n\nexport type KeyedAssetRefs = z.infer<typeof KeyedAssetRefsSchema>;\nexport type KeyedAssetInput = z.infer<typeof KeyedAssetInputSchema>;\nexport type QuestSubmissionAssetDeclaration = z.infer<\n typeof QuestSubmissionAssetDeclarationSchema\n>;\n\nexport type AssetDeclarationPickerFilters = {\n assetType?: string;\n fileType?: string;\n extensions?: string[];\n hasConstraints: boolean;\n};\n\nexport type QuestSubmissionItemInput = {\n eval_route_id?: string | null;\n submission_assets?: Record<string, QuestSubmissionAssetDeclaration> | null;\n eval_static_inputs?: KeyedAssetRefs | null;\n expected_asset_type?: string | null;\n};\n\nexport type RouteInputDeclarationLike = {\n asset_type?: string | null;\n primary?: boolean;\n input_filter?: string | null;\n filter?: string | null;\n file_extensions?: string[] | null;\n input_file_extensions?: string[] | null;\n};\n\nexport type RouteForSubmissionShape = {\n route?: {\n input_assets?: Record<string, RouteInputDeclarationLike> | null;\n input_type?: string | null;\n input_filter?: string | null;\n input_file_extensions?: string[] | null;\n } | null;\n} | null;\n\nfunction readDeclarationExtensions(\n declaration: RouteInputDeclarationLike\n): string[] {\n return normalizeFileExtensions([\n ...(Array.isArray(declaration.file_extensions)\n ? declaration.file_extensions\n : []),\n ...(Array.isArray(declaration.input_file_extensions)\n ? declaration.input_file_extensions\n : []),\n ].join(\",\"));\n}\n\nfunction readDeclarationFilter(\n declaration: RouteInputDeclarationLike\n): string | undefined {\n return declaration.input_filter || declaration.filter || undefined;\n}\n\n/** Route keyed inputs as a flat map (includes legacy input_type fallback). */\nexport function getRouteInputDeclarationsFromRoute(\n route: RouteForSubmissionShape\n): Record<string, RouteInputDeclarationLike> {\n const detail = route?.route;\n if (!detail) return {};\n\n const inputs = detail.input_assets;\n if (isPlainObject(inputs)) {\n const entries = Object.entries(inputs).filter(([, value]) =>\n isPlainObject(value)\n ) as [string, RouteInputDeclarationLike][];\n if (entries.length > 0) {\n return Object.fromEntries(entries);\n }\n }\n\n if (detail.input_type) {\n return {\n [detail.input_type]: {\n asset_type: detail.input_type,\n primary: true,\n input_filter: detail.input_filter,\n input_file_extensions: detail.input_file_extensions ?? null,\n },\n };\n }\n\n return {};\n}\n\nexport function declarationToSubmissionDeclaration(\n declaration: RouteInputDeclarationLike\n): QuestSubmissionAssetDeclaration {\n const extensions = readDeclarationExtensions(declaration);\n const filter = readDeclarationFilter(declaration);\n return {\n asset_type: declaration.asset_type as QuestSubmissionAssetDeclaration[\"asset_type\"],\n primary: declaration.primary,\n input_filter: (filter ?? null) as QuestSubmissionAssetDeclaration[\"input_filter\"],\n file_extensions: extensions.length > 0 ? extensions : null,\n required: true,\n };\n}\n\n/** Materialize contributor declarations from route inputs minus pinned keys. */\nexport function materializeContributorSubmissionAssets(\n routeInputs: Record<string, RouteInputDeclarationLike>,\n pinnedKeys: string[]\n): Record<string, QuestSubmissionAssetDeclaration> {\n const pinned = new Set(pinnedKeys);\n const out: Record<string, QuestSubmissionAssetDeclaration> = {};\n for (const [key, declaration] of Object.entries(routeInputs)) {\n if (pinned.has(key)) continue;\n out[key] = declarationToSubmissionDeclaration(declaration);\n }\n return out;\n}\n\nexport function getPrimaryDeclarationKey(\n declarations: Record<string, QuestSubmissionAssetDeclaration>\n): string | null {\n const entries = Object.entries(declarations);\n if (!entries.length) return null;\n const primary = entries.find(([, d]) => d.primary === true);\n if (primary) return primary[0];\n if (entries.length === 1) return entries[0][0];\n return entries[0][0];\n}\n\nexport function getSubmissionAssetShape(\n item: QuestSubmissionItemInput,\n route?: RouteForSubmissionShape | null\n): {\n contributorKeys: string[];\n declarations: Record<string, QuestSubmissionAssetDeclaration>;\n pinned: KeyedAssetRefs;\n} {\n const pinned: KeyedAssetRefs = item.eval_static_inputs ?? {};\n\n if (item.eval_route_id && route) {\n const routeInputs = getRouteInputDeclarationsFromRoute(route);\n const pinnedKeys = Object.keys(pinned);\n const materialized = materializeContributorSubmissionAssets(\n routeInputs,\n pinnedKeys\n );\n return {\n contributorKeys: Object.keys(materialized),\n declarations: materialized,\n pinned,\n };\n }\n\n const declarations = item.submission_assets ?? {};\n return {\n contributorKeys: Object.keys(declarations),\n declarations,\n pinned,\n };\n}\n\nexport function declarationToPickerFilters(\n declaration: RouteInputDeclarationLike | QuestSubmissionAssetDeclaration | null | undefined\n): AssetDeclarationPickerFilters | null {\n if (!declaration) return null;\n const assetType = declaration.asset_type || undefined;\n if (!assetType) return null;\n\n const filters: AssetDeclarationPickerFilters = {\n assetType,\n hasConstraints: false,\n };\n\n if (assetType === \"file\") {\n const extensions = readDeclarationExtensions(declaration);\n if (extensions.length > 0) {\n filters.extensions = extensions;\n filters.hasConstraints = true;\n }\n const fileType = readDeclarationFilter(declaration);\n if (fileType) {\n filters.fileType = fileType;\n filters.hasConstraints = true;\n }\n }\n\n return filters;\n}\n\nexport function assetMatchesDeclaration(\n asset:\n | {\n assetType?: string | null;\n asset_type?: string | null;\n asset?: { metadata?: Record<string, unknown> } | null;\n }\n | null\n | undefined,\n declaration: RouteInputDeclarationLike | QuestSubmissionAssetDeclaration | null | undefined\n): boolean {\n if (!declaration || !asset) return true;\n const filters = declarationToPickerFilters(declaration);\n if (!filters) return true;\n\n const assetType = asset.assetType ?? asset.asset_type;\n if (filters.assetType && assetType !== filters.assetType) return false;\n\n if (filters.assetType === \"file\") {\n const metadata = asset.asset?.metadata ?? {};\n if (filters.extensions && filters.extensions.length > 0) {\n const ext = String(metadata.extension ?? \"\").toLowerCase();\n if (!ext || !filters.extensions.includes(ext)) return false;\n }\n if (filters.fileType) {\n const type = String(metadata.file_type ?? metadata.type ?? \"\")\n .toLowerCase()\n .split(\"/\")[0];\n const expected = filters.fileType.toLowerCase();\n if (type && expected && !type.includes(expected) && type !== expected) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nexport function getPrimaryAssetRef(\n refs: KeyedAssetRefs | null | undefined,\n declarations?: Record<string, QuestSubmissionAssetDeclaration> | null\n): { key: string; asset_id: string; asset_type: string } | null {\n if (!refs || !Object.keys(refs).length) return null;\n const key =\n (declarations && getPrimaryDeclarationKey(declarations)) ||\n Object.keys(refs)[0];\n const ref = refs[key];\n if (!ref) return null;\n return { key, asset_id: ref.asset_id, asset_type: ref.asset_type };\n}\n\nexport function toRouteInputAssets(\n refs: KeyedAssetRefs | null | undefined\n): Record<string, { assetId: string; assetType: string }> {\n if (!refs) return {};\n return Object.fromEntries(\n Object.entries(refs).map(([key, ref]) => [\n key,\n { assetId: ref.asset_id, assetType: ref.asset_type },\n ])\n );\n}\n\n/** @deprecated Use declarationToPickerFilters */\nexport type EvalSubmissionFilters = AssetDeclarationPickerFilters;\n"]}
|
package/dist/chunk-ADLJ3UUW.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkXEA4DDOE_cjs=require('./chunk-XEA4DDOE.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),zod=require('zod');function _(e){return !!e&&typeof e=="object"&&!Array.isArray(e)}function k(e){if(!e)return null;let t=e.replace(/^\.+/,"").trim().toLowerCase().replace(/[^a-z0-9]/g,"");return !t||/^\d+$/.test(t)||t.length>12?null:t}function I(e){let s=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[];return Array.from(new Set(s.map(t=>k(t)).filter(t=>!!t)))}var P=zod.record(zod.string(),zod.object({asset_id:zod.uuid(),asset_type:chunkYFEGRZXL_cjs.a})),T=zod.union([zod.uuid(),zod.object({asset_id:zod.uuid(),asset_type:zod.optional(chunkYFEGRZXL_cjs.a)})]),E=zod.record(zod.string(),T),q=chunkXEA4DDOE_cjs.e.extend({required:zod.optional(zod.boolean()).default(true)});function S(e){return I([...Array.isArray(e.file_extensions)?e.file_extensions:[],...Array.isArray(e.input_file_extensions)?e.input_file_extensions:[]].join(","))}function R(e){return e.input_filter||e.filter||void 0}function K(e){var n;let s=e==null?void 0:e.route;if(!s)return {};let t=s.input_assets;if(_(t)){let i=Object.entries(t).filter(([,r])=>_(r));if(i.length>0)return Object.fromEntries(i)}return s.input_type?{[s.input_type]:{asset_type:s.input_type,primary:true,input_filter:s.input_filter,input_file_extensions:(n=s.input_file_extensions)!=null?n:null}}:{}}function Q(e){let s=S(e),t=R(e);return {asset_type:e.asset_type,primary:e.primary,input_filter:t!=null?t:null,file_extensions:s.length>0?s:null,required:true}}function j(e,s){let t=new Set(s),n={};for(let[i,r]of Object.entries(e))t.has(i)||(n[i]=Q(r));return n}function L(e){let s=Object.entries(e);if(!s.length)return null;let t=s.find(([,n])=>n.primary===true);return t?t[0]:(s.length===1,s[0][0])}function B(e,s){var i,r;let t=(i=e.eval_static_inputs)!=null?i:{};if(e.eval_route_id&&s){let a=K(s),l=Object.keys(t),u=j(a,l);return {contributorKeys:Object.keys(u),declarations:u,pinned:t}}let n=(r=e.submission_assets)!=null?r:{};return {contributorKeys:Object.keys(n),declarations:n,pinned:t}}function F(e){if(!e)return null;let s=e.asset_type||void 0;if(!s)return null;let t={assetType:s,hasConstraints:false};if(s==="file"){let n=S(e);n.length>0&&(t.extensions=n,t.hasConstraints=true);let i=R(e);i&&(t.fileType=i,t.hasConstraints=true);}return t}function V(e,s){var i,r,a,l,u,d;if(!s||!e)return true;let t=F(s);if(!t)return true;let n=(i=e.assetType)!=null?i:e.asset_type;if(t.assetType&&n!==t.assetType)return false;if(t.assetType==="file"){let p=(a=(r=e.asset)==null?void 0:r.metadata)!=null?a:{};if(t.extensions&&t.extensions.length>0){let o=String((l=p.extension)!=null?l:"").toLowerCase();if(!o||!t.extensions.includes(o))return false}if(t.fileType){let o=String((d=(u=p.file_type)!=null?u:p.type)!=null?d:"").toLowerCase().split("/")[0],c=t.fileType.toLowerCase();if(o&&c&&!o.includes(c)&&o!==c)return false}}return true}function M(e,s){if(!e||!Object.keys(e).length)return null;let t=s&&L(s)||Object.keys(e)[0],n=e[t];return n?{key:t,asset_id:n.asset_id,asset_type:n.asset_type}:null}function $(e){return e?Object.fromEntries(Object.entries(e).map(([s,t])=>[s,{assetId:t.asset_id,assetType:t.asset_type}])):{}}exports.a=P;exports.b=T;exports.c=E;exports.d=q;exports.e=K;exports.f=Q;exports.g=j;exports.h=L;exports.i=B;exports.j=F;exports.k=V;exports.l=M;exports.m=$;//# sourceMappingURL=chunk-ADLJ3UUW.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-ADLJ3UUW.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/quest-submission.ts"],"names":["isPlainObject","value","normalizeFileExtension","safe","normalizeFileExtensions","rawValues","entry","KeyedAssetRefsSchema","record","string","object","uuid","AssetTypeSchema","KeyedAssetInputValueSchema","union","optional","KeyedAssetInputSchema","QuestSubmissionAssetDeclarationSchema","RouteInputAssetDeclarationSchema","boolean","readDeclarationExtensions","declaration","readDeclarationFilter","getRouteInputDeclarationsFromRoute","route","_a","detail","inputs","entries","declarationToSubmissionDeclaration","extensions","filter","materializeContributorSubmissionAssets","routeInputs","pinnedKeys","pinned","out","key","getPrimaryDeclarationKey","declarations","primary","d","getSubmissionAssetShape","item","_b","materialized","declarationToPickerFilters","assetType","filters","fileType","assetMatchesDeclaration","asset","_c","_d","_e","_f","metadata","ext","type","expected","getPrimaryAssetRef","refs","ref","toRouteInputAssets"],"mappings":"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","file":"chunk-ADLJ3UUW.cjs","sourcesContent":["import {\n object,\n string,\n record,\n optional,\n boolean,\n array,\n uuid,\n union,\n type z,\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"../schema/common\";\nimport { RouteInputAssetDeclarationSchema } from \"../schema/services\";\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction normalizeFileExtension(value: string | null | undefined): string | null {\n if (!value) return null;\n const normalized = value.replace(/^\\.+/, \"\").trim().toLowerCase();\n const safe = normalized.replace(/[^a-z0-9]/g, \"\");\n if (!safe || /^\\d+$/.test(safe) || safe.length > 12) return null;\n return safe;\n}\n\nfunction normalizeFileExtensions(\n value: string | string[] | null | undefined\n): string[] {\n const rawValues = Array.isArray(value)\n ? value\n : typeof value === \"string\"\n ? value.split(/[\\s,]+/)\n : [];\n return Array.from(\n new Set(\n rawValues\n .map((entry) => normalizeFileExtension(entry))\n .filter((entry): entry is string => Boolean(entry))\n )\n );\n}\n\n/** Stored on entries and eval_static_inputs after server normalization. */\nexport const KeyedAssetRefsSchema = record(\n string(),\n object({\n asset_id: uuid(),\n asset_type: AssetTypeSchema,\n })\n);\n\n/** Accepted on POST /quests/:id/entries/create — server fills asset_type. */\nexport const KeyedAssetInputValueSchema = union([\n uuid(),\n object({\n asset_id: uuid(),\n asset_type: optional(AssetTypeSchema),\n }),\n]);\n\nexport const KeyedAssetInputSchema = record(\n string(),\n KeyedAssetInputValueSchema\n);\n\nexport const QuestSubmissionAssetDeclarationSchema =\n RouteInputAssetDeclarationSchema.extend({\n required: optional(boolean()).default(true),\n });\n\nexport type KeyedAssetRefs = z.infer<typeof KeyedAssetRefsSchema>;\nexport type KeyedAssetInput = z.infer<typeof KeyedAssetInputSchema>;\nexport type QuestSubmissionAssetDeclaration = z.infer<\n typeof QuestSubmissionAssetDeclarationSchema\n>;\n\nexport type AssetDeclarationPickerFilters = {\n assetType?: string;\n fileType?: string;\n extensions?: string[];\n hasConstraints: boolean;\n};\n\nexport type QuestSubmissionItemInput = {\n eval_route_id?: string | null;\n submission_assets?: Record<string, QuestSubmissionAssetDeclaration> | null;\n eval_static_inputs?: KeyedAssetRefs | null;\n expected_asset_type?: string | null;\n};\n\nexport type RouteInputDeclarationLike = {\n asset_type?: string | null;\n primary?: boolean;\n input_filter?: string | null;\n filter?: string | null;\n file_extensions?: string[] | null;\n input_file_extensions?: string[] | null;\n};\n\nexport type RouteForSubmissionShape = {\n route?: {\n input_assets?: Record<string, RouteInputDeclarationLike> | null;\n input_type?: string | null;\n input_filter?: string | null;\n input_file_extensions?: string[] | null;\n } | null;\n} | null;\n\nfunction readDeclarationExtensions(\n declaration: RouteInputDeclarationLike\n): string[] {\n return normalizeFileExtensions([\n ...(Array.isArray(declaration.file_extensions)\n ? declaration.file_extensions\n : []),\n ...(Array.isArray(declaration.input_file_extensions)\n ? declaration.input_file_extensions\n : []),\n ].join(\",\"));\n}\n\nfunction readDeclarationFilter(\n declaration: RouteInputDeclarationLike\n): string | undefined {\n return declaration.input_filter || declaration.filter || undefined;\n}\n\n/** Route keyed inputs as a flat map (includes legacy input_type fallback). */\nexport function getRouteInputDeclarationsFromRoute(\n route: RouteForSubmissionShape\n): Record<string, RouteInputDeclarationLike> {\n const detail = route?.route;\n if (!detail) return {};\n\n const inputs = detail.input_assets;\n if (isPlainObject(inputs)) {\n const entries = Object.entries(inputs).filter(([, value]) =>\n isPlainObject(value)\n ) as [string, RouteInputDeclarationLike][];\n if (entries.length > 0) {\n return Object.fromEntries(entries);\n }\n }\n\n if (detail.input_type) {\n return {\n [detail.input_type]: {\n asset_type: detail.input_type,\n primary: true,\n input_filter: detail.input_filter,\n input_file_extensions: detail.input_file_extensions ?? null,\n },\n };\n }\n\n return {};\n}\n\nexport function declarationToSubmissionDeclaration(\n declaration: RouteInputDeclarationLike\n): QuestSubmissionAssetDeclaration {\n const extensions = readDeclarationExtensions(declaration);\n const filter = readDeclarationFilter(declaration);\n return {\n asset_type: declaration.asset_type as QuestSubmissionAssetDeclaration[\"asset_type\"],\n primary: declaration.primary,\n input_filter: (filter ?? null) as QuestSubmissionAssetDeclaration[\"input_filter\"],\n file_extensions: extensions.length > 0 ? extensions : null,\n required: true,\n };\n}\n\n/** Materialize contributor declarations from route inputs minus pinned keys. */\nexport function materializeContributorSubmissionAssets(\n routeInputs: Record<string, RouteInputDeclarationLike>,\n pinnedKeys: string[]\n): Record<string, QuestSubmissionAssetDeclaration> {\n const pinned = new Set(pinnedKeys);\n const out: Record<string, QuestSubmissionAssetDeclaration> = {};\n for (const [key, declaration] of Object.entries(routeInputs)) {\n if (pinned.has(key)) continue;\n out[key] = declarationToSubmissionDeclaration(declaration);\n }\n return out;\n}\n\nexport function getPrimaryDeclarationKey(\n declarations: Record<string, QuestSubmissionAssetDeclaration>\n): string | null {\n const entries = Object.entries(declarations);\n if (!entries.length) return null;\n const primary = entries.find(([, d]) => d.primary === true);\n if (primary) return primary[0];\n if (entries.length === 1) return entries[0][0];\n return entries[0][0];\n}\n\nexport function getSubmissionAssetShape(\n item: QuestSubmissionItemInput,\n route?: RouteForSubmissionShape | null\n): {\n contributorKeys: string[];\n declarations: Record<string, QuestSubmissionAssetDeclaration>;\n pinned: KeyedAssetRefs;\n} {\n const pinned: KeyedAssetRefs = item.eval_static_inputs ?? {};\n\n if (item.eval_route_id && route) {\n const routeInputs = getRouteInputDeclarationsFromRoute(route);\n const pinnedKeys = Object.keys(pinned);\n const materialized = materializeContributorSubmissionAssets(\n routeInputs,\n pinnedKeys\n );\n return {\n contributorKeys: Object.keys(materialized),\n declarations: materialized,\n pinned,\n };\n }\n\n const declarations = item.submission_assets ?? {};\n return {\n contributorKeys: Object.keys(declarations),\n declarations,\n pinned,\n };\n}\n\nexport function declarationToPickerFilters(\n declaration: RouteInputDeclarationLike | QuestSubmissionAssetDeclaration | null | undefined\n): AssetDeclarationPickerFilters | null {\n if (!declaration) return null;\n const assetType = declaration.asset_type || undefined;\n if (!assetType) return null;\n\n const filters: AssetDeclarationPickerFilters = {\n assetType,\n hasConstraints: false,\n };\n\n if (assetType === \"file\") {\n const extensions = readDeclarationExtensions(declaration);\n if (extensions.length > 0) {\n filters.extensions = extensions;\n filters.hasConstraints = true;\n }\n const fileType = readDeclarationFilter(declaration);\n if (fileType) {\n filters.fileType = fileType;\n filters.hasConstraints = true;\n }\n }\n\n return filters;\n}\n\nexport function assetMatchesDeclaration(\n asset:\n | {\n assetType?: string | null;\n asset_type?: string | null;\n asset?: { metadata?: Record<string, unknown> } | null;\n }\n | null\n | undefined,\n declaration: RouteInputDeclarationLike | QuestSubmissionAssetDeclaration | null | undefined\n): boolean {\n if (!declaration || !asset) return true;\n const filters = declarationToPickerFilters(declaration);\n if (!filters) return true;\n\n const assetType = asset.assetType ?? asset.asset_type;\n if (filters.assetType && assetType !== filters.assetType) return false;\n\n if (filters.assetType === \"file\") {\n const metadata = asset.asset?.metadata ?? {};\n if (filters.extensions && filters.extensions.length > 0) {\n const ext = String(metadata.extension ?? \"\").toLowerCase();\n if (!ext || !filters.extensions.includes(ext)) return false;\n }\n if (filters.fileType) {\n const type = String(metadata.file_type ?? metadata.type ?? \"\")\n .toLowerCase()\n .split(\"/\")[0];\n const expected = filters.fileType.toLowerCase();\n if (type && expected && !type.includes(expected) && type !== expected) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nexport function getPrimaryAssetRef(\n refs: KeyedAssetRefs | null | undefined,\n declarations?: Record<string, QuestSubmissionAssetDeclaration> | null\n): { key: string; asset_id: string; asset_type: string } | null {\n if (!refs || !Object.keys(refs).length) return null;\n const key =\n (declarations && getPrimaryDeclarationKey(declarations)) ||\n Object.keys(refs)[0];\n const ref = refs[key];\n if (!ref) return null;\n return { key, asset_id: ref.asset_id, asset_type: ref.asset_type };\n}\n\nexport function toRouteInputAssets(\n refs: KeyedAssetRefs | null | undefined\n): Record<string, { assetId: string; assetType: string }> {\n if (!refs) return {};\n return Object.fromEntries(\n Object.entries(refs).map(([key, ref]) => [\n key,\n { assetId: ref.asset_id, assetType: ref.asset_type },\n ])\n );\n}\n\n/** @deprecated Use declarationToPickerFilters */\nexport type EvalSubmissionFilters = AssetDeclarationPickerFilters;\n"]}
|
package/dist/chunk-AIIAIQ6L.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkDSJ23DIB_cjs=require('./chunk-DSJ23DIB.cjs'),chunkRMMMRN4X_cjs=require('./chunk-RMMMRN4X.cjs'),chunkYTCAK2AH_cjs=require('./chunk-YTCAK2AH.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),zod=require('zod');var b=zod.object({members:zod.array(zod.string())}),y=b.extend(chunkRMMMRN4X_cjs.b.partial().shape),w=chunkRMMMRN4X_cjs.f.extend({asset_type:chunkYFEGRZXL_cjs.a.default("conversation"),name:zod.nullable(zod.string()),metadata:y,users:zod.optional(zod.nullable(zod.array(chunkYTCAK2AH_cjs.b)))}),C=chunkRMMMRN4X_cjs.h.extend({asset_type:zod.literal("conversation").default("conversation"),monetization:chunkYFEGRZXL_cjs.d.default("none"),visibility:chunkYFEGRZXL_cjs.b.default("private"),name:zod.string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),metadata:y}),B=C.transform(e=>chunkRMMMRN4X_cjs.a(e)),P=C.omit({id:true,org_id:true,team_id:true}).partial().transform(e=>chunkRMMMRN4X_cjs.a(e)),x=zod.union([zod.literal("heart"),zod.literal("thumbs-up"),zod.literal("thumbs-down"),zod.literal("question"),zod.literal("skull")]),R=zod.object({id:zod.uuid(),message_id:zod.uuid(),conversation_id:zod.uuid(),user_id:zod.uuid(),value:x,created_at:zod.string()}),k=zod.object({id:zod.uuid(),conversation_id:zod.uuid(),turn_id:zod.uuid(),seq:zod.number(),user_id:zod.uuid(),user:zod.optional(zod.nullable(chunkYTCAK2AH_cjs.b)),type:zod.string().default("message"),created_at:zod.string(),last_updated:zod.string(),viewers:zod.array(zod.uuid()),json:chunkDSJ23DIB_cjs.a,text:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),reactions:zod.optional(zod.nullable(zod.array(R))),assets:zod.optional(zod.nullable(zod.array(chunkRMMMRN4X_cjs.f.partial()))),users:zod.optional(zod.nullable(zod.array(chunkYTCAK2AH_cjs.b.partial()))),actions:zod.optional(zod.nullable(zod.array(chunkJRBBNFFI_cjs.a)))});exports.a=w;exports.b=B;exports.c=P;exports.d=x;exports.e=R;exports.f=k;//# sourceMappingURL=chunk-AIIAIQ6L.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-AIIAIQ6L.cjs.map
|
package/dist/chunk-CDJH4OT5.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {enum as _enum,object,string,optional,uuid,nullable,array,boolean,number}from'zod';var d=_enum(["base","agent","verified"]),f=object({id:uuid(),user_id:uuid(),username:optional(nullable(string())),name:optional(nullable(string())),first_name:optional(nullable(string())),last_name:optional(nullable(string())),avatar_path:optional(nullable(string())),bio:optional(nullable(string())),is_provisioned:optional(boolean()),claimed_at:optional(nullable(string())),urls:optional(array(object({value:string().url()}))),post_id:optional(nullable(uuid())),actor_type:d,plan_type:_enum(["free","gold"]),last_active:string()}),c=f.extend({isFollowing:boolean(),isFollowed:boolean(),isSelf:boolean(),followers:number().default(0),following:number().default(0),totalXp:number().default(0),level:number().default(1)}),u=f.partial().omit({id:true,user_id:true,last_active:true,is_provisioned:true,claimed_at:true,actor_type:true});export{d as a,f as b,c,u as d};//# sourceMappingURL=chunk-CDJH4OT5.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-CDJH4OT5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/users.ts"],"names":["ActorTypeSchema","zodEnum","ProfileSchema","object","uuid","optional","nullable","string","boolean","array","ReadProfileSchema","number","UpdateProfileSchema"],"mappings":"0FAaMA,IAAAA,CAAAA,CAAkBC,KAAQ,CAAA,CAAC,OAAQ,OAAS,CAAA,UAAU,CAAC,CAEvDC,CAAAA,CAAAA,CAAgBC,OAAO,CAC3B,EAAA,CAAIC,MACJ,CAAA,OAAA,CAASA,MACT,CAAA,QAAA,CAAUC,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACrC,IAAMF,CAAAA,QAAAA,CAASC,SAASC,MAAO,EAAC,CAAC,CACjC,CAAA,UAAA,CAAYF,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACvC,UAAWF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,EACtC,WAAaF,CAAAA,QAAAA,CAASC,SAASC,MAAO,EAAC,CAAC,CACxC,CAAA,GAAA,CAAKF,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CAChC,eAAgBF,QAASG,CAAAA,OAAAA,EAAS,CAClC,CAAA,UAAA,CAAYH,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACvC,IAAMF,CAAAA,QAAAA,CACJI,MACEN,MAAO,CAAA,CACL,MAAOI,MAAO,EAAA,CAAE,KAClB,CAAC,CACH,CACF,CAAA,CACA,QAASF,QAASC,CAAAA,QAAAA,CAASF,MAAM,CAAC,EAClC,UAAYJ,CAAAA,CAAAA,CACZ,UAAWC,KAAQ,CAAA,CAAC,OAAQ,MAAM,CAAC,EACnC,WAAaM,CAAAA,MAAAA,EACf,CAAC,CAAA,CAEKG,EAAoBR,CAAc,CAAA,MAAA,CAAO,CAC7C,WAAaM,CAAAA,OAAAA,GACb,UAAYA,CAAAA,OAAAA,GACZ,MAAQA,CAAAA,OAAAA,EACR,CAAA,SAAA,CAAWG,QAAS,CAAA,OAAA,CAAQ,CAAC,CAC7B,CAAA,SAAA,CAAWA,QAAS,CAAA,OAAA,CAAQ,CAAC,CAC7B,CAAA,OAAA,CAASA,QAAS,CAAA,OAAA,CAAQ,CAAC,CAC3B,CAAA,KAAA,CAAOA,QAAS,CAAA,OAAA,CAAQ,CAAC,CAC3B,CAAC,EAEKC,CAAsBV,CAAAA,CAAAA,CAAc,SAAU,CAAA,IAAA,CAAK,CACvD,EAAI,CAAA,IAAA,CACJ,QAAS,IACT,CAAA,WAAA,CAAa,KACb,cAAgB,CAAA,IAAA,CAChB,WAAY,IACZ,CAAA,UAAA,CAAY,IAEd,CAAC","file":"chunk-CDJH4OT5.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n boolean,\n enum as zodEnum,\n type z,\n optional,\n nullable,\n uuid\n} from \"zod\";\n\nconst ActorTypeSchema = zodEnum([\"base\", \"agent\", \"verified\"]);\n\nconst ProfileSchema = object({\n id: uuid(),\n user_id: uuid(),\n username: optional(nullable(string())),\n name: optional(nullable(string())),\n first_name: optional(nullable(string())),\n last_name: optional(nullable(string())),\n avatar_path: optional(nullable(string())),\n bio: optional(nullable(string())),\n is_provisioned: optional(boolean()),\n claimed_at: optional(nullable(string())),\n urls: optional(\n array(\n object({\n value: string().url(),\n })\n )\n ),\n post_id: optional(nullable(uuid())),\n actor_type: ActorTypeSchema,\n plan_type: zodEnum([\"free\", \"gold\"]),\n last_active: string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n isFollowing: boolean(),\n isFollowed: boolean(),\n isSelf: boolean(),\n followers: number().default(0),\n following: number().default(0),\n totalXp: number().default(0),\n level: number().default(1),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n is_provisioned: true,\n claimed_at: true,\n actor_type: true,\n // username: true, // once set, users cannot update their username\n});\n\nexport { ActorTypeSchema, ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type ActorType = z.infer<typeof ActorTypeSchema>;\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"]}
|
package/dist/chunk-CIEATF7M.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkADLJ3UUW_cjs=require('./chunk-ADLJ3UUW.cjs'),chunkRMMMRN4X_cjs=require('./chunk-RMMMRN4X.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),zod=require('zod');var w=zod.enum(["closable","continuous"]),E=zod.enum(["draft","open","closed","cancelled"]),l=zod.enum(["pending","in_progress","done","skipped"]),I=zod.enum(["btc","usd"]),q=zod.enum(["skipped","running","passed","failed","errored"]),k=zod.enum(["submitted","accepted","rejected"]),C=zod.enum(["desc","asc"]),T=zod.object({type:zod.string(),content:zod.optional(zod.array(zod.any())),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.any())),text:zod.optional(zod.string())}),d=zod.object({json:zod.object({type:zod.literal("doc"),content:zod.array(T)}),text:zod.string()}),A=zod.object({id:zod.uuid(),quest_id:zod.uuid(),description:d,status:l.default("pending"),auto_skipped:zod.optional(zod.nullable(zod.string().or(zod.any()))),status_before_auto_skip:zod.optional(zod.nullable(l)),sort_order:zod.number().default(0),type:zod.string().default("task"),created_by:zod.uuid(),assignee_id:zod.optional(zod.nullable(zod.uuid())),expected_asset_type:zod.optional(zod.nullable(chunkYFEGRZXL_cjs.a)),reward_xp:zod.number().int().nonnegative().default(0),reward_currency:I.default("btc"),reward_amount:zod.number().int().nonnegative().default(0),child_quest_id:zod.optional(zod.nullable(zod.uuid())),eval_route_id:zod.optional(zod.nullable(zod.uuid())),eval_score_path:zod.optional(zod.nullable(zod.string())),eval_categories_path:zod.optional(zod.nullable(zod.string())),eval_pass_min:zod.optional(zod.nullable(zod.number())),eval_pass_max:zod.optional(zod.nullable(zod.number())),leaderboard_enabled:zod.optional(zod.boolean()).default(false),leaderboard_order:zod.optional(C).default("desc"),submission_assets:zod.optional(zod.nullable(zod.record(zod.string(),chunkADLJ3UUW_cjs.d))),eval_static_inputs:zod.optional(zod.nullable(chunkADLJ3UUW_cjs.a)),notes:zod.optional(zod.nullable(zod.string())),contributor_keys:zod.optional(zod.nullable(zod.array(zod.object({key:zod.string(),required:zod.boolean().default(true),filters:zod.object({assetType:zod.optional(zod.string()),fileType:zod.optional(zod.string()),extensions:zod.optional(zod.array(zod.string())),hasConstraints:zod.boolean().default(false)})})))),created_at:zod.string(),updated_at:zod.string()}),R=A,x=zod.object({description:zod.union([zod.string().min(1,{message:"Item description cannot be empty"}),d]),type:zod.optional(zod.string()).default("task"),sort_order:zod.optional(zod.number().int()),assignee_id:zod.optional(zod.nullable(zod.uuid())),expected_asset_type:zod.optional(zod.nullable(chunkYFEGRZXL_cjs.a)),reward_xp:zod.optional(zod.number().int().nonnegative()).default(0),reward_currency:zod.optional(I).default("btc"),reward_amount:zod.optional(zod.number().int().nonnegative()).default(0),child_quest_id:zod.optional(zod.nullable(zod.uuid())),eval_route_id:zod.optional(zod.nullable(zod.uuid())),eval_score_path:zod.optional(zod.nullable(zod.string())),eval_categories_path:zod.optional(zod.nullable(zod.string())),eval_pass_min:zod.optional(zod.nullable(zod.number())),eval_pass_max:zod.optional(zod.nullable(zod.number())),leaderboard_enabled:zod.optional(zod.boolean()).default(false),leaderboard_order:zod.optional(C).default("desc"),submission_assets:zod.optional(zod.nullable(zod.record(zod.string(),chunkADLJ3UUW_cjs.d))),eval_static_inputs:zod.optional(zod.nullable(chunkADLJ3UUW_cjs.a)),notes:zod.optional(zod.nullable(zod.string()))}),U=zod.union([zod.string().min(1,{message:"Item description cannot be empty"}).transform(u=>x.parse({description:u})),x]),j=zod.object({type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),closed_at:zod.optional(zod.nullable(zod.string()))}),O=chunkRMMMRN4X_cjs.f.extend({asset_type:zod.literal("quest").default("quest"),metadata:zod.optional(zod.nullable(chunkRMMMRN4X_cjs.b.partial())),quest:zod.optional(j.partial()),items:zod.optional(zod.array(R.partial())),progress:zod.optional(zod.object({total:zod.number(),resolved:zod.number(),remaining:zod.number(),items:zod.optional(zod.array(zod.object({id:zod.string(),status:l,waiting_on:zod.optional(zod.nullable(zod.string())),waiting_until:zod.optional(zod.nullable(zod.string())),waiting_check_every:zod.optional(zod.nullable(zod.string()))}).partial()))}))}),Z=chunkRMMMRN4X_cjs.h.extend({asset_type:zod.literal("quest").default("quest"),name:zod.optional(zod.nullable(zod.string())).default(null),description:zod.optional(zod.nullable(d)),type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),items:zod.optional(zod.array(U)).default([])}).transform(u=>chunkRMMMRN4X_cjs.a(u)),F=O.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,items:true,progress:true,is_pinned_in_team:true}).extend({asset_type:zod.literal("quest").default("quest"),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(u=>chunkRMMMRN4X_cjs.a(u)),M=x.partial().extend({status:zod.optional(l)}),N=zod.object({id:zod.uuid(),quest_id:zod.uuid(),user_id:zod.uuid(),item_id:zod.optional(zod.nullable(zod.uuid())),asset_id:zod.optional(zod.nullable(zod.uuid())),asset_type:zod.optional(zod.nullable(chunkYFEGRZXL_cjs.a)),assets:zod.optional(zod.nullable(chunkADLJ3UUW_cjs.a)),description:zod.optional(zod.nullable(d)),review:zod.optional(zod.nullable(d)),status:k,reviewer_id:zod.optional(zod.nullable(zod.uuid())),reviewed_at:zod.optional(zod.nullable(zod.string())),eval_action_id:zod.optional(zod.nullable(zod.uuid())),eval_score:zod.optional(zod.nullable(zod.number())),eval_category_scores:zod.optional(zod.nullable(zod.record(zod.string(),zod.number()))),eval_status:zod.optional(zod.nullable(q)),created_at:zod.string(),updated_at:zod.string()}),P=zod.object({item_id:zod.uuid(),assets:zod.optional(zod.nullable(chunkADLJ3UUW_cjs.c)),description:zod.optional(zod.nullable(zod.union([zod.string(),d])))}),G=zod.object({status:zod.enum(["accepted","rejected"]),review:zod.optional(zod.nullable(zod.union([zod.string(),d])))});exports.a=w;exports.b=E;exports.c=l;exports.d=I;exports.e=q;exports.f=k;exports.g=C;exports.h=A;exports.i=R;exports.j=x;exports.k=U;exports.l=O;exports.m=Z;exports.n=F;exports.o=M;exports.p=N;exports.q=P;exports.r=G;//# sourceMappingURL=chunk-CIEATF7M.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-CIEATF7M.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/quests.ts"],"names":["QuestTypeSchema","zodEnum","QuestStatusSchema","QuestItemStatusSchema","RewardCurrencySchema","EntryEvalStatusSchema","EntryStatusSchema","LeaderboardOrderSchema","TipTapNode","object","string","optional","array","any","record","ContentSchema","literal","QuestItemBaseSchema","uuid","nullable","number","AssetTypeSchema","zodBoolean","QuestSubmissionAssetDeclarationSchema","KeyedAssetRefsSchema","QuestItemSchema","CreateQuestItemObjectSchema","union","CreateQuestItemSchema","description","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","KeyedAssetInputSchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-CIEATF7M.cjs","sourcesContent":["import {\n object,\n string,\n number,\n array,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n union,\n uuid,\n boolean as zodBoolean,\n enum as zodEnum,\n type ZodType,\n} from \"zod\";\n\nimport {\n AssetSchema,\n AssetMetadataSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\nimport {\n KeyedAssetRefsSchema,\n KeyedAssetInputSchema,\n QuestSubmissionAssetDeclarationSchema,\n} from \"../utils/quest-submission\";\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\n/** closable: one active entry per item per user; continuous: unlimited per item */\nconst QuestTypeSchema = zodEnum([\"closable\", \"continuous\"]);\nconst QuestStatusSchema = zodEnum([\"draft\", \"open\", \"closed\", \"cancelled\"]);\n\nconst QuestItemStatusSchema = zodEnum([\n \"pending\",\n \"in_progress\",\n \"done\",\n \"skipped\",\n]);\n\nconst RewardCurrencySchema = zodEnum([\"btc\", \"usd\"]);\n\nconst EntryEvalStatusSchema = zodEnum([\n \"skipped\",\n \"running\",\n \"passed\",\n \"failed\",\n \"errored\",\n]);\n\nconst EntryStatusSchema = zodEnum([\"submitted\", \"accepted\", \"rejected\"]);\n\n/** desc = higher scores rank first; asc = lower scores rank first */\nconst LeaderboardOrderSchema = zodEnum([\"desc\", \"asc\"]);\n\n// ── Content (TipTap) ───────────────────────────────────────────────────\n// Posts/quests share the same rich description shape: { json, text }.\n// We mirror it locally here so the quest schema doesn't depend on posts.\n\nconst TipTapNode: ZodType<any> = object({\n type: string(),\n content: optional(array(any())),\n attrs: optional(record(string(), any())),\n marks: optional(array(any())),\n text: optional(string()),\n});\n\nconst ContentSchema = object({\n json: object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n }),\n text: string(),\n});\n\n// ── Quest items ────────────────────────────────────────────────────────\n\nconst QuestItemBaseSchema = object({\n id: uuid(),\n quest_id: uuid(),\n description: ContentSchema,\n status: QuestItemStatusSchema.default(\"pending\"),\n auto_skipped: optional(nullable(string().or(any()))),\n status_before_auto_skip: optional(nullable(QuestItemStatusSchema)),\n sort_order: number().default(0),\n type: string().default(\"task\"),\n created_by: uuid(),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: number().int().nonnegative().default(0),\n reward_currency: RewardCurrencySchema.default(\"btc\"),\n reward_amount: number().int().nonnegative().default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_categories_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n leaderboard_enabled: optional(zodBoolean()).default(false),\n leaderboard_order: optional(LeaderboardOrderSchema).default(\"desc\"),\n submission_assets: optional(\n nullable(record(string(), QuestSubmissionAssetDeclarationSchema)),\n ),\n eval_static_inputs: optional(nullable(KeyedAssetRefsSchema)),\n notes: optional(nullable(string())),\n contributor_keys: optional(\n nullable(\n array(\n object({\n key: string(),\n required: zodBoolean().default(true),\n filters: object({\n assetType: optional(string()),\n fileType: optional(string()),\n extensions: optional(array(string())),\n hasConstraints: zodBoolean().default(false),\n }),\n }),\n ),\n ),\n ),\n created_at: string(),\n updated_at: string(),\n});\n\nconst QuestItemSchema = QuestItemBaseSchema;\n\n/**\n * Shape used by `POST /quests/create` (inline items) and\n * `POST /quests/:id/items` (batch add). The controller fills in\n * `quest_id`, `created_by`, and lifecycle-derived fields\n * (`auto_skipped`, `status_before_auto_skip`).\n *\n * Accepts a plain description string or TipTap Content as a convenience —\n * a bare string is lifted into `{ description }` by the `union` below.\n * The backend normalizes either shape with `toContentFromMaybeMarkdown`.\n */\nconst CreateQuestItemObjectSchema = object({\n description: union([\n string().min(1, { message: \"Item description cannot be empty\" }),\n ContentSchema,\n ]),\n type: optional(string()).default(\"task\"),\n sort_order: optional(number().int()),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: optional(number().int().nonnegative()).default(0),\n reward_currency: optional(RewardCurrencySchema).default(\"btc\"),\n // Amount is in minor units of `reward_currency`: sats for BTC, cents\n // for USD. Both fit in JS numbers comfortably for our reward sizes;\n // the underlying column is `bigint`.\n reward_amount: optional(number().int().nonnegative()).default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_categories_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n leaderboard_enabled: optional(zodBoolean()).default(false),\n leaderboard_order: optional(LeaderboardOrderSchema).default(\"desc\"),\n submission_assets: optional(\n nullable(record(string(), QuestSubmissionAssetDeclarationSchema)),\n ),\n eval_static_inputs: optional(nullable(KeyedAssetRefsSchema)),\n notes: optional(nullable(string())),\n});\n\nconst CreateQuestItemSchema = union([\n string()\n .min(1, { message: \"Item description cannot be empty\" })\n .transform((description) =>\n CreateQuestItemObjectSchema.parse({ description })\n ),\n CreateQuestItemObjectSchema,\n]);\n\n// ── Quest ──────────────────────────────────────────────────────────────\n\nconst QuestSpecificsSchema = object({\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n closed_at: optional(nullable(string())),\n});\n\nconst QuestSchema = AssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n metadata: optional(nullable(AssetMetadataSchema.partial())),\n // List and detail both nest specifics under `quest`. Detail also hoists\n // full items to the top level. Progress (counts + bar segments) is always\n // top-level `progress` on list and detail responses.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n resolved: number(),\n remaining: number(),\n // Lightweight per-item segments for progress bars (list + detail).\n items: optional(\n array(\n object({\n id: string(),\n status: QuestItemStatusSchema,\n waiting_on: optional(nullable(string())),\n waiting_until: optional(nullable(string())),\n waiting_check_every: optional(nullable(string())),\n }).partial()\n )\n ),\n })\n ),\n});\n\n/**\n * Schema used by the backend controller and SDK clients to validate /\n * default the body of `POST /quests/create`. Mirrors how\n * `CreatePostSchema` defaults `org_id`/`team_id` so non-frontend callers\n * don't have to know about `GLOBAL_ORG_ID`.\n *\n * The `items` field accepts either plain strings, TipTap Content objects, or\n * full item objects — the backend `createQuestItems`/`createQuest` paths\n * already handle both shapes, and `CreateQuestItemSchema` normalizes strings\n * into `{ description }`.\n */\nconst CreateQuestSchema = CreateAssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n name: optional(nullable(string())).default(null),\n description: optional(nullable(ContentSchema)),\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n items: optional(array(CreateQuestItemSchema)).default([]),\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestSchema = QuestSchema.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 items: true,\n progress: true,\n is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestItemSchema = CreateQuestItemObjectSchema.partial().extend({\n status: optional(QuestItemStatusSchema),\n});\n\n// ── Entries ────────────────────────────────────────────────────────────\n\nconst EntrySchema = object({\n id: uuid(),\n quest_id: uuid(),\n user_id: uuid(),\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\n assets: optional(nullable(KeyedAssetRefsSchema)),\n description: optional(nullable(ContentSchema)),\n review: optional(nullable(ContentSchema)),\n status: EntryStatusSchema,\n reviewer_id: optional(nullable(uuid())),\n reviewed_at: optional(nullable(string())),\n eval_action_id: optional(nullable(uuid())),\n eval_score: optional(nullable(number())),\n eval_category_scores: optional(nullable(record(string(), number()))),\n eval_status: optional(nullable(EntryEvalStatusSchema)),\n created_at: string(),\n updated_at: string(),\n});\n\nconst CreateEntrySchema = object({\n item_id: uuid(),\n assets: optional(nullable(KeyedAssetInputSchema)),\n description: optional(nullable(union([string(), ContentSchema]))),\n});\n\nconst ReviewEntrySchema = object({\n status: zodEnum([\"accepted\", \"rejected\"]),\n review: optional(nullable(union([string(), ContentSchema]))),\n});\n\n// ── Exports ────────────────────────────────────────────────────────────\n\nexport {\n KeyedAssetRefsSchema,\n KeyedAssetInputSchema,\n QuestSubmissionAssetDeclarationSchema,\n QuestTypeSchema,\n QuestStatusSchema,\n QuestItemStatusSchema,\n RewardCurrencySchema,\n EntryEvalStatusSchema,\n EntryStatusSchema,\n LeaderboardOrderSchema,\n QuestSchema,\n QuestItemSchema,\n QuestItemBaseSchema,\n CreateQuestSchema,\n CreateQuestItemSchema,\n CreateQuestItemObjectSchema,\n UpdateQuestSchema,\n UpdateQuestItemSchema,\n EntrySchema,\n CreateEntrySchema,\n ReviewEntrySchema,\n};\n\nexport type QuestType = z.infer<typeof QuestTypeSchema>;\nexport type QuestStatus = z.infer<typeof QuestStatusSchema>;\nexport type QuestItemStatus = z.infer<typeof QuestItemStatusSchema>;\nexport type RewardCurrency = z.infer<typeof RewardCurrencySchema>;\nexport type EntryEvalStatus = z.infer<typeof EntryEvalStatusSchema>;\nexport type EntryStatus = z.infer<typeof EntryStatusSchema>;\nexport type LeaderboardOrder = z.infer<typeof LeaderboardOrderSchema>;\nexport type Quest = z.infer<typeof QuestSchema>;\nexport type QuestItem = z.infer<typeof QuestItemSchema>;\nexport type CreateQuest = z.infer<typeof CreateQuestSchema>;\nexport type CreateQuestItem = z.infer<typeof CreateQuestItemSchema>;\nexport type UpdateQuest = z.infer<typeof UpdateQuestSchema>;\nexport type UpdateQuestItem = z.infer<typeof UpdateQuestItemSchema>;\nexport type Entry = z.infer<typeof EntrySchema>;\nexport type CreateEntry = z.infer<typeof CreateEntrySchema>;\nexport type ReviewEntry = z.infer<typeof ReviewEntrySchema>;\n"]}
|
package/dist/chunk-FGEMQEEM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-LXDNBUOU.js';import {b as b$1,f,h,a as a$1}from'./chunk-PGCNGDPK.js';import {b as b$2}from'./chunk-CDJH4OT5.js';import {a,b as b$3,d}from'./chunk-33C7IDRP.js';import {a as a$3}from'./chunk-42ADEGDM.js';import {object,array,string,optional,nullable,literal,union,uuid,number,record,any}from'zod';var b=object({members:array(string())}),y=b.extend(b$1.partial().shape),w=f.extend({asset_type:a.default("conversation"),name:nullable(string()),metadata:y,users:optional(nullable(array(b$2)))}),C=h.extend({asset_type:literal("conversation").default("conversation"),monetization:d.default("none"),visibility:b$3.default("private"),name:string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),metadata:y}),B=C.transform(e=>a$1(e)),P=C.omit({id:true,org_id:true,team_id:true}).partial().transform(e=>a$1(e)),x=union([literal("heart"),literal("thumbs-up"),literal("thumbs-down"),literal("question"),literal("skull")]),R=object({id:uuid(),message_id:uuid(),conversation_id:uuid(),user_id:uuid(),value:x,created_at:string()}),k=object({id:uuid(),conversation_id:uuid(),turn_id:uuid(),seq:number(),user_id:uuid(),user:optional(nullable(b$2)),type:string().default("message"),created_at:string(),last_updated:string(),viewers:array(uuid()),json:a$2,text:string(),metadata:optional(nullable(record(string(),any()))),reactions:optional(nullable(array(R))),assets:optional(nullable(array(f.partial()))),users:optional(nullable(array(b$2.partial()))),actions:optional(nullable(array(a$3)))});export{w as a,B as b,P as c,x as d,R as e,k as f};//# sourceMappingURL=chunk-FGEMQEEM.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-FGEMQEEM.js.map
|
package/dist/chunk-KHERHT26.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var d=["audio","video","image","pdf","3d model","atomic structure"],t={audio:["audio/mpeg","audio/wav","audio/ogg","audio/flac","audio/aac","audio/x-aiff","audio/midi","audio/x-ms-wma","audio/amr"],video:["video/mp4","video/webm","video/ogg","video/avi","video/mpeg","video/quicktime","video/x-ms-wmv","video/x-flv"],image:["image/png","image/jpeg","image/webp","image/gif","image/svg+xml","image/bmp","image/tiff","image/vnd.microsoft.icon"],pdf:["application/pdf"],"3d model":["model/obj"],"atomic structure":["chemical/x-cif","chemical/x-pdb","chemical/x-sdf","chemical/x-mdl-sdfile","chemical/x-mdl-molfile","text/cif"]},u={"atomic structure":"atoms"};function o(i){var n;return i?(n=u[i])!=null?n:i:null}function r(i){if(!i)return null;let e=i.replace(/^\.+/,"").toLowerCase().replace(/[^a-z0-9]/g,"");return !e||/^\d+$/.test(e)||e.length>12?null:e}function a(i){if(!i)return null;let e=(i.split("/").pop()||i).split(".");if(e.length<=1)return null;let l=e.pop();return r(l)}function s(i){var l;if(!i)return null;let n=(l=i.split(";")[0])==null?void 0:l.trim().toLowerCase();if(!n||!n.includes("/"))return null;let e=n.split("/")[1];return e?r(e.split("+")[0]):null}function c({fileName:i,mimeType:n,fallback:e="bin"}){return a(i)||s(n)||r(e)||"bin"}function m(i,n){var e;return t.audio.includes(i)?"audio":t.video.includes(i)?"video":t.image.includes(i)?"image":t.pdf.includes(i)?"PDF":t["3d model"].includes(i)?"3D model":t["atomic structure"].includes(i)?(e=o("atomic structure"))!=null?e:"atomic structure":`.${n}`}exports.a=d;exports.b=t;exports.c=o;exports.d=r;exports.e=a;exports.f=s;exports.g=c;exports.h=m;//# sourceMappingURL=chunk-KHERHT26.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-KHERHT26.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/files.ts"],"names":["FILE_FILTERS","fileTypes","fileFilterAliases","getFileFilterLabel","fileType","_a","normalizeExtension","value","safe","getExtensionFromFileName","fileName","parts","candidate","getExtensionFromMimeType","mimeType","mime","subtype","getSafeFileExtension","fallback","getFileClassification","type","extension"],"mappings":"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","file":"chunk-KHERHT26.cjs","sourcesContent":["/** Canonical file-input filter values (route `input_filter`, discovery, etc.). */\nconst FILE_FILTERS = [\n \"audio\",\n \"video\",\n \"image\",\n \"pdf\",\n \"3d model\",\n \"atomic structure\",\n] as const;\n\ntype FileFilter = (typeof FILE_FILTERS)[number];\n\n/** MIME types grouped by file filter. */\nconst fileTypes: Record<FileFilter, readonly string[]> = {\n audio: [\n \"audio/mpeg\",\n \"audio/wav\",\n \"audio/ogg\",\n \"audio/flac\",\n \"audio/aac\",\n \"audio/x-aiff\",\n \"audio/midi\",\n \"audio/x-ms-wma\",\n \"audio/amr\",\n ],\n video: [\n \"video/mp4\",\n \"video/webm\",\n \"video/ogg\",\n \"video/avi\",\n \"video/mpeg\",\n \"video/quicktime\",\n \"video/x-ms-wmv\",\n \"video/x-flv\",\n ],\n image: [\n \"image/png\",\n \"image/jpeg\",\n \"image/webp\",\n \"image/gif\",\n \"image/svg+xml\",\n \"image/bmp\",\n \"image/tiff\",\n \"image/vnd.microsoft.icon\",\n ],\n pdf: [\"application/pdf\"],\n \"3d model\": [\"model/obj\"],\n \"atomic structure\": [\n \"chemical/x-cif\",\n \"chemical/x-pdb\",\n \"chemical/x-sdf\",\n \"chemical/x-mdl-sdfile\",\n \"chemical/x-mdl-molfile\",\n \"text/cif\",\n ],\n};\n\n/** Short display labels for filter pills; keys are canonical filter values. */\nconst fileFilterAliases: Partial<Record<FileFilter, string>> = {\n \"atomic structure\": \"atoms\",\n};\n\nfunction getFileFilterLabel(fileType: string | null | undefined): string | null {\n if (!fileType) return null;\n return fileFilterAliases[fileType as FileFilter] ?? fileType;\n}\n\nfunction normalizeExtension(value: string | null | undefined): string | null {\n if (!value) return null;\n const normalized = value.replace(/^\\.+/, \"\").toLowerCase();\n const safe = normalized.replace(/[^a-z0-9]/g, \"\");\n if (!safe) return null;\n if (/^\\d+$/.test(safe)) return null;\n if (safe.length > 12) return null;\n return safe;\n}\n\nfunction getExtensionFromFileName(fileName: string | null | undefined) {\n if (!fileName) return null;\n const lastSegment = fileName.split(\"/\").pop() || fileName;\n const parts = lastSegment.split(\".\");\n if (parts.length <= 1) return null;\n const candidate = parts.pop();\n return normalizeExtension(candidate);\n}\n\nfunction getExtensionFromMimeType(mimeType: string | null | undefined) {\n if (!mimeType) return null;\n const mime = mimeType.split(\";\")[0]?.trim().toLowerCase();\n if (!mime || !mime.includes(\"/\")) return null;\n const subtype = mime.split(\"/\")[1];\n if (!subtype) return null;\n return normalizeExtension(subtype.split(\"+\")[0]);\n}\n\nfunction getSafeFileExtension({\n fileName,\n mimeType,\n fallback = \"bin\",\n}: {\n fileName?: string | null;\n mimeType?: string | null;\n fallback?: string | null;\n}) {\n return (\n getExtensionFromFileName(fileName) ||\n getExtensionFromMimeType(mimeType) ||\n normalizeExtension(fallback) ||\n \"bin\"\n );\n}\n\n/** Display classification for a MIME type (asset badges, etc.). */\nfunction getFileClassification(type: string, extension: string) {\n if (fileTypes.audio.includes(type)) return \"audio\";\n if (fileTypes.video.includes(type)) return \"video\";\n if (fileTypes.image.includes(type)) return \"image\";\n if (fileTypes.pdf.includes(type)) return \"PDF\";\n if (fileTypes[\"3d model\"].includes(type)) return \"3D model\";\n if (fileTypes[\"atomic structure\"].includes(type))\n return getFileFilterLabel(\"atomic structure\") ?? \"atomic structure\";\n return `.${extension}`;\n}\n\nexport {\n FILE_FILTERS,\n fileTypes,\n getFileClassification,\n getFileFilterLabel,\n normalizeExtension,\n getExtensionFromFileName,\n getExtensionFromMimeType,\n getSafeFileExtension,\n};\nexport type { FileFilter };\n"]}
|
package/dist/chunk-LMRFVO4I.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkYTCAK2AH_cjs=require('./chunk-YTCAK2AH.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),zod=require('zod');var ne=zod.enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","badge","reaction","deposit","action-complete","action-failed","quest-entry","quest-entry-accepted","quest-entry-eval-failed","onboarding-complete","onboarding-action-required","route-earnings-milestone","route-payout","ownership-transfer","content-moved","content-deleted","other"]),w=zod.object({assetId:zod.string(),assetType:chunkYFEGRZXL_cjs.a}),r=zod.object({assetId:zod.optional(zod.string()),assetType:zod.optional(chunkYFEGRZXL_cjs.a),id:zod.optional(zod.string()),asset_type:zod.optional(chunkYFEGRZXL_cjs.a),name:zod.optional(zod.nullable(zod.string())),user_id:zod.optional(zod.string()),preview:zod.optional(zod.any()),description:zod.optional(zod.any()),slug:zod.optional(zod.nullable(zod.string())),name_url_slug:zod.optional(zod.nullable(zod.string())),org_id:zod.optional(zod.string()),parent_id:zod.optional(zod.nullable(zod.string())),parent:zod.optional(zod.any()),user:zod.optional(zod.any()),organization:zod.optional(zod.any()),team:zod.optional(zod.any())}),S=zod.object({assetId:zod.string(),assetType:chunkYFEGRZXL_cjs.a}),_=zod.object({slug:zod.string(),assetType:chunkYFEGRZXL_cjs.a}),z=zod.object({name:zod.string(),description:zod.optional(zod.nullable(zod.string())),slug:zod.optional(zod.nullable(zod.string()))}),u=zod.object({id:zod.string(),name:zod.optional(zod.nullable(zod.string()))}),y=zod.object({id:zod.string(),asset_id:zod.optional(zod.nullable(zod.string())),asset_type:zod.optional(zod.nullable(zod.string())),asset_name:zod.optional(zod.nullable(zod.string()))}),i={text:zod.optional(zod.string())},E=zod.object({...i,asset:zod.optional(r),parent:zod.optional(S),root:zod.optional(_)}),C=zod.object({...i,asset:zod.optional(r),parent:zod.optional(S),root:zod.optional(_)}),x=C,I=zod.object({...i,asset:zod.optional(r),referencedAssetIds:zod.optional(zod.array(zod.string())),referencedAssets:zod.optional(zod.array(w)),referenceCount:zod.optional(zod.number())}),O=zod.object({...i,asset:zod.optional(r),reaction_label:zod.optional(zod.string()),reaction_verb:zod.optional(zod.string()),aggregate_count:zod.optional(zod.number())}),g=zod.object({...i,asset:zod.optional(r)}),P=g,Q=zod.object({...i}),B=zod.object({...i,organization:zod.optional(zod.object({id:zod.string(),name:zod.string()}))}),k=zod.object({...i,asset:zod.optional(r),currency:zod.optional(chunkYFEGRZXL_cjs.e),value:zod.optional(zod.number())}),F=zod.object({...i,value:zod.optional(zod.number())}),M=zod.object({...i,badge:zod.optional(z)}),N=zod.object({...i,status:zod.optional(zod.enum(["success","error","timed-out"])),duration:zod.optional(zod.number()),route:zod.optional(zod.object({id:zod.string(),name:zod.optional(zod.nullable(zod.string()))}))}),D=N,j=zod.object({...i,quest:zod.optional(u),entry:zod.optional(y)}),L=zod.object({...i,quest:zod.optional(u),entry:zod.optional(y),source:zod.optional(zod.enum(["review","eval"])),reviewer:zod.optional(zod.nullable(zod.object({id:zod.string(),username:zod.optional(zod.nullable(zod.string()))})))}),U=zod.object({...i,quest:zod.optional(u),entry:zod.optional(y),eval_status:zod.optional(zod.enum(["failed","errored"])),eval_score:zod.optional(zod.nullable(zod.number()))}),V=zod.object({...i}),Z=zod.object({...i,requirements:zod.optional(zod.array(zod.string()))}),G=zod.object({...i,milestone_cents:zod.optional(zod.number()),total_earnings_cents:zod.optional(zod.number())}),H=zod.object({...i,payout_cents:zod.optional(zod.number()),gross_cents:zod.optional(zod.number()),platform_fee_cents:zod.optional(zod.number()),assets:zod.optional(zod.any()),asset_names:zod.optional(zod.array(zod.string())),invoice_id:zod.optional(zod.string())}),v=zod.object({...i,team_id:zod.optional(zod.string()),team_name:zod.optional(zod.nullable(zod.string())),asset_name:zod.optional(zod.nullable(zod.string())),asset_type:zod.optional(zod.nullable(zod.string())),action:zod.optional(zod.string()),reason:zod.optional(zod.nullable(zod.string())),moderator_scope:zod.optional(zod.enum(["platform","team"]))}),J=v,K=zod.object({...i,event:zod.optional(zod.object({type:zod.enum(["success","error"])}))}),W=zod.object({...i,asset:zod.optional(r)}),X=zod.object({...i}),Y=zod.object({id:zod.uuid(),source_user_id:zod.uuid(),destination_user_id:zod.uuid(),org_id:zod.optional(zod.nullable(zod.uuid())),asset_id:zod.optional(zod.nullable(zod.uuid())),reaction_id:zod.optional(zod.nullable(zod.uuid())),action_id:zod.optional(zod.nullable(zod.uuid())),parent_asset_id:zod.optional(zod.nullable(zod.uuid())),root_asset_id:zod.optional(zod.nullable(zod.uuid())),viewed:zod.boolean(),created_at:zod.string(),last_updated:zod.string(),source_user:zod.optional(chunkYTCAK2AH_cjs.b.partial()),asset:zod.optional(r)}),o=(T,b)=>Y.extend({type:zod.literal(T),content:b}),oe=zod.discriminatedUnion("type",[o("follow",Q),o("like",W),o("comment",C),o("reply",x),o("mention",E),o("reference",I),o("invite",B),o("payment",k),o("event",K),o("share",g),o("badge",M),o("reaction",O),o("deposit",F),o("action-complete",N),o("action-failed",D),o("quest-entry",j),o("quest-entry-accepted",L),o("quest-entry-eval-failed",U),o("onboarding-complete",V),o("onboarding-action-required",Z),o("route-earnings-milestone",G),o("route-payout",H),o("ownership-transfer",P),o("content-moved",v),o("content-deleted",J),o("other",X)]);exports.A=J;exports.B=K;exports.C=oe;exports.a=ne;exports.b=w;exports.c=r;exports.d=S;exports.e=_;exports.f=E;exports.g=C;exports.h=x;exports.i=I;exports.j=O;exports.k=g;exports.l=P;exports.m=Q;exports.n=B;exports.o=k;exports.p=F;exports.q=M;exports.r=N;exports.s=j;exports.t=L;exports.u=U;exports.v=V;exports.w=Z;exports.x=G;exports.y=H;exports.z=v;//# sourceMappingURL=chunk-LMRFVO4I.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-LMRFVO4I.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/notifications.ts"],"names":["NotificationTypeSchema","zodEnum","NotificationAssetRefSchema","object","string","AssetTypeSchema","NotificationContentAssetSchema","optional","nullable","any","NotificationParentRefSchema","NotificationRootInfoSchema","NotificationBadgeContentSchema","NotificationQuestRefSchema","NotificationQuestEntryRefSchema","NotificationContentBase","MentionContentSchema","CommentContentSchema","ReplyContentSchema","ReferenceContentSchema","array","number","ReactionContentSchema","ShareContentSchema","OwnershipTransferContentSchema","FollowContentSchema","InviteContentSchema","PaymentContentSchema","PriceCurrencySchema","DepositContentSchema","BadgeContentSchema","ActionCompleteContentSchema","ActionFailedContentSchema","QuestEntryContentSchema","QuestEntryAcceptedContentSchema","QuestEntryEvalFailedContentSchema","OnboardingCompleteContentSchema","OnboardingActionRequiredContentSchema","RouteEarningsMilestoneContentSchema","RoutePayoutContentSchema","ContentMovedContentSchema","ContentDeletedContentSchema","EventContentSchema","LikeContentSchema","OtherContentSchema","NotificationRowBaseSchema","uuid","boolean","ProfileSchema","notificationVariant","type","content","literal","NotificationSchema","discriminatedUnion"],"mappings":"wIAmBMA,IAAAA,EAAAA,CAAyBC,SAAQ,CACrC,QAAA,CACA,MACA,CAAA,SAAA,CACA,OACA,CAAA,SAAA,CACA,YACA,QACA,CAAA,SAAA,CACA,OACA,CAAA,OAAA,CACA,OACA,CAAA,UAAA,CACA,UACA,iBACA,CAAA,eAAA,CACA,aACA,CAAA,sBAAA,CACA,yBACA,CAAA,qBAAA,CACA,4BACA,CAAA,0BAAA,CACA,cACA,CAAA,oBAAA,CACA,eACA,CAAA,iBAAA,CACA,OACF,CAAC,EAGKC,CAA6BC,CAAAA,UAAAA,CAAO,CACxC,OAAA,CAASC,UAAO,EAAA,CAChB,UAAWC,mBACb,CAAC,CAMKC,CAAAA,CAAAA,CAAiCH,UAAO,CAAA,CAC5C,QAASI,YAASH,CAAAA,UAAAA,EAAQ,CAAA,CAC1B,SAAWG,CAAAA,YAAAA,CAASF,mBAAe,CAAA,CACnC,EAAIE,CAAAA,YAAAA,CAASH,UAAO,EAAC,CACrB,CAAA,UAAA,CAAYG,aAASF,mBAAe,CAAA,CACpC,IAAME,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACjC,OAASG,CAAAA,YAAAA,CAASH,UAAO,EAAC,EAC1B,OAASG,CAAAA,YAAAA,CAASE,OAAI,EAAC,CACvB,CAAA,WAAA,CAAaF,YAASE,CAAAA,OAAAA,EAAK,CAAA,CAC3B,IAAMF,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACjC,aAAeG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CAC1C,MAAQG,CAAAA,YAAAA,CAASH,UAAO,EAAC,EACzB,SAAWG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACtC,CAAA,MAAA,CAAQG,YAASE,CAAAA,OAAAA,EAAK,CAAA,CACtB,IAAMF,CAAAA,YAAAA,CAASE,SAAK,CAAA,CACpB,YAAcF,CAAAA,YAAAA,CAASE,OAAI,EAAC,EAC5B,IAAMF,CAAAA,YAAAA,CAASE,OAAI,EAAC,CACtB,CAAC,EAEKC,CAA8BP,CAAAA,UAAAA,CAAO,CACzC,OAAA,CAASC,UAAO,EAAA,CAChB,SAAWC,CAAAA,mBACb,CAAC,CAAA,CAEKM,CAA6BR,CAAAA,UAAAA,CAAO,CACxC,IAAA,CAAMC,YACN,CAAA,SAAA,CAAWC,mBACb,CAAC,CAEKO,CAAAA,CAAAA,CAAiCT,WAAO,CAC5C,IAAA,CAAMC,UAAO,EAAA,CACb,WAAaG,CAAAA,YAAAA,CAASC,aAASJ,UAAO,EAAC,CAAC,CAAA,CACxC,IAAMG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACnC,CAAC,CAEKS,CAAAA,CAAAA,CAA6BV,WAAO,CACxC,EAAA,CAAIC,UAAO,EAAA,CACX,IAAMG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACnC,CAAC,CAEKU,CAAAA,CAAAA,CAAkCX,WAAO,CAC7C,EAAA,CAAIC,UAAO,EAAA,CACX,QAAUG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACrC,CAAA,UAAA,CAAYG,YAASC,CAAAA,YAAAA,CAASJ,YAAQ,CAAC,CACvC,CAAA,UAAA,CAAYG,YAASC,CAAAA,YAAAA,CAASJ,YAAQ,CAAC,CACzC,CAAC,CAEKW,CAAAA,CAAAA,CAA0B,CAC9B,IAAMR,CAAAA,YAAAA,CAASH,UAAO,EAAC,CACzB,CAAA,CAEMY,CAAuBb,CAAAA,UAAAA,CAAO,CAClC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASD,CAAAA,CAA8B,EAC9C,MAAQC,CAAAA,YAAAA,CAASG,CAA2B,CAAA,CAC5C,IAAMH,CAAAA,YAAAA,CAASI,CAA0B,CAC3C,CAAC,CAEKM,CAAAA,CAAAA,CAAuBd,UAAO,CAAA,CAClC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASD,CAAAA,CAA8B,CAC9C,CAAA,MAAA,CAAQC,YAASG,CAAAA,CAA2B,CAC5C,CAAA,IAAA,CAAMH,YAASI,CAAAA,CAA0B,CAC3C,CAAC,EAEKO,CAAqBD,CAAAA,CAAAA,CAErBE,CAAyBhB,CAAAA,UAAAA,CAAO,CACpC,GAAGY,EACH,KAAOR,CAAAA,YAAAA,CAASD,CAA8B,CAAA,CAC9C,kBAAoBC,CAAAA,YAAAA,CAASa,UAAMhB,UAAO,EAAC,CAAC,CAAA,CAC5C,gBAAkBG,CAAAA,YAAAA,CAASa,SAAMlB,CAAAA,CAA0B,CAAC,CAAA,CAC5D,cAAgBK,CAAAA,YAAAA,CAASc,UAAO,EAAC,CACnC,CAAC,CAAA,CAEKC,CAAwBnB,CAAAA,UAAAA,CAAO,CACnC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASD,CAAAA,CAA8B,CAC9C,CAAA,cAAA,CAAgBC,YAASH,CAAAA,UAAAA,EAAQ,CACjC,CAAA,aAAA,CAAeG,YAASH,CAAAA,UAAAA,EAAQ,CAAA,CAChC,eAAiBG,CAAAA,YAAAA,CAASc,UAAO,EAAC,CACpC,CAAC,CAEKE,CAAAA,CAAAA,CAAqBpB,WAAO,CAChC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASD,CAAAA,CAA8B,CAChD,CAAC,CAAA,CAEKkB,CAAiCD,CAAAA,CAAAA,CAEjCE,CAAsBtB,CAAAA,UAAAA,CAAO,CACjC,GAAGY,CACL,CAAC,CAAA,CAEKW,CAAsBvB,CAAAA,UAAAA,CAAO,CACjC,GAAGY,CACH,CAAA,YAAA,CAAcR,YACZJ,CAAAA,UAAAA,CAAO,CACL,EAAA,CAAIC,YACJ,CAAA,IAAA,CAAMA,UAAO,EACf,CAAC,CACH,CACF,CAAC,CAAA,CAEKuB,CAAuBxB,CAAAA,UAAAA,CAAO,CAClC,GAAGY,EACH,KAAOR,CAAAA,YAAAA,CAASD,CAA8B,CAAA,CAC9C,QAAUC,CAAAA,YAAAA,CAASqB,mBAAmB,CAAA,CACtC,KAAOrB,CAAAA,YAAAA,CAASc,UAAO,EAAC,CAC1B,CAAC,EAEKQ,CAAuB1B,CAAAA,UAAAA,CAAO,CAClC,GAAGY,CACH,CAAA,KAAA,CAAOR,aAASc,UAAO,EAAC,CAC1B,CAAC,CAEKS,CAAAA,CAAAA,CAAqB3B,WAAO,CAChC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASK,CAAAA,CAA8B,CAChD,CAAC,CAEKmB,CAAAA,CAAAA,CAA8B5B,UAAO,CAAA,CACzC,GAAGY,CAAAA,CACH,OAAQR,YAASN,CAAAA,QAAAA,CAAQ,CAAC,SAAA,CAAW,OAAS,CAAA,WAAW,CAAC,CAAC,CAC3D,CAAA,QAAA,CAAUM,YAASc,CAAAA,UAAAA,EAAQ,CAAA,CAC3B,MAAOd,YACLJ,CAAAA,UAAAA,CAAO,CACL,EAAA,CAAIC,UAAO,EAAA,CACX,IAAMG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACnC,CAAC,CACH,CACF,CAAC,CAEK4B,CAAAA,CAAAA,CAA4BD,CAE5BE,CAAAA,CAAAA,CAA0B9B,WAAO,CACrC,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASM,CAAAA,CAA0B,EAC1C,KAAON,CAAAA,YAAAA,CAASO,CAA+B,CACjD,CAAC,CAAA,CAEKoB,CAAkC/B,CAAAA,UAAAA,CAAO,CAC7C,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASM,CAAAA,CAA0B,EAC1C,KAAON,CAAAA,YAAAA,CAASO,CAA+B,CAAA,CAC/C,MAAQP,CAAAA,YAAAA,CAASN,SAAQ,CAAC,QAAA,CAAU,MAAM,CAAC,CAAC,CAAA,CAC5C,SAAUM,YACRC,CAAAA,YAAAA,CACEL,UAAO,CAAA,CACL,EAAIC,CAAAA,UAAAA,EACJ,CAAA,QAAA,CAAUG,YAASC,CAAAA,YAAAA,CAASJ,UAAO,EAAC,CAAC,CACvC,CAAC,CACH,CACF,CACF,CAAC,CAEK+B,CAAAA,CAAAA,CAAoChC,WAAO,CAC/C,GAAGY,CACH,CAAA,KAAA,CAAOR,YAASM,CAAAA,CAA0B,EAC1C,KAAON,CAAAA,YAAAA,CAASO,CAA+B,CAAA,CAC/C,WAAaP,CAAAA,YAAAA,CAASN,QAAQ,CAAA,CAAC,QAAU,CAAA,SAAS,CAAC,CAAC,CACpD,CAAA,UAAA,CAAYM,aAASC,YAASa,CAAAA,UAAAA,EAAQ,CAAC,CACzC,CAAC,EAEKe,CAAkCjC,CAAAA,UAAAA,CAAO,CAC7C,GAAGY,CACL,CAAC,EAEKsB,CAAwClC,CAAAA,UAAAA,CAAO,CACnD,GAAGY,CACH,CAAA,YAAA,CAAcR,YAASa,CAAAA,SAAAA,CAAMhB,UAAO,EAAC,CAAC,CACxC,CAAC,CAAA,CAEKkC,EAAsCnC,UAAO,CAAA,CACjD,GAAGY,CAAAA,CACH,eAAiBR,CAAAA,YAAAA,CAASc,YAAQ,CAAA,CAClC,oBAAsBd,CAAAA,YAAAA,CAASc,UAAO,EAAC,CACzC,CAAC,CAAA,CAEKkB,CAA2BpC,CAAAA,UAAAA,CAAO,CACtC,GAAGY,CACH,CAAA,YAAA,CAAcR,YAASc,CAAAA,UAAAA,EAAQ,CAAA,CAC/B,WAAad,CAAAA,YAAAA,CAASc,YAAQ,CAAA,CAC9B,kBAAoBd,CAAAA,YAAAA,CAASc,UAAO,EAAC,EACrC,MAAQd,CAAAA,YAAAA,CAASE,OAAI,EAAC,CACtB,CAAA,WAAA,CAAaF,aAASa,SAAMhB,CAAAA,UAAAA,EAAQ,CAAC,CACrC,CAAA,UAAA,CAAYG,YAASH,CAAAA,UAAAA,EAAQ,CAC/B,CAAC,CAAA,CAEKoC,CAA4BrC,CAAAA,UAAAA,CAAO,CACvC,GAAGY,CAAAA,CACH,OAASR,CAAAA,YAAAA,CAASH,UAAO,EAAC,EAC1B,SAAWG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,EACtC,UAAYG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACvC,CAAA,UAAA,CAAYG,YAASC,CAAAA,YAAAA,CAASJ,UAAO,EAAC,CAAC,CAAA,CACvC,OAAQG,YAASH,CAAAA,UAAAA,EAAQ,CAAA,CACzB,MAAQG,CAAAA,YAAAA,CAASC,YAASJ,CAAAA,UAAAA,EAAQ,CAAC,CACnC,CAAA,eAAA,CAAiBG,YAASN,CAAAA,QAAAA,CAAQ,CAAC,UAAY,CAAA,MAAM,CAAC,CAAC,CACzD,CAAC,CAEKwC,CAAAA,CAAAA,CAA8BD,CAE9BE,CAAAA,CAAAA,CAAqBvC,UAAO,CAAA,CAChC,GAAGY,CAAAA,CACH,MAAOR,YACLJ,CAAAA,UAAAA,CAAO,CACL,IAAA,CAAMF,QAAQ,CAAA,CAAC,UAAW,OAAO,CAAC,CACpC,CAAC,CACH,CACF,CAAC,CAEK0C,CAAAA,CAAAA,CAAoBxC,UAAO,CAAA,CAC/B,GAAGY,CAAAA,CACH,KAAOR,CAAAA,YAAAA,CAASD,CAA8B,CAChD,CAAC,CAAA,CAEKsC,CAAqBzC,CAAAA,UAAAA,CAAO,CAChC,GAAGY,CACL,CAAC,CAAA,CAEK8B,CAA4B1C,CAAAA,UAAAA,CAAO,CACvC,EAAI2C,CAAAA,QAAAA,EACJ,CAAA,cAAA,CAAgBA,QAAK,EAAA,CACrB,oBAAqBA,QAAK,EAAA,CAC1B,MAAQvC,CAAAA,YAAAA,CAASC,YAASsC,CAAAA,QAAAA,EAAM,CAAC,CACjC,CAAA,QAAA,CAAUvC,YAASC,CAAAA,YAAAA,CAASsC,QAAK,EAAC,CAAC,CACnC,CAAA,WAAA,CAAavC,YAASC,CAAAA,YAAAA,CAASsC,QAAK,EAAC,CAAC,CACtC,CAAA,SAAA,CAAWvC,YAASC,CAAAA,YAAAA,CAASsC,QAAK,EAAC,CAAC,CACpC,CAAA,eAAA,CAAiBvC,YAASC,CAAAA,YAAAA,CAASsC,QAAK,EAAC,CAAC,CAAA,CAC1C,aAAevC,CAAAA,YAAAA,CAASC,YAASsC,CAAAA,QAAAA,EAAM,CAAC,EACxC,MAAQC,CAAAA,WAAAA,EACR,CAAA,UAAA,CAAY3C,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAEd,CAAA,WAAA,CAAaG,YAASyC,CAAAA,mBAAAA,CAAc,OAAQ,EAAC,EAE7C,KAAOzC,CAAAA,YAAAA,CAASD,CAA8B,CAChD,CAAC,CAAA,CAEK2C,CAAsB,CAAA,CAI1BC,CACAC,CAAAA,CAAAA,GAEAN,CAA0B,CAAA,MAAA,CAAO,CAC/B,IAAA,CAAMO,YAAQF,CAAI,CAAA,CAClB,OAAAC,CAAAA,CACF,CAAC,CAAA,CAEGE,GAAqBC,sBAAmB,CAAA,MAAA,CAAQ,CACpDL,CAAAA,CAAoB,QAAUxB,CAAAA,CAAmB,EACjDwB,CAAoB,CAAA,MAAA,CAAQN,CAAiB,CAAA,CAC7CM,CAAoB,CAAA,SAAA,CAAWhC,CAAoB,CAAA,CACnDgC,CAAoB,CAAA,OAAA,CAAS/B,CAAkB,CAAA,CAC/C+B,CAAoB,CAAA,SAAA,CAAWjC,CAAoB,CACnDiC,CAAAA,CAAAA,CAAoB,WAAa9B,CAAAA,CAAsB,CACvD8B,CAAAA,CAAAA,CAAoB,SAAUvB,CAAmB,CAAA,CACjDuB,CAAoB,CAAA,SAAA,CAAWtB,CAAoB,CAAA,CACnDsB,EAAoB,OAASP,CAAAA,CAAkB,CAC/CO,CAAAA,CAAAA,CAAoB,OAAS1B,CAAAA,CAAkB,CAC/C0B,CAAAA,CAAAA,CAAoB,OAASnB,CAAAA,CAAkB,CAC/CmB,CAAAA,CAAAA,CAAoB,UAAY3B,CAAAA,CAAqB,EACrD2B,CAAoB,CAAA,SAAA,CAAWpB,CAAoB,CAAA,CACnDoB,CAAoB,CAAA,iBAAA,CAAmBlB,CAA2B,CAClEkB,CAAAA,CAAAA,CAAoB,eAAiBjB,CAAAA,CAAyB,CAC9DiB,CAAAA,CAAAA,CAAoB,cAAehB,CAAuB,CAAA,CAC1DgB,CAAoB,CAAA,sBAAA,CAAwBf,CAA+B,CAAA,CAC3Ee,CACE,CAAA,yBAAA,CACAd,CACF,CAAA,CACAc,CAAoB,CAAA,qBAAA,CAAuBb,CAA+B,CAAA,CAC1Ea,EACE,4BACAZ,CAAAA,CACF,CACAY,CAAAA,CAAAA,CACE,0BACAX,CAAAA,CACF,CACAW,CAAAA,CAAAA,CAAoB,cAAgBV,CAAAA,CAAwB,CAC5DU,CAAAA,CAAAA,CAAoB,oBAAsBzB,CAAAA,CAA8B,EACxEyB,CAAoB,CAAA,eAAA,CAAiBT,CAAyB,CAAA,CAC9DS,CAAoB,CAAA,iBAAA,CAAmBR,CAA2B,CAAA,CAClEQ,CAAoB,CAAA,OAAA,CAASL,CAAkB,CACjD,CAAC","file":"chunk-LMRFVO4I.cjs","sourcesContent":["import {\n object,\n string,\n boolean,\n number,\n array,\n any,\n type z,\n enum as zodEnum,\n optional,\n nullable,\n uuid,\n literal,\n discriminatedUnion,\n} from \"zod\";\n\nimport { AssetTypeSchema, PriceCurrencySchema } from \"./common\";\nimport { ProfileSchema } from \"./users\";\n\nconst NotificationTypeSchema = zodEnum([\n \"follow\",\n \"like\",\n \"comment\",\n \"reply\",\n \"mention\",\n \"reference\",\n \"invite\",\n \"payment\",\n \"event\",\n \"share\",\n \"badge\",\n \"reaction\",\n \"deposit\",\n \"action-complete\",\n \"action-failed\",\n \"quest-entry\",\n \"quest-entry-accepted\",\n \"quest-entry-eval-failed\",\n \"onboarding-complete\",\n \"onboarding-action-required\",\n \"route-earnings-milestone\",\n \"route-payout\",\n \"ownership-transfer\",\n \"content-moved\",\n \"content-deleted\",\n \"other\",\n]);\n\n/** Stored pointer written when creating a notification. */\nconst NotificationAssetRefSchema = object({\n assetId: string(),\n assetType: AssetTypeSchema,\n});\n\n/**\n * `content.asset` is a ref at write time and a list-row asset after API\n * hydration (which replaces the ref and may attach `parent`).\n */\nconst NotificationContentAssetSchema = object({\n assetId: optional(string()),\n assetType: optional(AssetTypeSchema),\n id: optional(string()),\n asset_type: optional(AssetTypeSchema),\n name: optional(nullable(string())),\n user_id: optional(string()),\n preview: optional(any()),\n description: optional(any()),\n slug: optional(nullable(string())),\n name_url_slug: optional(nullable(string())),\n org_id: optional(string()),\n parent_id: optional(nullable(string())),\n parent: optional(any()),\n user: optional(any()),\n organization: optional(any()),\n team: optional(any()),\n});\n\nconst NotificationParentRefSchema = object({\n assetId: string(),\n assetType: AssetTypeSchema,\n});\n\nconst NotificationRootInfoSchema = object({\n slug: string(),\n assetType: AssetTypeSchema,\n});\n\nconst NotificationBadgeContentSchema = object({\n name: string(),\n description: optional(nullable(string())),\n slug: optional(nullable(string())),\n});\n\nconst NotificationQuestRefSchema = object({\n id: string(),\n name: optional(nullable(string())),\n});\n\nconst NotificationQuestEntryRefSchema = object({\n id: string(),\n asset_id: optional(nullable(string())),\n asset_type: optional(nullable(string())),\n asset_name: optional(nullable(string())),\n});\n\nconst NotificationContentBase = {\n text: optional(string()),\n};\n\nconst MentionContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n parent: optional(NotificationParentRefSchema),\n root: optional(NotificationRootInfoSchema),\n});\n\nconst CommentContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n parent: optional(NotificationParentRefSchema),\n root: optional(NotificationRootInfoSchema),\n});\n\nconst ReplyContentSchema = CommentContentSchema;\n\nconst ReferenceContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n referencedAssetIds: optional(array(string())),\n referencedAssets: optional(array(NotificationAssetRefSchema)),\n referenceCount: optional(number()),\n});\n\nconst ReactionContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n reaction_label: optional(string()),\n reaction_verb: optional(string()),\n aggregate_count: optional(number()),\n});\n\nconst ShareContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n});\n\nconst OwnershipTransferContentSchema = ShareContentSchema;\n\nconst FollowContentSchema = object({\n ...NotificationContentBase,\n});\n\nconst InviteContentSchema = object({\n ...NotificationContentBase,\n organization: optional(\n object({\n id: string(),\n name: string(),\n })\n ),\n});\n\nconst PaymentContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n currency: optional(PriceCurrencySchema),\n value: optional(number()),\n});\n\nconst DepositContentSchema = object({\n ...NotificationContentBase,\n value: optional(number()),\n});\n\nconst BadgeContentSchema = object({\n ...NotificationContentBase,\n badge: optional(NotificationBadgeContentSchema),\n});\n\nconst ActionCompleteContentSchema = object({\n ...NotificationContentBase,\n status: optional(zodEnum([\"success\", \"error\", \"timed-out\"])),\n duration: optional(number()),\n route: optional(\n object({\n id: string(),\n name: optional(nullable(string())),\n })\n ),\n});\n\nconst ActionFailedContentSchema = ActionCompleteContentSchema;\n\nconst QuestEntryContentSchema = object({\n ...NotificationContentBase,\n quest: optional(NotificationQuestRefSchema),\n entry: optional(NotificationQuestEntryRefSchema),\n});\n\nconst QuestEntryAcceptedContentSchema = object({\n ...NotificationContentBase,\n quest: optional(NotificationQuestRefSchema),\n entry: optional(NotificationQuestEntryRefSchema),\n source: optional(zodEnum([\"review\", \"eval\"])),\n reviewer: optional(\n nullable(\n object({\n id: string(),\n username: optional(nullable(string())),\n })\n )\n ),\n});\n\nconst QuestEntryEvalFailedContentSchema = object({\n ...NotificationContentBase,\n quest: optional(NotificationQuestRefSchema),\n entry: optional(NotificationQuestEntryRefSchema),\n eval_status: optional(zodEnum([\"failed\", \"errored\"])),\n eval_score: optional(nullable(number())),\n});\n\nconst OnboardingCompleteContentSchema = object({\n ...NotificationContentBase,\n});\n\nconst OnboardingActionRequiredContentSchema = object({\n ...NotificationContentBase,\n requirements: optional(array(string())),\n});\n\nconst RouteEarningsMilestoneContentSchema = object({\n ...NotificationContentBase,\n milestone_cents: optional(number()),\n total_earnings_cents: optional(number()),\n});\n\nconst RoutePayoutContentSchema = object({\n ...NotificationContentBase,\n payout_cents: optional(number()),\n gross_cents: optional(number()),\n platform_fee_cents: optional(number()),\n assets: optional(any()),\n asset_names: optional(array(string())),\n invoice_id: optional(string()),\n});\n\nconst ContentMovedContentSchema = object({\n ...NotificationContentBase,\n team_id: optional(string()),\n team_name: optional(nullable(string())),\n asset_name: optional(nullable(string())),\n asset_type: optional(nullable(string())),\n action: optional(string()),\n reason: optional(nullable(string())),\n moderator_scope: optional(zodEnum([\"platform\", \"team\"])),\n});\n\nconst ContentDeletedContentSchema = ContentMovedContentSchema;\n\nconst EventContentSchema = object({\n ...NotificationContentBase,\n event: optional(\n object({\n type: zodEnum([\"success\", \"error\"]),\n })\n ),\n});\n\nconst LikeContentSchema = object({\n ...NotificationContentBase,\n asset: optional(NotificationContentAssetSchema),\n});\n\nconst OtherContentSchema = object({\n ...NotificationContentBase,\n});\n\nconst NotificationRowBaseSchema = object({\n id: uuid(),\n source_user_id: uuid(),\n destination_user_id: uuid(),\n org_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n reaction_id: optional(nullable(uuid())),\n action_id: optional(nullable(uuid())),\n parent_asset_id: optional(nullable(uuid())),\n root_asset_id: optional(nullable(uuid())),\n viewed: boolean(),\n created_at: string(),\n last_updated: string(),\n /** Joined on list/read responses. */\n source_user: optional(ProfileSchema.partial()),\n /** Joined `assets` row for `asset_id` (not `content.asset`). */\n asset: optional(NotificationContentAssetSchema),\n});\n\nconst notificationVariant = <\n T extends z.infer<typeof NotificationTypeSchema>,\n C extends z.ZodType,\n>(\n type: T,\n content: C\n) =>\n NotificationRowBaseSchema.extend({\n type: literal(type),\n content,\n });\n\nconst NotificationSchema = discriminatedUnion(\"type\", [\n notificationVariant(\"follow\", FollowContentSchema),\n notificationVariant(\"like\", LikeContentSchema),\n notificationVariant(\"comment\", CommentContentSchema),\n notificationVariant(\"reply\", ReplyContentSchema),\n notificationVariant(\"mention\", MentionContentSchema),\n notificationVariant(\"reference\", ReferenceContentSchema),\n notificationVariant(\"invite\", InviteContentSchema),\n notificationVariant(\"payment\", PaymentContentSchema),\n notificationVariant(\"event\", EventContentSchema),\n notificationVariant(\"share\", ShareContentSchema),\n notificationVariant(\"badge\", BadgeContentSchema),\n notificationVariant(\"reaction\", ReactionContentSchema),\n notificationVariant(\"deposit\", DepositContentSchema),\n notificationVariant(\"action-complete\", ActionCompleteContentSchema),\n notificationVariant(\"action-failed\", ActionFailedContentSchema),\n notificationVariant(\"quest-entry\", QuestEntryContentSchema),\n notificationVariant(\"quest-entry-accepted\", QuestEntryAcceptedContentSchema),\n notificationVariant(\n \"quest-entry-eval-failed\",\n QuestEntryEvalFailedContentSchema\n ),\n notificationVariant(\"onboarding-complete\", OnboardingCompleteContentSchema),\n notificationVariant(\n \"onboarding-action-required\",\n OnboardingActionRequiredContentSchema\n ),\n notificationVariant(\n \"route-earnings-milestone\",\n RouteEarningsMilestoneContentSchema\n ),\n notificationVariant(\"route-payout\", RoutePayoutContentSchema),\n notificationVariant(\"ownership-transfer\", OwnershipTransferContentSchema),\n notificationVariant(\"content-moved\", ContentMovedContentSchema),\n notificationVariant(\"content-deleted\", ContentDeletedContentSchema),\n notificationVariant(\"other\", OtherContentSchema),\n]);\n\ntype Notification = z.infer<typeof NotificationSchema>;\ntype NotificationType = z.infer<typeof NotificationTypeSchema>;\ntype NotificationOfType<T extends NotificationType> = Extract<\n Notification,\n { type: T }\n>;\ntype NotificationContentAsset = z.infer<typeof NotificationContentAssetSchema>;\ntype NotificationAssetRef = z.infer<typeof NotificationAssetRefSchema>;\n\nexport {\n NotificationSchema,\n NotificationTypeSchema,\n NotificationAssetRefSchema,\n NotificationContentAssetSchema,\n NotificationParentRefSchema,\n NotificationRootInfoSchema,\n MentionContentSchema,\n CommentContentSchema,\n ReplyContentSchema,\n ReferenceContentSchema,\n ReactionContentSchema,\n ShareContentSchema,\n OwnershipTransferContentSchema,\n FollowContentSchema,\n InviteContentSchema,\n PaymentContentSchema,\n DepositContentSchema,\n BadgeContentSchema,\n ActionCompleteContentSchema,\n QuestEntryContentSchema,\n QuestEntryAcceptedContentSchema,\n QuestEntryEvalFailedContentSchema,\n OnboardingCompleteContentSchema,\n OnboardingActionRequiredContentSchema,\n RouteEarningsMilestoneContentSchema,\n RoutePayoutContentSchema,\n ContentMovedContentSchema,\n ContentDeletedContentSchema,\n EventContentSchema,\n};\nexport type {\n Notification,\n NotificationType,\n NotificationOfType,\n NotificationContentAsset,\n NotificationAssetRef,\n};\n"]}
|
package/dist/chunk-MKRXM63S.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-WE6CXCEQ.js';import {b as b$1}from'./chunk-LXDNBUOU.js';import {f,e,g,a}from'./chunk-PGCNGDPK.js';import {b}from'./chunk-CDJH4OT5.js';import {a as a$2}from'./chunk-42ADEGDM.js';import {uuidv7}from'uuidv7';import {optional,literal,nullable,object,array,string,record,any,number}from'zod';var u=f.extend({asset_type:literal("comment").default("comment"),preview:optional(nullable(object({type:string().refine(o=>o==="doc"),content:array(record(string(),any()))}).default({type:"doc",content:[]})))}),w=u.partial().omit({id:true,user_id:true}).extend({asset_type:literal("comment").default("comment"),id:string().default(()=>uuidv7()),name:string().default(""),attribution:optional(nullable(e)).transform(o=>e.parse(o!=null?o:g)),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}).transform(o=>a(o)),A=array(object({count:number()})),D=u.extend({content:optional(nullable(b$1)),assets:optional(nullable(array(f.partial()))),users:optional(nullable(array(b.partial()))),actions:optional(nullable(array(a$2))),reactions:optional(nullable(array(a$1))),replies:optional(nullable(A)),repliesCount:optional(number())});export{u as a,w as b,A as c,D as d};//# sourceMappingURL=chunk-MKRXM63S.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-MKRXM63S.js.map
|
package/dist/chunk-OU4JKY4M.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var d=["audio","video","image","pdf","3d model","atomic structure"],t={audio:["audio/mpeg","audio/wav","audio/ogg","audio/flac","audio/aac","audio/x-aiff","audio/midi","audio/x-ms-wma","audio/amr"],video:["video/mp4","video/webm","video/ogg","video/avi","video/mpeg","video/quicktime","video/x-ms-wmv","video/x-flv"],image:["image/png","image/jpeg","image/webp","image/gif","image/svg+xml","image/bmp","image/tiff","image/vnd.microsoft.icon"],pdf:["application/pdf"],"3d model":["model/obj"],"atomic structure":["chemical/x-cif","chemical/x-pdb","chemical/x-sdf","chemical/x-mdl-sdfile","chemical/x-mdl-molfile","text/cif"]},u={"atomic structure":"atoms"};function o(i){var n;return i?(n=u[i])!=null?n:i:null}function r(i){if(!i)return null;let e=i.replace(/^\.+/,"").toLowerCase().replace(/[^a-z0-9]/g,"");return !e||/^\d+$/.test(e)||e.length>12?null:e}function a(i){if(!i)return null;let e=(i.split("/").pop()||i).split(".");if(e.length<=1)return null;let l=e.pop();return r(l)}function s(i){var l;if(!i)return null;let n=(l=i.split(";")[0])==null?void 0:l.trim().toLowerCase();if(!n||!n.includes("/"))return null;let e=n.split("/")[1];return e?r(e.split("+")[0]):null}function c({fileName:i,mimeType:n,fallback:e="bin"}){return a(i)||s(n)||r(e)||"bin"}function m(i,n){var e;return t.audio.includes(i)?"audio":t.video.includes(i)?"video":t.image.includes(i)?"image":t.pdf.includes(i)?"PDF":t["3d model"].includes(i)?"3D model":t["atomic structure"].includes(i)?(e=o("atomic structure"))!=null?e:"atomic structure":`.${n}`}export{d as a,t as b,o as c,r as d,a as e,s as f,c as g,m as h};//# sourceMappingURL=chunk-OU4JKY4M.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-OU4JKY4M.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/files.ts"],"names":["FILE_FILTERS","fileTypes","fileFilterAliases","getFileFilterLabel","fileType","_a","normalizeExtension","value","safe","getExtensionFromFileName","fileName","parts","candidate","getExtensionFromMimeType","mimeType","mime","subtype","getSafeFileExtension","fallback","getFileClassification","type","extension"],"mappings":"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","file":"chunk-OU4JKY4M.js","sourcesContent":["/** Canonical file-input filter values (route `input_filter`, discovery, etc.). */\nconst FILE_FILTERS = [\n \"audio\",\n \"video\",\n \"image\",\n \"pdf\",\n \"3d model\",\n \"atomic structure\",\n] as const;\n\ntype FileFilter = (typeof FILE_FILTERS)[number];\n\n/** MIME types grouped by file filter. */\nconst fileTypes: Record<FileFilter, readonly string[]> = {\n audio: [\n \"audio/mpeg\",\n \"audio/wav\",\n \"audio/ogg\",\n \"audio/flac\",\n \"audio/aac\",\n \"audio/x-aiff\",\n \"audio/midi\",\n \"audio/x-ms-wma\",\n \"audio/amr\",\n ],\n video: [\n \"video/mp4\",\n \"video/webm\",\n \"video/ogg\",\n \"video/avi\",\n \"video/mpeg\",\n \"video/quicktime\",\n \"video/x-ms-wmv\",\n \"video/x-flv\",\n ],\n image: [\n \"image/png\",\n \"image/jpeg\",\n \"image/webp\",\n \"image/gif\",\n \"image/svg+xml\",\n \"image/bmp\",\n \"image/tiff\",\n \"image/vnd.microsoft.icon\",\n ],\n pdf: [\"application/pdf\"],\n \"3d model\": [\"model/obj\"],\n \"atomic structure\": [\n \"chemical/x-cif\",\n \"chemical/x-pdb\",\n \"chemical/x-sdf\",\n \"chemical/x-mdl-sdfile\",\n \"chemical/x-mdl-molfile\",\n \"text/cif\",\n ],\n};\n\n/** Short display labels for filter pills; keys are canonical filter values. */\nconst fileFilterAliases: Partial<Record<FileFilter, string>> = {\n \"atomic structure\": \"atoms\",\n};\n\nfunction getFileFilterLabel(fileType: string | null | undefined): string | null {\n if (!fileType) return null;\n return fileFilterAliases[fileType as FileFilter] ?? fileType;\n}\n\nfunction normalizeExtension(value: string | null | undefined): string | null {\n if (!value) return null;\n const normalized = value.replace(/^\\.+/, \"\").toLowerCase();\n const safe = normalized.replace(/[^a-z0-9]/g, \"\");\n if (!safe) return null;\n if (/^\\d+$/.test(safe)) return null;\n if (safe.length > 12) return null;\n return safe;\n}\n\nfunction getExtensionFromFileName(fileName: string | null | undefined) {\n if (!fileName) return null;\n const lastSegment = fileName.split(\"/\").pop() || fileName;\n const parts = lastSegment.split(\".\");\n if (parts.length <= 1) return null;\n const candidate = parts.pop();\n return normalizeExtension(candidate);\n}\n\nfunction getExtensionFromMimeType(mimeType: string | null | undefined) {\n if (!mimeType) return null;\n const mime = mimeType.split(\";\")[0]?.trim().toLowerCase();\n if (!mime || !mime.includes(\"/\")) return null;\n const subtype = mime.split(\"/\")[1];\n if (!subtype) return null;\n return normalizeExtension(subtype.split(\"+\")[0]);\n}\n\nfunction getSafeFileExtension({\n fileName,\n mimeType,\n fallback = \"bin\",\n}: {\n fileName?: string | null;\n mimeType?: string | null;\n fallback?: string | null;\n}) {\n return (\n getExtensionFromFileName(fileName) ||\n getExtensionFromMimeType(mimeType) ||\n normalizeExtension(fallback) ||\n \"bin\"\n );\n}\n\n/** Display classification for a MIME type (asset badges, etc.). */\nfunction getFileClassification(type: string, extension: string) {\n if (fileTypes.audio.includes(type)) return \"audio\";\n if (fileTypes.video.includes(type)) return \"video\";\n if (fileTypes.image.includes(type)) return \"image\";\n if (fileTypes.pdf.includes(type)) return \"PDF\";\n if (fileTypes[\"3d model\"].includes(type)) return \"3D model\";\n if (fileTypes[\"atomic structure\"].includes(type))\n return getFileFilterLabel(\"atomic structure\") ?? \"atomic structure\";\n return `.${extension}`;\n}\n\nexport {\n FILE_FILTERS,\n fileTypes,\n getFileClassification,\n getFileFilterLabel,\n normalizeExtension,\n getExtensionFromFileName,\n getExtensionFromMimeType,\n getSafeFileExtension,\n};\nexport type { FileFilter };\n"]}
|
package/dist/chunk-PGCNGDPK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-Y6BK75KP.js';import {c}from'./chunk-OCG3P3PJ.js';import {b as b$1}from'./chunk-CDJH4OT5.js';import {k,j,d as d$1,b,a,e}from'./chunk-33C7IDRP.js';import {b as b$2,c as c$1}from'./chunk-DUBPWSCA.js';import {object,optional,nullable,string,enum as _enum,number,array,uuid,boolean,record,any}from'zod';import {uuidv7}from'uuidv7';var C=a=>a.org_id===b$2&&a.visibility==="organization"?{...a,visibility:"public"}:a,v=object({source:optional(nullable(string())),reply_to_comment_id:optional(nullable(string()))}),O=_enum(["IsSupplementTo","IsDerivedFrom","References","IsVariantFormOf","IsIdenticalTo"]),D=object({doi:optional(nullable(string())),title:optional(nullable(string())),authors:optional(nullable(array(string()))),year:optional(nullable(number())),venue:optional(nullable(string())),url:optional(nullable(string())),bibtex:optional(nullable(string())),source:optional(nullable(string()))}),d=object({originality:optional(_enum(["original","derivative","third-party"])).default("original"),external_url:optional(nullable(string())),github_url:optional(nullable(string())),paper_url:optional(nullable(string())),doi_url:optional(nullable(string())),citation:optional(nullable(D)),relation_type:optional(nullable(O)),doi:optional(nullable(string()))}),T=object({id:uuid(),user_id:uuid(),user:optional(b$1.partial()),org_id:uuid(),organization:optional(c.partial()),team_id:uuid(),team:optional(a$1.partial()),parent_id:optional(nullable(uuid())),parent:optional(record(string(),any())),license_id:string(),license:optional(record(string(),any())),asset_type:a,name:string(),name_url_slug:optional(nullable(string())),slug:optional(nullable(string())),description:optional(nullable(object({json:record(string(),any()),text:string()}))),visibility:b,monetization:d$1,price:optional(nullable(number())),unit_cost:optional(nullable(number())),cost_accounting:optional(nullable(_enum(["fixed","variable"]))),cost_unit:optional(nullable(string())),price_currency:optional(e),stripe_product_id:optional(nullable(string())),stripe_price_id:optional(nullable(string())),stripe_meter_id:optional(nullable(string())),metadata:optional(nullable(v)),attribution:d,preview:optional(nullable(array(record(string(),any())))),state:j,source:k,is_pinned_in_team:optional(boolean().default(false)),created_at:string(),last_updated:string()}),R={originality:"original"},G=T.partial().omit({user_id:true,user:true,organization:true,license:true,team:true,slug:true,is_pinned_in_team:true}).extend({id:uuid().default(()=>uuidv7()),team_id:nullable(uuid()).default(c$1),org_id:nullable(uuid()).default(b$2),name:string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:optional(nullable(string())),state:j.optional().default("success"),source:k.default("web"),visibility:b.optional().default("public"),attribution:optional(nullable(d)).transform(a=>d.parse(a!=null?a:R)),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}),N=T.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true,is_pinned_in_team:true}).transform(a=>C(a));export{C as a,v as b,O as c,D as d,d as e,T as f,R as g,G as h,N as i};//# sourceMappingURL=chunk-PGCNGDPK.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-PGCNGDPK.js.map
|
package/dist/chunk-PVUBGWOI.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkRMMMRN4X_cjs=require('./chunk-RMMMRN4X.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.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(chunkYFEGRZXL_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(chunkYFEGRZXL_cjs.a)),enum_values:zod.optional(zod.nullable(zod.array(zod.string())))}),v=zod.object({kind:zod.literal("asset"),id:zod.uuid(),asset_type:chunkYFEGRZXL_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(chunkRMMMRN4X_cjs.b.partial().shape),g=chunkRMMMRN4X_cjs.f.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u.extend({...y.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),K=chunkRMMMRN4X_cjs.h.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u.extend({...y.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(m=>chunkRMMMRN4X_cjs.a(m)),U=chunkRMMMRN4X_cjs.h.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:u,preview:zod.array(zod.record(zod.string(),zod.any()))}).transform(m=>chunkRMMMRN4X_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=>chunkRMMMRN4X_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-PVUBGWOI.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-PVUBGWOI.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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-PVUBGWOI.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/chunk-RS5H4XDK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-OU4JKY4M.js';import {b as b$1,f,h,a as a$1}from'./chunk-PGCNGDPK.js';import {b as b$2}from'./chunk-CDJH4OT5.js';import {a,l,j}from'./chunk-33C7IDRP.js';import {enum as _enum,object,optional,string,nullable,array,boolean,any,record,number,uuid}from'zod';var D=_enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),I=object({authentication:D,base_url:string(),version:optional(nullable(string())),spec_path:optional(nullable(string())),spec_url:optional(nullable(string())),auth_url:optional(nullable(string()))}),g=I.extend(b$1.partial().shape),M=f.extend({asset_type:a.refine(u=>u==="service"),metadata:g}),G=h.extend({asset_type:a.refine(u=>u==="service"),metadata:g}).transform(u=>a$1(u)),J=M.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({last_updated:string().default(()=>new Date().toISOString())}).transform(u=>a$1(u)),z=_enum(["sync","async"]),m=_enum(["file","dataset","post"]),b=_enum(a$2),O=object({asset_type:m,primary:optional(boolean()),input_filter:optional(nullable(b)),file_extensions:optional(nullable(array(string()))),contains_file_extensions:optional(nullable(array(string())))}).catchall(any()),k=object({asset_type:m,primary:optional(boolean()),file_extensions:optional(nullable(array(string()))),contains_file_extensions:optional(nullable(array(string())))}).catchall(any()),T=record(string(),O),E=record(string(),k),C=object({id:string(),user_id:string(),service_id:string(),path:string(),method:l,summary:optional(nullable(string())),parameters:optional(nullable(array(record(string(),any())))),request_body:optional(nullable(record(string(),any()))),responses:optional(nullable(array(record(string(),any())))),input_assets:optional(nullable(T)),input_type:optional(nullable(m)),input_filter:optional(nullable(b)),input_file_extension:optional(nullable(string())),input_file_extensions:optional(nullable(array(string()))),output_assets:optional(nullable(E)),output_type:optional(nullable(m)),output_file_extension:optional(nullable(string())),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),execution_mode:optional(z).default("sync"),observed_execution_mode:optional(nullable(z)),last_updated:string()}),F=object({avg_ack_ms:optional(nullable(number())),p95_ack_ms:optional(nullable(number())),avg_completion_ms:optional(nullable(number())),p95_completion_ms:optional(nullable(number())),latency_sample_count:optional(nullable(number()))}),K=f.extend({asset_type:a.refine(u=>u==="route"),route:C,metrics:optional(nullable(F))}),w=object({id:uuid(),user_id:uuid(),route_id:uuid(),metadata:optional(nullable(record(string(),any()))),response:optional(nullable(record(string(),any()))),side_effects:boolean().default(true),input_asset_id:optional(nullable(uuid())),output_asset_id:optional(nullable(uuid())),input_asset:optional(nullable(f)),input_assets:optional(nullable(array(record(string(),any())))),output_asset:optional(nullable(f)),output_assets:optional(nullable(array(record(string(),any())))),webhook_url:optional(nullable(string())),webhook_token:optional(nullable(string())),status:j,created_at:string(),last_updated:string(),started_at:optional(nullable(string())),ack_at:optional(nullable(string())),upstream_status_code:optional(nullable(number())),finished_at:optional(nullable(string()))}),v=object({name:string(),asset_id:optional(nullable(uuid())),asset_type:optional(a),is_primary:optional(boolean()),asset:optional(nullable(f.partial()))}),P=f.partial().extend({route:optional(nullable(object({output_type:optional(nullable(a)),output_assets:optional(nullable(any())),output_file_extension:optional(nullable(string())),input_assets:optional(nullable(any()))})))}),q=object({id:uuid(),total_cents:optional(nullable(number())),unit_cost_cents:optional(nullable(number())),quantity:optional(nullable(number())),cost_unit:optional(nullable(string())),status:optional(nullable(string())),stripe_invoice_id:optional(nullable(string())),created_at:optional(string())}),B=object({id:uuid(),type:optional(nullable(string())),value:optional(nullable(number())),status:optional(nullable(string())),metadata:optional(nullable(record(string(),any()))),created_at:optional(string())}),Q=w.extend({user:optional(nullable(b$2.partial())),route:optional(nullable(P)),input_assets:optional(nullable(array(v))),output_assets:optional(nullable(array(v))),usage_record:optional(nullable(q)),btc_charges:optional(nullable(array(B)))});export{M as a,G as b,J as c,z as d,O as e,k as f,T as g,E as h,F as i,K as j,w as k,v as l,P as m,Q as n};//# sourceMappingURL=chunk-RS5H4XDK.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-RS5H4XDK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/services.ts"],"names":["AuthType","zodEnum","BaseServiceMetadataSchema","object","string","optional","nullable","ServiceMetadataSchema","AssetMetadataSchema","ServiceSchema","AssetSchema","AssetTypeSchema","x","CreateServiceSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateServiceSchema","ExecutionModeSchema","RouteAssetType","RouteInputFilter","FILE_FILTERS","RouteInputAssetDeclarationSchema","boolean","array","any","RouteOutputAssetDeclarationSchema","RouteInputAssetsSchema","record","RouteOutputAssetsSchema","RouteDetailSchema","HttpMethodSchema","number","RouteMetricsSchema","RouteSchema","ActionSchema","uuid","StatusSchema","ActionAssetRefSchema","ReadActionRouteSchema","ActionUsageRecordSchema","ActionBtcChargeSchema","ReadActionSchema","ProfileSchema"],"mappings":"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","file":"chunk-RS5H4XDK.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema, HttpMethodSchema, StatusSchema } from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ProfileSchema } from \"./users\";\nimport { FILE_FILTERS } from \"../utils/files\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n spec_url: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateServiceSchema = ServiceSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ExecutionModeSchema = zodEnum([\"sync\", \"async\"]);\n\n// Asset type accepted in keyed `input_assets` / `output_assets` declarations.\nconst RouteAssetType = zodEnum([\"file\", \"dataset\", \"post\"]);\n\n// File-type filter accepted on file-input declarations.\nconst RouteInputFilter = zodEnum(FILE_FILTERS);\n\n// Shape of a single keyed declaration in `routes.input_assets`. Plural\n// declarations are canonical; the legacy `input_type` and `input_file_*`\n// columns on the route row stay in sync as primary projections.\nconst RouteInputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n input_filter: optional(nullable(RouteInputFilter)),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\n// Shape of a single keyed declaration in `routes.output_assets`.\nconst RouteOutputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\nconst RouteInputAssetsSchema = record(\n string(),\n RouteInputAssetDeclarationSchema\n);\n\nconst RouteOutputAssetsSchema = record(\n string(),\n RouteOutputAssetDeclarationSchema\n);\n\nconst RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: HttpMethodSchema,\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n // Canonical plural input declarations keyed by request body field name.\n input_assets: optional(nullable(RouteInputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `input_assets` for\n // older clients, indexing, and quick asset-type lookups.\n input_type: optional(nullable(RouteAssetType)),\n input_filter: optional(nullable(RouteInputFilter)),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n // Canonical plural output declarations keyed by response body field name.\n output_assets: optional(nullable(RouteOutputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `output_assets`.\n output_type: optional(nullable(RouteAssetType)),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n // Author-declared execution model: 'sync' = upstream returns the result\n // inline; 'async' = upstream returns 202 quickly and webhooks completion.\n execution_mode: optional(ExecutionModeSchema).default(\"sync\"),\n // Empirical mode derived by the platform from recent action history; null\n // until enough samples have been observed. When this differs from\n // execution_mode the route is misconfigured.\n observed_execution_mode: optional(nullable(ExecutionModeSchema)),\n last_updated: string(),\n});\n\n// Per-route latency aggregates surfaced from asset_metrics. All fields are\n// nullable because they don't exist until the platform has observed at least\n// one completed action for the route.\nconst RouteMetricsSchema = object({\n // Average HTTP-hop latency in milliseconds: time from request start until\n // upstream returned 200 or 202.\n avg_ack_ms: optional(nullable(number())),\n p95_ack_ms: optional(nullable(number())),\n // Average end-to-end latency in milliseconds: started_at to finished_at,\n // includes webhook completion for async routes. This is the value an\n // agent should consider when deciding whether to wait or poll.\n avg_completion_ms: optional(nullable(number())),\n p95_completion_ms: optional(nullable(number())),\n latency_sample_count: optional(nullable(number())),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\n // Latency aggregates joined from asset_metrics; null when no samples yet.\n metrics: optional(nullable(RouteMetricsSchema)),\n});\n\nconst ActionSchema = object({\n id: uuid(),\n user_id: uuid(),\n route_id: uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(uuid())),\n output_asset_id: optional(nullable(uuid())),\n input_asset: optional(nullable(AssetSchema)),\n input_assets: optional(nullable(array(record(string(), any())))),\n output_asset: optional(nullable(AssetSchema)),\n output_assets: optional(nullable(array(record(string(), any())))),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: StatusSchema,\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n // When the upstream service first responded (200 or 202). For sync routes\n // this is approximately equal to finished_at; for async routes the gap\n // between ack_at and finished_at is the out-of-band wait time.\n ack_at: optional(nullable(string())),\n // HTTP status code returned by the upstream service at ack time.\n upstream_status_code: optional(nullable(number())),\n finished_at: optional(nullable(string())),\n});\n\n/**\n * Row from `action_assets` after `prepareActionResponse` splits by direction.\n * Nested `asset` may briefly be null under RLS / replication lag.\n */\nconst ActionAssetRefSchema = object({\n name: string(),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(AssetTypeSchema),\n is_primary: optional(boolean()),\n asset: optional(nullable(AssetSchema.partial())),\n});\n\n/** Joined route asset on action reads (not a full Route). */\nconst ReadActionRouteSchema = AssetSchema.partial().extend({\n route: optional(\n nullable(\n object({\n output_type: optional(nullable(AssetTypeSchema)),\n output_assets: optional(nullable(any())),\n output_file_extension: optional(nullable(string())),\n input_assets: optional(nullable(any())),\n })\n )\n ),\n});\n\nconst ActionUsageRecordSchema = object({\n id: uuid(),\n total_cents: optional(nullable(number())),\n unit_cost_cents: optional(nullable(number())),\n quantity: optional(nullable(number())),\n cost_unit: optional(nullable(string())),\n status: optional(nullable(string())),\n stripe_invoice_id: optional(nullable(string())),\n created_at: optional(string()),\n});\n\nconst ActionBtcChargeSchema = object({\n id: uuid(),\n type: optional(nullable(string())),\n value: optional(nullable(number())),\n status: optional(nullable(string())),\n metadata: optional(nullable(record(string(), any()))),\n created_at: optional(string()),\n});\n\n/** Action as returned from read APIs, with joins and split action_assets. */\nconst ReadActionSchema = ActionSchema.extend({\n user: optional(nullable(ProfileSchema.partial())),\n route: optional(nullable(ReadActionRouteSchema)),\n input_assets: optional(nullable(array(ActionAssetRefSchema))),\n output_assets: optional(nullable(array(ActionAssetRefSchema))),\n usage_record: optional(nullable(ActionUsageRecordSchema)),\n btc_charges: optional(nullable(array(ActionBtcChargeSchema))),\n});\n\nexport {\n RouteSchema,\n RouteInputAssetDeclarationSchema,\n RouteOutputAssetDeclarationSchema,\n RouteInputAssetsSchema,\n RouteOutputAssetsSchema,\n ServiceSchema,\n CreateServiceSchema,\n UpdateServiceSchema,\n ActionSchema,\n ActionAssetRefSchema,\n ReadActionRouteSchema,\n ReadActionSchema,\n RouteMetricsSchema,\n ExecutionModeSchema,\n};\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type RouteMetrics = z.infer<typeof RouteMetricsSchema>;\nexport type RouteInputAssetDeclaration = z.infer<typeof RouteInputAssetDeclarationSchema>;\nexport type RouteOutputAssetDeclaration = z.infer<typeof RouteOutputAssetDeclarationSchema>;\nexport type RouteInputAssets = z.infer<typeof RouteInputAssetsSchema>;\nexport type RouteOutputAssets = z.infer<typeof RouteOutputAssetsSchema>;\nexport type ExecutionMode = z.infer<typeof ExecutionModeSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\nexport type ActionAssetRef = z.infer<typeof ActionAssetRefSchema>;\nexport type ReadActionRoute = z.infer<typeof ReadActionRouteSchema>;\nexport type ReadAction = z.infer<typeof ReadActionSchema>;\n"]}
|
package/dist/chunk-W6KXPYCB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1,f,h,a as a$1}from'./chunk-PGCNGDPK.js';import {a}from'./chunk-33C7IDRP.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=f.extend({asset_type:literal("dataset").default("dataset"),metadata:u.extend({...y.partial().shape}),preview:array(record(string(),any()))}),K=h.extend({asset_type:literal("dataset").default("dataset"),metadata:u.extend({...y.shape}),preview:array(record(string(),any()))}).transform(m=>a$1(m)),U=h.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-W6KXPYCB.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-W6KXPYCB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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-W6KXPYCB.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"]}
|
package/dist/chunk-XEA4DDOE.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkKHERHT26_cjs=require('./chunk-KHERHT26.cjs'),chunkRMMMRN4X_cjs=require('./chunk-RMMMRN4X.cjs'),chunkYTCAK2AH_cjs=require('./chunk-YTCAK2AH.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),zod=require('zod');var D=zod.enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),I=zod.object({authentication:D,base_url:zod.string(),version:zod.optional(zod.nullable(zod.string())),spec_path:zod.optional(zod.nullable(zod.string())),spec_url:zod.optional(zod.nullable(zod.string())),auth_url:zod.optional(zod.nullable(zod.string()))}),g=I.extend(chunkRMMMRN4X_cjs.b.partial().shape),M=chunkRMMMRN4X_cjs.f.extend({asset_type:chunkYFEGRZXL_cjs.a.refine(u=>u==="service"),metadata:g}),G=chunkRMMMRN4X_cjs.h.extend({asset_type:chunkYFEGRZXL_cjs.a.refine(u=>u==="service"),metadata:g}).transform(u=>chunkRMMMRN4X_cjs.a(u)),J=M.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({last_updated:zod.string().default(()=>new Date().toISOString())}).transform(u=>chunkRMMMRN4X_cjs.a(u)),z=zod.enum(["sync","async"]),m=zod.enum(["file","dataset","post"]),b=zod.enum(chunkKHERHT26_cjs.a),O=zod.object({asset_type:m,primary:zod.optional(zod.boolean()),input_filter:zod.optional(zod.nullable(b)),file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),contains_file_extensions:zod.optional(zod.nullable(zod.array(zod.string())))}).catchall(zod.any()),k=zod.object({asset_type:m,primary:zod.optional(zod.boolean()),file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),contains_file_extensions:zod.optional(zod.nullable(zod.array(zod.string())))}).catchall(zod.any()),T=zod.record(zod.string(),O),E=zod.record(zod.string(),k),C=zod.object({id:zod.string(),user_id:zod.string(),service_id:zod.string(),path:zod.string(),method:chunkYFEGRZXL_cjs.l,summary:zod.optional(zod.nullable(zod.string())),parameters:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),request_body:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),responses:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),input_assets:zod.optional(zod.nullable(T)),input_type:zod.optional(zod.nullable(m)),input_filter:zod.optional(zod.nullable(b)),input_file_extension:zod.optional(zod.nullable(zod.string())),input_file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),output_assets:zod.optional(zod.nullable(E)),output_type:zod.optional(zod.nullable(m)),output_file_extension:zod.optional(zod.nullable(zod.string())),security:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),rate_limit:zod.optional(zod.nullable(zod.number())),execution_mode:zod.optional(z).default("sync"),observed_execution_mode:zod.optional(zod.nullable(z)),last_updated:zod.string()}),F=zod.object({avg_ack_ms:zod.optional(zod.nullable(zod.number())),p95_ack_ms:zod.optional(zod.nullable(zod.number())),avg_completion_ms:zod.optional(zod.nullable(zod.number())),p95_completion_ms:zod.optional(zod.nullable(zod.number())),latency_sample_count:zod.optional(zod.nullable(zod.number()))}),K=chunkRMMMRN4X_cjs.f.extend({asset_type:chunkYFEGRZXL_cjs.a.refine(u=>u==="route"),route:C,metrics:zod.optional(zod.nullable(F))}),w=zod.object({id:zod.uuid(),user_id:zod.uuid(),route_id:zod.uuid(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),response:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),side_effects:zod.boolean().default(true),input_asset_id:zod.optional(zod.nullable(zod.uuid())),output_asset_id:zod.optional(zod.nullable(zod.uuid())),input_asset:zod.optional(zod.nullable(chunkRMMMRN4X_cjs.f)),input_assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),output_asset:zod.optional(zod.nullable(chunkRMMMRN4X_cjs.f)),output_assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),webhook_url:zod.optional(zod.nullable(zod.string())),webhook_token:zod.optional(zod.nullable(zod.string())),status:chunkYFEGRZXL_cjs.j,created_at:zod.string(),last_updated:zod.string(),started_at:zod.optional(zod.nullable(zod.string())),ack_at:zod.optional(zod.nullable(zod.string())),upstream_status_code:zod.optional(zod.nullable(zod.number())),finished_at:zod.optional(zod.nullable(zod.string()))}),v=zod.object({name:zod.string(),asset_id:zod.optional(zod.nullable(zod.uuid())),asset_type:zod.optional(chunkYFEGRZXL_cjs.a),is_primary:zod.optional(zod.boolean()),asset:zod.optional(zod.nullable(chunkRMMMRN4X_cjs.f.partial()))}),P=chunkRMMMRN4X_cjs.f.partial().extend({route:zod.optional(zod.nullable(zod.object({output_type:zod.optional(zod.nullable(chunkYFEGRZXL_cjs.a)),output_assets:zod.optional(zod.nullable(zod.any())),output_file_extension:zod.optional(zod.nullable(zod.string())),input_assets:zod.optional(zod.nullable(zod.any()))})))}),q=zod.object({id:zod.uuid(),total_cents:zod.optional(zod.nullable(zod.number())),unit_cost_cents:zod.optional(zod.nullable(zod.number())),quantity:zod.optional(zod.nullable(zod.number())),cost_unit:zod.optional(zod.nullable(zod.string())),status:zod.optional(zod.nullable(zod.string())),stripe_invoice_id:zod.optional(zod.nullable(zod.string())),created_at:zod.optional(zod.string())}),B=zod.object({id:zod.uuid(),type:zod.optional(zod.nullable(zod.string())),value:zod.optional(zod.nullable(zod.number())),status:zod.optional(zod.nullable(zod.string())),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),created_at:zod.optional(zod.string())}),Q=w.extend({user:zod.optional(zod.nullable(chunkYTCAK2AH_cjs.b.partial())),route:zod.optional(zod.nullable(P)),input_assets:zod.optional(zod.nullable(zod.array(v))),output_assets:zod.optional(zod.nullable(zod.array(v))),usage_record:zod.optional(zod.nullable(q)),btc_charges:zod.optional(zod.nullable(zod.array(B)))});exports.a=M;exports.b=G;exports.c=J;exports.d=z;exports.e=O;exports.f=k;exports.g=T;exports.h=E;exports.i=F;exports.j=K;exports.k=w;exports.l=v;exports.m=P;exports.n=Q;//# sourceMappingURL=chunk-XEA4DDOE.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-XEA4DDOE.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/services.ts"],"names":["AuthType","zodEnum","BaseServiceMetadataSchema","object","string","optional","nullable","ServiceMetadataSchema","AssetMetadataSchema","ServiceSchema","AssetSchema","AssetTypeSchema","x","CreateServiceSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateServiceSchema","ExecutionModeSchema","RouteAssetType","RouteInputFilter","FILE_FILTERS","RouteInputAssetDeclarationSchema","boolean","array","any","RouteOutputAssetDeclarationSchema","RouteInputAssetsSchema","record","RouteOutputAssetsSchema","RouteDetailSchema","HttpMethodSchema","number","RouteMetricsSchema","RouteSchema","ActionSchema","uuid","StatusSchema","ActionAssetRefSchema","ReadActionRouteSchema","ActionUsageRecordSchema","ActionBtcChargeSchema","ReadActionSchema","ProfileSchema"],"mappings":"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","file":"chunk-XEA4DDOE.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema, HttpMethodSchema, StatusSchema } from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ProfileSchema } from \"./users\";\nimport { FILE_FILTERS } from \"../utils/files\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n spec_url: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateServiceSchema = ServiceSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ExecutionModeSchema = zodEnum([\"sync\", \"async\"]);\n\n// Asset type accepted in keyed `input_assets` / `output_assets` declarations.\nconst RouteAssetType = zodEnum([\"file\", \"dataset\", \"post\"]);\n\n// File-type filter accepted on file-input declarations.\nconst RouteInputFilter = zodEnum(FILE_FILTERS);\n\n// Shape of a single keyed declaration in `routes.input_assets`. Plural\n// declarations are canonical; the legacy `input_type` and `input_file_*`\n// columns on the route row stay in sync as primary projections.\nconst RouteInputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n input_filter: optional(nullable(RouteInputFilter)),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\n// Shape of a single keyed declaration in `routes.output_assets`.\nconst RouteOutputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\nconst RouteInputAssetsSchema = record(\n string(),\n RouteInputAssetDeclarationSchema\n);\n\nconst RouteOutputAssetsSchema = record(\n string(),\n RouteOutputAssetDeclarationSchema\n);\n\nconst RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: HttpMethodSchema,\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n // Canonical plural input declarations keyed by request body field name.\n input_assets: optional(nullable(RouteInputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `input_assets` for\n // older clients, indexing, and quick asset-type lookups.\n input_type: optional(nullable(RouteAssetType)),\n input_filter: optional(nullable(RouteInputFilter)),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n // Canonical plural output declarations keyed by response body field name.\n output_assets: optional(nullable(RouteOutputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `output_assets`.\n output_type: optional(nullable(RouteAssetType)),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n // Author-declared execution model: 'sync' = upstream returns the result\n // inline; 'async' = upstream returns 202 quickly and webhooks completion.\n execution_mode: optional(ExecutionModeSchema).default(\"sync\"),\n // Empirical mode derived by the platform from recent action history; null\n // until enough samples have been observed. When this differs from\n // execution_mode the route is misconfigured.\n observed_execution_mode: optional(nullable(ExecutionModeSchema)),\n last_updated: string(),\n});\n\n// Per-route latency aggregates surfaced from asset_metrics. All fields are\n// nullable because they don't exist until the platform has observed at least\n// one completed action for the route.\nconst RouteMetricsSchema = object({\n // Average HTTP-hop latency in milliseconds: time from request start until\n // upstream returned 200 or 202.\n avg_ack_ms: optional(nullable(number())),\n p95_ack_ms: optional(nullable(number())),\n // Average end-to-end latency in milliseconds: started_at to finished_at,\n // includes webhook completion for async routes. This is the value an\n // agent should consider when deciding whether to wait or poll.\n avg_completion_ms: optional(nullable(number())),\n p95_completion_ms: optional(nullable(number())),\n latency_sample_count: optional(nullable(number())),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\n // Latency aggregates joined from asset_metrics; null when no samples yet.\n metrics: optional(nullable(RouteMetricsSchema)),\n});\n\nconst ActionSchema = object({\n id: uuid(),\n user_id: uuid(),\n route_id: uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(uuid())),\n output_asset_id: optional(nullable(uuid())),\n input_asset: optional(nullable(AssetSchema)),\n input_assets: optional(nullable(array(record(string(), any())))),\n output_asset: optional(nullable(AssetSchema)),\n output_assets: optional(nullable(array(record(string(), any())))),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: StatusSchema,\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n // When the upstream service first responded (200 or 202). For sync routes\n // this is approximately equal to finished_at; for async routes the gap\n // between ack_at and finished_at is the out-of-band wait time.\n ack_at: optional(nullable(string())),\n // HTTP status code returned by the upstream service at ack time.\n upstream_status_code: optional(nullable(number())),\n finished_at: optional(nullable(string())),\n});\n\n/**\n * Row from `action_assets` after `prepareActionResponse` splits by direction.\n * Nested `asset` may briefly be null under RLS / replication lag.\n */\nconst ActionAssetRefSchema = object({\n name: string(),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(AssetTypeSchema),\n is_primary: optional(boolean()),\n asset: optional(nullable(AssetSchema.partial())),\n});\n\n/** Joined route asset on action reads (not a full Route). */\nconst ReadActionRouteSchema = AssetSchema.partial().extend({\n route: optional(\n nullable(\n object({\n output_type: optional(nullable(AssetTypeSchema)),\n output_assets: optional(nullable(any())),\n output_file_extension: optional(nullable(string())),\n input_assets: optional(nullable(any())),\n })\n )\n ),\n});\n\nconst ActionUsageRecordSchema = object({\n id: uuid(),\n total_cents: optional(nullable(number())),\n unit_cost_cents: optional(nullable(number())),\n quantity: optional(nullable(number())),\n cost_unit: optional(nullable(string())),\n status: optional(nullable(string())),\n stripe_invoice_id: optional(nullable(string())),\n created_at: optional(string()),\n});\n\nconst ActionBtcChargeSchema = object({\n id: uuid(),\n type: optional(nullable(string())),\n value: optional(nullable(number())),\n status: optional(nullable(string())),\n metadata: optional(nullable(record(string(), any()))),\n created_at: optional(string()),\n});\n\n/** Action as returned from read APIs, with joins and split action_assets. */\nconst ReadActionSchema = ActionSchema.extend({\n user: optional(nullable(ProfileSchema.partial())),\n route: optional(nullable(ReadActionRouteSchema)),\n input_assets: optional(nullable(array(ActionAssetRefSchema))),\n output_assets: optional(nullable(array(ActionAssetRefSchema))),\n usage_record: optional(nullable(ActionUsageRecordSchema)),\n btc_charges: optional(nullable(array(ActionBtcChargeSchema))),\n});\n\nexport {\n RouteSchema,\n RouteInputAssetDeclarationSchema,\n RouteOutputAssetDeclarationSchema,\n RouteInputAssetsSchema,\n RouteOutputAssetsSchema,\n ServiceSchema,\n CreateServiceSchema,\n UpdateServiceSchema,\n ActionSchema,\n ActionAssetRefSchema,\n ReadActionRouteSchema,\n ReadActionSchema,\n RouteMetricsSchema,\n ExecutionModeSchema,\n};\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type RouteMetrics = z.infer<typeof RouteMetricsSchema>;\nexport type RouteInputAssetDeclaration = z.infer<typeof RouteInputAssetDeclarationSchema>;\nexport type RouteOutputAssetDeclaration = z.infer<typeof RouteOutputAssetDeclarationSchema>;\nexport type RouteInputAssets = z.infer<typeof RouteInputAssetsSchema>;\nexport type RouteOutputAssets = z.infer<typeof RouteOutputAssetsSchema>;\nexport type ExecutionMode = z.infer<typeof ExecutionModeSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\nexport type ActionAssetRef = z.infer<typeof ActionAssetRefSchema>;\nexport type ReadActionRoute = z.infer<typeof ReadActionRouteSchema>;\nexport type ReadAction = z.infer<typeof ReadActionSchema>;\n"]}
|