@ourofoundation/ouro-js 3.2.1 → 3.2.3

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 (135) hide show
  1. package/dist/{chunk-MKMFDR3M.cjs → chunk-3ZHWBPGA.cjs} +2 -2
  2. package/dist/chunk-3ZHWBPGA.cjs.map +1 -0
  3. package/dist/{chunk-SRHZ5S5N.cjs → chunk-6AK3RVZR.cjs} +2 -2
  4. package/dist/{chunk-SRHZ5S5N.cjs.map → chunk-6AK3RVZR.cjs.map} +1 -1
  5. package/dist/{chunk-MFRUMVY6.cjs → chunk-6TOGDJKP.cjs} +2 -2
  6. package/dist/{chunk-MFRUMVY6.cjs.map → chunk-6TOGDJKP.cjs.map} +1 -1
  7. package/dist/{chunk-3EK6Q2YF.js → chunk-7ABFUHWW.js} +2 -2
  8. package/dist/chunk-7ABFUHWW.js.map +1 -0
  9. package/dist/{chunk-6VIPPUJT.cjs → chunk-7RF362MN.cjs} +2 -2
  10. package/dist/{chunk-6VIPPUJT.cjs.map → chunk-7RF362MN.cjs.map} +1 -1
  11. package/dist/{chunk-KOFLISSG.js → chunk-7SSENGQL.js} +2 -2
  12. package/dist/{chunk-KOFLISSG.js.map → chunk-7SSENGQL.js.map} +1 -1
  13. package/dist/{chunk-5ZISONMU.js → chunk-BU2S7UEL.js} +2 -2
  14. package/dist/{chunk-5ZISONMU.js.map → chunk-BU2S7UEL.js.map} +1 -1
  15. package/dist/chunk-CVFVOARW.cjs +2 -0
  16. package/dist/chunk-CVFVOARW.cjs.map +1 -0
  17. package/dist/chunk-DE2Z5AOM.js +8 -0
  18. package/dist/chunk-DE2Z5AOM.js.map +1 -0
  19. package/dist/{chunk-6MSNL636.cjs → chunk-FNW6DDNP.cjs} +2 -2
  20. package/dist/chunk-FNW6DDNP.cjs.map +1 -0
  21. package/dist/{chunk-4JJ6JLXK.cjs → chunk-FQ4F7DQH.cjs} +2 -2
  22. package/dist/{chunk-4JJ6JLXK.cjs.map → chunk-FQ4F7DQH.cjs.map} +1 -1
  23. package/dist/chunk-IW4MZW5P.cjs +2 -0
  24. package/dist/{chunk-BDVKX5EB.cjs.map → chunk-IW4MZW5P.cjs.map} +1 -1
  25. package/dist/{chunk-AL7O4IAB.js → chunk-JPCZIGX2.js} +2 -2
  26. package/dist/{chunk-AL7O4IAB.js.map → chunk-JPCZIGX2.js.map} +1 -1
  27. package/dist/{chunk-CZ53CZIQ.cjs → chunk-KYK27OHG.cjs} +2 -2
  28. package/dist/{chunk-CZ53CZIQ.cjs.map → chunk-KYK27OHG.cjs.map} +1 -1
  29. package/dist/{chunk-XIDYDUVH.js → chunk-KZOOYWQ7.js} +2 -2
  30. package/dist/{chunk-XIDYDUVH.js.map → chunk-KZOOYWQ7.js.map} +1 -1
  31. package/dist/chunk-L2EAP5SJ.cjs +2 -0
  32. package/dist/chunk-L2EAP5SJ.cjs.map +1 -0
  33. package/dist/{chunk-7XHIK5BY.js → chunk-MB4EEZKP.js} +2 -2
  34. package/dist/{chunk-7XHIK5BY.js.map → chunk-MB4EEZKP.js.map} +1 -1
  35. package/dist/chunk-N6AJDETI.cjs +8 -0
  36. package/dist/chunk-N6AJDETI.cjs.map +1 -0
  37. package/dist/{chunk-OILLE36G.cjs → chunk-OFSSOFOC.cjs} +2 -2
  38. package/dist/{chunk-OILLE36G.cjs.map → chunk-OFSSOFOC.cjs.map} +1 -1
  39. package/dist/{chunk-LAMEJFKJ.cjs → chunk-OIPOIY6M.cjs} +2 -2
  40. package/dist/{chunk-LAMEJFKJ.cjs.map → chunk-OIPOIY6M.cjs.map} +1 -1
  41. package/dist/{chunk-J6IXOTYT.cjs → chunk-P5JYABNP.cjs} +2 -2
  42. package/dist/{chunk-J6IXOTYT.cjs.map → chunk-P5JYABNP.cjs.map} +1 -1
  43. package/dist/chunk-PONEAJK7.js +2 -0
  44. package/dist/chunk-PONEAJK7.js.map +1 -0
  45. package/dist/chunk-Q34MIANF.js +2 -0
  46. package/dist/chunk-Q34MIANF.js.map +1 -0
  47. package/dist/{chunk-6PR63E3C.js → chunk-SKQ6BRPY.js} +2 -2
  48. package/dist/{chunk-6PR63E3C.js.map → chunk-SKQ6BRPY.js.map} +1 -1
  49. package/dist/{chunk-B75WL6RS.js → chunk-TGAK4B5M.js} +2 -2
  50. package/dist/{chunk-B75WL6RS.js.map → chunk-TGAK4B5M.js.map} +1 -1
  51. package/dist/{chunk-C5CSA2IE.cjs → chunk-V5DSXK34.cjs} +2 -2
  52. package/dist/{chunk-C5CSA2IE.cjs.map → chunk-V5DSXK34.cjs.map} +1 -1
  53. package/dist/{chunk-7GATZDKH.js → chunk-WYHO26N6.js} +2 -2
  54. package/dist/{chunk-7GATZDKH.js.map → chunk-WYHO26N6.js.map} +1 -1
  55. package/dist/{chunk-S2CP6IGR.js → chunk-XIH622YH.js} +2 -2
  56. package/dist/{chunk-S2CP6IGR.js.map → chunk-XIH622YH.js.map} +1 -1
  57. package/dist/chunk-XMYZV7TD.js +2 -0
  58. package/dist/chunk-XMYZV7TD.js.map +1 -0
  59. package/dist/{chunk-QMVYPQP3.js → chunk-XWUYZSVO.js} +2 -2
  60. package/dist/{chunk-QMVYPQP3.js.map → chunk-XWUYZSVO.js.map} +1 -1
  61. package/dist/index.cjs +1 -1
  62. package/dist/index.d.cts +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.js +1 -1
  65. package/dist/schema/assets.cjs +1 -1
  66. package/dist/schema/assets.d.cts +5 -2
  67. package/dist/schema/assets.d.ts +5 -2
  68. package/dist/schema/assets.js +1 -1
  69. package/dist/schema/blueprints.cjs +1 -1
  70. package/dist/schema/blueprints.d.cts +4 -2
  71. package/dist/schema/blueprints.d.ts +4 -2
  72. package/dist/schema/blueprints.js +1 -1
  73. package/dist/schema/comments.cjs +1 -1
  74. package/dist/schema/comments.d.cts +4 -2
  75. package/dist/schema/comments.d.ts +4 -2
  76. package/dist/schema/comments.js +1 -1
  77. package/dist/schema/common.cjs +1 -1
  78. package/dist/schema/common.d.cts +1 -0
  79. package/dist/schema/common.d.ts +1 -0
  80. package/dist/schema/common.js +1 -1
  81. package/dist/schema/conversations.cjs +1 -1
  82. package/dist/schema/conversations.d.cts +8 -4
  83. package/dist/schema/conversations.d.ts +8 -4
  84. package/dist/schema/conversations.js +1 -1
  85. package/dist/schema/datasets.cjs +1 -1
  86. package/dist/schema/datasets.d.cts +10 -6
  87. package/dist/schema/datasets.d.ts +10 -6
  88. package/dist/schema/datasets.js +1 -1
  89. package/dist/schema/files.cjs +1 -1
  90. package/dist/schema/files.d.cts +4 -2
  91. package/dist/schema/files.d.ts +4 -2
  92. package/dist/schema/files.js +1 -1
  93. package/dist/schema/notifications.cjs +1 -1
  94. package/dist/schema/notifications.js +1 -1
  95. package/dist/schema/organizations.cjs +1 -1
  96. package/dist/schema/organizations.js +1 -1
  97. package/dist/schema/posts.cjs +1 -1
  98. package/dist/schema/posts.d.cts +10 -4
  99. package/dist/schema/posts.d.ts +10 -4
  100. package/dist/schema/posts.js +1 -1
  101. package/dist/schema/replications.cjs +1 -1
  102. package/dist/schema/replications.d.cts +4 -2
  103. package/dist/schema/replications.d.ts +4 -2
  104. package/dist/schema/replications.js +1 -1
  105. package/dist/schema/services.cjs +1 -1
  106. package/dist/schema/services.d.cts +11 -5
  107. package/dist/schema/services.d.ts +11 -5
  108. package/dist/schema/services.js +1 -1
  109. package/dist/schema/teams.cjs +1 -1
  110. package/dist/schema/teams.js +1 -1
  111. package/dist/utils/air/index.cjs +1 -1
  112. package/dist/utils/air/index.d.cts +41 -1
  113. package/dist/utils/air/index.d.ts +41 -1
  114. package/dist/utils/air/index.js +1 -1
  115. package/dist/utils/air/markdown-parser.cjs +1 -1
  116. package/dist/utils/air/markdown-parser.js +1 -1
  117. package/package.json +3 -3
  118. package/dist/chunk-2NJRZN2A.js +0 -2
  119. package/dist/chunk-2NJRZN2A.js.map +0 -1
  120. package/dist/chunk-3EK6Q2YF.js.map +0 -1
  121. package/dist/chunk-6MSNL636.cjs.map +0 -1
  122. package/dist/chunk-BDVKX5EB.cjs +0 -2
  123. package/dist/chunk-BSSU5PNI.js +0 -8
  124. package/dist/chunk-BSSU5PNI.js.map +0 -1
  125. package/dist/chunk-MKMFDR3M.cjs.map +0 -1
  126. package/dist/chunk-U5WHESJR.js +0 -2
  127. package/dist/chunk-U5WHESJR.js.map +0 -1
  128. package/dist/chunk-W3XNHFD6.cjs +0 -2
  129. package/dist/chunk-W3XNHFD6.cjs.map +0 -1
  130. package/dist/chunk-Y7MYLO3W.js +0 -2
  131. package/dist/chunk-Y7MYLO3W.js.map +0 -1
  132. package/dist/chunk-YB33F7QJ.cjs +0 -8
  133. package/dist/chunk-YB33F7QJ.cjs.map +0 -1
  134. package/dist/chunk-Z37VUR4P.cjs +0 -2
  135. package/dist/chunk-Z37VUR4P.cjs.map +0 -1
