@ourofoundation/ouro-js 3.7.8 → 3.8.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.
Files changed (133) hide show
  1. package/dist/{chunk-66AAHP6X.cjs → chunk-23FTPTDP.cjs} +2 -2
  2. package/dist/{chunk-66AAHP6X.cjs.map → chunk-23FTPTDP.cjs.map} +1 -1
  3. package/dist/chunk-33C7IDRP.js +2 -0
  4. package/dist/chunk-33C7IDRP.js.map +1 -0
  5. package/dist/{chunk-4NAPVNIX.js → chunk-3UE4H5TR.js} +2 -2
  6. package/dist/{chunk-4NAPVNIX.js.map → chunk-3UE4H5TR.js.map} +1 -1
  7. package/dist/{chunk-3OUJXTJZ.js → chunk-5CKFMTWZ.js} +2 -2
  8. package/dist/{chunk-3OUJXTJZ.js.map → chunk-5CKFMTWZ.js.map} +1 -1
  9. package/dist/{chunk-Z66O3S3W.cjs → chunk-5SC4M4E3.cjs} +2 -2
  10. package/dist/{chunk-Z66O3S3W.cjs.map → chunk-5SC4M4E3.cjs.map} +1 -1
  11. package/dist/{chunk-KHUEMWG2.js → chunk-6OO4SOWL.js} +2 -2
  12. package/dist/{chunk-KHUEMWG2.js.map → chunk-6OO4SOWL.js.map} +1 -1
  13. package/dist/{chunk-7YG2YDXN.cjs → chunk-7R5EIIIR.cjs} +2 -2
  14. package/dist/{chunk-7YG2YDXN.cjs.map → chunk-7R5EIIIR.cjs.map} +1 -1
  15. package/dist/chunk-APZA6MIM.js +2 -0
  16. package/dist/chunk-APZA6MIM.js.map +1 -0
  17. package/dist/chunk-AUDVUOLX.js +2 -0
  18. package/dist/chunk-AUDVUOLX.js.map +1 -0
  19. package/dist/{chunk-ZRJUBEIK.cjs → chunk-BELCP7OL.cjs} +2 -2
  20. package/dist/{chunk-ZRJUBEIK.cjs.map → chunk-BELCP7OL.cjs.map} +1 -1
  21. package/dist/{chunk-CW4TV3DY.js → chunk-CXMEZGVG.js} +2 -2
  22. package/dist/{chunk-CW4TV3DY.js.map → chunk-CXMEZGVG.js.map} +1 -1
  23. package/dist/{chunk-42WKTHH5.js → chunk-EIB2YGN3.js} +2 -2
  24. package/dist/{chunk-42WKTHH5.js.map → chunk-EIB2YGN3.js.map} +1 -1
  25. package/dist/{chunk-EMDUI7HF.js → chunk-GT7CSIDN.js} +2 -2
  26. package/dist/{chunk-EMDUI7HF.js.map → chunk-GT7CSIDN.js.map} +1 -1
  27. package/dist/{chunk-PB4XG5WM.js → chunk-GX6RCMZR.js} +2 -2
  28. package/dist/{chunk-PB4XG5WM.js.map → chunk-GX6RCMZR.js.map} +1 -1
  29. package/dist/{chunk-W3N744QV.js → chunk-KMENBGAB.js} +2 -2
  30. package/dist/{chunk-W3N744QV.js.map → chunk-KMENBGAB.js.map} +1 -1
  31. package/dist/{chunk-UDTRH3OQ.cjs → chunk-M2ZH6MMH.cjs} +2 -2
  32. package/dist/{chunk-UDTRH3OQ.cjs.map → chunk-M2ZH6MMH.cjs.map} +1 -1
  33. package/dist/{chunk-YTIUJ72Q.js → chunk-M5ZLLARC.js} +2 -2
  34. package/dist/{chunk-YTIUJ72Q.js.map → chunk-M5ZLLARC.js.map} +1 -1
  35. package/dist/{chunk-3RFYEL3A.cjs → chunk-N3HC2ASR.cjs} +2 -2
  36. package/dist/{chunk-3RFYEL3A.cjs.map → chunk-N3HC2ASR.cjs.map} +1 -1
  37. package/dist/chunk-NVKZLT3M.cjs +2 -0
  38. package/dist/chunk-NVKZLT3M.cjs.map +1 -0
  39. package/dist/{chunk-QWD7POET.cjs → chunk-O6RFWCC4.cjs} +2 -2
  40. package/dist/{chunk-QWD7POET.cjs.map → chunk-O6RFWCC4.cjs.map} +1 -1
  41. package/dist/{chunk-3C7PGJ33.js → chunk-QUBJLDJY.js} +2 -2
  42. package/dist/{chunk-3C7PGJ33.js.map → chunk-QUBJLDJY.js.map} +1 -1
  43. package/dist/chunk-RNBIB6S7.cjs +2 -0
  44. package/dist/chunk-RNBIB6S7.cjs.map +1 -0
  45. package/dist/{chunk-FJTFM3ML.cjs → chunk-RQUVICCB.cjs} +2 -2
  46. package/dist/{chunk-FJTFM3ML.cjs.map → chunk-RQUVICCB.cjs.map} +1 -1
  47. package/dist/chunk-RRDGLT3N.cjs +2 -0
  48. package/dist/{chunk-LD5G6GFH.cjs.map → chunk-RRDGLT3N.cjs.map} +1 -1
  49. package/dist/chunk-SZWAE35B.cjs +2 -0
  50. package/dist/chunk-SZWAE35B.cjs.map +1 -0
  51. package/dist/chunk-U5JVCESS.js +2 -0
  52. package/dist/chunk-U5JVCESS.js.map +1 -0
  53. package/dist/{chunk-B3OK6NNR.cjs → chunk-W4V643O5.cjs} +2 -2
  54. package/dist/{chunk-B3OK6NNR.cjs.map → chunk-W4V643O5.cjs.map} +1 -1
  55. package/dist/chunk-YFEGRZXL.cjs +2 -0
  56. package/dist/chunk-YFEGRZXL.cjs.map +1 -0
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.d.cts +3 -3
  59. package/dist/index.d.ts +3 -3
  60. package/dist/index.js +1 -1
  61. package/dist/schema/asset-filters.cjs +1 -1
  62. package/dist/schema/asset-filters.d.cts +7 -7
  63. package/dist/schema/asset-filters.d.ts +7 -7
  64. package/dist/schema/asset-filters.js +1 -1
  65. package/dist/schema/assets.cjs +1 -1
  66. package/dist/schema/assets.d.cts +63 -63
  67. package/dist/schema/assets.d.ts +63 -63
  68. package/dist/schema/assets.js +1 -1
  69. package/dist/schema/comments.cjs +1 -1
  70. package/dist/schema/comments.d.cts +59 -59
  71. package/dist/schema/comments.d.ts +59 -59
  72. package/dist/schema/comments.js +1 -1
  73. package/dist/schema/common.cjs +1 -1
  74. package/dist/schema/common.d.cts +10 -9
  75. package/dist/schema/common.d.ts +10 -9
  76. package/dist/schema/common.js +1 -1
  77. package/dist/schema/conversations.cjs +1 -1
  78. package/dist/schema/conversations.d.cts +77 -58
  79. package/dist/schema/conversations.d.ts +77 -58
  80. package/dist/schema/conversations.js +1 -1
  81. package/dist/schema/datasets.cjs +1 -1
  82. package/dist/schema/datasets.d.cts +137 -137
  83. package/dist/schema/datasets.d.ts +137 -137
  84. package/dist/schema/datasets.js +1 -1
  85. package/dist/schema/files.cjs +1 -1
  86. package/dist/schema/files.d.cts +154 -89
  87. package/dist/schema/files.d.ts +154 -89
  88. package/dist/schema/files.js +1 -1
  89. package/dist/schema/notifications.cjs +1 -1
  90. package/dist/schema/notifications.d.cts +106 -106
  91. package/dist/schema/notifications.d.ts +106 -106
  92. package/dist/schema/notifications.js +1 -1
  93. package/dist/schema/organizations.cjs +1 -1
  94. package/dist/schema/organizations.js +1 -1
  95. package/dist/schema/posts.cjs +1 -1
  96. package/dist/schema/posts.d.cts +91 -91
  97. package/dist/schema/posts.d.ts +91 -91
  98. package/dist/schema/posts.js +1 -1
  99. package/dist/schema/quests.cjs +1 -1
  100. package/dist/schema/quests.d.cts +192 -131
  101. package/dist/schema/quests.d.ts +192 -131
  102. package/dist/schema/quests.js +1 -1
  103. package/dist/schema/services.cjs +1 -1
  104. package/dist/schema/services.d.cts +132 -132
  105. package/dist/schema/services.d.ts +132 -132
  106. package/dist/schema/services.js +1 -1
  107. package/dist/schema/teams.cjs +1 -1
  108. package/dist/schema/teams.d.cts +15 -15
  109. package/dist/schema/teams.d.ts +15 -15
  110. package/dist/schema/teams.js +1 -1
  111. package/dist/utils/quest-submission.cjs +1 -1
  112. package/dist/utils/quest-submission.d.cts +4 -4
  113. package/dist/utils/quest-submission.d.ts +4 -4
  114. package/dist/utils/quest-submission.js +1 -1
  115. package/package.json +2 -2
  116. package/tests/files.test.mjs +42 -0
  117. package/dist/chunk-3BZRQYRC.js +0 -2
  118. package/dist/chunk-3BZRQYRC.js.map +0 -1
  119. package/dist/chunk-ASLHRT77.js +0 -2
  120. package/dist/chunk-ASLHRT77.js.map +0 -1
  121. package/dist/chunk-LD5G6GFH.cjs +0 -2
  122. package/dist/chunk-MNECKGIP.cjs +0 -2
  123. package/dist/chunk-MNECKGIP.cjs.map +0 -1
  124. package/dist/chunk-UVVPXYJA.cjs +0 -2
  125. package/dist/chunk-UVVPXYJA.cjs.map +0 -1
  126. package/dist/chunk-W6AKVS4L.cjs +0 -2
  127. package/dist/chunk-W6AKVS4L.cjs.map +0 -1
  128. package/dist/chunk-W6MBAIKZ.cjs +0 -2
  129. package/dist/chunk-W6MBAIKZ.cjs.map +0 -1
  130. package/dist/chunk-XVN3DFMT.js +0 -2
  131. package/dist/chunk-XVN3DFMT.js.map +0 -1
  132. package/dist/chunk-Y6TOO6ET.js +0 -2
  133. package/dist/chunk-Y6TOO6ET.js.map +0 -1
