@ourofoundation/ouro-js 3.5.1 → 3.5.2

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 (76) hide show
  1. package/dist/{chunk-XQQVHVWP.js → chunk-35CJDNHH.js} +2 -2
  2. package/dist/{chunk-XQQVHVWP.js.map → chunk-35CJDNHH.js.map} +1 -1
  3. package/dist/{chunk-6XQFD2Z2.cjs → chunk-6GPIZJ4T.cjs} +2 -2
  4. package/dist/chunk-6GPIZJ4T.cjs.map +1 -0
  5. package/dist/{chunk-HN7Y7VMJ.cjs → chunk-6ZJQTECB.cjs} +2 -2
  6. package/dist/{chunk-HN7Y7VMJ.cjs.map → chunk-6ZJQTECB.cjs.map} +1 -1
  7. package/dist/{chunk-6FG474SV.cjs → chunk-BWAEBQKV.cjs} +2 -2
  8. package/dist/chunk-BWAEBQKV.cjs.map +1 -0
  9. package/dist/{chunk-DC6TYS3A.cjs → chunk-F5CWCYOP.cjs} +2 -2
  10. package/dist/chunk-F5CWCYOP.cjs.map +1 -0
  11. package/dist/{chunk-NJQ5YWYJ.cjs → chunk-HIXNQKVP.cjs} +2 -2
  12. package/dist/{chunk-NJQ5YWYJ.cjs.map → chunk-HIXNQKVP.cjs.map} +1 -1
  13. package/dist/{chunk-OS542EYD.js → chunk-IWOXGKK4.js} +2 -2
  14. package/dist/chunk-IWOXGKK4.js.map +1 -0
  15. package/dist/chunk-KCVE35IO.js +2 -0
  16. package/dist/chunk-KCVE35IO.js.map +1 -0
  17. package/dist/chunk-MLTO7TMM.js +2 -0
  18. package/dist/chunk-MLTO7TMM.js.map +1 -0
  19. package/dist/{chunk-EK5P7FST.js → chunk-R2W4NEEJ.js} +2 -2
  20. package/dist/chunk-R2W4NEEJ.js.map +1 -0
  21. package/dist/{chunk-M2JJPDBW.js → chunk-TYOQ32UV.js} +2 -2
  22. package/dist/{chunk-M2JJPDBW.js.map → chunk-TYOQ32UV.js.map} +1 -1
  23. package/dist/chunk-V73EW77Y.cjs +2 -0
  24. package/dist/chunk-V73EW77Y.cjs.map +1 -0
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/schema/assets.d.cts +84 -84
  28. package/dist/schema/assets.d.ts +84 -84
  29. package/dist/schema/comments.d.cts +136 -136
  30. package/dist/schema/comments.d.ts +136 -136
  31. package/dist/schema/common.d.cts +16 -16
  32. package/dist/schema/common.d.ts +16 -16
  33. package/dist/schema/conversations.cjs +1 -1
  34. package/dist/schema/conversations.d.cts +69 -69
  35. package/dist/schema/conversations.d.ts +69 -69
  36. package/dist/schema/conversations.js +1 -1
  37. package/dist/schema/datasets.d.cts +137 -137
  38. package/dist/schema/datasets.d.ts +137 -137
  39. package/dist/schema/files.cjs +1 -1
  40. package/dist/schema/files.d.cts +100 -103
  41. package/dist/schema/files.d.ts +100 -103
  42. package/dist/schema/files.js +1 -1
  43. package/dist/schema/notifications.d.cts +2 -2
  44. package/dist/schema/notifications.d.ts +2 -2
  45. package/dist/schema/organizations.d.cts +1 -1
  46. package/dist/schema/organizations.d.ts +1 -1
  47. package/dist/schema/posts.cjs +1 -1
  48. package/dist/schema/posts.d.cts +127 -130
  49. package/dist/schema/posts.d.ts +127 -130
  50. package/dist/schema/posts.js +1 -1
  51. package/dist/schema/quests.cjs +1 -1
  52. package/dist/schema/quests.d.cts +177 -180
  53. package/dist/schema/quests.d.ts +177 -180
  54. package/dist/schema/quests.js +1 -1
  55. package/dist/schema/services.cjs +1 -1
  56. package/dist/schema/services.d.cts +127 -130
  57. package/dist/schema/services.d.ts +127 -130
  58. package/dist/schema/services.js +1 -1
  59. package/dist/schema/teams.d.cts +18 -18
  60. package/dist/schema/teams.d.ts +18 -18
  61. package/dist/utils/quest-submission.cjs +1 -1
  62. package/dist/utils/quest-submission.d.cts +7 -7
  63. package/dist/utils/quest-submission.d.ts +7 -7
  64. package/dist/utils/quest-submission.js +1 -1
  65. package/package.json +1 -1
  66. package/dist/chunk-6FG474SV.cjs.map +0 -1
  67. package/dist/chunk-6XQFD2Z2.cjs.map +0 -1
  68. package/dist/chunk-DC6TYS3A.cjs.map +0 -1
  69. package/dist/chunk-EK5P7FST.js.map +0 -1
  70. package/dist/chunk-OFDJA6ZW.cjs +0 -2
  71. package/dist/chunk-OFDJA6ZW.cjs.map +0 -1
  72. package/dist/chunk-OS542EYD.js.map +0 -1
  73. package/dist/chunk-VJJLRHOX.js +0 -2
  74. package/dist/chunk-VJJLRHOX.js.map +0 -1
  75. package/dist/chunk-W5UCZ73B.js +0 -2
  76. package/dist/chunk-W5UCZ73B.js.map +0 -1
@@ -47,9 +47,9 @@ declare const TeamSchema: z.ZodObject<{
47
47
  none: "none";
48
48
  }>;
49
49
  visibility: z.ZodEnum<{
50
- organization: "organization";
51
50
  public: "public";
52
51
  private: "private";
52
+ organization: "organization";
53
53
  monetized: "monetized";
54
54
  inherit: "inherit";
55
55
  }>;
@@ -110,9 +110,16 @@ declare const TeamSchema: z.ZodObject<{
110
110
  created_at: z.ZodString;
111
111
  }, z.core.$strip>;
112
112
  declare const CreateTeamSchema: z.ZodObject<{
113
+ visibility: z.ZodDefault<z.ZodEnum<{
114
+ public: "public";
115
+ private: "private";
116
+ organization: "organization";
117
+ monetized: "monetized";
118
+ inherit: "inherit";
119
+ }>>;
113
120
  id: z.ZodDefault<z.ZodString>;
114
- org_id: z.ZodUUID;
115
121
  name: z.ZodString;
122
+ org_id: z.ZodUUID;
116
123
  actor_type_policy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
117
124
  any: "any";
118
125
  verified_only: "verified_only";
@@ -123,13 +130,6 @@ declare const CreateTeamSchema: z.ZodObject<{
123
130
  web_only: "web_only";
124
131
  api_only: "api_only";
125
132
  }>>>;
126
- visibility: z.ZodDefault<z.ZodEnum<{
127
- organization: "organization";
128
- public: "public";
129
- private: "private";
130
- monetized: "monetized";
131
- inherit: "inherit";
132
- }>>;
133
133
  default_role: z.ZodDefault<z.ZodEnum<{
134
134
  admin: "admin";
135
135
  read: "read";
@@ -156,9 +156,9 @@ declare const ReadTeamSchema: z.ZodObject<{
156
156
  none: "none";
157
157
  }>;
158
158
  visibility: z.ZodEnum<{
159
- organization: "organization";
160
159
  public: "public";
161
160
  private: "private";
161
+ organization: "organization";
162
162
  monetized: "monetized";
163
163
  inherit: "inherit";
164
164
  }>;
@@ -290,9 +290,9 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
290
290
  none: "none";
291
291
  }>;
292
292
  visibility: z.ZodEnum<{
293
- organization: "organization";
294
293
  public: "public";
295
294
  private: "private";
295
+ organization: "organization";
296
296
  monetized: "monetized";
297
297
  inherit: "inherit";
298
298
  }>;
@@ -412,6 +412,13 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
412
412
  value: z.ZodString;
413
413
  }, z.core.$strip>>;
