@renai-labs/sdk 0.1.17 → 0.1.18

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.
@@ -105,6 +105,11 @@ export const zBlueprintProjectEntry = z.object({
105
105
  timezone: z.string().nullable(),
106
106
  cronTriggerId: z.string(),
107
107
  agentId: z.string().nullable(),
108
+ until: z.iso
109
+ .datetime()
110
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
111
+ .nullish()
112
+ .default(null),
108
113
  })),
109
114
  });
110
115
  export const zBlueprintTemplate = z.object({
@@ -220,6 +225,12 @@ export const zCredentialAuth = z.union([
220
225
  username: z.string(),
221
226
  password: z.string(),
222
227
  }),
228
+ z.object({
229
+ type: z.literal("mcp_provider"),
230
+ provider: z.enum(["composio"]),
231
+ userId: z.string(),
232
+ url: z.url(),
233
+ }),
223
234
  ]);
224
235
  export const zCredentialAuthPublic = z.union([
225
236
  z.object({
@@ -245,6 +256,11 @@ export const zCredentialAuthPublic = z.union([
245
256
  type: z.literal("basic"),
246
257
  username: z.string(),
247
258
  }),
259
+ z.object({
260
+ type: z.literal("mcp_provider"),
261
+ provider: z.enum(["composio"]),
262
+ userId: z.string(),
263
+ }),
248
264
  ]);
249
265
  export const zCredential = z.object({
250
266
  id: z.string(),
@@ -284,6 +300,49 @@ export const zVault = z.object({
284
300
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
285
301
  .nullable(),
286
302
  });
303
+ export const zLinearMapping = z.object({
304
+ id: z.string(),
305
+ renProjectId: z.string(),
306
+ renProjectName: z.string().nullable(),
307
+ linearProjectId: z.string().nullable(),
308
+ senderUserId: z.string(),
309
+ projectAgentId: z.string().nullable(),
310
+ isEnabled: z.boolean(),
311
+ });
312
+ export const zLinearProject = z.object({
313
+ id: z.string(),
314
+ name: z.string(),
315
+ });
316
+ export const zLinearInstallation = z.object({
317
+ id: z.string(),
318
+ orgId: z.string(),
319
+ installedById: z.string(),
320
+ workspaceId: z.string(),
321
+ workspaceName: z.string().nullable(),
322
+ appUserId: z.string(),
323
+ accessTokenExpiresAt: z.iso
324
+ .datetime()
325
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
326
+ .nullable(),
327
+ scope: z.string(),
328
+ createdAt: z.iso
329
+ .datetime()
330
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
331
+ updatedAt: z.iso
332
+ .datetime()
333
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
334
+ archivedAt: z.iso
335
+ .datetime()
336
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
337
+ .nullable(),
338
+ });
339
+ export const zLinearStatus = z.object({
340
+ hasInstallation: z.boolean(),
341
+ installations: z.array(zLinearInstallation),
342
+ });
343
+ export const zLinearOAuthStartResult = z.object({
344
+ url: z.url(),
345
+ });
287
346
  export const zTelegramChatMapping = z.object({
288
347
  id: z.string(),
289
348
  chatId: z.string(),
@@ -392,11 +451,12 @@ export const zWebhookTrigger = z.object({
392
451
  projectId: z.string(),
393
452
  projectAgentId: z.string().nullable(),
394
453
  senderUserId: z.string(),
395
- provider: z.enum(["generic"]),
454
+ provider: z.enum(["generic", "linear"]),
396
455
  providerInstallId: z.string().nullable(),
397
456
  scopeFilter: z
398
457
  .object({
399
458
  channelId: z.string().optional(),
459
+ linearProjectId: z.string().optional(),
400
460
  })
401
461
  .nullable(),
402
462
  secretHash: z.string().nullable(),
@@ -424,6 +484,10 @@ export const zCronTrigger = z.object({
424
484
  inputMessage: z.string(),
425
485
  schedule: z.string(),
426
486
  timezone: z.string().nullable(),
487
+ until: z.iso
488
+ .datetime()
489
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
490
+ .nullable(),
427
491
  isEnabled: z.boolean(),
428
492
  syncedAt: z.iso
429
493
  .datetime()
@@ -487,7 +551,7 @@ export const zTopology = z.object({
487
551
  name: z.string(),
488
552
  registrySlug: z.string().optional(),
489
553
  remoteUrl: z.url().optional(),
490
- auth: z.enum(["oauth", "basic", "api_key", "none"]).optional(),
554
+ auth: z.enum(["oauth", "basic", "api_key", "none", "mcp_provider"]).optional(),
491
555
  credential: z
492
556
  .string()
493
557
  .regex(/^[a-z0-9][a-z0-9-]*$/)
@@ -510,7 +574,7 @@ export const zTopology = z.object({
510
574
  id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
511
575
  slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
512
576
  provider: z.string(),
513
- authType: z.enum(["oauth", "basic", "api_key", "env"]).optional(),
577
+ authType: z.enum(["oauth", "basic", "api_key", "env", "mcp_provider"]).optional(),
514
578
  vault: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
515
579
  notes: z.string().optional(),
516
580
  }))
@@ -656,6 +720,10 @@ export const zTopology = z.object({
656
720
  project: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
657
721
  schedule: z.string(),
658
722
  timezone: z.string().optional(),
723
+ until: z.iso
724
+ .datetime()
725
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
726
+ .optional(),
659
727
  inputMessage: z.string(),
660
728
  enabled: z.boolean().optional(),
661
729
  notes: z.string().optional(),
@@ -791,13 +859,19 @@ export const zMcpAuthConfig = z.union([
791
859
  z.object({
792
860
  type: z.literal("none"),
793
861
  }),
862
+ z.object({
863
+ type: z.literal("mcp_provider"),
864
+ provider: z.enum(["composio"]),
865
+ toolkit: z.string(),
866
+ authConfigId: z.string(),
867
+ }),
794
868
  ]);
795
869
  export const zAuthRequirementMcp = z.object({
796
870
  mcpId: z.string(),
797
871
  slug: z.string(),
798
872
  name: z.string(),
799
873
  icon: z.string().nullable(),
800
- authType: z.enum(["none", "oauth", "api_key", "basic"]),
874
+ authType: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]),
801
875
  authConfig: zMcpAuthConfig.nullable(),
802
876
  satisfied: z.boolean(),
803
877
  neededByAgentIds: z.array(z.string()),
@@ -1229,7 +1303,7 @@ export const zMcp = z.object({
1229
1303
  repository: zRepository.nullable(),
1230
1304
  tools: z.array(z.string()),
1231
1305
  prompts: z.array(z.string()),
1232
- auth: z.enum(["none", "oauth", "api_key", "basic"]),
1306
+ auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]),
1233
1307
  authConfig: zMcpAuthConfig.nullable(),
1234
1308
  env: z.record(z.string(), z.string()),
1235
1309
  requiredCredentials: z.array(zRequiredCredential),
@@ -1267,6 +1341,23 @@ export const zGoogleWorkspaceStatus = z.object({
1267
1341
  scopes: z.array(z.string()),
1268
1342
  redirectUri: z.url(),
1269
1343
  });
1344
+ export const zGithubRepoMapping = z.object({
1345
+ installationId: z.string(),
1346
+ accountLogin: z.string(),
1347
+ repoId: z.string(),
1348
+ repoFullName: z.string(),
1349
+ projectId: z.string(),
1350
+ projectName: z.string().nullable(),
1351
+ fallbackSenderUserId: z.string().nullable(),
1352
+ prListenerEnabled: z.boolean(),
1353
+ prListenerPrompt: z.string().nullable(),
1354
+ });
1355
+ export const zGithubRepo = z.object({
1356
+ installationId: z.string(),
1357
+ accountLogin: z.string(),
1358
+ repoId: z.string(),
1359
+ fullName: z.string(),
1360
+ });
1270
1361
  export const zGithubInstallationResponse = z.object({
1271
1362
  id: z.string(),
1272
1363
  orgId: z.string(),
@@ -1281,6 +1372,13 @@ export const zGithubInstallationResponse = z.object({
1281
1372
  }))
1282
1373
  .nullable(),
1283
1374
  appPermissions: z.record(z.string(), z.string()).nullable(),
1375
+ repoMappings: z.record(z.string(), z.object({
1376
+ repoFullName: z.string(),
1377
+ projectId: z.string(),
1378
+ fallbackSenderUserId: z.string().nullable(),
1379
+ prListenerEnabled: z.boolean(),
1380
+ prListenerPrompt: z.string().nullable(),
1381
+ })),
1284
1382
  createdAt: z.iso
1285
1383
  .datetime()
1286
1384
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
@@ -2184,9 +2282,43 @@ export const zGithubReposQuery = z.object({
2184
2282
  /**
2185
2283
  * Repositories
2186
2284
  */
2187
- export const zGithubReposResponse = z.array(z.object({
2188
- fullName: z.string(),
2189
- }));
2285
+ export const zGithubReposResponse = z.array(zGithubRepo);
2286
+ export const zGithubMappingsListQuery = z.object({
2287
+ scope: z.enum(["user"]).optional(),
2288
+ });
2289
+ /**
2290
+ * Repo mappings
2291
+ */
2292
+ export const zGithubMappingsListResponse = z.array(zGithubRepoMapping);
2293
+ export const zGithubMappingUnsetPath = z.object({
2294
+ repoId: z.string().min(1),
2295
+ });
2296
+ export const zGithubMappingUnsetQuery = z.object({
2297
+ scope: z.enum(["user"]).optional(),
2298
+ installationId: z.string().min(1),
2299
+ });
2300
+ /**
2301
+ * Removed
2302
+ */
2303
+ export const zGithubMappingUnsetResponse = z.void();
2304
+ export const zGithubMappingSetBody = z.object({
2305
+ installationId: z.string().min(1),
2306
+ repoFullName: z.string().min(1),
2307
+ projectId: z.string().min(1),
2308
+ fallbackSenderUserId: z.string().nullish().default(null),
2309
+ prListenerEnabled: z.boolean().optional().default(false),
2310
+ prListenerPrompt: z.string().nullish().default(null),
2311
+ });
2312
+ export const zGithubMappingSetPath = z.object({
2313
+ repoId: z.string().min(1),
2314
+ });
2315
+ export const zGithubMappingSetQuery = z.object({
2316
+ scope: z.enum(["user"]).optional(),
2317
+ });
2318
+ /**
2319
+ * Mapped
2320
+ */
2321
+ export const zGithubMappingSetResponse = z.void();
2190
2322
  export const zGoogleStatusQuery = z.object({
2191
2323
  scope: z.enum(["user"]).optional(),
2192
2324
  });
@@ -2262,7 +2394,7 @@ export const zMcpCreateBody = z.object({
2262
2394
  repository: zRepository.nullish().default(null),
2263
2395
  tools: z.array(z.string()).optional().default([]),
2264
2396
  prompts: z.array(z.string()).optional().default([]),
2265
- auth: z.enum(["none", "oauth", "api_key", "basic"]).optional().default("none"),
2397
+ auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]).optional().default("none"),
2266
2398
  authConfig: zMcpAuthConfig.nullish().default(null),
2267
2399
  tags: z.array(z.string()).optional(),
2268
2400
  });
@@ -2329,7 +2461,7 @@ export const zMcpUpdateBody = z.object({
2329
2461
  repository: zRepository.nullish(),
2330
2462
  tools: z.array(z.string()).optional(),
2331
2463
  prompts: z.array(z.string()).optional(),
2332
- auth: z.enum(["none", "oauth", "api_key", "basic"]).optional(),
2464
+ auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]).optional(),
2333
2465
  authConfig: zMcpAuthConfig.nullish(),
2334
2466
  websiteMetadata: zWebsiteMetadata.nullish(),
2335
2467
  tags: z.array(z.string()).optional(),
@@ -3508,6 +3640,11 @@ export const zTriggerCreateBody = z.object({
3508
3640
  inputMessage: z.string(),
3509
3641
  schedule: z.string(),
3510
3642
  timezone: z.string().nullish().default(null),
3643
+ until: z.iso
3644
+ .datetime()
3645
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
3646
+ .nullish()
3647
+ .default(null),
3511
3648
  isEnabled: z.boolean().optional().default(true),
3512
3649
  });
3513
3650
  export const zTriggerCreateQuery = z.object({
@@ -3534,6 +3671,10 @@ export const zTriggerUpdateBody = z.object({
3534
3671
  inputMessage: z.string().optional(),
3535
3672
  schedule: z.string().optional(),
3536
3673
  timezone: z.string().nullish(),
3674
+ until: z.iso
3675
+ .datetime()
3676
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
3677
+ .nullish(),
3537
3678
  isEnabled: z.boolean().optional(),
3538
3679
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
3539
3680
  });
@@ -3575,11 +3716,12 @@ export const zWebhookTriggerCreateBody = z.object({
3575
3716
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
3576
3717
  projectAgentId: z.string().nullish().default(null),
3577
3718
  senderUserId: z.string(),
3578
- provider: z.enum(["generic"]),
3719
+ provider: z.enum(["generic", "linear"]),
3579
3720
  providerInstallId: z.string().nullable(),
3580
3721
  scopeFilter: z
3581
3722
  .object({
3582
3723
  channelId: z.string().optional(),
3724
+ linearProjectId: z.string().optional(),
3583
3725
  })
3584
3726
  .nullable(),
3585
3727
  isEnabled: z.boolean().optional().default(true),
@@ -3608,6 +3750,7 @@ export const zWebhookTriggerUpdateBody = z.object({
3608
3750
  scopeFilter: z
3609
3751
  .object({
3610
3752
  channelId: z.string().optional(),
3753
+ linearProjectId: z.string().optional(),
3611
3754
  })
3612
3755
  .nullish(),
3613
3756
  isEnabled: z.boolean().optional(),
@@ -3786,6 +3929,65 @@ export const zTelegramChatSetQuery = z.object({
3786
3929
  * Updated mapping
3787
3930
  */
3788
3931
  export const zTelegramChatSetResponse = zTelegramChatMapping;
3932
+ export const zLinearUninstallQuery = z.object({
3933
+ scope: z.enum(["user"]).optional(),
3934
+ });
3935
+ /**
3936
+ * Removed
3937
+ */
3938
+ export const zLinearUninstallResponse = z.void();
3939
+ export const zLinearInstallQuery = z.object({
3940
+ scope: z.enum(["user"]).optional(),
3941
+ returnTo: z.string().optional(),
3942
+ });
3943
+ /**
3944
+ * Authorization URL for the user to visit
3945
+ */
3946
+ export const zLinearInstallResponse = zLinearOAuthStartResult;
3947
+ export const zLinearStatusQuery = z.object({
3948
+ scope: z.enum(["user"]).optional(),
3949
+ });
3950
+ /**
3951
+ * Linear installation status
3952
+ */
3953
+ export const zLinearStatusResponse = zLinearStatus;
3954
+ export const zLinearProjectsQuery = z.object({
3955
+ scope: z.enum(["user"]).optional(),
3956
+ });
3957
+ /**
3958
+ * Linear projects (with a __global__ entry for issues without a project)
3959
+ */
3960
+ export const zLinearProjectsResponse = z.array(zLinearProject);
3961
+ export const zLinearMappingsListQuery = z.object({
3962
+ scope: z.enum(["user"]).optional(),
3963
+ });
3964
+ /**
3965
+ * Linear project mappings
3966
+ */
3967
+ export const zLinearMappingsListResponse = z.array(zLinearMapping);
3968
+ export const zLinearMappingsCreateBody = z.object({
3969
+ renProjectId: z.string().min(1),
3970
+ linearProjectId: z.string().min(1),
3971
+ senderUserId: z.string().min(1),
3972
+ projectAgentId: z.string().nullish(),
3973
+ });
3974
+ export const zLinearMappingsCreateQuery = z.object({
3975
+ scope: z.enum(["user"]).optional(),
3976
+ });
3977
+ /**
3978
+ * Created mapping
3979
+ */
3980
+ export const zLinearMappingsCreateResponse = zLinearMapping;
3981
+ export const zLinearMappingsRemovePath = z.object({
3982
+ triggerId: z.string().min(1),
3983
+ });
3984
+ export const zLinearMappingsRemoveQuery = z.object({
3985
+ scope: z.enum(["user"]).optional(),
3986
+ });
3987
+ /**
3988
+ * Removed
3989
+ */
3990
+ export const zLinearMappingsRemoveResponse = z.void();
3789
3991
  export const zVaultListQuery = z.object({
3790
3992
  scope: z.enum(["user"]).optional(),
3791
3993
  limit: z.number().gte(1).lte(1000).optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@renai-labs/sdk",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "TypeScript SDK for the Ren API, generated from OpenAPI.",
5
5
  "license": "MIT",
6
6
  "author": "Ren Labs, Inc.",