@middlewr/contracts 0.0.26 → 0.0.28

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // src/index.ts
2
2
  import { oc } from "@orpc/contract";
3
- import { z as z10 } from "zod";
3
+ import { z as z11 } from "zod";
4
4
 
5
5
  // src/analytics.schema.ts
6
6
  import { z } from "zod";
@@ -144,217 +144,294 @@ var UpdateDomainInputSchema = z5.object({
144
144
  });
145
145
 
146
146
  // src/links.schema.ts
147
- import { z as z7 } from "zod";
147
+ import { z as z8 } from "zod";
148
148
 
149
- // src/tags.schema.ts
149
+ // src/rules.schema.ts
150
150
  import { z as z6 } from "zod";
151
- var TagSchema = z6.object({
152
- id: z6.string().uuid(),
153
- workspace_id: z6.string().uuid(),
154
- name: z6.string(),
155
- color: z6.string().nullable(),
156
- created_at: z6.coerce.date(),
157
- updated_at: z6.coerce.date().nullable()
158
- });
159
- var CreateTagInputSchema = z6.object({
160
- name: z6.string().min(1).max(50),
161
- color: z6.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
162
- });
163
- var UpdateTagInputSchema = z6.object({
164
- name: z6.string().min(1).max(50).optional(),
165
- color: z6.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
151
+ var RULE_OPERATORS = ["eq", "neq", "in", "not_in", "contains", "not_contains", "gt", "lt", "gte", "lte", "regex"];
152
+ var VALID_FIELD_PREFIXES = ["cf.", "request.", "edge.", "time."];
153
+ var PositionSchema = z6.object({
154
+ x: z6.number(),
155
+ y: z6.number()
156
+ });
157
+ var ConditionNodeSchema = z6.object({
158
+ id: z6.string(),
159
+ type: z6.literal("condition"),
160
+ position: PositionSchema,
161
+ field: z6.string().refine((f) => VALID_FIELD_PREFIXES.some((p) => f.startsWith(p)), {
162
+ message: "Field must start with cf., request., edge., or time."
163
+ }),
164
+ operator: z6.enum(RULE_OPERATORS),
165
+ value: z6.union([z6.string(), z6.array(z6.string()), z6.number()]),
166
+ outputs: z6.object({
167
+ true: z6.string().nullable(),
168
+ false: z6.string().nullable()
169
+ })
170
+ });
171
+ var SplitNodeSchema = z6.object({
172
+ id: z6.string(),
173
+ type: z6.literal("split"),
174
+ position: PositionSchema,
175
+ variants: z6.array(
176
+ z6.object({
177
+ weight: z6.number().min(1).max(100),
178
+ target: z6.string().nullable()
179
+ })
180
+ ).min(2)
181
+ });
182
+ var DestinationNodeSchema = z6.object({
183
+ id: z6.string(),
184
+ type: z6.literal("destination"),
185
+ position: PositionSchema,
186
+ url: z6.string().url()
187
+ });
188
+ var RuleGraphNodeSchema = z6.discriminatedUnion("type", [ConditionNodeSchema, SplitNodeSchema, DestinationNodeSchema]);
189
+ var RuleGraphSchema = z6.object({
190
+ entry: z6.string(),
191
+ nodes: z6.record(z6.string(), RuleGraphNodeSchema)
192
+ }).refine((data) => data.nodes[data.entry] !== void 0, {
193
+ message: "Entry node must reference an existing node in the graph",
194
+ path: ["entry"]
195
+ }).nullable();
196
+
197
+ // src/tags.schema.ts
198
+ import { z as z7 } from "zod";
199
+ var TagSchema = z7.object({
200
+ id: z7.string().uuid(),
201
+ workspace_id: z7.string().uuid(),
202
+ name: z7.string(),
203
+ color: z7.string().nullable(),
204
+ created_at: z7.coerce.date(),
205
+ updated_at: z7.coerce.date().nullable()
206
+ });
207
+ var CreateTagInputSchema = z7.object({
208
+ name: z7.string().min(1).max(50),
209
+ color: z7.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
210
+ });
211
+ var UpdateTagInputSchema = z7.object({
212
+ name: z7.string().min(1).max(50).optional(),
213
+ color: z7.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
166
214
  });
167
215
 
168
216
  // src/links.schema.ts
169
- var DotStyleSchema = z7.enum(["square", "dots", "rounded", "classy", "classy-rounded", "extra-rounded"]);
170
- var EyeOuterStyleSchema = z7.enum(["square", "dot", "extra-rounded"]);
171
- var EyeInnerStyleSchema = z7.enum(["square", "dot"]);
172
- var QrCodeSettingsSchema = z7.object({
173
- fg_color: z7.string().max(20),
174
- bg_color: z7.string().max(20),
217
+ var DotStyleSchema = z8.enum(["square", "dots", "rounded", "classy", "classy-rounded", "extra-rounded"]);
218
+ var EyeOuterStyleSchema = z8.enum(["square", "dot", "extra-rounded"]);
219
+ var EyeInnerStyleSchema = z8.enum(["square", "dot"]);
220
+ var QrCodeSettingsSchema = z8.object({
221
+ fg_color: z8.string().max(20),
222
+ bg_color: z8.string().max(20),
175
223
  dot_style: DotStyleSchema,
176
224
  eye_outer_style: EyeOuterStyleSchema,
177
225
  eye_inner_style: EyeInnerStyleSchema,
178
- frame_enabled: z7.boolean(),
179
- frame_text: z7.string().max(255),
180
- frame_color: z7.string().max(20),
181
- frame_text_color: z7.string().max(20)
226
+ frame_enabled: z8.boolean(),
227
+ frame_text: z8.string().max(255),
228
+ frame_color: z8.string().max(20),
229
+ frame_text_color: z8.string().max(20)
182
230
  });
183
- var LinkSchema = z7.object({
184
- id: z7.string().uuid(),
185
- workspace_id: z7.string().uuid(),
186
- domain_id: z7.string().uuid(),
187
- created_by_id: z7.string().uuid(),
188
- original_url: z7.string().url(),
189
- short_code: z7.string(),
190
- title: z7.string().nullable(),
191
- description: z7.string().nullable(),
192
- utm_source: z7.string().nullable(),
193
- utm_medium: z7.string().nullable(),
194
- utm_campaign: z7.string().nullable(),
195
- utm_term: z7.string().nullable(),
196
- utm_content: z7.string().nullable(),
197
- password: z7.string().nullable(),
198
- starts_at: z7.coerce.date().nullable(),
199
- expires_at: z7.coerce.date().nullable(),
200
- fallback_url: z7.string().nullable(),
201
- is_active: z7.boolean(),
202
- redirect_type: z7.number().int(),
203
- click_count: z7.coerce.number().int(),
204
- click_count_updated_at: z7.coerce.date().nullable(),
205
- created_at: z7.coerce.date(),
206
- updated_at: z7.coerce.date().nullable(),
231
+ var LinkSchema = z8.object({
232
+ id: z8.string().uuid(),
233
+ workspace_id: z8.string().uuid(),
234
+ domain_id: z8.string().uuid(),
235
+ created_by_id: z8.string().uuid(),
236
+ original_url: z8.string().url(),
237
+ short_code: z8.string(),
238
+ title: z8.string().nullable(),
239
+ description: z8.string().nullable(),
240
+ utm_source: z8.string().nullable(),
241
+ utm_medium: z8.string().nullable(),
242
+ utm_campaign: z8.string().nullable(),
243
+ utm_term: z8.string().nullable(),
244
+ utm_content: z8.string().nullable(),
245
+ password: z8.string().nullable(),
246
+ starts_at: z8.coerce.date().nullable(),
247
+ expires_at: z8.coerce.date().nullable(),
248
+ fallback_url: z8.string().nullable(),
249
+ is_active: z8.boolean(),
250
+ redirect_type: z8.number().int(),
251
+ click_count: z8.coerce.number().int(),
252
+ click_count_updated_at: z8.coerce.date().nullable(),
253
+ created_at: z8.coerce.date(),
254
+ updated_at: z8.coerce.date().nullable(),
207
255
  qr_code_settings: QrCodeSettingsSchema.nullable(),
208
- tags: z7.array(TagSchema)
209
- });
210
- var CreateLinkInputSchema = z7.object({
211
- original_url: z7.string().url().max(2048),
212
- domain_id: z7.string().uuid().optional(),
213
- short_code: z7.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
214
- title: z7.string().max(255).optional(),
215
- description: z7.string().max(2e3).optional(),
216
- utm_source: z7.string().max(255).optional(),
217
- utm_medium: z7.string().max(255).optional(),
218
- utm_campaign: z7.string().max(255).optional(),
219
- utm_term: z7.string().max(255).optional(),
220
- utm_content: z7.string().max(255).optional(),
221
- password: z7.string().min(4).max(100).optional(),
222
- starts_at: z7.coerce.date().optional(),
223
- expires_at: z7.coerce.date().optional(),
224
- fallback_url: z7.string().url().max(2048).optional(),
225
- redirect_type: z7.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
256
+ link_type: z8.enum(["redirect", "rules"]).default("redirect"),
257
+ rule_graph: RuleGraphSchema.optional(),
258
+ tags: z8.array(TagSchema)
259
+ });
260
+ var CreateLinkInputSchema = z8.object({
261
+ original_url: z8.string().url().max(2048),
262
+ domain_id: z8.string().uuid().optional(),
263
+ short_code: z8.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
264
+ title: z8.string().max(255).optional(),
265
+ description: z8.string().max(2e3).optional(),
266
+ utm_source: z8.string().max(255).optional(),
267
+ utm_medium: z8.string().max(255).optional(),
268
+ utm_campaign: z8.string().max(255).optional(),
269
+ utm_term: z8.string().max(255).optional(),
270
+ utm_content: z8.string().max(255).optional(),
271
+ password: z8.string().min(4).max(100).optional(),
272
+ starts_at: z8.coerce.date().optional(),
273
+ expires_at: z8.coerce.date().optional(),
274
+ fallback_url: z8.string().url().max(2048).optional(),
275
+ redirect_type: z8.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
226
276
  qr_code_settings: QrCodeSettingsSchema.nullable().optional(),
227
- tag_ids: z7.array(z7.string().uuid()).optional()
228
- });
229
- var UpdateLinkInputSchema = z7.object({
230
- original_url: z7.string().url().max(2048).optional(),
231
- domain_id: z7.string().uuid().optional(),
232
- short_code: z7.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
233
- title: z7.string().max(255).nullable().optional(),
234
- description: z7.string().max(2e3).nullable().optional(),
235
- utm_source: z7.string().max(255).nullable().optional(),
236
- utm_medium: z7.string().max(255).nullable().optional(),
237
- utm_campaign: z7.string().max(255).nullable().optional(),
238
- utm_term: z7.string().max(255).nullable().optional(),
239
- utm_content: z7.string().max(255).nullable().optional(),
240
- password: z7.string().min(4).max(100).nullable().optional(),
241
- starts_at: z7.coerce.date().nullable().optional(),
242
- expires_at: z7.coerce.date().nullable().optional(),
243
- fallback_url: z7.string().url().max(2048).nullable().optional(),
244
- is_active: z7.boolean().optional(),
245
- redirect_type: z7.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
277
+ tag_ids: z8.array(z8.string().uuid()).optional(),
278
+ link_type: z8.enum(["redirect", "rules"]).optional(),
279
+ rule_graph: RuleGraphSchema.optional()
280
+ }).refine((data) => data.link_type !== "rules" || data.rule_graph != null, {
281
+ message: 'rule_graph is required when link_type is "rules"',
282
+ path: ["rule_graph"]
283
+ });
284
+ var UpdateLinkInputSchema = z8.object({
285
+ original_url: z8.string().url().max(2048).optional(),
286
+ domain_id: z8.string().uuid().optional(),
287
+ short_code: z8.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
288
+ title: z8.string().max(255).nullable().optional(),
289
+ description: z8.string().max(2e3).nullable().optional(),
290
+ utm_source: z8.string().max(255).nullable().optional(),
291
+ utm_medium: z8.string().max(255).nullable().optional(),
292
+ utm_campaign: z8.string().max(255).nullable().optional(),
293
+ utm_term: z8.string().max(255).nullable().optional(),
294
+ utm_content: z8.string().max(255).nullable().optional(),
295
+ password: z8.string().min(4).max(100).nullable().optional(),
296
+ starts_at: z8.coerce.date().nullable().optional(),
297
+ expires_at: z8.coerce.date().nullable().optional(),
298
+ fallback_url: z8.string().url().max(2048).nullable().optional(),
299
+ is_active: z8.boolean().optional(),
300
+ redirect_type: z8.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
246
301
  qr_code_settings: QrCodeSettingsSchema.nullable().optional(),
247
- tag_ids: z7.array(z7.string().uuid()).optional()
248
- });
249
- var stringToBoolean = z7.union([z7.boolean(), z7.enum(["true", "false"])]).transform((val) => typeof val === "string" ? val === "true" : val);
250
- var LinkFiltersSchema = z7.object({
251
- search: z7.string().optional(),
252
- domain_ids: z7.array(z7.string().uuid()).optional(),
302
+ tag_ids: z8.array(z8.string().uuid()).optional(),
303
+ link_type: z8.enum(["redirect", "rules"]).optional(),
304
+ rule_graph: RuleGraphSchema.optional()
305
+ }).refine((data) => data.link_type !== "rules" || data.rule_graph != null, {
306
+ message: 'rule_graph is required when link_type is "rules"',
307
+ path: ["rule_graph"]
308
+ });
309
+ var stringToBoolean = z8.union([z8.boolean(), z8.enum(["true", "false"])]).transform((val) => typeof val === "string" ? val === "true" : val);
310
+ var LinkFiltersSchema = z8.object({
311
+ search: z8.string().optional(),
312
+ domain_ids: z8.array(z8.string().uuid()).optional(),
253
313
  is_active: stringToBoolean.optional(),
254
314
  has_expiration: stringToBoolean.optional(),
255
315
  expired: stringToBoolean.optional(),
256
- created_from: z7.coerce.date().optional(),
257
- created_to: z7.coerce.date().optional(),
258
- expires_from: z7.coerce.date().optional(),
259
- expires_to: z7.coerce.date().optional(),
260
- tag_ids: z7.array(z7.string().uuid()).optional(),
261
- sort_by: z7.enum(["created_at", "title", "click_count", "original_url"]).default("created_at"),
262
- sort_order: z7.enum(["asc", "desc"]).default("desc"),
263
- page: z7.coerce.number().int().min(1).default(1),
264
- per_page: z7.coerce.number().int().min(1).max(100).default(20)
265
- });
266
- var PaginatedLinksSchema = z7.object({
267
- links: z7.array(LinkSchema),
268
- total: z7.number().int(),
269
- page: z7.number().int(),
270
- per_page: z7.number().int(),
271
- total_pages: z7.number().int()
272
- });
273
-
274
- // src/users.schema.ts
275
- import { z as z8 } from "zod";
276
- var UserSchema = z8.object({
316
+ created_from: z8.coerce.date().optional(),
317
+ created_to: z8.coerce.date().optional(),
318
+ expires_from: z8.coerce.date().optional(),
319
+ expires_to: z8.coerce.date().optional(),
320
+ tag_ids: z8.array(z8.string().uuid()).optional(),
321
+ sort_by: z8.enum(["created_at", "title", "click_count", "original_url"]).default("created_at"),
322
+ sort_order: z8.enum(["asc", "desc"]).default("desc"),
323
+ page: z8.coerce.number().int().min(1).default(1),
324
+ per_page: z8.coerce.number().int().min(1).max(100).default(20)
325
+ });
326
+ var PaginatedLinksSchema = z8.object({
327
+ links: z8.array(LinkSchema),
328
+ total: z8.number().int(),
329
+ page: z8.number().int(),
330
+ per_page: z8.number().int(),
331
+ total_pages: z8.number().int()
332
+ });
333
+ var LinkJobSchema = z8.object({
277
334
  id: z8.string().uuid(),
278
- external_id: z8.string(),
279
- email: z8.string().email(),
280
- email_verified_at: z8.coerce.date().nullable(),
281
- first_name: z8.string().nullable(),
282
- last_name: z8.string().nullable(),
283
- created_at: z8.coerce.date(),
284
- updated_at: z8.coerce.date().nullable()
285
- });
286
- var SignInInputSchema = z8.object({
287
- first_name: z8.string().min(1).max(100).optional(),
288
- last_name: z8.string().min(1).max(100).optional()
289
- });
290
- var UpdateUserInputSchema = z8.object({
291
- first_name: z8.string().min(1).max(100).optional(),
292
- last_name: z8.string().min(1).max(100).optional()
335
+ workspace_id: z8.string().uuid(),
336
+ type: z8.string(),
337
+ status: z8.enum(["pending", "processing", "completed", "failed"]),
338
+ total_rows: z8.number().int(),
339
+ succeeded_count: z8.number().int(),
340
+ failed_count: z8.number().int(),
341
+ error: z8.string().nullable(),
342
+ created_by_id: z8.string().uuid(),
343
+ created_at: z8.date(),
344
+ completed_at: z8.date().nullable()
345
+ });
346
+ var LinkJobIdParamSchema = z8.object({
347
+ workspace_id: z8.string().uuid(),
348
+ job_id: z8.string().uuid()
293
349
  });
294
350
 
295
- // src/workspaces.schema.ts
351
+ // src/users.schema.ts
296
352
  import { z as z9 } from "zod";
297
- var WorkspaceSchema = z9.object({
353
+ var UserSchema = z9.object({
298
354
  id: z9.string().uuid(),
299
- name: z9.string(),
300
- billing_plan: z9.string(),
301
- billing_status: z9.string(),
302
- billing_email: z9.string().nullable(),
303
- billing_current_period_end: z9.coerce.date().nullable(),
304
- billing_cancel_at_period_end: z9.boolean(),
355
+ external_id: z9.string(),
356
+ email: z9.string().email(),
357
+ email_verified_at: z9.coerce.date().nullable(),
358
+ first_name: z9.string().nullable(),
359
+ last_name: z9.string().nullable(),
305
360
  created_at: z9.coerce.date(),
306
361
  updated_at: z9.coerce.date().nullable()
307
362
  });
308
- var WorkspaceWithCountSchema = WorkspaceSchema.extend({
309
- member_count: z9.number().int()
310
- });
311
- var CreateWorkspaceInputSchema = z9.object({
312
- name: z9.string().min(1).max(100)
363
+ var SignInInputSchema = z9.object({
364
+ first_name: z9.string().min(1).max(100).optional(),
365
+ last_name: z9.string().min(1).max(100).optional()
313
366
  });
314
- var UpdateWorkspaceInputSchema = z9.object({
315
- name: z9.string().min(1).max(100).optional(),
316
- billing_email: z9.string().email().nullish()
367
+ var UpdateUserInputSchema = z9.object({
368
+ first_name: z9.string().min(1).max(100).optional(),
369
+ last_name: z9.string().min(1).max(100).optional()
317
370
  });
318
- var TransferOwnershipInputSchema = z9.object({
319
- to_user_id: z9.string().uuid()
371
+
372
+ // src/workspaces.schema.ts
373
+ import { z as z10 } from "zod";
374
+ var WorkspaceSchema = z10.object({
375
+ id: z10.string().uuid(),
376
+ name: z10.string(),
377
+ billing_plan: z10.string(),
378
+ billing_status: z10.string(),
379
+ billing_email: z10.string().nullable(),
380
+ billing_current_period_end: z10.coerce.date().nullable(),
381
+ billing_cancel_at_period_end: z10.boolean(),
382
+ created_at: z10.coerce.date(),
383
+ updated_at: z10.coerce.date().nullable()
320
384
  });
321
- var WorkspaceMemberUserSchema = z9.object({
322
- id: z9.string().uuid(),
323
- email: z9.string().email(),
324
- first_name: z9.string().nullable(),
325
- last_name: z9.string().nullable()
385
+ var WorkspaceWithCountSchema = WorkspaceSchema.extend({
386
+ member_count: z10.number().int()
326
387
  });
327
- var WorkspaceMemberSchema = z9.object({
328
- id: z9.string().uuid(),
329
- workspace_id: z9.string().uuid(),
330
- user_id: z9.string().uuid(),
331
- user: WorkspaceMemberUserSchema,
332
- permissions: z9.number().int(),
333
- joined_at: z9.coerce.date(),
334
- created_at: z9.coerce.date(),
335
- updated_at: z9.coerce.date().nullable()
388
+ var CreateWorkspaceInputSchema = z10.object({
389
+ name: z10.string().min(1).max(100)
336
390
  });
337
- var UpdateMemberInputSchema = z9.object({
338
- permissions: z9.number().int().min(1)
391
+ var UpdateWorkspaceInputSchema = z10.object({
392
+ name: z10.string().min(1).max(100).optional(),
393
+ billing_email: z10.string().email().nullish()
339
394
  });
340
- var WorkspaceInvitationSchema = z9.object({
341
- id: z9.string().uuid(),
342
- workspace_id: z9.string().uuid(),
343
- email: z9.string().email(),
344
- token: z9.string(),
345
- permissions: z9.number().int(),
346
- invited_by_id: z9.string().uuid(),
347
- expires_at: z9.coerce.date(),
348
- created_at: z9.coerce.date()
395
+ var TransferOwnershipInputSchema = z10.object({
396
+ to_user_id: z10.string().uuid()
349
397
  });
350
- var CreateInvitationInputSchema = z9.object({
351
- email: z9.string().email(),
352
- permissions: z9.number().int().min(1)
398
+ var WorkspaceMemberUserSchema = z10.object({
399
+ id: z10.string().uuid(),
400
+ email: z10.string().email(),
401
+ first_name: z10.string().nullable(),
402
+ last_name: z10.string().nullable()
353
403
  });
354
- var WorkspaceRoleSchema = z9.object({
355
- name: z9.string(),
356
- description: z9.string(),
357
- permissions: z9.number().int()
404
+ var WorkspaceMemberSchema = z10.object({
405
+ id: z10.string().uuid(),
406
+ workspace_id: z10.string().uuid(),
407
+ user_id: z10.string().uuid(),
408
+ user: WorkspaceMemberUserSchema,
409
+ permissions: z10.number().int(),
410
+ joined_at: z10.coerce.date(),
411
+ created_at: z10.coerce.date(),
412
+ updated_at: z10.coerce.date().nullable()
413
+ });
414
+ var UpdateMemberInputSchema = z10.object({
415
+ permissions: z10.number().int().min(1)
416
+ });
417
+ var WorkspaceInvitationSchema = z10.object({
418
+ id: z10.string().uuid(),
419
+ workspace_id: z10.string().uuid(),
420
+ email: z10.string().email(),
421
+ token: z10.string(),
422
+ permissions: z10.number().int(),
423
+ invited_by_id: z10.string().uuid(),
424
+ expires_at: z10.coerce.date(),
425
+ created_at: z10.coerce.date()
426
+ });
427
+ var CreateInvitationInputSchema = z10.object({
428
+ email: z10.string().email(),
429
+ permissions: z10.number().int().min(1)
430
+ });
431
+ var WorkspaceRoleSchema = z10.object({
432
+ name: z10.string(),
433
+ description: z10.string(),
434
+ permissions: z10.number().int()
358
435
  });
359
436
 
360
437
  // src/index.ts
@@ -363,32 +440,32 @@ var analyticsContract = {
363
440
  link: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/analytics" }).input(LinkIdParamSchema.merge(AnalyticsQuerySchema)).output(AnalyticsOutputSchema)
364
441
  };
365
442
  var usersContract = {
366
- me: oc.route({ method: "GET", path: "/api/users/me" }).output(z10.object({ user: UserSchema })),
367
- signIn: oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(z10.object({ user: UserSchema, status: z10.enum(["created", "existing"]) })),
368
- update: oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(z10.object({ user: UserSchema }))
443
+ me: oc.route({ method: "GET", path: "/api/users/me" }).output(z11.object({ user: UserSchema })),
444
+ signIn: oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(z11.object({ user: UserSchema, status: z11.enum(["created", "existing"]) })),
445
+ update: oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(z11.object({ user: UserSchema }))
369
446
  };
370
447
  var apiKeysContract = {
371
448
  create: oc.route({ method: "POST", path: "/api/api-keys" }).input(CreateApiKeyInputSchema).output(CreateApiKeyResponseSchema),
372
- list: oc.route({ method: "GET", path: "/api/api-keys" }).output(z10.array(ApiKeySchema)),
373
- delete: oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(z10.void())
449
+ list: oc.route({ method: "GET", path: "/api/api-keys" }).output(z11.array(ApiKeySchema)),
450
+ delete: oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(z11.void())
374
451
  };
375
452
  var workspacesContract = {
376
453
  create: oc.route({ method: "POST", path: "/api/workspaces" }).input(CreateWorkspaceInputSchema).output(WorkspaceSchema),
377
- list: oc.route({ method: "GET", path: "/api/workspaces" }).output(z10.array(WorkspaceWithCountSchema)),
454
+ list: oc.route({ method: "GET", path: "/api/workspaces" }).output(z11.array(WorkspaceWithCountSchema)),
378
455
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(WorkspaceWithCountSchema),
379
456
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema.merge(UpdateWorkspaceInputSchema)).output(WorkspaceSchema),
380
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(z10.void()),
381
- transfer: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(z10.void()),
457
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(z11.void()),
458
+ transfer: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(z11.void()),
382
459
  // Roles
383
- listRoles: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceRoleSchema)),
460
+ listRoles: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(z11.array(WorkspaceRoleSchema)),
384
461
  // Members
385
- listMembers: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceMemberSchema)),
462
+ listMembers: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(z11.array(WorkspaceMemberSchema)),
386
463
  updateMember: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema.merge(UpdateMemberInputSchema)).output(WorkspaceMemberSchema),
387
- removeMember: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(z10.void()),
464
+ removeMember: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(z11.void()),
388
465
  // Invitations
389
- listInvitations: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceInvitationSchema)),
466
+ listInvitations: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(z11.array(WorkspaceInvitationSchema)),
390
467
  createInvitation: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema.merge(CreateInvitationInputSchema)).output(WorkspaceInvitationSchema),
391
- revokeInvitation: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(z10.void())
468
+ revokeInvitation: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(z11.void())
392
469
  };
393
470
  var invitationsContract = {
394
471
  get: oc.route({ method: "GET", path: "/api/invitations/{token}" }).input(TokenParamSchema).output(WorkspaceInvitationSchema),
@@ -399,23 +476,25 @@ var linksContract = {
399
476
  list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links" }).input(WorkspaceIdParamSchema.merge(LinkFiltersSchema)).output(PaginatedLinksSchema),
400
477
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(LinkSchema),
401
478
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema.merge(UpdateLinkInputSchema)).output(LinkSchema),
402
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(z10.void()),
403
- edgeSync: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/sync" }).input(LinkIdParamSchema).output(z10.void()),
404
- edgeStatus: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/status" }).input(LinkIdParamSchema).output(z10.object({ synced: z10.boolean() }))
479
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(z11.void()),
480
+ edgeSync: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/sync" }).input(LinkIdParamSchema).output(z11.void()),
481
+ edgeStatus: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/status" }).input(LinkIdParamSchema).output(z11.object({ synced: z11.boolean() })),
482
+ getJob: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}" }).input(LinkJobIdParamSchema).output(LinkJobSchema),
483
+ jobResults: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}/results" }).input(LinkJobIdParamSchema).output(z11.object({ url: z11.string() }))
405
484
  };
406
485
  var tagsContract = {
407
486
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema.merge(CreateTagInputSchema)).output(TagSchema),
408
- list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(z10.array(TagSchema)),
487
+ list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(z11.array(TagSchema)),
409
488
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(TagSchema),
410
489
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema.merge(UpdateTagInputSchema)).output(TagSchema),
411
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(z10.void())
490
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(z11.void())
412
491
  };
413
492
  var domainsContract = {
414
493
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema.merge(CreateDomainInputSchema)).output(DomainSchema),
415
- list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(z10.array(DomainSchema)),
494
+ list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(z11.array(DomainSchema)),
416
495
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(DomainSchema),
417
496
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema.merge(UpdateDomainInputSchema)).output(DomainSchema),
418
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(z10.void()),
497
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(z11.void()),
419
498
  verify: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains/{domain_id}/verify" }).input(DomainIdParamSchema).output(DomainSchema)
420
499
  };
421
500
  var billingContract = {
@@ -458,10 +537,14 @@ export {
458
537
  LinkAnalyticsQuerySchema,
459
538
  LinkFiltersSchema,
460
539
  LinkIdParamSchema,
540
+ LinkJobIdParamSchema,
541
+ LinkJobSchema,
461
542
  LinkSchema,
462
543
  MemberIdParamSchema,
463
544
  PaginatedLinksSchema,
464
545
  QrCodeSettingsSchema,
546
+ RuleGraphNodeSchema,
547
+ RuleGraphSchema,
465
548
  SignInInputSchema,
466
549
  TagIdParamSchema,
467
550
  TagSchema,