@ourofoundation/ouro-js 3.8.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/chunk-3DGJ27WL.js +2 -0
  2. package/dist/chunk-3DGJ27WL.js.map +1 -0
  3. package/dist/{chunk-RRDGLT3N.cjs → chunk-3JPOAQ2M.cjs} +2 -2
  4. package/dist/{chunk-RRDGLT3N.cjs.map → chunk-3JPOAQ2M.cjs.map} +1 -1
  5. package/dist/{chunk-APZA6MIM.js → chunk-5CPECQKN.js} +2 -2
  6. package/dist/{chunk-APZA6MIM.js.map → chunk-5CPECQKN.js.map} +1 -1
  7. package/dist/{chunk-RNBIB6S7.cjs → chunk-AIIAIQ6L.cjs} +2 -2
  8. package/dist/{chunk-RNBIB6S7.cjs.map → chunk-AIIAIQ6L.cjs.map} +1 -1
  9. package/dist/{chunk-G6GCUGMM.js → chunk-CDJH4OT5.js} +2 -2
  10. package/dist/chunk-CDJH4OT5.js.map +1 -0
  11. package/dist/{chunk-23FTPTDP.cjs → chunk-DSJ23DIB.cjs} +2 -2
  12. package/dist/{chunk-23FTPTDP.cjs.map → chunk-DSJ23DIB.cjs.map} +1 -1
  13. package/dist/{chunk-N3HC2ASR.cjs → chunk-E2FDUS3B.cjs} +2 -2
  14. package/dist/{chunk-N3HC2ASR.cjs.map → chunk-E2FDUS3B.cjs.map} +1 -1
  15. package/dist/{chunk-CXMEZGVG.js → chunk-EC376C5T.js} +2 -2
  16. package/dist/{chunk-CXMEZGVG.js.map → chunk-EC376C5T.js.map} +1 -1
  17. package/dist/{chunk-U5JVCESS.js → chunk-FGEMQEEM.js} +2 -2
  18. package/dist/{chunk-U5JVCESS.js.map → chunk-FGEMQEEM.js.map} +1 -1
  19. package/dist/{chunk-BELCP7OL.cjs → chunk-KU5AWMS5.cjs} +2 -2
  20. package/dist/{chunk-BELCP7OL.cjs.map → chunk-KU5AWMS5.cjs.map} +1 -1
  21. package/dist/{chunk-RQUVICCB.cjs → chunk-LHCGBWFP.cjs} +2 -2
  22. package/dist/{chunk-RQUVICCB.cjs.map → chunk-LHCGBWFP.cjs.map} +1 -1
  23. package/dist/{chunk-6OO4SOWL.js → chunk-LXDNBUOU.js} +2 -2
  24. package/dist/{chunk-6OO4SOWL.js.map → chunk-LXDNBUOU.js.map} +1 -1
  25. package/dist/{chunk-GT7CSIDN.js → chunk-MKRXM63S.js} +2 -2
  26. package/dist/{chunk-GT7CSIDN.js.map → chunk-MKRXM63S.js.map} +1 -1
  27. package/dist/{chunk-5CKFMTWZ.js → chunk-O4LSX56P.js} +2 -2
  28. package/dist/{chunk-5CKFMTWZ.js.map → chunk-O4LSX56P.js.map} +1 -1
  29. package/dist/{chunk-EIB2YGN3.js → chunk-OCG3P3PJ.js} +2 -2
  30. package/dist/{chunk-EIB2YGN3.js.map → chunk-OCG3P3PJ.js.map} +1 -1
  31. package/dist/{chunk-GX6RCMZR.js → chunk-PGCNGDPK.js} +2 -2
  32. package/dist/{chunk-GX6RCMZR.js.map → chunk-PGCNGDPK.js.map} +1 -1
  33. package/dist/{chunk-O6RFWCC4.cjs → chunk-PVUBGWOI.cjs} +2 -2
  34. package/dist/{chunk-O6RFWCC4.cjs.map → chunk-PVUBGWOI.cjs.map} +1 -1
  35. package/dist/{chunk-7R5EIIIR.cjs → chunk-RMMMRN4X.cjs} +2 -2
  36. package/dist/{chunk-7R5EIIIR.cjs.map → chunk-RMMMRN4X.cjs.map} +1 -1
  37. package/dist/{chunk-3UE4H5TR.js → chunk-RS5H4XDK.js} +2 -2
  38. package/dist/{chunk-3UE4H5TR.js.map → chunk-RS5H4XDK.js.map} +1 -1
  39. package/dist/{chunk-NVKZLT3M.cjs → chunk-T6UO42TO.cjs} +2 -2
  40. package/dist/{chunk-NVKZLT3M.cjs.map → chunk-T6UO42TO.cjs.map} +1 -1
  41. package/dist/{chunk-M2ZH6MMH.cjs → chunk-U6XOT6XH.cjs} +2 -2
  42. package/dist/{chunk-M2ZH6MMH.cjs.map → chunk-U6XOT6XH.cjs.map} +1 -1
  43. package/dist/{chunk-QUBJLDJY.js → chunk-W6KXPYCB.js} +2 -2
  44. package/dist/{chunk-QUBJLDJY.js.map → chunk-W6KXPYCB.js.map} +1 -1
  45. package/dist/{chunk-W4V643O5.cjs → chunk-XEA4DDOE.cjs} +2 -2
  46. package/dist/{chunk-W4V643O5.cjs.map → chunk-XEA4DDOE.cjs.map} +1 -1
  47. package/dist/chunk-XL2RQ3DZ.cjs +2 -0
  48. package/dist/chunk-XL2RQ3DZ.cjs.map +1 -0
  49. package/dist/{chunk-M5ZLLARC.js → chunk-Y6BK75KP.js} +2 -2
  50. package/dist/{chunk-M5ZLLARC.js.map → chunk-Y6BK75KP.js.map} +1 -1
  51. package/dist/{chunk-L6SVUDFH.cjs → chunk-YTCAK2AH.cjs} +2 -2
  52. package/dist/chunk-YTCAK2AH.cjs.map +1 -0
  53. package/dist/index.cjs +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/schema/assets.cjs +1 -1
  56. package/dist/schema/assets.js +1 -1
  57. package/dist/schema/comments.cjs +1 -1
  58. package/dist/schema/comments.js +1 -1
  59. package/dist/schema/conversations.cjs +1 -1
  60. package/dist/schema/conversations.js +1 -1
  61. package/dist/schema/datasets.cjs +1 -1
  62. package/dist/schema/datasets.js +1 -1
  63. package/dist/schema/files.cjs +1 -1
  64. package/dist/schema/files.d.cts +1 -1
  65. package/dist/schema/files.d.ts +1 -1
  66. package/dist/schema/files.js +1 -1
  67. package/dist/schema/notifications.cjs +1 -1
  68. package/dist/schema/notifications.js +1 -1
  69. package/dist/schema/organizations.cjs +1 -1
  70. package/dist/schema/organizations.js +1 -1
  71. package/dist/schema/posts.cjs +1 -1
  72. package/dist/schema/posts.js +1 -1
  73. package/dist/schema/quests.cjs +1 -1
  74. package/dist/schema/quests.js +1 -1
  75. package/dist/schema/services.cjs +1 -1
  76. package/dist/schema/services.js +1 -1
  77. package/dist/schema/teams.cjs +1 -1
  78. package/dist/schema/teams.js +1 -1
  79. package/dist/schema/users.cjs +1 -1
  80. package/dist/schema/users.d.cts +0 -5
  81. package/dist/schema/users.d.ts +0 -5
  82. package/dist/schema/users.js +1 -1
  83. package/dist/utils/quest-submission.cjs +1 -1
  84. package/dist/utils/quest-submission.js +1 -1
  85. package/package.json +2 -2
  86. package/tests/files.test.mjs +29 -0
  87. package/tests/users.test.mjs +13 -0
  88. package/dist/chunk-AUDVUOLX.js +0 -2
  89. package/dist/chunk-AUDVUOLX.js.map +0 -1
  90. package/dist/chunk-G6GCUGMM.js.map +0 -1
  91. package/dist/chunk-L6SVUDFH.cjs.map +0 -1
  92. package/dist/chunk-SZWAE35B.cjs +0 -2
  93. package/dist/chunk-SZWAE35B.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'../chunk-M5ZLLARC.js';import'../chunk-EIB2YGN3.js';import'../chunk-G6GCUGMM.js';import'../chunk-33C7IDRP.js';import'../chunk-42ADEGDM.js';//# sourceMappingURL=teams.js.map
