@renai-labs/sdk 0.1.16 → 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()),
@@ -819,6 +893,7 @@ export const zSessionMessagesPage = z.object({
819
893
  export const zSessionUrlResponse = z.object({
820
894
  url: z.string(),
821
895
  authedUrl: z.string(),
896
+ serverUrl: z.string(),
822
897
  serverPassword: z.string(),
823
898
  username: z.string(),
824
899
  });
@@ -1228,7 +1303,7 @@ export const zMcp = z.object({
1228
1303
  repository: zRepository.nullable(),
1229
1304
  tools: z.array(z.string()),
1230
1305
  prompts: z.array(z.string()),
1231
- auth: z.enum(["none", "oauth", "api_key", "basic"]),
1306
+ auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]),
1232
1307
  authConfig: zMcpAuthConfig.nullable(),
1233
1308
  env: z.record(z.string(), z.string()),
1234
1309
  requiredCredentials: z.array(zRequiredCredential),
@@ -1266,6 +1341,23 @@ export const zGoogleWorkspaceStatus = z.object({
1266
1341
  scopes: z.array(z.string()),
1267
1342
  redirectUri: z.url(),
1268
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
+ });
1269
1361
  export const zGithubInstallationResponse = z.object({
1270
1362
  id: z.string(),
1271
1363
  orgId: z.string(),
@@ -1280,6 +1372,13 @@ export const zGithubInstallationResponse = z.object({
1280
1372
  }))
1281
1373
  .nullable(),
1282
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
+ })),
1283
1382
  createdAt: z.iso
1284
1383
  .datetime()
1285
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))$/),
@@ -2183,9 +2282,43 @@ export const zGithubReposQuery = z.object({
2183
2282
  /**
2184
2283
  * Repositories
2185
2284
  */
2186
- export const zGithubReposResponse = z.array(z.object({
2187
- fullName: z.string(),
2188
- }));
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();
2189
2322
  export const zGoogleStatusQuery = z.object({
2190
2323
  scope: z.enum(["user"]).optional(),
2191
2324
  });
@@ -2261,7 +2394,7 @@ export const zMcpCreateBody = z.object({
2261
2394
  repository: zRepository.nullish().default(null),
2262
2395
  tools: z.array(z.string()).optional().default([]),
2263
2396
  prompts: z.array(z.string()).optional().default([]),
2264
- 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"),
2265
2398
  authConfig: zMcpAuthConfig.nullish().default(null),
2266
2399
  tags: z.array(z.string()).optional(),
2267
2400
  });
@@ -2328,7 +2461,7 @@ export const zMcpUpdateBody = z.object({
2328
2461
  repository: zRepository.nullish(),
2329
2462
  tools: z.array(z.string()).optional(),
2330
2463
  prompts: z.array(z.string()).optional(),
2331
- auth: z.enum(["none", "oauth", "api_key", "basic"]).optional(),
2464
+ auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]).optional(),
2332
2465
  authConfig: zMcpAuthConfig.nullish(),
2333
2466
  websiteMetadata: zWebsiteMetadata.nullish(),
2334
2467
  tags: z.array(z.string()).optional(),
@@ -3507,6 +3640,11 @@ export const zTriggerCreateBody = z.object({
3507
3640
  inputMessage: z.string(),
3508
3641
  schedule: z.string(),
3509
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),
3510
3648
  isEnabled: z.boolean().optional().default(true),
3511
3649
  });
3512
3650
  export const zTriggerCreateQuery = z.object({
@@ -3533,6 +3671,10 @@ export const zTriggerUpdateBody = z.object({
3533
3671
  inputMessage: z.string().optional(),
3534
3672
  schedule: z.string().optional(),
3535
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(),
3536
3678
  isEnabled: z.boolean().optional(),
3537
3679
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
3538
3680
  });
@@ -3574,11 +3716,12 @@ export const zWebhookTriggerCreateBody = z.object({
3574
3716
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
3575
3717
  projectAgentId: z.string().nullish().default(null),
3576
3718
  senderUserId: z.string(),
3577
- provider: z.enum(["generic"]),
3719
+ provider: z.enum(["generic", "linear"]),
3578
3720
  providerInstallId: z.string().nullable(),
3579
3721
  scopeFilter: z
3580
3722
  .object({
3581
3723
  channelId: z.string().optional(),
3724
+ linearProjectId: z.string().optional(),
3582
3725
  })
3583
3726
  .nullable(),
3584
3727
  isEnabled: z.boolean().optional().default(true),
@@ -3607,6 +3750,7 @@ export const zWebhookTriggerUpdateBody = z.object({
3607
3750
  scopeFilter: z
3608
3751
  .object({
3609
3752
  channelId: z.string().optional(),
3753
+ linearProjectId: z.string().optional(),
3610
3754
  })
3611
3755
  .nullish(),
3612
3756
  isEnabled: z.boolean().optional(),
@@ -3785,6 +3929,65 @@ export const zTelegramChatSetQuery = z.object({
3785
3929
  * Updated mapping
3786
3930
  */
3787
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();
3788
3991
  export const zVaultListQuery = z.object({
3789
3992
  scope: z.enum(["user"]).optional(),
3790
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.16",
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.",