@ourofoundation/ouro-js 3.7.9 → 3.8.1

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.
Files changed (120) hide show
  1. package/dist/chunk-33C7IDRP.js +2 -0
  2. package/dist/chunk-33C7IDRP.js.map +1 -0
  3. package/dist/chunk-3DGJ27WL.js +2 -0
  4. package/dist/chunk-3DGJ27WL.js.map +1 -0
  5. package/dist/chunk-3JPOAQ2M.cjs +2 -0
  6. package/dist/{chunk-ICEXKHCC.cjs.map → chunk-3JPOAQ2M.cjs.map} +1 -1
  7. package/dist/{chunk-V3QRQO6H.js → chunk-5CPECQKN.js} +2 -2
  8. package/dist/{chunk-V3QRQO6H.js.map → chunk-5CPECQKN.js.map} +1 -1
  9. package/dist/{chunk-Z66O3S3W.cjs → chunk-5SC4M4E3.cjs} +2 -2
  10. package/dist/{chunk-Z66O3S3W.cjs.map → chunk-5SC4M4E3.cjs.map} +1 -1
  11. package/dist/chunk-AIIAIQ6L.cjs +2 -0
  12. package/dist/chunk-AIIAIQ6L.cjs.map +1 -0
  13. package/dist/{chunk-G6GCUGMM.js → chunk-CDJH4OT5.js} +2 -2
  14. package/dist/chunk-CDJH4OT5.js.map +1 -0
  15. package/dist/{chunk-4CXHZFX4.cjs → chunk-DSJ23DIB.cjs} +2 -2
  16. package/dist/{chunk-4CXHZFX4.cjs.map → chunk-DSJ23DIB.cjs.map} +1 -1
  17. package/dist/{chunk-SZ5PIWEE.cjs → chunk-E2FDUS3B.cjs} +2 -2
  18. package/dist/{chunk-SZ5PIWEE.cjs.map → chunk-E2FDUS3B.cjs.map} +1 -1
  19. package/dist/{chunk-CW4TV3DY.js → chunk-EC376C5T.js} +2 -2
  20. package/dist/{chunk-CW4TV3DY.js.map → chunk-EC376C5T.js.map} +1 -1
  21. package/dist/chunk-FGEMQEEM.js +2 -0
  22. package/dist/chunk-FGEMQEEM.js.map +1 -0
  23. package/dist/{chunk-W3N744QV.js → chunk-KMENBGAB.js} +2 -2
  24. package/dist/{chunk-W3N744QV.js.map → chunk-KMENBGAB.js.map} +1 -1
  25. package/dist/{chunk-ZRJUBEIK.cjs → chunk-KU5AWMS5.cjs} +2 -2
  26. package/dist/{chunk-ZRJUBEIK.cjs.map → chunk-KU5AWMS5.cjs.map} +1 -1
  27. package/dist/{chunk-FJTFM3ML.cjs → chunk-LHCGBWFP.cjs} +2 -2
  28. package/dist/{chunk-FJTFM3ML.cjs.map → chunk-LHCGBWFP.cjs.map} +1 -1
  29. package/dist/{chunk-BUO2Y3O3.js → chunk-LXDNBUOU.js} +2 -2
  30. package/dist/{chunk-BUO2Y3O3.js.map → chunk-LXDNBUOU.js.map} +1 -1
  31. package/dist/{chunk-JAVIKBEC.js → chunk-MKRXM63S.js} +2 -2
  32. package/dist/{chunk-JAVIKBEC.js.map → chunk-MKRXM63S.js.map} +1 -1
  33. package/dist/{chunk-HZDBAPRY.js → chunk-O4LSX56P.js} +2 -2
  34. package/dist/{chunk-HZDBAPRY.js.map → chunk-O4LSX56P.js.map} +1 -1
  35. package/dist/{chunk-42WKTHH5.js → chunk-OCG3P3PJ.js} +2 -2
  36. package/dist/{chunk-42WKTHH5.js.map → chunk-OCG3P3PJ.js.map} +1 -1
  37. package/dist/{chunk-FDCVNMMO.js → chunk-PGCNGDPK.js} +2 -2
  38. package/dist/{chunk-FDCVNMMO.js.map → chunk-PGCNGDPK.js.map} +1 -1
  39. package/dist/{chunk-2KQZYT5W.cjs → chunk-PVUBGWOI.cjs} +2 -2
  40. package/dist/{chunk-2KQZYT5W.cjs.map → chunk-PVUBGWOI.cjs.map} +1 -1
  41. package/dist/{chunk-TB7MTWMO.cjs → chunk-RMMMRN4X.cjs} +2 -2
  42. package/dist/{chunk-TB7MTWMO.cjs.map → chunk-RMMMRN4X.cjs.map} +1 -1
  43. package/dist/{chunk-SIZVKGUT.js → chunk-RS5H4XDK.js} +2 -2
  44. package/dist/{chunk-SIZVKGUT.js.map → chunk-RS5H4XDK.js.map} +1 -1
  45. package/dist/{chunk-5CSPQ2RL.cjs → chunk-T6UO42TO.cjs} +2 -2
  46. package/dist/{chunk-5CSPQ2RL.cjs.map → chunk-T6UO42TO.cjs.map} +1 -1
  47. package/dist/{chunk-QJ3DLN2Y.cjs → chunk-U6XOT6XH.cjs} +2 -2
  48. package/dist/{chunk-QJ3DLN2Y.cjs.map → chunk-U6XOT6XH.cjs.map} +1 -1
  49. package/dist/{chunk-F6PWGWDJ.js → chunk-W6KXPYCB.js} +2 -2
  50. package/dist/{chunk-F6PWGWDJ.js.map → chunk-W6KXPYCB.js.map} +1 -1
  51. package/dist/{chunk-EP5DBAZQ.cjs → chunk-XEA4DDOE.cjs} +2 -2
  52. package/dist/{chunk-EP5DBAZQ.cjs.map → chunk-XEA4DDOE.cjs.map} +1 -1
  53. package/dist/chunk-XL2RQ3DZ.cjs +2 -0
  54. package/dist/chunk-XL2RQ3DZ.cjs.map +1 -0
  55. package/dist/{chunk-VC4DZZ3C.js → chunk-Y6BK75KP.js} +2 -2
  56. package/dist/{chunk-VC4DZZ3C.js.map → chunk-Y6BK75KP.js.map} +1 -1
  57. package/dist/chunk-YFEGRZXL.cjs +2 -0
  58. package/dist/chunk-YFEGRZXL.cjs.map +1 -0
  59. package/dist/{chunk-L6SVUDFH.cjs → chunk-YTCAK2AH.cjs} +2 -2
  60. package/dist/chunk-YTCAK2AH.cjs.map +1 -0
  61. package/dist/index.cjs +1 -1
  62. package/dist/index.d.cts +2 -2
  63. package/dist/index.d.ts +2 -2
  64. package/dist/index.js +1 -1
  65. package/dist/schema/asset-filters.cjs +1 -1
  66. package/dist/schema/asset-filters.js +1 -1
  67. package/dist/schema/assets.cjs +1 -1
  68. package/dist/schema/assets.js +1 -1
  69. package/dist/schema/comments.cjs +1 -1
  70. package/dist/schema/comments.js +1 -1
  71. package/dist/schema/common.cjs +1 -1
  72. package/dist/schema/common.d.cts +1 -0
  73. package/dist/schema/common.d.ts +1 -0
  74. package/dist/schema/common.js +1 -1
  75. package/dist/schema/conversations.cjs +1 -1
  76. package/dist/schema/conversations.d.cts +20 -1
  77. package/dist/schema/conversations.d.ts +20 -1
  78. package/dist/schema/conversations.js +1 -1
  79. package/dist/schema/datasets.cjs +1 -1
  80. package/dist/schema/datasets.js +1 -1
  81. package/dist/schema/files.cjs +1 -1
  82. package/dist/schema/files.d.cts +67 -2
  83. package/dist/schema/files.d.ts +67 -2
  84. package/dist/schema/files.js +1 -1
  85. package/dist/schema/notifications.cjs +1 -1
  86. package/dist/schema/notifications.js +1 -1
  87. package/dist/schema/organizations.cjs +1 -1
  88. package/dist/schema/organizations.js +1 -1
  89. package/dist/schema/posts.cjs +1 -1
  90. package/dist/schema/posts.js +1 -1
  91. package/dist/schema/quests.cjs +1 -1
  92. package/dist/schema/quests.js +1 -1
  93. package/dist/schema/services.cjs +1 -1
  94. package/dist/schema/services.js +1 -1
  95. package/dist/schema/teams.cjs +1 -1
  96. package/dist/schema/teams.js +1 -1
  97. package/dist/schema/users.cjs +1 -1
  98. package/dist/schema/users.d.cts +0 -5
  99. package/dist/schema/users.d.ts +0 -5
  100. package/dist/schema/users.js +1 -1
  101. package/dist/utils/quest-submission.cjs +1 -1
  102. package/dist/utils/quest-submission.js +1 -1
  103. package/package.json +3 -3
  104. package/tests/files.test.mjs +71 -0
  105. package/tests/users.test.mjs +13 -0
  106. package/dist/chunk-3BZRQYRC.js +0 -2
  107. package/dist/chunk-3BZRQYRC.js.map +0 -1
  108. package/dist/chunk-4TQRYYVQ.js +0 -2
  109. package/dist/chunk-4TQRYYVQ.js.map +0 -1
  110. package/dist/chunk-6DS2XXIF.cjs +0 -2
  111. package/dist/chunk-6DS2XXIF.cjs.map +0 -1
  112. package/dist/chunk-732QBVGP.js +0 -2
  113. package/dist/chunk-732QBVGP.js.map +0 -1
  114. package/dist/chunk-G6GCUGMM.js.map +0 -1
  115. package/dist/chunk-ICEXKHCC.cjs +0 -2
  116. package/dist/chunk-L6SVUDFH.cjs.map +0 -1
  117. package/dist/chunk-MNECKGIP.cjs +0 -2
  118. package/dist/chunk-MNECKGIP.cjs.map +0 -1
  119. package/dist/chunk-PXT4NFAJ.cjs +0 -2
  120. package/dist/chunk-PXT4NFAJ.cjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ import {enum as _enum,object,string,optional,array,nullable,record,any,number,uuid}from'zod';var a=_enum(["user","organization","team","dataset","file","service","route","post","quest","comment","conversation"]),h=_enum(["public","private","organization","monetized","inherit"]),d=_enum(["admin","read","write","none"]),S=_enum(["none","pay-to-unlock","pay-per-use"]),f=_enum(["usd","btc"]),_=object({id:string(),user_id:string(),org_id:optional(nullable(string())),embedding:array(number()),content:string(),asset_type:a,asset_id:string(),metadata:optional(nullable(record(string(),any()))),created_at:string(),last_updated:string()}),y=_enum(["comment","reference","mention","action","component","link","completion","evaluation"]),l=object({id:uuid(),user_id:uuid(),type:y,action_id:optional(nullable(uuid())),source_id:uuid(),target_id:uuid(),source_asset_type:a,target_asset_type:a,created_at:string(),last_updated:string()}),z=object({assetId:uuid(),method:_enum(["checkout","api"]),assetType:a}),b=object({id:uuid(),role:d,user:object({user_id:uuid()}),user_id:nullable(uuid()),org_id:nullable(uuid()),asset_type:a,asset_id:uuid(),created_at:string(),last_updated:string()}),x=_enum(["queued","in-progress","timed-out","success","error"]),g=_enum(["web","api"]),P=_enum(["GET","POST","PUT","PATCH","DELETE"]);export{a,h as b,d as c,S as d,f as e,_ as f,l as g,z as h,b as i,x as j,g as k,P as l};//# sourceMappingURL=chunk-33C7IDRP.js.map