414
414
  declare const UpdateTeamSchema: z.ZodObject<{
415
+ visibility: z.ZodOptional<z.ZodEnum<{
416
+ public: "public";
417
+ private: "private";
418
+ organization: "organization";
419
+ monetized: "monetized";
420
+ inherit: "inherit";
421
+ }>>;
415
422
  name: z.ZodOptional<z.ZodString>;
416
423
  actor_type_policy: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
417
424
  any: "any";
@@ -423,13 +430,6 @@ declare const UpdateTeamSchema: z.ZodObject<{
423
430
  web_only: "web_only";
424
431
  api_only: "api_only";
425
432
  }>>>>;
426
- visibility: z.ZodOptional<z.ZodEnum<{
427
- organization: "organization";
428
- public: "public";
429
- private: "private";
430
- monetized: "monetized";
431
- inherit: "inherit";
432
- }>>;
433
433
  default_role: z.ZodOptional<z.ZodEnum<{
434
434
  admin: "admin";
435
435
  read: "read";
@@ -47,9 +47,9 @@ declare const TeamSchema: z.ZodObject<{
47
47
  none: "none";
48
48
  }>;
49
49
  visibility: z.ZodEnum<{
50
- organization: "organization";
51
50
  public: "public";
52
51
  private: "private";
52
+ organization: "organization";
53
53
  monetized: "monetized";
54
54
  inherit: "inherit";
55
55
  }>;
@@ -110,9 +110,16 @@ declare const TeamSchema: z.ZodObject<{
110
110
  created_at: z.ZodString;
111
111
  }, z.core.$strip>;
112
112
  declare const CreateTeamSchema: z.ZodObject<{
113
+ visibility: z.ZodDefault<z.ZodEnum<{
114
+ public: "public";
115
+ private: "private";
116
+ organization: "organization";
117
+ monetized: "monetized";
118
+ inherit: "inherit";
119
+ }>>;
113
120
  id: z.ZodDefault<z.ZodString>;
114
- org_id: z.ZodUUID;
115
121
  name: z.ZodString;
122
+ org_id: z.ZodUUID;
116
123
  actor_type_policy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
117
124
  any: "any";
118
125
  verified_only: "verified_only";
@@ -123,13 +130,6 @@ declare const CreateTeamSchema: z.ZodObject<{
123
130
  web_only: "web_only";
124
131
  api_only: "api_only";
125
132
  }>>>;
126
- visibility: z.ZodDefault<z.ZodEnum<{
127
- organization: "organization";
128
- public: "public";
129
- private: "private";
130
- monetized: "monetized";
131
- inherit: "inherit";
132
- }>>;
133
133
  default_role: z.ZodDefault<z.ZodEnum<{
134
134
  admin: "admin";
135
135
  read: "read";
@@ -156,9 +156,9 @@ declare const ReadTeamSchema: z.ZodObject<{
156
156
  none: "none";
157
157
  }>;
158
158
  visibility: z.ZodEnum<{
159
- organization: "organization";
160
159
  public: "public";
161
160
  private: "private";
161
+ organization: "organization";
162
162
  monetized: "monetized";
163
163
  inherit: "inherit";
164
164
  }>;
@@ -290,9 +290,9 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
290
290
  none: "none";
291
291
  }>;
292
292
  visibility: z.ZodEnum<{
293
- organization: "organization";
294
293
  public: "public";
295
294
  private: "private";
295
+ organization: "organization";
296
296
  monetized: "monetized";
297
297
  inherit: "inherit";
298
298
  }>;
@@ -412,6 +412,13 @@ declare const ReadTeamsSchema: z.ZodArray<z.ZodObject<{
412
412
  value: z.ZodString;
413
413
  }, z.core.$strip>>;
414
414
  declare const UpdateTeamSchema: z.ZodObject<{
415
+ visibility: z.ZodOptional<z.ZodEnum<{
416
+ public: "public";
417
+ private: "private";
418
+ organization: "organization";
419
+ monetized: "monetized";
420
+ inherit: "inherit";
421
+ }>>;
415
422
  name: z.ZodOptional<z.ZodString>;
416
423
  actor_type_policy: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
417
424
  any: "any";
@@ -423,13 +430,6 @@ declare const UpdateTeamSchema: z.ZodObject<{
423
430
  web_only: "web_only";
424
431
  api_only: "api_only";
425
432
  }>>>>;
426
- visibility: z.ZodOptional<z.ZodEnum<{
427
- organization: "organization";
428
- public: "public";
429
- private: "private";
430
- monetized: "monetized";
431
- inherit: "inherit";
432
- }>>;
433
433
  default_role: z.ZodOptional<z.ZodEnum<{
434
434
  admin: "admin";
435
435
  read: "read";
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkHN7Y7VMJ_cjs=require('../chunk-HN7Y7VMJ.cjs');require('../chunk-OFDJA6ZW.cjs'),require('../chunk-ROMY5WNQ.cjs'),require('../chunk-UY43EQTO.cjs'),require('../chunk-VOY623ZD.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-43KB23BA.cjs'),require('../chunk-7HF5VHUN.cjs');Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.c}});Object.defineProperty(exports,"KeyedAssetInputValueSchema",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.b}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunkHN7Y7VMJ_cjs.m}});//# sourceMappingURL=quest-submission.cjs.map
1
+ 'use strict';var chunk6ZJQTECB_cjs=require('../chunk-6ZJQTECB.cjs');require('../chunk-V73EW77Y.cjs'),require('../chunk-ROMY5WNQ.cjs'),require('../chunk-UY43EQTO.cjs'),require('../chunk-VOY623ZD.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-43KB23BA.cjs'),require('../chunk-7HF5VHUN.cjs');Object.defineProperty(exports,"KeyedAssetInputSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.c}});Object.defineProperty(exports,"KeyedAssetInputValueSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.b}});Object.defineProperty(exports,"KeyedAssetRefsSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.a}});Object.defineProperty(exports,"QuestSubmissionAssetDeclarationSchema",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.d}});Object.defineProperty(exports,"assetMatchesDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.k}});Object.defineProperty(exports,"declarationToPickerFilters",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.j}});Object.defineProperty(exports,"declarationToSubmissionDeclaration",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.f}});Object.defineProperty(exports,"getPrimaryAssetRef",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.l}});Object.defineProperty(exports,"getPrimaryDeclarationKey",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.h}});Object.defineProperty(exports,"getRouteInputDeclarationsFromRoute",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.e}});Object.defineProperty(exports,"getSubmissionAssetShape",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.i}});Object.defineProperty(exports,"materializeContributorSubmissionAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.g}});Object.defineProperty(exports,"toRouteInputAssets",{enumerable:true,get:function(){return chunk6ZJQTECB_cjs.m}});//# sourceMappingURL=quest-submission.cjs.map
2
2
  //# sourceMappingURL=quest-submission.cjs.map
@@ -4,11 +4,11 @@ import { z } from 'zod';
4
4
  declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
5
5
  asset_id: z.ZodUUID;
6
6
  asset_type: z.ZodEnum<{
7
- user: "user";
8
7
  organization: "organization";
8
+ file: "file";
9
+ user: "user";
9
10
  team: "team";
10
11
  dataset: "dataset";
11
- file: "file";
12
12
  service: "service";
13
13
  route: "route";
14
14
  post: "post";
@@ -21,11 +21,11 @@ declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
21
21
  declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodObject<{
22
22
  asset_id: z.ZodUUID;
23
23
  asset_type: z.ZodOptional<z.ZodEnum<{
24
- user: "user";
25
24
  organization: "organization";
25
+ file: "file";
26
+ user: "user";
26
27
  team: "team";
27
28
  dataset: "dataset";
28
- file: "file";
29
29
  service: "service";
30
30
  route: "route";
31
31
  post: "post";
@@ -37,11 +37,11 @@ declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodO
37
37
  declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUUID, z.ZodObject<{
38
38
  asset_id: z.ZodUUID;
39
39
  asset_type: z.ZodOptional<z.ZodEnum<{
40
- user: "user";
41
40
  organization: "organization";
41
+ file: "file";
42
+ user: "user";
42
43
  team: "team";
43
44
  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
- dataset: "dataset";
56
55
  file: "file";
56
+ dataset: "dataset";
57
57
  post: "post";
58
58
  }>;
59
59
  primary: z.ZodOptional<z.ZodBoolean>;
@@ -4,11 +4,11 @@ import { z } from 'zod';
4
4
  declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
5
5
  asset_id: z.ZodUUID;
6
6
  asset_type: z.ZodEnum<{
7
- user: "user";
8
7
  organization: "organization";
8
+ file: "file";
9
+ user: "user";
9
10
  team: "team";
10
11
  dataset: "dataset";
11
- file: "file";
12
12
  service: "service";
13
13
  route: "route";
14
14
  post: "post";
@@ -21,11 +21,11 @@ declare const KeyedAssetRefsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
21
21
  declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodObject<{
22
22
  asset_id: z.ZodUUID;
23
23
  asset_type: z.ZodOptional<z.ZodEnum<{
24
- user: "user";
25
24
  organization: "organization";
25
+ file: "file";
26
+ user: "user";
26
27
  team: "team";
27
28
  dataset: "dataset";
28
- file: "file";
29
29
  service: "service";
30
30
  route: "route";
31
31
  post: "post";
@@ -37,11 +37,11 @@ declare const KeyedAssetInputValueSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodO
37
37
  declare const KeyedAssetInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUUID, z.ZodObject<{
38
38
  asset_id: z.ZodUUID;
39
39
  asset_type: z.ZodOptional<z.ZodEnum<{
40
- user: "user";
41
40
  organization: "organization";
41
+ file: "file";
42
+ user: "user";
42
43
  team: "team";
43
44
  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
- dataset: "dataset";
56
55
  file: "file";
56
+ dataset: "dataset";
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-M2JJPDBW.js';import'../chunk-W5UCZ73B.js';import'../chunk-SR5UZ4NP.js';import'../chunk-CF56NFUG.js';import'../chunk-WLGOABHV.js';import'../chunk-3N56ERWF.js';import'../chunk-WRHPQNEL.js';import'../chunk-DUBPWSCA.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-TYOQ32UV.js';import'../chunk-MLTO7TMM.js';import'../chunk-SR5UZ4NP.js';import'../chunk-CF56NFUG.js';import'../chunk-WLGOABHV.js';import'../chunk-3N56ERWF.js';import'../chunk-WRHPQNEL.js';import'../chunk-DUBPWSCA.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.5.1",
3
+ "version": "3.5.2",
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",
@@ -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","CreateQuestItemSchema","union","s","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","KeyedAssetInputSchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-6FG474SV.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: string(),\n status: QuestItemStatusSchema.default(\"pending\"),\n auto_skipped: optional(nullable(string().or(any()))),\n status_before_auto_skip: optional(nullable(QuestItemStatusSchema)),\n sort_order: number().default(0),\n type: string().default(\"task\"),\n created_by: uuid(),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: number().int().nonnegative().default(0),\n reward_currency: RewardCurrencySchema.default(\"btc\"),\n reward_amount: number().int().nonnegative().default(0),\n child_quest_id: optional(nullable(uuid())),\n 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 as a convenience — it's lifted\n * into `{ description }` by the `union` below.\n */\nconst CreateQuestItemObjectSchema = object({\n description: string().min(1, { message: \"Item description cannot be empty\" }),\n type: optional(string()).default(\"task\"),\n sort_order: optional(number().int()),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: optional(number().int().nonnegative()).default(0),\n reward_currency: optional(RewardCurrencySchema).default(\"btc\"),\n // Amount is in minor units of `reward_currency`: sats for BTC, cents\n // for USD. Both fit in JS numbers comfortably for our reward sizes;\n // the underlying column is `bigint`.\n reward_amount: optional(number().int().nonnegative()).default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n 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().transform((s) => ({ description: s })),\n CreateQuestItemObjectSchema,\n]).pipe(CreateQuestItemObjectSchema);\n\n// ── Quest ──────────────────────────────────────────────────────────────\n\nconst QuestSpecificsSchema = object({\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n closed_at: optional(nullable(string())),\n});\n\nconst QuestSchema = AssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n metadata: optional(nullable(AssetMetadataSchema.partial())),\n // `read /quests/:id` returns the quest specifics nested under `quest`\n // and hoists items to the top level for convenience.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n done: number(),\n remaining: number(),\n }),\n ),\n});\n\n/**\n * Schema used by the backend controller and SDK clients to validate /\n * default the body of `POST /quests/create`. Mirrors how\n * `CreatePostSchema` defaults `org_id`/`team_id` so non-frontend callers\n * don't have to know about `GLOBAL_ORG_ID`.\n *\n * The `items` field accepts either plain strings or full item objects —\n * the backend `createQuestItems`/`createQuest` paths already handle both\n * shapes, and `CreateQuestItemSchema` normalizes strings into\n * `{ description }`.\n */\nconst CreateQuestSchema = CreateAssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n name: optional(nullable(string())).default(null),\n description: optional(nullable(ContentSchema)),\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n items: optional(array(CreateQuestItemSchema)).default([]),\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestSchema = QuestSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n items: true,\n progress: true,\n })\n .extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestItemSchema = CreateQuestItemObjectSchema.partial().extend({\n status: optional(QuestItemStatusSchema),\n});\n\n// ── Entries ────────────────────────────────────────────────────────────\n\nconst EntrySchema = object({\n id: uuid(),\n quest_id: uuid(),\n user_id: uuid(),\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\n 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 +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,WAAO,CACpC,EAAA,CAAIC,UACJ,CAAA,IAAA,CAAMC,YACN,CAAA,MAAA,CAAQC,SAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,UAAO,EAAA,CACb,KAAMA,UAAO,EAAA,CACb,UAAWA,UAAO,EAAA,CAClB,IAAME,CAAAA,UAAAA,EAEN,CAAA,KAAA,CAAOC,aAASD,UAAO,EAAC,EACxB,MAAQC,CAAAA,YAAAA,CAASD,YAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,WAAO,CACxC,IAAA,CAAME,YACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,mBAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,mBAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,mBAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,YAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,sBAAmB,CAAA,OAAA,CAAS,CAEnDC,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,mBAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,WAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,YAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,GAAUC,mBAA+BD,CAAAA,CAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,UAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,CAAAA,EAAUC,mBAA+BD,CAAAA,CAAK,CAAC","file":"chunk-6XQFD2Z2.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion,\n nullable\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst BaseFileMetadataSchema = object({\n id: uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: StubFileMetadataSchema,\n }),\n]).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst updateFileSchema = FileSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/posts.ts"],"names":["TipTapNode","lazy","object","string","optional","array","record","any","TipTapSchema","literal","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","AssetMetadataSchema","PostSchema","AssetSchema","nullable","AssetTypeSchema","x","CreatePostSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","ReadPostSchema","number","ReadPostsSchema","ListPostsSchema","UpdatePostSchema"],"mappings":"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","file":"chunk-DC6TYS3A.cjs","sourcesContent":["import {\n object,\n string,\n number,\n array,\n lazy,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n boolean,\n type ZodType\n} from \"zod\";\n\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst TipTapNode: ZodType<any> = lazy(() =>\n object({\n type: string(),\n content: optional(array(TipTapNode)),\n attrs: optional(record(string(), any())),\n marks: optional(\n array(\n object({\n type: string(),\n attrs: optional(record(string(), any())),\n })\n )\n ),\n text: optional(string()), // For text nodes\n })\n);\n\nconst TipTapSchema = object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n});\n\nconst ContentSchema = object({\n json: TipTapSchema,\n text: string(),\n}).default({ json: { type: \"doc\", content: [] }, text: \"\" });\n\nconst BasePostMetadataSchema = object({})\n\nconst PostMetadataSchema = BasePostMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n metadata: PostMetadataSchema,\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n\n});\n\nconst CreatePostSchema = CreateAssetSchema.extend({\n asset_type: literal(\"post\").default(\"post\"),\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n preview: TipTapSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ReadPostSchema = PostSchema.extend({\n content: optional(\n nullable(\n ContentSchema.default({\n json: { type: \"doc\", content: [] },\n text: \"\",\n })\n )\n ),\n reactions: array(record(string(), any())).default([]),\n views: number().default(0),\n commentCount: number().default(0),\n // We have this on asset now\n // parent: ConnectionSchema.optional().nullable(),\n});\n\nconst ReadPostsSchema = array(ReadPostSchema);\n\nconst ListPostsSchema = array(PostSchema);\n\nconst UpdatePostSchema = PostSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n content: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n TipTapSchema,\n ContentSchema,\n PostSchema,\n CreatePostSchema,\n ListPostsSchema,\n ReadPostSchema,\n ReadPostsSchema,\n UpdatePostSchema,\n};\nexport type Post = z.infer<typeof PostSchema>;\nexport type CreatePost = z.infer<typeof CreatePostSchema>;\nexport type ListPosts = z.infer<typeof ListPostsSchema>;\nexport type ReadPost = z.infer<typeof ReadPostSchema>;\nexport type ReadPosts = z.infer<typeof ReadPostsSchema>;\nexport type UpdatePost = z.infer<typeof UpdatePostSchema>;\nexport type Content = z.infer<typeof ContentSchema>;\nexport type TipTap = z.infer<typeof TipTapSchema>;\n"]}
@@ -1 +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","CreateQuestItemSchema","union","s","QuestSpecificsSchema","QuestSchema","AssetSchema","AssetMetadataSchema","CreateQuestSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateQuestSchema","UpdateQuestItemSchema","EntrySchema","CreateEntrySchema","KeyedAssetInputSchema","ReviewEntrySchema"],"mappings":"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","file":"chunk-EK5P7FST.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: string(),\n status: QuestItemStatusSchema.default(\"pending\"),\n auto_skipped: optional(nullable(string().or(any()))),\n status_before_auto_skip: optional(nullable(QuestItemStatusSchema)),\n sort_order: number().default(0),\n type: string().default(\"task\"),\n created_by: uuid(),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: number().int().nonnegative().default(0),\n reward_currency: RewardCurrencySchema.default(\"btc\"),\n reward_amount: number().int().nonnegative().default(0),\n child_quest_id: optional(nullable(uuid())),\n 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 as a convenience — it's lifted\n * into `{ description }` by the `union` below.\n */\nconst CreateQuestItemObjectSchema = object({\n description: string().min(1, { message: \"Item description cannot be empty\" }),\n type: optional(string()).default(\"task\"),\n sort_order: optional(number().int()),\n assignee_id: optional(nullable(uuid())),\n expected_asset_type: optional(nullable(AssetTypeSchema)),\n reward_xp: optional(number().int().nonnegative()).default(0),\n reward_currency: optional(RewardCurrencySchema).default(\"btc\"),\n // Amount is in minor units of `reward_currency`: sats for BTC, cents\n // for USD. Both fit in JS numbers comfortably for our reward sizes;\n // the underlying column is `bigint`.\n reward_amount: optional(number().int().nonnegative()).default(0),\n child_quest_id: optional(nullable(uuid())),\n eval_route_id: optional(nullable(uuid())),\n eval_score_path: optional(nullable(string())),\n eval_pass_min: optional(nullable(number())),\n eval_pass_max: optional(nullable(number())),\n 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().transform((s) => ({ description: s })),\n CreateQuestItemObjectSchema,\n]).pipe(CreateQuestItemObjectSchema);\n\n// ── Quest ──────────────────────────────────────────────────────────────\n\nconst QuestSpecificsSchema = object({\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n closed_at: optional(nullable(string())),\n});\n\nconst QuestSchema = AssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n metadata: optional(nullable(AssetMetadataSchema.partial())),\n // `read /quests/:id` returns the quest specifics nested under `quest`\n // and hoists items to the top level for convenience.\n quest: optional(QuestSpecificsSchema.partial()),\n items: optional(array(QuestItemSchema.partial())),\n progress: optional(\n object({\n total: number(),\n done: number(),\n remaining: number(),\n }),\n ),\n});\n\n/**\n * Schema used by the backend controller and SDK clients to validate /\n * default the body of `POST /quests/create`. Mirrors how\n * `CreatePostSchema` defaults `org_id`/`team_id` so non-frontend callers\n * don't have to know about `GLOBAL_ORG_ID`.\n *\n * The `items` field accepts either plain strings or full item objects —\n * the backend `createQuestItems`/`createQuest` paths already handle both\n * shapes, and `CreateQuestItemSchema` normalizes strings into\n * `{ description }`.\n */\nconst CreateQuestSchema = CreateAssetSchema.extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n name: optional(nullable(string())).default(null),\n description: optional(nullable(ContentSchema)),\n type: QuestTypeSchema.default(\"closable\"),\n status: QuestStatusSchema.default(\"open\"),\n max_xp_per_contributor: optional(nullable(number().int().nonnegative())),\n items: optional(array(CreateQuestItemSchema)).default([]),\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestSchema = QuestSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n items: true,\n progress: true,\n })\n .extend({\n asset_type: literal(\"quest\").default(\"quest\"),\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateQuestItemSchema = CreateQuestItemObjectSchema.partial().extend({\n status: optional(QuestItemStatusSchema),\n});\n\n// ── Entries ────────────────────────────────────────────────────────────\n\nconst EntrySchema = object({\n id: uuid(),\n quest_id: uuid(),\n user_id: uuid(),\n item_id: optional(nullable(uuid())),\n asset_id: optional(nullable(uuid())),\n asset_type: optional(nullable(AssetTypeSchema)),\n 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 chunkROMY5WNQ_cjs=require('./chunk-ROMY5WNQ.cjs'),chunk43KB23BA_cjs=require('./chunk-43KB23BA.cjs'),zod=require('zod');var v=zod.enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),z=zod.object({authentication:v,base_url:zod.string(),version:zod.optional(zod.nullable(zod.string())),spec_path:zod.optional(zod.nullable(zod.string())),spec_url:zod.optional(zod.nullable(zod.string())),auth_url:zod.optional(zod.nullable(zod.string()))}),A=z.extend(chunkROMY5WNQ_cjs.b.partial().shape),D=chunkROMY5WNQ_cjs.c.extend({asset_type:chunk43KB23BA_cjs.a.refine(u=>u==="service"),metadata:A}),C=chunkROMY5WNQ_cjs.d.extend({asset_type:chunk43KB23BA_cjs.a.refine(u=>u==="service"),metadata:A}).transform(u=>chunkROMY5WNQ_cjs.a(u)),w=D.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())}).transform(u=>chunkROMY5WNQ_cjs.a(u)),x=zod.enum(["sync","async"]),d=zod.enum(["file","dataset","post"]),R=zod.enum(["audio","video","image","pdf","3d model","atomic structure"]),T=zod.object({asset_type:d,primary:zod.optional(zod.boolean()),input_filter:zod.optional(zod.nullable(R)),file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),contains_file_extensions:zod.optional(zod.nullable(zod.array(zod.string())))}).catchall(zod.any()),O=zod.object({asset_type:d,primary:zod.optional(zod.boolean()),file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),contains_file_extensions:zod.optional(zod.nullable(zod.array(zod.string())))}).catchall(zod.any()),b=zod.record(zod.string(),T),g=zod.record(zod.string(),O),M=zod.object({id:zod.string(),user_id:zod.string(),service_id:zod.string(),path:zod.string(),method:zod.enum(["GET","POST","PUT","PATCH","DELETE"]),summary:zod.optional(zod.nullable(zod.string())),parameters:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),request_body:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),responses:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),input_assets:zod.optional(zod.nullable(b)),input_type:zod.optional(zod.nullable(d)),input_filter:zod.optional(zod.nullable(R)),input_file_extension:zod.optional(zod.nullable(zod.string())),input_file_extensions:zod.optional(zod.nullable(zod.array(zod.string()))),output_assets:zod.optional(zod.nullable(g)),output_type:zod.optional(zod.nullable(d)),output_file_extension:zod.optional(zod.nullable(zod.string())),security:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),rate_limit:zod.optional(zod.nullable(zod.number())),execution_mode:zod.optional(x).default("sync"),observed_execution_mode:zod.optional(zod.nullable(x)),last_updated:zod.string()}),E=zod.object({avg_ack_ms:zod.optional(zod.nullable(zod.number())),p95_ack_ms:zod.optional(zod.nullable(zod.number())),avg_completion_ms:zod.optional(zod.nullable(zod.number())),p95_completion_ms:zod.optional(zod.nullable(zod.number())),latency_sample_count:zod.optional(zod.nullable(zod.number()))}),F=chunkROMY5WNQ_cjs.c.extend({asset_type:chunk43KB23BA_cjs.a.refine(u=>u==="route"),route:M,metrics:zod.optional(zod.nullable(E))}),U=zod.object({id:zod.uuid(),user_id:zod.uuid(),route_id:zod.uuid(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),response:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),side_effects:zod.boolean().default(true),input_asset_id:zod.optional(zod.nullable(zod.uuid())),output_asset_id:zod.optional(zod.nullable(zod.uuid())),input_asset:zod.optional(zod.nullable(chunkROMY5WNQ_cjs.c)),input_assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),output_asset:zod.optional(zod.nullable(chunkROMY5WNQ_cjs.c)),output_assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),webhook_url:zod.optional(zod.nullable(zod.string())),webhook_token:zod.optional(zod.nullable(zod.string())),status:chunk43KB23BA_cjs.j,created_at:zod.string(),last_updated:zod.string(),started_at:zod.optional(zod.nullable(zod.string())),ack_at:zod.optional(zod.nullable(zod.string())),upstream_status_code:zod.optional(zod.nullable(zod.number())),finished_at:zod.optional(zod.nullable(zod.string()))});exports.a=D;exports.b=C;exports.c=w;exports.d=x;exports.e=T;exports.f=O;exports.g=b;exports.h=g;exports.i=E;exports.j=F;exports.k=U;//# sourceMappingURL=chunk-OFDJA6ZW.cjs.map
2
- //# sourceMappingURL=chunk-OFDJA6ZW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/services.ts"],"names":["AuthType","zodEnum","BaseServiceMetadataSchema","object","string","optional","nullable","ServiceMetadataSchema","AssetMetadataSchema","ServiceSchema","AssetSchema","AssetTypeSchema","x","CreateServiceSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateServiceSchema","ExecutionModeSchema","RouteAssetType","RouteInputFilter","RouteInputAssetDeclarationSchema","boolean","array","any","RouteOutputAssetDeclarationSchema","RouteInputAssetsSchema","record","RouteOutputAssetsSchema","RouteDetailSchema","number","RouteMetricsSchema","RouteSchema","ActionSchema","uuid","StatusSchema"],"mappings":"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","file":"chunk-OFDJA6ZW.cjs","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema, StatusSchema } from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n spec_url: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateServiceSchema = ServiceSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ExecutionModeSchema = zodEnum([\"sync\", \"async\"]);\n\n// Asset type accepted in keyed `input_assets` / `output_assets` declarations.\nconst RouteAssetType = zodEnum([\"file\", \"dataset\", \"post\"]);\n\n// File-type filter accepted on file-input declarations.\nconst RouteInputFilter = zodEnum([\n \"audio\",\n \"video\",\n \"image\",\n \"pdf\",\n \"3d model\",\n \"atomic structure\",\n]);\n\n// Shape of a single keyed declaration in `routes.input_assets`. Plural\n// declarations are canonical; the legacy `input_type` and `input_file_*`\n// columns on the route row stay in sync as primary projections.\nconst RouteInputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n input_filter: optional(nullable(RouteInputFilter)),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\n// Shape of a single keyed declaration in `routes.output_assets`.\nconst RouteOutputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\nconst RouteInputAssetsSchema = record(\n string(),\n RouteInputAssetDeclarationSchema\n);\n\nconst RouteOutputAssetsSchema = record(\n string(),\n RouteOutputAssetDeclarationSchema\n);\n\nconst RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n // Canonical plural input declarations keyed by request body field name.\n input_assets: optional(nullable(RouteInputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `input_assets` for\n // older clients, indexing, and quick asset-type lookups.\n input_type: optional(nullable(RouteAssetType)),\n input_filter: optional(nullable(RouteInputFilter)),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n // Canonical plural output declarations keyed by response body field name.\n output_assets: optional(nullable(RouteOutputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `output_assets`.\n output_type: optional(nullable(RouteAssetType)),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n // Author-declared execution model: 'sync' = upstream returns the result\n // inline; 'async' = upstream returns 202 quickly and webhooks completion.\n execution_mode: optional(ExecutionModeSchema).default(\"sync\"),\n // Empirical mode derived by the platform from recent action history; null\n // until enough samples have been observed. When this differs from\n // execution_mode the route is misconfigured.\n observed_execution_mode: optional(nullable(ExecutionModeSchema)),\n last_updated: string(),\n});\n\n// Per-route latency aggregates surfaced from asset_metrics. All fields are\n// nullable because they don't exist until the platform has observed at least\n// one completed action for the route.\nconst RouteMetricsSchema = object({\n // Average HTTP-hop latency in milliseconds: time from request start until\n // upstream returned 200 or 202.\n avg_ack_ms: optional(nullable(number())),\n p95_ack_ms: optional(nullable(number())),\n // Average end-to-end latency in milliseconds: started_at to finished_at,\n // includes webhook completion for async routes. This is the value an\n // agent should consider when deciding whether to wait or poll.\n avg_completion_ms: optional(nullable(number())),\n p95_completion_ms: optional(nullable(number())),\n latency_sample_count: optional(nullable(number())),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\n // Latency aggregates joined from asset_metrics; null when no samples yet.\n metrics: optional(nullable(RouteMetricsSchema)),\n});\n\nconst ActionSchema = object({\n id: uuid(),\n user_id: uuid(),\n route_id: uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(uuid())),\n output_asset_id: optional(nullable(uuid())),\n input_asset: optional(nullable(AssetSchema)),\n input_assets: optional(nullable(array(record(string(), any())))),\n output_asset: optional(nullable(AssetSchema)),\n output_assets: optional(nullable(array(record(string(), any())))),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: StatusSchema,\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n // When the upstream service first responded (200 or 202). For sync routes\n // this is approximately equal to finished_at; for async routes the gap\n // between ack_at and finished_at is the out-of-band wait time.\n ack_at: optional(nullable(string())),\n // HTTP status code returned by the upstream service at ack time.\n upstream_status_code: optional(nullable(number())),\n finished_at: optional(nullable(string())),\n});\n\nexport {\n RouteSchema,\n RouteInputAssetDeclarationSchema,\n RouteOutputAssetDeclarationSchema,\n RouteInputAssetsSchema,\n RouteOutputAssetsSchema,\n ServiceSchema,\n CreateServiceSchema,\n UpdateServiceSchema,\n ActionSchema,\n RouteMetricsSchema,\n ExecutionModeSchema,\n};\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type RouteMetrics = z.infer<typeof RouteMetricsSchema>;\nexport type RouteInputAssetDeclaration = z.infer<typeof RouteInputAssetDeclarationSchema>;\nexport type RouteOutputAssetDeclaration = z.infer<typeof RouteOutputAssetDeclarationSchema>;\nexport type RouteInputAssets = z.infer<typeof RouteInputAssetsSchema>;\nexport type RouteOutputAssets = z.infer<typeof RouteOutputAssetsSchema>;\nexport type ExecutionMode = z.infer<typeof ExecutionModeSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/posts.ts"],"names":["TipTapNode","lazy","object","string","optional","array","record","any","TipTapSchema","literal","ContentSchema","BasePostMetadataSchema","PostMetadataSchema","AssetMetadataSchema","PostSchema","AssetSchema","nullable","AssetTypeSchema","x","CreatePostSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","ReadPostSchema","number","ReadPostsSchema","ListPostsSchema","UpdatePostSchema"],"mappings":"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","file":"chunk-OS542EYD.js","sourcesContent":["import {\n object,\n string,\n number,\n array,\n lazy,\n literal,\n record,\n type z,\n any,\n optional,\n nullable,\n boolean,\n type ZodType\n} from \"zod\";\n\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\nimport { AssetTypeSchema } from \"./common\";\n\nconst TipTapNode: ZodType<any> = lazy(() =>\n object({\n type: string(),\n content: optional(array(TipTapNode)),\n attrs: optional(record(string(), any())),\n marks: optional(\n array(\n object({\n type: string(),\n attrs: optional(record(string(), any())),\n })\n )\n ),\n text: optional(string()), // For text nodes\n })\n);\n\nconst TipTapSchema = object({\n type: literal(\"doc\"),\n content: array(TipTapNode),\n});\n\nconst ContentSchema = object({\n json: TipTapSchema,\n text: string(),\n}).default({ json: { type: \"doc\", content: [] }, text: \"\" });\n\nconst BasePostMetadataSchema = object({})\n\nconst PostMetadataSchema = BasePostMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst PostSchema = AssetSchema.extend({\n name: nullable(string()),\n asset_type: AssetTypeSchema.refine((x) => [\"post\", \"comment\"].includes(x)),\n metadata: PostMetadataSchema,\n // TODO: make this ContentSchema\n preview: TipTapSchema.default({ type: \"doc\", content: [] }),\n content: ContentSchema,\n\n});\n\nconst CreatePostSchema = CreateAssetSchema.extend({\n asset_type: literal(\"post\").default(\"post\"),\n name: string()\n .optional()\n .nullable()\n .default(\"\")\n .transform((x) => x?.trim())\n .transform((x) => x || null),\n preview: TipTapSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ReadPostSchema = PostSchema.extend({\n content: optional(\n nullable(\n ContentSchema.default({\n json: { type: \"doc\", content: [] },\n text: \"\",\n })\n )\n ),\n reactions: array(record(string(), any())).default([]),\n views: number().default(0),\n commentCount: number().default(0),\n // We have this on asset now\n // parent: ConnectionSchema.optional().nullable(),\n});\n\nconst ReadPostsSchema = array(ReadPostSchema);\n\nconst ListPostsSchema = array(PostSchema);\n\nconst UpdatePostSchema = PostSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n content: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport {\n TipTapSchema,\n ContentSchema,\n PostSchema,\n CreatePostSchema,\n ListPostsSchema,\n ReadPostSchema,\n ReadPostsSchema,\n UpdatePostSchema,\n};\nexport type Post = z.infer<typeof PostSchema>;\nexport type CreatePost = z.infer<typeof CreatePostSchema>;\nexport type ListPosts = z.infer<typeof ListPostsSchema>;\nexport type ReadPost = z.infer<typeof ReadPostSchema>;\nexport type ReadPosts = z.infer<typeof ReadPostsSchema>;\nexport type UpdatePost = z.infer<typeof UpdatePostSchema>;\nexport type Content = z.infer<typeof ContentSchema>;\nexport type TipTap = z.infer<typeof TipTapSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- import {b as b$1,c,d,a}from'./chunk-SR5UZ4NP.js';import {object,optional,number,string,enum as _enum,uuid,literal,discriminatedUnion}from'zod';var f=object({id:uuid(),path:string(),bucket:_enum(["public-files","files"]),name:string(),type:string(),extension:string(),size:number(),width:optional(number()),height:optional(number())}),h=object({type:string()}),p=f.extend(b$1.partial().shape),S=h.extend(b$1.partial().shape),F=c.extend({asset_type:literal("file").default("file"),metadata:p}),z=discriminatedUnion("state",[d.extend({asset_type:literal("file").default("file"),state:literal("success").default("success"),metadata:p}),d.extend({asset_type:literal("file").default("file"),state:literal("in-progress").default("in-progress"),metadata:S})]).transform(a$1=>a(a$1)),b=F.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(a$1=>a(a$1));export{F as a,z as b,b as c};//# sourceMappingURL=chunk-VJJLRHOX.js.map
2
- //# sourceMappingURL=chunk-VJJLRHOX.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":"+IAoBMA,IAAAA,CAAAA,CAAyBC,OAAO,CACpC,EAAA,CAAIC,MACJ,CAAA,IAAA,CAAMC,QACN,CAAA,MAAA,CAAQC,MAAQ,CAAC,cAAA,CAAgB,OAAO,CAAC,CAAA,CACzC,KAAMD,MAAO,EAAA,CACb,KAAMA,MAAO,EAAA,CACb,UAAWA,MAAO,EAAA,CAClB,IAAME,CAAAA,MAAAA,EAEN,CAAA,KAAA,CAAOC,SAASD,MAAO,EAAC,EACxB,MAAQC,CAAAA,QAAAA,CAASD,QAAQ,CAC3B,CAAC,CAEKE,CAAAA,CAAAA,CAA6BN,OAAO,CACxC,IAAA,CAAME,QACR,CAAC,EAEKK,CAAqBR,CAAAA,CAAAA,CAAuB,MAChDS,CAAAA,GAAAA,CAAoB,OAAQ,EAAA,CAAE,KAChC,CAEMC,CAAAA,CAAAA,CAAyBH,EAA2B,MACxDE,CAAAA,GAAAA,CAAoB,SAAU,CAAA,KAChC,EAEME,CAAaC,CAAAA,CAAAA,CAAY,OAAO,CACpC,UAAA,CAAYC,QAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA,CAC1C,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAmBC,kBAAmB,CAAA,OAAA,CAAS,CAEnDC,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA,CAC3C,SAAUL,CACZ,CAAC,EAEDQ,CAAkB,CAAA,MAAA,CAAO,CACvB,UAAYH,CAAAA,OAAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,MAAM,CAC1C,CAAA,KAAA,CAAOA,QAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA,CACnD,SAAUH,CACZ,CAAC,CACH,CAAC,CAAE,CAAA,SAAA,CAAWO,KAAUC,CAA+BD,CAAAA,GAAK,CAAC,CAEvDE,CAAAA,CAAAA,CAAmBR,EAAW,OAAQ,EAAA,CACzC,KAAK,CACJ,OAAA,CAAS,KACT,EAAI,CAAA,IAAA,CACJ,WAAY,IACZ,CAAA,YAAA,CAAc,KACd,YAAc,CAAA,IAAA,CACd,IAAM,CAAA,IAAA,CACN,IAAM,CAAA,IAAA,CACN,KAAM,IACR,CAAC,EACA,MAAO,CAAA,CACN,aAAcR,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,MAAO,CAAA,WAAA,EAAa,CAC/D,CAAC,EACA,SAAWc,CAAAA,GAAAA,EAAUC,CAA+BD,CAAAA,GAAK,CAAC","file":"chunk-VJJLRHOX.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n enum as zodEnum,\n type z,\n optional,\n literal,\n discriminatedUnion,\n nullable\n} from \"zod\";\n\nimport {\n AssetSchema,\n CreateAssetSchema,\n AssetMetadataSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst BaseFileMetadataSchema = object({\n id: uuid(), // The id of the file object\n path: string(), // The path of the file in storage\n bucket: zodEnum([\"public-files\", \"files\"]),\n name: string(),\n type: string(),\n extension: string(),\n size: number(),\n // If the file is an image, we store width and height\n width: optional(number()),\n height: optional(number()),\n});\n\nconst BaseStubFileMetadataSchema = object({\n type: string(),\n});\n\nconst FileMetadataSchema = BaseFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst StubFileMetadataSchema = BaseStubFileMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst FileSchema = AssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n metadata: FileMetadataSchema,\n});\n\nconst CreateFileSchema = discriminatedUnion(\"state\", [\n // Success state, file is ready\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"success\").default(\"success\"),\n metadata: FileMetadataSchema,\n }),\n // In-progress state, file is being processed\n CreateAssetSchema.extend({\n asset_type: literal(\"file\").default(\"file\"),\n state: literal(\"in-progress\").default(\"in-progress\"),\n metadata: StubFileMetadataSchema,\n }),\n]).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst updateFileSchema = FileSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nexport { FileSchema, CreateFileSchema, updateFileSchema };\nexport type File = z.infer<typeof FileSchema>;\nexport type CreateFile = z.infer<typeof CreateFileSchema>;\nexport type UpdateFile = z.infer<typeof updateFileSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- import {b as b$1,c,d as d$1,a as a$1}from'./chunk-SR5UZ4NP.js';import {a,j}from'./chunk-WRHPQNEL.js';import {enum as _enum,object,optional,string,nullable,array,boolean,any,record,number,uuid}from'zod';var v=_enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),z=object({authentication:v,base_url:string(),version:optional(nullable(string())),spec_path:optional(nullable(string())),spec_url:optional(nullable(string())),auth_url:optional(nullable(string()))}),A=z.extend(b$1.partial().shape),D=c.extend({asset_type:a.refine(u=>u==="service"),metadata:A}),C=d$1.extend({asset_type:a.refine(u=>u==="service"),metadata:A}).transform(u=>a$1(u)),w=D.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(u=>a$1(u)),x=_enum(["sync","async"]),d=_enum(["file","dataset","post"]),R=_enum(["audio","video","image","pdf","3d model","atomic structure"]),T=object({asset_type:d,primary:optional(boolean()),input_filter:optional(nullable(R)),file_extensions:optional(nullable(array(string()))),contains_file_extensions:optional(nullable(array(string())))}).catchall(any()),O=object({asset_type:d,primary:optional(boolean()),file_extensions:optional(nullable(array(string()))),contains_file_extensions:optional(nullable(array(string())))}).catchall(any()),b=record(string(),T),g=record(string(),O),M=object({id:string(),user_id:string(),service_id:string(),path:string(),method:_enum(["GET","POST","PUT","PATCH","DELETE"]),summary:optional(nullable(string())),parameters:optional(nullable(array(record(string(),any())))),request_body:optional(nullable(record(string(),any()))),responses:optional(nullable(array(record(string(),any())))),input_assets:optional(nullable(b)),input_type:optional(nullable(d)),input_filter:optional(nullable(R)),input_file_extension:optional(nullable(string())),input_file_extensions:optional(nullable(array(string()))),output_assets:optional(nullable(g)),output_type:optional(nullable(d)),output_file_extension:optional(nullable(string())),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),execution_mode:optional(x).default("sync"),observed_execution_mode:optional(nullable(x)),last_updated:string()}),E=object({avg_ack_ms:optional(nullable(number())),p95_ack_ms:optional(nullable(number())),avg_completion_ms:optional(nullable(number())),p95_completion_ms:optional(nullable(number())),latency_sample_count:optional(nullable(number()))}),F=c.extend({asset_type:a.refine(u=>u==="route"),route:M,metrics:optional(nullable(E))}),U=object({id:uuid(),user_id:uuid(),route_id:uuid(),metadata:optional(nullable(record(string(),any()))),response:optional(nullable(record(string(),any()))),side_effects:boolean().default(true),input_asset_id:optional(nullable(uuid())),output_asset_id:optional(nullable(uuid())),input_asset:optional(nullable(c)),input_assets:optional(nullable(array(record(string(),any())))),output_asset:optional(nullable(c)),output_assets:optional(nullable(array(record(string(),any())))),webhook_url:optional(nullable(string())),webhook_token:optional(nullable(string())),status:j,created_at:string(),last_updated:string(),started_at:optional(nullable(string())),ack_at:optional(nullable(string())),upstream_status_code:optional(nullable(number())),finished_at:optional(nullable(string()))});export{D as a,C as b,w as c,x as d,T as e,O as f,b as g,g as h,E as i,F as j,U as k};//# sourceMappingURL=chunk-W5UCZ73B.js.map
2
- //# sourceMappingURL=chunk-W5UCZ73B.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema/services.ts"],"names":["AuthType","zodEnum","BaseServiceMetadataSchema","object","string","optional","nullable","ServiceMetadataSchema","AssetMetadataSchema","ServiceSchema","AssetSchema","AssetTypeSchema","x","CreateServiceSchema","CreateAssetSchema","value","normalizeAssetConfigForParsing","UpdateServiceSchema","ExecutionModeSchema","RouteAssetType","RouteInputFilter","RouteInputAssetDeclarationSchema","boolean","array","any","RouteOutputAssetDeclarationSchema","RouteInputAssetsSchema","record","RouteOutputAssetsSchema","RouteDetailSchema","number","RouteMetricsSchema","RouteSchema","ActionSchema","uuid","StatusSchema"],"mappings":"0MAuBA,IAAMA,EAAWC,KAAQ,CAAA,CAAC,uBAAyB,CAAA,MAAA,CAAQ,OAAQ,WAAW,CAAC,CAEzEC,CAAAA,CAAAA,CAA4BC,OAAO,CACvC,cAAA,CAAgBH,CAChB,CAAA,QAAA,CAAUI,QACV,CAAA,OAAA,CAASC,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,CACpC,CAAA,SAAA,CAAWC,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,EACtC,QAAUC,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACrC,QAAUC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CACvC,CAAC,CAEKG,CAAAA,CAAAA,CAAwBL,CAA0B,CAAA,MAAA,CACtDM,IAAoB,OAAQ,EAAA,CAAE,KAChC,CAAA,CAEMC,EAAgBC,CAAY,CAAA,MAAA,CAAO,CACvC,UAAA,CAAYC,EAAgB,MAAQC,CAAAA,CAAAA,EAAoBA,CAAd,GAAA,SAAe,EACzD,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAEKM,EAAsBC,GAAkB,CAAA,MAAA,CAAO,CACnD,UAAA,CAAYH,EAAgB,MAAQC,CAAAA,CAAAA,EAAoBA,CAAd,GAAA,SAAe,EACzD,QAAUL,CAAAA,CACZ,CAAC,CAAA,CAAE,UAAWQ,CAAUC,EAAAA,GAAAA,CAA+BD,CAAK,CAAC,EAEvDE,CAAsBR,CAAAA,CAAAA,CAAc,OAAQ,EAAA,CAC/C,KAAK,CACJ,OAAA,CAAS,IACT,CAAA,EAAA,CAAI,KACJ,UAAY,CAAA,IAAA,CACZ,YAAc,CAAA,IAAA,CACd,aAAc,IACd,CAAA,IAAA,CAAM,IACN,CAAA,IAAA,CAAM,KACN,IAAM,CAAA,IACR,CAAC,CAAA,CACA,OAAO,CACN,YAAA,CAAcL,MAAO,EAAA,CAAE,QAAQ,IAAM,IAAI,IAAK,EAAA,CAAE,aAAa,CAC/D,CAAC,CAAA,CACA,UAAWW,CAAUC,EAAAA,GAAAA,CAA+BD,CAAK,CAAC,CAEvDG,CAAAA,CAAAA,CAAsBjB,KAAQ,CAAA,CAAC,OAAQ,OAAO,CAAC,CAG/CkB,CAAAA,CAAAA,CAAiBlB,MAAQ,CAAC,MAAA,CAAQ,SAAW,CAAA,MAAM,CAAC,CAGpDmB,CAAAA,CAAAA,CAAmBnB,KAAQ,CAAA,CAC/B,QACA,OACA,CAAA,OAAA,CACA,KACA,CAAA,UAAA,CACA,kBACF,CAAC,CAAA,CAKKoB,CAAmClB,CAAAA,MAAAA,CAAO,CAC9C,UAAYgB,CAAAA,CAAAA,CACZ,OAASd,CAAAA,QAAAA,CAASiB,SAAS,CAAA,CAC3B,YAAcjB,CAAAA,QAAAA,CAASC,SAASc,CAAgB,CAAC,CACjD,CAAA,eAAA,CAAiBf,SAASC,QAASiB,CAAAA,KAAAA,CAAMnB,MAAO,EAAC,CAAC,CAAC,CAAA,CACnD,wBAA0BC,CAAAA,QAAAA,CAASC,SAASiB,KAAMnB,CAAAA,MAAAA,EAAQ,CAAC,CAAC,CAC9D,CAAC,CAAE,CAAA,QAAA,CAASoB,KAAK,CAAA,CAGXC,CAAoCtB,CAAAA,MAAAA,CAAO,CAC/C,UAAYgB,CAAAA,CAAAA,CACZ,OAASd,CAAAA,QAAAA,CAASiB,SAAS,CAAA,CAC3B,eAAiBjB,CAAAA,QAAAA,CAASC,SAASiB,KAAMnB,CAAAA,MAAAA,EAAQ,CAAC,CAAC,CACnD,CAAA,wBAAA,CAA0BC,QAASC,CAAAA,QAAAA,CAASiB,MAAMnB,MAAO,EAAC,CAAC,CAAC,CAC9D,CAAC,CAAA,CAAE,QAASoB,CAAAA,GAAAA,EAAK,CAEXE,CAAAA,CAAAA,CAAyBC,MAC7BvB,CAAAA,MAAAA,GACAiB,CACF,CAAA,CAEMO,CAA0BD,CAAAA,MAAAA,CAC9BvB,QACAqB,CAAAA,CACF,CAEMI,CAAAA,CAAAA,CAAoB1B,OAAO,CAC/B,EAAA,CAAIC,MAAO,EAAA,CACX,QAASA,MAAO,EAAA,CAChB,UAAYA,CAAAA,MAAAA,GACZ,IAAMA,CAAAA,MAAAA,EACN,CAAA,MAAA,CAAQH,MAAQ,CAAC,KAAA,CAAO,MAAQ,CAAA,KAAA,CAAO,QAAS,QAAQ,CAAC,CACzD,CAAA,OAAA,CAASI,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,EACpC,UAAYC,CAAAA,QAAAA,CAASC,QAASiB,CAAAA,KAAAA,CAAMI,OAAOvB,MAAO,EAAA,CAAGoB,GAAI,EAAC,CAAC,CAAC,CAAC,CAC7D,CAAA,YAAA,CAAcnB,QAASC,CAAAA,QAAAA,CAASqB,MAAOvB,CAAAA,MAAAA,GAAUoB,GAAI,EAAC,CAAC,CAAC,EACxD,SAAWnB,CAAAA,QAAAA,CAASC,QAASiB,CAAAA,KAAAA,CAAMI,OAAOvB,MAAO,EAAA,CAAGoB,GAAI,EAAC,CAAC,CAAC,CAAC,CAE5D,CAAA,YAAA,CAAcnB,SAASC,QAASoB,CAAAA,CAAsB,CAAC,CAAA,CAGvD,WAAYrB,QAASC,CAAAA,QAAAA,CAASa,CAAc,CAAC,EAC7C,YAAcd,CAAAA,QAAAA,CAASC,QAASc,CAAAA,CAAgB,CAAC,CACjD,CAAA,oBAAA,CAAsBf,QAASC,CAAAA,QAAAA,CAASF,QAAQ,CAAC,CACjD,CAAA,qBAAA,CAAuBC,SAASC,QAASiB,CAAAA,KAAAA,CAAMnB,MAAO,EAAC,CAAC,CAAC,CAAA,CAEzD,aAAeC,CAAAA,QAAAA,CAASC,SAASsB,CAAuB,CAAC,CAEzD,CAAA,WAAA,CAAavB,SAASC,QAASa,CAAAA,CAAc,CAAC,CAAA,CAC9C,sBAAuBd,QAASC,CAAAA,QAAAA,CAASF,MAAO,EAAC,CAAC,CAClD,CAAA,QAAA,CAAUC,QAASC,CAAAA,QAAAA,CAASqB,OAAOvB,MAAO,EAAA,CAAGoB,GAAI,EAAC,CAAC,CAAC,CAAA,CACpD,UAAYnB,CAAAA,QAAAA,CAASC,SAASwB,MAAO,EAAC,CAAC,CAAA,CAGvC,eAAgBzB,QAASa,CAAAA,CAAmB,CAAE,CAAA,OAAA,CAAQ,MAAM,CAI5D,CAAA,uBAAA,CAAyBb,QAASC,CAAAA,QAAAA,CAASY,CAAmB,CAAC,CAAA,CAC/D,YAAcd,CAAAA,MAAAA,EAChB,CAAC,CAAA,CAKK2B,CAAqB5B,CAAAA,MAAAA,CAAO,CAGhC,UAAYE,CAAAA,QAAAA,CAASC,QAASwB,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACvC,UAAYzB,CAAAA,QAAAA,CAASC,SAASwB,MAAO,EAAC,CAAC,CAAA,CAIvC,kBAAmBzB,QAASC,CAAAA,QAAAA,CAASwB,MAAO,EAAC,CAAC,CAC9C,CAAA,iBAAA,CAAmBzB,QAASC,CAAAA,QAAAA,CAASwB,QAAQ,CAAC,CAC9C,CAAA,oBAAA,CAAsBzB,SAASC,QAASwB,CAAAA,MAAAA,EAAQ,CAAC,CACnD,CAAC,CAAA,CAEKE,CAActB,CAAAA,CAAAA,CAAY,OAAO,CACrC,UAAA,CAAYC,CAAgB,CAAA,MAAA,CAAQC,GAAkBA,CAAZ,GAAA,OAAa,CACvD,CAAA,KAAA,CAAOiB,EAEP,OAASxB,CAAAA,QAAAA,CAASC,QAASyB,CAAAA,CAAkB,CAAC,CAChD,CAAC,CAEKE,CAAAA,CAAAA,CAAe9B,OAAO,CAC1B,EAAA,CAAI+B,IAAK,EAAA,CACT,QAASA,IAAK,EAAA,CACd,QAAUA,CAAAA,IAAAA,GACV,QAAU7B,CAAAA,QAAAA,CAASC,QAASqB,CAAAA,MAAAA,CAAOvB,QAAUoB,CAAAA,GAAAA,EAAK,CAAC,CAAC,CACpD,CAAA,QAAA,CAAUnB,QAASC,CAAAA,QAAAA,CAASqB,OAAOvB,MAAO,EAAA,CAAGoB,GAAI,EAAC,CAAC,CAAC,CAAA,CACpD,YAAcF,CAAAA,OAAAA,GAAU,OAAQ,CAAA,IAAI,CACpC,CAAA,cAAA,CAAgBjB,SAASC,QAAS4B,CAAAA,IAAAA,EAAM,CAAC,EACzC,eAAiB7B,CAAAA,QAAAA,CAASC,QAAS4B,CAAAA,IAAAA,EAAM,CAAC,CAAA,CAC1C,WAAa7B,CAAAA,QAAAA,CAASC,SAASI,CAAW,CAAC,CAC3C,CAAA,YAAA,CAAcL,SAASC,QAASiB,CAAAA,KAAAA,CAAMI,MAAOvB,CAAAA,MAAAA,GAAUoB,GAAI,EAAC,CAAC,CAAC,CAAC,CAC/D,CAAA,YAAA,CAAcnB,QAASC,CAAAA,QAAAA,CAASI,CAAW,CAAC,CAAA,CAC5C,aAAeL,CAAAA,QAAAA,CAASC,SAASiB,KAAMI,CAAAA,MAAAA,CAAOvB,MAAO,EAAA,CAAGoB,KAAK,CAAC,CAAC,CAAC,EAChE,WAAanB,CAAAA,QAAAA,CAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAAA,CACxC,aAAeC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAAA,CAC1C,OAAQ+B,CACR,CAAA,UAAA,CAAY/B,MAAO,EAAA,CACnB,aAAcA,MAAO,EAAA,CACrB,UAAYC,CAAAA,QAAAA,CAASC,SAASF,MAAO,EAAC,CAAC,CAAA,CAIvC,OAAQC,QAASC,CAAAA,QAAAA,CAASF,MAAO,EAAC,CAAC,CAEnC,CAAA,oBAAA,CAAsBC,QAASC,CAAAA,QAAAA,CAASwB,QAAQ,CAAC,CACjD,CAAA,WAAA,CAAazB,SAASC,QAASF,CAAAA,MAAAA,EAAQ,CAAC,CAC1C,CAAC","file":"chunk-W5UCZ73B.js","sourcesContent":["import {\n object,\n string,\n uuid,\n number,\n array,\n type z,\n record,\n any,\n enum as zodEnum,\n optional,\n nullable,\n boolean\n} from \"zod\";\n\nimport { AssetTypeSchema, StatusSchema } from \"./common\";\nimport {\n AssetMetadataSchema,\n AssetSchema,\n CreateAssetSchema,\n normalizeAssetConfigForParsing,\n} from \"./assets\";\n\nconst AuthType = zodEnum([\"Personal Access Token\", \"Ouro\", \"None\", \"OAuth 2.0\"]);\n\nconst BaseServiceMetadataSchema = object({\n authentication: AuthType,\n base_url: string(),\n version: optional(nullable(string())),\n spec_path: optional(nullable(string())),\n spec_url: optional(nullable(string())),\n auth_url: optional(nullable(string())),\n});\n\nconst ServiceMetadataSchema = BaseServiceMetadataSchema.extend(\n AssetMetadataSchema.partial().shape\n);\n\nconst ServiceSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n});\n\nconst CreateServiceSchema = CreateAssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"service\" === x),\n metadata: ServiceMetadataSchema,\n}).transform((value) => normalizeAssetConfigForParsing(value));\n\nconst UpdateServiceSchema = ServiceSchema.partial()\n .omit({\n user_id: true,\n id: true,\n created_at: true,\n last_updated: true,\n organization: true,\n user: true,\n team: true,\n slug: true,\n })\n .extend({\n last_updated: string().default(() => new Date().toISOString()),\n })\n .transform((value) => normalizeAssetConfigForParsing(value));\n\nconst ExecutionModeSchema = zodEnum([\"sync\", \"async\"]);\n\n// Asset type accepted in keyed `input_assets` / `output_assets` declarations.\nconst RouteAssetType = zodEnum([\"file\", \"dataset\", \"post\"]);\n\n// File-type filter accepted on file-input declarations.\nconst RouteInputFilter = zodEnum([\n \"audio\",\n \"video\",\n \"image\",\n \"pdf\",\n \"3d model\",\n \"atomic structure\",\n]);\n\n// Shape of a single keyed declaration in `routes.input_assets`. Plural\n// declarations are canonical; the legacy `input_type` and `input_file_*`\n// columns on the route row stay in sync as primary projections.\nconst RouteInputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n input_filter: optional(nullable(RouteInputFilter)),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\n// Shape of a single keyed declaration in `routes.output_assets`.\nconst RouteOutputAssetDeclarationSchema = object({\n asset_type: RouteAssetType,\n primary: optional(boolean()),\n file_extensions: optional(nullable(array(string()))),\n contains_file_extensions: optional(nullable(array(string()))),\n}).catchall(any());\n\nconst RouteInputAssetsSchema = record(\n string(),\n RouteInputAssetDeclarationSchema\n);\n\nconst RouteOutputAssetsSchema = record(\n string(),\n RouteOutputAssetDeclarationSchema\n);\n\nconst RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n // Canonical plural input declarations keyed by request body field name.\n input_assets: optional(nullable(RouteInputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `input_assets` for\n // older clients, indexing, and quick asset-type lookups.\n input_type: optional(nullable(RouteAssetType)),\n input_filter: optional(nullable(RouteInputFilter)),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n // Canonical plural output declarations keyed by response body field name.\n output_assets: optional(nullable(RouteOutputAssetsSchema)),\n // Legacy primary projection — kept synchronized with `output_assets`.\n output_type: optional(nullable(RouteAssetType)),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n // Author-declared execution model: 'sync' = upstream returns the result\n // inline; 'async' = upstream returns 202 quickly and webhooks completion.\n execution_mode: optional(ExecutionModeSchema).default(\"sync\"),\n // Empirical mode derived by the platform from recent action history; null\n // until enough samples have been observed. When this differs from\n // execution_mode the route is misconfigured.\n observed_execution_mode: optional(nullable(ExecutionModeSchema)),\n last_updated: string(),\n});\n\n// Per-route latency aggregates surfaced from asset_metrics. All fields are\n// nullable because they don't exist until the platform has observed at least\n// one completed action for the route.\nconst RouteMetricsSchema = object({\n // Average HTTP-hop latency in milliseconds: time from request start until\n // upstream returned 200 or 202.\n avg_ack_ms: optional(nullable(number())),\n p95_ack_ms: optional(nullable(number())),\n // Average end-to-end latency in milliseconds: started_at to finished_at,\n // includes webhook completion for async routes. This is the value an\n // agent should consider when deciding whether to wait or poll.\n avg_completion_ms: optional(nullable(number())),\n p95_completion_ms: optional(nullable(number())),\n latency_sample_count: optional(nullable(number())),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\n // Latency aggregates joined from asset_metrics; null when no samples yet.\n metrics: optional(nullable(RouteMetricsSchema)),\n});\n\nconst ActionSchema = object({\n id: uuid(),\n user_id: uuid(),\n route_id: uuid(),\n metadata: optional(nullable(record(string(), any()))),\n response: optional(nullable(record(string(), any()))),\n side_effects: boolean().default(true),\n input_asset_id: optional(nullable(uuid())),\n output_asset_id: optional(nullable(uuid())),\n input_asset: optional(nullable(AssetSchema)),\n input_assets: optional(nullable(array(record(string(), any())))),\n output_asset: optional(nullable(AssetSchema)),\n output_assets: optional(nullable(array(record(string(), any())))),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: StatusSchema,\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n // When the upstream service first responded (200 or 202). For sync routes\n // this is approximately equal to finished_at; for async routes the gap\n // between ack_at and finished_at is the out-of-band wait time.\n ack_at: optional(nullable(string())),\n // HTTP status code returned by the upstream service at ack time.\n upstream_status_code: optional(nullable(number())),\n finished_at: optional(nullable(string())),\n});\n\nexport {\n RouteSchema,\n RouteInputAssetDeclarationSchema,\n RouteOutputAssetDeclarationSchema,\n RouteInputAssetsSchema,\n RouteOutputAssetsSchema,\n ServiceSchema,\n CreateServiceSchema,\n UpdateServiceSchema,\n ActionSchema,\n RouteMetricsSchema,\n ExecutionModeSchema,\n};\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type RouteMetrics = z.infer<typeof RouteMetricsSchema>;\nexport type RouteInputAssetDeclaration = z.infer<typeof RouteInputAssetDeclarationSchema>;\nexport type RouteOutputAssetDeclaration = z.infer<typeof RouteOutputAssetDeclarationSchema>;\nexport type RouteInputAssets = z.infer<typeof RouteInputAssetsSchema>;\nexport type RouteOutputAssets = z.infer<typeof RouteOutputAssetsSchema>;\nexport type ExecutionMode = z.infer<typeof ExecutionModeSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\n"]}