1
+ export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'../chunk-Y6BK75KP.js';import'../chunk-OCG3P3PJ.js';import'../chunk-CDJH4OT5.js';import'../chunk-33C7IDRP.js';import'../chunk-42ADEGDM.js';//# sourceMappingURL=teams.js.map
2
2
  //# sourceMappingURL=teams.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkL6SVUDFH_cjs=require('../chunk-L6SVUDFH.cjs');Object.defineProperty(exports,"ActorTypeSchema",{enumerable:true,get:function(){return chunkL6SVUDFH_cjs.a}});Object.defineProperty(exports,"ProfileSchema",{enumerable:true,get:function(){return chunkL6SVUDFH_cjs.b}});Object.defineProperty(exports,"ReadProfileSchema",{enumerable:true,get:function(){return chunkL6SVUDFH_cjs.c}});Object.defineProperty(exports,"UpdateProfileSchema",{enumerable:true,get:function(){return chunkL6SVUDFH_cjs.d}});//# sourceMappingURL=users.cjs.map
1
+ 'use strict';var chunkYTCAK2AH_cjs=require('../chunk-YTCAK2AH.cjs');Object.defineProperty(exports,"ActorTypeSchema",{enumerable:true,get:function(){return chunkYTCAK2AH_cjs.a}});Object.defineProperty(exports,"ProfileSchema",{enumerable:true,get:function(){return chunkYTCAK2AH_cjs.b}});Object.defineProperty(exports,"ReadProfileSchema",{enumerable:true,get:function(){return chunkYTCAK2AH_cjs.c}});Object.defineProperty(exports,"UpdateProfileSchema",{enumerable:true,get:function(){return chunkYTCAK2AH_cjs.d}});//# sourceMappingURL=users.cjs.map
2
2
  //# sourceMappingURL=users.cjs.map