2
+ //# sourceMappingURL=chunk-33C7IDRP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schema/common.ts"],"names":["AssetTypeSchema","zodEnum","VisibilitySchema","RoleSchema","MonetizationSchema","PriceCurrencySchema","EmbeddingSchema","object","string","optional","nullable","array","number","record","any","ConnectionTypeSchema","ConnectionSchema","uuid","PurchaseAssetSchema","PermissionSchema","StatusSchema","SourceSchema","HttpMethodSchema"],"mappings":"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","file":"chunk-33C7IDRP.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n enum as zodEnum,\n type z,\n any,\n nullable,\n optional,\n record\n} from \"zod\";\n\nconst AssetTypeSchema = zodEnum([\n \"user\",\n \"organization\",\n \"team\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n \"post\",\n \"quest\",\n \"comment\",\n \"conversation\",\n]);\n\nconst VisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n \"inherit\",\n]);\n\nconst RoleSchema = zodEnum([\"admin\", \"read\", \"write\", \"none\"]);\n\nconst MonetizationSchema = zodEnum([\"none\", \"pay-to-unlock\", \"pay-per-use\"]);\n\nconst PriceCurrencySchema = zodEnum([\"usd\", \"btc\"]);\n\nconst EmbeddingSchema = object({\n id: string(),\n user_id: string(),\n org_id: optional(nullable(string())),\n embedding: array(number()),\n content: string(),\n asset_type: AssetTypeSchema,\n asset_id: string(),\n metadata: optional(nullable(record(string(), any()))),\n created_at: string(),\n last_updated: string(),\n});\n\nconst ConnectionTypeSchema = zodEnum([\n \"comment\",\n \"reference\",\n \"mention\",\n \"action\",\n \"component\",\n \"link\",\n \"completion\",\n \"evaluation\",\n]);\n\nconst ConnectionSchema = object({\n id: uuid(),\n user_id: uuid(),\n type: ConnectionTypeSchema,\n action_id: optional(nullable(uuid())),\n source_id: uuid(),\n target_id: uuid(),\n source_asset_type: AssetTypeSchema,\n target_asset_type: AssetTypeSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst PurchaseAssetSchema = object({\n assetId: uuid(),\n method: zodEnum([\"checkout\", \"api\"]),\n assetType: AssetTypeSchema,\n});\n\nconst PermissionSchema = object({\n id: uuid(),\n role: RoleSchema,\n user: object({\n user_id: uuid(),\n }),\n user_id: nullable(uuid()),\n org_id: nullable(uuid()),\n asset_type: AssetTypeSchema,\n asset_id: uuid(),\n created_at: string(),\n last_updated: string(),\n});\n\nconst StatusSchema = zodEnum([\n \"queued\",\n \"in-progress\",\n \"timed-out\",\n \"success\",\n \"error\",\n]);\n\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nconst HttpMethodSchema = zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n HttpMethodSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type PriceCurrency = z.infer<typeof PriceCurrencySchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\nexport type Source = z.infer<typeof SourceSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\n"]}
@@ -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"]}
@@ -0,0 +1,2 @@
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":"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","file":"chunk-ICEXKHCC.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
+ {"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-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-HZDBAPRY.js';import {f,b,h,a as a$2}from'./chunk-FDCVNMMO.js';import {a as a$1}from'./chunk-3BZRQYRC.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-V3QRQO6H.js.map
2
- //# sourceMappingURL=chunk-V3QRQO6H.js.map
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-V3QRQO6H.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 chunkMNECKGIP_cjs=require('./chunk-MNECKGIP.cjs'),zod=require('zod');var n=zod.enum(["public","private","organization","monetized"]),h=zod.enum(["image","video","audio"]),u=zod.object({user:zod.optional(zod.uuid()),team:zod.optional(zod.uuid()),visibility:zod.optional(n),top_level_only:zod.optional(zod.boolean()),asset_type:zod.optional(zod.enum(["file","dataset"])),file_type:zod.optional(h),extension:zod.optional(zod.string()),license:zod.optional(zod.string()),method:zod.optional(chunkMNECKGIP_cjs.l),status:zod.optional(chunkMNECKGIP_cjs.j),source:zod.optional(chunkMNECKGIP_cjs.k),has_reactions:zod.optional(zod.boolean()),has_comments:zod.optional(zod.boolean())}),F=zod.object({asset_type:zod.optional(zod.union([chunkMNECKGIP_cjs.a,zod.array(chunkMNECKGIP_cjs.a)])),user_id:zod.optional(zod.uuid()),org_id:zod.optional(zod.uuid()),team_id:zod.optional(zod.uuid()),visibility:zod.optional(zod.union([n,zod.array(n)])),license_id:zod.optional(zod.string()),source:zod.optional(chunkMNECKGIP_cjs.k),top_level_only:zod.optional(zod.boolean()),method:zod.optional(chunkMNECKGIP_cjs.l),status:zod.optional(chunkMNECKGIP_cjs.j),exclude_user_id:zod.optional(zod.uuid()),exclude_org_ids:zod.optional(zod.array(zod.uuid()))}),_=zod.object({file_type:zod.optional(zod.string()),extension:zod.optional(zod.union([zod.string(),zod.array(zod.string())]))}).catchall(zod.optional(zod.union([zod.string(),zod.array(zod.string()),zod.boolean()])));exports.a=n;exports.b=h;exports.c=u;exports.d=F;exports.e=_;//# sourceMappingURL=chunk-Z66O3S3W.cjs.map
2
- //# sourceMappingURL=chunk-Z66O3S3W.cjs.map
1
+ 'use strict';var chunkYFEGRZXL_cjs=require('./chunk-YFEGRZXL.cjs'),zod=require('zod');var n=zod.enum(["public","private","organization","monetized"]),h=zod.enum(["image","video","audio"]),u=zod.object({user:zod.optional(zod.uuid()),team:zod.optional(zod.uuid()),visibility:zod.optional(n),top_level_only:zod.optional(zod.boolean()),asset_type:zod.optional(zod.enum(["file","dataset"])),file_type:zod.optional(h),extension:zod.optional(zod.string()),license:zod.optional(zod.string()),method:zod.optional(chunkYFEGRZXL_cjs.l),status:zod.optional(chunkYFEGRZXL_cjs.j),source:zod.optional(chunkYFEGRZXL_cjs.k),has_reactions:zod.optional(zod.boolean()),has_comments:zod.optional(zod.boolean())}),F=zod.object({asset_type:zod.optional(zod.union([chunkYFEGRZXL_cjs.a,zod.array(chunkYFEGRZXL_cjs.a)])),user_id:zod.optional(zod.uuid()),org_id:zod.optional(zod.uuid()),team_id:zod.optional(zod.uuid()),visibility:zod.optional(zod.union([n,zod.array(n)])),license_id:zod.optional(zod.string()),source:zod.optional(chunkYFEGRZXL_cjs.k),top_level_only:zod.optional(zod.boolean()),method:zod.optional(chunkYFEGRZXL_cjs.l),status:zod.optional(chunkYFEGRZXL_cjs.j),exclude_user_id:zod.optional(zod.uuid()),exclude_org_ids:zod.optional(zod.array(zod.uuid()))}),_=zod.object({file_type:zod.optional(zod.string()),extension:zod.optional(zod.union([zod.string(),zod.array(zod.string())]))}).catchall(zod.optional(zod.union([zod.string(),zod.array(zod.string()),zod.boolean()])));exports.a=n;exports.b=h;exports.c=u;exports.d=F;exports.e=_;//# sourceMappingURL=chunk-5SC4M4E3.cjs.map
2
+ //# sourceMappingURL=chunk-5SC4M4E3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema/asset-filters.ts"],"names":["AssetFilterVisibilitySchema","zodEnum","AssetFilterFileTypeSchema","AssetFiltersSchema","object","optional","uuid","boolean","string","HttpMethodSchema","StatusSchema","SourceSchema","AssetSearchFiltersSchema","union","AssetTypeSchema","array","AssetMetadataFiltersSchema"],"mappings":"sFAoBA,IAAMA,EAA8BC,QAAQ,CAAA,CAC1C,QACA,CAAA,SAAA,CACA,cACA,CAAA,WACF,CAAC,CAGKC,CAAAA,CAAAA,CAA4BD,QAAQ,CAAA,CAAC,OAAS,CAAA,OAAA,CAAS,OAAO,CAAC,CAAA,CAO/DE,CAAqBC,CAAAA,UAAAA,CAAO,CAChC,IAAA,CAAMC,aAASC,QAAK,EAAC,CACrB,CAAA,IAAA,CAAMD,YAASC,CAAAA,QAAAA,EAAM,CACrB,CAAA,UAAA,CAAYD,YAASL,CAAAA,CAA2B,CAChD,CAAA,cAAA,CAAgBK,aAASE,WAAQ,EAAC,EAElC,UAAYF,CAAAA,YAAAA,CAASJ,SAAQ,CAAC,MAAA,CAAQ,SAAS,CAAC,CAAC,CAAA,CACjD,UAAWI,YAASH,CAAAA,CAAyB,CAC7C,CAAA,SAAA,CAAWG,YAASG,CAAAA,UAAAA,EAAQ,CAC5B,CAAA,OAAA,CAASH,YAASG,CAAAA,UAAAA,EAAQ,CAAA,CAC1B,OAAQH,YAASI,CAAAA,mBAAgB,CACjC,CAAA,MAAA,CAAQJ,YAASK,CAAAA,mBAAY,EAC7B,MAAQL,CAAAA,YAAAA,CAASM,mBAAY,CAAA,CAC7B,aAAeN,CAAAA,YAAAA,CAASE,aAAS,CAAA,CACjC,YAAcF,CAAAA,YAAAA,CAASE,WAAQ,EAAC,CAClC,CAAC,CAAA,CAMKK,CAA2BR,CAAAA,UAAAA,CAAO,CACtC,UAAA,CAAYC,aAASQ,SAAM,CAAA,CAACC,oBAAiBC,SAAMD,CAAAA,mBAAe,CAAC,CAAC,CAAC,CACrE,CAAA,OAAA,CAAST,YAASC,CAAAA,QAAAA,EAAM,CACxB,CAAA,MAAA,CAAQD,YAASC,CAAAA,QAAAA,EAAM,CAAA,CACvB,QAASD,YAASC,CAAAA,QAAAA,EAAM,CAAA,CACxB,UAAYD,CAAAA,YAAAA,CACVQ,UAAM,CAACb,CAAAA,CAA6Be,SAAMf,CAAAA,CAA2B,CAAC,CAAC,CACzE,CACA,CAAA,UAAA,CAAYK,YAASG,CAAAA,UAAAA,EAAQ,CAAA,CAC7B,OAAQH,YAASM,CAAAA,mBAAY,CAC7B,CAAA,cAAA,CAAgBN,YAASE,CAAAA,WAAAA,EAAS,CAClC,CAAA,MAAA,CAAQF,YAASI,CAAAA,mBAAgB,CACjC,CAAA,MAAA,CAAQJ,aAASK,mBAAY,CAAA,CAE7B,eAAiBL,CAAAA,YAAAA,CAASC,QAAK,EAAC,EAChC,eAAiBD,CAAAA,YAAAA,CAASU,SAAMT,CAAAA,QAAAA,EAAM,CAAC,CACzC,CAAC,CAAA,CAMKU,CAA6BZ,CAAAA,UAAAA,CAAO,CACxC,SAAA,CAAWC,aAASG,UAAO,EAAC,CAC5B,CAAA,SAAA,CAAWH,YAASQ,CAAAA,SAAAA,CAAM,CAACL,UAAO,EAAA,CAAGO,SAAMP,CAAAA,UAAAA,EAAQ,CAAC,CAAC,CAAC,CACxD,CAAC,CAAA,CAAE,QAASH,CAAAA,YAAAA,CAASQ,UAAM,CAACL,UAAAA,EAAUO,CAAAA,SAAAA,CAAMP,UAAO,EAAC,EAAGD,WAAQ,EAAC,CAAC,CAAC,CAAC","file":"chunk-Z66O3S3W.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n boolean,\n array,\n union,\n enum as zodEnum,\n optional,\n type z,\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n HttpMethodSchema,\n SourceSchema,\n StatusSchema,\n} from \"./common\";\n\n/** Filterable visibilities — excludes `inherit` (not a browse/search value). */\nconst AssetFilterVisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n]);\n\n/** UI file-category chips used in the assets filter bar. */\nconst AssetFilterFileTypeSchema = zodEnum([\"image\", \"video\", \"audio\"]);\n\n/**\n * Client/UI filter state for asset lists and the filter bar.\n * Short keys (`user`, `team`, `license`) map to API columns via\n * {@link toAssetSearchFilters}.\n */\nconst AssetFiltersSchema = object({\n user: optional(uuid()),\n team: optional(uuid()),\n visibility: optional(AssetFilterVisibilitySchema),\n top_level_only: optional(boolean()),\n /** Data-list subtype chip (file vs dataset). */\n asset_type: optional(zodEnum([\"file\", \"dataset\"])),\n file_type: optional(AssetFilterFileTypeSchema),\n extension: optional(string()),\n license: optional(string()),\n method: optional(HttpMethodSchema),\n status: optional(StatusSchema),\n source: optional(SourceSchema),\n has_reactions: optional(boolean()),\n has_comments: optional(boolean()),\n});\n\n/**\n * Wire-format `filters` object for `/search/assets` and related RPCs.\n * Uses DB/API column names (`user_id`, `team_id`, `license_id`).\n */\nconst AssetSearchFiltersSchema = object({\n asset_type: optional(union([AssetTypeSchema, array(AssetTypeSchema)])),\n user_id: optional(uuid()),\n org_id: optional(uuid()),\n team_id: optional(uuid()),\n visibility: optional(\n union([AssetFilterVisibilitySchema, array(AssetFilterVisibilitySchema)])\n ),\n license_id: optional(string()),\n source: optional(SourceSchema),\n top_level_only: optional(boolean()),\n method: optional(HttpMethodSchema),\n status: optional(StatusSchema),\n /** Server-side personal/global scoping helper. */\n exclude_user_id: optional(uuid()),\n exclude_org_ids: optional(array(uuid())),\n});\n\n/**\n * Wire-format `metadata_filters` for file-oriented search\n * (`file_type`, `extension`, and arbitrary metadata keys).\n */\nconst AssetMetadataFiltersSchema = object({\n file_type: optional(string()),\n extension: optional(union([string(), array(string())])),\n}).catchall(optional(union([string(), array(string()), boolean()])));\n\nexport {\n AssetFilterVisibilitySchema,\n AssetFilterFileTypeSchema,\n AssetFiltersSchema,\n AssetSearchFiltersSchema,\n AssetMetadataFiltersSchema,\n};\n\nexport type AssetFilterVisibility = z.infer<typeof AssetFilterVisibilitySchema>;\nexport type AssetFilterFileType = z.infer<typeof AssetFilterFileTypeSchema>;\nexport type AssetFilters = z.infer<typeof AssetFiltersSchema>;\nexport type AssetSearchFilters = z.infer<typeof AssetSearchFiltersSchema>;\nexport type AssetMetadataFilters = z.infer<typeof AssetMetadataFiltersSchema>;\n"]}
1
+ {"version":3,"sources":["../src/schema/asset-filters.ts"],"names":["AssetFilterVisibilitySchema","zodEnum","AssetFilterFileTypeSchema","AssetFiltersSchema","object","optional","uuid","boolean","string","HttpMethodSchema","StatusSchema","SourceSchema","AssetSearchFiltersSchema","union","AssetTypeSchema","array","AssetMetadataFiltersSchema"],"mappings":"sFAoBA,IAAMA,EAA8BC,QAAQ,CAAA,CAC1C,QACA,CAAA,SAAA,CACA,cACA,CAAA,WACF,CAAC,CAGKC,CAAAA,CAAAA,CAA4BD,QAAQ,CAAA,CAAC,OAAS,CAAA,OAAA,CAAS,OAAO,CAAC,CAAA,CAO/DE,CAAqBC,CAAAA,UAAAA,CAAO,CAChC,IAAA,CAAMC,aAASC,QAAK,EAAC,CACrB,CAAA,IAAA,CAAMD,YAASC,CAAAA,QAAAA,EAAM,CACrB,CAAA,UAAA,CAAYD,YAASL,CAAAA,CAA2B,CAChD,CAAA,cAAA,CAAgBK,aAASE,WAAQ,EAAC,EAElC,UAAYF,CAAAA,YAAAA,CAASJ,SAAQ,CAAC,MAAA,CAAQ,SAAS,CAAC,CAAC,CAAA,CACjD,UAAWI,YAASH,CAAAA,CAAyB,CAC7C,CAAA,SAAA,CAAWG,YAASG,CAAAA,UAAAA,EAAQ,CAC5B,CAAA,OAAA,CAASH,YAASG,CAAAA,UAAAA,EAAQ,CAAA,CAC1B,OAAQH,YAASI,CAAAA,mBAAgB,CACjC,CAAA,MAAA,CAAQJ,YAASK,CAAAA,mBAAY,EAC7B,MAAQL,CAAAA,YAAAA,CAASM,mBAAY,CAAA,CAC7B,aAAeN,CAAAA,YAAAA,CAASE,aAAS,CAAA,CACjC,YAAcF,CAAAA,YAAAA,CAASE,WAAQ,EAAC,CAClC,CAAC,CAAA,CAMKK,CAA2BR,CAAAA,UAAAA,CAAO,CACtC,UAAA,CAAYC,aAASQ,SAAM,CAAA,CAACC,oBAAiBC,SAAMD,CAAAA,mBAAe,CAAC,CAAC,CAAC,CACrE,CAAA,OAAA,CAAST,YAASC,CAAAA,QAAAA,EAAM,CACxB,CAAA,MAAA,CAAQD,YAASC,CAAAA,QAAAA,EAAM,CAAA,CACvB,QAASD,YAASC,CAAAA,QAAAA,EAAM,CAAA,CACxB,UAAYD,CAAAA,YAAAA,CACVQ,UAAM,CAACb,CAAAA,CAA6Be,SAAMf,CAAAA,CAA2B,CAAC,CAAC,CACzE,CACA,CAAA,UAAA,CAAYK,YAASG,CAAAA,UAAAA,EAAQ,CAAA,CAC7B,OAAQH,YAASM,CAAAA,mBAAY,CAC7B,CAAA,cAAA,CAAgBN,YAASE,CAAAA,WAAAA,EAAS,CAClC,CAAA,MAAA,CAAQF,YAASI,CAAAA,mBAAgB,CACjC,CAAA,MAAA,CAAQJ,aAASK,mBAAY,CAAA,CAE7B,eAAiBL,CAAAA,YAAAA,CAASC,QAAK,EAAC,EAChC,eAAiBD,CAAAA,YAAAA,CAASU,SAAMT,CAAAA,QAAAA,EAAM,CAAC,CACzC,CAAC,CAAA,CAMKU,CAA6BZ,CAAAA,UAAAA,CAAO,CACxC,SAAA,CAAWC,aAASG,UAAO,EAAC,CAC5B,CAAA,SAAA,CAAWH,YAASQ,CAAAA,SAAAA,CAAM,CAACL,UAAO,EAAA,CAAGO,SAAMP,CAAAA,UAAAA,EAAQ,CAAC,CAAC,CAAC,CACxD,CAAC,CAAA,CAAE,QAASH,CAAAA,YAAAA,CAASQ,UAAM,CAACL,UAAAA,EAAUO,CAAAA,SAAAA,CAAMP,UAAO,EAAC,EAAGD,WAAQ,EAAC,CAAC,CAAC,CAAC","file":"chunk-5SC4M4E3.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n boolean,\n array,\n union,\n enum as zodEnum,\n optional,\n type z,\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n HttpMethodSchema,\n SourceSchema,\n StatusSchema,\n} from \"./common\";\n\n/** Filterable visibilities — excludes `inherit` (not a browse/search value). */\nconst AssetFilterVisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n]);\n\n/** UI file-category chips used in the assets filter bar. */\nconst AssetFilterFileTypeSchema = zodEnum([\"image\", \"video\", \"audio\"]);\n\n/**\n * Client/UI filter state for asset lists and the filter bar.\n * Short keys (`user`, `team`, `license`) map to API columns via\n * {@link toAssetSearchFilters}.\n */\nconst AssetFiltersSchema = object({\n user: optional(uuid()),\n team: optional(uuid()),\n visibility: optional(AssetFilterVisibilitySchema),\n top_level_only: optional(boolean()),\n /** Data-list subtype chip (file vs dataset). */\n asset_type: optional(zodEnum([\"file\", \"dataset\"])),\n file_type: optional(AssetFilterFileTypeSchema),\n extension: optional(string()),\n license: optional(string()),\n method: optional(HttpMethodSchema),\n status: optional(StatusSchema),\n source: optional(SourceSchema),\n has_reactions: optional(boolean()),\n has_comments: optional(boolean()),\n});\n\n/**\n * Wire-format `filters` object for `/search/assets` and related RPCs.\n * Uses DB/API column names (`user_id`, `team_id`, `license_id`).\n */\nconst AssetSearchFiltersSchema = object({\n asset_type: optional(union([AssetTypeSchema, array(AssetTypeSchema)])),\n user_id: optional(uuid()),\n org_id: optional(uuid()),\n team_id: optional(uuid()),\n visibility: optional(\n union([AssetFilterVisibilitySchema, array(AssetFilterVisibilitySchema)])\n ),\n license_id: optional(string()),\n source: optional(SourceSchema),\n top_level_only: optional(boolean()),\n method: optional(HttpMethodSchema),\n status: optional(StatusSchema),\n /** Server-side personal/global scoping helper. */\n exclude_user_id: optional(uuid()),\n exclude_org_ids: optional(array(uuid())),\n});\n\n/**\n * Wire-format `metadata_filters` for file-oriented search\n * (`file_type`, `extension`, and arbitrary metadata keys).\n */\nconst AssetMetadataFiltersSchema = object({\n file_type: optional(string()),\n extension: optional(union([string(), array(string())])),\n}).catchall(optional(union([string(), array(string()), boolean()])));\n\nexport {\n AssetFilterVisibilitySchema,\n AssetFilterFileTypeSchema,\n AssetFiltersSchema,\n AssetSearchFiltersSchema,\n AssetMetadataFiltersSchema,\n};\n\nexport type AssetFilterVisibility = z.infer<typeof AssetFilterVisibilitySchema>;\nexport type AssetFilterFileType = z.infer<typeof AssetFilterFileTypeSchema>;\nexport type AssetFilters = z.infer<typeof AssetFiltersSchema>;\nexport type AssetSearchFilters = z.infer<typeof AssetSearchFiltersSchema>;\nexport type AssetMetadataFilters = z.infer<typeof AssetMetadataFiltersSchema>;\n"]}
@@ -0,0 +1,2 @@
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
@@ -0,0 +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-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"]}
@@ -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-G6GCUGMM.js.map
2
- //# sourceMappingURL=chunk-G6GCUGMM.js.map
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 chunkTB7MTWMO_cjs=require('./chunk-TB7MTWMO.cjs'),chunkL6SVUDFH_cjs=require('./chunk-L6SVUDFH.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),chunkMNECKGIP_cjs=require('./chunk-MNECKGIP.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(chunkTB7MTWMO_cjs.b.partial().shape),d=chunkTB7MTWMO_cjs.f.extend({name:zod.nullable(zod.string()),asset_type:chunkMNECKGIP_cjs.a.refine(t=>["post","comment"].includes(t)),metadata:_,preview:i.default({type:"doc",content:[]}),content:z}),L=chunkTB7MTWMO_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=>chunkTB7MTWMO_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(chunkTB7MTWMO_cjs.f.partial()))),users:zod.optional(zod.nullable(zod.array(chunkL6SVUDFH_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=>chunkTB7MTWMO_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-4CXHZFX4.cjs.map
2
- //# sourceMappingURL=chunk-4CXHZFX4.cjs.map
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-4CXHZFX4.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
+ {"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'),chunk4CXHZFX4_cjs=require('./chunk-4CXHZFX4.cjs'),chunkTB7MTWMO_cjs=require('./chunk-TB7MTWMO.cjs'),chunkL6SVUDFH_cjs=require('./chunk-L6SVUDFH.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),uuidv7=require('uuidv7'),zod=require('zod');var u=chunkTB7MTWMO_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(chunkTB7MTWMO_cjs.e)).transform(o=>chunkTB7MTWMO_cjs.e.parse(o!=null?o:chunkTB7MTWMO_cjs.g)),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(o=>chunkTB7MTWMO_cjs.a(o)),A=zod.array(zod.object({count:zod.number()})),D=u.extend({content:zod.optional(zod.nullable(chunk4CXHZFX4_cjs.b)),assets:zod.optional(zod.nullable(zod.array(chunkTB7MTWMO_cjs.f.partial()))),users:zod.optional(zod.nullable(zod.array(chunkL6SVUDFH_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-SZ5PIWEE.cjs.map
2
- //# sourceMappingURL=chunk-SZ5PIWEE.cjs.map
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-SZ5PIWEE.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
+ {"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-G6GCUGMM.js';import {a,e}from'./chunk-3BZRQYRC.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-CW4TV3DY.js.map
2
- //# sourceMappingURL=chunk-CW4TV3DY.js.map
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":"uMAmBMA,EAAyBC,CAAAA,KAAAA,CAAQ,CACrC,QAAA,CACA,MACA,CAAA,SAAA,CACA,QACA,SACA,CAAA,WAAA,CACA,QACA,CAAA,SAAA,CACA,OACA,CAAA,OAAA,CACA,QACA,UACA,CAAA,SAAA,CACA,iBACA,CAAA,eAAA,CACA,aACA,CAAA,sBAAA,CACA,sBACA,4BACA,CAAA,0BAAA,CACA,cACA,CAAA,oBAAA,CACA,eACA,CAAA,iBAAA,CACA,OACF,CAAC,CAAA,CAGKC,CAA6BC,CAAAA,MAAAA,CAAO,CACxC,OAAA,CAASC,QACT,CAAA,SAAA,CAAWC,CACb,CAAC,CAMKC,CAAAA,CAAAA,CAAiCH,OAAO,CAC5C,OAAA,CAASI,QAASH,CAAAA,MAAAA,EAAQ,CAAA,CAC1B,UAAWG,QAASF,CAAAA,CAAe,CACnC,CAAA,EAAA,CAAIE,QAASH,CAAAA,MAAAA,EAAQ,CACrB,CAAA,UAAA,CAAYG,QAASF,CAAAA,CAAe,CACpC,CAAA,IAAA,CAAME,SAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CACjC,CAAA,OAAA,CAASG,SAASH,MAAO,EAAC,CAC1B,CAAA,OAAA,CAASG,QAASE,CAAAA,GAAAA,EAAK,CACvB,CAAA,WAAA,CAAaF,QAASE,CAAAA,GAAAA,EAAK,CAAA,CAC3B,KAAMF,QAASC,CAAAA,QAAAA,CAASJ,QAAQ,CAAC,EACjC,aAAeG,CAAAA,QAAAA,CAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,EAC1C,MAAQG,CAAAA,QAAAA,CAASH,MAAO,EAAC,CACzB,CAAA,SAAA,CAAWG,SAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CACtC,CAAA,MAAA,CAAQG,SAASE,GAAI,EAAC,CACtB,CAAA,IAAA,CAAMF,QAASE,CAAAA,GAAAA,EAAK,CACpB,CAAA,YAAA,CAAcF,QAASE,CAAAA,GAAAA,EAAK,CAAA,CAC5B,KAAMF,QAASE,CAAAA,GAAAA,EAAK,CACtB,CAAC,CAAA,CAEKC,EAA8BP,MAAO,CAAA,CACzC,OAASC,CAAAA,MAAAA,EACT,CAAA,SAAA,CAAWC,CACb,CAAC,CAAA,CAEKM,CAA6BR,CAAAA,MAAAA,CAAO,CACxC,IAAA,CAAMC,QACN,CAAA,SAAA,CAAWC,CACb,CAAC,CAEKO,CAAAA,CAAAA,CAAiCT,OAAO,CAC5C,IAAA,CAAMC,MAAO,EAAA,CACb,WAAaG,CAAAA,QAAAA,CAASC,SAASJ,MAAO,EAAC,CAAC,CAAA,CACxC,IAAMG,CAAAA,QAAAA,CAASC,SAASJ,MAAO,EAAC,CAAC,CACnC,CAAC,CAAA,CAEKS,EAA6BV,MAAO,CAAA,CACxC,EAAIC,CAAAA,MAAAA,EACJ,CAAA,IAAA,CAAMG,SAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CACnC,CAAC,EAEKU,CAAkCX,CAAAA,MAAAA,CAAO,CAC7C,EAAA,CAAIC,MAAO,EAAA,CACX,SAAUG,QAASC,CAAAA,QAAAA,CAASJ,QAAQ,CAAC,EACrC,UAAYG,CAAAA,QAAAA,CAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,EACvC,UAAYG,CAAAA,QAAAA,CAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CACzC,CAAC,CAAA,CAEKW,CAA0B,CAAA,CAC9B,IAAMR,CAAAA,QAAAA,CAASH,QAAQ,CACzB,CAEMY,CAAAA,CAAAA,CAAuBb,MAAO,CAAA,CAClC,GAAGY,CACH,CAAA,KAAA,CAAOR,QAASD,CAAAA,CAA8B,CAC9C,CAAA,MAAA,CAAQC,SAASG,CAA2B,CAAA,CAC5C,IAAMH,CAAAA,QAAAA,CAASI,CAA0B,CAC3C,CAAC,CAEKM,CAAAA,CAAAA,CAAuBd,MAAO,CAAA,CAClC,GAAGY,CAAAA,CACH,MAAOR,QAASD,CAAAA,CAA8B,CAC9C,CAAA,MAAA,CAAQC,QAASG,CAAAA,CAA2B,EAC5C,IAAMH,CAAAA,QAAAA,CAASI,CAA0B,CAC3C,CAAC,CAAA,CAEKO,EAAqBD,CAErBE,CAAAA,CAAAA,CAAyBhB,MAAO,CAAA,CACpC,GAAGY,CAAAA,CACH,MAAOR,QAASD,CAAAA,CAA8B,CAC9C,CAAA,kBAAA,CAAoBC,QAASa,CAAAA,KAAAA,CAAMhB,QAAQ,CAAC,CAC5C,CAAA,gBAAA,CAAkBG,QAASa,CAAAA,KAAAA,CAAMlB,CAA0B,CAAC,CAAA,CAC5D,cAAgBK,CAAAA,QAAAA,CAASc,MAAO,EAAC,CACnC,CAAC,CAAA,CAEKC,CAAwBnB,CAAAA,MAAAA,CAAO,CACnC,GAAGY,EACH,KAAOR,CAAAA,QAAAA,CAASD,CAA8B,CAAA,CAC9C,cAAgBC,CAAAA,QAAAA,CAASH,QAAQ,CAAA,CACjC,cAAeG,QAASH,CAAAA,MAAAA,EAAQ,CAChC,CAAA,eAAA,CAAiBG,QAASc,CAAAA,MAAAA,EAAQ,CACpC,CAAC,CAEKE,CAAAA,CAAAA,CAAqBpB,MAAO,CAAA,CAChC,GAAGY,CAAAA,CACH,MAAOR,QAASD,CAAAA,CAA8B,CAChD,CAAC,CAEKkB,CAAAA,CAAAA,CAAiCD,EAEjCE,CAAsBtB,CAAAA,MAAAA,CAAO,CACjC,GAAGY,CACL,CAAC,EAEKW,CAAsBvB,CAAAA,MAAAA,CAAO,CACjC,GAAGY,CACH,CAAA,YAAA,CAAcR,SACZJ,MAAO,CAAA,CACL,EAAIC,CAAAA,MAAAA,EACJ,CAAA,IAAA,CAAMA,QACR,CAAC,CACH,CACF,CAAC,CAAA,CAEKuB,EAAuBxB,MAAO,CAAA,CAClC,GAAGY,CAAAA,CACH,KAAOR,CAAAA,QAAAA,CAASD,CAA8B,CAC9C,CAAA,QAAA,CAAUC,QAASqB,CAAAA,CAAmB,CACtC,CAAA,KAAA,CAAOrB,SAASc,MAAO,EAAC,CAC1B,CAAC,CAEKQ,CAAAA,CAAAA,CAAuB1B,OAAO,CAClC,GAAGY,CACH,CAAA,KAAA,CAAOR,QAASc,CAAAA,MAAAA,EAAQ,CAC1B,CAAC,CAEKS,CAAAA,CAAAA,CAAqB3B,MAAO,CAAA,CAChC,GAAGY,CACH,CAAA,KAAA,CAAOR,QAASK,CAAAA,CAA8B,CAChD,CAAC,EAEKmB,CAA8B5B,CAAAA,MAAAA,CAAO,CACzC,GAAGY,CACH,CAAA,MAAA,CAAQR,SAASN,KAAQ,CAAA,CAAC,SAAW,CAAA,OAAA,CAAS,WAAW,CAAC,CAAC,CAC3D,CAAA,QAAA,CAAUM,SAASc,MAAO,EAAC,EAC3B,KAAOd,CAAAA,QAAAA,CACLJ,MAAO,CAAA,CACL,EAAIC,CAAAA,MAAAA,GACJ,IAAMG,CAAAA,QAAAA,CAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CACnC,CAAC,CACH,CACF,CAAC,CAEK4B,CAAAA,CAAAA,CAA4BD,EAE5BE,CAA0B9B,CAAAA,MAAAA,CAAO,CACrC,GAAGY,CACH,CAAA,KAAA,CAAOR,SAASM,CAA0B,CAAA,CAC1C,KAAON,CAAAA,QAAAA,CAASO,CAA+B,CACjD,CAAC,CAEKoB,CAAAA,CAAAA,CAAkC/B,MAAO,CAAA,CAC7C,GAAGY,CAAAA,CACH,MAAOR,QAASM,CAAAA,CAA0B,CAC1C,CAAA,KAAA,CAAON,QAASO,CAAAA,CAA+B,EAC/C,QAAUP,CAAAA,QAAAA,CACRC,QACEL,CAAAA,MAAAA,CAAO,CACL,EAAA,CAAIC,QACJ,CAAA,QAAA,CAAUG,QAASC,CAAAA,QAAAA,CAASJ,MAAO,EAAC,CAAC,CACvC,CAAC,CACH,CACF,CACF,CAAC,EAEK+B,CAAkChC,CAAAA,MAAAA,CAAO,CAC7C,GAAGY,CACL,CAAC,EAEKqB,CAAwCjC,CAAAA,MAAAA,CAAO,CACnD,GAAGY,CACH,CAAA,YAAA,CAAcR,SAASa,KAAMhB,CAAAA,MAAAA,EAAQ,CAAC,CACxC,CAAC,EAEKiC,CAAsClC,CAAAA,MAAAA,CAAO,CACjD,GAAGY,CACH,CAAA,eAAA,CAAiBR,SAASc,MAAO,EAAC,CAClC,CAAA,oBAAA,CAAsBd,QAASc,CAAAA,MAAAA,EAAQ,CACzC,CAAC,EAEKiB,CAA2BnC,CAAAA,MAAAA,CAAO,CACtC,GAAGY,CAAAA,CACH,YAAcR,CAAAA,QAAAA,CAASc,MAAO,EAAC,EAC/B,WAAad,CAAAA,QAAAA,CAASc,MAAO,EAAC,CAC9B,CAAA,kBAAA,CAAoBd,SAASc,MAAO,EAAC,CACrC,CAAA,MAAA,CAAQd,QAASE,CAAAA,GAAAA,EAAK,CACtB,CAAA,WAAA,CAAaF,QAASa,CAAAA,KAAAA,CAAMhB,MAAO,EAAC,CAAC,CACrC,CAAA,UAAA,CAAYG,QAASH,CAAAA,MAAAA,EAAQ,CAC/B,CAAC,CAEKmC,CAAAA,CAAAA,CAA4BpC,MAAO,CAAA,CACvC,GAAGY,CAAAA,CACH,QAASR,QAASH,CAAAA,MAAAA,EAAQ,CAAA,CAC1B,SAAWG,CAAAA,QAAAA,CAASC,SAASJ,MAAO,EAAC,CAAC,CAAA,CACtC,UAAYG,CAAAA,QAAAA,CAASC,SAASJ,MAAO,EAAC,CAAC,CAAA,CACvC,UAAYG,CAAAA,QAAAA,CAASC,SAASJ,MAAO,EAAC,CAAC,CAAA,CACvC,MAAQG,CAAAA,QAAAA,CAASH,QAAQ,CAAA,CACzB,MAAQG,CAAAA,QAAAA,CAASC,QAASJ,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACnC,eAAiBG,CAAAA,QAAAA,CAASN,KAAQ,CAAA,CAAC,WAAY,MAAM,CAAC,CAAC,CACzD,CAAC,CAAA,CAEKuC,EAA8BD,CAE9BE,CAAAA,CAAAA,CAAqBtC,MAAO,CAAA,CAChC,GAAGY,CAAAA,CACH,MAAOR,QACLJ,CAAAA,MAAAA,CAAO,CACL,IAAA,CAAMF,KAAQ,CAAA,CAAC,UAAW,OAAO,CAAC,CACpC,CAAC,CACH,CACF,CAAC,CAAA,CAEKyC,CAAoBvC,CAAAA,MAAAA,CAAO,CAC/B,GAAGY,EACH,KAAOR,CAAAA,QAAAA,CAASD,CAA8B,CAChD,CAAC,CAAA,CAEKqC,EAAqBxC,MAAO,CAAA,CAChC,GAAGY,CACL,CAAC,CAAA,CAEK6B,EAA4BzC,MAAO,CAAA,CACvC,EAAI0C,CAAAA,IAAAA,EACJ,CAAA,cAAA,CAAgBA,MAChB,CAAA,mBAAA,CAAqBA,IAAK,EAAA,CAC1B,MAAQtC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CACjC,QAAUtC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CACnC,WAAatC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CACtC,SAAWtC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CACpC,eAAiBtC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CAC1C,aAAetC,CAAAA,QAAAA,CAASC,SAASqC,IAAK,EAAC,CAAC,CAAA,CACxC,MAAQC,CAAAA,OAAAA,GACR,UAAY1C,CAAAA,MAAAA,EACZ,CAAA,YAAA,CAAcA,MAAO,EAAA,CAErB,YAAaG,QAASwC,CAAAA,CAAAA,CAAc,OAAQ,EAAC,CAE7C,CAAA,KAAA,CAAOxC,SAASD,CAA8B,CAChD,CAAC,CAAA,CAEK0C,CAAsB,CAAA,CAI1BC,EACAC,CAEAN,GAAAA,CAAAA,CAA0B,MAAO,CAAA,CAC/B,IAAMO,CAAAA,OAAAA,CAAQF,CAAI,CAClB,CAAA,OAAA,CAAAC,CACF,CAAC,CAEGE,CAAAA,EAAAA,CAAqBC,mBAAmB,MAAQ,CAAA,CACpDL,CAAoB,CAAA,QAAA,CAAUvB,CAAmB,CAAA,CACjDuB,EAAoB,MAAQN,CAAAA,CAAiB,CAC7CM,CAAAA,CAAAA,CAAoB,SAAW/B,CAAAA,CAAoB,EACnD+B,CAAoB,CAAA,OAAA,CAAS9B,CAAkB,CAAA,CAC/C8B,CAAoB,CAAA,SAAA,CAAWhC,CAAoB,CACnDgC,CAAAA,CAAAA,CAAoB,WAAa7B,CAAAA,CAAsB,CACvD6B,CAAAA,CAAAA,CAAoB,SAAUtB,CAAmB,CAAA,CACjDsB,CAAoB,CAAA,SAAA,CAAWrB,CAAoB,CAAA,CACnDqB,EAAoB,OAASP,CAAAA,CAAkB,CAC/CO,CAAAA,CAAAA,CAAoB,OAASzB,CAAAA,CAAkB,EAC/CyB,CAAoB,CAAA,OAAA,CAASlB,CAAkB,CAAA,CAC/CkB,CAAoB,CAAA,UAAA,CAAY1B,CAAqB,CACrD0B,CAAAA,CAAAA,CAAoB,SAAWnB,CAAAA,CAAoB,CACnDmB,CAAAA,CAAAA,CAAoB,kBAAmBjB,CAA2B,CAAA,CAClEiB,CAAoB,CAAA,eAAA,CAAiBhB,CAAyB,CAAA,CAC9DgB,EAAoB,aAAef,CAAAA,CAAuB,CAC1De,CAAAA,CAAAA,CAAoB,sBAAwBd,CAAAA,CAA+B,EAC3Ec,CAAoB,CAAA,qBAAA,CAAuBb,CAA+B,CAAA,CAC1Ea,CACE,CAAA,4BAAA,CACAZ,CACF,CACAY,CAAAA,CAAAA,CACE,0BACAX,CAAAA,CACF,CACAW,CAAAA,CAAAA,CAAoB,eAAgBV,CAAwB,CAAA,CAC5DU,CAAoB,CAAA,oBAAA,CAAsBxB,CAA8B,CAAA,CACxEwB,EAAoB,eAAiBT,CAAAA,CAAyB,CAC9DS,CAAAA,CAAAA,CAAoB,iBAAmBR,CAAAA,CAA2B,EAClEQ,CAAoB,CAAA,OAAA,CAASL,CAAkB,CACjD,CAAC","file":"chunk-CW4TV3DY.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"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$2}from'./chunk-LXDNBUOU.js';import {b as b$1,f,h,a as a$1}from'./chunk-PGCNGDPK.js';import {b as b$2}from'./chunk-CDJH4OT5.js';import {a,b as b$3,d}from'./chunk-33C7IDRP.js';import {a as a$3}from'./chunk-42ADEGDM.js';import {object,array,string,optional,nullable,literal,union,uuid,number,record,any}from'zod';var b=object({members:array(string())}),y=b.extend(b$1.partial().shape),w=f.extend({asset_type:a.default("conversation"),name:nullable(string()),metadata:y,users:optional(nullable(array(b$2)))}),C=h.extend({asset_type:literal("conversation").default("conversation"),monetization:d.default("none"),visibility:b$3.default("private"),name:string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),metadata:y}),B=C.transform(e=>a$1(e)),P=C.omit({id:true,org_id:true,team_id:true}).partial().transform(e=>a$1(e)),x=union([literal("heart"),literal("thumbs-up"),literal("thumbs-down"),literal("question"),literal("skull")]),R=object({id:uuid(),message_id:uuid(),conversation_id:uuid(),user_id:uuid(),value:x,created_at:string()}),k=object({id:uuid(),conversation_id:uuid(),turn_id:uuid(),seq:number(),user_id:uuid(),user:optional(nullable(b$2)),type:string().default("message"),created_at:string(),last_updated:string(),viewers:array(uuid()),json:a$2,text:string(),metadata:optional(nullable(record(string(),any()))),reactions:optional(nullable(array(R))),assets:optional(nullable(array(f.partial()))),users:optional(nullable(array(b$2.partial()))),actions:optional(nullable(array(a$3)))});export{w as a,B as b,P as c,x as d,R as e,k as f};//# sourceMappingURL=chunk-FGEMQEEM.js.map
2
+ //# sourceMappingURL=chunk-FGEMQEEM.js.map
@@ -0,0 +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-FGEMQEEM.js","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"]}