@ourofoundation/ouro-js 2.0.2 → 2.0.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.
package/dist/index.cjs CHANGED
@@ -1,842 +1,3 @@
1
- 'use strict';
2
-
3
- var zod = require('zod');
4
- var uuidv7 = require('uuidv7');
5
- var marked = require('marked');
6
-
7
- // src/schema/assets.ts
8
- var AssetTypeSchema = zod.z.enum([
9
- "user",
10
- "organization",
11
- "team",
12
- "dataset",
13
- "file",
14
- "service",
15
- "route",
16
- "post",
17
- "comment",
18
- "conversation",
19
- "blueprint",
20
- "replication"
21
- ]);
22
- var VisibilitySchema = zod.z.enum([
23
- "public",
24
- "private",
25
- "organization",
26
- "monetized",
27
- "inherit"
28
- ]);
29
- var RoleSchema = zod.z.enum(["admin", "read", "write", "none"]);
30
- var MonetizationSchema = zod.z.enum(["none", "pay-to-unlock", "pay-per-use"]);
31
- var EmbeddingSchema = zod.z.object({
32
- id: zod.z.string(),
33
- user_id: zod.z.string(),
34
- org_id: zod.z.string().nullable().optional(),
35
- embedding: zod.z.array(zod.z.number()),
36
- content: zod.z.string(),
37
- asset_type: AssetTypeSchema,
38
- asset_id: zod.z.string(),
39
- metadata: zod.z.object({}).passthrough().nullable().optional(),
40
- created_at: zod.z.string(),
41
- last_updated: zod.z.string()
42
- });
43
- var ConnectionTypeSchema = zod.z.enum([
44
- "comment",
45
- "reference",
46
- "mention",
47
- "action",
48
- "component"
49
- ]);
50
- var ConnectionSchema = zod.z.object({
51
- id: zod.z.string().uuid(),
52
- user_id: zod.z.string().uuid(),
53
- type: ConnectionTypeSchema,
54
- action_id: zod.z.string().uuid().optional().nullable(),
55
- source_id: zod.z.string().uuid(),
56
- target_id: zod.z.string().uuid(),
57
- source_asset_type: AssetTypeSchema,
58
- target_asset_type: AssetTypeSchema,
59
- created_at: zod.z.string(),
60
- last_updated: zod.z.string()
61
- });
62
- var PurchaseAssetSchema = zod.z.object({
63
- assetId: zod.z.string().uuid(),
64
- method: zod.z.enum(["checkout", "api"]),
65
- assetType: AssetTypeSchema
66
- });
67
- var PermissionSchema = zod.z.object({
68
- id: zod.z.string().uuid(),
69
- role: RoleSchema,
70
- user: zod.z.object({
71
- user_id: zod.z.string().uuid()
72
- }),
73
- user_id: zod.z.string().uuid().nullable(),
74
- org_id: zod.z.string().uuid().nullable(),
75
- asset_type: AssetTypeSchema,
76
- asset_id: zod.z.string().uuid(),
77
- created_at: zod.z.string(),
78
- last_updated: zod.z.string()
79
- });
80
- var StatusSchema = zod.z.enum(["queued", "in-progress", "success", "error"]);
81
- var OrganizationsSchema = zod.z.object({
82
- id: zod.z.string().uuid(),
83
- name: zod.z.string(),
84
- avatar_path: zod.z.string().nullable().optional(),
85
- mission: zod.z.string().nullable().optional(),
86
- size: zod.z.string(),
87
- email: zod.z.string().nullable().optional(),
88
- domain: zod.z.string().nullable().optional(),
89
- urls: zod.z.array(
90
- zod.z.object({
91
- value: zod.z.string()
92
- })
93
- ).nullable().optional(),
94
- base_role: RoleSchema.default("write")
95
- });
96
- var MembershipSchema = zod.z.object({
97
- id: zod.z.string().uuid(),
98
- user_id: zod.z.string().uuid(),
99
- org_id: zod.z.string().uuid(),
100
- team_id: zod.z.string().uuid(),
101
- role: RoleSchema,
102
- added_at: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString()),
103
- visibility: VisibilitySchema.default("public")
104
- });
105
- var ProfileSchema = zod.z.object({
106
- id: zod.z.string().uuid(),
107
- user_id: zod.z.string().uuid(),
108
- username: zod.z.string().optional().nullable(),
109
- avatar_path: zod.z.string().optional().nullable(),
110
- bio: zod.z.string().optional().nullable(),
111
- urls: zod.z.array(
112
- zod.z.object({
113
- value: zod.z.string().url()
114
- })
115
- ).optional(),
116
- post_id: zod.z.string().uuid().optional().nullable(),
117
- is_agent: zod.z.boolean(),
118
- plan_type: zod.z.enum(["free", "gold"]),
119
- last_active: zod.z.string()
120
- });
121
- var ReadProfileSchema = ProfileSchema.extend({
122
- is_agent: zod.z.boolean(),
123
- isFollowing: zod.z.boolean(),
124
- isFollowed: zod.z.boolean(),
125
- isSelf: zod.z.boolean(),
126
- followers: zod.z.number().default(0),
127
- following: zod.z.number().default(0)
128
- });
129
- var UpdateProfileSchema = ProfileSchema.partial().omit({
130
- id: true,
131
- user_id: true,
132
- last_active: true
133
- // username: true, // once set, users cannot update their username
134
- });
135
-
136
- // src/schema/teams.ts
137
- var TeamSchema = zod.z.object({
138
- id: zod.z.string().uuid(),
139
- org_id: zod.z.string().uuid(),
140
- organization: OrganizationsSchema,
141
- name: zod.z.string(),
142
- description: zod.z.string().nullable().optional(),
143
- default_role: RoleSchema,
144
- visibility: VisibilitySchema,
145
- userMembership: zod.z.object({
146
- user_id: zod.z.string().uuid(),
147
- role: RoleSchema
148
- }).optional().nullable(),
149
- memberCount: zod.z.number().optional().nullable(),
150
- members: zod.z.array(
151
- zod.z.object({
152
- user_id: zod.z.string().uuid(),
153
- role: RoleSchema,
154
- user: ProfileSchema.partial().optional().nullable()
155
- })
156
- ),
157
- created_at: zod.z.string()
158
- });
159
- var CreateTeamSchema = TeamSchema.extend({
160
- id: zod.z.string().default(() => uuidv7.uuidv7()),
161
- default_role: RoleSchema.default("write").refine(
162
- (v) => v === "read" || v === "write"
163
- ),
164
- visibility: VisibilitySchema.default("public").refine(
165
- (v) => v === "public" || v === "organization"
166
- ),
167
- created_at: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
168
- }).omit({
169
- organization: true,
170
- userMembership: true,
171
- memberCount: true,
172
- members: true,
173
- created_at: true
174
- });
175
- var ReadTeamSchema = TeamSchema.extend({
176
- userMembership: zod.z.object({
177
- user_id: zod.z.string().uuid(),
178
- role: RoleSchema
179
- }).optional().nullable(),
180
- memberCount: zod.z.number(),
181
- members: zod.z.array(
182
- zod.z.object({
183
- user_id: zod.z.string().uuid(),
184
- role: RoleSchema,
185
- user: ProfileSchema.partial().optional().nullable()
186
- })
187
- ),
188
- organization: OrganizationsSchema.partial().optional().nullable()
189
- });
190
- var ReadTeamsSchema = zod.z.array(
191
- ReadTeamSchema.extend({
192
- label: zod.z.string(),
193
- value: zod.z.string()
194
- })
195
- );
196
- var UpdateTeamSchema = TeamSchema.partial().omit({
197
- org_id: true,
198
- organization: true,
199
- created_at: true
200
- }).extend({
201
- id: zod.z.string().uuid()
202
- });
203
- var AssetSchema = zod.z.object({
204
- id: zod.z.string().uuid(),
205
- user_id: zod.z.string().uuid(),
206
- user: ProfileSchema.partial().optional(),
207
- org_id: zod.z.string().uuid(),
208
- organization: OrganizationsSchema.partial().optional(),
209
- team_id: zod.z.string().uuid(),
210
- team: TeamSchema.partial().optional(),
211
- parent_id: zod.z.string().uuid().optional().nullable(),
212
- // parent: z.lazy(() => AssetSchema.partial()).optional(),
213
- parent: zod.z.object({}).passthrough().optional(),
214
- asset_type: AssetTypeSchema,
215
- name: zod.z.string(),
216
- name_url_slug: zod.z.string().optional().nullable(),
217
- slug: zod.z.string().optional().nullable(),
218
- description: zod.z.string().nullable().optional(),
219
- visibility: VisibilitySchema,
220
- // Product information
221
- monetization: MonetizationSchema,
222
- price: zod.z.number().nullable().optional(),
223
- unit_cost: zod.z.number().nullable().optional(),
224
- cost_accounting: zod.z.enum(["fixed", "variable"]).optional().nullable(),
225
- cost_unit: zod.z.string().optional().nullable(),
226
- product_id: zod.z.string().optional().nullable(),
227
- price_id: zod.z.string().optional().nullable(),
228
- // Metadata information
229
- metadata: zod.z.object({}).passthrough().optional().nullable(),
230
- preview: zod.z.array(zod.z.object({}).passthrough()).optional().nullable(),
231
- state: StatusSchema.optional().nullable(),
232
- created_at: zod.z.string(),
233
- last_updated: zod.z.string()
234
- });
235
- var CreateAssetSchema = AssetSchema.partial().omit({
236
- user_id: true,
237
- // Remove extended foreign fields
238
- user: true,
239
- organization: true,
240
- team: true,
241
- // remove added slug
242
- slug: true
243
- }).extend({
244
- id: zod.z.string().uuid().default(() => uuidv7.uuidv7()),
245
- team_id: zod.z.string().uuid().nullish().default("00000000-0000-0000-0000-000000000000"),
246
- org_id: zod.z.string().uuid().nullish().default("00000000-0000-0000-0000-000000000000"),
247
- name: zod.z.string().min(1, {
248
- message: "Name cannot be empty"
249
- }).max(255, {
250
- message: "Name must be less than 255 characters"
251
- }),
252
- // name is required for all assets but posts and conversations
253
- name_url_slug: zod.z.string().optional().nullable(),
254
- state: StatusSchema.optional().default("success"),
255
- visibility: VisibilitySchema.optional().default("public"),
256
- created_at: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString()),
257
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
258
- });
259
- var UpdateAssetSchema = AssetSchema.partial().omit({
260
- id: true,
261
- user_id: true,
262
- created_at: true,
263
- // Remove extended foreign fields
264
- user: true,
265
- organization: true,
266
- team: true,
267
- // remove added slug
268
- slug: true
269
- });
270
- var CommentSchema = AssetSchema.extend({
271
- asset_type: zod.z.literal("comment").default("comment"),
272
- preview: zod.z.object({
273
- type: zod.z.string().refine((x) => x === "doc"),
274
- content: zod.z.array(zod.z.object({}).passthrough())
275
- }).optional().nullable().default({ type: "doc", content: [] })
276
- });
277
- var CreateCommentSchema = CommentSchema.partial().omit({
278
- id: true,
279
- user_id: true
280
- }).extend({
281
- asset_type: zod.z.literal("comment").default("comment"),
282
- id: zod.z.string().default(() => uuidv7.uuidv7()),
283
- name: zod.z.string().default(""),
284
- created_at: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString()),
285
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
286
- });
287
- var TipTapNode = zod.z.lazy(
288
- () => zod.z.object({
289
- type: zod.z.string(),
290
- content: zod.z.array(TipTapNode).optional(),
291
- attrs: zod.z.record(zod.z.any()).optional(),
292
- marks: zod.z.array(
293
- zod.z.object({
294
- type: zod.z.string(),
295
- attrs: zod.z.record(zod.z.any()).optional()
296
- })
297
- ).optional(),
298
- text: zod.z.string().optional()
299
- // For text nodes
300
- })
301
- );
302
- var TipTapSchema = zod.z.object({
303
- type: zod.z.literal("doc"),
304
- content: zod.z.array(TipTapNode)
305
- });
306
- var ContentSchema = zod.z.object({
307
- json: TipTapSchema,
308
- text: zod.z.string()
309
- }).default({ json: { type: "doc", content: [] }, text: "" });
310
- var PostSchema = AssetSchema.extend({
311
- name: zod.z.string().nullable(),
312
- asset_type: AssetTypeSchema.refine((x) => ["post", "comment"].includes(x)),
313
- // TODO: make this ContentSchema
314
- preview: TipTapSchema.default({ type: "doc", content: [] }),
315
- content: ContentSchema
316
- });
317
- var CreatePostSchema = CreateAssetSchema.extend({
318
- asset_type: zod.z.literal("post").default("post"),
319
- name: zod.z.string().optional().nullable().default("").transform((x) => x == null ? void 0 : x.trim()).transform((x) => x || null),
320
- preview: TipTapSchema
321
- });
322
- var ReadPostSchema = PostSchema.extend({
323
- content: ContentSchema.optional().nullable().default({
324
- json: { type: "doc", content: [] },
325
- text: ""
326
- }),
327
- reactions: zod.z.array(zod.z.object({}).passthrough()).default([]),
328
- views: zod.z.number().default(0),
329
- commentCount: zod.z.number().default(0),
330
- // We have this on asset now
331
- // parent: ConnectionSchema.optional().nullable(),
332
- pinned: zod.z.boolean().default(false)
333
- });
334
- var ReadPostsSchema = zod.z.array(ReadPostSchema);
335
- var ListPostsSchema = zod.z.array(PostSchema);
336
- var UpdatePostSchema = PostSchema.partial().omit({
337
- user_id: true,
338
- id: true,
339
- created_at: true,
340
- last_updated: true,
341
- content: true,
342
- organization: true,
343
- user: true,
344
- team: true,
345
- slug: true
346
- }).extend({
347
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
348
- });
349
-
350
- // src/schema/conversations.ts
351
- var ConversationSchema = AssetSchema.extend({
352
- metadata: zod.z.object({
353
- members: zod.z.array(zod.z.string())
354
- }),
355
- asset_type: AssetTypeSchema.default("conversation"),
356
- users: zod.z.array(ProfileSchema).optional().nullable()
357
- });
358
- var CreateConversationSchema = ConversationSchema.omit({
359
- org_id: true,
360
- team_id: true,
361
- user_id: true,
362
- created_at: true,
363
- last_updated: true
364
- }).extend({
365
- id: zod.z.string().uuid().default(() => uuidv7.uuidv7()),
366
- org_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
367
- team_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
368
- monetization: MonetizationSchema.default("none"),
369
- visibility: VisibilitySchema.default("private")
370
- });
371
- var UpdateConversationSchema = CreateConversationSchema.omit({
372
- id: true,
373
- org_id: true,
374
- team_id: true,
375
- team: true,
376
- user: true,
377
- organization: true,
378
- slug: true
379
- }).partial();
380
- var MessageSchema = zod.z.object({
381
- id: zod.z.string().uuid(),
382
- conversation_id: zod.z.string().uuid(),
383
- user_id: zod.z.string().uuid(),
384
- user: ProfileSchema.optional().nullable(),
385
- created_at: zod.z.string().datetime(),
386
- last_updated: zod.z.string().datetime(),
387
- viewers: zod.z.array(zod.z.string().uuid()),
388
- json: TipTapSchema,
389
- text: zod.z.string(),
390
- metadata: zod.z.object({}).passthrough().nullable().optional()
391
- });
392
- var DatasetFromFileMetadataSchema = zod.z.object({
393
- type: zod.z.string(),
394
- size: zod.z.number(),
395
- path: zod.z.string(),
396
- name: zod.z.string(),
397
- id: zod.z.string().uuid(),
398
- // storage file object id,
399
- bucket: zod.z.enum(["public-files", "files"])
400
- });
401
- var DatasetMetadataSchema = zod.z.object({
402
- table_name: zod.z.string(),
403
- schema: zod.z.literal("datasets").default("datasets"),
404
- columns: zod.z.array(zod.z.string())
405
- });
406
- var DatasetSchema = AssetSchema.extend({
407
- asset_type: zod.z.literal("dataset").default("dataset"),
408
- metadata: DatasetMetadataSchema.extend({
409
- ...DatasetFromFileMetadataSchema.partial().shape
410
- }),
411
- preview: zod.z.array(zod.z.object({}).passthrough())
412
- });
413
- var CreateDatasetFromFileSchema = CreateAssetSchema.extend({
414
- asset_type: zod.z.literal("dataset").default("dataset"),
415
- metadata: DatasetMetadataSchema.extend({
416
- ...DatasetFromFileMetadataSchema.shape
417
- }),
418
- preview: zod.z.array(zod.z.object({}).passthrough())
419
- });
420
- var CreateDatasetFromSchemaSchema = CreateAssetSchema.extend({
421
- asset_type: zod.z.literal("dataset").default("dataset"),
422
- metadata: DatasetMetadataSchema,
423
- preview: zod.z.array(zod.z.object({}).passthrough())
424
- });
425
- var updateDatasetSchema = DatasetSchema.partial().omit({
426
- user_id: true,
427
- id: true,
428
- created_at: true,
429
- last_updated: true,
430
- organization: true,
431
- user: true,
432
- team: true,
433
- slug: true
434
- }).extend({
435
- asset_type: zod.z.literal("dataset").default("dataset"),
436
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
437
- });
438
- var FileMetadataSchema = zod.z.object({
439
- id: zod.z.string().uuid(),
440
- // The id of the file object
441
- path: zod.z.string(),
442
- // The path of the file in storage
443
- bucket: zod.z.enum(["public-files", "files"]),
444
- name: zod.z.string(),
445
- type: zod.z.string(),
446
- size: zod.z.number(),
447
- // If the file is an image, we store width and height
448
- width: zod.z.number().optional(),
449
- height: zod.z.number().optional()
450
- });
451
- var FileSchema = AssetSchema.extend({
452
- asset_type: zod.z.literal("file").default("file"),
453
- metadata: FileMetadataSchema
454
- });
455
- var CreateFileSchema = zod.z.discriminatedUnion("state", [
456
- // Success state, file is ready
457
- CreateAssetSchema.extend({
458
- asset_type: zod.z.literal("file").default("file"),
459
- state: zod.z.literal("success").default("success"),
460
- metadata: FileMetadataSchema
461
- }),
462
- // In-progress state, file is being processed
463
- CreateAssetSchema.extend({
464
- asset_type: zod.z.literal("file").default("file"),
465
- state: zod.z.literal("in-progress").default("in-progress"),
466
- metadata: zod.z.object({
467
- type: zod.z.string()
468
- })
469
- })
470
- ]);
471
- var updateFileSchema = FileSchema.partial().omit({
472
- user_id: true,
473
- id: true,
474
- created_at: true,
475
- last_updated: true,
476
- organization: true,
477
- user: true,
478
- team: true,
479
- slug: true
480
- }).extend({
481
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
482
- });
483
- var NotificationTypeSchema = zod.z.enum([
484
- "follow",
485
- "like",
486
- "comment",
487
- "reply",
488
- "mention",
489
- "reference",
490
- "invite",
491
- "payment",
492
- "event",
493
- "share",
494
- "other"
495
- ]);
496
- var NotificationSchema = zod.z.object({
497
- id: zod.z.string().uuid(),
498
- source_user_id: zod.z.string().uuid(),
499
- destination_user_id: zod.z.string().uuid(),
500
- org_id: zod.z.string().uuid(),
501
- asset_id: zod.z.string().uuid().optional().nullable(),
502
- type: NotificationTypeSchema,
503
- content: zod.z.object({
504
- text: zod.z.string().optional(),
505
- asset: zod.z.object({
506
- assetId: zod.z.string(),
507
- assetType: AssetTypeSchema
508
- }).optional(),
509
- mention: zod.z.object({}).optional(),
510
- event: zod.z.object({
511
- type: zod.z.enum(["success", "error"])
512
- }).optional()
513
- }),
514
- viewed: zod.z.boolean(),
515
- created_at: zod.z.string(),
516
- last_updated: zod.z.string()
517
- });
518
- var authType = zod.z.enum(["Personal Access Token", "None", "OAuth 2.0"]);
519
- var serviceSchema = zod.z.object({
520
- id: zod.z.string(),
521
- user_id: zod.z.string(),
522
- org_id: zod.z.string().nullable().optional(),
523
- name: zod.z.string(),
524
- description: zod.z.string().nullable().optional(),
525
- visibility: VisibilitySchema,
526
- version: zod.z.string().nullable().optional(),
527
- authentication: authType,
528
- base_url: zod.z.string(),
529
- spec_path: zod.z.string(),
530
- created_at: zod.z.string(),
531
- last_updated: zod.z.string()
532
- });
533
- var routeSchema = zod.z.object({
534
- id: zod.z.string(),
535
- user_id: zod.z.string(),
536
- service_id: zod.z.string(),
537
- path: zod.z.string(),
538
- method: zod.z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]),
539
- summary: zod.z.string().nullable().optional(),
540
- parameters: zod.z.array(zod.z.object({}).passthrough()).nullable().optional(),
541
- request_body: zod.z.object({}).passthrough().nullable().optional(),
542
- responses: zod.z.array(zod.z.object({}).passthrough()).nullable().optional(),
543
- security: zod.z.object({}).passthrough().nullable().optional(),
544
- // created_at: z.string(),
545
- rate_limit: zod.z.number().nullable().optional(),
546
- last_updated: zod.z.string()
547
- });
548
- var ReplicationSchema = AssetSchema.extend({
549
- asset_type: AssetTypeSchema.refine((val) => val === "replication"),
550
- metadata: zod.z.object({
551
- schedule: zod.z.object({
552
- cron: zod.z.string()
553
- }).passthrough().optional()
554
- }).passthrough()
555
- });
556
- var CreateReplicationSchema = ReplicationSchema.partial().extend({
557
- id: zod.z.string().uuid().default(() => uuidv7.uuidv7()),
558
- team_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
559
- org_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
560
- name_url_slug: zod.z.string()
561
- });
562
- var UpdateReplicationSchema = zod.z.object({
563
- team_id: zod.z.string().uuid().nullable().optional(),
564
- name_url_slug: zod.z.string().nullable().optional(),
565
- name: zod.z.string().nullable().optional(),
566
- description: zod.z.string().nullable().optional(),
567
- visibility: VisibilitySchema.nullable().optional(),
568
- metadata: zod.z.object({}).passthrough().optional().nullable(),
569
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
570
- });
571
- var BlueprintSchema = AssetSchema.extend({
572
- asset_type: AssetTypeSchema.refine((val) => val === "blueprint")
573
- });
574
- var CreateBlueprintSchema = AssetSchema.partial().extend({
575
- id: zod.z.string().uuid().default(() => uuidv7.uuidv7()),
576
- team_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
577
- org_id: zod.z.string().uuid().default("00000000-0000-0000-0000-000000000000"),
578
- name_url_slug: zod.z.string(),
579
- metadata: zod.z.object({
580
- edges: zod.z.array(zod.z.object({}).passthrough()),
581
- nodes: zod.z.array(zod.z.object({}).passthrough())
582
- }).passthrough()
583
- });
584
- var UpdateBlueprintSchema = zod.z.object({
585
- team_id: zod.z.string().uuid().nullable().optional(),
586
- name_url_slug: zod.z.string().nullable().optional(),
587
- name: zod.z.string().nullable().optional(),
588
- description: zod.z.string().nullable().optional(),
589
- visibility: VisibilitySchema.nullable().optional(),
590
- metadata: zod.z.object({}).passthrough().optional().nullable(),
591
- last_updated: zod.z.string().default(() => (/* @__PURE__ */ new Date()).toISOString())
592
- });
593
-
594
- // src/utils/dataset.ts
595
- function filterListToString(filters, onlyActive = false) {
596
- if (!filters || !Array.isArray(filters)) return "";
597
- return filters.map((filter) => {
598
- if (onlyActive && (filter.hasOwnProperty("active") ? !filter.active : false))
599
- return "";
600
- return `${filter.column}.${filter.operator}.${filter.value}`;
601
- }).join(",");
602
- }
603
-
604
- // src/utils/navigate.ts
605
- var createNameUrlSlug = (name) => {
606
- return name.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[\s\/\_]+/g, "-").replace(/[^\w\-]+/g, "").replace(/\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
607
- };
608
- var createUrlSlug = (asset) => {
609
- if (asset.asset_type === "conversation") {
610
- return `/conversations/${asset.id}`;
611
- }
612
- if (asset.asset_type === "comment") {
613
- return `/comments/${asset.id}`;
614
- }
615
- const entityName = asset.org_id !== "00000000-0000-0000-0000-000000000000" ? asset.organization.name : asset.user.username;
616
- const name = asset.name ? createNameUrlSlug(asset.name) : asset.id;
617
- const assetType = asset.asset_type;
618
- return `/${assetType}s/${entityName}/${name}`;
619
- };
620
- var getAssetUrl = (asset, config) => {
621
- const slug = (asset == null ? void 0 : asset.slug) || createUrlSlug(asset);
622
- const pathPostfix = (config == null ? void 0 : config.intent) ? `?intent=${config.intent}` : "";
623
- let url = `${slug}${pathPostfix}`;
624
- if (config == null ? void 0 : config.filters) {
625
- url += `?filters=${filterListToString(config.filters)}`;
626
- }
627
- return url;
628
- };
629
- var katexParser = {
630
- name: "katex",
631
- level: "inline",
632
- start(src) {
633
- const match = src.match(/\\\[|\\\(/);
634
- return match ? match.index : void 0;
635
- },
636
- end(src) {
637
- var _a, _b, _c;
638
- const match = src.match(/\s\\\]|\s\\\)/);
639
- return match ? ((_a = match.index) != null ? _a : 0) + ((_c = (_b = match[0]) == null ? void 0 : _b.length) != null ? _c : 0) : void 0;
640
- },
641
- tokenizer(src, tokens) {
642
- const displayRule = /^\\\[([\s\S]*?)\\\]/;
643
- const inlineRule = /^\\\(([\s\S]*?)\\\)/;
644
- let match = displayRule.exec(src);
645
- if (match) {
646
- return {
647
- type: "katex",
648
- raw: match[0],
649
- latex: match[1].trim(),
650
- displayMode: true
651
- };
652
- }
653
- match = inlineRule.exec(src);
654
- if (match) {
655
- return {
656
- type: "katex",
657
- raw: match[0],
658
- latex: match[1].trim(),
659
- displayMode: false
660
- };
661
- }
662
- },
663
- renderer(token) {
664
- return `<span data-latex="${token.latex}" data-display-mode="${token.displayMode}"></span>`;
665
- }
666
- };
667
- var assetComponentExtension = {
668
- name: "assetComponent",
669
- level: "block",
670
- start(src) {
671
- var _a;
672
- return (_a = src.match(/^```assetComponent/)) == null ? void 0 : _a.index;
673
- },
674
- end(src) {
675
- var _a;
676
- return (_a = src.match(/^```/)) == null ? void 0 : _a.index;
677
- },
678
- tokenizer(src, tokens) {
679
- const rule = /^```assetComponent\s+(\{[\s\S]*?\})\n```/;
680
- const match = rule.exec(src);
681
- if (match) {
682
- const token = {
683
- type: "assetComponent",
684
- raw: match[0],
685
- properties: match[1],
686
- tokens: []
687
- };
688
- return token;
689
- }
690
- },
691
- renderer(token) {
692
- let properties;
693
- try {
694
- properties = JSON.parse(token.properties);
695
- } catch (e) {
696
- console.error("Invalid JSON in assetComponent properties:", e);
697
- properties = {};
698
- }
699
- const componentHtml = `
700
- <asset-component ${Object.entries(properties).map(([key, value]) => `${key}="${value}"`).join(" ")}></asset-component>`;
701
- return componentHtml;
702
- }
703
- };
704
- var userMentionExtension = {
705
- name: "userMention",
706
- level: "inline",
707
- start(src) {
708
- var _a;
709
- return (_a = src.match(/`\{@/)) == null ? void 0 : _a.index;
710
- },
711
- end(src) {
712
- var _a;
713
- return (_a = src.match(/\}`/)) == null ? void 0 : _a.index;
714
- },
715
- tokenizer(src, tokens) {
716
- const rule = /^`\{@([a-zA-Z0-9_]+)\}`/;
717
- const match = rule.exec(src);
718
- if (match) {
719
- return {
720
- type: "userMention",
721
- raw: match[0],
722
- username: match[1]
723
- };
724
- }
725
- },
726
- renderer(token) {
727
- return `<user-mention username="${token.username}" data-label="${token.username}"></user-mention>`;
728
- }
729
- };
730
- marked.marked.use({
731
- gfm: true,
732
- extensions: [assetComponentExtension, userMentionExtension, katexParser]
733
- });
734
- function parseMarkdown(markdown) {
735
- return marked.marked.parse(markdown);
736
- }
737
-
738
- // src/utils/air/index.ts
739
- var extractContent = (item) => {
740
- if (Array.isArray(item)) return item.map(extractContent);
741
- if (item == null ? void 0 : item.content) {
742
- if (Array.isArray(item.content))
743
- return item.content.map(extractContent).flat();
744
- else return extractContent(item.content);
745
- } else return item;
746
- };
747
- function getReferencesInContent(json) {
748
- if (!json || !(json == null ? void 0 : json.content)) return { users: [], assets: [] };
749
- const content = json.content.map(extractContent).flat();
750
- const users = content.filter((item) => item.type === "mention").map((item) => {
751
- var _a, _b, _c;
752
- return {
753
- user_id: (_a = item.attrs) == null ? void 0 : _a.id,
754
- username: ((_b = item.attrs) == null ? void 0 : _b.label) || ((_c = item.attrs) == null ? void 0 : _c.username)
755
- };
756
- }).reduce((unique, item) => {
757
- if (!unique.some((u) => u.user_id === item.user_id)) {
758
- unique.push(item);
759
- }
760
- return unique;
761
- }, []);
762
- const assets = content.filter(
763
- (item) => {
764
- var _a, _b;
765
- return item.type === "assetComponent" && ((_a = item.attrs) == null ? void 0 : _a.id) && !((_b = item.attrs) == null ? void 0 : _b.partial);
766
- }
767
- ).map(({ attrs }) => ({
768
- id: attrs.id,
769
- assetType: attrs.assetType
770
- })).reduce((unique, item) => {
771
- if (!unique.some((u) => u.id === item.id)) {
772
- unique.push(item);
773
- }
774
- return unique;
775
- }, []);
776
- return {
777
- users,
778
- assets
779
- };
780
- }
781
-
782
- exports.AssetSchema = AssetSchema;
783
- exports.AssetTypeSchema = AssetTypeSchema;
784
- exports.BlueprintSchema = BlueprintSchema;
785
- exports.CommentSchema = CommentSchema;
786
- exports.ConnectionSchema = ConnectionSchema;
787
- exports.ContentSchema = ContentSchema;
788
- exports.ConversationSchema = ConversationSchema;
789
- exports.CreateAssetSchema = CreateAssetSchema;
790
- exports.CreateBlueprintSchema = CreateBlueprintSchema;
791
- exports.CreateCommentSchema = CreateCommentSchema;
792
- exports.CreateConversationSchema = CreateConversationSchema;
793
- exports.CreateDatasetFromFileSchema = CreateDatasetFromFileSchema;
794
- exports.CreateDatasetFromSchemaSchema = CreateDatasetFromSchemaSchema;
795
- exports.CreateFileSchema = CreateFileSchema;
796
- exports.CreatePostSchema = CreatePostSchema;
797
- exports.CreateReplicationSchema = CreateReplicationSchema;
798
- exports.CreateTeamSchema = CreateTeamSchema;
799
- exports.DatasetSchema = DatasetSchema;
800
- exports.EmbeddingSchema = EmbeddingSchema;
801
- exports.FileSchema = FileSchema;
802
- exports.ListPostsSchema = ListPostsSchema;
803
- exports.MembershipSchema = MembershipSchema;
804
- exports.MessageSchema = MessageSchema;
805
- exports.MonetizationSchema = MonetizationSchema;
806
- exports.NotificationSchema = NotificationSchema;
807
- exports.OrganizationsSchema = OrganizationsSchema;
808
- exports.PermissionSchema = PermissionSchema;
809
- exports.PostSchema = PostSchema;
810
- exports.ProfileSchema = ProfileSchema;
811
- exports.PurchaseAssetSchema = PurchaseAssetSchema;
812
- exports.ReadPostSchema = ReadPostSchema;
813
- exports.ReadPostsSchema = ReadPostsSchema;
814
- exports.ReadProfileSchema = ReadProfileSchema;
815
- exports.ReadTeamSchema = ReadTeamSchema;
816
- exports.ReadTeamsSchema = ReadTeamsSchema;
817
- exports.ReplicationSchema = ReplicationSchema;
818
- exports.RoleSchema = RoleSchema;
819
- exports.StatusSchema = StatusSchema;
820
- exports.TeamSchema = TeamSchema;
821
- exports.TipTapSchema = TipTapSchema;
822
- exports.UpdateAssetSchema = UpdateAssetSchema;
823
- exports.UpdateBlueprintSchema = UpdateBlueprintSchema;
824
- exports.UpdateConversationSchema = UpdateConversationSchema;
825
- exports.UpdatePostSchema = UpdatePostSchema;
826
- exports.UpdateProfileSchema = UpdateProfileSchema;
827
- exports.UpdateReplicationSchema = UpdateReplicationSchema;
828
- exports.UpdateTeamSchema = UpdateTeamSchema;
829
- exports.VisibilitySchema = VisibilitySchema;
830
- exports.authType = authType;
831
- exports.createNameUrlSlug = createNameUrlSlug;
832
- exports.createUrlSlug = createUrlSlug;
833
- exports.filterListToString = filterListToString;
834
- exports.getAssetUrl = getAssetUrl;
835
- exports.getReferencesInContent = getReferencesInContent;
836
- exports.parseMarkdown = parseMarkdown;
837
- exports.routeSchema = routeSchema;
838
- exports.serviceSchema = serviceSchema;
839
- exports.updateDatasetSchema = updateDatasetSchema;
840
- exports.updateFileSchema = updateFileSchema;
841
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var zod=require('zod'),uuidv7=require('uuidv7'),marked=require('marked');var m=zod.enum(["user","organization","team","dataset","file","service","route","post","comment","conversation","blueprint","replication"]),l=zod.enum(["public","private","organization","monetized","inherit"]),z=zod.enum(["admin","read","write","none"]),ae=zod.enum(["none","pay-to-unlock","pay-per-use"]),oa=zod.object({id:zod.string(),user_id:zod.string(),org_id:zod.optional(zod.nullable(zod.string())),embedding:zod.array(zod.number()),content:zod.string(),asset_type:m,asset_id:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),created_at:zod.string(),last_updated:zod.string()}),rt=zod.enum(["comment","reference","mention","action","component"]),ia=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),type:rt,action_id:zod.optional(zod.nullable(zod.string().uuid())),source_id:zod.string().uuid(),target_id:zod.string().uuid(),source_asset_type:m,target_asset_type:m,created_at:zod.string(),last_updated:zod.string()}),na=zod.object({assetId:zod.string().uuid(),method:zod.enum(["checkout","api"]),assetType:m}),sa=zod.object({id:zod.string().uuid(),role:z,user:zod.object({user_id:zod.string().uuid()}),user_id:zod.nullable(zod.string().uuid()),org_id:zod.nullable(zod.string().uuid()),asset_type:m,asset_id:zod.string().uuid(),created_at:zod.string(),last_updated:zod.string()}),pe=zod.enum(["queued","in-progress","success","error"]);var S=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),username:zod.optional(zod.nullable(zod.string())),avatar_path:zod.optional(zod.nullable(zod.string())),bio:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.array(zod.object({value:zod.string().url()}))),post_id:zod.optional(zod.nullable(zod.string().uuid())),is_agent:zod.boolean(),plan_type:zod.enum(["free","gold"]),last_active:zod.string()}),ma=S.extend({is_agent:zod.boolean(),isFollowing:zod.boolean(),isFollowed:zod.boolean(),isSelf:zod.boolean(),followers:zod.number().default(0),following:zod.number().default(0)}),da=S.partial().omit({id:true,user_id:true,last_active:true});var J=zod.object({id:zod.string().uuid(),name:zod.string(),avatar_path:zod.optional(zod.nullable(zod.string())),mission:zod.optional(zod.nullable(zod.string())),size:zod.string(),email:zod.optional(zod.nullable(zod.string())),domain:zod.optional(zod.nullable(zod.string())),urls:zod.optional(zod.nullable(zod.array(zod.object({value:zod.string()})))),base_role:z.default("write")}),ha=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(S)),org_id:zod.string().uuid(),team_id:zod.string().uuid(),role:z,added_at:zod.string().default(()=>new Date().toISOString()),visibility:l.default("public")});var Q=zod.object({id:zod.string().uuid(),org_id:zod.string().uuid(),organization:J,name:zod.string(),description:zod.optional(zod.nullable(zod.string())),default_role:z,visibility:l,userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:z}))),memberCount:zod.optional(zod.nullable(zod.number())),members:zod.array(zod.object({user_id:zod.string().uuid(),role:z,user:zod.optional(zod.nullable(S.partial()))})),created_at:zod.string()}),Ca=Q.extend({id:zod.string().default(()=>uuidv7.uuidv7()),default_role:z.default("write").refine(e=>e==="read"||e==="write"),visibility:l.default("public").refine(e=>e==="public"||e==="organization"),created_at:zod.string().default(()=>new Date().toISOString())}).omit({organization:true,userMembership:true,memberCount:true,members:true,created_at:true}),pt=Q.extend({userMembership:zod.optional(zod.nullable(zod.object({user_id:zod.string().uuid(),role:z}))),memberCount:zod.number(),members:zod.array(zod.object({user_id:zod.string().uuid(),role:z,user:zod.optional(zod.nullable(S.partial()))})),organization:zod.optional(zod.nullable(J.partial()))}),va=zod.array(pt.extend({label:zod.string(),value:zod.string()})),Ta=Q.partial().omit({org_id:true,organization:true,created_at:true}).extend({id:zod.string().uuid()});var s=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(S.partial()),org_id:zod.string().uuid(),organization:zod.optional(J.partial()),team_id:zod.string().uuid(),team:zod.optional(Q.partial()),parent_id:zod.optional(zod.nullable(zod.string().uuid())),parent:zod.optional(zod.record(zod.string(),zod.any())),asset_type:m,name:zod.string(),name_url_slug:zod.optional(zod.nullable(zod.string())),slug:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:l,monetization:ae,price:zod.optional(zod.nullable(zod.number())),unit_cost:zod.optional(zod.nullable(zod.number())),cost_accounting:zod.optional(zod.nullable(zod.enum(["fixed","variable"]))),cost_unit:zod.optional(zod.nullable(zod.string())),product_id:zod.optional(zod.nullable(zod.string())),price_id:zod.optional(zod.nullable(zod.string())),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),preview:zod.optional(zod.nullable(zod.array(zod.record(zod.string(),zod.any())))),state:zod.optional(zod.nullable(pe)),created_at:zod.string(),last_updated:zod.string()}),w=s.partial().omit({user_id:true,user:true,organization:true,team:true,slug:true}).extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),org_id:zod.nullable(zod.string().uuid()).default("00000000-0000-0000-0000-000000000000"),name:zod.string().min(1,{message:"Name cannot be empty"}).max(255,{message:"Name must be less than 255 characters"}),name_url_slug:zod.optional(zod.nullable(zod.string())),state:pe.optional().default("success"),visibility:l.optional().default("public"),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())}),Fa=s.partial().omit({id:true,user_id:true,created_at:true,user:true,organization:true,team:true,slug:true});var ke=zod.object({id:zod.string().uuid(),path:zod.string(),bucket:zod.enum(["public-files","files"]),name:zod.string(),type:zod.string(),size:zod.number(),width:zod.optional(zod.number()),height:zod.optional(zod.number())}),yt=s.extend({asset_type:zod.literal("file").default("file"),metadata:ke}),Ia=zod.discriminatedUnion("state",[w.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("success").default("success"),metadata:ke}),w.extend({asset_type:zod.literal("file").default("file"),state:zod.literal("in-progress").default("in-progress"),metadata:zod.object({type:zod.string()})})]),Ea=yt.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())});var Ne=zod.lazy(()=>zod.object({type:zod.string(),content:zod.optional(zod.array(Ne)),attrs:zod.optional(zod.record(zod.string(),zod.any())),marks:zod.optional(zod.array(zod.object({type:zod.string(),attrs:zod.optional(zod.record(zod.string(),zod.any()))}))),text:zod.optional(zod.string())})),X=zod.object({type:zod.literal("doc"),content:zod.array(Ne)}),Le=zod.object({json:X,text:zod.string()}).default({json:{type:"doc",content:[]},text:""}),he=s.extend({name:zod.nullable(zod.string()),asset_type:m.refine(e=>["post","comment"].includes(e)),preview:X.default({type:"doc",content:[]}),content:Le}),Ba=w.extend({asset_type:zod.literal("post").default("post"),name:zod.string().optional().nullable().default("").transform(e=>e==null?void 0:e.trim()).transform(e=>e||null),preview:X}),_t=he.extend({content:zod.optional(zod.nullable(Le.default({json:{type:"doc",content:[]},text:""}))),reactions:zod.array(zod.record(zod.string(),zod.any())).default([]),views:zod.number().default(0),commentCount:zod.number().default(0),pinned:zod.boolean().default(false)}),Ga=zod.array(_t),Ha=zod.array(he),Za=he.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,content:true,organization:true,user:true,team:true,slug:true}).extend({last_updated:zod.string().default(()=>new Date().toISOString())});var At=s.extend({asset_type:zod.literal("comment").default("comment"),preview:zod.optional(zod.nullable(zod.object({type:zod.string().refine(e=>e==="doc"),content:zod.array(zod.record(zod.string(),zod.any()))}).default({type:"doc",content:[]})))}),Xa=At.partial().omit({id:true,user_id:true}).extend({asset_type:zod.literal("comment").default("comment"),id:zod.string().default(()=>uuidv7.uuidv7()),name:zod.string().default(""),created_at:zod.string().default(()=>new Date().toISOString()),last_updated:zod.string().default(()=>new Date().toISOString())});var Ut=s.extend({metadata:zod.object({members:zod.array(zod.string())}),asset_type:m.default("conversation"),users:zod.optional(zod.nullable(zod.array(S)))}),Dt=Ut.omit({org_id:true,team_id:true,user_id:true,created_at:true,last_updated:true}).extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),monetization:ae.default("none"),visibility:l.default("private")}),nr=Dt.omit({id:true,org_id:true,team_id:true,team:true,user:true,organization:true,slug:true}).partial(),sr=zod.object({id:zod.string().uuid(),conversation_id:zod.string().uuid(),user_id:zod.string().uuid(),user:zod.optional(zod.nullable(S)),created_at:zod.string(),last_updated:zod.string(),viewers:zod.array(zod.string().uuid()),json:X,text:zod.string(),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any())))});var He=zod.object({type:zod.string(),size:zod.number(),path:zod.string(),name:zod.string(),id:zod.string().uuid(),bucket:zod.enum(["public-files","files"])}),be=zod.object({table_name:zod.string(),schema:zod.literal("datasets").default("datasets"),columns:zod.array(zod.string())}),Ot=s.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:be.extend({...He.partial().shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),dr=w.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:be.extend({...He.shape}),preview:zod.array(zod.record(zod.string(),zod.any()))}),cr=w.extend({asset_type:zod.literal("dataset").default("dataset"),metadata:be,preview:zod.array(zod.record(zod.string(),zod.any()))}),lr=Ot.partial().omit({user_id:true,id:true,created_at:true,last_updated:true,organization:true,user:true,team:true,slug:true}).extend({asset_type:zod.literal("dataset").default("dataset"),last_updated:zod.string().default(()=>new Date().toISOString())});var kt=zod.enum(["follow","like","comment","reply","mention","reference","invite","payment","event","share","other"]),Sr=zod.object({id:zod.string().uuid(),source_user_id:zod.string().uuid(),destination_user_id:zod.string().uuid(),org_id:zod.string().uuid(),asset_id:zod.optional(zod.string().uuid()),type:kt,content:zod.object({text:zod.optional(zod.string()),asset:zod.optional(zod.object({assetId:zod.string(),assetType:m})),mention:zod.optional(zod.object({})),event:zod.optional(zod.object({type:zod.enum(["success","error"])}))}),viewed:zod.boolean(),created_at:zod.string(),last_updated:zod.string()});var jt=zod.enum(["Personal Access Token","None","OAuth 2.0"]),br=zod.object({id:zod.string(),user_id:zod.string(),org_id:zod.optional(zod.nullable(zod.string())),name:zod.string(),description:zod.optional(zod.nullable(zod.string())),visibility:l,version:zod.optional(zod.nullable(zod.string())),authentication:jt,base_url:zod.string(),spec_path:zod.string(),created_at:zod.string(),last_updated:zod.string()}),Cr=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())))),security:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),rate_limit:zod.optional(zod.nullable(zod.number())),last_updated:zod.string()}),vr=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),route_id:zod.string().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.string().uuid())),output_asset_id:zod.optional(zod.nullable(zod.string().uuid())),input_asset:zod.optional(zod.nullable(s)),output_asset:zod.optional(zod.nullable(s)),status:zod.enum(["PENDING","PROCESSING","COMPLETED","FAILED"]),created_at:zod.string(),last_updated:zod.string(),started_at:zod.optional(zod.nullable(zod.string())),finished_at:zod.optional(zod.nullable(zod.string()))});var Bt=s.extend({asset_type:m.refine(e=>e==="replication"),metadata:zod.object({schedule:zod.optional(zod.object({cron:zod.string()}).passthrough())}).passthrough()}),Ur=Bt.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string()}),Dr=zod.object({team_id:zod.optional(zod.nullable(zod.string().uuid())),name_url_slug:zod.optional(zod.nullable(zod.string())),name:zod.optional(zod.nullable(zod.string())),description:zod.optional(zod.nullable(zod.string())),visibility:zod.optional(zod.nullable(l)),metadata:zod.optional(zod.nullable(zod.record(zod.string(),zod.any()))),last_updated:zod.string().default(()=>new Date().toISOString())});var Er=s.extend({asset_type:m.refine(e=>e==="blueprint")}),jr=s.partial().extend({id:zod.string().uuid().default(()=>uuidv7.uuidv7()),team_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),org_id:zod.string().uuid().default("00000000-0000-0000-0000-000000000000"),name_url_slug:zod.string(),metadata:zod.object({edges:zod.array(zod.record(zod.string(),zod.any())),nodes:zod.array(zod.record(zod.string(),zod.any()))}).passthrough()}),Nr=zod.object({team_id:zod.nullable(zod.string().uuid()),name_url_slug:zod.nullable(zod.string()),name:zod.nullable(zod.string()),description:zod.nullable(zod.string()),visibility:zod.nullable(l),metadata:zod.nullable(zod.record(zod.string(),zod.any())),last_updated:zod.string().default(()=>new Date().toISOString())});var Br=zod.object({id:zod.string().uuid(),user_id:zod.string().uuid(),asset_id:zod.string().uuid(),content:zod.record(zod.string(),zod.any()),created_at:zod.string(),active:zod.optional(zod.nullable(zod.boolean()))});function we(e,t=false){return !e||!Array.isArray(e)?"":e.map(p=>t&&(p.hasOwnProperty("active")&&!p.active)?"":`${p.column}.${p.operator}.${p.value}`).join(",")}var We=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),Xe=e=>{if(e.asset_type==="conversation")return `/conversations/${e.id}`;if(e.asset_type==="comment")return `/comments/${e.id}`;let t=e.org_id!=="00000000-0000-0000-0000-000000000000"?e.organization.name:e.user.username,p=e.name?We(e.name):e.id;return `/${e.asset_type}s/${t}/${p}`};var Xt=(e,t)=>{let p=(e==null?void 0:e.slug)||Xe(e),n=t!=null&&t.intent?`?intent=${t.intent}`:"",a=`${p}${n}`;return t!=null&&t.filters&&(a+=`?filters=${we(t.filters)}`),a};var Yt={name:"katex",level:"inline",start(e){let t=e.match(/\\\[|\\\(/);return t?t.index:void 0},end(e){var p,n,a;let t=e.match(/\s\\\]|\s\\\)/);return t?((p=t.index)!=null?p:0)+((a=(n=t[0])==null?void 0:n.length)!=null?a:0):void 0},tokenizer(e,t){let p=/^\\\[([\s\S]*?)\\\]/,n=/^\\\(([\s\S]*?)\\\)/,a=p.exec(e);if(a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:true};if(a=n.exec(e),a)return {type:"katex",raw:a[0],latex:a[1].trim(),displayMode:false}},renderer(e){return `<span data-latex="${e.latex}" data-display-mode="${e.displayMode}"></span>`}},qt={name:"assetComponent",level:"block",start(e){var t;return (t=e.match(/^```assetComponent/))==null?void 0:t.index},end(e){var t;return (t=e.match(/^```/))==null?void 0:t.index},tokenizer(e,t){let n=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(n)return {type:"assetComponent",raw:n[0],properties:n[1],tokens:[]}},renderer(e){let t;try{t=JSON.parse(e.properties);}catch(n){console.error("Invalid JSON in assetComponent properties:",n),t={};}return `
2
+ <asset-component ${Object.entries(t).map(([n,a])=>`${n}="${a}"`).join(" ")}></asset-component>`}},ea={name:"userMention",level:"inline",start(e){var t;return (t=e.match(/`\{@/))==null?void 0:t.index},end(e){var t;return (t=e.match(/\}`/))==null?void 0:t.index},tokenizer(e,t){let n=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(n)return {type:"userMention",raw:n[0],username:n[1]}},renderer(e){return `<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`}};marked.marked.use({gfm:true,extensions:[qt,ea,Yt]});function ta(e){return marked.marked.parse(e)}var ne=e=>Array.isArray(e)?e.map(ne):e!=null&&e.content?Array.isArray(e.content)?e.content.map(ne).flat():ne(e.content):e;function aa(e){if(!e||!(e!=null&&e.content))return {users:[],assets:[]};let t=e.content.map(ne).flat(),p=t.filter(a=>a.type==="mention").map(a=>{var g,T,Re;return {user_id:(g=a.attrs)==null?void 0:g.id,username:((T=a.attrs)==null?void 0:T.label)||((Re=a.attrs)==null?void 0:Re.username)}}).reduce((a,g)=>(a.some(T=>T.user_id===g.user_id)||a.push(g),a),[]),n=t.filter(a=>{var g,T;return a.type==="assetComponent"&&((g=a.attrs)==null?void 0:g.id)&&!((T=a.attrs)!=null&&T.partial)}).map(({attrs:a})=>({id:a.id,assetType:a.assetType})).reduce((a,g)=>(a.some(T=>T.id===g.id)||a.push(g),a),[]);return {users:p,assets:n}}exports.ActionSchema=vr;exports.AssetSchema=s;exports.AssetTypeSchema=m;exports.BlueprintSchema=Er;exports.CommentSchema=At;exports.ConnectionSchema=ia;exports.ContentSchema=Le;exports.ConversationSchema=Ut;exports.CreateAssetSchema=w;exports.CreateBlueprintSchema=jr;exports.CreateCommentSchema=Xa;exports.CreateConversationSchema=Dt;exports.CreateDatasetFromFileSchema=dr;exports.CreateDatasetFromSchemaSchema=cr;exports.CreateFileSchema=Ia;exports.CreatePostSchema=Ba;exports.CreateReplicationSchema=Ur;exports.CreateTeamSchema=Ca;exports.DatasetSchema=Ot;exports.EmbeddingSchema=oa;exports.FileSchema=yt;exports.ListPostsSchema=Ha;exports.MembershipSchema=ha;exports.MessageSchema=sr;exports.MonetizationSchema=ae;exports.NotificationSchema=Sr;exports.OrganizationsSchema=J;exports.PermissionSchema=sa;exports.PostSchema=he;exports.ProfileSchema=S;exports.PurchaseAssetSchema=na;exports.ReadPostSchema=_t;exports.ReadPostsSchema=Ga;exports.ReadProfileSchema=ma;exports.ReadTeamSchema=pt;exports.ReadTeamsSchema=va;exports.ReplicationSchema=Bt;exports.RoleSchema=z;exports.StatusSchema=pe;exports.TeamSchema=Q;exports.TipTapSchema=X;exports.UpdateAssetSchema=Fa;exports.UpdateBlueprintSchema=Nr;exports.UpdateConversationSchema=nr;exports.UpdatePostSchema=Za;exports.UpdateProfileSchema=da;exports.UpdateReplicationSchema=Dr;exports.UpdateTeamSchema=Ta;exports.VisibilitySchema=l;exports.authType=jt;exports.createNameUrlSlug=We;exports.createUrlSlug=Xe;exports.filterListToString=we;exports.getAssetUrl=Xt;exports.getReferencesInContent=aa;exports.parseMarkdown=ta;exports.reactionSchema=Br;exports.routeSchema=Cr;exports.serviceSchema=br;exports.updateDatasetSchema=lr;exports.updateFileSchema=Ea;//# sourceMappingURL=index.cjs.map
842
3
  //# sourceMappingURL=index.cjs.map