@@ -212,6 +212,7 @@ declare const ServiceSchema: z.ZodObject<{
212
212
  success: "success";
213
213
  queued: "queued";
214
214
  "in-progress": "in-progress";
215
+ "timed-out": "timed-out";
215
216
  error: "error";
216
217
  }>;
217
218
  source: z.ZodEnum<{
@@ -297,6 +298,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
297
298
  success: "success";
298
299
  queued: "queued";
299
300
  "in-progress": "in-progress";
301
+ "timed-out": "timed-out";
300
302
  error: "error";
301
303
  }>>>;
302
304
  source: z.ZodDefault<z.ZodEnum<{
@@ -356,7 +358,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
356
358
  team_id: string | null;
357
359
  org_id: string | null;
358
360
  name: string;
359
- state: "success" | "queued" | "in-progress" | "error";
361
+ state: "success" | "queued" | "in-progress" | "timed-out" | "error";
360
362
  source: "api" | "web";
361
363
  visibility: "organization" | "public" | "private" | "monetized" | "inherit";
362
364
  created_at: string;
@@ -400,7 +402,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
400
402
  team_id: string | null;
401
403
  org_id: string | null;
402
404
  name: string;
403
- state: "success" | "queued" | "in-progress" | "error";
405
+ state: "success" | "queued" | "in-progress" | "timed-out" | "error";
404
406
  source: "api" | "web";
405
407
  visibility: "organization" | "public" | "private" | "monetized" | "inherit";
406
408
  created_at: string;
@@ -508,6 +510,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
508
510
  success: "success";
509
511
  queued: "queued";
510
512
  "in-progress": "in-progress";
513
+ "timed-out": "timed-out";
511
514
  error: "error";
512
515
  }>>;
513
516
  parent_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
@@ -559,7 +562,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
559
562
  } | null | undefined;
560
563
  source?: "api" | "web" | undefined;
561
564
  monetization?: "none" | "pay-to-unlock" | "pay-per-use" | undefined;
562
- state?: "success" | "queued" | "in-progress" | "error" | undefined;
565
+ state?: "success" | "queued" | "in-progress" | "timed-out" | "error" | undefined;
563
566
  parent_id?: string | null | undefined;
564
567
  license_id?: string | undefined;
565
568
  license?: Record<string, any> | undefined;
@@ -602,7 +605,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
602
605
  } | null | undefined;
603
606
  source?: "api" | "web" | undefined;
604
607
  monetization?: "none" | "pay-to-unlock" | "pay-per-use" | undefined;
605
- state?: "success" | "queued" | "in-progress" | "error" | undefined;
608
+ state?: "success" | "queued" | "in-progress" | "timed-out" | "error" | undefined;
606
609
  parent_id?: string | null | undefined;
607
610
  license_id?: string | undefined;
608
611
  license?: Record<string, any> | undefined;
@@ -883,6 +886,7 @@ declare const RouteSchema: z.ZodObject<{
883
886
  success: "success";
884
887
  queued: "queued";
885
888
  "in-progress": "in-progress";
889
+ "timed-out": "timed-out";
886
890
  error: "error";
887
891
  }>;
