@middlewr/contracts 0.0.40 → 0.0.42

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/cjs/index.js CHANGED
@@ -34,6 +34,7 @@ __export(index_exports, {
34
34
  CreateDomainInputSchema: () => CreateDomainInputSchema,
35
35
  CreateInvitationInputSchema: () => CreateInvitationInputSchema,
36
36
  CreateLinkInputSchema: () => CreateLinkInputSchema,
37
+ CreateLinkTemplateInputSchema: () => CreateLinkTemplateInputSchema,
37
38
  CreateTagInputSchema: () => CreateTagInputSchema,
38
39
  CreateWorkspaceApiKeyInputSchema: () => CreateWorkspaceApiKeyInputSchema,
39
40
  CreateWorkspaceApiKeyResponseSchema: () => CreateWorkspaceApiKeyResponseSchema,
@@ -49,7 +50,11 @@ __export(index_exports, {
49
50
  LinkJobIdParamSchema: () => LinkJobIdParamSchema,
50
51
  LinkJobSchema: () => LinkJobSchema,
51
52
  LinkSchema: () => LinkSchema,
53
+ LinkTemplateFiltersSchema: () => LinkTemplateFiltersSchema,
54
+ LinkTemplateIdParamSchema: () => LinkTemplateIdParamSchema,
55
+ LinkTemplateSchema: () => LinkTemplateSchema,
52
56
  MemberIdParamSchema: () => MemberIdParamSchema,
57
+ PaginatedLinkTemplatesSchema: () => PaginatedLinkTemplatesSchema,
53
58
  PaginatedLinksSchema: () => PaginatedLinksSchema,
54
59
  PlanSchema: () => PlanSchema,
55
60
  PlansOutputSchema: () => PlansOutputSchema,
@@ -64,6 +69,7 @@ __export(index_exports, {
64
69
  TransferOwnershipInputSchema: () => TransferOwnershipInputSchema,
65
70
  UpdateDomainInputSchema: () => UpdateDomainInputSchema,
66
71
  UpdateLinkInputSchema: () => UpdateLinkInputSchema,
72
+ UpdateLinkTemplateInputSchema: () => UpdateLinkTemplateInputSchema,
67
73
  UpdateMemberInputSchema: () => UpdateMemberInputSchema,
68
74
  UpdateTagInputSchema: () => UpdateTagInputSchema,
69
75
  UpdateUserInputSchema: () => UpdateUserInputSchema,
@@ -85,6 +91,7 @@ __export(index_exports, {
85
91
  contract: () => contract,
86
92
  domainsContract: () => domainsContract,
87
93
  invitationsContract: () => invitationsContract,
94
+ linkTemplatesContract: () => linkTemplatesContract,
88
95
  linksContract: () => linksContract,
89
96
  tagsContract: () => tagsContract,
90
97
  usersContract: () => usersContract,
@@ -93,7 +100,7 @@ __export(index_exports, {
93
100
  });
94
101
  module.exports = __toCommonJS(index_exports);
95
102
  var import_contract = require("@orpc/contract");
96
- var import_zod11 = require("zod");
103
+ var import_zod12 = require("zod");
97
104
 
98
105
  // src/analytics.schema.ts
99
106
  var import_zod = require("zod");
@@ -253,6 +260,10 @@ var WorkspaceApiKeyIdParamSchema = import_zod4.z.object({
253
260
  workspace_id: import_zod4.z.string().uuid(),
254
261
  api_key_id: import_zod4.z.string().uuid()
255
262
  });
263
+ var LinkTemplateIdParamSchema = import_zod4.z.object({
264
+ workspace_id: import_zod4.z.string().uuid(),
265
+ link_template_id: import_zod4.z.string().uuid()
266
+ });
256
267
  var TokenParamSchema = import_zod4.z.object({
257
268
  token: import_zod4.z.string()
258
269
  });
@@ -287,8 +298,8 @@ var UpdateDomainInputSchema = import_zod5.z.object({
287
298
  }).optional()
288
299
  });
289
300
 
290
- // src/links.schema.ts
291
- var import_zod8 = require("zod");
301
+ // src/link-templates.schema.ts
302
+ var import_zod7 = require("zod");
292
303
 
293
304
  // src/rules.schema.ts
294
305
  var import_zod6 = require("zod");
@@ -355,11 +366,18 @@ var TransformNodeSchema = import_zod6.z.object({
355
366
  }),
356
367
  next: import_zod6.z.string().nullable()
357
368
  });
369
+ var PasswordNodeSchema = import_zod6.z.object({
370
+ id: import_zod6.z.string(),
371
+ type: import_zod6.z.literal("password"),
372
+ position: PositionSchema,
373
+ next: import_zod6.z.string().nullable()
374
+ });
358
375
  var RuleGraphNodeSchema = import_zod6.z.discriminatedUnion("type", [
359
376
  ConditionNodeSchema,
360
377
  SplitNodeSchema,
361
378
  DestinationNodeSchema,
362
- TransformNodeSchema
379
+ TransformNodeSchema,
380
+ PasswordNodeSchema
363
381
  ]);
364
382
  var RuleGraphSchema = import_zod6.z.object({
365
383
  entry: import_zod6.z.string(),
@@ -369,251 +387,287 @@ var RuleGraphSchema = import_zod6.z.object({
369
387
  path: ["entry"]
370
388
  }).nullable();
371
389
 
372
- // src/tags.schema.ts
373
- var import_zod7 = require("zod");
374
- var TagSchema = import_zod7.z.object({
390
+ // src/link-templates.schema.ts
391
+ var LinkTemplateSchema = import_zod7.z.object({
375
392
  id: import_zod7.z.string().uuid(),
376
393
  workspace_id: import_zod7.z.string().uuid(),
377
- name: import_zod7.z.string(),
378
- color: import_zod7.z.string().nullable(),
394
+ title: import_zod7.z.string(),
395
+ description: import_zod7.z.string().nullable(),
396
+ rule_graph: RuleGraphSchema,
379
397
  created_at: import_zod7.z.coerce.date(),
380
398
  updated_at: import_zod7.z.coerce.date().nullable()
381
399
  });
382
- var CreateTagInputSchema = import_zod7.z.object({
383
- name: import_zod7.z.string().min(1).max(50),
384
- color: import_zod7.z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
400
+ var CreateLinkTemplateInputSchema = import_zod7.z.object({
401
+ title: import_zod7.z.string().min(1).max(255),
402
+ description: import_zod7.z.string().max(2e3).optional(),
403
+ rule_graph: RuleGraphSchema
404
+ });
405
+ var UpdateLinkTemplateInputSchema = import_zod7.z.object({
406
+ title: import_zod7.z.string().min(1).max(255).optional(),
407
+ description: import_zod7.z.string().max(2e3).nullable().optional(),
408
+ rule_graph: RuleGraphSchema.optional()
409
+ });
410
+ var LinkTemplateFiltersSchema = import_zod7.z.object({
411
+ search: import_zod7.z.string().optional(),
412
+ page: import_zod7.z.coerce.number().int().min(1).default(1),
413
+ per_page: import_zod7.z.coerce.number().int().min(1).max(100).default(20)
385
414
  });
386
- var UpdateTagInputSchema = import_zod7.z.object({
387
- name: import_zod7.z.string().min(1).max(50).optional(),
388
- color: import_zod7.z.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
415
+ var PaginatedLinkTemplatesSchema = import_zod7.z.object({
416
+ link_templates: import_zod7.z.array(LinkTemplateSchema),
417
+ total: import_zod7.z.number().int(),
418
+ page: import_zod7.z.number().int(),
419
+ per_page: import_zod7.z.number().int(),
420
+ total_pages: import_zod7.z.number().int()
389
421
  });
390
422
 
391
423
  // src/links.schema.ts
392
- var DotStyleSchema = import_zod8.z.enum(["square", "dots", "rounded", "classy", "classy-rounded", "extra-rounded"]);
393
- var EyeOuterStyleSchema = import_zod8.z.enum(["square", "dot", "extra-rounded"]);
394
- var EyeInnerStyleSchema = import_zod8.z.enum(["square", "dot"]);
395
- var QrCodeSettingsSchema = import_zod8.z.object({
396
- fg_color: import_zod8.z.string().max(20),
397
- bg_color: import_zod8.z.string().max(20),
424
+ var import_zod9 = require("zod");
425
+
426
+ // src/tags.schema.ts
427
+ var import_zod8 = require("zod");
428
+ var TagSchema = import_zod8.z.object({
429
+ id: import_zod8.z.string().uuid(),
430
+ workspace_id: import_zod8.z.string().uuid(),
431
+ name: import_zod8.z.string(),
432
+ color: import_zod8.z.string().nullable(),
433
+ created_at: import_zod8.z.coerce.date(),
434
+ updated_at: import_zod8.z.coerce.date().nullable()
435
+ });
436
+ var CreateTagInputSchema = import_zod8.z.object({
437
+ name: import_zod8.z.string().min(1).max(50),
438
+ color: import_zod8.z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
439
+ });
440
+ var UpdateTagInputSchema = import_zod8.z.object({
441
+ name: import_zod8.z.string().min(1).max(50).optional(),
442
+ color: import_zod8.z.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
443
+ });
444
+
445
+ // src/links.schema.ts
446
+ var DotStyleSchema = import_zod9.z.enum(["square", "dots", "rounded", "classy", "classy-rounded", "extra-rounded"]);
447
+ var EyeOuterStyleSchema = import_zod9.z.enum(["square", "dot", "extra-rounded"]);
448
+ var EyeInnerStyleSchema = import_zod9.z.enum(["square", "dot"]);
449
+ var QrCodeSettingsSchema = import_zod9.z.object({
450
+ fg_color: import_zod9.z.string().max(20),
451
+ bg_color: import_zod9.z.string().max(20),
398
452
  dot_style: DotStyleSchema,
399
453
  eye_outer_style: EyeOuterStyleSchema,
400
454
  eye_inner_style: EyeInnerStyleSchema,
401
- frame_enabled: import_zod8.z.boolean(),
402
- frame_text: import_zod8.z.string().max(255),
403
- frame_color: import_zod8.z.string().max(20),
404
- frame_text_color: import_zod8.z.string().max(20),
405
- logo_size: import_zod8.z.number().int().min(1).nullable().optional()
455
+ frame_enabled: import_zod9.z.boolean(),
456
+ frame_text: import_zod9.z.string().max(255),
457
+ frame_color: import_zod9.z.string().max(20),
458
+ frame_text_color: import_zod9.z.string().max(20),
459
+ logo_size: import_zod9.z.number().int().min(1).nullable().optional()
406
460
  });
407
- var LinkSchema = import_zod8.z.object({
408
- id: import_zod8.z.string().uuid(),
409
- workspace_id: import_zod8.z.string().uuid(),
410
- domain_id: import_zod8.z.string().uuid(),
411
- created_by_id: import_zod8.z.string().uuid(),
412
- original_url: import_zod8.z.string().url(),
413
- short_code: import_zod8.z.string(),
414
- title: import_zod8.z.string().nullable(),
415
- description: import_zod8.z.string().nullable(),
416
- utm_source: import_zod8.z.string().nullable(),
417
- utm_medium: import_zod8.z.string().nullable(),
418
- utm_campaign: import_zod8.z.string().nullable(),
419
- utm_term: import_zod8.z.string().nullable(),
420
- utm_content: import_zod8.z.string().nullable(),
421
- password: import_zod8.z.string().nullable(),
422
- starts_at: import_zod8.z.coerce.date().nullable(),
423
- expires_at: import_zod8.z.coerce.date().nullable(),
424
- fallback_url: import_zod8.z.string().nullable(),
425
- is_active: import_zod8.z.boolean(),
426
- redirect_type: import_zod8.z.number().int(),
427
- click_count: import_zod8.z.coerce.number().int(),
428
- click_count_updated_at: import_zod8.z.coerce.date().nullable(),
429
- created_at: import_zod8.z.coerce.date(),
430
- updated_at: import_zod8.z.coerce.date().nullable(),
461
+ var LinkSchema = import_zod9.z.object({
462
+ id: import_zod9.z.string().uuid(),
463
+ workspace_id: import_zod9.z.string().uuid(),
464
+ domain_id: import_zod9.z.string().uuid(),
465
+ created_by_id: import_zod9.z.string().uuid(),
466
+ original_url: import_zod9.z.string().url(),
467
+ short_code: import_zod9.z.string(),
468
+ title: import_zod9.z.string().nullable(),
469
+ description: import_zod9.z.string().nullable(),
470
+ utm_source: import_zod9.z.string().nullable(),
471
+ utm_medium: import_zod9.z.string().nullable(),
472
+ utm_campaign: import_zod9.z.string().nullable(),
473
+ utm_term: import_zod9.z.string().nullable(),
474
+ utm_content: import_zod9.z.string().nullable(),
475
+ password: import_zod9.z.string().nullable(),
476
+ starts_at: import_zod9.z.coerce.date().nullable(),
477
+ expires_at: import_zod9.z.coerce.date().nullable(),
478
+ fallback_url: import_zod9.z.string().nullable(),
479
+ is_active: import_zod9.z.boolean(),
480
+ redirect_type: import_zod9.z.number().int(),
481
+ click_count: import_zod9.z.coerce.number().int(),
482
+ click_count_updated_at: import_zod9.z.coerce.date().nullable(),
483
+ created_at: import_zod9.z.coerce.date(),
484
+ updated_at: import_zod9.z.coerce.date().nullable(),
431
485
  qr_code_settings: QrCodeSettingsSchema.nullable(),
432
- qr_logo_key: import_zod8.z.string().nullable(),
433
- logo_url: import_zod8.z.string().nullable(),
434
- link_type: import_zod8.z.enum(["redirect", "rules"]).default("redirect"),
486
+ qr_logo_key: import_zod9.z.string().nullable(),
487
+ logo_url: import_zod9.z.string().nullable(),
488
+ link_type: import_zod9.z.enum(["redirect", "rules"]).default("redirect"),
435
489
  rule_graph: RuleGraphSchema.optional(),
436
- tags: import_zod8.z.array(TagSchema)
437
- });
438
- var CreateLinkInputSchema = import_zod8.z.object({
439
- original_url: import_zod8.z.string().url().max(2048),
440
- domain_id: import_zod8.z.string().uuid().optional(),
441
- short_code: import_zod8.z.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
442
- title: import_zod8.z.string().max(255).optional(),
443
- description: import_zod8.z.string().max(2e3).optional(),
444
- utm_source: import_zod8.z.string().max(255).optional(),
445
- utm_medium: import_zod8.z.string().max(255).optional(),
446
- utm_campaign: import_zod8.z.string().max(255).optional(),
447
- utm_term: import_zod8.z.string().max(255).optional(),
448
- utm_content: import_zod8.z.string().max(255).optional(),
449
- password: import_zod8.z.string().min(4).max(100).optional(),
450
- starts_at: import_zod8.z.coerce.date().optional(),
451
- expires_at: import_zod8.z.coerce.date().optional(),
452
- fallback_url: import_zod8.z.string().url().max(2048).optional(),
453
- redirect_type: import_zod8.z.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
490
+ tags: import_zod9.z.array(TagSchema)
491
+ });
492
+ var CreateLinkInputSchema = import_zod9.z.object({
493
+ original_url: import_zod9.z.string().url().max(2048),
494
+ domain_id: import_zod9.z.string().uuid().optional(),
495
+ short_code: import_zod9.z.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
496
+ title: import_zod9.z.string().max(255).optional(),
497
+ description: import_zod9.z.string().max(2e3).optional(),
498
+ utm_source: import_zod9.z.string().max(255).optional(),
499
+ utm_medium: import_zod9.z.string().max(255).optional(),
500
+ utm_campaign: import_zod9.z.string().max(255).optional(),
501
+ utm_term: import_zod9.z.string().max(255).optional(),
502
+ utm_content: import_zod9.z.string().max(255).optional(),
503
+ password: import_zod9.z.string().min(4).max(100).optional(),
504
+ starts_at: import_zod9.z.coerce.date().optional(),
505
+ expires_at: import_zod9.z.coerce.date().optional(),
506
+ fallback_url: import_zod9.z.string().url().max(2048).optional(),
507
+ redirect_type: import_zod9.z.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
454
508
  qr_code_settings: QrCodeSettingsSchema.nullable().optional(),
455
- tag_ids: import_zod8.z.array(import_zod8.z.string().uuid()).optional(),
456
- link_type: import_zod8.z.enum(["redirect", "rules"]).optional(),
509
+ tag_ids: import_zod9.z.array(import_zod9.z.string().uuid()).optional(),
510
+ link_type: import_zod9.z.enum(["redirect", "rules"]).optional(),
457
511
  rule_graph: RuleGraphSchema.optional()
458
512
  }).refine((data) => data.link_type !== "rules" || data.rule_graph != null, {
459
513
  message: 'rule_graph is required when link_type is "rules"',
460
514
  path: ["rule_graph"]
461
515
  });
462
- var UpdateLinkInputSchema = import_zod8.z.object({
463
- original_url: import_zod8.z.string().url().max(2048).optional(),
464
- domain_id: import_zod8.z.string().uuid().optional(),
465
- short_code: import_zod8.z.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
466
- title: import_zod8.z.string().max(255).nullable().optional(),
467
- description: import_zod8.z.string().max(2e3).nullable().optional(),
468
- utm_source: import_zod8.z.string().max(255).nullable().optional(),
469
- utm_medium: import_zod8.z.string().max(255).nullable().optional(),
470
- utm_campaign: import_zod8.z.string().max(255).nullable().optional(),
471
- utm_term: import_zod8.z.string().max(255).nullable().optional(),
472
- utm_content: import_zod8.z.string().max(255).nullable().optional(),
473
- password: import_zod8.z.string().min(4).max(100).nullable().optional(),
474
- starts_at: import_zod8.z.coerce.date().nullable().optional(),
475
- expires_at: import_zod8.z.coerce.date().nullable().optional(),
476
- fallback_url: import_zod8.z.string().url().max(2048).nullable().optional(),
477
- is_active: import_zod8.z.boolean().optional(),
478
- redirect_type: import_zod8.z.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
516
+ var UpdateLinkInputSchema = import_zod9.z.object({
517
+ original_url: import_zod9.z.string().url().max(2048).optional(),
518
+ domain_id: import_zod9.z.string().uuid().optional(),
519
+ short_code: import_zod9.z.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
520
+ title: import_zod9.z.string().max(255).nullable().optional(),
521
+ description: import_zod9.z.string().max(2e3).nullable().optional(),
522
+ utm_source: import_zod9.z.string().max(255).nullable().optional(),
523
+ utm_medium: import_zod9.z.string().max(255).nullable().optional(),
524
+ utm_campaign: import_zod9.z.string().max(255).nullable().optional(),
525
+ utm_term: import_zod9.z.string().max(255).nullable().optional(),
526
+ utm_content: import_zod9.z.string().max(255).nullable().optional(),
527
+ password: import_zod9.z.string().min(4).max(100).nullable().optional(),
528
+ starts_at: import_zod9.z.coerce.date().nullable().optional(),
529
+ expires_at: import_zod9.z.coerce.date().nullable().optional(),
530
+ fallback_url: import_zod9.z.string().url().max(2048).nullable().optional(),
531
+ is_active: import_zod9.z.boolean().optional(),
532
+ redirect_type: import_zod9.z.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
479
533
  qr_code_settings: QrCodeSettingsSchema.nullable().optional(),
480
- tag_ids: import_zod8.z.array(import_zod8.z.string().uuid()).optional(),
481
- link_type: import_zod8.z.enum(["redirect", "rules"]).optional(),
534
+ tag_ids: import_zod9.z.array(import_zod9.z.string().uuid()).optional(),
535
+ link_type: import_zod9.z.enum(["redirect", "rules"]).optional(),
482
536
  rule_graph: RuleGraphSchema.optional()
483
537
  }).refine((data) => data.link_type !== "rules" || data.rule_graph != null, {
484
538
  message: 'rule_graph is required when link_type is "rules"',
485
539
  path: ["rule_graph"]
486
540
  });
487
- var stringToBoolean = import_zod8.z.union([import_zod8.z.boolean(), import_zod8.z.enum(["true", "false"])]).transform((val) => typeof val === "string" ? val === "true" : val);
488
- var LinkFiltersSchema = import_zod8.z.object({
489
- search: import_zod8.z.string().optional(),
490
- domain_ids: import_zod8.z.array(import_zod8.z.string().uuid()).optional(),
541
+ var stringToBoolean = import_zod9.z.union([import_zod9.z.boolean(), import_zod9.z.enum(["true", "false"])]).transform((val) => typeof val === "string" ? val === "true" : val);
542
+ var LinkFiltersSchema = import_zod9.z.object({
543
+ search: import_zod9.z.string().optional(),
544
+ domain_ids: import_zod9.z.array(import_zod9.z.string().uuid()).optional(),
491
545
  is_active: stringToBoolean.optional(),
492
546
  has_expiration: stringToBoolean.optional(),
493
547
  expired: stringToBoolean.optional(),
494
- created_from: import_zod8.z.coerce.date().optional(),
495
- created_to: import_zod8.z.coerce.date().optional(),
496
- expires_from: import_zod8.z.coerce.date().optional(),
497
- expires_to: import_zod8.z.coerce.date().optional(),
498
- tag_ids: import_zod8.z.array(import_zod8.z.string().uuid()).optional(),
499
- sort_by: import_zod8.z.enum(["created_at", "title", "click_count", "original_url"]).default("created_at"),
500
- sort_order: import_zod8.z.enum(["asc", "desc"]).default("desc"),
501
- page: import_zod8.z.coerce.number().int().min(1).default(1),
502
- per_page: import_zod8.z.coerce.number().int().min(1).max(100).default(20)
548
+ created_from: import_zod9.z.coerce.date().optional(),
549
+ created_to: import_zod9.z.coerce.date().optional(),
550
+ expires_from: import_zod9.z.coerce.date().optional(),
551
+ expires_to: import_zod9.z.coerce.date().optional(),
552
+ tag_ids: import_zod9.z.array(import_zod9.z.string().uuid()).optional(),
553
+ sort_by: import_zod9.z.enum(["created_at", "title", "click_count", "original_url"]).default("created_at"),
554
+ sort_order: import_zod9.z.enum(["asc", "desc"]).default("desc"),
555
+ page: import_zod9.z.coerce.number().int().min(1).default(1),
556
+ per_page: import_zod9.z.coerce.number().int().min(1).max(100).default(20)
503
557
  });
504
558
  var ExportLinksFiltersSchema = LinkFiltersSchema.omit({ page: true, per_page: true });
505
- var PaginatedLinksSchema = import_zod8.z.object({
506
- links: import_zod8.z.array(LinkSchema),
507
- total: import_zod8.z.number().int(),
508
- page: import_zod8.z.number().int(),
509
- per_page: import_zod8.z.number().int(),
510
- total_pages: import_zod8.z.number().int()
511
- });
512
- var LinkJobSchema = import_zod8.z.object({
513
- id: import_zod8.z.string().uuid(),
514
- workspace_id: import_zod8.z.string().uuid(),
515
- type: import_zod8.z.string(),
516
- status: import_zod8.z.enum(["pending", "processing", "completed", "failed"]),
517
- total_rows: import_zod8.z.number().int(),
518
- succeeded_count: import_zod8.z.number().int(),
519
- failed_count: import_zod8.z.number().int(),
520
- error: import_zod8.z.string().nullable(),
521
- created_by_id: import_zod8.z.string().uuid(),
522
- created_at: import_zod8.z.date(),
523
- completed_at: import_zod8.z.date().nullable()
524
- });
525
- var LinkJobIdParamSchema = import_zod8.z.object({
526
- workspace_id: import_zod8.z.string().uuid(),
527
- job_id: import_zod8.z.string().uuid()
528
- });
529
-
530
- // src/users.schema.ts
531
- var import_zod9 = require("zod");
532
- var UserSchema = import_zod9.z.object({
559
+ var PaginatedLinksSchema = import_zod9.z.object({
560
+ links: import_zod9.z.array(LinkSchema),
561
+ total: import_zod9.z.number().int(),
562
+ page: import_zod9.z.number().int(),
563
+ per_page: import_zod9.z.number().int(),
564
+ total_pages: import_zod9.z.number().int()
565
+ });
566
+ var LinkJobSchema = import_zod9.z.object({
533
567
  id: import_zod9.z.string().uuid(),
534
- external_id: import_zod9.z.string(),
535
- email: import_zod9.z.string().email(),
536
- email_verified_at: import_zod9.z.coerce.date().nullable(),
537
- first_name: import_zod9.z.string().nullable(),
538
- last_name: import_zod9.z.string().nullable(),
539
- created_at: import_zod9.z.coerce.date(),
540
- updated_at: import_zod9.z.coerce.date().nullable()
541
- });
542
- var SignInInputSchema = import_zod9.z.object({
543
- first_name: import_zod9.z.string().min(1).max(100).optional(),
544
- last_name: import_zod9.z.string().min(1).max(100).optional()
545
- });
546
- var UpdateUserInputSchema = import_zod9.z.object({
547
- first_name: import_zod9.z.string().min(1).max(100).optional(),
548
- last_name: import_zod9.z.string().min(1).max(100).optional()
568
+ workspace_id: import_zod9.z.string().uuid(),
569
+ type: import_zod9.z.string(),
570
+ status: import_zod9.z.enum(["pending", "processing", "completed", "failed"]),
571
+ total_rows: import_zod9.z.number().int(),
572
+ succeeded_count: import_zod9.z.number().int(),
573
+ failed_count: import_zod9.z.number().int(),
574
+ error: import_zod9.z.string().nullable(),
575
+ created_by_id: import_zod9.z.string().uuid(),
576
+ created_at: import_zod9.z.date(),
577
+ completed_at: import_zod9.z.date().nullable()
578
+ });
579
+ var LinkJobIdParamSchema = import_zod9.z.object({
580
+ workspace_id: import_zod9.z.string().uuid(),
581
+ job_id: import_zod9.z.string().uuid()
549
582
  });
550
583
 
551
- // src/workspaces.schema.ts
584
+ // src/users.schema.ts
552
585
  var import_zod10 = require("zod");
553
- var WorkspaceSchema = import_zod10.z.object({
586
+ var UserSchema = import_zod10.z.object({
554
587
  id: import_zod10.z.string().uuid(),
555
- name: import_zod10.z.string(),
556
- billing_plan: import_zod10.z.string(),
557
- billing_status: import_zod10.z.string(),
558
- billing_email: import_zod10.z.string().nullable(),
559
- billing_current_period_end: import_zod10.z.coerce.date().nullable(),
560
- billing_cancel_at_period_end: import_zod10.z.boolean(),
588
+ external_id: import_zod10.z.string(),
589
+ email: import_zod10.z.string().email(),
590
+ email_verified_at: import_zod10.z.coerce.date().nullable(),
591
+ first_name: import_zod10.z.string().nullable(),
592
+ last_name: import_zod10.z.string().nullable(),
561
593
  created_at: import_zod10.z.coerce.date(),
562
594
  updated_at: import_zod10.z.coerce.date().nullable()
563
595
  });
564
- var WorkspaceWithCountSchema = WorkspaceSchema.extend({
565
- member_count: import_zod10.z.number().int()
566
- });
567
- var CreateWorkspaceInputSchema = import_zod10.z.object({
568
- name: import_zod10.z.string().min(1).max(100)
569
- });
570
- var UpdateWorkspaceInputSchema = import_zod10.z.object({
571
- name: import_zod10.z.string().min(1).max(100).optional(),
572
- billing_email: import_zod10.z.string().email().nullish()
596
+ var SignInInputSchema = import_zod10.z.object({
597
+ first_name: import_zod10.z.string().min(1).max(100).optional(),
598
+ last_name: import_zod10.z.string().min(1).max(100).optional()
573
599
  });
574
- var TransferOwnershipInputSchema = import_zod10.z.object({
575
- to_user_id: import_zod10.z.string().uuid()
600
+ var UpdateUserInputSchema = import_zod10.z.object({
601
+ first_name: import_zod10.z.string().min(1).max(100).optional(),
602
+ last_name: import_zod10.z.string().min(1).max(100).optional()
576
603
  });
577
- var WorkspaceMemberUserSchema = import_zod10.z.object({
578
- id: import_zod10.z.string().uuid(),
579
- email: import_zod10.z.string().email(),
580
- first_name: import_zod10.z.string().nullable(),
581
- last_name: import_zod10.z.string().nullable()
604
+
605
+ // src/workspaces.schema.ts
606
+ var import_zod11 = require("zod");
607
+ var WorkspaceSchema = import_zod11.z.object({
608
+ id: import_zod11.z.string().uuid(),
609
+ name: import_zod11.z.string(),
610
+ billing_plan: import_zod11.z.string(),
611
+ billing_status: import_zod11.z.string(),
612
+ billing_email: import_zod11.z.string().nullable(),
613
+ billing_current_period_end: import_zod11.z.coerce.date().nullable(),
614
+ billing_cancel_at_period_end: import_zod11.z.boolean(),
615
+ created_at: import_zod11.z.coerce.date(),
616
+ updated_at: import_zod11.z.coerce.date().nullable()
582
617
  });
583
- var WorkspaceMemberSchema = import_zod10.z.object({
584
- id: import_zod10.z.string().uuid(),
585
- workspace_id: import_zod10.z.string().uuid(),
586
- user_id: import_zod10.z.string().uuid(),
587
- user: WorkspaceMemberUserSchema,
588
- permissions: import_zod10.z.number().int(),
589
- joined_at: import_zod10.z.coerce.date(),
590
- created_at: import_zod10.z.coerce.date(),
591
- updated_at: import_zod10.z.coerce.date().nullable()
618
+ var WorkspaceWithCountSchema = WorkspaceSchema.extend({
619
+ member_count: import_zod11.z.number().int()
592
620
  });
593
- var UpdateMemberInputSchema = import_zod10.z.object({
594
- permissions: import_zod10.z.number().int().min(1)
621
+ var CreateWorkspaceInputSchema = import_zod11.z.object({
622
+ name: import_zod11.z.string().min(1).max(100)
595
623
  });
596
- var WorkspaceInvitationSchema = import_zod10.z.object({
597
- id: import_zod10.z.string().uuid(),
598
- workspace_id: import_zod10.z.string().uuid(),
599
- email: import_zod10.z.string().email(),
600
- token: import_zod10.z.string(),
601
- permissions: import_zod10.z.number().int(),
602
- invited_by_id: import_zod10.z.string().uuid(),
603
- expires_at: import_zod10.z.coerce.date(),
604
- created_at: import_zod10.z.coerce.date()
624
+ var UpdateWorkspaceInputSchema = import_zod11.z.object({
625
+ name: import_zod11.z.string().min(1).max(100).optional(),
626
+ billing_email: import_zod11.z.string().email().nullish()
605
627
  });
606
- var CreateInvitationInputSchema = import_zod10.z.object({
607
- email: import_zod10.z.string().email(),
608
- permissions: import_zod10.z.number().int().min(1)
628
+ var TransferOwnershipInputSchema = import_zod11.z.object({
629
+ to_user_id: import_zod11.z.string().uuid()
609
630
  });
610
- var WorkspaceStatsSchema = import_zod10.z.object({
611
- links_count: import_zod10.z.number().int()
631
+ var WorkspaceMemberUserSchema = import_zod11.z.object({
632
+ id: import_zod11.z.string().uuid(),
633
+ email: import_zod11.z.string().email(),
634
+ first_name: import_zod11.z.string().nullable(),
635
+ last_name: import_zod11.z.string().nullable()
612
636
  });
613
- var WorkspaceRoleSchema = import_zod10.z.object({
614
- name: import_zod10.z.string(),
615
- description: import_zod10.z.string(),
616
- permissions: import_zod10.z.number().int()
637
+ var WorkspaceMemberSchema = import_zod11.z.object({
638
+ id: import_zod11.z.string().uuid(),
639
+ workspace_id: import_zod11.z.string().uuid(),
640
+ user_id: import_zod11.z.string().uuid(),
641
+ user: WorkspaceMemberUserSchema,
642
+ permissions: import_zod11.z.number().int(),
643
+ joined_at: import_zod11.z.coerce.date(),
644
+ created_at: import_zod11.z.coerce.date(),
645
+ updated_at: import_zod11.z.coerce.date().nullable()
646
+ });
647
+ var UpdateMemberInputSchema = import_zod11.z.object({
648
+ permissions: import_zod11.z.number().int().min(1)
649
+ });
650
+ var WorkspaceInvitationSchema = import_zod11.z.object({
651
+ id: import_zod11.z.string().uuid(),
652
+ workspace_id: import_zod11.z.string().uuid(),
653
+ email: import_zod11.z.string().email(),
654
+ token: import_zod11.z.string(),
655
+ permissions: import_zod11.z.number().int(),
656
+ invited_by_id: import_zod11.z.string().uuid(),
657
+ expires_at: import_zod11.z.coerce.date(),
658
+ created_at: import_zod11.z.coerce.date()
659
+ });
660
+ var CreateInvitationInputSchema = import_zod11.z.object({
661
+ email: import_zod11.z.string().email(),
662
+ permissions: import_zod11.z.number().int().min(1)
663
+ });
664
+ var WorkspaceStatsSchema = import_zod11.z.object({
665
+ links_count: import_zod11.z.number().int()
666
+ });
667
+ var WorkspaceRoleSchema = import_zod11.z.object({
668
+ name: import_zod11.z.string(),
669
+ description: import_zod11.z.string(),
670
+ permissions: import_zod11.z.number().int()
617
671
  });
618
672
 
619
673
  // src/index.ts
@@ -622,70 +676,77 @@ var analyticsContract = {
622
676
  link: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/analytics" }).input(LinkIdParamSchema.merge(AnalyticsQuerySchema)).output(AnalyticsOutputSchema)
623
677
  };
624
678
  var usersContract = {
625
- me: import_contract.oc.route({ method: "GET", path: "/api/users/me" }).output(import_zod11.z.object({ user: UserSchema })),
626
- signIn: import_contract.oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(import_zod11.z.object({ user: UserSchema, status: import_zod11.z.enum(["created", "existing"]) })),
627
- update: import_contract.oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(import_zod11.z.object({ user: UserSchema }))
679
+ me: import_contract.oc.route({ method: "GET", path: "/api/users/me" }).output(import_zod12.z.object({ user: UserSchema })),
680
+ signIn: import_contract.oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(import_zod12.z.object({ user: UserSchema, status: import_zod12.z.enum(["created", "existing"]) })),
681
+ update: import_contract.oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(import_zod12.z.object({ user: UserSchema }))
628
682
  };
629
683
  var apiKeysContract = {
630
684
  create: import_contract.oc.route({ method: "POST", path: "/api/api-keys" }).input(CreateApiKeyInputSchema).output(CreateApiKeyResponseSchema),
631
- list: import_contract.oc.route({ method: "GET", path: "/api/api-keys" }).output(import_zod11.z.array(ApiKeySchema)),
632
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(import_zod11.z.void())
685
+ list: import_contract.oc.route({ method: "GET", path: "/api/api-keys" }).output(import_zod12.z.array(ApiKeySchema)),
686
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(import_zod12.z.void())
633
687
  };
634
688
  var workspaceApiKeysContract = {
635
689
  create: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/api-keys" }).input(WorkspaceIdParamSchema.merge(CreateWorkspaceApiKeyInputSchema)).output(CreateWorkspaceApiKeyResponseSchema),
636
- list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/api-keys" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(ApiKeySchema)),
637
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/api-keys/{api_key_id}" }).input(WorkspaceApiKeyIdParamSchema).output(import_zod11.z.void())
690
+ list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/api-keys" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(ApiKeySchema)),
691
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/api-keys/{api_key_id}" }).input(WorkspaceApiKeyIdParamSchema).output(import_zod12.z.void())
638
692
  };
639
693
  var workspacesContract = {
640
694
  create: import_contract.oc.route({ method: "POST", path: "/api/workspaces" }).input(CreateWorkspaceInputSchema).output(WorkspaceSchema),
641
- list: import_contract.oc.route({ method: "GET", path: "/api/workspaces" }).output(import_zod11.z.array(WorkspaceWithCountSchema)),
695
+ list: import_contract.oc.route({ method: "GET", path: "/api/workspaces" }).output(import_zod12.z.array(WorkspaceWithCountSchema)),
642
696
  get: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(WorkspaceWithCountSchema),
643
697
  update: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema.merge(UpdateWorkspaceInputSchema)).output(WorkspaceSchema),
644
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(import_zod11.z.void()),
645
- transfer: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(import_zod11.z.void()),
698
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(import_zod12.z.void()),
699
+ transfer: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(import_zod12.z.void()),
646
700
  stats: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/stats" }).input(WorkspaceIdParamSchema).output(WorkspaceStatsSchema),
647
701
  // Roles
648
- listRoles: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(WorkspaceRoleSchema)),
702
+ listRoles: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(WorkspaceRoleSchema)),
649
703
  // Members
650
- listMembers: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(WorkspaceMemberSchema)),
704
+ listMembers: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(WorkspaceMemberSchema)),
651
705
  updateMember: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema.merge(UpdateMemberInputSchema)).output(WorkspaceMemberSchema),
652
- removeMember: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(import_zod11.z.void()),
706
+ removeMember: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(import_zod12.z.void()),
653
707
  // Invitations
654
- listInvitations: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(WorkspaceInvitationSchema)),
708
+ listInvitations: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(WorkspaceInvitationSchema)),
655
709
  createInvitation: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema.merge(CreateInvitationInputSchema)).output(WorkspaceInvitationSchema),
656
- revokeInvitation: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(import_zod11.z.void())
710
+ revokeInvitation: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(import_zod12.z.void())
657
711
  };
658
712
  var invitationsContract = {
659
713
  get: import_contract.oc.route({ method: "GET", path: "/api/invitations/{token}" }).input(TokenParamSchema).output(WorkspaceInvitationSchema),
660
714
  accept: import_contract.oc.route({ method: "POST", path: "/api/invitations/{token}/accept" }).input(TokenParamSchema).output(WorkspaceMemberSchema)
661
715
  };
716
+ var linkTemplatesContract = {
717
+ create: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/link-templates" }).input(WorkspaceIdParamSchema.merge(CreateLinkTemplateInputSchema)).output(LinkTemplateSchema),
718
+ list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/link-templates" }).input(WorkspaceIdParamSchema.merge(LinkTemplateFiltersSchema)).output(PaginatedLinkTemplatesSchema),
719
+ get: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/link-templates/{link_template_id}" }).input(LinkTemplateIdParamSchema).output(LinkTemplateSchema),
720
+ update: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/link-templates/{link_template_id}" }).input(LinkTemplateIdParamSchema.merge(UpdateLinkTemplateInputSchema)).output(LinkTemplateSchema),
721
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/link-templates/{link_template_id}" }).input(LinkTemplateIdParamSchema).output(import_zod12.z.void())
722
+ };
662
723
  var linksContract = {
663
724
  create: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links" }).input(WorkspaceIdParamSchema.merge(CreateLinkInputSchema)).output(LinkSchema),
664
725
  list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links" }).input(WorkspaceIdParamSchema.merge(LinkFiltersSchema)).output(PaginatedLinksSchema),
665
- exportCsv: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/export" }).input(WorkspaceIdParamSchema.merge(ExportLinksFiltersSchema)).output(import_zod11.z.instanceof(File)),
726
+ exportCsv: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/export" }).input(WorkspaceIdParamSchema.merge(ExportLinksFiltersSchema)).output(import_zod12.z.instanceof(File)),
666
727
  get: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(LinkSchema),
667
728
  update: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema.merge(UpdateLinkInputSchema)).output(LinkSchema),
668
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(import_zod11.z.void()),
669
- edgeSync: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/sync" }).input(LinkIdParamSchema).output(import_zod11.z.void()),
670
- edgeStatus: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/status" }).input(LinkIdParamSchema).output(import_zod11.z.object({ synced: import_zod11.z.boolean() })),
671
- uploadLogo: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/logo" }).input(LinkIdParamSchema.merge(import_zod11.z.object({ file: import_zod11.z.file().mime(["image/png", "image/jpeg", "image/svg+xml", "image/webp"]) }))).output(LinkSchema),
729
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(import_zod12.z.void()),
730
+ edgeSync: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/sync" }).input(LinkIdParamSchema).output(import_zod12.z.void()),
731
+ edgeStatus: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/status" }).input(LinkIdParamSchema).output(import_zod12.z.object({ synced: import_zod12.z.boolean() })),
732
+ uploadLogo: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/logo" }).input(LinkIdParamSchema.merge(import_zod12.z.object({ file: import_zod12.z.file().mime(["image/png", "image/jpeg", "image/svg+xml", "image/webp"]) }))).output(LinkSchema),
672
733
  deleteLogo: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}/logo" }).input(LinkIdParamSchema).output(LinkSchema),
673
734
  getJob: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}" }).input(LinkJobIdParamSchema).output(LinkJobSchema),
674
- jobResults: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}/results" }).input(LinkJobIdParamSchema).output(import_zod11.z.object({ url: import_zod11.z.string() }))
735
+ jobResults: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}/results" }).input(LinkJobIdParamSchema).output(import_zod12.z.object({ url: import_zod12.z.string() }))
675
736
  };
676
737
  var tagsContract = {
677
738
  create: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema.merge(CreateTagInputSchema)).output(TagSchema),
678
- list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(TagSchema)),
739
+ list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(TagSchema)),
679
740
  get: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(TagSchema),
680
741
  update: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema.merge(UpdateTagInputSchema)).output(TagSchema),
681
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(import_zod11.z.void())
742
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(import_zod12.z.void())
682
743
  };
683
744
  var domainsContract = {
684
745
  create: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema.merge(CreateDomainInputSchema)).output(DomainSchema),
685
- list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(import_zod11.z.array(DomainSchema)),
746
+ list: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(import_zod12.z.array(DomainSchema)),
686
747
  get: import_contract.oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(DomainSchema),
687
748
  update: import_contract.oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema.merge(UpdateDomainInputSchema)).output(DomainSchema),
688
- delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(import_zod11.z.void()),
749
+ delete: import_contract.oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(import_zod12.z.void()),
689
750
  verify: import_contract.oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains/{domain_id}/verify" }).input(DomainIdParamSchema).output(DomainSchema)
690
751
  };
691
752
  var billingContract = {
@@ -701,6 +762,7 @@ var contract = {
701
762
  workspaceApiKeys: workspaceApiKeysContract,
702
763
  workspaces: workspacesContract,
703
764
  invitations: invitationsContract,
765
+ linkTemplates: linkTemplatesContract,
704
766
  links: linksContract,
705
767
  tags: tagsContract,
706
768
  domains: domainsContract,
@@ -722,6 +784,7 @@ var contract = {
722
784
  CreateDomainInputSchema,
723
785
  CreateInvitationInputSchema,
724
786
  CreateLinkInputSchema,
787
+ CreateLinkTemplateInputSchema,
725
788
  CreateTagInputSchema,
726
789
  CreateWorkspaceApiKeyInputSchema,
727
790
  CreateWorkspaceApiKeyResponseSchema,
@@ -737,7 +800,11 @@ var contract = {
737
800
  LinkJobIdParamSchema,
738
801
  LinkJobSchema,
739
802
  LinkSchema,
803
+ LinkTemplateFiltersSchema,
804
+ LinkTemplateIdParamSchema,
805
+ LinkTemplateSchema,
740
806
  MemberIdParamSchema,
807
+ PaginatedLinkTemplatesSchema,
741
808
  PaginatedLinksSchema,
742
809
  PlanSchema,
743
810
  PlansOutputSchema,
@@ -752,6 +819,7 @@ var contract = {
752
819
  TransferOwnershipInputSchema,
753
820
  UpdateDomainInputSchema,
754
821
  UpdateLinkInputSchema,
822
+ UpdateLinkTemplateInputSchema,
755
823
  UpdateMemberInputSchema,
756
824
  UpdateTagInputSchema,
757
825
  UpdateUserInputSchema,
@@ -773,6 +841,7 @@ var contract = {
773
841
  contract,
774
842
  domainsContract,
775
843
  invitationsContract,
844
+ linkTemplatesContract,
776
845
  linksContract,
777
846
  tagsContract,
778
847
  usersContract,