@middlewr/contracts 0.0.27 → 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,234 +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
- var LinkJobSchema = z7.object({
274
- id: z7.string().uuid(),
275
- workspace_id: z7.string().uuid(),
276
- type: z7.string(),
277
- status: z7.enum(["pending", "processing", "completed", "failed"]),
278
- total_rows: z7.number().int(),
279
- succeeded_count: z7.number().int(),
280
- failed_count: z7.number().int(),
281
- error: z7.string().nullable(),
282
- created_by_id: z7.string().uuid(),
283
- created_at: z7.date(),
284
- completed_at: z7.date().nullable()
285
- });
286
- var LinkJobIdParamSchema = z7.object({
287
- workspace_id: z7.string().uuid(),
288
- job_id: z7.string().uuid()
289
- });
290
-
291
- // src/users.schema.ts
292
- import { z as z8 } from "zod";
293
- 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({
294
334
  id: z8.string().uuid(),
295
- external_id: z8.string(),
296
- email: z8.string().email(),
297
- email_verified_at: z8.coerce.date().nullable(),
298
- first_name: z8.string().nullable(),
299
- last_name: z8.string().nullable(),
300
- created_at: z8.coerce.date(),
301
- updated_at: z8.coerce.date().nullable()
302
- });
303
- var SignInInputSchema = z8.object({
304
- first_name: z8.string().min(1).max(100).optional(),
305
- last_name: z8.string().min(1).max(100).optional()
306
- });
307
- var UpdateUserInputSchema = z8.object({
308
- first_name: z8.string().min(1).max(100).optional(),
309
- 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()
310
349
  });
311
350
 
312
- // src/workspaces.schema.ts
351
+ // src/users.schema.ts
313
352
  import { z as z9 } from "zod";
314
- var WorkspaceSchema = z9.object({
353
+ var UserSchema = z9.object({
315
354
  id: z9.string().uuid(),
316
- name: z9.string(),
317
- billing_plan: z9.string(),
318
- billing_status: z9.string(),
319
- billing_email: z9.string().nullable(),
320
- billing_current_period_end: z9.coerce.date().nullable(),
321
- 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(),
322
360
  created_at: z9.coerce.date(),
323
361
  updated_at: z9.coerce.date().nullable()
324
362
  });
325
- var WorkspaceWithCountSchema = WorkspaceSchema.extend({
326
- member_count: z9.number().int()
327
- });
328
- var CreateWorkspaceInputSchema = z9.object({
329
- 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()
330
366
  });
331
- var UpdateWorkspaceInputSchema = z9.object({
332
- name: z9.string().min(1).max(100).optional(),
333
- 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()
334
370
  });
335
- var TransferOwnershipInputSchema = z9.object({
336
- 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()
337
384
  });
338
- var WorkspaceMemberUserSchema = z9.object({
339
- id: z9.string().uuid(),
340
- email: z9.string().email(),
341
- first_name: z9.string().nullable(),
342
- last_name: z9.string().nullable()
385
+ var WorkspaceWithCountSchema = WorkspaceSchema.extend({
386
+ member_count: z10.number().int()
343
387
  });
344
- var WorkspaceMemberSchema = z9.object({
345
- id: z9.string().uuid(),
346
- workspace_id: z9.string().uuid(),
347
- user_id: z9.string().uuid(),
348
- user: WorkspaceMemberUserSchema,
349
- permissions: z9.number().int(),
350
- joined_at: z9.coerce.date(),
351
- created_at: z9.coerce.date(),
352
- updated_at: z9.coerce.date().nullable()
388
+ var CreateWorkspaceInputSchema = z10.object({
389
+ name: z10.string().min(1).max(100)
353
390
  });
354
- var UpdateMemberInputSchema = z9.object({
355
- 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()
356
394
  });
357
- var WorkspaceInvitationSchema = z9.object({
358
- id: z9.string().uuid(),
359
- workspace_id: z9.string().uuid(),
360
- email: z9.string().email(),
361
- token: z9.string(),
362
- permissions: z9.number().int(),
363
- invited_by_id: z9.string().uuid(),
364
- expires_at: z9.coerce.date(),
365
- created_at: z9.coerce.date()
395
+ var TransferOwnershipInputSchema = z10.object({
396
+ to_user_id: z10.string().uuid()
366
397
  });
367
- var CreateInvitationInputSchema = z9.object({
368
- email: z9.string().email(),
369
- 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()
370
403
  });
371
- var WorkspaceRoleSchema = z9.object({
372
- name: z9.string(),
373
- description: z9.string(),
374
- 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()
375
435
  });
376
436
 
377
437
  // src/index.ts
@@ -380,32 +440,32 @@ var analyticsContract = {
380
440
  link: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}/analytics" }).input(LinkIdParamSchema.merge(AnalyticsQuerySchema)).output(AnalyticsOutputSchema)
381
441
  };
382
442
  var usersContract = {
383
- me: oc.route({ method: "GET", path: "/api/users/me" }).output(z10.object({ user: UserSchema })),
384
- signIn: oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(z10.object({ user: UserSchema, status: z10.enum(["created", "existing"]) })),
385
- 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 }))
386
446
  };
387
447
  var apiKeysContract = {
388
448
  create: oc.route({ method: "POST", path: "/api/api-keys" }).input(CreateApiKeyInputSchema).output(CreateApiKeyResponseSchema),
389
- list: oc.route({ method: "GET", path: "/api/api-keys" }).output(z10.array(ApiKeySchema)),
390
- 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())
391
451
  };
392
452
  var workspacesContract = {
393
453
  create: oc.route({ method: "POST", path: "/api/workspaces" }).input(CreateWorkspaceInputSchema).output(WorkspaceSchema),
394
- 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)),
395
455
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(WorkspaceWithCountSchema),
396
456
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema.merge(UpdateWorkspaceInputSchema)).output(WorkspaceSchema),
397
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(z10.void()),
398
- 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()),
399
459
  // Roles