@@ -1,2 +1,2 @@
1
- export{l as ActionAssetRefSchema,k as ActionSchema,b as CreateServiceSchema,d as ExecutionModeSchema,m as ReadActionRouteSchema,n as ReadActionSchema,e as RouteInputAssetDeclarationSchema,g as RouteInputAssetsSchema,i as RouteMetricsSchema,f as RouteOutputAssetDeclarationSchema,h as RouteOutputAssetsSchema,j as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'../chunk-4NAPVNIX.js';import'../chunk-OU4JKY4M.js';import'../chunk-PB4XG5WM.js';import'../chunk-YTIUJ72Q.js';import'../chunk-42WKTHH5.js';import'../chunk-G6GCUGMM.js';import'../chunk-3BZRQYRC.js';import'../chunk-DUBPWSCA.js';import'../chunk-42ADEGDM.js';//# sourceMappingURL=services.js.map
1
+ export{l as ActionAssetRefSchema,k as ActionSchema,b as CreateServiceSchema,d as ExecutionModeSchema,m as ReadActionRouteSchema,n as ReadActionSchema,e as RouteInputAssetDeclarationSchema,g as RouteInputAssetsSchema,i as RouteMetricsSchema,f as RouteOutputAssetDeclarationSchema,h as RouteOutputAssetsSchema,j as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'../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=services.js.map
2
2
  //# sourceMappingURL=services.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkLD5G6GFH_cjs=require('../chunk-LD5G6GFH.cjs');require('../chunk-ZRJUBEIK.cjs'),require('../chunk-L6SVUDFH.cjs'),require('../chunk-MNECKGIP.cjs'),require('../chunk-JRBBNFFI.cjs');Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkLD5G6GFH_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkLD5G6GFH_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkLD5G6GFH_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkLD5G6GFH_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkLD5G6GFH_cjs.e}});//# sourceMappingURL=teams.cjs.map
1
+ 'use strict';var chunkRRDGLT3N_cjs=require('../chunk-RRDGLT3N.cjs');require('../chunk-BELCP7OL.cjs'),require('../chunk-L6SVUDFH.cjs'),require('../chunk-YFEGRZXL.cjs'),require('../chunk-JRBBNFFI.cjs');Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkRRDGLT3N_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkRRDGLT3N_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkRRDGLT3N_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkRRDGLT3N_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkRRDGLT3N_cjs.e}});//# sourceMappingURL=teams.cjs.map
2
2
  //# sourceMappingURL=teams.cjs.map
@@ -112,16 +112,9 @@ declare const TeamSchema: z.ZodObject<{
112
112
  created_at: z.ZodString;
113
113
  }, z.core.$strip>;