@@ -65,11 +65,6 @@ declare const ReadProfileSchema: z.ZodObject<{
65
65
  level: z.ZodDefault<z.ZodNumber>;
66
66
  }, z.core.$strip>;
67
67
  declare const UpdateProfileSchema: z.ZodObject<{
68
- actor_type: z.ZodOptional<z.ZodEnum<{
69
- base: "base";
70
- agent: "agent";
71
- verified: "verified";
72
- }>>;
73
68
  username: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
74
69
  name: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
75
70
  first_name: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
@@ -65,11 +65,6 @@ declare const ReadProfileSchema: z.ZodObject<{
65
65
  level: z.ZodDefault<z.ZodNumber>;
66
66
  }, z.core.$strip>;
67
67
  declare const UpdateProfileSchema: z.ZodObject<{
68
- actor_type: z.ZodOptional<z.ZodEnum<{
69
- base: "base";
70
- agent: "agent";
71
- verified: "verified";
72
- }>>;
73
68
  username: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
74
69
  name: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
75
70
  first_name: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
@@ -1,2 +1,2 @@
1
- export{a as ActorTypeSchema,b as ProfileSchema,c as ReadProfileSchema,d as UpdateProfileSchema}from'../chunk-G6GCUGMM.js';//# sourceMappingURL=users.js.map
1
+ export{a as ActorTypeSchema,b as ProfileSchema,c as ReadProfileSchema,d as UpdateProfileSchema}from'../chunk-CDJH4OT5.js';//# sourceMappingURL=users.js.map
2
2
  //# sourceMappingURL=users.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkM2ZH6MMH_cjs=require('../chunk-M2ZH6MMH.cjs');require('../chunk-W4V643O5.cjs'),require('../chunk-KHERHT26.cjs'),require('../chunk-7R5EIIIR.cjs'),require('../chunk-RRDGLT3N.cjs'),require('../chunk-BELCP7OL.cjs'),require('../chunk-L6SVUDFH.cjs'),require('../chunk-YFEGRZXL.cjs'),require('../chunk-7HF5VHUN.cjs'),require('../chunk-JRBBNFFI.cjs');Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.c}});Object.defineProperty(exports,"KeyedAssetInputValueSchema",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.b}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunkM2ZH6MMH_cjs.m}});//# sourceMappingURL=quest-submission.cjs.map
1
+ 'use strict';var chunkU6XOT6XH_cjs=require('../chunk-U6XOT6XH.cjs');require('../chunk-XEA4DDOE.cjs'),require('../chunk-KHERHT26.cjs'),require('../chunk-RMMMRN4X.cjs'),require('../chunk-3JPOAQ2M.cjs'),require('../chunk-KU5AWMS5.cjs'),require('../chunk-YTCAK2AH.cjs'),require('../chunk-YFEGRZXL.cjs'),require('../chunk-7HF5VHUN.cjs'),require('../chunk-JRBBNFFI.cjs');Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.c}});Object.defineProperty(exports,"KeyedAssetInputValueSchema",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.b}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunkU6XOT6XH_cjs.m}});//# sourceMappingURL=quest-submission.cjs.map
2
2
  //# sourceMappingURL=quest-submission.cjs.map