400
- 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)),
401
461
  // Members
402
- 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)),
403
463
  updateMember: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema.merge(UpdateMemberInputSchema)).output(WorkspaceMemberSchema),
404
- 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()),
405
465
  // Invitations
406
- 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)),
407
467
  createInvitation: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema.merge(CreateInvitationInputSchema)).output(WorkspaceInvitationSchema),
408
- 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())
409
469
  };
410
470
  var invitationsContract = {
411
471
  get: oc.route({ method: "GET", path: "/api/invitations/{token}" }).input(TokenParamSchema).output(WorkspaceInvitationSchema),
@@ -416,25 +476,25 @@ var linksContract = {
416
476
  list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links" }).input(WorkspaceIdParamSchema.merge(LinkFiltersSchema)).output(PaginatedLinksSchema),
417
477
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(LinkSchema),
418
478
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema.merge(UpdateLinkInputSchema)).output(LinkSchema),
419
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(z10.void()),
420
- edgeSync: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/links/{link_id}/edge/sync" }).input(LinkIdParamSchema).output(z10.void()),
421
- 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() })),
422
482
  getJob: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}" }).input(LinkJobIdParamSchema).output(LinkJobSchema),
423
- jobResults: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}/results" }).input(LinkJobIdParamSchema).output(z10.object({ url: z10.string() }))
483
+ jobResults: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/jobs/{job_id}/results" }).input(LinkJobIdParamSchema).output(z11.object({ url: z11.string() }))
424
484
  };
425
485
  var tagsContract = {
426
486
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema.merge(CreateTagInputSchema)).output(TagSchema),
427
- 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)),
428
488
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(TagSchema),
429
489
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema.merge(UpdateTagInputSchema)).output(TagSchema),
430
- 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())
431
491
  };
432
492
  var domainsContract = {
433
493
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema.merge(CreateDomainInputSchema)).output(DomainSchema),
434
- 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)),
435
495
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(DomainSchema),
436
496
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema.merge(UpdateDomainInputSchema)).output(DomainSchema),
437
- 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()),
438
498
  verify: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains/{domain_id}/verify" }).input(DomainIdParamSchema).output(DomainSchema)
439
499
  };
440
500
  var billingContract = {
@@ -483,6 +543,8 @@ export {
483
543
  MemberIdParamSchema,
484
544
  PaginatedLinksSchema,
485
545
  QrCodeSettingsSchema,
546
+ RuleGraphNodeSchema,
547
+ RuleGraphSchema,
486
548
  SignInInputSchema,
487
549
  TagIdParamSchema,
488
550
  TagSchema,