888
892
  source: z.ZodEnum<{
@@ -1197,6 +1201,7 @@ declare const ActionSchema: z.ZodObject<{
1197
1201
  success: "success";
1198
1202
  queued: "queued";
1199
1203
  "in-progress": "in-progress";
1204
+ "timed-out": "timed-out";
1200
1205
  error: "error";
1201
1206
  }>;
1202
1207
  source: z.ZodEnum<{
@@ -1446,6 +1451,7 @@ declare const ActionSchema: z.ZodObject<{
1446
1451
  success: "success";
1447
1452
  queued: "queued";
1448
1453
  "in-progress": "in-progress";
1454
+ "timed-out": "timed-out";
1449
1455
  error: "error";
1450
1456
  }>;
1451
1457
  source: z.ZodEnum<{
@@ -1461,8 +1467,8 @@ declare const ActionSchema: z.ZodObject<{
1461
1467
  success: "success";
1462
1468
  queued: "queued";
1463
1469
  "in-progress": "in-progress";
1470
+ "timed-out": "timed-out";
1464
1471
  error: "error";
1465
- done: "done";
1466
1472
  }>;
1467
1473
  created_at: z.ZodString;
1468
1474
  last_updated: z.ZodString;
@@ -212,6 +212,7 @@ declare const ServiceSchema: z.ZodObject<{
212
212
  success: "success";
213
213
  queued: "queued";
214
214
  "in-progress": "in-progress";
215
+ "timed-out": "timed-out";
215
216
  error: "error";
216
217
  }>;
217
218
  source: z.ZodEnum<{
@@ -297,6 +298,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
297
298
  success: "success";
298
299
  queued: "queued";
299
300
  "in-progress": "in-progress";
301
+ "timed-out": "timed-out";
300
302
  error: "error";
301
303
  }>>>;
302
304
  source: z.ZodDefault<z.ZodEnum<{
@@ -356,7 +358,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
356
358
  team_id: string | null;
357
359
  org_id: string | null;
358
360
  name: string;
359
- state: "success" | "queued" | "in-progress" | "error";
361
+ state: "success" | "queued" | "in-progress" | "timed-out" | "error";
360
362
  source: "api" | "web";
361
363
  visibility: "organization" | "public" | "private" | "monetized" | "inherit";
362
364
  created_at: string;
@@ -400,7 +402,7 @@ declare const CreateServiceSchema: z.ZodPipe<z.ZodObject<{
400
402
  team_id: string | null;
401
403
  org_id: string | null;
402
404
  name: string;
403
- state: "success" | "queued" | "in-progress" | "error";
405
+ state: "success" | "queued" | "in-progress" | "timed-out" | "error";
404
406
  source: "api" | "web";
405
407
  visibility: "organization" | "public" | "private" | "monetized" | "inherit";
406
408
  created_at: string;
@@ -508,6 +510,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
508
510
  success: "success";
509
511
  queued: "queued";
510
512
  "in-progress": "in-progress";
513
+ "timed-out": "timed-out";
511
514
  error: "error";
512
515
  }>>;
513
516
  parent_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
@@ -559,7 +562,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
559
562
  } | null | undefined;
560
563
  source?: "api" | "web" | undefined;
561
564
  monetization?: "none" | "pay-to-unlock" | "pay-per-use" | undefined;
562
- state?: "success" | "queued" | "in-progress" | "error" | undefined;
565
+ state?: "success" | "queued" | "in-progress" | "timed-out" | "error" | undefined;
563
566
  parent_id?: string | null | undefined;
564
567
  license_id?: string | undefined;
565
568
  license?: Record<string, any> | undefined;
@@ -602,7 +605,7 @@ declare const UpdateServiceSchema: z.ZodPipe<z.ZodObject<{
602
605
  } | null | undefined;
603
606
  source?: "api" | "web" | undefined;
604
607
  monetization?: "none" | "pay-to-unlock" | "pay-per-use" | undefined;
605
- state?: "success" | "queued" | "in-progress" | "error" | undefined;
608
+ state?: "success" | "queued" | "in-progress" | "timed-out" | "error" | undefined;
606
609
  parent_id?: string | null | undefined;
607
610
  license_id?: string | undefined;
608
611
  license?: Record<string, any> | undefined;
@@ -883,6 +886,7 @@ declare const RouteSchema: z.ZodObject<{
883
886
  success: "success";
884
887
  queued: "queued";
885
888
  "in-progress": "in-progress";
889
+ "timed-out": "timed-out";
886
890
  error: "error";
887
891
  }>;
888
892
  source: z.ZodEnum<{
@@ -1197,6 +1201,7 @@ declare const ActionSchema: z.ZodObject<{
1197
1201
  success: "success";
1198
1202
  queued: "queued";
1199
1203
  "in-progress": "in-progress";
1204
+ "timed-out": "timed-out";
1200
1205
  error: "error";
1201
1206
  }>;
1202
1207
  source: z.ZodEnum<{
@@ -1446,6 +1451,7 @@ declare const ActionSchema: z.ZodObject<{
1446
1451
  success: "success";
1447
1452
  queued: "queued";
1448
1453
  "in-progress": "in-progress";
1454
+ "timed-out": "timed-out";
1449
1455
  error: "error";
1450
1456
  }>;
1451
1457
  source: z.ZodEnum<{
@@ -1461,8 +1467,8 @@ declare const ActionSchema: z.ZodObject<{
1461
1467
  success: "success";
1462
1468
  queued: "queued";
1463
1469
  "in-progress": "in-progress";
1470
+ "timed-out": "timed-out";
1464
1471
  error: "error";
1465
- done: "done";
1466
1472
  }>;
1467
1473
  created_at: z.ZodString;
1468
1474
  last_updated: z.ZodString;
@@ -1,2 +1,2 @@
1
- export{e as ActionSchema,b as CreateServiceSchema,d as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'../chunk-2NJRZN2A.js';import'../chunk-XIDYDUVH.js';import'../chunk-7GATZDKH.js';import'../chunk-7XHIK5BY.js';import'../chunk-3N56ERWF.js';import'../chunk-3EK6Q2YF.js';import'../chunk-DUBPWSCA.js';//# sourceMappingURL=services.js.map
1
+ export{e as ActionSchema,b as CreateServiceSchema,d as RouteSchema,a as ServiceSchema,c as UpdateServiceSchema}from'../chunk-XMYZV7TD.js';import'../chunk-KZOOYWQ7.js';import'../chunk-WYHO26N6.js';import'../chunk-MB4EEZKP.js';import'../chunk-3N56ERWF.js';import'../chunk-7ABFUHWW.js';import'../chunk-DUBPWSCA.js';//# sourceMappingURL=services.js.map
2
2
  //# sourceMappingURL=services.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkBDVKX5EB_cjs=require('../chunk-BDVKX5EB.cjs');require('../chunk-LAMEJFKJ.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-MKMFDR3M.cjs');Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkBDVKX5EB_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkBDVKX5EB_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkBDVKX5EB_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkBDVKX5EB_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkBDVKX5EB_cjs.e}});//# sourceMappingURL=teams.cjs.map
1
+ 'use strict';var chunkIW4MZW5P_cjs=require('../chunk-IW4MZW5P.cjs');require('../chunk-OIPOIY6M.cjs'),require('../chunk-GY6SLMMJ.cjs'),require('../chunk-3ZHWBPGA.cjs');Object.defineProperty(exports,"CreateTeamSchema",{enumerable:true,get:function(){return chunkIW4MZW5P_cjs.b}});Object.defineProperty(exports,"ReadTeamSchema",{enumerable:true,get:function(){return chunkIW4MZW5P_cjs.c}});Object.defineProperty(exports,"ReadTeamsSchema",{enumerable:true,get:function(){return chunkIW4MZW5P_cjs.d}});Object.defineProperty(exports,"TeamSchema",{enumerable:true,get:function(){return chunkIW4MZW5P_cjs.a}});Object.defineProperty(exports,"UpdateTeamSchema",{enumerable:true,get:function(){return chunkIW4MZW5P_cjs.e}});//# sourceMappingURL=teams.cjs.map
2
2
  //# sourceMappingURL=teams.cjs.map
@@ -1,2 +1,2 @@
1
- export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'../chunk-7GATZDKH.js';import'../chunk-7XHIK5BY.js';import'../chunk-3N56ERWF.js';import'../chunk-3EK6Q2YF.js';//# sourceMappingURL=teams.js.map
1
+ export{b as CreateTeamSchema,c as ReadTeamSchema,d as ReadTeamsSchema,a as TeamSchema,e as UpdateTeamSchema}from'../chunk-WYHO26N6.js';import'../chunk-MB4EEZKP.js';import'../chunk-3N56ERWF.js';import'../chunk-7ABFUHWW.js';//# sourceMappingURL=teams.js.map
2
2
  //# sourceMappingURL=teams.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkW3XNHFD6_cjs=require('../../chunk-W3XNHFD6.cjs');Object.defineProperty(exports,"getReferencesInContent",{enumerable:true,get:function(){return chunkW3XNHFD6_cjs.c}});Object.defineProperty(exports,"parseAssetLinkShorthand",{enumerable:true,get:function(){return chunkW3XNHFD6_cjs.a}});Object.defineProperty(exports,"parseOuroAssetUrl",{enumerable:true,get:function(){return chunkW3XNHFD6_cjs.b}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkL2EAP5SJ_cjs=require('../../chunk-L2EAP5SJ.cjs');Object.defineProperty(exports,"getReferencesInContent",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.e}});Object.defineProperty(exports,"normalizeViewMode",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.a}});Object.defineProperty(exports,"parseAssetLinkShorthand",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.c}});Object.defineProperty(exports,"parseOuroAssetUrl",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.d}});Object.defineProperty(exports,"resolveDisplayConfig",{enumerable:true,get:function(){return chunkL2EAP5SJ_cjs.b}});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,46 @@
1
1
  import { Content } from '../../schema/posts.cjs';
2
2
  import 'zod';
3
3
 
4
+ interface DataFilter {
5
+ column: string;
6
+ value: string;
7
+ operator: string;
8
+ active?: boolean;
9
+ }
10
+ interface DisplayConfig {
11
+ /** Dataset: ID of a saved visualization to render instead of the default chart. */
12
+ visualizationId?: string | null;
13
+ /** Dataset: column filters applied to the data. */
14
+ filters?: DataFilter[];
15
+ /** Route: ID of a specific action to preview (status, logs, side-effect assets). */
16
+ actionId?: string | null;
17
+ }
18
+ /**
19
+ * Normalize legacy viewMode values to the current set.
20
+ * "chart" → "preview", "default" → "card", anything else → "card".
21
+ */
22
+ declare function normalizeViewMode(raw: string | undefined | null): "card" | "preview" | "list";
23
+ /**
24
+ * Build a DisplayConfig from node/element attributes, handling the legacy
25
+ * flat `visualizationId` / `filters` attrs and the new `displayConfig` object.
26
+ * Prefers values inside `displayConfig` when present.
27
+ */
28
+ declare function resolveDisplayConfig(attrs: {
29
+ displayConfig?: DisplayConfig | string | null;
30
+ visualizationId?: string | null;
31
+ filters?: DataFilter[] | string | null;
32
+ }): DisplayConfig;
33
+ interface InlineAssetAttrs {
34
+ id: string;
35
+ assetType: string;
36
+ viewMode: "card" | "preview" | "list";
37
+ displayConfig?: DisplayConfig | null;
38
+ /** @deprecated Use displayConfig.filters */
39
+ filters?: any;
40
+ /** @deprecated Use displayConfig.visualizationId */
41
+ visualizationId?: string | null;
42
+ partial?: boolean;
43
+ }
4
44
  /** Assets pulled from Air JSON: embedded blocks or link href shorthands. */
5
45
  type ExtractedContentAsset = {
6
46
  id: string;
@@ -64,4 +104,4 @@ declare function getReferencesInContent(json: Content["json"], options?: {
64
104
  linkedAssets: LinkedAssetRef[];
65
105
  };
66
106
 
67
- export { type ExtractedContentAsset, getReferencesInContent, parseAssetLinkShorthand, parseOuroAssetUrl };
107
+ export { type DataFilter, type DisplayConfig, type ExtractedContentAsset, type InlineAssetAttrs, getReferencesInContent, normalizeViewMode, parseAssetLinkShorthand, parseOuroAssetUrl, resolveDisplayConfig };
@@ -1,6 +1,46 @@
1
1
  import { Content } from '../../schema/posts.js';
2
2
  import 'zod';
3
3
 
4
+ interface DataFilter {
5
+ column: string;
6
+ value: string;
7
+ operator: string;
8
+ active?: boolean;
9
+ }
10
+ interface DisplayConfig {
11
+ /** Dataset: ID of a saved visualization to render instead of the default chart. */
12
+ visualizationId?: string | null;
13
+ /** Dataset: column filters applied to the data. */
14
+ filters?: DataFilter[];
15
+ /** Route: ID of a specific action to preview (status, logs, side-effect assets). */
16
+ actionId?: string | null;
17
+ }
18
+ /**
19
+ * Normalize legacy viewMode values to the current set.
20
+ * "chart" → "preview", "default" → "card", anything else → "card".
21
+ */
22
+ declare function normalizeViewMode(raw: string | undefined | null): "card" | "preview" | "list";
23
+ /**
24
+ * Build a DisplayConfig from node/element attributes, handling the legacy
25
+ * flat `visualizationId` / `filters` attrs and the new `displayConfig` object.
26
+ * Prefers values inside `displayConfig` when present.
27
+ */
28
+ declare function resolveDisplayConfig(attrs: {
29
+ displayConfig?: DisplayConfig | string | null;
30
+ visualizationId?: string | null;
31
+ filters?: DataFilter[] | string | null;
32
+ }): DisplayConfig;
33
+ interface InlineAssetAttrs {
34
+ id: string;
35
+ assetType: string;
36
+ viewMode: "card" | "preview" | "list";
37
+ displayConfig?: DisplayConfig | null;
38
+ /** @deprecated Use displayConfig.filters */
39
+ filters?: any;
40
+ /** @deprecated Use displayConfig.visualizationId */
41
+ visualizationId?: string | null;
42
+ partial?: boolean;
43
+ }
4
44
  /** Assets pulled from Air JSON: embedded blocks or link href shorthands. */
5
45
  type ExtractedContentAsset = {
6
46
  id: string;
@@ -64,4 +104,4 @@ declare function getReferencesInContent(json: Content["json"], options?: {
64
104
  linkedAssets: LinkedAssetRef[];
65
105
  };
66
106
 
67
- export { type ExtractedContentAsset, getReferencesInContent, parseAssetLinkShorthand, parseOuroAssetUrl };
107
+ export { type DataFilter, type DisplayConfig, type ExtractedContentAsset, type InlineAssetAttrs, getReferencesInContent, normalizeViewMode, parseAssetLinkShorthand, parseOuroAssetUrl, resolveDisplayConfig };
@@ -1,2 +1,2 @@
1
- export{c as getReferencesInContent,a as parseAssetLinkShorthand,b as parseOuroAssetUrl}from'../../chunk-U5WHESJR.js';//# sourceMappingURL=index.js.map
1
+ export{e as getReferencesInContent,a as normalizeViewMode,c as parseAssetLinkShorthand,d as parseOuroAssetUrl,b as resolveDisplayConfig}from'../../chunk-PONEAJK7.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkYB33F7QJ_cjs=require('../../chunk-YB33F7QJ.cjs');Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkYB33F7QJ_cjs.a}});//# sourceMappingURL=markdown-parser.cjs.map
1
+ 'use strict';var chunkN6AJDETI_cjs=require('../../chunk-N6AJDETI.cjs');Object.defineProperty(exports,"parseMarkdown",{enumerable:true,get:function(){return chunkN6AJDETI_cjs.a}});//# sourceMappingURL=markdown-parser.cjs.map
2
2
  //# sourceMappingURL=markdown-parser.cjs.map
@@ -1,2 +1,2 @@
1
- export{a as parseMarkdown}from'../../chunk-BSSU5PNI.js';//# sourceMappingURL=markdown-parser.js.map
1
+ export{a as parseMarkdown}from'../../chunk-DE2Z5AOM.js';//# sourceMappingURL=markdown-parser.js.map
2
2
  //# sourceMappingURL=markdown-parser.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ourofoundation/ouro-js",
3
- "version": "3.2.1",
3
+ "version": "3.2.3",
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",
@@ -55,7 +55,7 @@
55
55
  "typescript": "^5.8.3"
56
56
  },
57
57
  "dependencies": {
58
- "marked": "^16.0.0",
58
+ "marked": "^18.0.0",
59
59
  "uuidv7": "^1.0.0",
60
60
  "zod": "^4.0.5"
61
61
  },
@@ -78,4 +78,4 @@
78
78
  "engines": {
79
79
  "node": ">=14.0.0"
80
80
  }
81
- }
81
+ }
@@ -1,2 +0,0 @@
1
- import {b,c,d,a as a$1}from'./chunk-XIDYDUVH.js';import {a}from'./chunk-3EK6Q2YF.js';import {enum as _enum,object,optional,string,nullable,number,record,any,array,boolean,uuid}from'zod';var y=_enum(["Personal Access Token","Ouro","None","OAuth 2.0"]),x=object({authentication:y,base_url:string(),version:optional(nullable(string())),spec_path:optional(nullable(string())),spec_url:optional(nullable(string())),auth_url:optional(nullable(string()))}),l=x.extend(b.partial().shape),A=c.extend({asset_type:a.refine(r=>r==="service"),metadata:l}),g=d.extend({asset_type:a.refine(r=>r==="service"),metadata:l}).transform(r=>a$1(r)),R=A.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:string().default(()=>new Date().toISOString())}).transform(r=>a$1(r)),v=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_type:optional(nullable(_enum(["file","dataset","post"]))),input_filter:optional(nullable(_enum(["audio","video","image","pdf","3d model","atomic structure"]))),input_file_extension:optional(nullable(string())),input_file_extensions:optional(nullable(array(string()))),output_type:optional(nullable(_enum(["file","dataset","post"]))),output_file_extension:optional(nullable(string())),security:optional(nullable(record(string(),any()))),rate_limit:optional(nullable(number())),last_updated:string()}),D=c.extend({asset_type:a.refine(r=>r==="route"),route:v}),E=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)),output_asset:optional(nullable(c)),webhook_url:optional(nullable(string())),webhook_token:optional(nullable(string())),status:_enum(["queued","in-progress","success","error","done"]),created_at:string(),last_updated:string(),started_at:optional(nullable(string())),finished_at:optional(nullable(string()))});export{A as a,g as b,R as c,D as d,E as e};//# sourceMappingURL=chunk-2NJRZN2A.js.map
2
- //# sourceMappingURL=chunk-2NJRZN2A.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","RouteDetailSchema","array","record","any","number","RouteSchema","ActionSchema","uuid","boolean"],"mappings":"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","file":"chunk-2NJRZN2A.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 } 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 RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n input_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n input_filter: optional(nullable(zodEnum([\"audio\", \"video\", \"image\", \"pdf\", \"3d model\", \"atomic structure\"]))),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n output_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n last_updated: string(),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\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 output_asset: optional(nullable(AssetSchema)),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: zodEnum([\"queued\", \"in-progress\", \"success\", \"error\", 'done']),\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n finished_at: optional(nullable(string())),\n});\n\nexport { RouteSchema, ServiceSchema, CreateServiceSchema, UpdateServiceSchema, ActionSchema };\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\n"]}
@@ -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"],"mappings":"6FAcA,IAAMA,CAAkBC,CAAAA,KAAAA,CAAQ,CAC9B,MAAA,CACA,cACA,CAAA,MAAA,CACA,UACA,MACA,CAAA,SAAA,CACA,OACA,CAAA,MAAA,CACA,OACA,CAAA,SAAA,CACA,cACA,CAAA,WAAA,CACA,aACF,CAAC,CAEKC,CAAAA,CAAAA,CAAmBD,KAAQ,CAAA,CAC/B,SACA,SACA,CAAA,cAAA,CACA,WACA,CAAA,SACF,CAAC,CAAA,CAEKE,CAAaF,CAAAA,KAAAA,CAAQ,CAAC,OAAA,CAAS,MAAQ,CAAA,OAAA,CAAS,MAAM,CAAC,EAEvDG,CAAqBH,CAAAA,KAAAA,CAAQ,CAAC,MAAA,CAAQ,eAAiB,CAAA,aAAa,CAAC,CAAA,CAErEI,CAAsBJ,CAAAA,KAAAA,CAAQ,CAAC,KAAA,CAAO,KAAK,CAAC,EAE5CK,CAAkBC,CAAAA,MAAAA,CAAO,CAC7B,EAAA,CAAIC,MAAO,EAAA,CACX,OAASA,CAAAA,MAAAA,EACT,CAAA,MAAA,CAAQC,QAASC,CAAAA,QAAAA,CAASF,MAAO,EAAC,CAAC,CACnC,CAAA,SAAA,CAAWG,KAAMC,CAAAA,MAAAA,EAAQ,CAAA,CACzB,OAASJ,CAAAA,MAAAA,EACT,CAAA,UAAA,CAAYR,CACZ,CAAA,QAAA,CAAUQ,MAAO,EAAA,CACjB,QAAUC,CAAAA,QAAAA,CAASC,QAASG,CAAAA,MAAAA,CAAOL,MAAO,EAAA,CAAGM,GAAI,EAAC,CAAC,CAAC,CACpD,CAAA,UAAA,CAAYN,MAAO,EAAA,CACnB,YAAcA,CAAAA,MAAAA,EAChB,CAAC,CAAA,CAEKO,CAAuBd,CAAAA,KAAAA,CAAQ,CACnC,SAAA,CACA,WACA,CAAA,SAAA,CACA,QACA,CAAA,WAAA,CACA,MACF,CAAC,CAEKe,CAAAA,CAAAA,CAAmBT,OAAO,CAC9B,EAAA,CAAIU,IAAK,EAAA,CACT,OAASA,CAAAA,IAAAA,EACT,CAAA,IAAA,CAAMF,CACN,CAAA,SAAA,CAAWN,QAASC,CAAAA,QAAAA,CAASO,IAAK,EAAC,CAAC,CACpC,CAAA,SAAA,CAAWA,IAAK,EAAA,CAChB,SAAWA,CAAAA,IAAAA,EACX,CAAA,iBAAA,CAAmBjB,CACnB,CAAA,iBAAA,CAAmBA,CACnB,CAAA,UAAA,CAAYQ,MAAO,EAAA,CACnB,YAAcA,CAAAA,MAAAA,EAChB,CAAC,CAEKU,CAAAA,CAAAA,CAAsBX,MAAO,CAAA,CACjC,OAASU,CAAAA,IAAAA,EACT,CAAA,MAAA,CAAQhB,KAAQ,CAAA,CAAC,UAAY,CAAA,KAAK,CAAC,CACnC,CAAA,SAAA,CAAWD,CACb,CAAC,CAEKmB,CAAAA,CAAAA,CAAmBZ,MAAO,CAAA,CAC9B,EAAIU,CAAAA,IAAAA,EACJ,CAAA,IAAA,CAAMd,CACN,CAAA,IAAA,CAAMI,OAAO,CACX,OAAA,CAASU,IAAK,EAChB,CAAC,CAAA,CACD,OAASP,CAAAA,QAAAA,CAASO,IAAK,EAAC,CACxB,CAAA,MAAA,CAAQP,QAASO,CAAAA,IAAAA,EAAM,CACvB,CAAA,UAAA,CAAYjB,CACZ,CAAA,QAAA,CAAUiB,IAAK,EAAA,CACf,UAAYT,CAAAA,MAAAA,EACZ,CAAA,YAAA,CAAcA,MAAO,EACvB,CAAC,CAAA,CAEKY,CAAenB,CAAAA,KAAAA,CAAQ,CAAC,QAAA,CAAU,aAAe,CAAA,SAAA,CAAW,OAAO,CAAC,CAEpEoB,CAAAA,CAAAA,CAAepB,KAAQ,CAAA,CAAC,KAAO,CAAA,KAAK,CAAC","file":"chunk-3EK6Q2YF.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 \"blueprint\",\n \"replication\",\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]);\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([\"queued\", \"in-progress\", \"success\", \"error\"]);\n\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type PriceCurrency = z.infer<typeof PriceCurrencySchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\nexport type Source = z.infer<typeof SourceSchema>;\n"]}
@@ -1 +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","RouteDetailSchema","array","record","any","number","RouteSchema","ActionSchema","uuid","boolean"],"mappings":"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","file":"chunk-6MSNL636.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 } 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 RouteDetailSchema = object({\n id: string(),\n user_id: string(),\n service_id: string(),\n path: string(),\n method: zodEnum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"]),\n summary: optional(nullable(string())),\n parameters: optional(nullable(array(record(string(), any())))),\n request_body: optional(nullable(record(string(), any()))),\n responses: optional(nullable(array(record(string(), any())))),\n input_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n input_filter: optional(nullable(zodEnum([\"audio\", \"video\", \"image\", \"pdf\", \"3d model\", \"atomic structure\"]))),\n input_file_extension: optional(nullable(string())),\n input_file_extensions: optional(nullable(array(string()))),\n output_type: optional(nullable(zodEnum([\"file\", \"dataset\", \"post\"]))),\n output_file_extension: optional(nullable(string())),\n security: optional(nullable(record(string(), any()))),\n rate_limit: optional(nullable(number())),\n last_updated: string(),\n});\n\nconst RouteSchema = AssetSchema.extend({\n asset_type: AssetTypeSchema.refine((x) => \"route\" === x),\n route: RouteDetailSchema,\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 output_asset: optional(nullable(AssetSchema)),\n webhook_url: optional(nullable(string())),\n webhook_token: optional(nullable(string())),\n status: zodEnum([\"queued\", \"in-progress\", \"success\", \"error\", 'done']),\n created_at: string(),\n last_updated: string(),\n started_at: optional(nullable(string())),\n finished_at: optional(nullable(string())),\n});\n\nexport { RouteSchema, ServiceSchema, CreateServiceSchema, UpdateServiceSchema, ActionSchema };\nexport type Service = z.infer<typeof ServiceSchema>;\nexport type Route = z.infer<typeof RouteSchema>;\nexport type RouteDetail = z.infer<typeof RouteDetailSchema>;\nexport type AuthType = z.infer<typeof AuthType>;\nexport type Action = z.infer<typeof ActionSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkLAMEJFKJ_cjs=require('./chunk-LAMEJFKJ.cjs'),chunkGY6SLMMJ_cjs=require('./chunk-GY6SLMMJ.cjs'),chunkMKMFDR3M_cjs=require('./chunk-MKMFDR3M.cjs'),uuidv7=require('uuidv7'),zod=require('zod');var u=zod.object({id:zod.uuid(),org_id:zod.uuid(),organization:chunkLAMEJFKJ_cjs.c,name:zod.string(),description:zod.optional(zod.nullable(zod.object({text:zod.string(),json:zod.record(zod.string(),zod.any())}))),default_role:chunkMKMFDR3M_cjs.c,visibility:chunkMKMFDR3M_cjs.b,actor_type_policy:zod.optional(zod.nullable(chunkLAMEJFKJ_cjs.a)),source_policy:zod.optional(zod.nullable(chunkLAMEJFKJ_cjs.b)),userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkMKMFDR3M_cjs.c}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkMKMFDR3M_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkGY6SLMMJ_cjs.b.partial()))})),created_at:zod.string()}),w=u.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:chunkMKMFDR3M_cjs.c.default("write").refine(m=>m==="read"||m==="write"),visibility:chunkMKMFDR3M_cjs.b.default("public").refine(m=>m==="public"||m==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),_=u.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.uuid(),role:chunkMKMFDR3M_cjs.c}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.uuid(),role:chunkMKMFDR3M_cjs.c,added_at:zod.string(),user:zod.optional(zod.nullable(chunkGY6SLMMJ_cjs.b.partial()))})),organization:zod.optional(zod.nullable(chunkLAMEJFKJ_cjs.c.partial())),assets:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),users:zod.optional(zod.nullable(zod.array(chunkGY6SLMMJ_cjs.b.partial())))}),M=zod.array(_.extend({label:zod.string(),value:zod.string()})),P=u.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.uuid()});exports.a=u;exports.b=w;exports.c=_;exports.d=M;exports.e=P;//# sourceMappingURL=chunk-BDVKX5EB.cjs.map
2
- //# sourceMappingURL=chunk-BDVKX5EB.cjs.map
@@ -1,8 +0,0 @@
1
- import {marked}from'marked';function c(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function i(e,n){return `<span data-latex="${c(e)}" data-display-mode="${n}"></span>`}function m(e){return /^\d+(\.\d+)?$/.test(e)}function p(e){if(!e.startsWith("$")||e.startsWith("$$"))return false;let n=e.slice(1),r=n[0];return !r||r===" "||r===" "||r==="$"?false:/\d/.test(r)?/[+\-*^_=\\{<>\/()[\]|]/.test(n.slice(1)):true}function k(e){let n=1;for(;n<e.length;){let r=e[n];if(r===`
2
- `)return -1;if(r==="\\"){n+=2;continue}if(r==="$"){if(e[n+1]==="$"){n+=2;continue}return n}n++;}return -1}var x={name:"katexDollarBlock",level:"block",start(e){let n=e.match(/\$\$/);return n?n.index:void 0},end(e){var r;let n=e.match(/\$\$/);return n?((r=n.index)!=null?r:0)+2:void 0},tokenizer(e,n){let t=/^\$\$([\s\S]*?)\$\$/.exec(e);if(t)return {type:"katexDollarBlock",raw:t[0],latex:t[1].trim(),displayMode:true}},renderer(e){return i(e.latex,true)}},f={name:"katexDollarInline",level:"inline",start(e){let n=e.match(/\$(?!\$)/);return n?n.index:void 0},end(e){var r;let n=e.match(/\$(?!\$)/);return n?((r=n.index)!=null?r:0)+1:void 0},tokenizer(e,n){if(!p(e))return;let r=k(e);if(r<0)return;let t=e.slice(1,r).trim();if(!(t.length===0||m(t)))return {type:"katexDollarInline",raw:e.slice(0,r+1),latex:t,displayMode:false}},renderer(e){return i(e.latex,false)}},y={name:"katexBlock",level:"block",start(e){let n=e.match(/\\\[/);return n?n.index:void 0},end(e){var r,t,a;let n=e.match(/\s\\\]/);return n?((r=n.index)!=null?r:0)+((a=(t=n[0])==null?void 0:t.length)!=null?a:0):void 0},tokenizer(e,n){let t=/^\\\[([\s\S]*?)\\\]/.exec(e);if(t)return {type:"katexBlock",raw:t[0],latex:t[1].trim(),displayMode:true}},renderer(e){return i(e.latex,e.displayMode)}},h={name:"katexInline",level:"inline",start(e){let n=e.match(/\\\(/);return n?n.index:void 0},end(e){var r,t,a;let n=e.match(/\s\\\)/);return n?((r=n.index)!=null?r:0)+((a=(t=n[0])==null?void 0:t.length)!=null?a:0):void 0},tokenizer(e,n){let t=/^\\\(([\s\S]*?)\\\)/.exec(e);if(t)return {type:"katexInline",raw:t[0],latex:t[1].trim(),displayMode:false}},renderer(e){return i(e.latex,e.displayMode)}},g={name:"assetComponent",level:"block",start(e){var n;return (n=e.match(/^```assetComponent/))==null?void 0:n.index},end(e){var n;return (n=e.match(/^```/))==null?void 0:n.index},tokenizer(e,n){let t=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(t)return {type:"assetComponent",raw:t[0],properties:t[1],tokens:[]}},renderer(e){let n;try{n=JSON.parse(e.properties);}catch(t){console.error("Invalid JSON in assetComponent properties:",t),n={};}return `
3
- <asset-component ${Object.entries(n).map(([t,a])=>{let o=(typeof a=="object"&&a!==null?JSON.stringify(a):String(a)).replace(/"/g,"&quot;");return `${t}="${o}"`}).join(" ")}></asset-component>`}},$={name:"userMention",level:"inline",start(e){let n=e.match(/`\{@|(?<![`])\{@/);return n?n.index:void 0},end(e){var n,r,t;return (t=(n=e.match(/\}`/))==null?void 0:n.index)!=null?t:(r=e.match(/(?<![`])\{@[^}]*\}/))==null?void 0:r.index},tokenizer(e,n){let r=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(r)return {type:"userMention",raw:r[0],username:r[1]};let t=/^\{@([a-zA-Z0-9_]+)\}/.exec(e);if(t)return {type:"userMention",raw:t[0],username:t[1]}},renderer(e){let n=c(e.username);return `<user-mention username="${n}" data-label="${n}"></user-mention>`}};marked.use({gfm:true,extensions:[g,$,x,y,f,h],renderer:{list(e){var n;return !e.ordered&&((n=e.items)==null?void 0:n.length)>0&&e.items.every(r=>r.task)?`<ul data-type="taskList">
4
- ${e.items.map(t=>{let a=t.tokens.filter(d=>d.type!=="checkbox"),s=this.parser.parse(a,!!t.loose);t.loose||(s=`<p>${s}</p>`);let o=t.checked?"true":"false",u=t.checked?' checked="checked"':"";return `<li data-type="taskItem" data-checked="${o}"><label contenteditable="false"><input type="checkbox"${u}></label><div>${s}</div></li>`}).join(`
5
- `)}
6
- </ul>
7
- `:false}}});function I(e){return marked.parse(e)}export{I as a};//# sourceMappingURL=chunk-BSSU5PNI.js.map
8
- //# sourceMappingURL=chunk-BSSU5PNI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/air/markdown-parser.ts"],"names":["escapeHtmlAttr","s","mathSpanHtml","latex","displayMode","isLikelyCurrencyAmount","dollarInlineOpenOk","src","rest","c","endIndexOfDollarInline","i","ch","katexDollarBlock","match","_a","tokens","token","katexDollarInline","close","katexBlockParser","_b","_c","katexInlineParser","assetComponentExtension","properties","e","key","value","escapedValue","userMentionExtension","m","codeWrapped","bracesOnly","u","marked","item","inner","t","text","checked","ckAttr","parseMarkdown","markdown"],"mappings":"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","file":"chunk-BSSU5PNI.js","sourcesContent":["import { marked } from \"marked\";\n\n/** Safe for double-quoted HTML attributes (e.g. data-latex). */\nfunction escapeHtmlAttr(s: string): string {\n return s\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\");\n}\n\nfunction mathSpanHtml(latex: string, displayMode: boolean): string {\n return `<span data-latex=\"${escapeHtmlAttr(latex)}\" data-display-mode=\"${displayMode}\"></span>`;\n}\n\n/** Same-line `$...$` that looks like a plain price (e.g. $5, $3.50) — not math. */\nfunction isLikelyCurrencyAmount(s: string): boolean {\n return /^\\d+(\\.\\d+)?$/.test(s);\n}\n\n/**\n * First `$` in `src` opens inline math only if it is not `$$` and the segment is not a bare amount.\n * Digit after `$` is allowed when the rest of the (same-line) formula contains obvious math syntax.\n */\nfunction dollarInlineOpenOk(src: string): boolean {\n if (!src.startsWith(\"$\") || src.startsWith(\"$$\")) return false;\n const rest = src.slice(1);\n const c = rest[0];\n if (!c || c === \" \" || c === \"\\t\" || c === \"$\") return false;\n if (!/\\d/.test(c)) return true;\n return /[+\\-*^_=\\\\{<>\\/()[\\]|]/.test(rest.slice(1));\n}\n\n/** Closing `$` for inline math at start of `src` (which must begin with a single `$`). */\nfunction endIndexOfDollarInline(src: string): number {\n let i = 1;\n while (i < src.length) {\n const ch = src[i];\n if (ch === \"\\n\") return -1;\n if (ch === \"\\\\\") {\n i += 2;\n continue;\n }\n if (ch === \"$\") {\n if (src[i + 1] === \"$\") {\n i += 2;\n continue;\n }\n return i;\n }\n i++;\n }\n return -1;\n}\n\nconst katexDollarBlock = {\n name: \"katexDollarBlock\",\n level: \"block\",\n start(src: string) {\n const match = src.match(/\\$\\$/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\$\\$/);\n return match ? (match.index ?? 0) + 2 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^\\$\\$([\\s\\S]*?)\\$\\$/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"katexDollarBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, true);\n },\n};\n\nconst katexDollarInline = {\n name: \"katexDollarInline\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\$(?!\\$)/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\$(?!\\$)/);\n return match ? (match.index ?? 0) + 1 : undefined;\n },\n tokenizer(src: string, tokens: any) {\n if (!dollarInlineOpenOk(src)) return;\n const close = endIndexOfDollarInline(src);\n if (close < 0) return;\n const latex = src.slice(1, close).trim();\n if (latex.length === 0 || isLikelyCurrencyAmount(latex)) return;\n return {\n type: \"katexDollarInline\",\n raw: src.slice(0, close + 1),\n latex,\n displayMode: false,\n };\n },\n renderer(token: any) {\n return mathSpanHtml(token.latex, false);\n },\n};\n\nconst katexBlockParser = {\n name: \"katexBlock\",\n level: \"block\",\n start(src: string) {\n const match = src.match(/\\\\\\[/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\]/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const displayRule = /^\\\\\\[([\\s\\S]*?)\\\\\\]/;\n const match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katexBlock\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n },\n renderer(token: any) {\n // Non-self-closing span is important for client-side inline flow around the node.\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst katexInlineParser = {\n name: \"katexInline\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\\\\\(/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n const match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katexInline\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: false,\n };\n }\n },\n renderer(token: any) {\n // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it\n return mathSpanHtml(token.latex, token.displayMode);\n },\n};\n\nconst assetComponentExtension = {\n name: \"assetComponent\",\n level: \"block\",\n start(src: string) {\n return src.match(/^```assetComponent/)?.index;\n },\n end(src: string) {\n return src.match(/^```/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^```assetComponent\\s+(\\{[\\s\\S]*?\\})\\n```/;\n const match = rule.exec(src);\n if (match) {\n const token = {\n type: \"assetComponent\",\n raw: match[0],\n properties: match[1],\n tokens: [],\n };\n return token;\n }\n },\n renderer(token: any) {\n let properties;\n try {\n properties = JSON.parse(token.properties);\n } catch (e) {\n console.error(\"Invalid JSON in assetComponent properties:\", e);\n properties = {};\n }\n const componentHtml = `\n <asset-component ${Object.entries(properties)\n .map(([key, value]) => {\n // Stringify arrays and objects, keep primitives as-is\n const stringValue = typeof value === 'object' && value !== null\n ? JSON.stringify(value)\n : String(value);\n // Escape quotes for HTML attributes\n const escapedValue = stringValue.replace(/\"/g, '&quot;');\n return `${key}=\"${escapedValue}\"`;\n })\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n const m = src.match(/`\\{@|(?<![`])\\{@/);\n return m ? m.index : undefined;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index ?? src.match(/(?<![`])\\{@[^}]*\\}/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const codeWrapped = /^`\\{@([a-zA-Z0-9_]+)\\}`/.exec(src);\n if (codeWrapped) {\n return {\n type: \"userMention\",\n raw: codeWrapped[0],\n username: codeWrapped[1],\n };\n }\n const bracesOnly = /^\\{@([a-zA-Z0-9_]+)\\}/.exec(src);\n if (bracesOnly) {\n return {\n type: \"userMention\",\n raw: bracesOnly[0],\n username: bracesOnly[1],\n };\n }\n },\n renderer(token: any) {\n const u = escapeHtmlAttr(token.username);\n return `<user-mention username=\"${u}\" data-label=\"${u}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [\n assetComponentExtension,\n userMentionExtension,\n katexDollarBlock,\n katexBlockParser,\n katexDollarInline,\n katexInlineParser,\n ],\n renderer: {\n list(token: any) {\n if (\n !token.ordered &&\n token.items?.length > 0 &&\n token.items.every((item: any) => item.task)\n ) {\n const body = token.items\n .map((item: any) => {\n const inner = item.tokens.filter(\n (t: any) => t.type !== \"checkbox\"\n );\n let text = (this as any).parser.parse(inner, !!item.loose);\n if (!item.loose) text = `<p>${text}</p>`;\n const checked = item.checked ? \"true\" : \"false\";\n const ckAttr = item.checked ? ' checked=\"checked\"' : \"\";\n return `<li data-type=\"taskItem\" data-checked=\"${checked}\"><label contenteditable=\"false\"><input type=\"checkbox\"${ckAttr}></label><div>${text}</div></li>`;\n })\n .join(\"\\n\");\n return `<ul data-type=\"taskList\">\\n${body}\\n</ul>\\n`;\n }\n return false as any;\n },\n },\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"]}
@@ -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"],"mappings":"oCAcA,IAAMA,CAAkBC,CAAAA,QAAAA,CAAQ,CAC9B,MAAA,CACA,cACA,CAAA,MAAA,CACA,UACA,MACA,CAAA,SAAA,CACA,OACA,CAAA,MAAA,CACA,OACA,CAAA,SAAA,CACA,cACA,CAAA,WAAA,CACA,aACF,CAAC,CAEKC,CAAAA,CAAAA,CAAmBD,QAAQ,CAAA,CAC/B,SACA,SACA,CAAA,cAAA,CACA,WACA,CAAA,SACF,CAAC,CAAA,CAEKE,CAAaF,CAAAA,QAAAA,CAAQ,CAAC,OAAA,CAAS,MAAQ,CAAA,OAAA,CAAS,MAAM,CAAC,EAEvDG,CAAqBH,CAAAA,QAAAA,CAAQ,CAAC,MAAA,CAAQ,eAAiB,CAAA,aAAa,CAAC,CAAA,CAErEI,CAAsBJ,CAAAA,QAAAA,CAAQ,CAAC,KAAA,CAAO,KAAK,CAAC,EAE5CK,CAAkBC,CAAAA,UAAAA,CAAO,CAC7B,EAAA,CAAIC,UAAO,EAAA,CACX,OAASA,CAAAA,UAAAA,EACT,CAAA,MAAA,CAAQC,YAASC,CAAAA,YAAAA,CAASF,UAAO,EAAC,CAAC,CACnC,CAAA,SAAA,CAAWG,SAAMC,CAAAA,UAAAA,EAAQ,CAAA,CACzB,OAASJ,CAAAA,UAAAA,EACT,CAAA,UAAA,CAAYR,CACZ,CAAA,QAAA,CAAUQ,UAAO,EAAA,CACjB,QAAUC,CAAAA,YAAAA,CAASC,YAASG,CAAAA,UAAAA,CAAOL,UAAO,EAAA,CAAGM,OAAI,EAAC,CAAC,CAAC,CACpD,CAAA,UAAA,CAAYN,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC,CAAA,CAEKO,CAAuBd,CAAAA,QAAAA,CAAQ,CACnC,SAAA,CACA,WACA,CAAA,SAAA,CACA,QACA,CAAA,WAAA,CACA,MACF,CAAC,CAEKe,CAAAA,CAAAA,CAAmBT,WAAO,CAC9B,EAAA,CAAIU,QAAK,EAAA,CACT,OAASA,CAAAA,QAAAA,EACT,CAAA,IAAA,CAAMF,CACN,CAAA,SAAA,CAAWN,YAASC,CAAAA,YAAAA,CAASO,QAAK,EAAC,CAAC,CACpC,CAAA,SAAA,CAAWA,QAAK,EAAA,CAChB,SAAWA,CAAAA,QAAAA,EACX,CAAA,iBAAA,CAAmBjB,CACnB,CAAA,iBAAA,CAAmBA,CACnB,CAAA,UAAA,CAAYQ,UAAO,EAAA,CACnB,YAAcA,CAAAA,UAAAA,EAChB,CAAC,CAEKU,CAAAA,CAAAA,CAAsBX,UAAO,CAAA,CACjC,OAASU,CAAAA,QAAAA,EACT,CAAA,MAAA,CAAQhB,QAAQ,CAAA,CAAC,UAAY,CAAA,KAAK,CAAC,CACnC,CAAA,SAAA,CAAWD,CACb,CAAC,CAEKmB,CAAAA,CAAAA,CAAmBZ,UAAO,CAAA,CAC9B,EAAIU,CAAAA,QAAAA,EACJ,CAAA,IAAA,CAAMd,CACN,CAAA,IAAA,CAAMI,WAAO,CACX,OAAA,CAASU,QAAK,EAChB,CAAC,CAAA,CACD,OAASP,CAAAA,YAAAA,CAASO,QAAK,EAAC,CACxB,CAAA,MAAA,CAAQP,YAASO,CAAAA,QAAAA,EAAM,CACvB,CAAA,UAAA,CAAYjB,CACZ,CAAA,QAAA,CAAUiB,QAAK,EAAA,CACf,UAAYT,CAAAA,UAAAA,EACZ,CAAA,YAAA,CAAcA,UAAO,EACvB,CAAC,CAAA,CAEKY,CAAenB,CAAAA,QAAAA,CAAQ,CAAC,QAAA,CAAU,aAAe,CAAA,SAAA,CAAW,OAAO,CAAC,CAEpEoB,CAAAA,CAAAA,CAAepB,QAAQ,CAAA,CAAC,KAAO,CAAA,KAAK,CAAC","file":"chunk-MKMFDR3M.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 \"blueprint\",\n \"replication\",\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]);\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([\"queued\", \"in-progress\", \"success\", \"error\"]);\n\nconst SourceSchema = zodEnum([\"web\", \"api\"]);\n\nexport {\n RoleSchema,\n VisibilitySchema,\n MonetizationSchema,\n PriceCurrencySchema,\n ConnectionSchema,\n EmbeddingSchema,\n AssetTypeSchema,\n PurchaseAssetSchema,\n PermissionSchema,\n StatusSchema,\n SourceSchema,\n};\n\nexport type Role = z.infer<typeof RoleSchema>;\nexport type Connection = z.infer<typeof ConnectionSchema>;\nexport type Embedding = z.infer<typeof EmbeddingSchema>;\nexport type Visibility = z.infer<typeof VisibilitySchema>;\nexport type Monetization = z.infer<typeof MonetizationSchema>;\nexport type PriceCurrency = z.infer<typeof PriceCurrencySchema>;\nexport type AssetTypes = z.infer<typeof AssetTypeSchema>;\nexport type PurchaseAsset = z.infer<typeof PurchaseAssetSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type Status = z.infer<typeof StatusSchema>;\nexport type Source = z.infer<typeof SourceSchema>;\n"]}
@@ -1,2 +0,0 @@
1
- var A="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",T=new RegExp(`^(post|dataset|file|service|route):(${A})$`,"i"),E=new RegExp(`^asset:(${A})$`,"i"),h=new Set(["post","dataset","file","service","route"]);function _(t){let r=T.exec(t);if(r){let c=r[1].toLowerCase();return h.has(c)?{id:r[2],assetType:c,legacy:false}:null}let a=E.exec(t);return a?{id:a[1],legacy:true}:null}function k(t,r){let a;try{if(t.startsWith("/"))a=t;else {let d=new URL(t);if(r){let p=new URL(r).host;if(d.host!==p)return null}a=d.pathname;}}catch{return null}let c=a.match(/^\/(\w+)s\/([^/]+)\/([^/?#]+)/);if(!c)return null;let[,o,u,y]=c;return h.has(o)?{assetType:o,entity:decodeURIComponent(u),slug:decodeURIComponent(y)}:null}var g=t=>Array.isArray(t)?t.map(g):t!=null&&t.content?Array.isArray(t.content)?t.content.map(g).flat():g(t.content):t;function C(t,r){var p;if(!t||!(t!=null&&t.content))return {users:[],assets:[],linkedAssets:[]};let a=t.content.map(g).flat(),c=a.filter(e=>e.type==="mention").map(e=>{var s,n,l;return {user_id:(s=e.attrs)==null?void 0:s.id,username:((n=e.attrs)==null?void 0:n.label)||((l=e.attrs)==null?void 0:l.username)}}).reduce((e,s)=>(e.some(n=>n.user_id&&s.user_id&&n.user_id===s.user_id||n.username&&s.username&&n.username===s.username)||e.push(s),e),[]),o=a.filter(e=>{var s,n;return e.type==="assetComponent"&&((s=e.attrs)==null?void 0:s.id)&&!((n=e.attrs)!=null&&n.partial)}).map(({attrs:e})=>({id:e.id,assetType:e.assetType,via:"embed"})).reduce((e,s)=>(e.some(n=>n.id===s.id)||e.push(s),e),[]),u=[],y=new Set(o.map(e=>e.id)),d=new Set;for(let e of a){if((e==null?void 0:e.type)!=="text"||!(e!=null&&e.marks))continue;let s=e.marks.find(i=>i.type==="link");if(!((p=s==null?void 0:s.attrs)!=null&&p.href))continue;let n=s.attrs.href,l=_(n);if(l){let i=l.id;y.has(i)||(y.add(i),l.legacy?o.push({id:i,via:"link",legacy:true}):o.push({id:i,assetType:l.assetType,via:"link",legacy:false}));continue}let f=k(n,r==null?void 0:r.siteUrl);if(f){let i=`${f.assetType}:${f.entity}:${f.slug}`;d.has(i)||(d.add(i),u.push(f));}}return {users:c,assets:o,linkedAssets:u}}export{_ as a,k as b,C as c};//# sourceMappingURL=chunk-U5WHESJR.js.map
2
- //# sourceMappingURL=chunk-U5WHESJR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/air/index.ts"],"names":["UUID_RE","TYPED_ASSET_LINK_RE","LEGACY_ASSET_LINK_RE","VALID_ASSET_TYPES","parseAssetLinkShorthand","href","typed","assetType","legacy","parseOuroAssetUrl","siteUrl","pathname","url","siteHost","match","entity","slug","extractContent","item","getReferencesInContent","json","options","_a","content","users","_b","_c","unique","u","assets","attrs","linkedAssets","seenAssetIds","a","seenLinkedKeys","linkMark","m","shorthand","id","parsed","key"],"mappings":"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","file":"chunk-U5WHESJR.js","sourcesContent":["import { Content } from \"../../schema/posts\";\nimport { Profile } from \"../../schema/users\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: \"card\" | \"preview\" | \"list\";\n filters?: any;\n partial?: boolean;\n}\n\n/** Assets pulled from Air JSON: embedded blocks or link href shorthands. */\nexport type ExtractedContentAsset =\n | { id: string; assetType: string; via: \"embed\" }\n | { id: string; assetType: string; via: \"link\"; legacy: false }\n | { id: string; via: \"link\"; legacy: true };\n\ninterface LinkedAssetRef {\n assetType: string;\n entity: string;\n slug: string;\n}\n\n/** UUID v4 pattern for inline link hrefs */\nconst UUID_RE =\n \"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\";\n\n/** Shorthand link hrefs: `post:<uuid>`, `file:<uuid>`, … (preferred over legacy `asset:<uuid>`). */\nconst TYPED_ASSET_LINK_RE = new RegExp(\n `^(post|dataset|file|service|route):(${UUID_RE})$`,\n \"i\"\n);\n\n/** @deprecated Prefer `post:<uuid>` etc.; still supported and resolved server-side. */\nconst LEGACY_ASSET_LINK_RE = new RegExp(`^asset:(${UUID_RE})$`, \"i\");\n\nconst VALID_ASSET_TYPES = new Set([\n \"post\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n]);\n\n/**\n * Parse an inline link `href` for Ouro asset shorthands.\n * - `post:<uuid>`, `file:<uuid>`, … → typed (asset type known from prefix)\n * - `asset:<uuid>` → legacy (type resolved via DB when creating connections)\n */\nfunction parseAssetLinkShorthand(\n href: string\n):\n | { id: string; assetType: string; legacy: false }\n | { id: string; legacy: true }\n | null {\n const typed = TYPED_ASSET_LINK_RE.exec(href);\n if (typed) {\n const assetType = typed[1].toLowerCase();\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n return { id: typed[2], assetType, legacy: false };\n }\n const legacy = LEGACY_ASSET_LINK_RE.exec(href);\n if (legacy) return { id: legacy[1], legacy: true };\n return null;\n}\n\n/**\n * Parse an Ouro site URL into its asset components.\n * Accepts both absolute URLs (https://ouro.foundation/posts/entity/slug)\n * and relative paths (/posts/entity/slug).\n */\nfunction parseOuroAssetUrl(\n href: string,\n siteUrl?: string\n): LinkedAssetRef | null {\n let pathname: string;\n try {\n if (href.startsWith(\"/\")) {\n pathname = href;\n } else {\n const url = new URL(href);\n if (siteUrl) {\n const siteHost = new URL(siteUrl).host;\n if (url.host !== siteHost) return null;\n }\n pathname = url.pathname;\n }\n } catch {\n return null;\n }\n\n // Pattern: /{assetType}s/{entity}/{slug}\n const match = pathname.match(\n /^\\/(\\w+)s\\/([^/]+)\\/([^/?#]+)/\n );\n if (!match) return null;\n\n const [, assetType, entity, slug] = match;\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n\n return { assetType, entity: decodeURIComponent(entity), slug: decodeURIComponent(slug) };\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(\n json: Content[\"json\"],\n options?: { siteUrl?: string }\n) {\n if (!json || !json?.content)\n return { users: [], assets: [], linkedAssets: [] };\n const content = json.content.map(extractContent).flat();\n\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs?.id,\n username: item.attrs?.label || item.attrs?.username,\n }))\n .reduce((unique: any[], item: any) => {\n if (\n !unique.some(\n (u) =>\n (u.user_id && item.user_id && u.user_id === item.user_id) ||\n (u.username && item.username && u.username === item.username)\n )\n ) {\n unique.push(item);\n }\n return unique;\n }, []) as Partial<Profile>[];\n\n const assets: ExtractedContentAsset[] = content\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n via: \"embed\" as const,\n }))\n .reduce((unique: ExtractedContentAsset[], item: ExtractedContentAsset) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []);\n\n // Extract asset references from link marks\n const linkedAssets: LinkedAssetRef[] = [];\n const seenAssetIds = new Set(assets.map((a) => a.id));\n const seenLinkedKeys = new Set<string>();\n\n for (const item of content) {\n if (item?.type !== \"text\" || !item?.marks) continue;\n const linkMark = item.marks.find((m: any) => m.type === \"link\");\n if (!linkMark?.attrs?.href) continue;\n\n const href: string = linkMark.attrs.href;\n\n const shorthand = parseAssetLinkShorthand(href);\n if (shorthand) {\n const id = shorthand.id;\n if (!seenAssetIds.has(id)) {\n seenAssetIds.add(id);\n if (shorthand.legacy) {\n assets.push({ id, via: \"link\", legacy: true });\n } else {\n assets.push({\n id,\n assetType: shorthand.assetType,\n via: \"link\",\n legacy: false,\n });\n }\n }\n continue;\n }\n\n // Check for Ouro site URLs\n const parsed = parseOuroAssetUrl(href, options?.siteUrl);\n if (parsed) {\n const key = `${parsed.assetType}:${parsed.entity}:${parsed.slug}`;\n if (!seenLinkedKeys.has(key)) {\n seenLinkedKeys.add(key);\n linkedAssets.push(parsed);\n }\n }\n }\n\n return {\n users,\n assets,\n linkedAssets,\n };\n}\n\nexport {\n getReferencesInContent,\n parseAssetLinkShorthand,\n parseOuroAssetUrl,\n};\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var A="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",T=new RegExp(`^(post|dataset|file|service|route):(${A})$`,"i"),E=new RegExp(`^asset:(${A})$`,"i"),h=new Set(["post","dataset","file","service","route"]);function _(t){let r=T.exec(t);if(r){let c=r[1].toLowerCase();return h.has(c)?{id:r[2],assetType:c,legacy:false}:null}let a=E.exec(t);return a?{id:a[1],legacy:true}:null}function k(t,r){let a;try{if(t.startsWith("/"))a=t;else {let d=new URL(t);if(r){let p=new URL(r).host;if(d.host!==p)return null}a=d.pathname;}}catch{return null}let c=a.match(/^\/(\w+)s\/([^/]+)\/([^/?#]+)/);if(!c)return null;let[,o,u,y]=c;return h.has(o)?{assetType:o,entity:decodeURIComponent(u),slug:decodeURIComponent(y)}:null}var g=t=>Array.isArray(t)?t.map(g):t!=null&&t.content?Array.isArray(t.content)?t.content.map(g).flat():g(t.content):t;function C(t,r){var p;if(!t||!(t!=null&&t.content))return {users:[],assets:[],linkedAssets:[]};let a=t.content.map(g).flat(),c=a.filter(e=>e.type==="mention").map(e=>{var s,n,l;return {user_id:(s=e.attrs)==null?void 0:s.id,username:((n=e.attrs)==null?void 0:n.label)||((l=e.attrs)==null?void 0:l.username)}}).reduce((e,s)=>(e.some(n=>n.user_id&&s.user_id&&n.user_id===s.user_id||n.username&&s.username&&n.username===s.username)||e.push(s),e),[]),o=a.filter(e=>{var s,n;return e.type==="assetComponent"&&((s=e.attrs)==null?void 0:s.id)&&!((n=e.attrs)!=null&&n.partial)}).map(({attrs:e})=>({id:e.id,assetType:e.assetType,via:"embed"})).reduce((e,s)=>(e.some(n=>n.id===s.id)||e.push(s),e),[]),u=[],y=new Set(o.map(e=>e.id)),d=new Set;for(let e of a){if((e==null?void 0:e.type)!=="text"||!(e!=null&&e.marks))continue;let s=e.marks.find(i=>i.type==="link");if(!((p=s==null?void 0:s.attrs)!=null&&p.href))continue;let n=s.attrs.href,l=_(n);if(l){let i=l.id;y.has(i)||(y.add(i),l.legacy?o.push({id:i,via:"link",legacy:true}):o.push({id:i,assetType:l.assetType,via:"link",legacy:false}));continue}let f=k(n,r==null?void 0:r.siteUrl);if(f){let i=`${f.assetType}:${f.entity}:${f.slug}`;d.has(i)||(d.add(i),u.push(f));}}return {users:c,assets:o,linkedAssets:u}}exports.a=_;exports.b=k;exports.c=C;//# sourceMappingURL=chunk-W3XNHFD6.cjs.map
2
- //# sourceMappingURL=chunk-W3XNHFD6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/air/index.ts"],"names":["UUID_RE","TYPED_ASSET_LINK_RE","LEGACY_ASSET_LINK_RE","VALID_ASSET_TYPES","parseAssetLinkShorthand","href","typed","assetType","legacy","parseOuroAssetUrl","siteUrl","pathname","url","siteHost","match","entity","slug","extractContent","item","getReferencesInContent","json","options","_a","content","users","_b","_c","unique","u","assets","attrs","linkedAssets","seenAssetIds","a","seenLinkedKeys","linkMark","m","shorthand","id","parsed","key"],"mappings":"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","file":"chunk-W3XNHFD6.cjs","sourcesContent":["import { Content } from \"../../schema/posts\";\nimport { Profile } from \"../../schema/users\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: \"card\" | \"preview\" | \"list\";\n filters?: any;\n partial?: boolean;\n}\n\n/** Assets pulled from Air JSON: embedded blocks or link href shorthands. */\nexport type ExtractedContentAsset =\n | { id: string; assetType: string; via: \"embed\" }\n | { id: string; assetType: string; via: \"link\"; legacy: false }\n | { id: string; via: \"link\"; legacy: true };\n\ninterface LinkedAssetRef {\n assetType: string;\n entity: string;\n slug: string;\n}\n\n/** UUID v4 pattern for inline link hrefs */\nconst UUID_RE =\n \"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\";\n\n/** Shorthand link hrefs: `post:<uuid>`, `file:<uuid>`, … (preferred over legacy `asset:<uuid>`). */\nconst TYPED_ASSET_LINK_RE = new RegExp(\n `^(post|dataset|file|service|route):(${UUID_RE})$`,\n \"i\"\n);\n\n/** @deprecated Prefer `post:<uuid>` etc.; still supported and resolved server-side. */\nconst LEGACY_ASSET_LINK_RE = new RegExp(`^asset:(${UUID_RE})$`, \"i\");\n\nconst VALID_ASSET_TYPES = new Set([\n \"post\",\n \"dataset\",\n \"file\",\n \"service\",\n \"route\",\n]);\n\n/**\n * Parse an inline link `href` for Ouro asset shorthands.\n * - `post:<uuid>`, `file:<uuid>`, … → typed (asset type known from prefix)\n * - `asset:<uuid>` → legacy (type resolved via DB when creating connections)\n */\nfunction parseAssetLinkShorthand(\n href: string\n):\n | { id: string; assetType: string; legacy: false }\n | { id: string; legacy: true }\n | null {\n const typed = TYPED_ASSET_LINK_RE.exec(href);\n if (typed) {\n const assetType = typed[1].toLowerCase();\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n return { id: typed[2], assetType, legacy: false };\n }\n const legacy = LEGACY_ASSET_LINK_RE.exec(href);\n if (legacy) return { id: legacy[1], legacy: true };\n return null;\n}\n\n/**\n * Parse an Ouro site URL into its asset components.\n * Accepts both absolute URLs (https://ouro.foundation/posts/entity/slug)\n * and relative paths (/posts/entity/slug).\n */\nfunction parseOuroAssetUrl(\n href: string,\n siteUrl?: string\n): LinkedAssetRef | null {\n let pathname: string;\n try {\n if (href.startsWith(\"/\")) {\n pathname = href;\n } else {\n const url = new URL(href);\n if (siteUrl) {\n const siteHost = new URL(siteUrl).host;\n if (url.host !== siteHost) return null;\n }\n pathname = url.pathname;\n }\n } catch {\n return null;\n }\n\n // Pattern: /{assetType}s/{entity}/{slug}\n const match = pathname.match(\n /^\\/(\\w+)s\\/([^/]+)\\/([^/?#]+)/\n );\n if (!match) return null;\n\n const [, assetType, entity, slug] = match;\n if (!VALID_ASSET_TYPES.has(assetType)) return null;\n\n return { assetType, entity: decodeURIComponent(entity), slug: decodeURIComponent(slug) };\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(\n json: Content[\"json\"],\n options?: { siteUrl?: string }\n) {\n if (!json || !json?.content)\n return { users: [], assets: [], linkedAssets: [] };\n const content = json.content.map(extractContent).flat();\n\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs?.id,\n username: item.attrs?.label || item.attrs?.username,\n }))\n .reduce((unique: any[], item: any) => {\n if (\n !unique.some(\n (u) =>\n (u.user_id && item.user_id && u.user_id === item.user_id) ||\n (u.username && item.username && u.username === item.username)\n )\n ) {\n unique.push(item);\n }\n return unique;\n }, []) as Partial<Profile>[];\n\n const assets: ExtractedContentAsset[] = content\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n via: \"embed\" as const,\n }))\n .reduce((unique: ExtractedContentAsset[], item: ExtractedContentAsset) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []);\n\n // Extract asset references from link marks\n const linkedAssets: LinkedAssetRef[] = [];\n const seenAssetIds = new Set(assets.map((a) => a.id));\n const seenLinkedKeys = new Set<string>();\n\n for (const item of content) {\n if (item?.type !== \"text\" || !item?.marks) continue;\n const linkMark = item.marks.find((m: any) => m.type === \"link\");\n if (!linkMark?.attrs?.href) continue;\n\n const href: string = linkMark.attrs.href;\n\n const shorthand = parseAssetLinkShorthand(href);\n if (shorthand) {\n const id = shorthand.id;\n if (!seenAssetIds.has(id)) {\n seenAssetIds.add(id);\n if (shorthand.legacy) {\n assets.push({ id, via: \"link\", legacy: true });\n } else {\n assets.push({\n id,\n assetType: shorthand.assetType,\n via: \"link\",\n legacy: false,\n });\n }\n }\n continue;\n }\n\n // Check for Ouro site URLs\n const parsed = parseOuroAssetUrl(href, options?.siteUrl);\n if (parsed) {\n const key = `${parsed.assetType}:${parsed.entity}:${parsed.slug}`;\n if (!seenLinkedKeys.has(key)) {\n seenLinkedKeys.add(key);\n linkedAssets.push(parsed);\n }\n }\n }\n\n return {\n users,\n assets,\n linkedAssets,\n };\n}\n\nexport {\n getReferencesInContent,\n parseAssetLinkShorthand,\n parseOuroAssetUrl,\n};\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$2}from'./chunk-QMVYPQP3.js';import {b,c,d,a as a$1}from'./chunk-XIDYDUVH.js';import {b as b$1}from'./chunk-3N56ERWF.js';import {a,b as b$2,d as d$1}from'./chunk-3EK6Q2YF.js';import {object,array,string,optional,nullable,literal,uuid,record,any}from'zod';var z=object({members:array(string())}),C=z.extend(b.partial().shape),T=c.extend({asset_type:a.default("conversation"),metadata:C,users:optional(nullable(array(b$1)))}),l=d.extend({asset_type:literal("conversation").default("conversation"),monetization:d$1.default("none"),visibility:b$2.default("private"),metadata:C}),U=l.transform(a=>a$1(a)),j=l.omit({id:true,org_id:true,team_id:true}).partial().transform(a=>a$1(a)),B=object({id:uuid(),conversation_id:uuid(),user_id:uuid(),user:optional(nullable(b$1)),created_at:string(),last_updated:string(),viewers:array(uuid()),json:a$2,text:string(),metadata:optional(nullable(record(string(),any())))});export{T as a,U as b,j as c,B as d};//# sourceMappingURL=chunk-Y7MYLO3W.js.map
2
- //# sourceMappingURL=chunk-Y7MYLO3W.js.map