@@ -1,2 +1,2 @@
1
- export{c as KeyedAssetInputSchema,b as KeyedAssetInputValueSchema,a as KeyedAssetRefsSchema,d as QuestSubmissionAssetDeclarationSchema,k as assetMatchesDeclaration,j as declarationToPickerFilters,f as declarationToSubmissionDeclaration,l as getPrimaryAssetRef,h as getPrimaryDeclarationKey,e as getRouteInputDeclarationsFromRoute,i as getSubmissionAssetShape,g as materializeContributorSubmissionAssets,m as toRouteInputAssets}from'../chunk-5CKFMTWZ.js';import'../chunk-3UE4H5TR.js';import'../chunk-OU4JKY4M.js';import'../chunk-GX6RCMZR.js';import'../chunk-M5ZLLARC.js';import'../chunk-EIB2YGN3.js';import'../chunk-G6GCUGMM.js';import'../chunk-33C7IDRP.js';import'../chunk-DUBPWSCA.js';import'../chunk-42ADEGDM.js';//# sourceMappingURL=quest-submission.js.map
1
+ export{c as KeyedAssetInputSchema,b as KeyedAssetInputValueSchema,a as KeyedAssetRefsSchema,d as QuestSubmissionAssetDeclarationSchema,k as assetMatchesDeclaration,j as declarationToPickerFilters,f as declarationToSubmissionDeclaration,l as getPrimaryAssetRef,h as getPrimaryDeclarationKey,e as getRouteInputDeclarationsFromRoute,i as getSubmissionAssetShape,g as materializeContributorSubmissionAssets,m as toRouteInputAssets}from'../chunk-O4LSX56P.js';import'../chunk-RS5H4XDK.js';import'../chunk-OU4JKY4M.js';import'../chunk-PGCNGDPK.js';import'../chunk-Y6BK75KP.js';import'../chunk-OCG3P3PJ.js';import'../chunk-CDJH4OT5.js';import'../chunk-33C7IDRP.js';import'../chunk-DUBPWSCA.js';import'../chunk-42ADEGDM.js';//# sourceMappingURL=quest-submission.js.map
2
2
  //# sourceMappingURL=quest-submission.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ourofoundation/ouro-js",
3
- "version": "3.8.0",
3
+ "version": "3.8.1",
4
4
  "description": "Interact with the Ouro platform in browser and node.js environments",
5
5
  "module": "./dist/index.js",
6
6
  "main": "./dist/index.cjs",
@@ -57,7 +57,7 @@
57
57
  "dependencies": {
58
58
  "marked": "^18.0.0",
59
59
  "uuidv7": "^1.0.0",
60
- "zod": "^4.0.5"
60
+ "zod": "^4.5.4"
61
61
  },