114
114
  declare const CreateTeamSchema: z.ZodObject<{
115
- visibility: z.ZodDefault<z.ZodEnum<{
116
- organization: "organization";
117
- public: "public";
118
- private: "private";
119
- monetized: "monetized";
120
- inherit: "inherit";
121
- }>>;
122
115
  id: z.ZodDefault<z.ZodString>;
123
- name: z.ZodString;
124
116
  org_id: z.ZodUUID;
117
+ name: z.ZodString;
125
118
  actor_type_policy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
126
119
  any: "any";
127
120
  verified_only: "verified_only";
@@ -132,6 +125,13 @@ declare const CreateTeamSchema: z.ZodObject<{
132
125
  web_only: "web_only";
133
126
  api_only: "api_only";
134
127
  }>>>;
128
+ visibility: z.ZodDefault<z.ZodEnum<{
129
+ organization: "organization";
130
+ public: "public";
131
+ private: "private";
132
+ monetized: "monetized";
133
+ inherit: "inherit";
134
+ }>>;
135
135
  default_role: z.ZodDefault<z.ZodEnum<{
136
136
  admin: "admin";
137
137
  read: "read";
@@ -436,13 +436,6 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
436
436
  value: z.ZodString;
437
437
  }, z.core.$strip>>;
438
438
  declare const UpdateTeamSchema: z.ZodObject<{
439
- visibility: z.ZodOptional<z.ZodEnum<{
440
- organization: "organization";
441
- public: "public";
442
- private: "private";
443
- monetized: "monetized";
444
- inherit: "inherit";
445
- }>>;
446
439
  name: z.ZodOptional<z.ZodString>;
447
440
  actor_type_policy: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
448
441
  any: "any";
@@ -454,6 +447,13 @@ declare const UpdateTeamSchema: z.ZodObject<{
454
447
  web_only: "web_only";
455
448
  api_only: "api_only";
456
449
  }>>>>;
450
+ visibility: z.ZodOptional<z.ZodEnum<{
451
+ organization: "organization";
452
+ public: "public";
453
+ private: "private";
454
+ monetized: "monetized";
455
+ inherit: "inherit";
456
+ }>>;
457
457
  default_role: z.ZodOptional<z.ZodEnum<{
458
458
  admin: "admin";
459
459
  read: "read";
@@ -112,16 +112,9 @@ declare const TeamSchema: z.ZodObject<{
112
112
  created_at: z.ZodString;
113
113
  }, z.core.$strip>;
114
114
  declare const CreateTeamSchema: z.ZodObject<{
115
- visibility: z.ZodDefault<z.ZodEnum<{
116
- organization: "organization";
117
- public: "public";
118
- private: "private";
119
- monetized: "monetized";
120
- inherit: "inherit";
121
- }>>;
122
115
  id: z.ZodDefault<z.ZodString>;
123
- name: z.ZodString;
124
116
  org_id: z.ZodUUID;
117
+ name: z.ZodString;
125
118
  actor_type_policy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
126
119
  any: "any";
127
120
  verified_only: "verified_only";
@@ -132,6 +125,13 @@ declare const CreateTeamSchema: z.ZodObject<{
132
125
  web_only: "web_only";
133
126
  api_only: "api_only";
134
127
  }>>>;
128
+ visibility: z.ZodDefault<z.ZodEnum<{
129
+ organization: "organization";
130
+ public: "public";
131
+ private: "private";
132
+ monetized: "monetized";
133
+ inherit: "inherit";
134
+ }>>;
135
135
  default_role: z.ZodDefault<z.ZodEnum<{
136
136
  admin: "admin";
137
137
  read: "read";
@@ -436,13 +436,6 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
436
436
  value: z.ZodString;
437
437
  }, z.core.$strip>>;
438
438
  declare const UpdateTeamSchema: z.ZodObject<{
439
- visibility: z.ZodOptional<z.ZodEnum<{
440
- organization: "organization";
441
- public: "public";
442
- private: "private";
443
- monetized: "monetized";
444
- inherit: "inherit";
445
- }>>;
446
439
  name: z.ZodOptional<z.ZodString>;
447
440
  actor_type_policy: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
448
441
  any: "any";
@@ -454,6 +447,13 @@ declare const UpdateTeamSchema: z.ZodObject<{
454
447
  web_only: "web_only";
455
448
  api_only: "api_only";
456
449
  }>>>>;
450
+ visibility: z.ZodOptional<z.ZodEnum<{
451
+ organization: "organization";
452
+ public: "public";
453
+ private: "private";
454
+ monetized: "monetized";
455
+ inherit: "inherit";
456
+ }>>;
457
457
  default_role: z.ZodOptional<z.ZodEnum<{
458
458
  admin: "admin";
459
459
  read: "read";
@@ -1,2 +1,2 @@
1
- export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'../chunk-YTIUJ72Q.js';import'../chunk-42WKTHH5.js';import'../chunk-G6GCUGMM.js';import'../chunk-3BZRQYRC.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-M5ZLLARC.js';import'../chunk-EIB2YGN3.js';import'../chunk-G6GCUGMM.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 chunkUDTRH3OQ_cjs=require('../chunk-UDTRH3OQ.cjs');require('../chunk-B3OK6NNR.cjs'),require('../chunk-KHERHT26.cjs'),require('../chunk-7YG2YDXN.cjs'),require('../chunk-LD5G6GFH.cjs'),require('../chunk-ZRJUBEIK.cjs'),require('../chunk-L6SVUDFH.cjs'),require('../chunk-MNECKGIP.cjs'),require('../chunk-7HF5VHUN.cjs'),require('../chunk-JRBBNFFI.cjs');Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.c}});Object.defineProperty(exports,"KeyedAssetInputValueSchema",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.b}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunkUDTRH3OQ_cjs.m}});//# sourceMappingURL=quest-submission.cjs.map
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
2
2
  //# sourceMappingURL=quest-submission.cjs.map
@@ -5,10 +5,10 @@ declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
5
5
  asset_id: z.ZodUUID;
6
6
  asset_type: z.ZodEnum<{
7
7
  user: "user";
8
- file: "file";
9
8
  organization: "organization";
10
9
  team: "team";
11
10
  dataset: "dataset";
11
+ file: "file";
12
12
  service: "service";
13
13
  route: "route";
14
14
  post: "post";
@@ -22,10 +22,10 @@ declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodO
22
22
  asset_id: z.ZodUUID;
23
23
  asset_type: z.ZodOptional<z.ZodEnum<{
24
24
  user: "user";
25
- file: "file";
26
25
  organization: "organization";
27
26
  team: "team";
28
27
  dataset: "dataset";
28
+ file: "file";
29
29
  service: "service";
30
30
  route: "route";
31
31
  post: "post";
@@ -38,10 +38,10 @@ declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonl
38
38
  asset_id: z.ZodUUID;
39
39
  asset_type: z.ZodOptional<z.ZodEnum<{
40
40
  user: "user";
41
- file: "file";
42
41
  organization: "organization";
43
42
  team: "team";
44
43
  dataset: "dataset";
44
+ file: "file";
45
45
  service: "service";
46
46
  route: "route";
47
47
  post: "post";
@@ -52,8 +52,8 @@ declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonl
52
52
  }, z.core.$strip>]>>;
53
53
  declare const QuestSubmissionAssetDeclarationSchema: z.ZodObject<{
54
54
  asset_type: z.ZodEnum<{
55
- file: "file";
56
55
  dataset: "dataset";
56
+ file: "file";
57
57
  post: "post";
58
58
  }>;
59
59
  primary: z.ZodOptional<z.ZodBoolean>;
@@ -5,10 +5,10 @@ declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
5
5
  asset_id: z.ZodUUID;
6
6
  asset_type: z.ZodEnum<{
7
7
  user: "user";
8
- file: "file";
9
8
  organization: "organization";
10
9
  team: "team";
11
10
  dataset: "dataset";
11
+ file: "file";
12
12
  service: "service";
13
13
  route: "route";
14
14
  post: "post";
@@ -22,10 +22,10 @@ declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodO
22
22
  asset_id: z.ZodUUID;
23
23
  asset_type: z.ZodOptional<z.ZodEnum<{
24
24
  user: "user";
25
- file: "file";
26
25
  organization: "organization";
27
26
  team: "team";
28
27
  dataset: "dataset";
28
+ file: "file";
29
29
  service: "service";
30
30
  route: "route";
31
31
  post: "post";
@@ -38,10 +38,10 @@ declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonl
38
38
  asset_id: z.ZodUUID;
39
39
  asset_type: z.ZodOptional<z.ZodEnum<{
40
40
  user: "user";
41
- file: "file";
42
41
  organization: "organization";
43
42
  team: "team";
44
43
  dataset: "dataset";
44
+ file: "file";
45
45
  service: "service";
46
46
  route: "route";
47
47
  post: "post";
@@ -52,8 +52,8 @@ declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonl
52
52
  }, z.core.$strip>]>>;
53
53
  declare const QuestSubmissionAssetDeclarationSchema: z.ZodObject<{
54
54
  asset_type: z.ZodEnum<{
55
- file: "file";
56
55
  dataset: "dataset";
56
+ file: "file";
57
57
  post: "post";
58
58
  }>;
59
59
  primary: z.ZodOptional<z.ZodBoolean>;
@@ -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-3OUJXTJZ.js';import'../chunk-4NAPVNIX.js';import'../chunk-OU4JKY4M.js';import'../chunk-PB4XG5WM.js';import'../chunk-YTIUJ72Q.js';import'../chunk-42WKTHH5.js';import'../chunk-G6GCUGMM.js';import'../chunk-3BZRQYRC.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-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
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.7.8",
3
+ "version": "3.8.0",
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",
@@ -37,7 +37,7 @@
37
37
  "scripts": {
38
38
  "build": "tsup",
39
39
  "dev": "tsup --watch",
40
- "test": "echo \"Error: no test specified\" && exit 1",
40
+ "test": "npm run build && node --test tests/*.test.mjs",
41
41
  "types": "tsc --emitDeclarationOnly --declaration",
42
42
  "prepublishOnly": "npm run build"
43
43
  },
@@ -0,0 +1,42 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+
4
+ import { CreateFileSchema } from "../dist/index.js";
5
+
6
+ test("ZIP preview rows and archive metadata parse together", () => {
7
+ const file = CreateFileSchema.parse({
8
+ name: "results.zip",
9
+ asset_type: "file",
10
+ state: "success",
11
+ metadata: {
12
+ id: "019b7d6d-2cc5-7df8-a575-91ecbfc72fc0",
13
+ path: "user/results.zip",
14
+ bucket: "public-files",
15
+ name: "results.zip",
16
+ type: "application/zip",
17
+ extension: "zip",
18
+ size: 1024,
19
+ archive: {
20
+ entry_count: 1,
21
+ file_count: 1,
22
+ directory_count: 0,
23
+ total_uncompressed_size: 20,
24
+ total_compressed_size: 12,
25
+ preview_truncated: false,
26
+ },
27
+ },
28
+ preview: [
29
+ {
30
+ path: "data.csv",
31
+ name: "data.csv",
32
+ type: "text/csv",
33
+ size: 20,
34
+ compressed_size: 12,
35
+ is_directory: false,
36
+ },
37
+ ],
38
+ });
39
+
40
+ assert.equal(file.metadata.archive.entry_count, 1);
41
+ assert.equal(file.preview[0].name, "data.csv");
42
+ });
@@ -1,2 +0,0 @@
1
- import {enum as _enum,object,string,optional,array,nullable,record,any,number,uuid}from'zod';var r=_enum(["user","organization","team","dataset","file","service","route","post","quest","comment","conversation"]),h=_enum(["public","private","organization","monetized","inherit"]),d=_enum(["admin","read","write","none"]),S=_enum(["none","pay-to-unlock","pay-per-use"]),f=_enum(["usd","btc"]),_=object({id:string(),user_id:string(),org_id:optional(nullable(string())),embedding:array(number()),content:string(),asset_type:r,asset_id:string(),metadata:optional(nullable(record(string(),any()))),created_at:string(),last_updated:string()}),y=_enum(["comment","reference","mention","action","component","link","completion"]),z=object({id:uuid(),user_id:uuid(),type:y,action_id:optional(nullable(uuid())),source_id:uuid(),target_id:uuid(),source_asset_type:r,target_asset_type:r,created_at:string(),last_updated:string()}),l=object({assetId:uuid(),method:_enum(["checkout","api"]),assetType:r}),b=object({id:uuid(),role:d,user:object({user_id:uuid()}),user_id:nullable(uuid()),org_id:nullable(uuid()),asset_type:r,asset_id:uuid(),created_at:string(),last_updated:string()}),x=_enum(["queued","in-progress","timed-out","success","error"]),g=_enum(["web","api"]),P=_enum(["GET","POST","PUT","PATCH","DELETE"]);export{r as a,h as b,d as c,S as d,f as e,_ as f,z as g,l as h,b as i,x as j,g as k,P as l};//# sourceMappingURL=chunk-3BZRQYRC.js.map
2
- //# sourceMappingURL=chunk-3BZRQYRC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/common.ts"],"names":["AssetTypeSchema","zodEnum","VisibilitySchema","RoleSchema","MonetizationSchema","PriceCurrencySchema","EmbeddingSchema","object","string","optional","nullable","array","number","record","any","ConnectionTypeSchema","ConnectionSchema","uuid","PurchaseAssetSchema","PermissionSchema","StatusSchema","SourceSchema","HttpMethodSchema"],"mappings":"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","file":"chunk-3BZRQYRC.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n enum as zodEnum,\n type z,\n any,\n nullable,\n optional,\n record\n} from \"zod\";\n\nconst AssetTypeSchema = zodEnum([\n \"user\",\n \"organization\",\n \"team\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n \"post\",\n \"quest\",\n \"comment\",\n \"conversation\",\n]);\n\nconst VisibilitySchema = zodEnum([\n \"public\",\n \"private\",\n \"organization\",\n \"monetized\",\n \"inherit\",\n]);\n\nconst RoleSchema = zodEnum([\"admin\", \"read\", \"write\", \"none\"]);\n\nconst MonetizationSchema = zodEnum([\"none\", \"pay-to-unlock\", \"pay-per-use\"]);\n\nconst PriceCurrencySchema = zodEnum([\"usd\", \"btc\"]);\n\nconst EmbeddingSchema = object({\n id: string(),\n user_id: string(),\n org_id: optional(nullable(string())),\n embedding: array(number()),\n content: string(),\n asset_type: AssetTypeSchema,\n asset_id: string(),\n metadata: optional(nullable(record(string(), any()))),\n created_at: string(),\n last_updated: string(),\n});\n\nconst ConnectionTypeSchema = zodEnum([\n \"comment\",\n \"reference\",\n \"mention\",\n \"action\",\n \"component\",\n \"link\",\n \"completion\",\n]);\n\nconst ConnectionSchema = object({\n id: uuid(),\n user_id: uuid(),\n type: ConnectionTypeSchema,\n action_id: optional(nullable(uuid())),\n source_id: uuid(),\n target_id: uuid(),\n source_asset_type: AssetTypeSchema,\n target_asset_type: AssetTypeSchema,\n created_at: string(),\n last_updated: string(),\n});\n\nconst PurchaseAssetSchema = object({\n assetId: uuid(),\n method: zodEnum([\"checkout\", \"api\"]),\n assetType: AssetTypeSchema,\n});\n\nconst PermissionSchema = object({\n id: uuid(),\n role: RoleSchema,\n user: object({\n user_id: uuid(),\n }),\n user_id: nullable(uuid()),\n org_id: nullable(uuid()),\n asset_type: AssetTypeSchema,\n asset_id: uuid(),\n created_at: string(),\n last_updated: string(),\n});\n\nconst StatusSchema = zodEnum([\n \"queued\",\n \"in-progress\",\n \"timed-out\",\n \"success\",\n \"error\",\n]);\n\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nconst HttpMethodSchema = zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n HttpMethodSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type PriceCurrency = z.infer<typeof PriceCurrencySchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\nexport type Source = z.infer<typeof SourceSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- import {b,f as f$1,h as h$1,a}from'./chunk-PB4XG5WM.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.partial().shape),S=h.extend(b.partial().shape),F=f$1.extend({asset_type:literal("file").default("file"),metadata:p}),g=discriminatedUnion("state",[h$1.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:p}),h$1.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:S})]).transform(a$1=>a(a$1)),z=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(a$1=>a(a$1));export{F as a,g as b,z as c};//# sourceMappingURL=chunk-ASLHRT77.js.map
2
- //# sourceMappingURL=chunk-ASLHRT77.js.map
@@ -1 +0,0 @@
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":"sJAoBMA,IAAAA,CAAAA,CAAyBC,MAAO,CAAA,CACpC,EAAIC,CAAAA,IAAAA,GACJ,IAAMC,CAAAA,MAAAA,GACN,MAAQC,CAAAA,KAAAA,CAAQ,CAAC,cAAgB,CAAA,OAAO,CAAC,CACzC,CAAA,IAAA,CAAMD,QACN,CAAA,IAAA,CAAMA,QACN,CAAA,SAAA,CAAWA,QACX,CAAA,IAAA,CAAME,MAAO,EAAA,CAEb,KAAOC,CAAAA,QAAAA,CAASD,QAAQ,CAAA,CACxB,OAAQC,QAASD,CAAAA,MAAAA,EAAQ,CAC3B,CAAC,EAEKE,CAA6BN,CAAAA,MAAAA,CAAO,CACxC,IAAME,CAAAA,MAAAA,EACR,CAAC,CAAA,CAEKK,EAAqBR,CAAuB,CAAA,MAAA,CAChDS,CAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,EAEMC,CAAyBH,CAAAA,CAAAA,CAA2B,OACxDE,CAAoB,CAAA,OAAA,GAAU,KAChC,CAAA,CAEME,EAAaC,GAAY,CAAA,MAAA,CAAO,CACpC,UAAYC,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,QAAA,CAAUL,CACZ,CAAC,CAEKM,CAAAA,CAAAA,CAAmBC,mBAAmB,OAAS,CAAA,CAEnDC,IAAkB,MAAO,CAAA,CACvB,WAAYH,OAAQ,CAAA,MAAM,EAAE,OAAQ,CAAA,MAAM,EAC1C,KAAOA,CAAAA,OAAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAC3C,CAAA,QAAA,CAAUL,CACZ,CAAC,CAEDQ,CAAAA,GAAAA,CAAkB,OAAO,CACvB,UAAA,CAAYH,QAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,MAAOA,OAAQ,CAAA,aAAa,EAAE,OAAQ,CAAA,aAAa,EACnD,QAAUH,CAAAA,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,GAAUC,EAAAA,CAAAA,CAA+BD,GAAK,CAAC,CAAA,CAEvDE,EAAmBR,CAAW,CAAA,OAAA,GACjC,IAAK,CAAA,CACJ,QAAS,IACT,CAAA,EAAA,CAAI,KACJ,UAAY,CAAA,IAAA,CACZ,aAAc,IACd,CAAA,YAAA,CAAc,KACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,kBAAmB,IACrB,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-ASLHRT77.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 is_pinned_in_team: 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 +0,0 @@
1
- 'use strict';var chunkZRJUBEIK_cjs=require('./chunk-ZRJUBEIK.cjs'),chunkL6SVUDFH_cjs=require('./chunk-L6SVUDFH.cjs'),chunkMNECKGIP_cjs=require('./chunk-MNECKGIP.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),uuidv7=require('uuidv7'),zod=require('zod');var s=zod.object({id:zod.uuid(),org_id:zod.uuid(),organization:chunkZRJUBEIK_cjs.c,name:zod.string(),description:zod.optional(zod.nullable(zod.object({text:zod.string(),json:zod.record(zod.string(),zod.any())}))),default_role:chunkMNECKGIP_cjs.c,visibility:chunkMNECKGIP_cjs.b,actor_type_policy:zod.optional(zod.nullable(chunkZRJUBEIK_cjs.a)),source_policy:zod.optional(zod.nullable(chunkZRJUBEIK_cjs.b)),userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkMNECKGIP_cjs.c}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkMNECKGIP_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkL6SVUDFH_cjs.b.partial()))})),created_at:zod.string()}),P=s.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:chunkMNECKGIP_cjs.c.default("write").refine(d=>d==="read"||d==="write"),visibility:chunkMNECKGIP_cjs.b.default("public").refine(d=>d==="public"||d==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),T=s.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkMNECKGIP_cjs.c}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkMNECKGIP_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkL6SVUDFH_cjs.b.partial()))})),organization:zod.optional(zod.nullable(chunkZRJUBEIK_cjs.c.partial())),assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),users:zod.optional(zod.nullable(zod.array(chunkL6SVUDFH_cjs.b.partial()))),actions:zod.optional(zod.nullable(zod.array(chunkJRBBNFFI_cjs.a)))}),U=zod.array(T.extend({label:zod.string(),value:zod.string()})),j=s.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.uuid()});exports.a=s;exports.b=P;exports.c=T;exports.d=U;exports.e=j;//# sourceMappingURL=chunk-LD5G6GFH.cjs.map
2
- //# sourceMappingURL=chunk-LD5G6GFH.cjs.map
@@ -1,2 +0,0 @@
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"]),z=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()}),l=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()}),x=zod.enum(["queued","in-progress","timed-out","success","error"]),g=zod.enum(["web","api"]),P=zod.enum(["GET","POST","PUT","PATCH","DELETE"]);exports.a=r;exports.b=h;exports.c=d;exports.d=S;exports.e=f;exports.f=_;exports.g=z;exports.h=l;exports.i=b;exports.j=x;exports.k=g;exports.l=P;//# sourceMappingURL=chunk-MNECKGIP.cjs.map
2
- //# sourceMappingURL=chunk-MNECKGIP.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/common.ts"],"names":["AssetTypeSchema","zodEnum","VisibilitySchema","RoleSchema","MonetizationSchema","PriceCurrencySchema","EmbeddingSchema","object","string","optional","nullable","array","number","record","any","ConnectionTypeSchema","ConnectionSchema","uuid","PurchaseAssetSchema","PermissionSchema","StatusSchema","SourceSchema","HttpMethodSchema"],"mappings":"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","file":"chunk-MNECKGIP.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\nconst HttpMethodSchema = zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n HttpMethodSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type PriceCurrency = z.infer<typeof PriceCurrencySchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\nexport type Source = z.infer<typeof SourceSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var chunk66AAHP6X_cjs=require('./chunk-66AAHP6X.cjs'),chunk7YG2YDXN_cjs=require('./chunk-7YG2YDXN.cjs'),chunkL6SVUDFH_cjs=require('./chunk-L6SVUDFH.cjs'),chunkMNECKGIP_cjs=require('./chunk-MNECKGIP.cjs'),chunkJRBBNFFI_cjs=require('./chunk-JRBBNFFI.cjs'),zod=require('zod');var b=zod.object({members:zod.array(zod.string())}),v=b.extend(chunk7YG2YDXN_cjs.b.partial().shape),B=chunk7YG2YDXN_cjs.f.extend({asset_type:chunkMNECKGIP_cjs.a.default("conversation"),name:zod.nullable(zod.string()),metadata:v,users:zod.optional(zod.nullable(zod.array(chunkL6SVUDFH_cjs.b)))}),C=chunk7YG2YDXN_cjs.h.extend({asset_type:zod.literal("conversation").default("conversation"),monetization:chunkMNECKGIP_cjs.d.default("none"),visibility:chunkMNECKGIP_cjs.b.default("private"),name:zod.string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),metadata:v}),P=C.transform(e=>chunk7YG2YDXN_cjs.a(e)),q=C.omit({id:true,org_id:true,team_id:true}).partial().transform(e=>chunk7YG2YDXN_cjs.a(e)),w=zod.object({id:zod.uuid(),conversation_id:zod.uuid(),turn_id:zod.uuid(),seq:zod.number(),user_id:zod.uuid(),user:zod.optional(zod.nullable(chunkL6SVUDFH_cjs.b)),type:zod.string().default("message"),created_at:zod.string(),last_updated:zod.string(),viewers:zod.array(zod.uuid()),json:chunk66AAHP6X_cjs.a,text:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),assets:zod.optional(zod.nullable(zod.array(chunk7YG2YDXN_cjs.f.partial()))),users:zod.optional(zod.nullable(zod.array(chunkL6SVUDFH_cjs.b.partial()))),actions:zod.optional(zod.nullable(zod.array(chunkJRBBNFFI_cjs.a)))});exports.a=B;exports.b=P;exports.c=q;exports.d=w;//# sourceMappingURL=chunk-UVVPXYJA.cjs.map
2
- //# sourceMappingURL=chunk-UVVPXYJA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","nullable","optional","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","x","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageSchema","uuid","number","TipTapSchema","record","any","ContentActionRefSchema"],"mappings":"8RA6BA,IAAMA,CAAiCC,CAAAA,UAAAA,CAAO,CAC5C,OAAA,CAASC,UAAMC,UAAO,EAAC,CACzB,CAAC,CAEKC,CAAAA,CAAAA,CAA6BJ,EAA+B,MAChEK,CAAAA,mBAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAAA,CAEMC,EAAqBC,mBAAY,CAAA,MAAA,CAAO,CAC5C,UAAA,CAAYC,mBAAgB,CAAA,OAAA,CAAQ,cAAc,CAAA,CAElD,IAAMC,CAAAA,YAAAA,CAASN,UAAO,EAAC,CACvB,CAAA,QAAA,CAAUC,EACV,KAAOM,CAAAA,YAAAA,CAASD,YAASP,CAAAA,SAAAA,CAAMS,mBAAa,CAAC,CAAC,CAChD,CAAC,CAEKC,CAAAA,CAAAA,CAA+BC,mBAAkB,CAAA,MAAA,CAAO,CAC5D,UAAYC,CAAAA,WAAAA,CAAQ,cAAc,CAAA,CAAE,OAAQ,CAAA,cAAc,CAC1D,CAAA,YAAA,CAAcC,mBAAmB,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC/C,UAAYC,CAAAA,mBAAAA,CAAiB,QAAQ,SAAS,CAAA,CAE9C,IAAMb,CAAAA,UAAAA,EACH,CAAA,QAAA,GACA,QAAS,EAAA,CACT,OAAQ,CAAA,EAAE,CACV,CAAA,SAAA,CAAWc,GAAMA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAG,CAAA,IAAA,EAAM,CAC1B,CAAA,SAAA,CAAWA,CAAMA,EAAAA,CAAAA,EAAK,IAAI,CAAA,CAC7B,QAAUb,CAAAA,CACZ,CAAC,CAAA,CAEKc,EAA2BN,CAC9B,CAAA,SAAA,CAAWO,CAAUC,EAAAA,mBAAAA,CAA+BD,CAAK,CAAC,EAGvDE,CAA2BT,CAAAA,CAAAA,CAA6B,IAAK,CAAA,CACjE,EAAI,CAAA,IAAA,CACJ,OAAQ,IACR,CAAA,OAAA,CAAS,IAKX,CAAC,CAAE,CAAA,OAAA,GAAU,SAAWO,CAAAA,CAAAA,EAAUC,mBAA+BD,CAAAA,CAAK,CAAC,CAAA,CAEjEG,EAAgBrB,UAAO,CAAA,CAC3B,EAAIsB,CAAAA,QAAAA,EACJ,CAAA,eAAA,CAAiBA,UACjB,CAAA,OAAA,CAASA,QAAK,EAAA,CACd,GAAKC,CAAAA,UAAAA,GACL,OAASD,CAAAA,QAAAA,EACT,CAAA,IAAA,CAAMb,YAASD,CAAAA,YAAAA,CAASE,mBAAa,CAAC,CACtC,CAAA,IAAA,CAAMR,UAAO,EAAA,CAAE,OAAQ,CAAA,SAAS,EAChC,UAAYA,CAAAA,UAAAA,EACZ,CAAA,YAAA,CAAcA,UAAO,EAAA,CACrB,QAASD,SAAMqB,CAAAA,QAAAA,EAAM,CAAA,CACrB,IAAME,CAAAA,mBAAAA,CACN,KAAMtB,UAAO,EAAA,CACb,QAAUO,CAAAA,YAAAA,CAASD,YAASiB,CAAAA,UAAAA,CAAOvB,UAAO,EAAA,CAAGwB,OAAI,EAAC,CAAC,CAAC,CAEpD,CAAA,MAAA,CAAQjB,aAASD,YAASP,CAAAA,SAAAA,CAAMK,mBAAY,CAAA,OAAA,EAAS,CAAC,CAAC,CACvD,CAAA,KAAA,CAAOG,YAASD,CAAAA,YAAAA,CAASP,SAAMS,CAAAA,mBAAAA,CAAc,SAAS,CAAC,CAAC,CAAA,CACxD,OAASD,CAAAA,YAAAA,CAASD,YAASP,CAAAA,SAAAA,CAAM0B,mBAAsB,CAAC,CAAC,CAC3D,CAAC","file":"chunk-UVVPXYJA.cjs","sourcesContent":["import {\n object,\n string,\n number,\n uuid,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n // Agents often name conversations after the first exchange; allow null until then.\n name: nullable(string()),\n metadata: ConversationMetadataSchema,\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst BaseCreateConversationSchema = CreateAssetSchema.extend({\n asset_type: literal(\"conversation\").default(\"conversation\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\n // Optional like posts — leave blank and let a responding agent name it.\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n metadata: ConversationMetadataSchema,\n});\n\nconst CreateConversationSchema = BaseCreateConversationSchema\n .transform((value) => normalizeAssetConfigForParsing(value));\n\n// Partial because we can make updates to conversations without providing all fields\nconst UpdateConversationSchema = BaseCreateConversationSchema.omit({\n id: true,\n org_id: true,\n team_id: true,\n // team: true,\n // user: true,\n // organization: true,\n // slug: true,\n}).partial().transform((value) => normalizeAssetConfigForParsing(value));\n\nconst MessageSchema = object({\n id: uuid(),\n conversation_id: uuid(),\n turn_id: uuid(),\n seq: number(),\n user_id: uuid(),\n user: optional(nullable(ProfileSchema)),\n type: string().default(\"message\"),\n created_at: string(),\n last_updated: string(),\n viewers: array(uuid()),\n json: TipTapSchema,\n text: string(),\n metadata: optional(nullable(record(string(), any()))),\n // Resolved from message content embeds / links at read time\n assets: optional(nullable(array(AssetSchema.partial()))),\n users: optional(nullable(array(ProfileSchema.partial()))),\n actions: optional(nullable(array(ContentActionRefSchema))),\n});\n\nexport {\n 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 +0,0 @@
1
- 'use strict';var chunkUDTRH3OQ_cjs=require('./chunk-UDTRH3OQ.cjs'),chunk7YG2YDXN_cjs=require('./chunk-7YG2YDXN.cjs'),chunkMNECKGIP_cjs=require('./chunk-MNECKGIP.cjs'),zod=require('zod');var z=zod.enum(["closable","continuous"]),E=zod.enum(["draft","open","closed","cancelled"]),_=zod.enum(["pending","in_progress","done","skipped"]),I=zod.enum(["btc","usd"]),C=zod.enum(["skipped","running","passed","failed","errored"]),q=zod.enum(["submitted","accepted","rejected"]),k=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())}),i=zod.object({json:zod.object({type:zod.literal("doc"),content:zod.array(k)}),text:zod.string()}),T=zod.object({id:zod.uuid(),quest_id:zod.uuid(),description:i,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(chunkMNECKGIP_cjs.a)),reward_xp:zod.number().int().nonnegative().default(0),reward_currency:I.default("btc"),reward_amount: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())),submission_assets:zod.optional(zod.nullable(zod.record(zod.string(),chunkUDTRH3OQ_cjs.d))),eval_static_inputs:zod.optional(zod.nullable(chunkUDTRH3OQ_cjs.a)),notes:zod.optional(zod.nullable(zod.string())),contributor_keys:zod.optional(zod.nullable(zod.array(zod.object({key:zod.string(),required:zod.boolean().default(true),filters:zod.object({assetType:zod.optional(zod.string()),fileType:zod.optional(zod.string()),extensions:zod.optional(zod.array(zod.string())),hasConstraints:zod.boolean().default(false)})})))),created_at:zod.string(),updated_at:zod.string()}),A=T,h=zod.object({description:zod.union([zod.string().min(1,{message:"Item description cannot be empty"}),i]),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(chunkMNECKGIP_cjs.a)),reward_xp:zod.optional(zod.number().int().nonnegative()).default(0),reward_currency:zod.optional(I).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())),submission_assets:zod.optional(zod.nullable(zod.record(zod.string(),chunkUDTRH3OQ_cjs.d))),eval_static_inputs:zod.optional(zod.nullable(chunkUDTRH3OQ_cjs.a)),notes:zod.optional(zod.nullable(zod.string()))}),R=zod.union([zod.string().min(1,{message:"Item description cannot be empty"}).transform(p=>h.parse({description:p})),h]),U=zod.object({type:z.default("closable"),status:E.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),closed_at:zod.optional(zod.nullable(zod.string()))}),j=chunk7YG2YDXN_cjs.f.extend({asset_type:zod.literal("quest").default("quest"),metadata:zod.optional(zod.nullable(chunk7YG2YDXN_cjs.b.partial())),quest:zod.optional(U.partial()),items:zod.optional(zod.array(A.partial())),progress:zod.optional(zod.object({total:zod.number(),resolved:zod.number(),remaining:zod.number(),items:zod.optional(zod.array(zod.object({id:zod.string(),status:_,waiting_on:zod.optional(zod.nullable(zod.string())),waiting_until:zod.optional(zod.nullable(zod.string())),waiting_check_every:zod.optional(zod.nullable(zod.string()))}).partial()))}))}),Z=chunk7YG2YDXN_cjs.h.extend({asset_type:zod.literal("quest").default("quest"),name:zod.optional(zod.nullable(zod.string())).default(null),description:zod.optional(zod.nullable(i)),type:z.default("closable"),status:E.default("open"),max_xp_per_contributor:zod.optional(zod.nullable(zod.number().int().nonnegative())),items:zod.optional(zod.array(R)).default([])}).transform(p=>chunk7YG2YDXN_cjs.a(p)),F=j.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:zod.literal("quest").default("quest"),last_updated:zod.string().default(()=>new Date().toISOString())}).transform(p=>chunk7YG2YDXN_cjs.a(p)),M=h.partial().extend({status:zod.optional(_)}),N=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(chunkMNECKGIP_cjs.a)),assets:zod.optional(zod.nullable(chunkUDTRH3OQ_cjs.a)),description:zod.optional(zod.nullable(i)),review:zod.optional(zod.nullable(i)),status:q,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(C)),created_at:zod.string(),updated_at:zod.string()}),P=zod.object({item_id:zod.uuid(),assets:zod.optional(zod.nullable(chunkUDTRH3OQ_cjs.c)),description:zod.optional(zod.nullable(zod.union([zod.string(),i])))}),G=zod.object({status:zod.enum(["accepted","rejected"]),review:zod.optional(zod.nullable(zod.union([zod.string(),i])))});exports.a=z;exports.b=E;exports.c=_;exports.d=I;exports.e=C;exports.f=q;exports.g=T;exports.h=A;exports.i=h;exports.j=R;exports.k=j;exports.l=Z;exports.m=F;exports.n=M;exports.o=N;exports.p=P;exports.q=G;//# sourceMappingURL=chunk-W6AKVS4L.cjs.map
2
- //# sourceMappingURL=chunk-W6AKVS4L.cjs.map
@@ -1 +0,0 @@
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","QuestSubmissionAssetDeclarationSchema","KeyedAssetRefsSchema","zodBoolean","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-W6AKVS4L.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 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// ── 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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\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_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 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 +0,0 @@
1
- 'use strict';var chunk7YG2YDXN_cjs=require('./chunk-7YG2YDXN.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(chunk7YG2YDXN_cjs.b.partial().shape),S=h.extend(chunk7YG2YDXN_cjs.b.partial().shape),F=chunk7YG2YDXN_cjs.f.extend({asset_type:zod.literal("file").default("file"),metadata:p}),g=zod.discriminatedUnion("state",[chunk7YG2YDXN_cjs.h.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:p}),chunk7YG2YDXN_cjs.h.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:S})]).transform(a=>chunk7YG2YDXN_cjs.a(a)),z=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(a=>chunk7YG2YDXN_cjs.a(a));exports.a=F;exports.b=g;exports.c=z;//# sourceMappingURL=chunk-W6MBAIKZ.cjs.map
2
- //# sourceMappingURL=chunk-W6MBAIKZ.cjs.map
@@ -1 +0,0 @@
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,UAAO,CAAA,CACpC,EAAIC,CAAAA,QAAAA,GACJ,IAAMC,CAAAA,UAAAA,GACN,MAAQC,CAAAA,QAAAA,CAAQ,CAAC,cAAgB,CAAA,OAAO,CAAC,CACzC,CAAA,IAAA,CAAMD,YACN,CAAA,IAAA,CAAMA,YACN,CAAA,SAAA,CAAWA,YACX,CAAA,IAAA,CAAME,UAAO,EAAA,CAEb,KAAOC,CAAAA,YAAAA,CAASD,YAAQ,CAAA,CACxB,OAAQC,YAASD,CAAAA,UAAAA,EAAQ,CAC3B,CAAC,EAEKE,CAA6BN,CAAAA,UAAAA,CAAO,CACxC,IAAME,CAAAA,UAAAA,EACR,CAAC,CAAA,CAEKK,EAAqBR,CAAuB,CAAA,MAAA,CAChDS,mBAAoB,CAAA,OAAA,EAAU,CAAA,KAChC,EAEMC,CAAyBH,CAAAA,CAAAA,CAA2B,OACxDE,mBAAoB,CAAA,OAAA,GAAU,KAChC,CAAA,CAEME,EAAaC,mBAAY,CAAA,MAAA,CAAO,CACpC,UAAYC,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,QAAA,CAAUL,CACZ,CAAC,CAEKM,CAAAA,CAAAA,CAAmBC,uBAAmB,OAAS,CAAA,CAEnDC,oBAAkB,MAAO,CAAA,CACvB,WAAYH,WAAQ,CAAA,MAAM,EAAE,OAAQ,CAAA,MAAM,EAC1C,KAAOA,CAAAA,WAAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,SAAS,CAC3C,CAAA,QAAA,CAAUL,CACZ,CAAC,CAEDQ,CAAAA,mBAAAA,CAAkB,OAAO,CACvB,UAAA,CAAYH,YAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,MAAOA,WAAQ,CAAA,aAAa,EAAE,OAAQ,CAAA,aAAa,EACnD,QAAUH,CAAAA,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,CAAUC,EAAAA,mBAAAA,CAA+BD,CAAK,CAAC,CAAA,CAEvDE,EAAmBR,CAAW,CAAA,OAAA,GACjC,IAAK,CAAA,CACJ,QAAS,IACT,CAAA,EAAA,CAAI,KACJ,UAAY,CAAA,IAAA,CACZ,aAAc,IACd,CAAA,YAAA,CAAc,KACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,kBAAmB,IACrB,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-W6MBAIKZ.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 is_pinned_in_team: 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 +0,0 @@
1
- import {a,d,c}from'./chunk-3OUJXTJZ.js';import {f,b,h as h$1,a as a$2}from'./chunk-PB4XG5WM.js';import {a as a$1}from'./chunk-3BZRQYRC.js';import {enum as _enum,object,optional,string,array,any,record,literal,number,uuid,nullable,boolean,union}from'zod';var z=_enum(["closable","continuous"]),E=_enum(["draft","open","closed","cancelled"]),_=_enum(["pending","in_progress","done","skipped"]),I=_enum(["btc","usd"]),C=_enum(["skipped","running","passed","failed","errored"]),q=_enum(["submitted","accepted","rejected"]),k=object({type:string(),content:optional(array(any())),attrs:optional(record(string(),any())),marks:optional(array(any())),text:optional(string())}),i=object({json:object({type:literal("doc"),content:array(k)}),text:string()}),T=object({id:uuid(),quest_id:uuid(),description:i,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$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_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),submission_assets:optional(nullable(record(string(),d))),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()}),A=T,h=object({description:union([string().min(1,{message:"Item description cannot be empty"}),i]),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_pass_min:optional(nullable(number())),eval_pass_max:optional(nullable(number())),submission_assets:optional(nullable(record(string(),d))),eval_static_inputs:optional(nullable(a)),notes:optional(nullable(string()))}),R=union([string().min(1,{message:"Item description cannot be empty"}).transform(p=>h.parse({description:p})),h]),U=object({type:z.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),closed_at:optional(nullable(string()))}),j=f.extend({asset_type:literal("quest").default("quest"),metadata:optional(nullable(b.partial())),quest:optional(U.partial()),items:optional(array(A.partial())),progress:optional(object({total:number(),resolved:number(),remaining:number(),items:optional(array(object({id:string(),status:_,waiting_on:optional(nullable(string())),waiting_until:optional(nullable(string())),waiting_check_every:optional(nullable(string()))}).partial()))}))}),Z=h$1.extend({asset_type:literal("quest").default("quest"),name:optional(nullable(string())).default(null),description:optional(nullable(i)),type:z.default("closable"),status:E.default("open"),max_xp_per_contributor:optional(nullable(number().int().nonnegative())),items:optional(array(R)).default([])}).transform(p=>a$2(p)),F=j.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(p=>a$2(p)),M=h.partial().extend({status:optional(_)}),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(i)),review:optional(nullable(i)),status:q,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(C)),created_at:string(),updated_at:string()}),P=object({item_id:uuid(),assets:optional(nullable(c)),description:optional(nullable(union([string(),i])))}),G=object({status:_enum(["accepted","rejected"]),review:optional(nullable(union([string(),i])))});export{z as a,E as b,_ as c,I as d,C as e,q as f,T as g,A as h,h as i,R as j,j as k,Z as l,F as m,M as n,N as o,P as p,G as q};//# sourceMappingURL=chunk-XVN3DFMT.js.map
2
- //# sourceMappingURL=chunk-XVN3DFMT.js.map
@@ -1 +0,0 @@
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","QuestSubmissionAssetDeclarationSchema","KeyedAssetRefsSchema","zodBoolean","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-XVN3DFMT.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// ── 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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\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_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\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_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 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 +0,0 @@
1
- import {a as a$2}from'./chunk-KHUEMWG2.js';import {b as b$1,f,h,a as a$1}from'./chunk-PB4XG5WM.js';import {b as b$2}from'./chunk-G6GCUGMM.js';import {a,b as b$3,d}from'./chunk-3BZRQYRC.js';import {a as a$3}from'./chunk-42ADEGDM.js';import {object,array,string,optional,nullable,literal,uuid,number,record,any}from'zod';var b=object({members:array(string())}),v=b.extend(b$1.partial().shape),B=f.extend({asset_type:a.default("conversation"),name:nullable(string()),metadata:v,users:optional(nullable(array(b$2)))}),C=h.extend({asset_type:literal("conversation").default("conversation"),monetization:d.default("none"),visibility:b$3.default("private"),name:string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),metadata:v}),P=C.transform(e=>a$1(e)),q=C.omit({id:true,org_id:true,team_id:true}).partial().transform(e=>a$1(e)),w=object({id:uuid(),conversation_id:uuid(),turn_id:uuid(),seq:number(),user_id:uuid(),user:optional(nullable(b$2)),type:string().default("message"),created_at:string(),last_updated:string(),viewers:array(uuid()),json:a$2,text:string(),metadata:optional(nullable(record(string(),any()))),assets:optional(nullable(array(f.partial()))),users:optional(nullable(array(b$2.partial()))),actions:optional(nullable(array(a$3)))});export{B as a,P as b,q as c,w as d};//# sourceMappingURL=chunk-Y6TOO6ET.js.map
2
- //# sourceMappingURL=chunk-Y6TOO6ET.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/conversations.ts"],"names":["BaseConversationMetadataSchema","object","array","string","ConversationMetadataSchema","AssetMetadataSchema","ConversationSchema","AssetSchema","AssetTypeSchema","nullable","optional","ProfileSchema","BaseCreateConversationSchema","CreateAssetSchema","literal","MonetizationSchema","VisibilitySchema","x","CreateConversationSchema","value","normalizeAssetConfigForParsing","UpdateConversationSchema","MessageSchema","uuid","number","TipTapSchema","record","any","ContentActionRefSchema"],"mappings":"+TA6BA,IAAMA,CAAiCC,CAAAA,MAAAA,CAAO,CAC5C,OAAA,CAASC,MAAMC,MAAO,EAAC,CACzB,CAAC,CAEKC,CAAAA,CAAAA,CAA6BJ,EAA+B,MAChEK,CAAAA,GAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAAA,CAEMC,EAAqBC,CAAY,CAAA,MAAA,CAAO,CAC5C,UAAA,CAAYC,CAAgB,CAAA,OAAA,CAAQ,cAAc,CAAA,CAElD,IAAMC,CAAAA,QAAAA,CAASN,MAAO,EAAC,CACvB,CAAA,QAAA,CAAUC,EACV,KAAOM,CAAAA,QAAAA,CAASD,QAASP,CAAAA,KAAAA,CAAMS,GAAa,CAAC,CAAC,CAChD,CAAC,CAEKC,CAAAA,CAAAA,CAA+BC,CAAkB,CAAA,MAAA,CAAO,CAC5D,UAAYC,CAAAA,OAAAA,CAAQ,cAAc,CAAA,CAAE,OAAQ,CAAA,cAAc,CAC1D,CAAA,YAAA,CAAcC,CAAmB,CAAA,OAAA,CAAQ,MAAM,CAAA,CAC/C,UAAYC,CAAAA,GAAAA,CAAiB,QAAQ,SAAS,CAAA,CAE9C,IAAMb,CAAAA,MAAAA,EACH,CAAA,QAAA,GACA,QAAS,EAAA,CACT,OAAQ,CAAA,EAAE,CACV,CAAA,SAAA,CAAWc,GAAMA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAG,CAAA,IAAA,EAAM,CAC1B,CAAA,SAAA,CAAWA,CAAMA,EAAAA,CAAAA,EAAK,IAAI,CAAA,CAC7B,QAAUb,CAAAA,CACZ,CAAC,CAAA,CAEKc,EAA2BN,CAC9B,CAAA,SAAA,CAAWO,CAAUC,EAAAA,GAAAA,CAA+BD,CAAK,CAAC,EAGvDE,CAA2BT,CAAAA,CAAAA,CAA6B,IAAK,CAAA,CACjE,EAAI,CAAA,IAAA,CACJ,OAAQ,IACR,CAAA,OAAA,CAAS,IAKX,CAAC,CAAE,CAAA,OAAA,GAAU,SAAWO,CAAAA,CAAAA,EAAUC,GAA+BD,CAAAA,CAAK,CAAC,CAAA,CAEjEG,EAAgBrB,MAAO,CAAA,CAC3B,EAAIsB,CAAAA,IAAAA,EACJ,CAAA,eAAA,CAAiBA,MACjB,CAAA,OAAA,CAASA,IAAK,EAAA,CACd,GAAKC,CAAAA,MAAAA,GACL,OAASD,CAAAA,IAAAA,EACT,CAAA,IAAA,CAAMb,QAASD,CAAAA,QAAAA,CAASE,GAAa,CAAC,CACtC,CAAA,IAAA,CAAMR,MAAO,EAAA,CAAE,OAAQ,CAAA,SAAS,EAChC,UAAYA,CAAAA,MAAAA,EACZ,CAAA,YAAA,CAAcA,MAAO,EAAA,CACrB,QAASD,KAAMqB,CAAAA,IAAAA,EAAM,CAAA,CACrB,IAAME,CAAAA,GAAAA,CACN,KAAMtB,MAAO,EAAA,CACb,QAAUO,CAAAA,QAAAA,CAASD,QAASiB,CAAAA,MAAAA,CAAOvB,MAAO,EAAA,CAAGwB,GAAI,EAAC,CAAC,CAAC,CAEpD,CAAA,MAAA,CAAQjB,SAASD,QAASP,CAAAA,KAAAA,CAAMK,CAAY,CAAA,OAAA,EAAS,CAAC,CAAC,CACvD,CAAA,KAAA,CAAOG,QAASD,CAAAA,QAAAA,CAASP,KAAMS,CAAAA,GAAAA,CAAc,SAAS,CAAC,CAAC,CAAA,CACxD,OAASD,CAAAA,QAAAA,CAASD,QAASP,CAAAA,KAAAA,CAAM0B,GAAsB,CAAC,CAAC,CAC3D,CAAC","file":"chunk-Y6TOO6ET.js","sourcesContent":["import {\n object,\n string,\n number,\n uuid,\n array,\n type z,\n record,\n any,\n optional,\n nullable,\n literal\n} from \"zod\";\n\nimport {\n AssetTypeSchema,\n MonetizationSchema,\n VisibilitySchema,\n} from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { ContentActionRefSchema } from \"./content-refs\";\nimport { TipTapSchema } from \"./posts\";\nimport { ProfileSchema } from \"./users\";\n\nconst BaseConversationMetadataSchema = object({\n members: array(string()),\n});\n\nconst ConversationMetadataSchema = BaseConversationMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ConversationSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.default(\"conversation\"),\n // Agents often name conversations after the first exchange; allow null until then.\n name: nullable(string()),\n metadata: ConversationMetadataSchema,\n users: optional(nullable(array(ProfileSchema))),\n});\n\nconst BaseCreateConversationSchema = CreateAssetSchema.extend({\n asset_type: literal(\"conversation\").default(\"conversation\"),\n monetization: MonetizationSchema.default(\"none\"),\n visibility: VisibilitySchema.default(\"private\"),\n // Optional like posts — leave blank and let a responding agent name it.\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n metadata: ConversationMetadataSchema,\n});\n\nconst CreateConversationSchema = BaseCreateConversationSchema\n .transform((value) => normalizeAssetConfigForParsing(value));\n\n// Partial because we can make updates to conversations without providing all fields\nconst UpdateConversationSchema = BaseCreateConversationSchema.omit({\n id: true,\n org_id: true,\n team_id: true,\n // team: true,\n // user: true,\n // organization: true,\n // slug: true,\n}).partial().transform((value) => normalizeAssetConfigForParsing(value));\n\nconst MessageSchema = object({\n id: uuid(),\n conversation_id: uuid(),\n turn_id: uuid(),\n seq: number(),\n user_id: uuid(),\n user: optional(nullable(ProfileSchema)),\n type: string().default(\"message\"),\n created_at: string(),\n last_updated: string(),\n viewers: array(uuid()),\n json: TipTapSchema,\n text: string(),\n metadata: optional(nullable(record(string(), any()))),\n // Resolved from message content embeds / links at read time\n assets: optional(nullable(array(AssetSchema.partial()))),\n users: optional(nullable(array(ProfileSchema.partial()))),\n actions: optional(nullable(array(ContentActionRefSchema))),\n});\n\nexport {\n 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"]}