@ourofoundation/ouro-js 3.8.0 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-3DGJ27WL.js +2 -0
- package/dist/chunk-3DGJ27WL.js.map +1 -0
- package/dist/{chunk-RRDGLT3N.cjs → chunk-3JPOAQ2M.cjs} +2 -2
- package/dist/{chunk-RRDGLT3N.cjs.map → chunk-3JPOAQ2M.cjs.map} +1 -1
- package/dist/{chunk-APZA6MIM.js → chunk-5CPECQKN.js} +2 -2
- package/dist/{chunk-APZA6MIM.js.map → chunk-5CPECQKN.js.map} +1 -1
- package/dist/{chunk-RNBIB6S7.cjs → chunk-AIIAIQ6L.cjs} +2 -2
- package/dist/{chunk-RNBIB6S7.cjs.map → chunk-AIIAIQ6L.cjs.map} +1 -1
- package/dist/chunk-AJ2O7ER6.js +2 -0
- package/dist/chunk-AJ2O7ER6.js.map +1 -0
- package/dist/{chunk-G6GCUGMM.js → chunk-CDJH4OT5.js} +2 -2
- package/dist/chunk-CDJH4OT5.js.map +1 -0
- package/dist/{chunk-23FTPTDP.cjs → chunk-DSJ23DIB.cjs} +2 -2
- package/dist/{chunk-23FTPTDP.cjs.map → chunk-DSJ23DIB.cjs.map} +1 -1
- package/dist/{chunk-N3HC2ASR.cjs → chunk-E2FDUS3B.cjs} +2 -2
- package/dist/{chunk-N3HC2ASR.cjs.map → chunk-E2FDUS3B.cjs.map} +1 -1
- package/dist/{chunk-CXMEZGVG.js → chunk-EC376C5T.js} +2 -2
- package/dist/{chunk-CXMEZGVG.js.map → chunk-EC376C5T.js.map} +1 -1
- package/dist/{chunk-U5JVCESS.js → chunk-FGEMQEEM.js} +2 -2
- package/dist/{chunk-U5JVCESS.js.map → chunk-FGEMQEEM.js.map} +1 -1
- package/dist/{chunk-BELCP7OL.cjs → chunk-KU5AWMS5.cjs} +2 -2
- package/dist/{chunk-BELCP7OL.cjs.map → chunk-KU5AWMS5.cjs.map} +1 -1
- package/dist/{chunk-RQUVICCB.cjs → chunk-LHCGBWFP.cjs} +2 -2
- package/dist/{chunk-RQUVICCB.cjs.map → chunk-LHCGBWFP.cjs.map} +1 -1
- package/dist/{chunk-6OO4SOWL.js → chunk-LXDNBUOU.js} +2 -2
- package/dist/{chunk-6OO4SOWL.js.map → chunk-LXDNBUOU.js.map} +1 -1
- package/dist/{chunk-GT7CSIDN.js → chunk-MKRXM63S.js} +2 -2
- package/dist/{chunk-GT7CSIDN.js.map → chunk-MKRXM63S.js.map} +1 -1
- package/dist/{chunk-5CKFMTWZ.js → chunk-O4LSX56P.js} +2 -2
- package/dist/{chunk-5CKFMTWZ.js.map → chunk-O4LSX56P.js.map} +1 -1
- package/dist/{chunk-EIB2YGN3.js → chunk-OCG3P3PJ.js} +2 -2
- package/dist/{chunk-EIB2YGN3.js.map → chunk-OCG3P3PJ.js.map} +1 -1
- package/dist/chunk-OCMBP3U7.cjs +2 -0
- package/dist/chunk-OCMBP3U7.cjs.map +1 -0
- package/dist/{chunk-GX6RCMZR.js → chunk-PGCNGDPK.js} +2 -2
- package/dist/{chunk-GX6RCMZR.js.map → chunk-PGCNGDPK.js.map} +1 -1
- package/dist/chunk-PJLIO4PA.cjs +7 -0
- package/dist/chunk-PJLIO4PA.cjs.map +1 -0
- package/dist/{chunk-O6RFWCC4.cjs → chunk-PVUBGWOI.cjs} +2 -2
- package/dist/{chunk-O6RFWCC4.cjs.map → chunk-PVUBGWOI.cjs.map} +1 -1
- package/dist/chunk-Q4IXX6KS.js +7 -0
- package/dist/chunk-Q4IXX6KS.js.map +1 -0
- package/dist/{chunk-7R5EIIIR.cjs → chunk-RMMMRN4X.cjs} +2 -2
- package/dist/{chunk-7R5EIIIR.cjs.map → chunk-RMMMRN4X.cjs.map} +1 -1
- package/dist/{chunk-3UE4H5TR.js → chunk-RS5H4XDK.js} +2 -2
- package/dist/{chunk-3UE4H5TR.js.map → chunk-RS5H4XDK.js.map} +1 -1
- package/dist/{chunk-NVKZLT3M.cjs → chunk-T6UO42TO.cjs} +2 -2
- package/dist/{chunk-NVKZLT3M.cjs.map → chunk-T6UO42TO.cjs.map} +1 -1
- package/dist/{chunk-M2ZH6MMH.cjs → chunk-U6XOT6XH.cjs} +2 -2
- package/dist/{chunk-M2ZH6MMH.cjs.map → chunk-U6XOT6XH.cjs.map} +1 -1
- package/dist/{chunk-QUBJLDJY.js → chunk-W6KXPYCB.js} +2 -2
- package/dist/{chunk-QUBJLDJY.js.map → chunk-W6KXPYCB.js.map} +1 -1
- package/dist/{chunk-W4V643O5.cjs → chunk-XEA4DDOE.cjs} +2 -2
- package/dist/{chunk-W4V643O5.cjs.map → chunk-XEA4DDOE.cjs.map} +1 -1
- package/dist/chunk-XL2RQ3DZ.cjs +2 -0
- package/dist/chunk-XL2RQ3DZ.cjs.map +1 -0
- package/dist/{chunk-M5ZLLARC.js → chunk-Y6BK75KP.js} +2 -2
- package/dist/{chunk-M5ZLLARC.js.map → chunk-Y6BK75KP.js.map} +1 -1
- package/dist/{chunk-L6SVUDFH.cjs → chunk-YTCAK2AH.cjs} +2 -2
- package/dist/chunk-YTCAK2AH.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/schema/assets.cjs +1 -1
- package/dist/schema/assets.js +1 -1
- package/dist/schema/comments.cjs +1 -1
- package/dist/schema/comments.js +1 -1
- package/dist/schema/conversations.cjs +1 -1
- package/dist/schema/conversations.js +1 -1
- package/dist/schema/datasets.cjs +1 -1
- package/dist/schema/datasets.js +1 -1
- package/dist/schema/files.cjs +1 -1
- package/dist/schema/files.d.cts +1 -1
- package/dist/schema/files.d.ts +1 -1
- package/dist/schema/files.js +1 -1
- package/dist/schema/notifications.cjs +1 -1
- package/dist/schema/notifications.js +1 -1
- package/dist/schema/organizations.cjs +1 -1
- package/dist/schema/organizations.js +1 -1
- package/dist/schema/posts.cjs +1 -1
- package/dist/schema/posts.js +1 -1
- package/dist/schema/quests.cjs +1 -1
- package/dist/schema/quests.js +1 -1
- package/dist/schema/services.cjs +1 -1
- package/dist/schema/services.js +1 -1
- package/dist/schema/teams.cjs +1 -1
- package/dist/schema/teams.js +1 -1
- package/dist/schema/users.cjs +1 -1
- package/dist/schema/users.d.cts +0 -5
- package/dist/schema/users.d.ts +0 -5
- package/dist/schema/users.js +1 -1
- package/dist/utils/air/index.cjs +1 -1
- package/dist/utils/air/index.d.cts +23 -1
- package/dist/utils/air/index.d.ts +23 -1
- package/dist/utils/air/index.js +1 -1
- package/dist/utils/air/markdown-parser.cjs +1 -1
- package/dist/utils/air/markdown-parser.js +1 -1
- package/dist/utils/quest-submission.cjs +1 -1
- package/dist/utils/quest-submission.js +1 -1
- package/package.json +2 -2
- package/tests/files.test.mjs +29 -0
- package/tests/markdown-parser.test.mjs +52 -0
- package/tests/users.test.mjs +13 -0
- package/dist/chunk-AUDVUOLX.js +0 -2
- package/dist/chunk-AUDVUOLX.js.map +0 -1
- package/dist/chunk-CRUIBV5F.js +0 -2
- package/dist/chunk-CRUIBV5F.js.map +0 -1
- package/dist/chunk-EVQAA7RQ.cjs +0 -2
- package/dist/chunk-EVQAA7RQ.cjs.map +0 -1
- package/dist/chunk-G6GCUGMM.js.map +0 -1
- package/dist/chunk-KXYKN3TY.js +0 -7
- package/dist/chunk-KXYKN3TY.js.map +0 -1
- package/dist/chunk-L6SVUDFH.cjs.map +0 -1
- package/dist/chunk-NSKBXBRD.cjs +0 -7
- package/dist/chunk-NSKBXBRD.cjs.map +0 -1
- package/dist/chunk-SZWAE35B.cjs +0 -2
- package/dist/chunk-SZWAE35B.cjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b,f,h as h$1,a}from'./chunk-PGCNGDPK.js';import {object,boolean,number,optional,string,enum as _enum,uuid,literal,discriminatedUnion}from'zod';var h=object({entry_count:number(),file_count:number(),directory_count:number(),total_uncompressed_size:number(),total_compressed_size:number(),preview_truncated:boolean()}),S=object({id:uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number()),archive:optional(h)}),_=object({type:string()}),d=S.extend(b.partial().shape),y=_.extend(b.partial().shape),F=f.extend({asset_type:literal("file").default("file"),metadata:d}),g=discriminatedUnion("state",[h$1.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:d}),h$1.extend({asset_type:literal("file").default("file"),state:literal("in-progress"),metadata:y})]).transform(i=>a(i)),M=F.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(i=>a(i));export{h as a,F as b,g as c,M as d};//# sourceMappingURL=chunk-3DGJ27WL.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-3DGJ27WL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/files.ts"],"names":["ZipArchiveMetadataSchema","object","number","boolean","BaseFileMetadataSchema","uuid","string","zodEnum","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"2JAqBMA,CAA2BC,CAAAA,MAAAA,CAAO,CACtC,WAAA,CAAaC,MAAO,EAAA,CACpB,WAAYA,MAAO,EAAA,CACnB,eAAiBA,CAAAA,MAAAA,EACjB,CAAA,uBAAA,CAAyBA,QACzB,CAAA,qBAAA,CAAuBA,MAAO,EAAA,CAC9B,iBAAmBC,CAAAA,OAAAA,EACrB,CAAC,CAAA,CAEKC,CAAyBH,CAAAA,MAAAA,CAAO,CACpC,EAAA,CAAII,MACJ,CAAA,IAAA,CAAMC,MAAO,EAAA,CACb,MAAQC,CAAAA,KAAAA,CAAQ,CAAC,cAAgB,CAAA,OAAO,CAAC,CAAA,CACzC,IAAMD,CAAAA,MAAAA,GACN,IAAMA,CAAAA,MAAAA,EACN,CAAA,SAAA,CAAWA,MAAO,EAAA,CAClB,KAAMJ,MAAO,EAAA,CAEb,KAAOM,CAAAA,QAAAA,CAASN,MAAO,EAAC,EACxB,MAAQM,CAAAA,QAAAA,CAASN,MAAO,EAAC,CACzB,CAAA,OAAA,CAASM,SAASR,CAAwB,CAC5C,CAAC,CAAA,CAEKS,CAA6BR,CAAAA,MAAAA,CAAO,CACxC,IAAMK,CAAAA,MAAAA,EACR,CAAC,CAEKI,CAAAA,CAAAA,CAAqBN,EAAuB,MAChDO,CAAAA,CAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAAA,CAEMC,CAAyBH,CAAAA,CAAAA,CAA2B,MACxDE,CAAAA,CAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAAA,CAEME,EAAaC,CAAY,CAAA,MAAA,CAAO,CACpC,UAAA,CAAYC,OAAQ,CAAA,MAAM,EAAE,OAAQ,CAAA,MAAM,CAC1C,CAAA,QAAA,CAAUL,CACZ,CAAC,EAEKM,CAAmBC,CAAAA,kBAAAA,CAAmB,OAAS,CAAA,CAKnDC,GAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAA,CAAE,OAAQ,CAAA,MAAM,EAC1C,KAAOA,CAAAA,OAAAA,CAAQ,SAAS,CAAA,CAAE,OAAQ,CAAA,SAAS,EAC3C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEDQ,GAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAA,CAAE,OAAQ,CAAA,MAAM,EAC1C,KAAOA,CAAAA,OAAAA,CAAQ,aAAa,CAAA,CAC5B,QAAUH,CAAAA,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,CAAUC,EAAAA,CAAAA,CAA+BD,CAAK,CAAC,CAAA,CAEvDE,CAAmBR,CAAAA,CAAAA,CAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,IACT,CAAA,EAAA,CAAI,IACJ,CAAA,UAAA,CAAY,KACZ,YAAc,CAAA,IAAA,CACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,KAAM,IACN,CAAA,IAAA,CAAM,IACN,CAAA,iBAAA,CAAmB,IACrB,CAAC,EACA,MAAO,CAAA,CACN,YAAcP,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,CAAA,CACA,SAAWa,CAAAA,CAAAA,EAAUC,CAA+BD,CAAAA,CAAK,CAAC","file":"chunk-3DGJ27WL.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion,\n nullable,\n boolean\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst ZipArchiveMetadataSchema = object({\n entry_count: number(),\n file_count: number(),\n directory_count: number(),\n total_uncompressed_size: number(),\n total_compressed_size: number(),\n preview_truncated: boolean(),\n});\n\nconst BaseFileMetadataSchema = object({\n id: uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n archive: optional(ZipArchiveMetadataSchema),\n});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready. Keep `.default()` on this branch only so\n // omitted `state` still creates a ready file. Zod 4.5 treats a defaulted\n // discriminator as claiming `undefined`; two such branches throw\n // `Duplicate discriminator value \"undefined\"` on first parse.\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\"),\n metadata: StubFileMetadataSchema,\n }),\n]).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst updateFileSchema = FileSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n FileSchema,\n CreateFileSchema,\n updateFileSchema,\n ZipArchiveMetadataSchema,\n};\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\nexport type ZipArchiveMetadata = z.infer<typeof ZipArchiveMetadataSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkKU5AWMS5_cjs=require('./chunk-KU5AWMS5.cjs'),chunkYTCAK2AH_cjs=require('./chunk-YTCAK2AH.cjs'),chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),uuidv7=require('uuidv7'),zod=require('zod');var s=zod.object({id:zod.uuid(),org_id:zod.uuid(),organization:chunkKU5AWMS5_cjs.c,name:zod.string(),description:zod.optional(zod.nullable(zod.object({text:zod.string(),json:zod.record(zod.string(),zod.any())}))),default_role:chunkYFEGRZXL_cjs.c,visibility:chunkYFEGRZXL_cjs.b,actor_type_policy:zod.optional(zod.nullable(chunkKU5AWMS5_cjs.a)),source_policy:zod.optional(zod.nullable(chunkKU5AWMS5_cjs.b)),userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkYFEGRZXL_cjs.c}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkYFEGRZXL_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkYTCAK2AH_cjs.b.partial()))})),created_at:zod.string()}),P=s.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:chunkYFEGRZXL_cjs.c.default("write").refine(d=>d==="read"||d==="write"),visibility:chunkYFEGRZXL_cjs.b.default("public").refine(d=>d==="public"||d==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),T=s.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkYFEGRZXL_cjs.c}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkYFEGRZXL_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkYTCAK2AH_cjs.b.partial()))})),organization:zod.optional(zod.nullable(chunkKU5AWMS5_cjs.c.partial())),assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),users:zod.optional(zod.nullable(zod.array(chunkYTCAK2AH_cjs.b.partial()))),actions:zod.optional(zod.nullable(zod.array(chunkJRBBNFFI_cjs.a)))}),U=zod.array(T.extend({label:zod.string(),value:zod.string()})),j=s.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.uuid()});exports.a=s;exports.b=P;exports.c=T;exports.d=U;exports.e=j;//# sourceMappingURL=chunk-3JPOAQ2M.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-3JPOAQ2M.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/teams.ts"],"names":["TeamSchema","object","uuid","OrganizationsSchema","string","optional","nullable","record","any","RoleSchema","VisibilitySchema","ActorTypePolicySchema","SourcePolicySchema","number","array","ProfileSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","zodRecord","ContentActionRefSchema","ReadTeamsSchema","UpdateTeamSchema"],"mappings":"qQAoBA,IAAMA,EAAaC,UAAO,CAAA,CACxB,EAAIC,CAAAA,QAAAA,GACJ,MAAQA,CAAAA,QAAAA,EACR,CAAA,YAAA,CAAcC,mBACd,CAAA,IAAA,CAAMC,UAAO,EAAA,CACb,YAAaC,YACXC,CAAAA,YAAAA,CACEL,UAAO,CAAA,CACL,KAAMG,UAAO,EAAA,CACb,IAAMG,CAAAA,UAAAA,CAAOH,YAAUI,CAAAA,OAAAA,EAAK,CAC9B,CAAC,CACH,CACF,CACA,CAAA,YAAA,CAAcC,oBACd,UAAYC,CAAAA,mBAAAA,CACZ,iBAAmBL,CAAAA,YAAAA,CAASC,aAASK,mBAAqB,CAAC,CAC3D,CAAA,aAAA,CAAeN,aAASC,YAASM,CAAAA,mBAAkB,CAAC,CAAA,CACpD,cAAgBP,CAAAA,YAAAA,CACdC,YACEL,CAAAA,UAAAA,CAAO,CACL,OAASC,CAAAA,QAAAA,EACT,CAAA,IAAA,CAAMO,mBACR,CAAC,CACH,CACF,CAAA,CACA,YAAaJ,YAASC,CAAAA,YAAAA,CAASO,UAAO,EAAC,CAAC,CACxC,CAAA,OAAA,CAASC,SACPb,CAAAA,UAAAA,CAAO,CACL,OAASC,CAAAA,QAAAA,EACT,CAAA,IAAA,CAAMO,oBACN,QAAUL,CAAAA,UAAAA,EACV,CAAA,IAAA,CAAMC,aAASC,YAASS,CAAAA,mBAAAA,CAAc,OAAQ,EAAC,CAAC,CAClD,CAAC,CACH,EACA,UAAYX,CAAAA,UAAAA,EACd,CAAC,EAEKY,CAAmBhB,CAAAA,CAAAA,CAAW,MAAO,CAAA,CACzC,GAAII,UAAO,EAAA,CAAE,OAAQ,CAAA,IAAMa,eAAQ,CAAA,CACnC,YAAcR,CAAAA,mBAAAA,CAAW,QAAQ,OAAO,CAAA,CAAE,MACvCS,CAAAA,CAAAA,EAAMA,IAAM,MAAUA,EAAAA,CAAAA,GAAM,OAC/B,CAAA,CACA,WAAYR,mBAAiB,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAE,MAC5CQ,CAAAA,CAAAA,EAAMA,CAAM,GAAA,QAAA,EAAYA,IAAM,cACjC,CAAA,CACA,UAAYd,CAAAA,UAAAA,GAAS,OAAQ,CAAA,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC7D,CAAC,EAAE,IAAK,CAAA,CACN,YAAc,CAAA,IAAA,CACd,eAAgB,IAChB,CAAA,WAAA,CAAa,IACb,CAAA,OAAA,CAAS,KACT,UAAY,CAAA,IACd,CAAC,CAAA,CAEKe,EAAiBnB,CAAW,CAAA,MAAA,CAAO,CACvC,cAAA,CAAgBK,YACdC,CAAAA,YAAAA,CACEL,UAAO,CAAA,CACL,QAASC,QAAK,EAAA,CACd,IAAMO,CAAAA,mBACR,CAAC,CACH,CACF,CACA,CAAA,WAAA,CAAaI,YACb,CAAA,OAAA,CAASC,SACPb,CAAAA,UAAAA,CAAO,CACL,OAASC,CAAAA,QAAAA,EACT,CAAA,IAAA,CAAMO,oBACN,QAAUL,CAAAA,UAAAA,EACV,CAAA,IAAA,CAAMC,aAASC,YAASS,CAAAA,mBAAAA,CAAc,OAAQ,EAAC,CAAC,CAClD,CAAC,CACH,CAAA,CACA,YAAcV,CAAAA,YAAAA,CAASC,YAASH,CAAAA,mBAAAA,CAAoB,SAAS,CAAC,CAG9D,CAAA,MAAA,CAAQE,aACNC,YAASQ,CAAAA,SAAAA,CAAMM,UAAUhB,CAAAA,UAAAA,GAAUI,OAAI,EAAC,CAAC,CAAC,CAC5C,CACA,CAAA,KAAA,CAAOH,YACLC,CAAAA,YAAAA,CAASQ,UAAMC,mBAAc,CAAA,OAAA,EAAS,CAAC,CACzC,CACA,CAAA,OAAA,CAASV,YAASC,CAAAA,YAAAA,CAASQ,UAAMO,mBAAsB,CAAC,CAAC,CAC3D,CAAC,CAAA,CAEKC,CAAkBR,CAAAA,SAAAA,CACtBK,EAAe,MAAO,CAAA,CACpB,KAAOf,CAAAA,UAAAA,GACP,KAAOA,CAAAA,UAAAA,EACT,CAAC,CACH,CAEMmB,CAAAA,CAAAA,CAAmBvB,CAAW,CAAA,OAAA,GACjC,IAAK,CAAA,CACJ,MAAQ,CAAA,IAAA,CACR,aAAc,IACd,CAAA,UAAA,CAAY,IACd,CAAC,EACA,MAAO,CAAA,CACN,EAAIE,CAAAA,QAAAA,EACN,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/teams.ts"],"names":["TeamSchema","object","uuid","OrganizationsSchema","string","optional","nullable","record","any","RoleSchema","VisibilitySchema","ActorTypePolicySchema","SourcePolicySchema","number","array","ProfileSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","zodRecord","ContentActionRefSchema","ReadTeamsSchema","UpdateTeamSchema"],"mappings":"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","file":"chunk-3JPOAQ2M.cjs","sourcesContent":["import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n optional,\n nullable,\n any,\n record\n} from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { OrganizationsSchema, ActorTypePolicySchema, SourcePolicySchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\nimport { record as zodRecord } from \"zod\";\n\nconst TeamSchema = object({\n id: uuid(),\n org_id: uuid(),\n organization: OrganizationsSchema,\n name: string(),\n description: optional(\n nullable(\n object({\n text: string(),\n json: record(string(), any()),\n })\n )\n ),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n actor_type_policy: optional(nullable(ActorTypePolicySchema)),\n source_policy: optional(nullable(SourcePolicySchema)),\n userMembership: optional(\n nullable(\n object({\n user_id: uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: optional(nullable(number())),\n members: array(\n object({\n user_id: uuid(),\n role: RoleSchema,\n added_at: string(),\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n created_at: string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: string().default(() => new Date().toISOString()),\n}).omit({\n organization: true,\n userMembership: true,\n memberCount: true,\n members: true,\n created_at: true,\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: optional(\n nullable(\n object({\n user_id: uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: number(),\n members: array(\n object({\n user_id: uuid(),\n role: RoleSchema,\n added_at: string(),\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n organization: optional(nullable(OrganizationsSchema.partial())),\n // Enriched fields used for rendering embedded references in description.\n // assets stay loose here — AssetSchema imports TeamSchema (cycle).\n assets: optional(\n nullable(array(zodRecord(string(), any())))\n ),\n users: optional(\n nullable(array(ProfileSchema.partial()))\n ),\n actions: optional(nullable(array(ContentActionRefSchema))),\n});\n\nconst ReadTeamsSchema = array(\n ReadTeamSchema.extend({\n label: string(),\n value: string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n organization: true,\n created_at: true,\n })\n .extend({\n id: uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a,d as d$1,c}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a,d as d$1,c}from'./chunk-O4LSX56P.js';import {f,b,h,a as a$2}from'./chunk-PGCNGDPK.js';import {a as a$1}from'./chunk-33C7IDRP.js';import {enum as _enum,object,optional,string,array,any,record,literal,number,uuid,nullable,boolean,union}from'zod';var w=_enum(["closable","continuous"]),E=_enum(["draft","open","closed","cancelled"]),l=_enum(["pending","in_progress","done","skipped"]),I=_enum(["btc","usd"]),q=_enum(["skipped","running","passed","failed","errored"]),k=_enum(["submitted","accepted","rejected"]),C=_enum(["desc","asc"]),T=object({type:string(),content:optional(array(any())),attrs:optional(record(string(),any())),marks:optional(array(any())),text:optional(string())}),d=object({json:object({type:literal("doc"),content:array(T)}),text:string()}),A=object({id:uuid(),quest_id:uuid(),description:d,status:l.default("pending"),auto_skipped:optional(nullable(string().or(any()))),status_before_auto_skip:optional(nullable(l)),sort_order:number().default(0),type:string().default("task"),created_by:uuid(),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a$1)),reward_xp:number().int().nonnegative().default(0),reward_currency:I.default("btc"),reward_amount:number().int().nonnegative().default(0),child_quest_id:optional(nullable(uuid())),eval_route_id:optional(nullable(uuid())),eval_score_path:optional(nullable(string())),eval_categories_path:optional(nullable(string())),eval_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),leaderboard_enabled:optional(boolean()).default(false),leaderboard_order:optional(C).default("desc"),submission_assets:optional(nullable(record(string(),d$1))),eval_static_inputs:optional(nullable(a)),notes:optional(nullable(string())),contributor_keys:optional(nullable(array(object({key:string(),required:boolean().default(true),filters:object({assetType:optional(string()),fileType:optional(string()),extensions:optional(array(string())),hasConstraints:boolean().default(false)})})))),created_at:string(),updated_at:string()}),R=A,x=object({description:union([string().min(1,{message:"Item description cannot be empty"}),d]),type:optional(string()).default("task"),sort_order:optional(number().int()),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a$1)),reward_xp:optional(number().int().nonnegative()).default(0),reward_currency:optional(I).default("btc"),reward_amount:optional(number().int().nonnegative()).default(0),child_quest_id:optional(nullable(uuid())),eval_route_id:optional(nullable(uuid())),eval_score_path:optional(nullable(string())),eval_categories_path:optional(nullable(string())),eval_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),leaderboard_enabled:optional(boolean()).default(false),leaderboard_order:optional(C).default("desc"),submission_assets:optional(nullable(record(string(),d$1))),eval_static_inputs:optional(nullable(a)),notes:optional(nullable(string()))}),U=union([string().min(1,{message:"Item description cannot be empty"}).transform(u=>x.parse({description:u})),x]),j=object({type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),closed_at:optional(nullable(string()))}),O=f.extend({asset_type:literal("quest").default("quest"),metadata:optional(nullable(b.partial())),quest:optional(j.partial()),items:optional(array(R.partial())),progress:optional(object({total:number(),resolved:number(),remaining:number(),items:optional(array(object({id:string(),status:l,waiting_on:optional(nullable(string())),waiting_until:optional(nullable(string())),waiting_check_every:optional(nullable(string()))}).partial()))}))}),Z=h.extend({asset_type:literal("quest").default("quest"),name:optional(nullable(string())).default(null),description:optional(nullable(d)),type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),items:optional(array(U)).default([])}).transform(u=>a$2(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:literal("quest").default("quest"),last_updated:string().default(()=>new Date().toISOString())}).transform(u=>a$2(u)),M=x.partial().extend({status:optional(l)}),N=object({id:uuid(),quest_id:uuid(),user_id:uuid(),item_id:optional(nullable(uuid())),asset_id:optional(nullable(uuid())),asset_type:optional(nullable(a$1)),assets:optional(nullable(a)),description:optional(nullable(d)),review:optional(nullable(d)),status:k,reviewer_id:optional(nullable(uuid())),reviewed_at:optional(nullable(string())),eval_action_id:optional(nullable(uuid())),eval_score:optional(nullable(number())),eval_category_scores:optional(nullable(record(string(),number()))),eval_status:optional(nullable(q)),created_at:string(),updated_at:string()}),P=object({item_id:uuid(),assets:optional(nullable(c)),description:optional(nullable(union([string(),d])))}),G=object({status:_enum(["accepted","rejected"]),review:optional(nullable(union([string(),d])))});export{w as a,E as b,l as c,I as d,q as e,k as f,C as g,A as h,R as i,x as j,U as k,O as l,Z as m,F as n,M as o,N as p,P as q,G as r};//# sourceMappingURL=chunk-5CPECQKN.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-5CPECQKN.js.map
|
|
@@ -1 +1 @@
|
|
|
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-APZA6MIM.js","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"]}
|
|
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-5CPECQKN.js","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"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","nullable","optional","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","x","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageReactionValueSchema","union","MessageReactionSchema","uuid","MessageSchema","number","TipTapSchema","record","any","ContentActionRefSchema"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","nullable","optional","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","x","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageReactionValueSchema","union","MessageReactionSchema","uuid","MessageSchema","number","TipTapSchema","record","any","ContentActionRefSchema"],"mappings":"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","file":"chunk-AIIAIQ6L.cjs","sourcesContent":["import {\n object,\n string,\n number,\n uuid,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal,\n union\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n // Agents often name conversations after the first exchange; allow null until then.\n name: nullable(string()),\n metadata: ConversationMetadataSchema,\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst BaseCreateConversationSchema = CreateAssetSchema.extend({\n asset_type: literal(\"conversation\").default(\"conversation\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\n // Optional like posts — leave blank and let a responding agent name it.\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n metadata: ConversationMetadataSchema,\n});\n\nconst CreateConversationSchema = BaseCreateConversationSchema\n .transform((value) => normalizeAssetConfigForParsing(value));\n\n// Partial because we can make updates to conversations without providing all fields\nconst UpdateConversationSchema = BaseCreateConversationSchema.omit({\n id: true,\n org_id: true,\n team_id: true,\n // team: true,\n // user: true,\n // organization: true,\n // slug: true,\n}).partial().transform((value) => normalizeAssetConfigForParsing(value));\n\nconst MessageReactionValueSchema = union([\n literal(\"heart\"),\n literal(\"thumbs-up\"),\n literal(\"thumbs-down\"),\n literal(\"question\"),\n literal(\"skull\"),\n]);\n\nconst MessageReactionSchema = object({\n id: uuid(),\n message_id: uuid(),\n conversation_id: uuid(),\n user_id: uuid(),\n value: MessageReactionValueSchema,\n created_at: string(),\n});\n\nconst MessageSchema = object({\n id: uuid(),\n conversation_id: uuid(),\n turn_id: uuid(),\n seq: number(),\n user_id: uuid(),\n user: optional(nullable(ProfileSchema)),\n type: string().default(\"message\"),\n created_at: string(),\n last_updated: string(),\n viewers: array(uuid()),\n json: TipTapSchema,\n text: string(),\n metadata: optional(nullable(record(string(), any()))),\n reactions: optional(nullable(array(MessageReactionSchema))),\n // Resolved from message content embeds / links at read time\n assets: optional(nullable(array(AssetSchema.partial()))),\n users: optional(nullable(array(ProfileSchema.partial()))),\n actions: optional(nullable(array(ContentActionRefSchema))),\n});\n\nexport {\n MessageReactionValueSchema,\n MessageReactionSchema,\n MessageSchema,\n UpdateConversationSchema,\n CreateConversationSchema,\n ConversationSchema,\n};\nexport type Conversation = z.infer<typeof ConversationSchema>;\nexport type CreateConversation = z.infer<typeof CreateConversationSchema>;\nexport type UpdateConversation = z.infer<typeof UpdateConversationSchema>;\nexport type MessageReactionValue = z.infer<typeof MessageReactionValueSchema>;\nexport type MessageReaction = z.infer<typeof MessageReactionSchema>;\nexport type Message = z.infer<typeof MessageSchema>;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function $(e){return e==="default"?"card":e==="chart"?"preview":e==="preview"||e==="interactive"||e==="card"||e==="list"?e:"card"}function z(e){let s={};if(e.displayConfig&&(s=typeof e.displayConfig=="string"?JSON.parse(e.displayConfig):{...e.displayConfig}),s.visualizationId===void 0&&e.visualizationId&&(s.visualizationId=e.visualizationId),s.filters===void 0&&e.filters){let i=e.filters;s.filters=typeof i=="string"?JSON.parse(i):i;}return s}var v="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",T=new RegExp(`^(post|dataset|file|service|route|quest):(${v})$`,"i"),R=new RegExp(`^asset:(${v})$`,"i"),L=new RegExp(`^action:(${v})$`,"i"),w=new RegExp(`\\[(post|dataset|file|service|route|quest|asset|action):(${v})\\](?!\\()`,"gi"),x=new Set(["post","dataset","file","service","route","quest"]);function _(e){let s=T.exec(e);if(s){let a=s[1].toLowerCase();return x.has(a)?{id:s[2],assetType:a,legacy:false}:null}let i=R.exec(e);return i?{id:i[1],legacy:true}:null}function S(e){let s=L.exec(e);return s?{id:s[1]}:null}function m(e){if(!e)return [];let s=[],i=new RegExp(w.source,w.flags),a;for(;(a=i.exec(e))!==null;){let r=a[1].toLowerCase(),l=a[2],c=`${r}:${l}`;r==="action"?s.push({raw:a[0],href:c,id:l,action:true}):r==="asset"?s.push({raw:a[0],href:c,id:l,legacy:true}):x.has(r)&&s.push({raw:a[0],href:c,id:l,assetType:r,legacy:false});}return s}function D(e,s){let i;try{if(e.startsWith("/"))i=e;else {let d=new URL(e);if(s){let p=new URL(s).host;if(d.host!==p)return null}i=d.pathname;}}catch{return null}let a=i.match(/^\/(\w+)s\/([^/]+)\/([^/?#]+)/);if(!a)return null;let[,r,l,c]=a;return x.has(r)?{assetType:r,entity:decodeURIComponent(l),slug:decodeURIComponent(c)}:null}var k=e=>Array.isArray(e)?e.map(k):e!=null&&e.content?Array.isArray(e.content)?e.content.map(k).flat():k(e.content):e;function U(e,s){var E;if(!e||!(e!=null&&e.content))return {users:[],assets:[],actions:[],linkedAssets:[]};let i=e.content.map(k).flat(),a=i.filter(t=>t.type==="mention").map(t=>{var n,o,f;return {user_id:(n=t.attrs)==null?void 0:n.id,username:((o=t.attrs)==null?void 0:o.label)||((f=t.attrs)==null?void 0:f.username)}}).reduce((t,n)=>(t.some(o=>o.user_id&&n.user_id&&o.user_id===n.user_id||o.username&&n.username&&o.username===n.username)||t.push(n),t),[]),r=i.filter(t=>{var n,o;return t.type==="assetComponent"&&((n=t.attrs)==null?void 0:n.id)&&!((o=t.attrs)!=null&&o.partial)}).map(({attrs:t})=>({id:t.id,assetType:t.assetType,via:"embed"})).reduce((t,n)=>(t.some(o=>o.id===n.id)||t.push(n),t),[]),l=[],c=[],d=new Set(r.map(t=>t.id)),p=new Set,C=new Set,I=t=>{for(let n of m(t)){if("action"in n&&n.action){p.has(n.id)||(p.add(n.id),c.push({id:n.id,via:"link"}));continue}d.has(n.id)||(d.add(n.id),"legacy"in n&&n.legacy?r.push({id:n.id,via:"link",legacy:true}):"assetType"in n&&r.push({id:n.id,assetType:n.assetType,via:"link",legacy:false}));}};for(let t of i){if((t==null?void 0:t.type)!=="text")continue;let n=t.marks||[],o=n.some(u=>u.type==="code"),f=n.find(u=>u.type==="link");if((E=f==null?void 0:f.attrs)!=null&&E.href){let u=f.attrs.href,h=S(u);if(h){p.has(h.id)||(p.add(h.id),c.push({id:h.id,via:"link"}));continue}let A=_(u);if(A){let g=A.id;d.has(g)||(d.add(g),A.legacy?r.push({id:g,via:"link",legacy:true}):r.push({id:g,assetType:A.assetType,via:"link",legacy:false}));continue}let y=D(u,s==null?void 0:s.siteUrl);if(y){let g=`${y.assetType}:${y.entity}:${y.slug}`;C.has(g)||(C.add(g),l.push(y));}continue}!o&&typeof t.text=="string"&&I(t.text);}return {users:a,assets:r,actions:c,linkedAssets:l}}export{$ as a,z as b,_ as c,S as d,m as e,D as f,U as g};//# sourceMappingURL=chunk-AJ2O7ER6.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-AJ2O7ER6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/air/index.ts"],"names":["normalizeViewMode","raw","resolveDisplayConfig","attrs","base","UUID_RE","TYPED_ASSET_LINK_RE","LEGACY_ASSET_LINK_RE","ACTION_LINK_RE","ASSET_WIKI_LINK_RE","VALID_ASSET_TYPES","parseAssetLinkShorthand","href","typed","assetType","legacy","parseActionLinkShorthand","match","extractAssetWikiLinks","text","matches","re","kind","id","parseOuroAssetUrl","siteUrl","pathname","url","siteHost","entity","slug","extractContent","item","getReferencesInContent","json","options","_a","content","users","_b","_c","unique","u","assets","linkedAssets","actions","seenAssetIds","a","seenActionIds","seenLinkedKeys","addWikiRefs","wiki","marks","hasCodeMark","m","linkMark","actionShorthand","shorthand","parsed","key"],"mappings":"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","file":"chunk-AJ2O7ER6.js","sourcesContent":["import { Content } from \"../../schema/posts\";\nimport { Profile } from \"../../schema/users\";\n\nexport interface DataFilter {\n column: string;\n value: string;\n operator: string;\n active?: boolean;\n}\n\nexport interface DisplayConfig {\n /** Dataset: ID of a saved visualization to render instead of the default chart. */\n visualizationId?: string | null;\n /** Dataset: column filters applied to the data. */\n filters?: DataFilter[];\n /** Route: ID of a specific action to preview (status, logs, side-effect assets). */\n actionId?: string | null;\n /** Route: author-provided defaults for an interactive route form. */\n defaultValues?: Record<string, unknown>;\n}\n\n/**\n * Normalize legacy viewMode values to the current set.\n * \"chart\" → \"preview\", \"default\" → \"card\", anything else → \"card\".\n */\nexport function normalizeViewMode(\n raw: string | undefined | null\n): \"card\" | \"preview\" | \"interactive\" | \"list\" {\n if (raw === \"default\") return \"card\";\n if (raw === \"chart\") return \"preview\";\n if (\n raw === \"preview\" ||\n raw === \"interactive\" ||\n raw === \"card\" ||\n raw === \"list\"\n )\n return raw;\n return \"card\";\n}\n\n/**\n * Build a DisplayConfig from node/element attributes, handling the legacy\n * flat `visualizationId` / `filters` attrs and the new `displayConfig` object.\n * Prefers values inside `displayConfig` when present.\n */\nexport function resolveDisplayConfig(attrs: {\n displayConfig?: DisplayConfig | string | null;\n visualizationId?: string | null;\n filters?: DataFilter[] | string | null;\n}): DisplayConfig {\n let base: DisplayConfig = {};\n\n if (attrs.displayConfig) {\n base =\n typeof attrs.displayConfig === \"string\"\n ? JSON.parse(attrs.displayConfig)\n : { ...attrs.displayConfig };\n }\n\n // Fall back to legacy flat attrs when displayConfig doesn't carry them\n if (base.visualizationId === undefined && attrs.visualizationId) {\n base.visualizationId = attrs.visualizationId;\n }\n if (base.filters === undefined && attrs.filters) {\n const raw = attrs.filters;\n base.filters =\n typeof raw === \"string\" ? JSON.parse(raw) : raw;\n }\n\n return base;\n}\n\nexport interface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: \"card\" | \"preview\" | \"interactive\" | \"list\";\n displayConfig?: DisplayConfig | null;\n /** @deprecated Use displayConfig.filters */\n filters?: any;\n /** @deprecated Use displayConfig.visualizationId */\n visualizationId?: string | null;\n partial?: boolean;\n}\n\n/** Assets pulled from Air JSON: embedded blocks or link href shorthands. */\nexport type ExtractedContentAsset =\n | { id: string; assetType: string; via: \"embed\" }\n | { id: string; assetType: string; via: \"link\"; legacy: false }\n | { id: string; via: \"link\"; legacy: true };\n\ninterface LinkedAssetRef {\n assetType: string;\n entity: string;\n slug: string;\n}\n\n/** UUID v4 pattern for inline link hrefs */\nconst UUID_RE =\n \"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\";\n\n/** Shorthand link hrefs: `post:<uuid>`, `file:<uuid>`, … (preferred over legacy `asset:<uuid>`). */\nconst TYPED_ASSET_LINK_RE = new RegExp(\n `^(post|dataset|file|service|route|quest):(${UUID_RE})$`,\n \"i\"\n);\n\n/** @deprecated Prefer `post:<uuid>` etc.; still supported and resolved server-side. */\nconst LEGACY_ASSET_LINK_RE = new RegExp(`^asset:(${UUID_RE})$`, \"i\");\n\n/** Route action link hrefs: `action:<uuid>` → history page for that run. */\nconst ACTION_LINK_RE = new RegExp(`^action:(${UUID_RE})$`, \"i\");\n\n/**\n * Collapsed wiki-link form agents often write: `[dataset:<uuid>]` instead of\n * `[label](dataset:<uuid>)`. Negative lookahead skips real markdown links\n * whose label happens to be the shorthand (`[dataset:<uuid>](…)`).\n */\nconst ASSET_WIKI_LINK_RE = new RegExp(\n `\\\\[(post|dataset|file|service|route|quest|asset|action):(${UUID_RE})\\\\](?!\\\\()`,\n \"gi\"\n);\n\nconst VALID_ASSET_TYPES = new Set([\n \"post\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n \"quest\",\n]);\n\nexport type ExtractedContentAction = { id: string; via: \"link\" };\n\n/**\n * Parse an inline link `href` for Ouro asset shorthands.\n * - `post:<uuid>`, `file:<uuid>`, … → typed (asset type known from prefix)\n * - `asset:<uuid>` → legacy (type resolved via DB when creating connections)\n */\nfunction parseAssetLinkShorthand(\n href: string\n):\n | { id: string; assetType: string; legacy: false }\n | { id: string; legacy: true }\n | null {\n const typed = TYPED_ASSET_LINK_RE.exec(href);\n if (typed) {\n const assetType = typed[1].toLowerCase();\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n return { id: typed[2], assetType, legacy: false };\n }\n const legacy = LEGACY_ASSET_LINK_RE.exec(href);\n if (legacy) return { id: legacy[1], legacy: true };\n return null;\n}\n\n/**\n * Parse an inline link `href` for a route action shorthand: `action:<uuid>`.\n * Actions are not assets — callers must resolve them separately.\n */\nfunction parseActionLinkShorthand(href: string): { id: string } | null {\n const match = ACTION_LINK_RE.exec(href);\n if (!match) return null;\n return { id: match[1] };\n}\n\nexport type AssetWikiLinkMatch =\n | { raw: string; href: string; id: string; assetType: string; legacy: false }\n | { raw: string; href: string; id: string; legacy: true }\n | { raw: string; href: string; id: string; action: true };\n\n/**\n * Find collapsed `[dataset:<uuid>]` / `[action:<uuid>]` spans in a text node.\n * Skips `[shorthand](href)` markdown links via the regex lookahead.\n */\nfunction extractAssetWikiLinks(text: string): AssetWikiLinkMatch[] {\n if (!text) return [];\n const matches: AssetWikiLinkMatch[] = [];\n const re = new RegExp(ASSET_WIKI_LINK_RE.source, ASSET_WIKI_LINK_RE.flags);\n let match: RegExpExecArray | null;\n while ((match = re.exec(text)) !== null) {\n const kind = match[1].toLowerCase();\n const id = match[2];\n const href = `${kind}:${id}`;\n if (kind === \"action\") {\n matches.push({ raw: match[0], href, id, action: true });\n } else if (kind === \"asset\") {\n matches.push({ raw: match[0], href, id, legacy: true });\n } else if (VALID_ASSET_TYPES.has(kind)) {\n matches.push({ raw: match[0], href, id, assetType: kind, legacy: false });\n }\n }\n return matches;\n}\n\n/**\n * Parse an Ouro site URL into its asset components.\n * Accepts both absolute URLs (https://ouro.foundation/posts/entity/slug)\n * and relative paths (/posts/entity/slug).\n */\nfunction parseOuroAssetUrl(\n href: string,\n siteUrl?: string\n): LinkedAssetRef | null {\n let pathname: string;\n try {\n if (href.startsWith(\"/\")) {\n pathname = href;\n } else {\n const url = new URL(href);\n if (siteUrl) {\n const siteHost = new URL(siteUrl).host;\n if (url.host !== siteHost) return null;\n }\n pathname = url.pathname;\n }\n } catch {\n return null;\n }\n\n // Pattern: /{assetType}s/{entity}/{slug}\n const match = pathname.match(\n /^\\/(\\w+)s\\/([^/]+)\\/([^/?#]+)/\n );\n if (!match) return null;\n\n const [, assetType, entity, slug] = match;\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n\n return { assetType, entity: decodeURIComponent(entity), slug: decodeURIComponent(slug) };\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(\n json: Content[\"json\"],\n options?: { siteUrl?: string }\n) {\n if (!json || !json?.content)\n return { users: [], assets: [], actions: [], linkedAssets: [] };\n const content = json.content.map(extractContent).flat();\n\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs?.id,\n username: item.attrs?.label || item.attrs?.username,\n }))\n .reduce((unique: any[], item: any) => {\n if (\n !unique.some(\n (u) =>\n (u.user_id && item.user_id && u.user_id === item.user_id) ||\n (u.username && item.username && u.username === item.username)\n )\n ) {\n unique.push(item);\n }\n return unique;\n }, []) as Partial<Profile>[];\n\n const assets: ExtractedContentAsset[] = content\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n via: \"embed\" as const,\n }))\n .reduce((unique: ExtractedContentAsset[], item: ExtractedContentAsset) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []);\n\n // Extract asset / action references from link marks\n const linkedAssets: LinkedAssetRef[] = [];\n const actions: ExtractedContentAction[] = [];\n const seenAssetIds = new Set(assets.map((a) => a.id));\n const seenActionIds = new Set<string>();\n const seenLinkedKeys = new Set<string>();\n\n const addWikiRefs = (text: string) => {\n for (const wiki of extractAssetWikiLinks(text)) {\n if (\"action\" in wiki && wiki.action) {\n if (!seenActionIds.has(wiki.id)) {\n seenActionIds.add(wiki.id);\n actions.push({ id: wiki.id, via: \"link\" });\n }\n continue;\n }\n if (seenAssetIds.has(wiki.id)) continue;\n seenAssetIds.add(wiki.id);\n if (\"legacy\" in wiki && wiki.legacy) {\n assets.push({ id: wiki.id, via: \"link\", legacy: true });\n } else if (\"assetType\" in wiki) {\n assets.push({\n id: wiki.id,\n assetType: wiki.assetType,\n via: \"link\",\n legacy: false,\n });\n }\n }\n };\n\n for (const item of content) {\n if (item?.type !== \"text\") continue;\n const marks = item.marks || [];\n const hasCodeMark = marks.some((m: any) => m.type === \"code\");\n const linkMark = marks.find((m: any) => m.type === \"link\");\n\n if (linkMark?.attrs?.href) {\n const href: string = linkMark.attrs.href;\n\n const actionShorthand = parseActionLinkShorthand(href);\n if (actionShorthand) {\n if (!seenActionIds.has(actionShorthand.id)) {\n seenActionIds.add(actionShorthand.id);\n actions.push({ id: actionShorthand.id, via: \"link\" });\n }\n continue;\n }\n\n const shorthand = parseAssetLinkShorthand(href);\n if (shorthand) {\n const id = shorthand.id;\n if (!seenAssetIds.has(id)) {\n seenAssetIds.add(id);\n if (shorthand.legacy) {\n assets.push({ id, via: \"link\", legacy: true });\n } else {\n assets.push({\n id,\n assetType: shorthand.assetType,\n via: \"link\",\n legacy: false,\n });\n }\n }\n continue;\n }\n\n const parsed = parseOuroAssetUrl(href, options?.siteUrl);\n if (parsed) {\n const key = `${parsed.assetType}:${parsed.entity}:${parsed.slug}`;\n if (!seenLinkedKeys.has(key)) {\n seenLinkedKeys.add(key);\n linkedAssets.push(parsed);\n }\n }\n continue;\n }\n\n if (!hasCodeMark && typeof item.text === \"string\") {\n addWikiRefs(item.text);\n }\n }\n\n return {\n users,\n assets,\n actions,\n linkedAssets,\n };\n}\n\nexport {\n extractAssetWikiLinks,\n getReferencesInContent,\n parseActionLinkShorthand,\n parseAssetLinkShorthand,\n parseOuroAssetUrl,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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});export{d as a,f as b,c,u as d};//# sourceMappingURL=chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var 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 x=zod.lazy(()=>zod.object({type:zod.string(),content:zod.optional(zod.array(x)),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.object({type:zod.string(),attrs:zod.optional(zod.record(zod.string(),zod.any()))}))),text:zod.optional(zod.string())})),i=zod.object({type:zod.literal("doc"),content:zod.array(x)}),z=zod.object({json:i,text:zod.string()}).default({json:{type:"doc",content:[]},text:""}),C=zod.object({}),_=C.extend(chunkRMMMRN4X_cjs.b.partial().shape),d=chunkRMMMRN4X_cjs.f.extend({name:zod.nullable(zod.string()),asset_type:chunkYFEGRZXL_cjs.a.refine(t=>["post","comment"].includes(t)),metadata:_,preview:i.default({type:"doc",content:[]}),content:z}),L=chunkRMMMRN4X_cjs.h.extend({asset_type:zod.literal("post").default("post"),name:zod.string().optional().nullable().default("").transform(t=>t==null?void 0:t.trim()).transform(t=>t||null),preview:i}).transform(t=>chunkRMMMRN4X_cjs.a(t)),R=d.extend({content:zod.optional(zod.nullable(z.default({json:{type:"doc",content:[]},text:""}))),reactions:zod.array(zod.record(zod.string(),zod.any())).default([]),views:zod.number().default(0),commentCount:zod.number().default(0),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)))}),M=zod.array(R),U=zod.array(d),Z=d.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,content:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}).transform(t=>chunkRMMMRN4X_cjs.a(t));exports.a=i;exports.b=z;exports.c=d;exports.d=L;exports.e=R;exports.f=M;exports.g=U;exports.h=Z;//# sourceMappingURL=chunk-DSJ23DIB.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-DSJ23DIB.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/posts.ts"],"names":["TipTapNode","lazy","object","string","optional","array","record","any","TipTapSchema","literal","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","AssetMetadataSchema","PostSchema","AssetSchema","nullable","AssetTypeSchema","x","CreatePostSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","ReadPostSchema","number","ProfileSchema","ContentActionRefSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/posts.ts"],"names":["TipTapNode","lazy","object","string","optional","array","record","any","TipTapSchema","literal","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","AssetMetadataSchema","PostSchema","AssetSchema","nullable","AssetTypeSchema","x","CreatePostSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","ReadPostSchema","number","ProfileSchema","ContentActionRefSchema","ReadPostsSchema","ListPostsSchema","UpdatePostSchema"],"mappings":"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","file":"chunk-DSJ23DIB.cjs","sourcesContent":["import {\n object,\n string,\n number,\n array,\n lazy,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n boolean,\n type ZodType\n} from \"zod\";\n\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { ProfileSchema } from \"./users\";\n\nconst TipTapNode: ZodType<any> = lazy(() =>\n object({\n type: string(),\n content: optional(array(TipTapNode)),\n attrs: optional(record(string(), any())),\n marks: optional(\n array(\n object({\n type: string(),\n attrs: optional(record(string(), any())),\n })\n )\n ),\n text: optional(string()), // For text nodes\n })\n);\n\nconst TipTapSchema = object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n});\n\nconst ContentSchema = object({\n json: TipTapSchema,\n text: string(),\n}).default({ json: { type: \"doc\", content: [] }, text: \"\" });\n\nconst BasePostMetadataSchema = object({})\n\nconst PostMetadataSchema = BasePostMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n metadata: PostMetadataSchema,\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n\n});\n\nconst CreatePostSchema = CreateAssetSchema.extend({\n asset_type: literal(\"post\").default(\"post\"),\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n preview: TipTapSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ReadPostSchema = PostSchema.extend({\n content: optional(\n nullable(\n ContentSchema.default({\n json: { type: \"doc\", content: [] },\n text: \"\",\n })\n )\n ),\n reactions: array(record(string(), any())).default([]),\n views: number().default(0),\n commentCount: number().default(0),\n // Resolved from content embeds / links at read time\n assets: optional(nullable(array(AssetSchema.partial()))),\n users: optional(nullable(array(ProfileSchema.partial()))),\n actions: optional(nullable(array(ContentActionRefSchema))),\n // We have this on asset now\n // parent: ConnectionSchema.optional().nullable(),\n});\n\nconst ReadPostsSchema = array(ReadPostSchema);\n\nconst ListPostsSchema = array(PostSchema);\n\nconst UpdatePostSchema = PostSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n content: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n TipTapSchema,\n ContentSchema,\n PostSchema,\n CreatePostSchema,\n ListPostsSchema,\n ReadPostSchema,\n ReadPostsSchema,\n UpdatePostSchema,\n};\nexport type Post = z.infer<typeof PostSchema>;\nexport type CreatePost = z.infer<typeof CreatePostSchema>;\nexport type ListPosts = z.infer<typeof ListPostsSchema>;\nexport type ReadPost = z.infer<typeof ReadPostSchema>;\nexport type ReadPosts = z.infer<typeof ReadPostsSchema>;\nexport type UpdatePost = z.infer<typeof UpdatePostSchema>;\nexport type Content = z.infer<typeof ContentSchema>;\nexport type TipTap = z.infer<typeof TipTapSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkT4BUMCXS_cjs=require('./chunk-T4BUMCXS.cjs'),
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkT4BUMCXS_cjs=require('./chunk-T4BUMCXS.cjs'),chunkDSJ23DIB_cjs=require('./chunk-DSJ23DIB.cjs'),chunkRMMMRN4X_cjs=require('./chunk-RMMMRN4X.cjs'),chunkYTCAK2AH_cjs=require('./chunk-YTCAK2AH.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),uuidv7=require('uuidv7'),zod=require('zod');var u=chunkRMMMRN4X_cjs.f.extend({asset_type:zod.literal("comment").default("comment"),preview:zod.optional(zod.nullable(zod.object({type:zod.string().refine(o=>o==="doc"),content:zod.array(zod.record(zod.string(),zod.any()))}).default({type:"doc",content:[]})))}),w=u.partial().omit({id:true,user_id:true}).extend({asset_type:zod.literal("comment").default("comment"),id:zod.string().default(()=>uuidv7.uuidv7()),name:zod.string().default(""),attribution:zod.optional(zod.nullable(chunkRMMMRN4X_cjs.e)).transform(o=>chunkRMMMRN4X_cjs.e.parse(o!=null?o:chunkRMMMRN4X_cjs.g)),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(o=>chunkRMMMRN4X_cjs.a(o)),A=zod.array(zod.object({count:zod.number()})),D=u.extend({content:zod.optional(zod.nullable(chunkDSJ23DIB_cjs.b)),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))),reactions:zod.optional(zod.nullable(zod.array(chunkT4BUMCXS_cjs.a))),replies:zod.optional(zod.nullable(A)),repliesCount:zod.optional(zod.number())});exports.a=u;exports.b=w;exports.c=A;exports.d=D;//# sourceMappingURL=chunk-E2FDUS3B.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-E2FDUS3B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/comments.ts"],"names":["CommentSchema","AssetSchema","literal","optional","nullable","object","string","x","array","record","any","CreateCommentSchema","uuidv7","AttributionSchema","value","DEFAULT_ATTRIBUTION","normalizeAssetConfigForParsing","CommentRepliesAggregateSchema","number","ReadCommentSchema","ContentSchema","ProfileSchema","ContentActionRefSchema","reactionSchema"],"mappings":"uTAyBA,IAAMA,CAAgBC,CAAAA,mBAAAA,CAAY,OAAO,CACvC,UAAA,CAAYC,WAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAChD,CAAA,OAAA,CAASC,YACPC,CAAAA,YAAAA,CACEC,UAAO,CAAA,CACL,KAAMC,UAAO,EAAA,CAAE,MAAQC,CAAAA,CAAAA,EAAMA,CAAM,GAAA,KAAK,EACxC,OAASC,CAAAA,SAAAA,CAAMC,UAAOH,CAAAA,UAAAA,EAAUI,CAAAA,OAAAA,EAAK,CAAC,CACxC,CAAC,CAAA,CAAE,OAAQ,CAAA,CAAE,KAAM,KAAO,CAAA,OAAA,CAAS,EAAG,CAAC,CACzC,CACF,CACF,CAAC,CAEKC,CAAAA,CAAAA,CAAsBX,CAAc,CAAA,OAAA,GACvC,IAAK,CAAA,CACJ,EAAI,CAAA,IAAA,CACJ,OAAS,CAAA,IACX,CAAC,CACA,CAAA,MAAA,CAAO,CACN,UAAA,CAAYE,WAAQ,CAAA,SAAS,EAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,EAAA,CAAII,UAAO,EAAA,CAAE,QAAQ,IAAMM,aAAAA,EAAQ,CAAA,CACnC,IAAMN,CAAAA,UAAAA,GAAS,OAAQ,CAAA,EAAE,CACzB,CAAA,WAAA,CAAaH,YAASC,CAAAA,YAAAA,CAASS,mBAAiB,CAAC,CAAA,CAAE,SAAWC,CAAAA,CAAAA,EAC5DD,mBAAkB,CAAA,KAAA,CAAMC,GAAA,IAAAA,CAAAA,CAAAA,CAASC,mBAAmB,CACtD,CACA,CAAA,UAAA,CAAYT,YAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAAA,CAC3D,YAAcA,CAAAA,UAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,CACA,CAAA,SAAA,CAAWQ,CAAUE,EAAAA,mBAAAA,CAA+BF,CAAK,CAAC,EAMvDG,CAAgCT,CAAAA,SAAAA,CACpCH,UAAO,CAAA,CACL,KAAOa,CAAAA,UAAAA,EACT,CAAC,CACH,CAGMC,CAAAA,CAAAA,CAAoBnB,CAAc,CAAA,MAAA,CAAO,CAC7C,OAASG,CAAAA,YAAAA,CAASC,YAASgB,CAAAA,mBAAa,CAAC,CAAA,CACzC,OAAQjB,YAASC,CAAAA,YAAAA,CAASI,SAAMP,CAAAA,mBAAAA,CAAY,OAAQ,EAAC,CAAC,CAAC,CAAA,CACvD,KAAOE,CAAAA,YAAAA,CAASC,YAASI,CAAAA,SAAAA,CAAMa,oBAAc,OAAQ,EAAC,CAAC,CAAC,CACxD,CAAA,OAAA,CAASlB,aAASC,YAASI,CAAAA,SAAAA,CAAMc,mBAAsB,CAAC,CAAC,CAAA,CACzD,UAAWnB,YAASC,CAAAA,YAAAA,CAASI,SAAMe,CAAAA,mBAAc,CAAC,CAAC,EACnD,OAASpB,CAAAA,YAAAA,CAASC,YAASa,CAAAA,CAA6B,CAAC,CAAA,CAEzD,aAAcd,YAASe,CAAAA,UAAAA,EAAQ,CACjC,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/comments.ts"],"names":["CommentSchema","AssetSchema","literal","optional","nullable","object","string","x","array","record","any","CreateCommentSchema","uuidv7","AttributionSchema","value","DEFAULT_ATTRIBUTION","normalizeAssetConfigForParsing","CommentRepliesAggregateSchema","number","ReadCommentSchema","ContentSchema","ProfileSchema","ContentActionRefSchema","reactionSchema"],"mappings":"uTAyBA,IAAMA,CAAgBC,CAAAA,mBAAAA,CAAY,OAAO,CACvC,UAAA,CAAYC,WAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAChD,CAAA,OAAA,CAASC,YACPC,CAAAA,YAAAA,CACEC,UAAO,CAAA,CACL,KAAMC,UAAO,EAAA,CAAE,MAAQC,CAAAA,CAAAA,EAAMA,CAAM,GAAA,KAAK,EACxC,OAASC,CAAAA,SAAAA,CAAMC,UAAOH,CAAAA,UAAAA,EAAUI,CAAAA,OAAAA,EAAK,CAAC,CACxC,CAAC,CAAA,CAAE,OAAQ,CAAA,CAAE,KAAM,KAAO,CAAA,OAAA,CAAS,EAAG,CAAC,CACzC,CACF,CACF,CAAC,CAEKC,CAAAA,CAAAA,CAAsBX,CAAc,CAAA,OAAA,GACvC,IAAK,CAAA,CACJ,EAAI,CAAA,IAAA,CACJ,OAAS,CAAA,IACX,CAAC,CACA,CAAA,MAAA,CAAO,CACN,UAAA,CAAYE,WAAQ,CAAA,SAAS,EAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,EAAA,CAAII,UAAO,EAAA,CAAE,QAAQ,IAAMM,aAAAA,EAAQ,CAAA,CACnC,IAAMN,CAAAA,UAAAA,GAAS,OAAQ,CAAA,EAAE,CACzB,CAAA,WAAA,CAAaH,YAASC,CAAAA,YAAAA,CAASS,mBAAiB,CAAC,CAAA,CAAE,SAAWC,CAAAA,CAAAA,EAC5DD,mBAAkB,CAAA,KAAA,CAAMC,GAAA,IAAAA,CAAAA,CAAAA,CAASC,mBAAmB,CACtD,CACA,CAAA,UAAA,CAAYT,YAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAAA,CAC3D,YAAcA,CAAAA,UAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,CACA,CAAA,SAAA,CAAWQ,CAAUE,EAAAA,mBAAAA,CAA+BF,CAAK,CAAC,EAMvDG,CAAgCT,CAAAA,SAAAA,CACpCH,UAAO,CAAA,CACL,KAAOa,CAAAA,UAAAA,EACT,CAAC,CACH,CAGMC,CAAAA,CAAAA,CAAoBnB,CAAc,CAAA,MAAA,CAAO,CAC7C,OAASG,CAAAA,YAAAA,CAASC,YAASgB,CAAAA,mBAAa,CAAC,CAAA,CACzC,OAAQjB,YAASC,CAAAA,YAAAA,CAASI,SAAMP,CAAAA,mBAAAA,CAAY,OAAQ,EAAC,CAAC,CAAC,CAAA,CACvD,KAAOE,CAAAA,YAAAA,CAASC,YAASI,CAAAA,SAAAA,CAAMa,oBAAc,OAAQ,EAAC,CAAC,CAAC,CACxD,CAAA,OAAA,CAASlB,aAASC,YAASI,CAAAA,SAAAA,CAAMc,mBAAsB,CAAC,CAAC,CAAA,CACzD,UAAWnB,YAASC,CAAAA,YAAAA,CAASI,SAAMe,CAAAA,mBAAc,CAAC,CAAC,EACnD,OAASpB,CAAAA,YAAAA,CAASC,YAASa,CAAAA,CAA6B,CAAC,CAAA,CAEzD,aAAcd,YAASe,CAAAA,UAAAA,EAAQ,CACjC,CAAC","file":"chunk-E2FDUS3B.cjs","sourcesContent":["import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n number,\n array,\n type z,\n record,\n any,\n literal,\n optional,\n nullable\n} from \"zod\";\n\nimport {\n AssetSchema,\n AttributionSchema,\n DEFAULT_ATTRIBUTION,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { ContentSchema } from \"./posts\";\nimport { reactionSchema } from \"./reactions\";\nimport { ProfileSchema } from \"./users\";\n\nconst CommentSchema = AssetSchema.extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n preview: optional(\n nullable(\n object({\n type: string().refine((x) => x === \"doc\"),\n content: array(record(string(), any())),\n }).default({ type: \"doc\", content: [] })\n )\n ),\n});\n\nconst CreateCommentSchema = CommentSchema.partial()\n .omit({\n id: true,\n user_id: true,\n })\n .extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n id: string().default(() => uuidv7()),\n name: string().default(\"\"),\n attribution: optional(nullable(AttributionSchema)).transform((value) =>\n AttributionSchema.parse(value ?? DEFAULT_ATTRIBUTION)\n ),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\n/**\n * Supabase aggregate from `replies:connections!target_id(count)`.\n * List endpoints leave this as `[{ count }]`; prefer reading `replies[0]?.count`.\n */\nconst CommentRepliesAggregateSchema = array(\n object({\n count: number(),\n })\n);\n\n/** Comment as returned from read/list APIs, with content and resolved embeds. */\nconst ReadCommentSchema = CommentSchema.extend({\n content: optional(nullable(ContentSchema)),\n assets: optional(nullable(array(AssetSchema.partial()))),\n users: optional(nullable(array(ProfileSchema.partial()))),\n actions: optional(nullable(array(ContentActionRefSchema))),\n reactions: optional(nullable(array(reactionSchema))),\n replies: optional(nullable(CommentRepliesAggregateSchema)),\n /** Flattened count set by single-comment read; prefer `replies[0]?.count` on lists. */\n repliesCount: optional(number()),\n});\n\nexport {\n CommentSchema,\n CreateCommentSchema,\n CommentRepliesAggregateSchema,\n ReadCommentSchema,\n};\nexport type Comment = z.infer<typeof CommentSchema>;\nexport type CreateComment = z.infer<typeof CreateCommentSchema>;\nexport type CommentRepliesAggregate = z.infer<\n typeof CommentRepliesAggregateSchema\n>;\nexport type ReadComment = z.infer<typeof ReadCommentSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b}from'./chunk-CDJH4OT5.js';import {a,e}from'./chunk-33C7IDRP.js';import {enum as _enum,object,string,optional,any,nullable,number,array,boolean,uuid,discriminatedUnion,literal}from'zod';var te=_enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","badge","reaction","deposit","action-complete","action-failed","quest-entry","quest-entry-accepted","onboarding-complete","onboarding-action-required","route-earnings-milestone","route-payout","ownership-transfer","content-moved","content-deleted","other"]),w=object({assetId:string(),assetType:a}),r=object({assetId:optional(string()),assetType:optional(a),id:optional(string()),asset_type:optional(a),name:optional(nullable(string())),user_id:optional(string()),preview:optional(any()),description:optional(any()),slug:optional(nullable(string())),name_url_slug:optional(nullable(string())),org_id:optional(string()),parent_id:optional(nullable(string())),parent:optional(any()),user:optional(any()),organization:optional(any()),team:optional(any())}),h=object({assetId:string(),assetType:a}),l=object({slug:string(),assetType:a}),z=object({name:string(),description:optional(nullable(string())),slug:optional(nullable(string()))}),S=object({id:string(),name:optional(nullable(string()))}),_=object({id:string(),asset_id:optional(nullable(string())),asset_type:optional(nullable(string())),asset_name:optional(nullable(string()))}),i={text:optional(string())},x=object({...i,asset:optional(r),parent:optional(h),root:optional(l)}),C=object({...i,asset:optional(r),parent:optional(h),root:optional(l)}),E=C,I=object({...i,asset:optional(r),referencedAssetIds:optional(array(string())),referencedAssets:optional(array(w)),referenceCount:optional(number())}),O=object({...i,asset:optional(r),reaction_label:optional(string()),reaction_verb:optional(string()),aggregate_count:optional(number())}),g=object({...i,asset:optional(r)}),P=g,B=object({...i}),Q=object({...i,organization:optional(object({id:string(),name:string()}))}),k=object({...i,asset:optional(r),currency:optional(e),value:optional(number())}),M=object({...i,value:optional(number())}),D=object({...i,badge:optional(z)}),N=object({...i,status:optional(_enum(["success","error","timed-out"])),duration:optional(number()),route:optional(object({id:string(),name:optional(nullable(string()))}))}),F=N,j=object({...i,quest:optional(S),entry:optional(_)}),L=object({...i,quest:optional(S),entry:optional(_),reviewer:optional(nullable(object({id:string(),username:optional(nullable(string()))})))}),U=object({...i}),V=object({...i,requirements:optional(array(string()))}),Z=object({...i,milestone_cents:optional(number()),total_earnings_cents:optional(number())}),G=object({...i,payout_cents:optional(number()),gross_cents:optional(number()),platform_fee_cents:optional(number()),assets:optional(any()),asset_names:optional(array(string())),invoice_id:optional(string())}),T=object({...i,team_id:optional(string()),team_name:optional(nullable(string())),asset_name:optional(nullable(string())),asset_type:optional(nullable(string())),action:optional(string()),reason:optional(nullable(string())),moderator_scope:optional(_enum(["platform","team"]))}),H=T,J=object({...i,event:optional(object({type:_enum(["success","error"])}))}),K=object({...i,asset:optional(r)}),W=object({...i}),X=object({id:uuid(),source_user_id:uuid(),destination_user_id:uuid(),org_id:optional(nullable(uuid())),asset_id:optional(nullable(uuid())),reaction_id:optional(nullable(uuid())),action_id:optional(nullable(uuid())),parent_asset_id:optional(nullable(uuid())),root_asset_id:optional(nullable(uuid())),viewed:boolean(),created_at:string(),last_updated:string(),source_user:optional(b.partial()),asset:optional(r)}),o=(v,b)=>X.extend({type:literal(v),content:b}),ne=discriminatedUnion("type",[o("follow",B),o("like",K),o("comment",C),o("reply",E),o("mention",x),o("reference",I),o("invite",Q),o("payment",k),o("event",J),o("share",g),o("badge",D),o("reaction",O),o("deposit",M),o("action-complete",N),o("action-failed",F),o("quest-entry",j),o("quest-entry-accepted",L),o("onboarding-complete",U),o("onboarding-action-required",V),o("route-earnings-milestone",Z),o("route-payout",G),o("ownership-transfer",P),o("content-moved",T),o("content-deleted",H),o("other",W)]);export{J as A,ne as B,te as a,w as b,r as c,h as d,l as e,x as f,C as g,E as h,I as i,O as j,g as k,P as l,B as m,Q as n,k as o,M as p,D as q,N as r,j as s,L as t,U as u,V as v,Z as w,G as x,T as y,H as z};//# sourceMappingURL=chunk-EC376C5T.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-EC376C5T.js.map
|
|
@@ -1 +1 @@
|
|
|
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","OnboardingCompleteContentSchema","OnboardingActionRequiredContentSchema","RouteEarningsMilestoneContentSchema","RoutePayoutContentSchema","ContentMovedContentSchema","ContentDeletedContentSchema","EventContentSchema","LikeContentSchema","OtherContentSchema","NotificationRowBaseSchema","uuid","boolean","ProfileSchema","notificationVariant","type","content","literal","NotificationSchema","discriminatedUnion"],"mappings":"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","file":"chunk-CXMEZGVG.js","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 \"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 reviewer: optional(\n nullable(\n object({\n id: string(),\n username: optional(nullable(string())),\n })\n )\n ),\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(\"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 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"]}
|
|
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","OnboardingCompleteContentSchema","OnboardingActionRequiredContentSchema","RouteEarningsMilestoneContentSchema","RoutePayoutContentSchema","ContentMovedContentSchema","ContentDeletedContentSchema","EventContentSchema","LikeContentSchema","OtherContentSchema","NotificationRowBaseSchema","uuid","boolean","ProfileSchema","notificationVariant","type","content","literal","NotificationSchema","discriminatedUnion"],"mappings":"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","file":"chunk-EC376C5T.js","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 \"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 reviewer: optional(\n nullable(\n object({\n id: string(),\n username: optional(nullable(string())),\n })\n )\n ),\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(\"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 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"]}
|