62
62
  "typesVersions": {
63
63
  "*": {
@@ -3,6 +3,35 @@ import test from "node:test";
3
3
 
4
4
  import { CreateFileSchema } from "../dist/index.js";
5
5
 
6
+ const successMetadata = {
7
+ id: "019b7d6d-2cc5-7df8-a575-91ecbfc72fc0",
8
+ path: "user/results.zip",
9
+ bucket: "public-files",
10
+ name: "results.zip",
11
+ type: "application/zip",
12
+ extension: "zip",
13
+ size: 1024,
14
+ };
15
+
16
+ test("CreateFileSchema defaults omitted state to success", () => {
17
+ const file = CreateFileSchema.parse({
18
+ name: "results.zip",
19
+ asset_type: "file",
20
+ metadata: successMetadata,
21
+ });
22
+ assert.equal(file.state, "success");
23
+ });
24
+
25
+ test("CreateFileSchema accepts in-progress stubs", () => {
26
+ const file = CreateFileSchema.parse({
27
+ name: "results.zip",
28
+ asset_type: "file",
29
+ state: "in-progress",
30
+ metadata: { type: "application/zip" },
31
+ });
32
+ assert.equal(file.state, "in-progress");
33
+ });
34
+
6
35
  test("ZIP preview rows and archive metadata parse together", () => {
7
36
  const file = CreateFileSchema.parse({
8
37
  name: "results.zip",
@@ -0,0 +1,13 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+
4
+ import { UpdateProfileSchema } from "../dist/index.js";
5
+
6
+ test("profile updates omit protected actor type changes", () => {
7
+ const profile = UpdateProfileSchema.parse({
8
+ bio: "Updated bio",
9
+ actor_type: "agent",
10
+ });
11
+
12
+ assert.deepEqual(profile, { bio: "Updated bio" });
13
+ });
@@ -1,2 +0,0 @@
1
- import {b as b$1,f,h as h$1,a}from'./chunk-GX6RCMZR.js';import {object,boolean,number,optional,string,enum as _enum,uuid,literal,discriminatedUnion}from'zod';var h=object({entry_count:number(),file_count:number(),directory_count:number(),total_uncompressed_size:number(),total_compressed_size:number(),preview_truncated:boolean()}),S=object({id:uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number()),archive:optional(h)}),_=object({type:string()}),c=S.extend(b$1.partial().shape),y=_.extend(b$1.partial().shape),F=f.extend({asset_type:literal("file").default("file"),metadata:c}),b=discriminatedUnion("state",[h$1.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:c}),h$1.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:y})]).transform(i=>a(i)),M=F.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(i=>a(i));export{h as a,F as b,b as c,M as d};//# sourceMappingURL=chunk-AUDVUOLX.js.map
2
- //# sourceMappingURL=chunk-AUDVUOLX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/files.ts"],"names":["ZipArchiveMetadataSchema","object","number","boolean","BaseFileMetadataSchema","uuid","string","zodEnum","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"kKAqBMA,CAA2BC,CAAAA,MAAAA,CAAO,CACtC,WAAA,CAAaC,MAAO,EAAA,CACpB,WAAYA,MAAO,EAAA,CACnB,eAAiBA,CAAAA,MAAAA,EACjB,CAAA,uBAAA,CAAyBA,QACzB,CAAA,qBAAA,CAAuBA,MAAO,EAAA,CAC9B,iBAAmBC,CAAAA,OAAAA,EACrB,CAAC,CAAA,CAEKC,CAAyBH,CAAAA,MAAAA,CAAO,CACpC,EAAA,CAAII,IAAK,EAAA,CACT,IAAMC,CAAAA,MAAAA,EACN,CAAA,MAAA,CAAQC,KAAQ,CAAA,CAAC,eAAgB,OAAO,CAAC,CACzC,CAAA,IAAA,CAAMD,MAAO,EAAA,CACb,KAAMA,MAAO,EAAA,CACb,SAAWA,CAAAA,MAAAA,EACX,CAAA,IAAA,CAAMJ,QAEN,CAAA,KAAA,CAAOM,QAASN,CAAAA,MAAAA,EAAQ,CAAA,CACxB,OAAQM,QAASN,CAAAA,MAAAA,EAAQ,CAAA,CACzB,OAASM,CAAAA,QAAAA,CAASR,CAAwB,CAC5C,CAAC,CAEKS,CAAAA,CAAAA,CAA6BR,MAAO,CAAA,CACxC,KAAMK,MAAO,EACf,CAAC,CAAA,CAEKI,CAAqBN,CAAAA,CAAAA,CAAuB,OAChDO,GAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,CAA2B,CAAA,MAAA,CACxDE,GAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,CAEME,CAAAA,CAAAA,CAAaC,EAAY,MAAO,CAAA,CACpC,UAAYC,CAAAA,OAAAA,CAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,kBAAmB,CAAA,OAAA,CAAS,CAEnDC,GAAAA,CAAkB,MAAO,CAAA,CACvB,WAAYH,OAAQ,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC1C,MAAOA,OAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,CAEDQ,CAAAA,GAAAA,CAAkB,MAAO,CAAA,CACvB,WAAYH,OAAQ,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC1C,KAAOA,CAAAA,OAAAA,CAAQ,aAAa,CAAA,CAAE,OAAQ,CAAA,aAAa,CACnD,CAAA,QAAA,CAAUH,CACZ,CAAC,CACH,CAAC,CAAA,CAAE,SAAWO,CAAAA,CAAAA,EAAUC,EAA+BD,CAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,CAAW,CAAA,OAAA,GACjC,IAAK,CAAA,CACJ,OAAS,CAAA,IAAA,CACT,EAAI,CAAA,IAAA,CACJ,UAAY,CAAA,IAAA,CACZ,YAAc,CAAA,IAAA,CACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,KAAM,IACN,CAAA,IAAA,CAAM,IACN,CAAA,iBAAA,CAAmB,IACrB,CAAC,EACA,MAAO,CAAA,CACN,YAAcP,CAAAA,MAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,CAAA,CACA,SAAWa,CAAAA,CAAAA,EAAUC,CAA+BD,CAAAA,CAAK,CAAC","file":"chunk-AUDVUOLX.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion,\n nullable,\n boolean\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst ZipArchiveMetadataSchema = object({\n entry_count: number(),\n file_count: number(),\n directory_count: number(),\n total_uncompressed_size: number(),\n total_compressed_size: number(),\n preview_truncated: boolean(),\n});\n\nconst BaseFileMetadataSchema = object({\n id: uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n archive: optional(ZipArchiveMetadataSchema),\n});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\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 is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n FileSchema,\n CreateFileSchema,\n updateFileSchema,\n ZipArchiveMetadataSchema,\n};\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\nexport type ZipArchiveMetadata = z.infer<typeof ZipArchiveMetadataSchema>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/users.ts"],"names":["ActorTypeSchema","zodEnum","ProfileSchema","object","uuid","optional","nullable","string","boolean","array","ReadProfileSchema","number","UpdateProfileSchema"],"mappings":"0FAaMA,IAAAA,CAAAA,CAAkBC,KAAQ,CAAA,CAAC,OAAQ,OAAS,CAAA,UAAU,CAAC,CAEvDC,CAAAA,CAAAA,CAAgBC,OAAO,CAC3B,EAAA,CAAIC,MACJ,CAAA,OAAA,CAASA,MACT,CAAA,QAAA,CAAUC,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACrC,IAAMF,CAAAA,QAAAA,CAASC,SAASC,MAAO,EAAC,CAAC,CACjC,CAAA,UAAA,CAAYF,SAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACvC,UAAWF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,EACtC,WAAaF,CAAAA,QAAAA,CAASC,QAASC,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACxC,IAAKF,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,EAChC,cAAgBF,CAAAA,QAAAA,CAASG,SAAS,CAAA,CAClC,WAAYH,QAASC,CAAAA,QAAAA,CAASC,QAAQ,CAAC,CACvC,CAAA,IAAA,CAAMF,SACJI,KACEN,CAAAA,MAAAA,CAAO,CACL,KAAOI,CAAAA,MAAAA,GAAS,GAAI,EACtB,CAAC,CACH,CACF,EACA,OAASF,CAAAA,QAAAA,CAASC,SAASF,IAAK,EAAC,CAAC,CAClC,CAAA,UAAA,CAAYJ,CACZ,CAAA,SAAA,CAAWC,MAAQ,CAAC,MAAA,CAAQ,MAAM,CAAC,CAAA,CACnC,YAAaM,MAAO,EACtB,CAAC,CAEKG,CAAAA,CAAAA,CAAoBR,EAAc,MAAO,CAAA,CAC7C,YAAaM,OAAQ,EAAA,CACrB,WAAYA,OAAQ,EAAA,CACpB,MAAQA,CAAAA,OAAAA,GACR,SAAWG,CAAAA,MAAAA,GAAS,OAAQ,CAAA,CAAC,EAC7B,SAAWA,CAAAA,MAAAA,GAAS,OAAQ,CAAA,CAAC,EAC7B,OAASA,CAAAA,MAAAA,GAAS,OAAQ,CAAA,CAAC,EAC3B,KAAOA,CAAAA,MAAAA,GAAS,OAAQ,CAAA,CAAC,CAC3B,CAAC,CAAA,CAEKC,EAAsBV,CAAc,CAAA,OAAA,GAAU,IAAK,CAAA,CACvD,GAAI,IACJ,CAAA,OAAA,CAAS,KACT,WAAa,CAAA,IAAA,CACb,eAAgB,IAChB,CAAA,UAAA,CAAY,IAEd,CAAC","file":"chunk-G6GCUGMM.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n boolean,\n enum as zodEnum,\n type z,\n optional,\n nullable,\n uuid\n} from \"zod\";\n\nconst ActorTypeSchema = zodEnum([\"base\", \"agent\", \"verified\"]);\n\nconst ProfileSchema = object({\n id: uuid(),\n user_id: uuid(),\n username: optional(nullable(string())),\n name: optional(nullable(string())),\n first_name: optional(nullable(string())),\n last_name: optional(nullable(string())),\n avatar_path: optional(nullable(string())),\n bio: optional(nullable(string())),\n is_provisioned: optional(boolean()),\n claimed_at: optional(nullable(string())),\n urls: optional(\n array(\n object({\n value: string().url(),\n })\n )\n ),\n post_id: optional(nullable(uuid())),\n actor_type: ActorTypeSchema,\n plan_type: zodEnum([\"free\", \"gold\"]),\n last_active: string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n isFollowing: boolean(),\n isFollowed: boolean(),\n isSelf: boolean(),\n followers: number().default(0),\n following: number().default(0),\n totalXp: number().default(0),\n level: number().default(1),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n is_provisioned: true,\n claimed_at: true,\n // username: true, // once set, users cannot update their username\n});\n\nexport { ActorTypeSchema, ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type ActorType = z.infer<typeof ActorTypeSchema>;\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"]}
@@ -1 +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,YAASC,CAAAA,UAAAA,EAAQ,CAAC,CAAA,CACxC,IAAKF,YAASC,CAAAA,YAAAA,CAASC,YAAQ,CAAC,EAChC,cAAgBF,CAAAA,YAAAA,CAASG,aAAS,CAAA,CAClC,WAAYH,YAASC,CAAAA,YAAAA,CAASC,YAAQ,CAAC,CACvC,CAAA,IAAA,CAAMF,aACJI,SACEN,CAAAA,UAAAA,CAAO,CACL,KAAOI,CAAAA,UAAAA,GAAS,GAAI,EACtB,CAAC,CACH,CACF,EACA,OAASF,CAAAA,YAAAA,CAASC,aAASF,QAAK,EAAC,CAAC,CAClC,CAAA,UAAA,CAAYJ,CACZ,CAAA,SAAA,CAAWC,SAAQ,CAAC,MAAA,CAAQ,MAAM,CAAC,CAAA,CACnC,YAAaM,UAAO,EACtB,CAAC,CAEKG,CAAAA,CAAAA,CAAoBR,EAAc,MAAO,CAAA,CAC7C,YAAaM,WAAQ,EAAA,CACrB,WAAYA,WAAQ,EAAA,CACpB,MAAQA,CAAAA,WAAAA,GACR,SAAWG,CAAAA,UAAAA,GAAS,OAAQ,CAAA,CAAC,EAC7B,SAAWA,CAAAA,UAAAA,GAAS,OAAQ,CAAA,CAAC,EAC7B,OAASA,CAAAA,UAAAA,GAAS,OAAQ,CAAA,CAAC,EAC3B,KAAOA,CAAAA,UAAAA,GAAS,OAAQ,CAAA,CAAC,CAC3B,CAAC,CAAA,CAEKC,EAAsBV,CAAc,CAAA,OAAA,GAAU,IAAK,CAAA,CACvD,GAAI,IACJ,CAAA,OAAA,CAAS,KACT,WAAa,CAAA,IAAA,CACb,eAAgB,IAChB,CAAA,UAAA,CAAY,IAEd,CAAC","file":"chunk-L6SVUDFH.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 // username: true, // once set, users cannot update their username\n});\n\nexport { ActorTypeSchema, ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type ActorType = z.infer<typeof ActorTypeSchema>;\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var chunk7R5EIIIR_cjs=require('./chunk-7R5EIIIR.cjs'),zod=require('zod');var h=zod.object({entry_count:zod.number(),file_count:zod.number(),directory_count:zod.number(),total_uncompressed_size:zod.number(),total_compressed_size:zod.number(),preview_truncated:zod.boolean()}),S=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()),archive:zod.optional(h)}),_=zod.object({type:zod.string()}),c=S.extend(chunk7R5EIIIR_cjs.b.partial().shape),y=_.extend(chunk7R5EIIIR_cjs.b.partial().shape),F=chunk7R5EIIIR_cjs.f.extend({asset_type:zod.literal("file").default("file"),metadata:c}),b=zod.discriminatedUnion("state",[chunk7R5EIIIR_cjs.h.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:c}),chunk7R5EIIIR_cjs.h.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:y})]).transform(i=>chunk7R5EIIIR_cjs.a(i)),M=F.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true,is_pinned_in_team:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}).transform(i=>chunk7R5EIIIR_cjs.a(i));exports.a=h;exports.b=F;exports.c=b;exports.d=M;//# sourceMappingURL=chunk-SZWAE35B.cjs.map
2
- //# sourceMappingURL=chunk-SZWAE35B.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/files.ts"],"names":["ZipArchiveMetadataSchema","object","number","boolean","BaseFileMetadataSchema","uuid","string","zodEnum","optional","BaseStubFileMetadataSchema","FileMetadataSchema","AssetMetadataSchema","StubFileMetadataSchema","FileSchema","AssetSchema","literal","CreateFileSchema","discriminatedUnion","CreateAssetSchema","value","normalizeAssetConfigForParsing","updateFileSchema"],"mappings":"0FAqBMA,CAA2BC,CAAAA,UAAAA,CAAO,CACtC,WAAA,CAAaC,UAAO,EAAA,CACpB,WAAYA,UAAO,EAAA,CACnB,eAAiBA,CAAAA,UAAAA,EACjB,CAAA,uBAAA,CAAyBA,YACzB,CAAA,qBAAA,CAAuBA,UAAO,EAAA,CAC9B,iBAAmBC,CAAAA,WAAAA,EACrB,CAAC,CAAA,CAEKC,CAAyBH,CAAAA,UAAAA,CAAO,CACpC,EAAA,CAAII,QAAK,EAAA,CACT,IAAMC,CAAAA,UAAAA,EACN,CAAA,MAAA,CAAQC,QAAQ,CAAA,CAAC,eAAgB,OAAO,CAAC,CACzC,CAAA,IAAA,CAAMD,UAAO,EAAA,CACb,KAAMA,UAAO,EAAA,CACb,SAAWA,CAAAA,UAAAA,EACX,CAAA,IAAA,CAAMJ,YAEN,CAAA,KAAA,CAAOM,YAASN,CAAAA,UAAAA,EAAQ,CAAA,CACxB,OAAQM,YAASN,CAAAA,UAAAA,EAAQ,CAAA,CACzB,OAASM,CAAAA,YAAAA,CAASR,CAAwB,CAC5C,CAAC,CAEKS,CAAAA,CAAAA,CAA6BR,UAAO,CAAA,CACxC,KAAMK,UAAO,EACf,CAAC,CAAA,CAEKI,CAAqBN,CAAAA,CAAAA,CAAuB,OAChDO,mBAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,CAA2B,CAAA,MAAA,CACxDE,mBAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,CAEME,CAAAA,CAAAA,CAAaC,oBAAY,MAAO,CAAA,CACpC,UAAYC,CAAAA,WAAAA,CAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,sBAAmB,CAAA,OAAA,CAAS,CAEnDC,mBAAAA,CAAkB,MAAO,CAAA,CACvB,WAAYH,WAAQ,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC1C,MAAOA,WAAQ,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,CAEDQ,CAAAA,mBAAAA,CAAkB,MAAO,CAAA,CACvB,WAAYH,WAAQ,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC1C,KAAOA,CAAAA,WAAAA,CAAQ,aAAa,CAAA,CAAE,OAAQ,CAAA,aAAa,CACnD,CAAA,QAAA,CAAUH,CACZ,CAAC,CACH,CAAC,CAAA,CAAE,SAAWO,CAAAA,CAAAA,EAAUC,oBAA+BD,CAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,CAAW,CAAA,OAAA,GACjC,IAAK,CAAA,CACJ,OAAS,CAAA,IAAA,CACT,EAAI,CAAA,IAAA,CACJ,UAAY,CAAA,IAAA,CACZ,YAAc,CAAA,IAAA,CACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,KAAM,IACN,CAAA,IAAA,CAAM,IACN,CAAA,iBAAA,CAAmB,IACrB,CAAC,EACA,MAAO,CAAA,CACN,YAAcP,CAAAA,UAAAA,EAAS,CAAA,OAAA,CAAQ,IAAM,IAAI,IAAA,EAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,CAAA,CACA,SAAWa,CAAAA,CAAAA,EAAUC,mBAA+BD,CAAAA,CAAK,CAAC","file":"chunk-SZWAE35B.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 boolean\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst ZipArchiveMetadataSchema = object({\n entry_count: number(),\n file_count: number(),\n directory_count: number(),\n total_uncompressed_size: number(),\n total_compressed_size: number(),\n preview_truncated: boolean(),\n});\n\nconst BaseFileMetadataSchema = object({\n id: uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n archive: optional(ZipArchiveMetadataSchema),\n});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\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 is_pinned_in_team: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n FileSchema,\n CreateFileSchema,\n updateFileSchema,\n ZipArchiveMetadataSchema,\n};\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\nexport type ZipArchiveMetadata = z.infer<typeof ZipArchiveMetadataSchema>;\n"]}