@ourofoundation/ouro-js 3.8.3 → 3.8.5
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/.github/workflows/publish.yml +63 -0
- package/dist/chunk-33ELNWOX.js +2 -0
- package/dist/chunk-33ELNWOX.js.map +1 -0
- package/dist/chunk-3PRQXWQP.js +2 -0
- package/dist/chunk-3PRQXWQP.js.map +1 -0
- package/dist/chunk-4276I2OP.js +2 -0
- package/dist/chunk-4276I2OP.js.map +1 -0
- package/dist/chunk-4AEKCY33.js +2 -0
- package/dist/chunk-4AEKCY33.js.map +1 -0
- package/dist/{chunk-KU5AWMS5.cjs → chunk-5PWVQ2XA.cjs} +2 -2
- package/dist/{chunk-KU5AWMS5.cjs.map → chunk-5PWVQ2XA.cjs.map} +1 -1
- package/dist/{chunk-RMMMRN4X.cjs → chunk-6DNS4QKU.cjs} +2 -2
- package/dist/{chunk-RMMMRN4X.cjs.map → chunk-6DNS4QKU.cjs.map} +1 -1
- package/dist/{chunk-AIIAIQ6L.cjs → chunk-BR3QVFVE.cjs} +2 -2
- package/dist/{chunk-AIIAIQ6L.cjs.map → chunk-BR3QVFVE.cjs.map} +1 -1
- package/dist/{chunk-OCG3P3PJ.js → chunk-BWUPF76F.js} +2 -2
- package/dist/{chunk-OCG3P3PJ.js.map → chunk-BWUPF76F.js.map} +1 -1
- package/dist/{chunk-LXDNBUOU.js → chunk-BYYDLMAE.js} +2 -2
- package/dist/{chunk-LXDNBUOU.js.map → chunk-BYYDLMAE.js.map} +1 -1
- package/dist/chunk-CZMKRHO4.cjs +2 -0
- package/dist/chunk-CZMKRHO4.cjs.map +1 -0
- package/dist/chunk-D6JWKEY5.cjs +2 -0
- package/dist/chunk-D6JWKEY5.cjs.map +1 -0
- package/dist/chunk-DA7VOYUY.js +2 -0
- package/dist/{chunk-FGEMQEEM.js.map → chunk-DA7VOYUY.js.map} +1 -1
- package/dist/chunk-F7URSDHU.cjs +2 -0
- package/dist/chunk-F7URSDHU.cjs.map +1 -0
- package/dist/chunk-HJW6XNOY.js +2 -0
- package/dist/chunk-HJW6XNOY.js.map +1 -0
- package/dist/chunk-J4GKOJZZ.cjs +2 -0
- package/dist/chunk-J4GKOJZZ.cjs.map +1 -0
- package/dist/chunk-KE53HYHH.cjs +2 -0
- package/dist/chunk-KE53HYHH.cjs.map +1 -0
- package/dist/chunk-NLU672VS.js +2 -0
- package/dist/chunk-NLU672VS.js.map +1 -0
- package/dist/chunk-O2BXIKRA.js +2 -0
- package/dist/chunk-O2BXIKRA.js.map +1 -0
- package/dist/chunk-OC34WU3H.cjs +2 -0
- package/dist/chunk-OC34WU3H.cjs.map +1 -0
- package/dist/chunk-OMO4474C.cjs +2 -0
- package/dist/chunk-OMO4474C.cjs.map +1 -0
- package/dist/chunk-PMOXYEAS.js +2 -0
- package/dist/{chunk-MKRXM63S.js.map → chunk-PMOXYEAS.js.map} +1 -1
- package/dist/chunk-QVMN2EX4.js +2 -0
- package/dist/chunk-QVMN2EX4.js.map +1 -0
- package/dist/chunk-R52RJPI3.cjs +2 -0
- package/dist/chunk-R52RJPI3.cjs.map +1 -0
- package/dist/chunk-RO6NRIGU.js +2 -0
- package/dist/chunk-RO6NRIGU.js.map +1 -0
- package/dist/chunk-SUVNXKE6.js +2 -0
- package/dist/chunk-SUVNXKE6.js.map +1 -0
- package/dist/chunk-SZW4GHCP.cjs +2 -0
- package/dist/chunk-SZW4GHCP.cjs.map +1 -0
- package/dist/chunk-UBSYUTZO.cjs +2 -0
- package/dist/chunk-UBSYUTZO.cjs.map +1 -0
- package/dist/chunk-V352KM56.cjs +2 -0
- package/dist/chunk-V352KM56.cjs.map +1 -0
- package/dist/{chunk-DSJ23DIB.cjs → chunk-V5W6FOUA.cjs} +2 -2
- package/dist/{chunk-DSJ23DIB.cjs.map → chunk-V5W6FOUA.cjs.map} +1 -1
- package/dist/chunk-WMCUQQ2Q.cjs +2 -0
- package/dist/chunk-WMCUQQ2Q.cjs.map +1 -0
- package/dist/{chunk-E2FDUS3B.cjs → chunk-X5KE2IW6.cjs} +2 -2
- package/dist/{chunk-E2FDUS3B.cjs.map → chunk-X5KE2IW6.cjs.map} +1 -1
- package/dist/chunk-XSZPAZEE.js +2 -0
- package/dist/{chunk-PGCNGDPK.js.map → chunk-XSZPAZEE.js.map} +1 -1
- package/dist/chunk-Y37HRTGF.js +2 -0
- package/dist/chunk-Y37HRTGF.js.map +1 -0
- package/dist/chunk-ZM7J5MCU.js +2 -0
- package/dist/chunk-ZM7J5MCU.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/schema/asset-filters.d.cts +2 -2
- package/dist/schema/asset-filters.d.ts +2 -2
- package/dist/schema/assets.cjs +1 -1
- package/dist/schema/assets.d.cts +10 -4
- package/dist/schema/assets.d.ts +10 -4
- package/dist/schema/assets.js +1 -1
- package/dist/schema/comments.cjs +1 -1
- package/dist/schema/comments.d.cts +44 -8
- package/dist/schema/comments.d.ts +44 -8
- package/dist/schema/comments.js +1 -1
- package/dist/schema/conversations.cjs +1 -1
- package/dist/schema/conversations.d.cts +18 -6
- package/dist/schema/conversations.d.ts +18 -6
- package/dist/schema/conversations.js +1 -1
- package/dist/schema/datasets.cjs +1 -1
- package/dist/schema/datasets.d.cts +24 -16
- package/dist/schema/datasets.d.ts +24 -16
- package/dist/schema/datasets.js +1 -1
- package/dist/schema/files.cjs +1 -1
- package/dist/schema/files.d.cts +178 -11
- package/dist/schema/files.d.ts +178 -11
- package/dist/schema/files.js +1 -1
- package/dist/schema/notifications.cjs +1 -1
- package/dist/schema/notifications.d.cts +21 -1
- package/dist/schema/notifications.d.ts +21 -1
- package/dist/schema/notifications.js +1 -1
- package/dist/schema/organizations.cjs +1 -1
- package/dist/schema/organizations.d.cts +3 -1
- package/dist/schema/organizations.d.ts +3 -1
- package/dist/schema/organizations.js +1 -1
- package/dist/schema/posts.cjs +1 -1
- package/dist/schema/posts.d.cts +42 -6
- package/dist/schema/posts.d.ts +42 -6
- package/dist/schema/posts.js +1 -1
- package/dist/schema/quests.cjs +1 -1
- package/dist/schema/quests.d.cts +94 -21
- package/dist/schema/quests.d.ts +94 -21
- package/dist/schema/quests.js +1 -1
- package/dist/schema/renditions.cjs +2 -0
- package/dist/schema/renditions.cjs.map +1 -0
- package/dist/schema/renditions.d.cts +196 -0
- package/dist/schema/renditions.d.ts +196 -0
- package/dist/schema/renditions.js +2 -0
- package/dist/schema/renditions.js.map +1 -0
- package/dist/schema/services.cjs +1 -1
- package/dist/schema/services.d.cts +333 -21
- package/dist/schema/services.d.ts +333 -21
- package/dist/schema/services.js +1 -1
- package/dist/schema/teams.cjs +1 -1
- package/dist/schema/teams.d.cts +27 -2
- package/dist/schema/teams.d.ts +27 -2
- package/dist/schema/teams.js +1 -1
- package/dist/schema/users.cjs +1 -1
- package/dist/schema/users.d.cts +42 -1
- package/dist/schema/users.d.ts +42 -1
- package/dist/schema/users.js +1 -1
- package/dist/utils/files.cjs +1 -1
- package/dist/utils/files.d.cts +2 -1
- package/dist/utils/files.d.ts +2 -1
- package/dist/utils/files.js +1 -1
- package/dist/utils/navigate.cjs +1 -1
- package/dist/utils/navigate.js +1 -1
- package/dist/utils/quest-submission-helpers.cjs +2 -0
- package/dist/utils/quest-submission-helpers.cjs.map +1 -0
- package/dist/utils/quest-submission-helpers.d.cts +2 -0
- package/dist/utils/quest-submission-helpers.d.ts +2 -0
- package/dist/utils/quest-submission-helpers.js +2 -0
- package/dist/utils/quest-submission-helpers.js.map +1 -0
- package/dist/utils/quest-submission.cjs +1 -1
- package/dist/utils/quest-submission.d.cts +69 -59
- package/dist/utils/quest-submission.d.ts +69 -59
- package/dist/utils/quest-submission.js +1 -1
- package/package.json +1 -1
- package/tests/file-classification.test.mjs +19 -0
- package/tests/files.test.mjs +21 -1
- package/tests/navigate.test.mjs +53 -0
- package/tests/renditions.test.mjs +111 -0
- package/dist/chunk-3DGJ27WL.js +0 -2
- package/dist/chunk-3DGJ27WL.js.map +0 -1
- package/dist/chunk-3JPOAQ2M.cjs +0 -2
- package/dist/chunk-3JPOAQ2M.cjs.map +0 -1
- package/dist/chunk-64ZUBBP7.js +0 -2
- package/dist/chunk-64ZUBBP7.js.map +0 -1
- package/dist/chunk-ADLJ3UUW.cjs +0 -2
- package/dist/chunk-ADLJ3UUW.cjs.map +0 -1
- package/dist/chunk-CDJH4OT5.js +0 -2
- package/dist/chunk-CDJH4OT5.js.map +0 -1
- package/dist/chunk-CIEATF7M.cjs +0 -2
- package/dist/chunk-CIEATF7M.cjs.map +0 -1
- package/dist/chunk-EY4OFSDP.js +0 -2
- package/dist/chunk-EY4OFSDP.js.map +0 -1
- package/dist/chunk-FGEMQEEM.js +0 -2
- package/dist/chunk-KHERHT26.cjs +0 -2
- package/dist/chunk-KHERHT26.cjs.map +0 -1
- package/dist/chunk-LMRFVO4I.cjs +0 -2
- package/dist/chunk-LMRFVO4I.cjs.map +0 -1
- package/dist/chunk-MKRXM63S.js +0 -2
- package/dist/chunk-MOEVC3KD.cjs +0 -2
- package/dist/chunk-MOEVC3KD.cjs.map +0 -1
- package/dist/chunk-OU4JKY4M.js +0 -2
- package/dist/chunk-OU4JKY4M.js.map +0 -1
- package/dist/chunk-PGCNGDPK.js +0 -2
- package/dist/chunk-PVUBGWOI.cjs +0 -2
- package/dist/chunk-PVUBGWOI.cjs.map +0 -1
- package/dist/chunk-RS5H4XDK.js +0 -2
- package/dist/chunk-RS5H4XDK.js.map +0 -1
- package/dist/chunk-W6KXPYCB.js +0 -2
- package/dist/chunk-W6KXPYCB.js.map +0 -1
- package/dist/chunk-XEA4DDOE.cjs +0 -2
- package/dist/chunk-XEA4DDOE.cjs.map +0 -1
- package/dist/chunk-XL2RQ3DZ.cjs +0 -2
- package/dist/chunk-XL2RQ3DZ.cjs.map +0 -1
- package/dist/chunk-XXFKHRNE.js +0 -2
- package/dist/chunk-XXFKHRNE.js.map +0 -1
- package/dist/chunk-Y6BK75KP.js +0 -2
- package/dist/chunk-Y6BK75KP.js.map +0 -1
- package/dist/chunk-YTCAK2AH.cjs +0 -2
- package/dist/chunk-YTCAK2AH.cjs.map +0 -1
- package/dist/chunk-ZFARY5F4.js +0 -2
- package/dist/chunk-ZFARY5F4.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/teams.ts"],"names":["TeamSchema","object","uuid","OrganizationsSchema","string","optional","nullable","record","any","RoleSchema","VisibilitySchema","ActorTypePolicySchema","SourcePolicySchema","number","array","ProfileSchema","CreateTeamSchema","uuidv7","v","ReadTeamSchema","zodRecord","ContentActionRefSchema","ReadTeamsSchema","UpdateTeamSchema"],"mappings":"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","file":"chunk-Y6BK75KP.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 { ContentActionRefSchema } from \"./content-refs\";\nimport { OrganizationsSchema, ActorTypePolicySchema, SourcePolicySchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\nimport { record as zodRecord } from \"zod\";\n\nconst TeamSchema = object({\n id: uuid(),\n org_id: uuid(),\n organization: OrganizationsSchema,\n name: string(),\n description: optional(\n nullable(\n object({\n text: string(),\n json: record(string(), any()),\n })\n )\n ),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n actor_type_policy: optional(nullable(ActorTypePolicySchema)),\n source_policy: optional(nullable(SourcePolicySchema)),\n userMembership: optional(\n nullable(\n object({\n user_id: uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: optional(nullable(number())),\n members: array(\n object({\n user_id: uuid(),\n role: RoleSchema,\n added_at: string(),\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n created_at: string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: string().default(() => new Date().toISOString()),\n}).omit({\n organization: true,\n userMembership: true,\n memberCount: true,\n members: true,\n created_at: true,\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: optional(\n nullable(\n object({\n user_id: uuid(),\n role: RoleSchema,\n })\n )\n ),\n memberCount: number(),\n members: array(\n object({\n user_id: uuid(),\n role: RoleSchema,\n added_at: string(),\n user: optional(nullable(ProfileSchema.partial())),\n })\n ),\n organization: optional(nullable(OrganizationsSchema.partial())),\n // Enriched fields used for rendering embedded references in description.\n // assets stay loose here — AssetSchema imports TeamSchema (cycle).\n assets: optional(\n nullable(array(zodRecord(string(), any())))\n ),\n users: optional(\n nullable(array(ProfileSchema.partial()))\n ),\n actions: optional(nullable(array(ContentActionRefSchema))),\n});\n\nconst ReadTeamsSchema = array(\n ReadTeamSchema.extend({\n label: string(),\n value: string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n organization: true,\n created_at: true,\n })\n .extend({\n id: uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n"]}
|
package/dist/chunk-YTCAK2AH.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var zod=require('zod');var d=zod.enum(["base","agent","verified"]),f=zod.object({id:zod.uuid(),user_id:zod.uuid(),username:zod.optional(zod.nullable(zod.string())),name:zod.optional(zod.nullable(zod.string())),first_name:zod.optional(zod.nullable(zod.string())),last_name:zod.optional(zod.nullable(zod.string())),avatar_path:zod.optional(zod.nullable(zod.string())),bio:zod.optional(zod.nullable(zod.string())),is_provisioned:zod.optional(zod.boolean()),claimed_at:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.array(zod.object({value:zod.string().url()}))),post_id:zod.optional(zod.nullable(zod.uuid())),actor_type:d,plan_type:zod.enum(["free","gold"]),last_active:zod.string()}),c=f.extend({isFollowing:zod.boolean(),isFollowed:zod.boolean(),isSelf:zod.boolean(),followers:zod.number().default(0),following:zod.number().default(0),totalXp:zod.number().default(0),level:zod.number().default(1)}),u=f.partial().omit({id:true,user_id:true,last_active:true,is_provisioned:true,claimed_at:true,actor_type:true});exports.a=d;exports.b=f;exports.c=c;exports.d=u;//# sourceMappingURL=chunk-YTCAK2AH.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-YTCAK2AH.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/users.ts"],"names":["ActorTypeSchema","zodEnum","ProfileSchema","object","uuid","optional","nullable","string","boolean","array","ReadProfileSchema","number","UpdateProfileSchema"],"mappings":"oCAaMA,IAAAA,CAAAA,CAAkBC,QAAQ,CAAA,CAAC,OAAQ,OAAS,CAAA,UAAU,CAAC,CAEvDC,CAAAA,CAAAA,CAAgBC,WAAO,CAC3B,EAAA,CAAIC,UACJ,CAAA,OAAA,CAASA,UACT,CAAA,QAAA,CAAUC,aAASC,YAASC,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACrC,IAAMF,CAAAA,YAAAA,CAASC,aAASC,UAAO,EAAC,CAAC,CACjC,CAAA,UAAA,CAAYF,aAASC,YAASC,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACvC,UAAWF,YAASC,CAAAA,YAAAA,CAASC,YAAQ,CAAC,EACtC,WAAaF,CAAAA,YAAAA,CAASC,aAASC,UAAO,EAAC,CAAC,CACxC,CAAA,GAAA,CAAKF,aAASC,YAASC,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CAChC,eAAgBF,YAASG,CAAAA,WAAAA,EAAS,CAClC,CAAA,UAAA,CAAYH,aAASC,YAASC,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACvC,IAAMF,CAAAA,YAAAA,CACJI,UACEN,UAAO,CAAA,CACL,MAAOI,UAAO,EAAA,CAAE,KAClB,CAAC,CACH,CACF,CAAA,CACA,QAASF,YAASC,CAAAA,YAAAA,CAASF,UAAM,CAAC,EAClC,UAAYJ,CAAAA,CAAAA,CACZ,UAAWC,QAAQ,CAAA,CAAC,OAAQ,MAAM,CAAC,EACnC,WAAaM,CAAAA,UAAAA,EACf,CAAC,CAAA,CAEKG,EAAoBR,CAAc,CAAA,MAAA,CAAO,CAC7C,WAAaM,CAAAA,WAAAA,GACb,UAAYA,CAAAA,WAAAA,GACZ,MAAQA,CAAAA,WAAAA,EACR,CAAA,SAAA,CAAWG,YAAS,CAAA,OAAA,CAAQ,CAAC,CAC7B,CAAA,SAAA,CAAWA,YAAS,CAAA,OAAA,CAAQ,CAAC,CAC7B,CAAA,OAAA,CAASA,YAAS,CAAA,OAAA,CAAQ,CAAC,CAC3B,CAAA,KAAA,CAAOA,YAAS,CAAA,OAAA,CAAQ,CAAC,CAC3B,CAAC,EAEKC,CAAsBV,CAAAA,CAAAA,CAAc,SAAU,CAAA,IAAA,CAAK,CACvD,EAAI,CAAA,IAAA,CACJ,QAAS,IACT,CAAA,WAAA,CAAa,KACb,cAAgB,CAAA,IAAA,CAChB,WAAY,IACZ,CAAA,UAAA,CAAY,IAEd,CAAC","file":"chunk-YTCAK2AH.cjs","sourcesContent":["import {\n object,\n string,\n number,\n array,\n boolean,\n enum as zodEnum,\n type z,\n optional,\n nullable,\n uuid\n} from \"zod\";\n\nconst ActorTypeSchema = zodEnum([\"base\", \"agent\", \"verified\"]);\n\nconst ProfileSchema = object({\n id: uuid(),\n user_id: uuid(),\n username: optional(nullable(string())),\n name: optional(nullable(string())),\n first_name: optional(nullable(string())),\n last_name: optional(nullable(string())),\n avatar_path: optional(nullable(string())),\n bio: optional(nullable(string())),\n is_provisioned: optional(boolean()),\n claimed_at: optional(nullable(string())),\n urls: optional(\n array(\n object({\n value: string().url(),\n })\n )\n ),\n post_id: optional(nullable(uuid())),\n actor_type: ActorTypeSchema,\n plan_type: zodEnum([\"free\", \"gold\"]),\n last_active: string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n isFollowing: boolean(),\n isFollowed: boolean(),\n isSelf: boolean(),\n followers: number().default(0),\n following: number().default(0),\n totalXp: number().default(0),\n level: number().default(1),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n is_provisioned: true,\n claimed_at: true,\n actor_type: true,\n // username: true, // once set, users cannot update their username\n});\n\nexport { ActorTypeSchema, ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type ActorType = z.infer<typeof ActorTypeSchema>;\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"]}
|
package/dist/chunk-ZFARY5F4.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a,d as d$1,c}from'./chunk-64ZUBBP7.js';import {f,b,h,a as a$2}from'./chunk-PGCNGDPK.js';import {a as a$1}from'./chunk-33C7IDRP.js';import {enum as _enum,object,optional,string,array,any,record,literal,number,uuid,nullable,boolean,union}from'zod';var w=_enum(["closable","continuous"]),E=_enum(["draft","open","closed","cancelled"]),l=_enum(["pending","in_progress","done","skipped"]),I=_enum(["btc","usd"]),q=_enum(["skipped","running","passed","failed","errored"]),k=_enum(["submitted","accepted","rejected"]),C=_enum(["desc","asc"]),T=object({type:string(),content:optional(array(any())),attrs:optional(record(string(),any())),marks:optional(array(any())),text:optional(string())}),d=object({json:object({type:literal("doc"),content:array(T)}),text:string()}),A=object({id:uuid(),quest_id:uuid(),description:d,status:l.default("pending"),auto_skipped:optional(nullable(string().or(any()))),status_before_auto_skip:optional(nullable(l)),sort_order:number().default(0),type:string().default("task"),created_by:uuid(),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a$1)),reward_xp:number().int().nonnegative().default(0),reward_currency:I.default("btc"),reward_amount:number().int().nonnegative().default(0),child_quest_id:optional(nullable(uuid())),eval_route_id:optional(nullable(uuid())),eval_score_path:optional(nullable(string())),eval_categories_path:optional(nullable(string())),eval_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),leaderboard_enabled:optional(boolean()).default(false),leaderboard_order:optional(C).default("desc"),submission_assets:optional(nullable(record(string(),d$1))),eval_static_inputs:optional(nullable(a)),notes:optional(nullable(string())),contributor_keys:optional(nullable(array(object({key:string(),required:boolean().default(true),filters:object({assetType:optional(string()),fileType:optional(string()),extensions:optional(array(string())),hasConstraints:boolean().default(false)})})))),created_at:string(),updated_at:string()}),R=A,x=object({description:union([string().min(1,{message:"Item description cannot be empty"}),d]),type:optional(string()).default("task"),sort_order:optional(number().int()),assignee_id:optional(nullable(uuid())),expected_asset_type:optional(nullable(a$1)),reward_xp:optional(number().int().nonnegative()).default(0),reward_currency:optional(I).default("btc"),reward_amount:optional(number().int().nonnegative()).default(0),child_quest_id:optional(nullable(uuid())),eval_route_id:optional(nullable(uuid())),eval_score_path:optional(nullable(string())),eval_categories_path:optional(nullable(string())),eval_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),leaderboard_enabled:optional(boolean()).default(false),leaderboard_order:optional(C).default("desc"),submission_assets:optional(nullable(record(string(),d$1))),eval_static_inputs:optional(nullable(a)),notes:optional(nullable(string()))}),U=union([string().min(1,{message:"Item description cannot be empty"}).transform(u=>x.parse({description:u})),x]),j=object({type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),closed_at:optional(nullable(string()))}),O=f.extend({asset_type:literal("quest").default("quest"),metadata:optional(nullable(b.partial())),quest:optional(j.partial()),items:optional(array(R.partial())),progress:optional(object({total:number(),resolved:number(),remaining:number(),items:optional(array(object({id:string(),status:l,waiting_on:optional(nullable(string())),waiting_until:optional(nullable(string())),waiting_check_every:optional(nullable(string()))}).partial()))}))}),Z=h.extend({asset_type:literal("quest").default("quest"),name:optional(nullable(string())).default(null),description:optional(nullable(d)),type:w.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),items:optional(array(U)).default([])}).transform(u=>a$2(u)),F=O.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,items:true,progress:true,is_pinned_in_team:true}).extend({asset_type:literal("quest").default("quest"),last_updated:string().default(()=>new Date().toISOString())}).transform(u=>a$2(u)),M=x.partial().extend({status:optional(l)}),N=object({id:uuid(),quest_id:uuid(),user_id:uuid(),item_id:optional(nullable(uuid())),asset_id:optional(nullable(uuid())),asset_type:optional(nullable(a$1)),assets:optional(nullable(a)),description:optional(nullable(d)),review:optional(nullable(d)),status:k,reviewer_id:optional(nullable(uuid())),reviewed_at:optional(nullable(string())),eval_action_id:optional(nullable(uuid())),eval_score:optional(nullable(number())),eval_category_scores:optional(nullable(record(string(),number()))),eval_status:optional(nullable(q)),created_at:string(),updated_at:string()}),P=object({item_id:uuid(),assets:optional(nullable(c)),description:optional(nullable(union([string(),d])))}),G=object({status:_enum(["accepted","rejected"]),review:optional(nullable(union([string(),d])))});export{w as a,E as b,l as c,I as d,q as e,k as f,C as g,A as h,R as i,x as j,U as k,O as l,Z as m,F as n,M as o,N as p,P as q,G as r};//# sourceMappingURL=chunk-ZFARY5F4.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-ZFARY5F4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema/quests.ts"],"names":["QuestTypeSchema","zodEnum","QuestStatusSchema","QuestItemStatusSchema","RewardCurrencySchema","EntryEvalStatusSchema","EntryStatusSchema","LeaderboardOrderSchema","TipTapNode","object","string","optional","array","any","record","ContentSchema","literal","QuestItemBaseSchema","uuid","nullable","number","AssetTypeSchema","zodBoolean","QuestSubmissionAssetDeclarationSchema","KeyedAssetRefsSchema","QuestItemSchema","CreateQuestItemObjectSchema","union","CreateQuestItemSchema","description","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","KeyedAssetInputSchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-ZFARY5F4.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n union,\n uuid,\n boolean as zodBoolean,\n enum as zodEnum,\n type ZodType,\n} from \"zod\";\n\nimport {\n AssetSchema,\n AssetMetadataSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\nimport {\n KeyedAssetRefsSchema,\n KeyedAssetInputSchema,\n QuestSubmissionAssetDeclarationSchema,\n} from \"../utils/quest-submission\";\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\n/** closable: one active entry per item per user; continuous: unlimited per item */\nconst QuestTypeSchema = zodEnum([\"closable\", \"continuous\"]);\nconst QuestStatusSchema = zodEnum([\"draft\", \"open\", \"closed\", \"cancelled\"]);\n\nconst QuestItemStatusSchema = zodEnum([\n \"pending\",\n \"in_progress\",\n \"done\",\n \"skipped\",\n]);\n\nconst RewardCurrencySchema = zodEnum([\"btc\", \"usd\"]);\n\nconst EntryEvalStatusSchema = zodEnum([\n \"skipped\",\n \"running\",\n \"passed\",\n \"failed\",\n \"errored\",\n]);\n\nconst EntryStatusSchema = zodEnum([\"submitted\", \"accepted\", \"rejected\"]);\n\n/** desc = higher scores rank first; asc = lower scores rank first */\nconst LeaderboardOrderSchema = zodEnum([\"desc\", \"asc\"]);\n\n// ── Content (TipTap) ───────────────────────────────────────────────────\n// Posts/quests share the same rich description shape: { json, text }.\n// We mirror it locally here so the quest schema doesn't depend on posts.\n\nconst TipTapNode: ZodType<any> = object({\n type: string(),\n content: optional(array(any())),\n attrs: optional(record(string(), any())),\n marks: optional(array(any())),\n text: optional(string()),\n});\n\nconst ContentSchema = object({\n json: object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n }),\n text: string(),\n});\n\n// ── Quest items ────────────────────────────────────────────────────────\n\nconst QuestItemBaseSchema = object({\n id: uuid(),\n quest_id: uuid(),\n description: ContentSchema,\n status: QuestItemStatusSchema.default(\"pending\"),\n auto_skipped: optional(nullable(string().or(any()))),\n status_before_auto_skip: optional(nullable(QuestItemStatusSchema)),\n sort_order: number().default(0),\n type: string().default(\"task\"),\n created_by: uuid(),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: number().int().nonnegative().default(0),\n reward_currency: RewardCurrencySchema.default(\"btc\"),\n reward_amount: number().int().nonnegative().default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_categories_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n leaderboard_enabled: optional(zodBoolean()).default(false),\n leaderboard_order: optional(LeaderboardOrderSchema).default(\"desc\"),\n submission_assets: optional(\n nullable(record(string(), QuestSubmissionAssetDeclarationSchema)),\n ),\n eval_static_inputs: optional(nullable(KeyedAssetRefsSchema)),\n notes: optional(nullable(string())),\n contributor_keys: optional(\n nullable(\n array(\n object({\n key: string(),\n required: zodBoolean().default(true),\n filters: object({\n assetType: optional(string()),\n fileType: optional(string()),\n extensions: optional(array(string())),\n hasConstraints: zodBoolean().default(false),\n }),\n }),\n ),\n ),\n ),\n created_at: string(),\n updated_at: string(),\n});\n\nconst QuestItemSchema = QuestItemBaseSchema;\n\n/**\n * Shape used by `POST /quests/create` (inline items) and\n * `POST /quests/:id/items` (batch add). The controller fills in\n * `quest_id`, `created_by`, and lifecycle-derived fields\n * (`auto_skipped`, `status_before_auto_skip`).\n *\n * Accepts a plain description string or TipTap Content as a convenience —\n * a bare string is lifted into `{ description }` by the `union` below.\n * The backend normalizes either shape with `toContentFromMaybeMarkdown`.\n */\nconst CreateQuestItemObjectSchema = object({\n description: union([\n string().min(1, { message: \"Item description cannot be empty\" }),\n ContentSchema,\n ]),\n type: optional(string()).default(\"task\"),\n sort_order: optional(number().int()),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: optional(number().int().nonnegative()).default(0),\n reward_currency: optional(RewardCurrencySchema).default(\"btc\"),\n // Amount is in minor units of `reward_currency`: sats for BTC, cents\n // for USD. Both fit in JS numbers comfortably for our reward sizes;\n // the underlying column is `bigint`.\n reward_amount: optional(number().int().nonnegative()).default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_categories_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n leaderboard_enabled: optional(zodBoolean()).default(false),\n leaderboard_order: optional(LeaderboardOrderSchema).default(\"desc\"),\n submission_assets: optional(\n nullable(record(string(), QuestSubmissionAssetDeclarationSchema)),\n ),\n eval_static_inputs: optional(nullable(KeyedAssetRefsSchema)),\n notes: optional(nullable(string())),\n});\n\nconst CreateQuestItemSchema = union([\n string()\n .min(1, { message: \"Item description cannot be empty\" })\n .transform((description) =>\n CreateQuestItemObjectSchema.parse({ description })\n ),\n CreateQuestItemObjectSchema,\n]);\n\n// ── Quest ──────────────────────────────────────────────────────────────\n\nconst QuestSpecificsSchema = object({\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n closed_at: optional(nullable(string())),\n});\n\nconst QuestSchema = AssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n metadata: optional(nullable(AssetMetadataSchema.partial())),\n // List and detail both nest specifics under `quest`. Detail also hoists\n // full items to the top level. Progress (counts + bar segments) is always\n // top-level `progress` on list and detail responses.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n resolved: number(),\n remaining: number(),\n // Lightweight per-item segments for progress bars (list + detail).\n items: optional(\n array(\n object({\n id: string(),\n status: QuestItemStatusSchema,\n waiting_on: optional(nullable(string())),\n waiting_until: optional(nullable(string())),\n waiting_check_every: optional(nullable(string())),\n }).partial()\n )\n ),\n })\n ),\n});\n\n/**\n * Schema used by the backend controller and SDK clients to validate /\n * default the body of `POST /quests/create`. Mirrors how\n * `CreatePostSchema` defaults `org_id`/`team_id` so non-frontend callers\n * don't have to know about `GLOBAL_ORG_ID`.\n *\n * The `items` field accepts either plain strings, TipTap Content objects, or\n * full item objects — the backend `createQuestItems`/`createQuest` paths\n * already handle both shapes, and `CreateQuestItemSchema` normalizes strings\n * into `{ description }`.\n */\nconst CreateQuestSchema = CreateAssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n name: optional(nullable(string())).default(null),\n description: optional(nullable(ContentSchema)),\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n items: optional(array(CreateQuestItemSchema)).default([]),\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestSchema = QuestSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n items: true,\n progress: true,\n is_pinned_in_team: true,\n })\n .extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestItemSchema = CreateQuestItemObjectSchema.partial().extend({\n status: optional(QuestItemStatusSchema),\n});\n\n// ── Entries ────────────────────────────────────────────────────────────\n\nconst EntrySchema = object({\n id: uuid(),\n quest_id: uuid(),\n user_id: uuid(),\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\n assets: optional(nullable(KeyedAssetRefsSchema)),\n description: optional(nullable(ContentSchema)),\n review: optional(nullable(ContentSchema)),\n status: EntryStatusSchema,\n reviewer_id: optional(nullable(uuid())),\n reviewed_at: optional(nullable(string())),\n eval_action_id: optional(nullable(uuid())),\n eval_score: optional(nullable(number())),\n eval_category_scores: optional(nullable(record(string(), number()))),\n eval_status: optional(nullable(EntryEvalStatusSchema)),\n created_at: string(),\n updated_at: string(),\n});\n\nconst CreateEntrySchema = object({\n item_id: uuid(),\n assets: optional(nullable(KeyedAssetInputSchema)),\n description: optional(nullable(union([string(), ContentSchema]))),\n});\n\nconst ReviewEntrySchema = object({\n status: zodEnum([\"accepted\", \"rejected\"]),\n review: optional(nullable(union([string(), ContentSchema]))),\n});\n\n// ── Exports ────────────────────────────────────────────────────────────\n\nexport {\n KeyedAssetRefsSchema,\n KeyedAssetInputSchema,\n QuestSubmissionAssetDeclarationSchema,\n QuestTypeSchema,\n QuestStatusSchema,\n QuestItemStatusSchema,\n RewardCurrencySchema,\n EntryEvalStatusSchema,\n EntryStatusSchema,\n LeaderboardOrderSchema,\n QuestSchema,\n QuestItemSchema,\n QuestItemBaseSchema,\n CreateQuestSchema,\n CreateQuestItemSchema,\n CreateQuestItemObjectSchema,\n UpdateQuestSchema,\n UpdateQuestItemSchema,\n EntrySchema,\n CreateEntrySchema,\n ReviewEntrySchema,\n};\n\nexport type QuestType = z.infer<typeof QuestTypeSchema>;\nexport type QuestStatus = z.infer<typeof QuestStatusSchema>;\nexport type QuestItemStatus = z.infer<typeof QuestItemStatusSchema>;\nexport type RewardCurrency = z.infer<typeof RewardCurrencySchema>;\nexport type EntryEvalStatus = z.infer<typeof EntryEvalStatusSchema>;\nexport type EntryStatus = z.infer<typeof EntryStatusSchema>;\nexport type LeaderboardOrder = z.infer<typeof LeaderboardOrderSchema>;\nexport type Quest = z.infer<typeof QuestSchema>;\nexport type QuestItem = z.infer<typeof QuestItemSchema>;\nexport type CreateQuest = z.infer<typeof CreateQuestSchema>;\nexport type CreateQuestItem = z.infer<typeof CreateQuestItemSchema>;\nexport type UpdateQuest = z.infer<typeof UpdateQuestSchema>;\nexport type UpdateQuestItem = z.infer<typeof UpdateQuestItemSchema>;\nexport type Entry = z.infer<typeof EntrySchema>;\nexport type CreateEntry = z.infer<typeof CreateEntrySchema>;\nexport type ReviewEntry = z.infer<typeof ReviewEntrySchema>;\n"]}
|