@ourofoundation/ouro-js 3.2.5 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-36UOEIZN.js +2 -0
- package/dist/chunk-36UOEIZN.js.map +1 -0
- package/dist/chunk-43KB23BA.cjs +2 -0
- package/dist/chunk-43KB23BA.cjs.map +1 -0
- package/dist/{chunk-7RF362MN.cjs → chunk-4K6R6FZD.cjs} +2 -2
- package/dist/{chunk-7RF362MN.cjs.map → chunk-4K6R6FZD.cjs.map} +1 -1
- package/dist/chunk-4KDHR4VP.js +2 -0
- package/dist/chunk-4KDHR4VP.js.map +1 -0
- package/dist/{chunk-SKQ6BRPY.js → chunk-6YF2RSXS.js} +2 -2
- package/dist/{chunk-SKQ6BRPY.js.map → chunk-6YF2RSXS.js.map} +1 -1
- package/dist/{chunk-TGAK4B5M.js → chunk-B4225TEG.js} +2 -2
- package/dist/{chunk-TGAK4B5M.js.map → chunk-B4225TEG.js.map} +1 -1
- package/dist/{chunk-Q34MIANF.js → chunk-BFBGVGNF.js} +2 -2
- package/dist/{chunk-Q34MIANF.js.map → chunk-BFBGVGNF.js.map} +1 -1
- package/dist/{chunk-OFSSOFOC.cjs → chunk-BQ5WODME.cjs} +2 -2
- package/dist/{chunk-OFSSOFOC.cjs.map → chunk-BQ5WODME.cjs.map} +1 -1
- package/dist/{chunk-WYHO26N6.js → chunk-CF56NFUG.js} +2 -2
- package/dist/{chunk-WYHO26N6.js.map → chunk-CF56NFUG.js.map} +1 -1
- package/dist/chunk-CIWFH5BJ.js +2 -0
- package/dist/chunk-CIWFH5BJ.js.map +1 -0
- package/dist/chunk-G24BRDHO.cjs +2 -0
- package/dist/chunk-G24BRDHO.cjs.map +1 -0
- package/dist/{chunk-KZOOYWQ7.js → chunk-G2MXCB7Q.js} +2 -2
- package/dist/{chunk-KZOOYWQ7.js.map → chunk-G2MXCB7Q.js.map} +1 -1
- package/dist/{chunk-FQ4F7DQH.cjs → chunk-IP4OVRZB.cjs} +2 -2
- package/dist/{chunk-FQ4F7DQH.cjs.map → chunk-IP4OVRZB.cjs.map} +1 -1
- package/dist/chunk-IU7AKVYI.cjs +2 -0
- package/dist/chunk-IU7AKVYI.cjs.map +1 -0
- package/dist/{chunk-XIH622YH.js → chunk-JISPX5A6.js} +2 -2
- package/dist/{chunk-XIH622YH.js.map → chunk-JISPX5A6.js.map} +1 -1
- package/dist/{chunk-KYK27OHG.cjs → chunk-MH4A7XAY.cjs} +2 -2
- package/dist/{chunk-KYK27OHG.cjs.map → chunk-MH4A7XAY.cjs.map} +1 -1
- package/dist/chunk-NEINJFFK.cjs +2 -0
- package/dist/{chunk-CVFVOARW.cjs.map → chunk-NEINJFFK.cjs.map} +1 -1
- package/dist/chunk-NRZCTFCQ.cjs +2 -0
- package/dist/chunk-NRZCTFCQ.cjs.map +1 -0
- package/dist/{chunk-P5JYABNP.cjs → chunk-QT3A4ULM.cjs} +2 -2
- package/dist/{chunk-P5JYABNP.cjs.map → chunk-QT3A4ULM.cjs.map} +1 -1
- package/dist/{chunk-7SSENGQL.js → chunk-U3F23ASS.js} +2 -2
- package/dist/{chunk-7SSENGQL.js.map → chunk-U3F23ASS.js.map} +1 -1
- package/dist/chunk-UY43EQTO.cjs +2 -0
- package/dist/{chunk-IW4MZW5P.cjs.map → chunk-UY43EQTO.cjs.map} +1 -1
- package/dist/{chunk-OIPOIY6M.cjs → chunk-VOY623ZD.cjs} +2 -2
- package/dist/{chunk-OIPOIY6M.cjs.map → chunk-VOY623ZD.cjs.map} +1 -1
- package/dist/{chunk-MB4EEZKP.js → chunk-WLGOABHV.js} +2 -2
- package/dist/{chunk-MB4EEZKP.js.map → chunk-WLGOABHV.js.map} +1 -1
- package/dist/chunk-WRHPQNEL.js +2 -0
- package/dist/chunk-WRHPQNEL.js.map +1 -0
- package/dist/{chunk-V5DSXK34.cjs → chunk-WUC5AUUJ.cjs} +2 -2
- package/dist/{chunk-V5DSXK34.cjs.map → chunk-WUC5AUUJ.cjs.map} +1 -1
- package/dist/{chunk-XWUYZSVO.js → chunk-Y6AKG4FJ.js} +2 -2
- package/dist/{chunk-XWUYZSVO.js.map → chunk-Y6AKG4FJ.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/schema/assets.cjs +1 -1
- package/dist/schema/assets.d.cts +77 -83
- package/dist/schema/assets.d.ts +77 -83
- package/dist/schema/assets.js +1 -1
- package/dist/schema/comments.cjs +1 -1
- package/dist/schema/comments.d.cts +73 -73
- package/dist/schema/comments.d.ts +73 -73
- package/dist/schema/comments.js +1 -1
- package/dist/schema/common.cjs +1 -1
- package/dist/schema/common.d.cts +10 -21
- package/dist/schema/common.d.ts +10 -21
- package/dist/schema/common.js +1 -1
- package/dist/schema/conversations.cjs +1 -1
- package/dist/schema/conversations.d.cts +62 -64
- package/dist/schema/conversations.d.ts +62 -64
- package/dist/schema/conversations.js +1 -1
- package/dist/schema/datasets.cjs +1 -1
- package/dist/schema/datasets.d.cts +97 -97
- package/dist/schema/datasets.d.ts +97 -97
- package/dist/schema/datasets.js +1 -1
- package/dist/schema/events.cjs +2 -0
- package/dist/schema/events.cjs.map +1 -0
- package/dist/schema/events.d.cts +113 -0
- package/dist/schema/events.d.ts +113 -0
- package/dist/schema/events.js +2 -0
- package/dist/schema/events.js.map +1 -0
- package/dist/schema/files.cjs +1 -1
- package/dist/schema/files.d.cts +91 -91
- package/dist/schema/files.d.ts +91 -91
- package/dist/schema/files.js +1 -1
- package/dist/schema/notifications.cjs +1 -1
- package/dist/schema/notifications.d.cts +1 -3
- package/dist/schema/notifications.d.ts +1 -3
- package/dist/schema/notifications.js +1 -1
- package/dist/schema/organizations.cjs +1 -1
- package/dist/schema/organizations.js +1 -1
- package/dist/schema/posts.cjs +1 -1
- package/dist/schema/posts.d.cts +110 -120
- package/dist/schema/posts.d.ts +110 -120
- package/dist/schema/posts.js +1 -1
- package/dist/schema/quests.cjs +2 -0
- package/dist/schema/quests.cjs.map +1 -0
- package/dist/schema/quests.d.cts +1140 -0
- package/dist/schema/quests.d.ts +1140 -0
- package/dist/schema/quests.js +2 -0
- package/dist/schema/quests.js.map +1 -0
- package/dist/schema/services.cjs +1 -1
- package/dist/schema/services.d.cts +141 -114
- package/dist/schema/services.d.ts +141 -114
- package/dist/schema/services.js +1 -1
- package/dist/schema/tags.d.cts +7 -7
- package/dist/schema/tags.d.ts +7 -7
- package/dist/schema/teams.cjs +1 -1
- package/dist/schema/teams.d.cts +15 -15
- package/dist/schema/teams.d.ts +15 -15
- package/dist/schema/teams.js +1 -1
- package/package.json +1 -1
- package/scripts/dump-events.ts +10 -0
- package/dist/chunk-3ZHWBPGA.cjs +0 -2
- package/dist/chunk-3ZHWBPGA.cjs.map +0 -1
- package/dist/chunk-5V7HPXUK.js +0 -2
- package/dist/chunk-5V7HPXUK.js.map +0 -1
- package/dist/chunk-6AK3RVZR.cjs +0 -2
- package/dist/chunk-6AK3RVZR.cjs.map +0 -1
- package/dist/chunk-6TOGDJKP.cjs +0 -2
- package/dist/chunk-6TOGDJKP.cjs.map +0 -1
- package/dist/chunk-7ABFUHWW.js +0 -2
- package/dist/chunk-7ABFUHWW.js.map +0 -1
- package/dist/chunk-BU2S7UEL.js +0 -2
- package/dist/chunk-BU2S7UEL.js.map +0 -1
- package/dist/chunk-CVFVOARW.cjs +0 -2
- package/dist/chunk-D7S2GB7Z.cjs +0 -2
- package/dist/chunk-D7S2GB7Z.cjs.map +0 -1
- package/dist/chunk-IW4MZW5P.cjs +0 -2
- package/dist/chunk-JPCZIGX2.js +0 -2
- package/dist/chunk-JPCZIGX2.js.map +0 -1
- package/dist/schema/blueprints.cjs +0 -2
- package/dist/schema/blueprints.cjs.map +0 -1
- package/dist/schema/blueprints.d.cts +0 -823
- package/dist/schema/blueprints.d.ts +0 -823
- package/dist/schema/blueprints.js +0 -2
- package/dist/schema/blueprints.js.map +0 -1
- package/dist/schema/replications.cjs +0 -2
- package/dist/schema/replications.cjs.map +0 -1
- package/dist/schema/replications.d.cts +0 -827
- package/dist/schema/replications.d.ts +0 -827
- package/dist/schema/replications.js +0 -2
- package/dist/schema/replications.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b as b$1,c,d,a as a$1}from'./chunk-G2MXCB7Q.js';import {a,j}from'./chunk-WRHPQNEL.js';import {enum as _enum,object,optional,string,nullable,number,record,any,array,boolean,uuid}from'zod';var v=_enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),A=object({authentication:v,base_url:string(),version:optional(nullable(string())),spec_path:optional(nullable(string())),spec_url:optional(nullable(string())),auth_url:optional(nullable(string()))}),S=A.extend(b$1.partial().shape),z=c.extend({asset_type:a.refine(r=>r==="service"),metadata:S}),E=d.extend({asset_type:a.refine(r=>r==="service"),metadata:S}).transform(r=>a$1(r)),k=z.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(r=>a$1(r)),y=_enum(["sync","async"]),T=object({id:string(),user_id:string(),service_id:string(),path:string(),method:_enum(["GET","POST","PUT","PATCH","DELETE"]),summary:optional(nullable(string())),parameters:optional(nullable(array(record(string(),any())))),request_body:optional(nullable(record(string(),any()))),responses:optional(nullable(array(record(string(),any())))),input_assets:optional(nullable(record(string(),any()))),input_type:optional(nullable(_enum(["file","dataset","post"]))),input_filter:optional(nullable(_enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:optional(nullable(string())),input_file_extensions:optional(nullable(array(string()))),output_type:optional(nullable(_enum(["file","dataset","post"]))),output_assets:optional(nullable(record(string(),any()))),output_file_extension:optional(nullable(string())),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),execution_mode:optional(y).default("sync"),observed_execution_mode:optional(nullable(y)),last_updated:string()}),b=object({avg_ack_ms:optional(nullable(number())),p95_ack_ms:optional(nullable(number())),avg_completion_ms:optional(nullable(number())),p95_completion_ms:optional(nullable(number())),latency_sample_count:optional(nullable(number()))}),D=c.extend({asset_type:a.refine(r=>r==="route"),route:T,metrics:optional(nullable(b))}),P=object({id:uuid(),user_id:uuid(),route_id:uuid(),metadata:optional(nullable(record(string(),any()))),response:optional(nullable(record(string(),any()))),side_effects:boolean().default(true),input_asset_id:optional(nullable(uuid())),output_asset_id:optional(nullable(uuid())),input_asset:optional(nullable(c)),input_assets:optional(nullable(array(record(string(),any())))),output_asset:optional(nullable(c)),output_assets:optional(nullable(array(record(string(),any())))),webhook_url:optional(nullable(string())),webhook_token:optional(nullable(string())),status:j,created_at:string(),last_updated:string(),started_at:optional(nullable(string())),ack_at:optional(nullable(string())),upstream_status_code:optional(nullable(number())),finished_at:optional(nullable(string()))});export{z as a,E as b,k as c,y as d,b as e,D as f,P as g};//# sourceMappingURL=chunk-36UOEIZN.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-36UOEIZN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/services.ts"],"names":["AuthType","zodEnum","BaseServiceMetadataSchema","object","string","optional","nullable","ServiceMetadataSchema","AssetMetadataSchema","ServiceSchema","AssetSchema","AssetTypeSchema","x","CreateServiceSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateServiceSchema","ExecutionModeSchema","RouteDetailSchema","array","record","any","number","RouteMetricsSchema","RouteSchema","ActionSchema","uuid","boolean","StatusSchema"],"mappings":"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","file":"chunk-36UOEIZN.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema, StatusSchema } from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n spec_url: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateServiceSchema = ServiceSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ExecutionModeSchema = zodEnum([\"sync\", \"async\"]);\n\nconst RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n input_assets: optional(nullable(record(string(), any()))),\n input_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n input_filter: optional(nullable(zodEnum([\"audio\", \"video\", \"image\", \"pdf\", \"3d model\", \"atomic structure\"]))),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n output_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n output_assets: optional(nullable(record(string(), any()))),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n // Author-declared execution model: 'sync' = upstream returns the result\n // inline; 'async' = upstream returns 202 quickly and webhooks completion.\n execution_mode: optional(ExecutionModeSchema).default(\"sync\"),\n // Empirical mode derived by the platform from recent action history; null\n // until enough samples have been observed. When this differs from\n // execution_mode the route is misconfigured.\n observed_execution_mode: optional(nullable(ExecutionModeSchema)),\n last_updated: string(),\n});\n\n// Per-route latency aggregates surfaced from asset_metrics. All fields are\n// nullable because they don't exist until the platform has observed at least\n// one completed action for the route.\nconst RouteMetricsSchema = object({\n // Average HTTP-hop latency in milliseconds: time from request start until\n // upstream returned 200 or 202.\n avg_ack_ms: optional(nullable(number())),\n p95_ack_ms: optional(nullable(number())),\n // Average end-to-end latency in milliseconds: started_at to finished_at,\n // includes webhook completion for async routes. This is the value an\n // agent should consider when deciding whether to wait or poll.\n avg_completion_ms: optional(nullable(number())),\n p95_completion_ms: optional(nullable(number())),\n latency_sample_count: optional(nullable(number())),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\n // Latency aggregates joined from asset_metrics; null when no samples yet.\n metrics: optional(nullable(RouteMetricsSchema)),\n});\n\nconst ActionSchema = object({\n id: uuid(),\n user_id: uuid(),\n route_id: uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(uuid())),\n output_asset_id: optional(nullable(uuid())),\n input_asset: optional(nullable(AssetSchema)),\n input_assets: optional(nullable(array(record(string(), any())))),\n output_asset: optional(nullable(AssetSchema)),\n output_assets: optional(nullable(array(record(string(), any())))),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: StatusSchema,\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n // When the upstream service first responded (200 or 202). For sync routes\n // this is approximately equal to finished_at; for async routes the gap\n // between ack_at and finished_at is the out-of-band wait time.\n ack_at: optional(nullable(string())),\n // HTTP status code returned by the upstream service at ack time.\n upstream_status_code: optional(nullable(number())),\n finished_at: optional(nullable(string())),\n});\n\nexport {\n RouteSchema,\n ServiceSchema,\n CreateServiceSchema,\n UpdateServiceSchema,\n ActionSchema,\n RouteMetricsSchema,\n ExecutionModeSchema,\n};\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type RouteMetrics = z.infer<typeof RouteMetricsSchema>;\nexport type ExecutionMode = z.infer<typeof ExecutionModeSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var zod=require('zod');var r=zod.enum(["user","organization","team","dataset","file","service","route","post","quest","comment","conversation"]),h=zod.enum(["public","private","organization","monetized","inherit"]),d=zod.enum(["admin","read","write","none"]),S=zod.enum(["none","pay-to-unlock","pay-per-use"]),f=zod.enum(["usd","btc"]),_=zod.object({id:zod.string(),user_id:zod.string(),org_id:zod.optional(zod.nullable(zod.string())),embedding:zod.array(zod.number()),content:zod.string(),asset_type:r,asset_id:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),created_at:zod.string(),last_updated:zod.string()}),y=zod.enum(["comment","reference","mention","action","component","link","completion"]),l=zod.object({id:zod.uuid(),user_id:zod.uuid(),type:y,action_id:zod.optional(zod.nullable(zod.uuid())),source_id:zod.uuid(),target_id:zod.uuid(),source_asset_type:r,target_asset_type:r,created_at:zod.string(),last_updated:zod.string()}),z=zod.object({assetId:zod.uuid(),method:zod.enum(["checkout","api"]),assetType:r}),b=zod.object({id:zod.uuid(),role:d,user:zod.object({user_id:zod.uuid()}),user_id:zod.nullable(zod.uuid()),org_id:zod.nullable(zod.uuid()),asset_type:r,asset_id:zod.uuid(),created_at:zod.string(),last_updated:zod.string()}),g=zod.enum(["queued","in-progress","timed-out","success","error"]),x=zod.enum(["web","api"]);exports.a=r;exports.b=h;exports.c=d;exports.d=S;exports.e=f;exports.f=_;exports.g=l;exports.h=z;exports.i=b;exports.j=g;exports.k=x;//# sourceMappingURL=chunk-43KB23BA.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-43KB23BA.cjs.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"],"mappings":"oCAcA,IAAMA,CAAkBC,CAAAA,QAAAA,CAAQ,CAC9B,MAAA,CACA,cACA,CAAA,MAAA,CACA,UACA,MACA,CAAA,SAAA,CACA,OACA,CAAA,MAAA,CACA,OACA,CAAA,SAAA,CACA,cACF,CAAC,CAEKC,CAAAA,CAAAA,CAAmBD,QAAQ,CAAA,CAC/B,QACA,CAAA,SAAA,CACA,eACA,WACA,CAAA,SACF,CAAC,CAAA,CAEKE,CAAaF,CAAAA,QAAAA,CAAQ,CAAC,OAAA,CAAS,MAAQ,CAAA,OAAA,CAAS,MAAM,CAAC,CAEvDG,CAAAA,CAAAA,CAAqBH,SAAQ,CAAC,MAAA,CAAQ,eAAiB,CAAA,aAAa,CAAC,CAAA,CAErEI,CAAsBJ,CAAAA,QAAAA,CAAQ,CAAC,KAAA,CAAO,KAAK,CAAC,CAE5CK,CAAAA,CAAAA,CAAkBC,WAAO,CAC7B,EAAA,CAAIC,UAAO,EAAA,CACX,OAASA,CAAAA,UAAAA,EACT,CAAA,MAAA,CAAQC,YAASC,CAAAA,YAAAA,CAASF,UAAO,EAAC,CAAC,CAAA,CACnC,UAAWG,SAAMC,CAAAA,UAAAA,EAAQ,CAAA,CACzB,OAASJ,CAAAA,UAAAA,EACT,CAAA,UAAA,CAAYR,CACZ,CAAA,QAAA,CAAUQ,UAAO,EAAA,CACjB,QAAUC,CAAAA,YAAAA,CAASC,YAASG,CAAAA,UAAAA,CAAOL,UAAO,EAAA,CAAGM,OAAI,EAAC,CAAC,CAAC,CACpD,CAAA,UAAA,CAAYN,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC,EAEKO,CAAuBd,CAAAA,QAAAA,CAAQ,CACnC,SAAA,CACA,WACA,CAAA,SAAA,CACA,QACA,CAAA,WAAA,CACA,MACA,CAAA,YACF,CAAC,CAAA,CAEKe,CAAmBT,CAAAA,UAAAA,CAAO,CAC9B,EAAIU,CAAAA,QAAAA,EACJ,CAAA,OAAA,CAASA,QAAK,EAAA,CACd,IAAMF,CAAAA,CAAAA,CACN,SAAWN,CAAAA,YAAAA,CAASC,YAASO,CAAAA,QAAAA,EAAM,CAAC,EACpC,SAAWA,CAAAA,QAAAA,EACX,CAAA,SAAA,CAAWA,QAAK,EAAA,CAChB,iBAAmBjB,CAAAA,CAAAA,CACnB,iBAAmBA,CAAAA,CAAAA,CACnB,UAAYQ,CAAAA,UAAAA,EACZ,CAAA,YAAA,CAAcA,UAAO,EACvB,CAAC,CAAA,CAEKU,CAAsBX,CAAAA,UAAAA,CAAO,CACjC,OAAA,CAASU,QAAK,EAAA,CACd,MAAQhB,CAAAA,QAAAA,CAAQ,CAAC,UAAA,CAAY,KAAK,CAAC,EACnC,SAAWD,CAAAA,CACb,CAAC,CAAA,CAEKmB,CAAmBZ,CAAAA,UAAAA,CAAO,CAC9B,EAAA,CAAIU,QAAK,EAAA,CACT,IAAMd,CAAAA,CAAAA,CACN,IAAMI,CAAAA,UAAAA,CAAO,CACX,OAASU,CAAAA,QAAAA,EACX,CAAC,CACD,CAAA,OAAA,CAASP,YAASO,CAAAA,QAAAA,EAAM,CAAA,CACxB,MAAQP,CAAAA,YAAAA,CAASO,QAAK,EAAC,EACvB,UAAYjB,CAAAA,CAAAA,CACZ,QAAUiB,CAAAA,QAAAA,EACV,CAAA,UAAA,CAAYT,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC,CAEKY,CAAAA,CAAAA,CAAenB,QAAQ,CAAA,CAC3B,QACA,CAAA,aAAA,CACA,WACA,CAAA,SAAA,CACA,OACF,CAAC,CAEKoB,CAAAA,CAAAA,CAAepB,QAAQ,CAAA,CAAC,KAAO,CAAA,KAAK,CAAC","file":"chunk-43KB23BA.cjs","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]);\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\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type 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>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),zod=require('zod');var s=zod.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","other"]),p=zod.object({id:zod.uuid(),source_user_id:zod.uuid(),destination_user_id:zod.uuid(),org_id:zod.optional(zod.uuid()),asset_id:zod.optional(zod.uuid()),reaction_id:zod.optional(zod.uuid()),action_id:zod.optional(zod.uuid()),type:s,content:zod.object({text:zod.optional(zod.string()),asset:zod.optional(zod.object({assetId:zod.string(),assetType:chunk43KB23BA_cjs.a})),mention:zod.optional(zod.object({})),event:zod.optional(zod.object({type:zod.enum(["success","error"])})),badge:zod.optional(zod.object({name:zod.string(),description:zod.optional(zod.string()),slug:zod.optional(zod.string())})),value:zod.optional(zod.string())}).loose(),viewed:zod.boolean(),created_at:zod.string(),last_updated:zod.string()});exports.a=p;//# sourceMappingURL=chunk-4K6R6FZD.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-4K6R6FZD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/notifications.ts"],"names":["NotificationTypeSchema","zodEnum","NotificationSchema","object","uuid","optional","string","AssetTypeSchema","boolean"],"mappings":"sFAYA,IAAMA,EAAyBC,QAAQ,CAAA,CACrC,QACA,CAAA,MAAA,CACA,UACA,OACA,CAAA,SAAA,CACA,WACA,CAAA,QAAA,CACA,UACA,OACA,CAAA,OAAA,CACA,OACA,CAAA,UAAA,CACA,UACA,iBACA,CAAA,eAAA,CACA,aACA,CAAA,sBAAA,CACA,sBACA,4BACA,CAAA,0BAAA,CACA,cACA,CAAA,oBAAA,CACA,OACF,CAAC,CAAA,CAEKC,CAAqBC,CAAAA,UAAAA,CAAO,CAChC,EAAIC,CAAAA,QAAAA,EACJ,CAAA,cAAA,CAAgBA,UAChB,CAAA,mBAAA,CAAqBA,QAAK,EAAA,CAC1B,OAAQC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CACvB,SAAUC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CACzB,YAAaC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CAC5B,UAAWC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CAC1B,KAAMJ,CACN,CAAA,OAAA,CAASG,UAAO,CAAA,CACd,KAAME,YAASC,CAAAA,UAAAA,EAAQ,CAAA,CACvB,MAAOD,YACLF,CAAAA,UAAAA,CAAO,CACL,OAAA,CAASG,YACT,CAAA,SAAA,CAAWC,mBACb,CAAC,CACH,CACA,CAAA,OAAA,CAASF,YAASF,CAAAA,UAAAA,CAAO,EAAE,CAAC,CAC5B,CAAA,KAAA,CAAOE,aACLF,UAAO,CAAA,CACL,IAAMF,CAAAA,QAAAA,CAAQ,CAAC,SAAW,CAAA,OAAO,CAAC,CACpC,CAAC,CACH,CAAA,CACA,KAAOI,CAAAA,YAAAA,CACLF,WAAO,CACL,IAAA,CAAMG,UAAO,EAAA,CACb,YAAaD,YAASC,CAAAA,UAAAA,EAAQ,CAAA,CAC9B,KAAMD,YAASC,CAAAA,UAAAA,EAAQ,CACzB,CAAC,CACH,CAAA,CACA,KAAOD,CAAAA,YAAAA,CAASC,YAAQ,CAC1B,CAAC,CAAA,CAAE,OACH,CAAA,MAAA,CAAQE,WAAQ,EAAA,CAChB,WAAYF,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/notifications.ts"],"names":["NotificationTypeSchema","zodEnum","NotificationSchema","object","uuid","optional","string","AssetTypeSchema","boolean"],"mappings":"sFAYA,IAAMA,EAAyBC,QAAQ,CAAA,CACrC,QACA,CAAA,MAAA,CACA,UACA,OACA,CAAA,SAAA,CACA,WACA,CAAA,QAAA,CACA,UACA,OACA,CAAA,OAAA,CACA,OACA,CAAA,UAAA,CACA,UACA,iBACA,CAAA,eAAA,CACA,aACA,CAAA,sBAAA,CACA,sBACA,4BACA,CAAA,0BAAA,CACA,cACA,CAAA,oBAAA,CACA,OACF,CAAC,CAAA,CAEKC,CAAqBC,CAAAA,UAAAA,CAAO,CAChC,EAAIC,CAAAA,QAAAA,EACJ,CAAA,cAAA,CAAgBA,UAChB,CAAA,mBAAA,CAAqBA,QAAK,EAAA,CAC1B,OAAQC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CACvB,SAAUC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CACzB,YAAaC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CAC5B,UAAWC,YAASD,CAAAA,QAAAA,EAAM,CAAA,CAC1B,KAAMJ,CACN,CAAA,OAAA,CAASG,UAAO,CAAA,CACd,KAAME,YAASC,CAAAA,UAAAA,EAAQ,CAAA,CACvB,MAAOD,YACLF,CAAAA,UAAAA,CAAO,CACL,OAAA,CAASG,YACT,CAAA,SAAA,CAAWC,mBACb,CAAC,CACH,CACA,CAAA,OAAA,CAASF,YAASF,CAAAA,UAAAA,CAAO,EAAE,CAAC,CAC5B,CAAA,KAAA,CAAOE,aACLF,UAAO,CAAA,CACL,IAAMF,CAAAA,QAAAA,CAAQ,CAAC,SAAW,CAAA,OAAO,CAAC,CACpC,CAAC,CACH,CAAA,CACA,KAAOI,CAAAA,YAAAA,CACLF,WAAO,CACL,IAAA,CAAMG,UAAO,EAAA,CACb,YAAaD,YAASC,CAAAA,UAAAA,EAAQ,CAAA,CAC9B,KAAMD,YAASC,CAAAA,UAAAA,EAAQ,CACzB,CAAC,CACH,CAAA,CACA,KAAOD,CAAAA,YAAAA,CAASC,YAAQ,CAC1B,CAAC,CAAA,CAAE,OACH,CAAA,MAAA,CAAQE,WAAQ,EAAA,CAChB,WAAYF,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC","file":"chunk-4K6R6FZD.cjs","sourcesContent":["import {\n object,\n string,\n boolean,\n type z,\n enum as zodEnum,\n optional,\n uuid\n} from \"zod\";\n\nimport { AssetTypeSchema } from \"./common\";\n\nconst NotificationTypeSchema = zodEnum([\n \"follow\",\n \"like\",\n \"comment\",\n \"reply\",\n \"mention\",\n \"reference\",\n \"invite\",\n \"payment\",\n \"event\",\n \"share\",\n \"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 \"other\",\n]);\n\nconst NotificationSchema = object({\n id: uuid(),\n source_user_id: uuid(),\n destination_user_id: uuid(),\n org_id: optional(uuid()),\n asset_id: optional(uuid()),\n reaction_id: optional(uuid()),\n action_id: optional(uuid()),\n type: NotificationTypeSchema,\n content: object({\n text: optional(string()),\n asset: optional(\n object({\n assetId: string(),\n assetType: AssetTypeSchema,\n })\n ),\n mention: optional(object({})),\n event: optional(\n object({\n type: zodEnum([\"success\", \"error\"]),\n })\n ),\n badge: optional(\n object({\n name: string(),\n description: optional(string()),\n slug: optional(string()),\n })\n ),\n value: optional(string()),\n }).loose(),\n viewed: boolean(),\n created_at: string(),\n last_updated: string(),\n});\n\nexport { NotificationSchema };\nexport type Notification = z.infer<typeof NotificationSchema>;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c,b as b$1,d as d$1,a as a$1}from'./chunk-G2MXCB7Q.js';import {a}from'./chunk-WRHPQNEL.js';import {enum as _enum,object,optional,string,array,any,record,literal,number,uuid,nullable,union}from'zod';var Q=_enum(["closable","continuous"]),v=_enum(["draft","open","closed","cancelled"]),_=_enum(["pending","in_progress","done","skipped"]),g=_enum(["btc","usd"]),E=_enum(["skipped","running","passed","failed","errored"]),w=_enum(["submitted","accepted","rejected"]),b=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(b)}),text:string()}),C=object({id:uuid(),quest_id:uuid(),description:string(),status:_.default("pending"),auto_skipped:optional(nullable(string().or(any()))),status_before_auto_skip:optional(nullable(_)),sort_order:number().default(0),type:string().default("task"),created_by:uuid(),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a)),reward_xp:number().int().nonnegative().default(0),reward_currency:g.default("btc"),reward_amount:number().int().nonnegative().default(0),child_quest_id:optional(nullable(uuid())),completed_entry_id:optional(nullable(uuid())),eval_route_id:optional(nullable(uuid())),eval_score_path:optional(nullable(string())),eval_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),eval_input_key:optional(nullable(string())),notes:optional(nullable(string())),created_at:string(),updated_at:string()}),I=C,l=object({description:string().min(1,{message:"Item description cannot be empty"}),type:optional(string()).default("task"),sort_order:optional(number().int()),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a)),reward_xp:optional(number().int().nonnegative()).default(0),reward_currency:optional(g).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_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),eval_input_key:optional(nullable(string())),notes:optional(nullable(string()))}),q=union([string().transform(p=>({description:p})),l]).pipe(l),k=object({type:Q.default("closable"),status:v.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),closed_at:optional(nullable(string()))}),T=c.extend({asset_type:literal("quest").default("quest"),metadata:optional(nullable(b$1.partial())),quest:optional(k.partial()),items:optional(array(I.partial())),progress:optional(object({total:number(),done:number(),remaining:number()}))}),A=d$1.extend({asset_type:literal("quest").default("quest"),name:optional(nullable(string())).default(null),description:optional(nullable(d)),type:Q.default("closable"),status:v.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),items:optional(array(q)).default([])}).transform(p=>a$1(p)),O=T.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}).extend({asset_type:literal("quest").default("quest"),last_updated:string().default(()=>new Date().toISOString())}).transform(p=>a$1(p)),Z=l.partial().extend({status:optional(_)}),B=object({id:uuid(),quest_id:uuid(),user_id:uuid(),item_id:optional(nullable(uuid())),asset_id:optional(nullable(uuid())),asset_type:optional(nullable(a)),description:optional(nullable(d)),review:optional(nullable(d)),status:w,reviewer_id:optional(nullable(uuid())),reviewed_at:optional(nullable(string())),eval_action_id:optional(nullable(uuid())),eval_score:optional(nullable(number())),eval_status:optional(nullable(E)),created_at:string(),updated_at:string()}),D=object({item_id:optional(nullable(uuid())),asset_id:optional(nullable(uuid())),asset_type:optional(nullable(a)),description:optional(nullable(union([string(),d])))}),F=object({status:_enum(["accepted","rejected"]),review:optional(nullable(union([string(),d])))});export{Q as a,v as b,_ as c,g as d,E as e,w as f,C as g,I as h,l as i,q as j,T as k,A as l,O as m,Z as n,B as o,D as p,F as q};//# sourceMappingURL=chunk-4KDHR4VP.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-4KDHR4VP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/quests.ts"],"names":["QuestTypeSchema","zodEnum","QuestStatusSchema","QuestItemStatusSchema","RewardCurrencySchema","EntryEvalStatusSchema","EntryStatusSchema","TipTapNode","object","string","optional","array","any","record","ContentSchema","literal","QuestItemBaseSchema","uuid","nullable","number","AssetTypeSchema","QuestItemSchema","CreateQuestItemObjectSchema","CreateQuestItemSchema","union","s","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-4KDHR4VP.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 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\";\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\nconst QuestTypeSchema = zodEnum([\"closable\", \"continuous\"]);\nconst QuestStatusSchema = zodEnum([\n \"draft\",\n \"open\",\n \"closed\",\n \"cancelled\",\n]);\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([\n \"submitted\",\n \"accepted\",\n \"rejected\",\n]);\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: string(),\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 completed_entry_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n eval_input_key: optional(nullable(string())),\n notes: optional(nullable(string())),\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 as a convenience — it's lifted\n * into `{ description }` by the `union` below.\n */\nconst CreateQuestItemObjectSchema = object({\n description: string().min(1, { message: \"Item description cannot be empty\" }),\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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n eval_input_key: optional(nullable(string())),\n notes: optional(nullable(string())),\n});\n\nconst CreateQuestItemSchema = union([\n string().transform((s) => ({ description: s })),\n CreateQuestItemObjectSchema,\n]).pipe(CreateQuestItemObjectSchema);\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 // `read /quests/:id` returns the quest specifics nested under `quest`\n // and hoists items to the top level for convenience.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n done: number(),\n remaining: number(),\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 or full item objects —\n * the backend `createQuestItems`/`createQuest` paths already handle both\n * shapes, and `CreateQuestItemSchema` normalizes strings into\n * `{ 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 })\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 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_status: optional(nullable(EntryEvalStatusSchema)),\n created_at: string(),\n updated_at: string(),\n});\n\nconst CreateEntrySchema = object({\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\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 QuestTypeSchema,\n QuestStatusSchema,\n QuestItemStatusSchema,\n RewardCurrencySchema,\n EntryEvalStatusSchema,\n EntryStatusSchema,\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 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
|
-
import {c,a}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {c,a}from'./chunk-G2MXCB7Q.js';import {uuidv7}from'uuidv7';import {optional,literal,nullable,object,array,string,record,any}from'zod';var l=c.extend({asset_type:literal("comment").default("comment"),preview:optional(nullable(object({type:string().refine(t=>t==="doc"),content:array(record(string(),any()))}).default({type:"doc",content:[]})))}),C=l.partial().omit({id:true,user_id:true}).extend({asset_type:literal("comment").default("comment"),id:string().default(()=>uuidv7()),name:string().default(""),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}).transform(t=>a(t));export{l as a,C as b};//# sourceMappingURL=chunk-6YF2RSXS.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-6YF2RSXS.js.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","value","normalizeAssetConfigForParsing"],"mappings":"6IAeMA,IAAAA,CAAAA,CAAgBC,CAAY,CAAA,MAAA,CAAO,CACvC,UAAA,CAAYC,OAAQ,CAAA,SAAS,EAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,OAAA,CAASC,QACPC,CAAAA,QAAAA,CACEC,MAAO,CAAA,CACL,IAAMC,CAAAA,MAAAA,EAAS,CAAA,MAAA,CAAQC,CAAMA,EAAAA,CAAAA,GAAM,KAAK,CAAA,CACxC,QAASC,KAAMC,CAAAA,MAAAA,CAAOH,MAAO,EAAA,CAAGI,GAAI,EAAC,CAAC,CACxC,CAAC,CAAA,CAAE,OAAQ,CAAA,CAAE,IAAM,CAAA,KAAA,CAAO,OAAS,CAAA,EAAG,CAAC,CACzC,CACF,CACF,CAAC,CAAA,CAEKC,CAAsBX,CAAAA,CAAAA,CAAc,OAAQ,EAAA,CAC/C,IAAK,CAAA,CACJ,EAAI,CAAA,IAAA,CACJ,OAAS,CAAA,IACX,CAAC,CACA,CAAA,MAAA,CAAO,CACN,UAAA,CAAYE,OAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAAA,CAChD,EAAII,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,IAAMM,MAAAA,EAAQ,CACnC,CAAA,IAAA,CAAMN,MAAO,EAAA,CAAE,OAAQ,CAAA,EAAE,CACzB,CAAA,UAAA,CAAYA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC3D,CAAA,YAAA,CAAcA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,CACA,CAAA,SAAA,CAAWO,CAAUC,EAAAA,CAAAA,CAA+BD,CAAK,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/comments.ts"],"names":["CommentSchema","AssetSchema","literal","optional","nullable","object","string","x","array","record","any","CreateCommentSchema","uuidv7","value","normalizeAssetConfigForParsing"],"mappings":"6IAeMA,IAAAA,CAAAA,CAAgBC,CAAY,CAAA,MAAA,CAAO,CACvC,UAAA,CAAYC,OAAQ,CAAA,SAAS,EAAE,OAAQ,CAAA,SAAS,CAChD,CAAA,OAAA,CAASC,QACPC,CAAAA,QAAAA,CACEC,MAAO,CAAA,CACL,IAAMC,CAAAA,MAAAA,EAAS,CAAA,MAAA,CAAQC,CAAMA,EAAAA,CAAAA,GAAM,KAAK,CAAA,CACxC,QAASC,KAAMC,CAAAA,MAAAA,CAAOH,MAAO,EAAA,CAAGI,GAAI,EAAC,CAAC,CACxC,CAAC,CAAA,CAAE,OAAQ,CAAA,CAAE,IAAM,CAAA,KAAA,CAAO,OAAS,CAAA,EAAG,CAAC,CACzC,CACF,CACF,CAAC,CAAA,CAEKC,CAAsBX,CAAAA,CAAAA,CAAc,OAAQ,EAAA,CAC/C,IAAK,CAAA,CACJ,EAAI,CAAA,IAAA,CACJ,OAAS,CAAA,IACX,CAAC,CACA,CAAA,MAAA,CAAO,CACN,UAAA,CAAYE,OAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAAA,CAChD,EAAII,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,IAAMM,MAAAA,EAAQ,CACnC,CAAA,IAAA,CAAMN,MAAO,EAAA,CAAE,OAAQ,CAAA,EAAE,CACzB,CAAA,UAAA,CAAYA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC3D,CAAA,YAAA,CAAcA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,CACA,CAAA,SAAA,CAAWO,CAAUC,EAAAA,CAAAA,CAA+BD,CAAK,CAAC","file":"chunk-6YF2RSXS.js","sourcesContent":["import { uuidv7 } from \"uuidv7\";\nimport {\n object,\n string,\n array,\n type z,\n record,\n any,\n literal,\n optional,\n nullable\n} from \"zod\";\n\nimport { AssetSchema, normalizeAssetConfigForParsing } from \"./assets\";\n\nconst CommentSchema = AssetSchema.extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n preview: optional(\n nullable(\n object({\n type: string().refine((x) => x === \"doc\"),\n content: array(record(string(), any())),\n }).default({ type: \"doc\", content: [] })\n )\n ),\n});\n\nconst CreateCommentSchema = CommentSchema.partial()\n .omit({\n id: true,\n user_id: true,\n })\n .extend({\n asset_type: literal(\"comment\").default(\"comment\"),\n id: string().default(() => uuidv7()),\n name: string().default(\"\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport { CommentSchema, CreateCommentSchema };\nexport type Comment = z.infer<typeof CommentSchema>;\nexport type CreateComment = z.infer<typeof CreateCommentSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as b$1,c,d,a}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b as b$1,c,d,a}from'./chunk-G2MXCB7Q.js';import {object,optional,number,string,enum as _enum,uuid,literal,discriminatedUnion}from'zod';var f=object({id:uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number())}),h=object({type:string()}),p=f.extend(b$1.partial().shape),S=h.extend(b$1.partial().shape),F=c.extend({asset_type:literal("file").default("file"),metadata:p}),z=discriminatedUnion("state",[d.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:p}),d.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:S})]).transform(a$1=>a(a$1)),b=F.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(a$1=>a(a$1));export{F as a,z as b,b as c};//# sourceMappingURL=chunk-B4225TEG.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-B4225TEG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/files.ts"],"names":["BaseFileMetadataSchema","object","uuid","string","zodEnum","number","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"+IAoBMA,IAAAA,CAAAA,CAAyBC,OAAO,CACpC,EAAA,CAAIC,MACJ,CAAA,IAAA,CAAMC,QACN,CAAA,MAAA,CAAQC,MAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,MAAO,EAAA,CACb,KAAMA,MAAO,EAAA,CACb,UAAWA,MAAO,EAAA,CAClB,IAAME,CAAAA,MAAAA,EAEN,CAAA,KAAA,CAAOC,SAASD,MAAO,EAAC,EACxB,MAAQC,CAAAA,QAAAA,CAASD,QAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,OAAO,CACxC,IAAA,CAAME,QACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,GAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,GAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,CAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,QAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,kBAAmB,CAAA,OAAA,CAAS,CAEnDC,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,KAAUC,CAA+BD,CAAAA,GAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,GAAAA,EAAUC,CAA+BD,CAAAA,GAAK,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/files.ts"],"names":["BaseFileMetadataSchema","object","uuid","string","zodEnum","number","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"+IAoBMA,IAAAA,CAAAA,CAAyBC,OAAO,CACpC,EAAA,CAAIC,MACJ,CAAA,IAAA,CAAMC,QACN,CAAA,MAAA,CAAQC,MAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,MAAO,EAAA,CACb,KAAMA,MAAO,EAAA,CACb,UAAWA,MAAO,EAAA,CAClB,IAAME,CAAAA,MAAAA,EAEN,CAAA,KAAA,CAAOC,SAASD,MAAO,EAAC,EACxB,MAAQC,CAAAA,QAAAA,CAASD,QAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,OAAO,CACxC,IAAA,CAAME,QACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,GAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,GAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,CAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,QAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,kBAAmB,CAAA,OAAA,CAAS,CAEnDC,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,KAAUC,CAA+BD,CAAAA,GAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,GAAAA,EAAUC,CAA+BD,CAAAA,GAAK,CAAC","file":"chunk-B4225TEG.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} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\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});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: StubFileMetadataSchema,\n }),\n]).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 })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$2}from'./chunk-Y6AKG4FJ.js';import {b,c,d,a as a$1}from'./chunk-G2MXCB7Q.js';import {b as b$1}from'./chunk-3N56ERWF.js';import {a,b as b$2,d as d$1}from'./chunk-WRHPQNEL.js';import {object,array,string,optional,nullable,literal,uuid,record,any}from'zod';var g=object({members:array(string())}),l=g.extend(b.partial().shape),T=c.extend({asset_type:a.default("conversation"),metadata:l,users:optional(nullable(array(b$1)))}),C=d.extend({asset_type:literal("conversation").default("conversation"),monetization:d$1.default("none"),visibility:b$2.default("private"),metadata:l}),U=C.transform(a=>a$1(a)),j=C.omit({id:true,org_id:true,team_id:true}).partial().transform(a=>a$1(a)),B=object({id:uuid(),conversation_id:uuid(),user_id:uuid(),user:optional(nullable(b$1)),type:string().default("message"),created_at:string(),last_updated:string(),viewers:array(uuid()),json:a$2,text:string(),metadata:optional(nullable(record(string(),any())))});export{T as a,U as b,j as c,B as d};//# sourceMappingURL=chunk-BFBGVGNF.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-BFBGVGNF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","optional","nullable","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageSchema","uuid","TipTapSchema","record","any"],"mappings":"6QA2BA,IAAMA,EAAiCC,MAAO,CAAA,CAC5C,OAASC,CAAAA,KAAAA,CAAMC,QAAQ,CACzB,CAAC,CAAA,CAEKC,EAA6BJ,CAA+B,CAAA,MAAA,CAChEK,EAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAqBC,CAAY,CAAA,MAAA,CAAO,CAC5C,UAAYC,CAAAA,CAAAA,CAAgB,OAAQ,CAAA,cAAc,EAClD,QAAUJ,CAAAA,CAAAA,CACV,KAAOK,CAAAA,QAAAA,CAASC,SAASR,KAAMS,CAAAA,GAAa,CAAC,CAAC,CAChD,CAAC,CAEKC,CAAAA,CAAAA,CAA+BC,CAAkB,CAAA,MAAA,CAAO,CAC5D,UAAYC,CAAAA,OAAAA,CAAQ,cAAc,CAAA,CAAE,QAAQ,cAAc,CAAA,CAC1D,YAAcC,CAAAA,GAAAA,CAAmB,QAAQ,MAAM,CAAA,CAC/C,WAAYC,GAAiB,CAAA,OAAA,CAAQ,SAAS,CAC9C,CAAA,QAAA,CAAUZ,CACZ,CAAC,EAEKa,CAA2BL,CAAAA,CAAAA,CAC9B,SAAWM,CAAAA,CAAAA,EAAUC,IAA+BD,CAAK,CAAC,CAGvDE,CAAAA,CAAAA,CAA2BR,EAA6B,IAAK,CAAA,CACjE,GAAI,IACJ,CAAA,MAAA,CAAQ,KACR,OAAS,CAAA,IAKX,CAAC,CAAA,CAAE,SAAU,CAAA,SAAA,CAAWM,CAAUC,EAAAA,GAAAA,CAA+BD,CAAK,CAAC,CAAA,CAEjEG,CAAgBpB,CAAAA,MAAAA,CAAO,CAC3B,EAAIqB,CAAAA,IAAAA,GACJ,eAAiBA,CAAAA,IAAAA,GACjB,OAASA,CAAAA,IAAAA,EACT,CAAA,IAAA,CAAMb,SAASC,QAASC,CAAAA,GAAa,CAAC,CAAA,CACtC,KAAMR,MAAO,EAAA,CAAE,OAAQ,CAAA,SAAS,EAChC,UAAYA,CAAAA,MAAAA,GACZ,YAAcA,CAAAA,MAAAA,GACd,OAASD,CAAAA,KAAAA,CAAMoB,IAAK,EAAC,EACrB,IAAMC,CAAAA,GAAAA,CACN,IAAMpB,CAAAA,MAAAA,GACN,QAAUM,CAAAA,QAAAA,CAASC,QAASc,CAAAA,MAAAA,CAAOrB,QAAUsB,CAAAA,GAAAA,EAAK,CAAC,CAAC,CACtD,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","optional","nullable","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageSchema","uuid","TipTapSchema","record","any"],"mappings":"6QA2BA,IAAMA,EAAiCC,MAAO,CAAA,CAC5C,OAASC,CAAAA,KAAAA,CAAMC,QAAQ,CACzB,CAAC,CAAA,CAEKC,EAA6BJ,CAA+B,CAAA,MAAA,CAChEK,EAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAqBC,CAAY,CAAA,MAAA,CAAO,CAC5C,UAAYC,CAAAA,CAAAA,CAAgB,OAAQ,CAAA,cAAc,EAClD,QAAUJ,CAAAA,CAAAA,CACV,KAAOK,CAAAA,QAAAA,CAASC,SAASR,KAAMS,CAAAA,GAAa,CAAC,CAAC,CAChD,CAAC,CAEKC,CAAAA,CAAAA,CAA+BC,CAAkB,CAAA,MAAA,CAAO,CAC5D,UAAYC,CAAAA,OAAAA,CAAQ,cAAc,CAAA,CAAE,QAAQ,cAAc,CAAA,CAC1D,YAAcC,CAAAA,GAAAA,CAAmB,QAAQ,MAAM,CAAA,CAC/C,WAAYC,GAAiB,CAAA,OAAA,CAAQ,SAAS,CAC9C,CAAA,QAAA,CAAUZ,CACZ,CAAC,EAEKa,CAA2BL,CAAAA,CAAAA,CAC9B,SAAWM,CAAAA,CAAAA,EAAUC,IAA+BD,CAAK,CAAC,CAGvDE,CAAAA,CAAAA,CAA2BR,EAA6B,IAAK,CAAA,CACjE,GAAI,IACJ,CAAA,MAAA,CAAQ,KACR,OAAS,CAAA,IAKX,CAAC,CAAA,CAAE,SAAU,CAAA,SAAA,CAAWM,CAAUC,EAAAA,GAAAA,CAA+BD,CAAK,CAAC,CAAA,CAEjEG,CAAgBpB,CAAAA,MAAAA,CAAO,CAC3B,EAAIqB,CAAAA,IAAAA,GACJ,eAAiBA,CAAAA,IAAAA,GACjB,OAASA,CAAAA,IAAAA,EACT,CAAA,IAAA,CAAMb,SAASC,QAASC,CAAAA,GAAa,CAAC,CAAA,CACtC,KAAMR,MAAO,EAAA,CAAE,OAAQ,CAAA,SAAS,EAChC,UAAYA,CAAAA,MAAAA,GACZ,YAAcA,CAAAA,MAAAA,GACd,OAASD,CAAAA,KAAAA,CAAMoB,IAAK,EAAC,EACrB,IAAMC,CAAAA,GAAAA,CACN,IAAMpB,CAAAA,MAAAA,GACN,QAAUM,CAAAA,QAAAA,CAASC,QAASc,CAAAA,MAAAA,CAAOrB,QAAUsB,CAAAA,GAAAA,EAAK,CAAC,CAAC,CACtD,CAAC","file":"chunk-BFBGVGNF.js","sourcesContent":["import {\n object,\n string,\n uuid,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n metadata: ConversationMetadataSchema,\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst BaseCreateConversationSchema = CreateAssetSchema.extend({\n asset_type: literal(\"conversation\").default(\"conversation\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\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 MessageSchema = object({\n id: uuid(),\n conversation_id: uuid(),\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});\n\nexport {\n MessageSchema,\n UpdateConversationSchema,\n CreateConversationSchema,\n ConversationSchema,\n};\nexport type Conversation = z.infer<typeof ConversationSchema>;\nexport type CreateConversation = z.infer<typeof CreateConversationSchema>;\nexport type UpdateConversation = z.infer<typeof UpdateConversationSchema>;\nexport type Message = z.infer<typeof MessageSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkIP4OVRZB_cjs=require('./chunk-IP4OVRZB.cjs'),zod=require('zod');var f=zod.object({id:zod.uuid(),path:zod.string(),bucket:zod.enum(["public-files","files"]),name:zod.string(),type:zod.string(),extension:zod.string(),size:zod.number(),width:zod.optional(zod.number()),height:zod.optional(zod.number())}),h=zod.object({type:zod.string()}),p=f.extend(chunkIP4OVRZB_cjs.b.partial().shape),S=h.extend(chunkIP4OVRZB_cjs.b.partial().shape),F=chunkIP4OVRZB_cjs.c.extend({asset_type:zod.literal("file").default("file"),metadata:p}),z=zod.discriminatedUnion("state",[chunkIP4OVRZB_cjs.d.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:p}),chunkIP4OVRZB_cjs.d.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:S})]).transform(a=>chunkIP4OVRZB_cjs.a(a)),b=F.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}).transform(a=>chunkIP4OVRZB_cjs.a(a));exports.a=F;exports.b=z;exports.c=b;//# sourceMappingURL=chunk-BQ5WODME.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-BQ5WODME.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/files.ts"],"names":["BaseFileMetadataSchema","object","uuid","string","zodEnum","number","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"sFAoBMA,IAAAA,CAAAA,CAAyBC,WAAO,CACpC,EAAA,CAAIC,UACJ,CAAA,IAAA,CAAMC,YACN,CAAA,MAAA,CAAQC,SAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,UAAO,EAAA,CACb,KAAMA,UAAO,EAAA,CACb,UAAWA,UAAO,EAAA,CAClB,IAAME,CAAAA,UAAAA,EAEN,CAAA,KAAA,CAAOC,aAASD,UAAO,EAAC,EACxB,MAAQC,CAAAA,YAAAA,CAASD,YAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,WAAO,CACxC,IAAA,CAAME,YACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,mBAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,mBAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,mBAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,YAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,sBAAmB,CAAA,OAAA,CAAS,CAEnDC,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,GAAUC,mBAA+BD,CAAAA,CAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,UAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,CAAAA,EAAUC,mBAA+BD,CAAAA,CAAK,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/files.ts"],"names":["BaseFileMetadataSchema","object","uuid","string","zodEnum","number","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"sFAoBMA,IAAAA,CAAAA,CAAyBC,WAAO,CACpC,EAAA,CAAIC,UACJ,CAAA,IAAA,CAAMC,YACN,CAAA,MAAA,CAAQC,SAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,UAAO,EAAA,CACb,KAAMA,UAAO,EAAA,CACb,UAAWA,UAAO,EAAA,CAClB,IAAME,CAAAA,UAAAA,EAEN,CAAA,KAAA,CAAOC,aAASD,UAAO,EAAC,EACxB,MAAQC,CAAAA,YAAAA,CAASD,YAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,WAAO,CACxC,IAAA,CAAME,YACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,mBAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,mBAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,mBAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,YAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,sBAAmB,CAAA,OAAA,CAAS,CAEnDC,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,GAAUC,mBAA+BD,CAAAA,CAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,UAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,CAAAA,EAAUC,mBAA+BD,CAAAA,CAAK,CAAC","file":"chunk-BQ5WODME.cjs","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} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\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});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: StubFileMetadataSchema,\n }),\n]).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 })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {c as c$1,b as b$2,a}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {c as c$1,b as b$2,a}from'./chunk-WLGOABHV.js';import {b as b$1}from'./chunk-3N56ERWF.js';import {b,c}from'./chunk-WRHPQNEL.js';import {uuidv7}from'uuidv7';import {object,string,array,optional,uuid,nullable,number,record,any}from'zod';var u=object({id:uuid(),org_id:uuid(),organization:c$1,name:string(),description:optional(nullable(object({text:string(),json:record(string(),any())}))),default_role:c,visibility:b,actor_type_policy:optional(nullable(a)),source_policy:optional(nullable(b$2)),userMembership:optional(nullable(object({user_id:uuid(),role:c}))),memberCount:optional(nullable(number())),members:array(object({user_id:uuid(),role:c,added_at:string(),user:optional(nullable(b$1.partial()))})),created_at:string()}),w=u.extend({id:string().default(()=>uuidv7()),default_role:c.default("write").refine(m=>m==="read"||m==="write"),visibility:b.default("public").refine(m=>m==="public"||m==="organization"),created_at:string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),_=u.extend({userMembership:optional(nullable(object({user_id:uuid(),role:c}))),memberCount:number(),members:array(object({user_id:uuid(),role:c,added_at:string(),user:optional(nullable(b$1.partial()))})),organization:optional(nullable(c$1.partial())),assets:optional(nullable(array(record(string(),any())))),users:optional(nullable(array(b$1.partial())))}),M=array(_.extend({label:string(),value:string()})),P=u.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:uuid()});export{u as a,w as b,_ as c,M as d,P as e};//# sourceMappingURL=chunk-CF56NFUG.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-CF56NFUG.js.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","ReadTeamsSchema","UpdateTeamSchema"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/teams.ts"],"names":["TeamSchema","object","uuid","OrganizationsSchema","string","optional","nullable","record","any","RoleSchema","VisibilitySchema","ActorTypePolicySchema","SourcePolicySchema","number","array","ProfileSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","zodRecord","ReadTeamsSchema","UpdateTeamSchema"],"mappings":"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","file":"chunk-CF56NFUG.js","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 { 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: optional(\n nullable(array(zodRecord(string(), any())))\n ),\n users: optional(\n nullable(array(ProfileSchema.partial()))\n ),\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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var s={comment:{label:"Comments",userSubscribable:true,scope:"asset"},mention:{label:"Mentions",userSubscribable:true,scope:"asset"},reference:{label:"References",userSubscribable:true,scope:"asset"},reaction:{label:"Reactions",userSubscribable:true,scope:"asset"},share:{label:"Shares",userSubscribable:true,scope:"asset"},follow:{label:"Follows",userSubscribable:true,scope:"user"},action:{label:"Actions",userSubscribable:true,scope:"asset"},"asset.deleted":{label:"Asset deletions",userSubscribable:true,scope:"asset"},"new-conversation":{label:"Conversations",userSubscribable:true,scope:"conversation"},"new-message":{label:"Messages",userSubscribable:true,scope:"conversation"}},o=Object.keys(s),r=Object.entries(s).filter(([,e])=>e.userSubscribable).map(([e,t])=>({value:e,label:t.label}));export{s as a,o as b,r as c};//# sourceMappingURL=chunk-CIWFH5BJ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-CIWFH5BJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/events.ts"],"names":["WEBHOOK_EVENTS","WEBHOOK_EVENT_TYPES","USER_SUBSCRIBABLE_WEBHOOK_EVENTS","def","value"],"mappings":"AAkBO,IAAMA,CAAiB,CAAA,CAC5B,OAAS,CAAA,CACP,KAAO,CAAA,UAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,OAAA,CAAS,CACP,KAAA,CAAO,UACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,SAAW,CAAA,CACT,KAAO,CAAA,YAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,QAAA,CAAU,CACR,KAAA,CAAO,WACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,KAAO,CAAA,CACL,KAAO,CAAA,QAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,MAAA,CAAQ,CACN,KAAA,CAAO,SACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,MACT,CAAA,CACA,MAAQ,CAAA,CACN,KAAO,CAAA,SAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,eAAA,CAAiB,CACf,KAAA,CAAO,iBACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,kBAAoB,CAAA,CAClB,KAAO,CAAA,eAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,cACT,CACA,CAAA,aAAA,CAAe,CACb,KAAA,CAAO,UACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,cACT,CACF,CAIaC,CAAAA,CAAAA,CAAsB,MAAO,CAAA,IAAA,CACxCD,CACF,CAAA,CAEaE,CACX,CAAA,MAAA,CAAO,OAAQF,CAAAA,CAAc,CAK5B,CAAA,MAAA,CAAO,CAAC,EAAGG,CAAG,CAAMA,GAAAA,CAAAA,CAAI,gBAAgB,CAAA,CACxC,GAAI,CAAA,CAAC,CAACC,CAAAA,CAAOD,CAAG,CAAA,IAAO,CAAE,KAAA,CAAAC,CAAO,CAAA,KAAA,CAAOD,CAAI,CAAA,KAAM,CAAE,CAAA","file":"chunk-CIWFH5BJ.js","sourcesContent":["/**\n * Shared registry of webhook event types emitted by the Ouro platform.\n *\n * This is the single source of truth used by the backend (event dispatch),\n * the frontend (settings UI), the Python SDK (`ouro-py`), and the agent\n * runtime (`ouro-agents`). Adding a new event type means adding a single\n * entry here.\n */\n\nexport interface WebhookEventDefinition {\n /** Human-readable label rendered in the user-facing settings UI. */\n label: string;\n /** Whether users can subscribe to this event via a webhook URL. */\n userSubscribable: boolean;\n /** What kind of resource the event is bound to. Drives recipient resolution. */\n scope: \"asset\" | \"user\" | \"conversation\";\n}\n\nexport const WEBHOOK_EVENTS = {\n comment: {\n label: \"Comments\",\n userSubscribable: true,\n scope: \"asset\",\n },\n mention: {\n label: \"Mentions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n reference: {\n label: \"References\",\n userSubscribable: true,\n scope: \"asset\",\n },\n reaction: {\n label: \"Reactions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n share: {\n label: \"Shares\",\n userSubscribable: true,\n scope: \"asset\",\n },\n follow: {\n label: \"Follows\",\n userSubscribable: true,\n scope: \"user\",\n },\n action: {\n label: \"Actions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n \"asset.deleted\": {\n label: \"Asset deletions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n \"new-conversation\": {\n label: \"Conversations\",\n userSubscribable: true,\n scope: \"conversation\",\n },\n \"new-message\": {\n label: \"Messages\",\n userSubscribable: true,\n scope: \"conversation\",\n },\n} as const satisfies Record<string, WebhookEventDefinition>;\n\nexport type WebhookEventType = keyof typeof WEBHOOK_EVENTS;\n\nexport const WEBHOOK_EVENT_TYPES = Object.keys(\n WEBHOOK_EVENTS\n) as WebhookEventType[];\n\nexport const USER_SUBSCRIBABLE_WEBHOOK_EVENTS = (\n Object.entries(WEBHOOK_EVENTS) as [\n WebhookEventType,\n WebhookEventDefinition,\n ][]\n)\n .filter(([, def]) => def.userSubscribable)\n .map(([value, def]) => ({ value, label: def.label }));\n\nexport interface WebhookActor {\n id: string;\n username: string;\n is_agent: boolean;\n}\n\nexport interface WebhookAssetRef {\n id: string;\n type: string;\n}\n\nexport interface WebhookOrgRef {\n id: string;\n name: string;\n}\n\nexport interface WebhookTeamRef {\n id: string;\n name: string;\n}\n\n/**\n * Canonical envelope for every webhook event delivery.\n *\n * `data` is event-specific; consumers should branch on `event` and treat\n * `data` as a typed payload accordingly.\n */\nexport interface WebhookPayload<\n T extends WebhookEventType = WebhookEventType,\n D = unknown,\n> {\n /** Stable per-delivery UUID. Receivers should dedupe on this. */\n delivery_id: string;\n event: T;\n /** ISO timestamp of when the event was produced (not when it was sent). */\n timestamp: string;\n /** The recipient user_id this delivery is targeted at. */\n user_id: string;\n /** Correlated in-app notification id when there is exactly one. */\n notification_id?: string;\n /** Correlated in-app notification ids when an event covers multiple. */\n notification_ids?: string[];\n data: D;\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var s={comment:{label:"Comments",userSubscribable:true,scope:"asset"},mention:{label:"Mentions",userSubscribable:true,scope:"asset"},reference:{label:"References",userSubscribable:true,scope:"asset"},reaction:{label:"Reactions",userSubscribable:true,scope:"asset"},share:{label:"Shares",userSubscribable:true,scope:"asset"},follow:{label:"Follows",userSubscribable:true,scope:"user"},action:{label:"Actions",userSubscribable:true,scope:"asset"},"asset.deleted":{label:"Asset deletions",userSubscribable:true,scope:"asset"},"new-conversation":{label:"Conversations",userSubscribable:true,scope:"conversation"},"new-message":{label:"Messages",userSubscribable:true,scope:"conversation"}},o=Object.keys(s),r=Object.entries(s).filter(([,e])=>e.userSubscribable).map(([e,t])=>({value:e,label:t.label}));exports.a=s;exports.b=o;exports.c=r;//# sourceMappingURL=chunk-G24BRDHO.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-G24BRDHO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/events.ts"],"names":["WEBHOOK_EVENTS","WEBHOOK_EVENT_TYPES","USER_SUBSCRIBABLE_WEBHOOK_EVENTS","def","value"],"mappings":"aAkBO,IAAMA,CAAiB,CAAA,CAC5B,OAAS,CAAA,CACP,KAAO,CAAA,UAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,OAAA,CAAS,CACP,KAAA,CAAO,UACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,SAAW,CAAA,CACT,KAAO,CAAA,YAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,QAAA,CAAU,CACR,KAAA,CAAO,WACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,KAAO,CAAA,CACL,KAAO,CAAA,QAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,MAAA,CAAQ,CACN,KAAA,CAAO,SACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,MACT,CAAA,CACA,MAAQ,CAAA,CACN,KAAO,CAAA,SAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,OACT,CACA,CAAA,eAAA,CAAiB,CACf,KAAA,CAAO,iBACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,OACT,CAAA,CACA,kBAAoB,CAAA,CAClB,KAAO,CAAA,eAAA,CACP,gBAAkB,CAAA,IAAA,CAClB,KAAO,CAAA,cACT,CACA,CAAA,aAAA,CAAe,CACb,KAAA,CAAO,UACP,CAAA,gBAAA,CAAkB,IAClB,CAAA,KAAA,CAAO,cACT,CACF,CAIaC,CAAAA,CAAAA,CAAsB,MAAO,CAAA,IAAA,CACxCD,CACF,CAAA,CAEaE,CACX,CAAA,MAAA,CAAO,OAAQF,CAAAA,CAAc,CAK5B,CAAA,MAAA,CAAO,CAAC,EAAGG,CAAG,CAAMA,GAAAA,CAAAA,CAAI,gBAAgB,CAAA,CACxC,GAAI,CAAA,CAAC,CAACC,CAAAA,CAAOD,CAAG,CAAA,IAAO,CAAE,KAAA,CAAAC,CAAO,CAAA,KAAA,CAAOD,CAAI,CAAA,KAAM,CAAE,CAAA","file":"chunk-G24BRDHO.cjs","sourcesContent":["/**\n * Shared registry of webhook event types emitted by the Ouro platform.\n *\n * This is the single source of truth used by the backend (event dispatch),\n * the frontend (settings UI), the Python SDK (`ouro-py`), and the agent\n * runtime (`ouro-agents`). Adding a new event type means adding a single\n * entry here.\n */\n\nexport interface WebhookEventDefinition {\n /** Human-readable label rendered in the user-facing settings UI. */\n label: string;\n /** Whether users can subscribe to this event via a webhook URL. */\n userSubscribable: boolean;\n /** What kind of resource the event is bound to. Drives recipient resolution. */\n scope: \"asset\" | \"user\" | \"conversation\";\n}\n\nexport const WEBHOOK_EVENTS = {\n comment: {\n label: \"Comments\",\n userSubscribable: true,\n scope: \"asset\",\n },\n mention: {\n label: \"Mentions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n reference: {\n label: \"References\",\n userSubscribable: true,\n scope: \"asset\",\n },\n reaction: {\n label: \"Reactions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n share: {\n label: \"Shares\",\n userSubscribable: true,\n scope: \"asset\",\n },\n follow: {\n label: \"Follows\",\n userSubscribable: true,\n scope: \"user\",\n },\n action: {\n label: \"Actions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n \"asset.deleted\": {\n label: \"Asset deletions\",\n userSubscribable: true,\n scope: \"asset\",\n },\n \"new-conversation\": {\n label: \"Conversations\",\n userSubscribable: true,\n scope: \"conversation\",\n },\n \"new-message\": {\n label: \"Messages\",\n userSubscribable: true,\n scope: \"conversation\",\n },\n} as const satisfies Record<string, WebhookEventDefinition>;\n\nexport type WebhookEventType = keyof typeof WEBHOOK_EVENTS;\n\nexport const WEBHOOK_EVENT_TYPES = Object.keys(\n WEBHOOK_EVENTS\n) as WebhookEventType[];\n\nexport const USER_SUBSCRIBABLE_WEBHOOK_EVENTS = (\n Object.entries(WEBHOOK_EVENTS) as [\n WebhookEventType,\n WebhookEventDefinition,\n ][]\n)\n .filter(([, def]) => def.userSubscribable)\n .map(([value, def]) => ({ value, label: def.label }));\n\nexport interface WebhookActor {\n id: string;\n username: string;\n is_agent: boolean;\n}\n\nexport interface WebhookAssetRef {\n id: string;\n type: string;\n}\n\nexport interface WebhookOrgRef {\n id: string;\n name: string;\n}\n\nexport interface WebhookTeamRef {\n id: string;\n name: string;\n}\n\n/**\n * Canonical envelope for every webhook event delivery.\n *\n * `data` is event-specific; consumers should branch on `event` and treat\n * `data` as a typed payload accordingly.\n */\nexport interface WebhookPayload<\n T extends WebhookEventType = WebhookEventType,\n D = unknown,\n> {\n /** Stable per-delivery UUID. Receivers should dedupe on this. */\n delivery_id: string;\n event: T;\n /** ISO timestamp of when the event was produced (not when it was sent). */\n timestamp: string;\n /** The recipient user_id this delivery is targeted at. */\n user_id: string;\n /** Correlated in-app notification id when there is exactly one. */\n notification_id?: string;\n /** Correlated in-app notification ids when an event covers multiple. */\n notification_ids?: string[];\n data: D;\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-CF56NFUG.js';import {c}from'./chunk-WLGOABHV.js';import {b as b$2}from'./chunk-3N56ERWF.js';import {k,j,d,b as b$1,a,e}from'./chunk-WRHPQNEL.js';import {b as b$3,c as c$1}from'./chunk-DUBPWSCA.js';import {object,optional,enum as _enum,nullable,string,uuid,array,record,any,number}from'zod';import {uuidv7}from'uuidv7';var x=r=>r.org_id===b$3&&r.visibility==="organization"?{...r,visibility:"public"}:r,C=object({doi_url:optional(nullable(string())),external_url:optional(nullable(string())),paper_url:optional(nullable(string())),github_url:optional(nullable(string())),originality:_enum(["original","derivative","third-party"]),source:optional(nullable(string())),reply_to_comment_id:optional(nullable(string()))}),b=object({id:uuid(),user_id:uuid(),user:optional(b$2.partial()),org_id:uuid(),organization:optional(c.partial()),team_id:uuid(),team:optional(a$1.partial()),parent_id:optional(nullable(uuid())),parent:optional(record(string(),any())),license_id:string(),license:optional(record(string(),any())),asset_type:a,name:string(),name_url_slug:optional(nullable(string())),slug:optional(nullable(string())),description:optional(nullable(object({json:record(string(),any()),text:string()}))),visibility:b$1,monetization:d,price:optional(nullable(number())),unit_cost:optional(nullable(number())),cost_accounting:optional(nullable(_enum(["fixed","variable"]))),cost_unit:optional(nullable(string())),price_currency:optional(e),stripe_product_id:optional(nullable(string())),stripe_price_id:optional(nullable(string())),stripe_meter_id:optional(nullable(string())),metadata:optional(nullable(C)),preview:optional(nullable(array(record(string(),any())))),state:j,source:k,created_at:string(),last_updated:string()}),G=b.partial().omit({user_id:true,user:true,organization:true,license:true,team:true,slug:true}).extend({id:uuid().default(()=>uuidv7()),team_id:nullable(uuid()).default(c$1),org_id:nullable(uuid()).default(b$3),name:string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:optional(nullable(string())),state:j.optional().default("success"),source:k.default("web"),visibility:b$1.optional().default("public"),created_at:string().default(()=>new Date().toISOString()),last_updated:string().default(()=>new Date().toISOString())}),P=b.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true}).transform(r=>x(r));export{x as a,C as b,b as c,G as d,P as e};//# sourceMappingURL=chunk-G2MXCB7Q.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-G2MXCB7Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/assets.ts"],"names":["normalizeAssetConfigForParsing","input","GLOBAL_ORG_ID","AssetMetadataSchema","object","optional","nullable","string","zodEnum","AssetSchema","uuid","ProfileSchema","OrganizationsSchema","TeamSchema","record","any","AssetTypeSchema","VisibilitySchema","MonetizationSchema","number","PriceCurrencySchema","array","StatusSchema","SourceSchema","CreateAssetSchema","uuidv7","GLOBAL_TEAM_ID","UpdateAssetSchema","value"],"mappings":"4VAiCMA,IAAAA,CAAAA,CACJC,GAEIA,CAAM,CAAA,MAAA,GAAWC,KAAiBD,CAAM,CAAA,UAAA,GAAe,cAClD,CAAA,CAAE,GAAGA,CAAAA,CAAO,WAAY,QAA4B,CAAA,CAEtDA,CAGHE,CAAAA,CAAAA,CAAsBC,MAAO,CAAA,CACjC,QAASC,QAASC,CAAAA,QAAAA,CAASC,MAAO,EAAC,CAAC,CAAA,CACpC,aAAcF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,EACzC,SAAWF,CAAAA,QAAAA,CAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,EACtC,UAAYF,CAAAA,QAAAA,CAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,EACvC,WAAaC,CAAAA,KAAAA,CAAQ,CAAC,UAAA,CAAY,YAAc,CAAA,aAAa,CAAC,CAC9D,CAAA,MAAA,CAAQH,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CAEnC,mBAAqBF,CAAAA,QAAAA,CAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAClD,CAAC,CAAA,CAEKE,CAAcL,CAAAA,MAAAA,CAAO,CACzB,EAAIM,CAAAA,IAAAA,EACJ,CAAA,OAAA,CAASA,IAAK,EAAA,CACd,KAAML,QAASM,CAAAA,GAAAA,CAAc,SAAS,CAAA,CACtC,OAAQD,IAAK,EAAA,CACb,YAAcL,CAAAA,QAAAA,CAASO,CAAoB,CAAA,OAAA,EAAS,CACpD,CAAA,OAAA,CAASF,IAAK,EAAA,CACd,IAAML,CAAAA,QAAAA,CAASQ,IAAW,OAAQ,EAAC,CACnC,CAAA,SAAA,CAAWR,QAASC,CAAAA,QAAAA,CAASI,MAAM,CAAC,EACpC,MAAQL,CAAAA,QAAAA,CAASS,OAAOP,MAAO,EAAA,CAAGQ,GAAI,EAAC,CAAC,CAAA,CACxC,WAAYR,MAAO,EAAA,CACnB,OAASF,CAAAA,QAAAA,CAASS,MAAOP,CAAAA,MAAAA,GAAUQ,GAAI,EAAC,CAAC,CAAA,CACzC,UAAYC,CAAAA,CAAAA,CACZ,KAAMT,MAAO,EAAA,CACb,cAAeF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CAC1C,CAAA,IAAA,CAAMF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CAEjC,CAAA,WAAA,CAAaF,QACXC,CAAAA,QAAAA,CACEF,OAAO,CACL,IAAA,CAAMU,MAAOP,CAAAA,MAAAA,EAAUQ,CAAAA,GAAAA,EAAK,CAC5B,CAAA,IAAA,CAAMR,QACR,CAAC,CACH,CACF,CAAA,CACA,UAAYU,CAAAA,GAAAA,CACZ,YAAcC,CAAAA,CAAAA,CACd,MAAOb,QAASC,CAAAA,QAAAA,CAASa,MAAO,EAAC,CAAC,CAAA,CAClC,UAAWd,QAASC,CAAAA,QAAAA,CAASa,MAAO,EAAC,CAAC,CAAA,CACtC,gBAAiBd,QAASC,CAAAA,QAAAA,CAASE,MAAQ,CAAC,OAAA,CAAS,UAAU,CAAC,CAAC,CAAC,CAAA,CAClE,SAAWH,CAAAA,QAAAA,CAASC,SAASC,MAAO,EAAC,CAAC,CACtC,CAAA,cAAA,CAAgBF,SAASe,CAAmB,CAAA,CAC5C,iBAAmBf,CAAAA,QAAAA,CAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CAC9C,gBAAiBF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CAC5C,CAAA,eAAA,CAAiBF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CAC5C,CAAA,QAAA,CAAUF,QAASC,CAAAA,QAAAA,CAASH,CAAmB,CAAC,CAAA,CAChD,OAASE,CAAAA,QAAAA,CAASC,QAASe,CAAAA,KAAAA,CAAMP,OAAOP,MAAO,EAAA,CAAGQ,KAAK,CAAC,CAAC,CAAC,CAAA,CAC1D,KAAOO,CAAAA,CAAAA,CACP,MAAQC,CAAAA,CAAAA,CACR,WAAYhB,MAAO,EAAA,CACnB,YAAcA,CAAAA,MAAAA,EAChB,CAAC,EAEKiB,CAAoBf,CAAAA,CAAAA,CAAY,OAAQ,EAAA,CAC3C,IAAK,CAAA,CACJ,QAAS,IACT,CAAA,IAAA,CAAM,KACN,YAAc,CAAA,IAAA,CACd,QAAS,IACT,CAAA,IAAA,CAAM,IACN,CAAA,IAAA,CAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,EAAIC,CAAAA,IAAAA,EAAO,CAAA,OAAA,CAAQ,IAAMe,MAAO,EAAC,CACjC,CAAA,OAAA,CAASnB,QAASI,CAAAA,IAAAA,EAAM,CACrB,CAAA,OAAA,CAAQgB,GAAc,CACzB,CAAA,MAAA,CAAQpB,SAASI,IAAK,EAAC,CACpB,CAAA,OAAA,CAAQR,GAAa,CAAA,CACxB,KAAMK,MAAO,EAAA,CACV,GAAI,CAAA,CAAA,CAAG,CAAE,OAAA,CAAS,sBAAuB,CAAC,CAAA,CAC1C,GAAI,CAAA,GAAA,CAAK,CAAE,OAAA,CAAS,uCAAwC,CAAC,CAAA,CAChE,cAAeF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CAC1C,CAAA,KAAA,CAAOe,CAAa,CAAA,QAAA,GAAW,OAAQ,CAAA,SAAS,CAChD,CAAA,MAAA,CAAQC,CAAa,CAAA,OAAA,CAAQ,KAAK,CAClC,CAAA,UAAA,CAAYN,GAAiB,CAAA,QAAA,EAAW,CAAA,OAAA,CAAQ,QAAQ,CACxD,CAAA,UAAA,CAAYV,QAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAAA,CAC3D,aAAcA,MAAO,EAAA,CAAE,OAAQ,CAAA,IAAM,IAAI,IAAA,GAAO,WAAY,EAAC,CAC/D,CAAC,CAEGoB,CAAAA,CAAAA,CAAoBlB,EAAY,OAAQ,EAAA,CAAE,KAAK,CACnD,EAAA,CAAI,KACJ,OAAS,CAAA,IAAA,CACT,UAAY,CAAA,IAAA,CACZ,IAAM,CAAA,IAAA,CACN,aAAc,IACd,CAAA,IAAA,CAAM,IACN,CAAA,IAAA,CAAM,IACR,CAAC,EAAE,SAAWmB,CAAAA,CAAAA,EAAU5B,CAA+B4B,CAAAA,CAAK,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/assets.ts"],"names":["normalizeAssetConfigForParsing","input","GLOBAL_ORG_ID","AssetMetadataSchema","object","optional","nullable","string","zodEnum","AssetSchema","uuid","ProfileSchema","OrganizationsSchema","TeamSchema","record","any","AssetTypeSchema","VisibilitySchema","MonetizationSchema","number","PriceCurrencySchema","array","StatusSchema","SourceSchema","CreateAssetSchema","uuidv7","GLOBAL_TEAM_ID","UpdateAssetSchema","value"],"mappings":"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","file":"chunk-G2MXCB7Q.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n enum as zodEnum,\n nullable,\n optional,\n record,\n type z,\n any\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n PriceCurrencySchema,\n StatusSchema,\n SourceSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\nimport { GLOBAL_ORG_ID, GLOBAL_TEAM_ID } from \"./constants\";\n\ntype AssetConfigInput = {\n org_id?: string | null;\n visibility?: z.infer<typeof VisibilitySchema> | null;\n};\n\nconst normalizeAssetConfigForParsing = <T extends AssetConfigInput>(\n input: T\n): T => {\n if (input.org_id === GLOBAL_ORG_ID && input.visibility === \"organization\") {\n return { ...input, visibility: \"public\" as T[\"visibility\"] };\n }\n return input;\n};\n\nconst AssetMetadataSchema = object({\n doi_url: optional(nullable(string())),\n external_url: optional(nullable(string())),\n paper_url: optional(nullable(string())),\n github_url: optional(nullable(string())),\n originality: zodEnum([\"original\", \"derivative\", \"third-party\"]),\n source: optional(nullable(string())),\n /** When present on a comment, the id of the comment the user directly replied to (for reply-to-reply; parent_id is the top-level comment). */\n reply_to_comment_id: optional(nullable(string())),\n})\n\nconst AssetSchema = object({\n id: uuid(),\n user_id: uuid(),\n user: optional(ProfileSchema.partial()),\n org_id: uuid(),\n organization: optional(OrganizationsSchema.partial()),\n team_id: uuid(),\n team: optional(TeamSchema.partial()),\n parent_id: optional(nullable(uuid())),\n parent: optional(record(string(), any())),\n license_id: string(),\n license: optional(record(string(), any())),\n asset_type: AssetTypeSchema,\n name: string(),\n name_url_slug: optional(nullable(string())),\n slug: optional(nullable(string())),\n // Rich description: store both editor json and plain text\n description: optional(\n nullable(\n object({\n json: record(string(), any()),\n text: string(),\n })\n )\n ),\n visibility: VisibilitySchema,\n monetization: MonetizationSchema,\n price: optional(nullable(number())),\n unit_cost: optional(nullable(number())),\n cost_accounting: optional(nullable(zodEnum([\"fixed\", \"variable\"]))),\n cost_unit: optional(nullable(string())),\n price_currency: optional(PriceCurrencySchema),\n stripe_product_id: optional(nullable(string())),\n stripe_price_id: optional(nullable(string())),\n stripe_meter_id: optional(nullable(string())),\n metadata: optional(nullable(AssetMetadataSchema)),\n preview: optional(nullable(array(record(string(), any())))),\n state: StatusSchema,\n source: SourceSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst CreateAssetSchema = AssetSchema.partial()\n .omit({\n user_id: true,\n user: true,\n organization: true,\n license: true,\n team: true,\n slug: true,\n })\n .extend({\n id: uuid().default(() => uuidv7()),\n team_id: nullable(uuid())\n .default(GLOBAL_TEAM_ID),\n org_id: nullable(uuid())\n .default(GLOBAL_ORG_ID),\n name: string()\n .min(1, { message: \"Name cannot be empty\" })\n .max(255, { message: \"Name must be less than 255 characters\" }),\n name_url_slug: optional(nullable(string())),\n state: StatusSchema.optional().default(\"success\"),\n source: SourceSchema.default(\"web\"),\n visibility: VisibilitySchema.optional().default(\"public\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nconst UpdateAssetSchema = AssetSchema.partial().omit({\n id: true,\n user_id: true,\n created_at: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n UpdateAssetSchema,\n normalizeAssetConfigForParsing,\n};\nexport type AssetMetadata = z.infer<typeof AssetMetadataSchema>;\nexport type Asset = z.infer<typeof AssetSchema>;\nexport type CreateAsset = z.infer<typeof CreateAssetSchema>;\nexport type UpdateAsset = z.infer<typeof UpdateAssetSchema>;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkUY43EQTO_cjs=require('./chunk-UY43EQTO.cjs'),chunkVOY623ZD_cjs=require('./chunk-VOY623ZD.cjs'),chunkGY6SLMMJ_cjs=require('./chunk-GY6SLMMJ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),chunk7HF5VHUN_cjs=require('./chunk-7HF5VHUN.cjs'),zod=require('zod'),uuidv7=require('uuidv7');var x=r=>r.org_id===chunk7HF5VHUN_cjs.b&&r.visibility==="organization"?{...r,visibility:"public"}:r,C=zod.object({doi_url:zod.optional(zod.nullable(zod.string())),external_url:zod.optional(zod.nullable(zod.string())),paper_url:zod.optional(zod.nullable(zod.string())),github_url:zod.optional(zod.nullable(zod.string())),originality:zod.enum(["original","derivative","third-party"]),source:zod.optional(zod.nullable(zod.string())),reply_to_comment_id:zod.optional(zod.nullable(zod.string()))}),b=zod.object({id:zod.uuid(),user_id:zod.uuid(),user:zod.optional(chunkGY6SLMMJ_cjs.b.partial()),org_id:zod.uuid(),organization:zod.optional(chunkVOY623ZD_cjs.c.partial()),team_id:zod.uuid(),team:zod.optional(chunkUY43EQTO_cjs.a.partial()),parent_id:zod.optional(zod.nullable(zod.uuid())),parent:zod.optional(zod.record(zod.string(),zod.any())),license_id:zod.string(),license:zod.optional(zod.record(zod.string(),zod.any())),asset_type:chunk43KB23BA_cjs.a,name:zod.string(),name_url_slug:zod.optional(zod.nullable(zod.string())),slug:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.object({json:zod.record(zod.string(),zod.any()),text:zod.string()}))),visibility:chunk43KB23BA_cjs.b,monetization:chunk43KB23BA_cjs.d,price:zod.optional(zod.nullable(zod.number())),unit_cost:zod.optional(zod.nullable(zod.number())),cost_accounting:zod.optional(zod.nullable(zod.enum(["fixed","variable"]))),cost_unit:zod.optional(zod.nullable(zod.string())),price_currency:zod.optional(chunk43KB23BA_cjs.e),stripe_product_id:zod.optional(zod.nullable(zod.string())),stripe_price_id:zod.optional(zod.nullable(zod.string())),stripe_meter_id:zod.optional(zod.nullable(zod.string())),metadata:zod.optional(zod.nullable(C)),preview:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),state:chunk43KB23BA_cjs.j,source:chunk43KB23BA_cjs.k,created_at:zod.string(),last_updated:zod.string()}),G=b.partial().omit({user_id:true,user:true,organization:true,license:true,team:true,slug:true}).extend({id:zod.uuid().default(()=>uuidv7.uuidv7()),team_id:zod.nullable(zod.uuid()).default(chunk7HF5VHUN_cjs.c),org_id:zod.nullable(zod.uuid()).default(chunk7HF5VHUN_cjs.b),name:zod.string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:zod.optional(zod.nullable(zod.string())),state:chunk43KB23BA_cjs.j.optional().default("success"),source:chunk43KB23BA_cjs.k.default("web"),visibility:chunk43KB23BA_cjs.b.optional().default("public"),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}),P=b.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true}).transform(r=>x(r));exports.a=x;exports.b=C;exports.c=b;exports.d=G;exports.e=P;//# sourceMappingURL=chunk-IP4OVRZB.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-IP4OVRZB.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/assets.ts"],"names":["normalizeAssetConfigForParsing","input","GLOBAL_ORG_ID","AssetMetadataSchema","object","optional","nullable","string","zodEnum","AssetSchema","uuid","ProfileSchema","OrganizationsSchema","TeamSchema","record","any","AssetTypeSchema","VisibilitySchema","MonetizationSchema","number","PriceCurrencySchema","array","StatusSchema","SourceSchema","CreateAssetSchema","uuidv7","GLOBAL_TEAM_ID","UpdateAssetSchema","value"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/schema/assets.ts"],"names":["normalizeAssetConfigForParsing","input","GLOBAL_ORG_ID","AssetMetadataSchema","object","optional","nullable","string","zodEnum","AssetSchema","uuid","ProfileSchema","OrganizationsSchema","TeamSchema","record","any","AssetTypeSchema","VisibilitySchema","MonetizationSchema","number","PriceCurrencySchema","array","StatusSchema","SourceSchema","CreateAssetSchema","uuidv7","GLOBAL_TEAM_ID","UpdateAssetSchema","value"],"mappings":"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","file":"chunk-IP4OVRZB.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n enum as zodEnum,\n nullable,\n optional,\n record,\n type z,\n any\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n PriceCurrencySchema,\n StatusSchema,\n SourceSchema,\n VisibilitySchema,\n} from \"./common\";\nimport { OrganizationsSchema } from \"./organizations\";\nimport { TeamSchema } from \"./teams\";\nimport { ProfileSchema } from \"./users\";\nimport { uuidv7 } from \"uuidv7\";\nimport { GLOBAL_ORG_ID, GLOBAL_TEAM_ID } from \"./constants\";\n\ntype AssetConfigInput = {\n org_id?: string | null;\n visibility?: z.infer<typeof VisibilitySchema> | null;\n};\n\nconst normalizeAssetConfigForParsing = <T extends AssetConfigInput>(\n input: T\n): T => {\n if (input.org_id === GLOBAL_ORG_ID && input.visibility === \"organization\") {\n return { ...input, visibility: \"public\" as T[\"visibility\"] };\n }\n return input;\n};\n\nconst AssetMetadataSchema = object({\n doi_url: optional(nullable(string())),\n external_url: optional(nullable(string())),\n paper_url: optional(nullable(string())),\n github_url: optional(nullable(string())),\n originality: zodEnum([\"original\", \"derivative\", \"third-party\"]),\n source: optional(nullable(string())),\n /** When present on a comment, the id of the comment the user directly replied to (for reply-to-reply; parent_id is the top-level comment). */\n reply_to_comment_id: optional(nullable(string())),\n})\n\nconst AssetSchema = object({\n id: uuid(),\n user_id: uuid(),\n user: optional(ProfileSchema.partial()),\n org_id: uuid(),\n organization: optional(OrganizationsSchema.partial()),\n team_id: uuid(),\n team: optional(TeamSchema.partial()),\n parent_id: optional(nullable(uuid())),\n parent: optional(record(string(), any())),\n license_id: string(),\n license: optional(record(string(), any())),\n asset_type: AssetTypeSchema,\n name: string(),\n name_url_slug: optional(nullable(string())),\n slug: optional(nullable(string())),\n // Rich description: store both editor json and plain text\n description: optional(\n nullable(\n object({\n json: record(string(), any()),\n text: string(),\n })\n )\n ),\n visibility: VisibilitySchema,\n monetization: MonetizationSchema,\n price: optional(nullable(number())),\n unit_cost: optional(nullable(number())),\n cost_accounting: optional(nullable(zodEnum([\"fixed\", \"variable\"]))),\n cost_unit: optional(nullable(string())),\n price_currency: optional(PriceCurrencySchema),\n stripe_product_id: optional(nullable(string())),\n stripe_price_id: optional(nullable(string())),\n stripe_meter_id: optional(nullable(string())),\n metadata: optional(nullable(AssetMetadataSchema)),\n preview: optional(nullable(array(record(string(), any())))),\n state: StatusSchema,\n source: SourceSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst CreateAssetSchema = AssetSchema.partial()\n .omit({\n user_id: true,\n user: true,\n organization: true,\n license: true,\n team: true,\n slug: true,\n })\n .extend({\n id: uuid().default(() => uuidv7()),\n team_id: nullable(uuid())\n .default(GLOBAL_TEAM_ID),\n org_id: nullable(uuid())\n .default(GLOBAL_ORG_ID),\n name: string()\n .min(1, { message: \"Name cannot be empty\" })\n .max(255, { message: \"Name must be less than 255 characters\" }),\n name_url_slug: optional(nullable(string())),\n state: StatusSchema.optional().default(\"success\"),\n source: SourceSchema.default(\"web\"),\n visibility: VisibilitySchema.optional().default(\"public\"),\n created_at: string().default(() => new Date().toISOString()),\n last_updated: string().default(() => new Date().toISOString()),\n });\n\nconst UpdateAssetSchema = AssetSchema.partial().omit({\n id: true,\n user_id: true,\n created_at: true,\n user: true,\n organization: true,\n team: true,\n slug: true,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n UpdateAssetSchema,\n normalizeAssetConfigForParsing,\n};\nexport type AssetMetadata = z.infer<typeof AssetMetadataSchema>;\nexport type Asset = z.infer<typeof AssetSchema>;\nexport type CreateAsset = z.infer<typeof CreateAssetSchema>;\nexport type UpdateAsset = z.infer<typeof UpdateAssetSchema>;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkIP4OVRZB_cjs=require('./chunk-IP4OVRZB.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),zod=require('zod');var Q=zod.enum(["closable","continuous"]),v=zod.enum(["draft","open","closed","cancelled"]),_=zod.enum(["pending","in_progress","done","skipped"]),g=zod.enum(["btc","usd"]),E=zod.enum(["skipped","running","passed","failed","errored"]),w=zod.enum(["submitted","accepted","rejected"]),b=zod.object({type:zod.string(),content:zod.optional(zod.array(zod.any())),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.any())),text:zod.optional(zod.string())}),d=zod.object({json:zod.object({type:zod.literal("doc"),content:zod.array(b)}),text:zod.string()}),C=zod.object({id:zod.uuid(),quest_id:zod.uuid(),description:zod.string(),status:_.default("pending"),auto_skipped:zod.optional(zod.nullable(zod.string().or(zod.any()))),status_before_auto_skip:zod.optional(zod.nullable(_)),sort_order:zod.number().default(0),type:zod.string().default("task"),created_by:zod.uuid(),assignee_id:zod.optional(zod.nullable(zod.uuid())),expected_asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),reward_xp:zod.number().int().nonnegative().default(0),reward_currency:g.default("btc"),reward_amount:zod.number().int().nonnegative().default(0),child_quest_id:zod.optional(zod.nullable(zod.uuid())),completed_entry_id:zod.optional(zod.nullable(zod.uuid())),eval_route_id:zod.optional(zod.nullable(zod.uuid())),eval_score_path:zod.optional(zod.nullable(zod.string())),eval_pass_min:zod.optional(zod.nullable(zod.number())),eval_pass_max:zod.optional(zod.nullable(zod.number())),eval_input_key:zod.optional(zod.nullable(zod.string())),notes:zod.optional(zod.nullable(zod.string())),created_at:zod.string(),updated_at:zod.string()}),I=C,l=zod.object({description:zod.string().min(1,{message:"Item description cannot be empty"}),type:zod.optional(zod.string()).default("task"),sort_order:zod.optional(zod.number().int()),assignee_id:zod.optional(zod.nullable(zod.uuid())),expected_asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),reward_xp:zod.optional(zod.number().int().nonnegative()).default(0),reward_currency:zod.optional(g).default("btc"),reward_amount:zod.optional(zod.number().int().nonnegative()).default(0),child_quest_id:zod.optional(zod.nullable(zod.uuid())),eval_route_id:zod.optional(zod.nullable(zod.uuid())),eval_score_path:zod.optional(zod.nullable(zod.string())),eval_pass_min:zod.optional(zod.nullable(zod.number())),eval_pass_max:zod.optional(zod.nullable(zod.number())),eval_input_key:zod.optional(zod.nullable(zod.string())),notes:zod.optional(zod.nullable(zod.string()))}),q=zod.union([zod.string().transform(p=>({description:p})),l]).pipe(l),k=zod.object({type:Q.default("closable"),status:v.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),closed_at:zod.optional(zod.nullable(zod.string()))}),T=chunkIP4OVRZB_cjs.c.extend({asset_type:zod.literal("quest").default("quest"),metadata:zod.optional(zod.nullable(chunkIP4OVRZB_cjs.b.partial())),quest:zod.optional(k.partial()),items:zod.optional(zod.array(I.partial())),progress:zod.optional(zod.object({total:zod.number(),done:zod.number(),remaining:zod.number()}))}),A=chunkIP4OVRZB_cjs.d.extend({asset_type:zod.literal("quest").default("quest"),name:zod.optional(zod.nullable(zod.string())).default(null),description:zod.optional(zod.nullable(d)),type:Q.default("closable"),status:v.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),items:zod.optional(zod.array(q)).default([])}).transform(p=>chunkIP4OVRZB_cjs.a(p)),O=T.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}).extend({asset_type:zod.literal("quest").default("quest"),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(p=>chunkIP4OVRZB_cjs.a(p)),Z=l.partial().extend({status:zod.optional(_)}),B=zod.object({id:zod.uuid(),quest_id:zod.uuid(),user_id:zod.uuid(),item_id:zod.optional(zod.nullable(zod.uuid())),asset_id:zod.optional(zod.nullable(zod.uuid())),asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),description:zod.optional(zod.nullable(d)),review:zod.optional(zod.nullable(d)),status:w,reviewer_id:zod.optional(zod.nullable(zod.uuid())),reviewed_at:zod.optional(zod.nullable(zod.string())),eval_action_id:zod.optional(zod.nullable(zod.uuid())),eval_score:zod.optional(zod.nullable(zod.number())),eval_status:zod.optional(zod.nullable(E)),created_at:zod.string(),updated_at:zod.string()}),D=zod.object({item_id:zod.optional(zod.nullable(zod.uuid())),asset_id:zod.optional(zod.nullable(zod.uuid())),asset_type:zod.optional(zod.nullable(chunk43KB23BA_cjs.a)),description:zod.optional(zod.nullable(zod.union([zod.string(),d])))}),F=zod.object({status:zod.enum(["accepted","rejected"]),review:zod.optional(zod.nullable(zod.union([zod.string(),d])))});exports.a=Q;exports.b=v;exports.c=_;exports.d=g;exports.e=E;exports.f=w;exports.g=C;exports.h=I;exports.i=l;exports.j=q;exports.k=T;exports.l=A;exports.m=O;exports.n=Z;exports.o=B;exports.p=D;exports.q=F;//# sourceMappingURL=chunk-IU7AKVYI.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-IU7AKVYI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/quests.ts"],"names":["QuestTypeSchema","zodEnum","QuestStatusSchema","QuestItemStatusSchema","RewardCurrencySchema","EntryEvalStatusSchema","EntryStatusSchema","TipTapNode","object","string","optional","array","any","record","ContentSchema","literal","QuestItemBaseSchema","uuid","nullable","number","AssetTypeSchema","QuestItemSchema","CreateQuestItemObjectSchema","CreateQuestItemSchema","union","s","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-IU7AKVYI.cjs","sourcesContent":["import {\n object,\n string,\n number,\n array,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n union,\n uuid,\n 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\";\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\nconst QuestTypeSchema = zodEnum([\"closable\", \"continuous\"]);\nconst QuestStatusSchema = zodEnum([\n \"draft\",\n \"open\",\n \"closed\",\n \"cancelled\",\n]);\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([\n \"submitted\",\n \"accepted\",\n \"rejected\",\n]);\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: string(),\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 completed_entry_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n eval_input_key: optional(nullable(string())),\n notes: optional(nullable(string())),\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 as a convenience — it's lifted\n * into `{ description }` by the `union` below.\n */\nconst CreateQuestItemObjectSchema = object({\n description: string().min(1, { message: \"Item description cannot be empty\" }),\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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n eval_input_key: optional(nullable(string())),\n notes: optional(nullable(string())),\n});\n\nconst CreateQuestItemSchema = union([\n string().transform((s) => ({ description: s })),\n CreateQuestItemObjectSchema,\n]).pipe(CreateQuestItemObjectSchema);\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 // `read /quests/:id` returns the quest specifics nested under `quest`\n // and hoists items to the top level for convenience.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n done: number(),\n remaining: number(),\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 or full item objects —\n * the backend `createQuestItems`/`createQuest` paths already handle both\n * shapes, and `CreateQuestItemSchema` normalizes strings into\n * `{ 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 })\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 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_status: optional(nullable(EntryEvalStatusSchema)),\n created_at: string(),\n updated_at: string(),\n});\n\nconst CreateEntrySchema = object({\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\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 QuestTypeSchema,\n QuestStatusSchema,\n QuestItemStatusSchema,\n RewardCurrencySchema,\n EntryEvalStatusSchema,\n EntryStatusSchema,\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 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"]}
|