@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.
@@ -135,6 +135,7 @@ export type BlueprintProjectEntry = {
135
135
  timezone: string | null;
136
136
  cronTriggerId: string;
137
137
  agentId: string | null;
138
+ until?: string | null;
138
139
  }>;
139
140
  };
140
141
  export type BlueprintTemplate = {
@@ -225,6 +226,11 @@ export type CredentialAuth = {
225
226
  type: "basic";
226
227
  username: string;
227
228
  password: string;
229
+ } | {
230
+ type: "mcp_provider";
231
+ provider: "composio";
232
+ userId: string;
233
+ url: string;
228
234
  };
229
235
  export type Credential = {
230
236
  id: string;
@@ -256,6 +262,10 @@ export type CredentialAuthPublic = {
256
262
  } | {
257
263
  type: "basic";
258
264
  username: string;
265
+ } | {
266
+ type: "mcp_provider";
267
+ provider: "composio";
268
+ userId: string;
259
269
  };
260
270
  export type Vault = {
261
271
  id: string;
@@ -268,6 +278,39 @@ export type Vault = {
268
278
  updatedAt: string;
269
279
  archivedAt: string | null;
270
280
  };
281
+ export type LinearMapping = {
282
+ id: string;
283
+ renProjectId: string;
284
+ renProjectName: string | null;
285
+ linearProjectId: string | null;
286
+ senderUserId: string;
287
+ projectAgentId: string | null;
288
+ isEnabled: boolean;
289
+ };
290
+ export type LinearProject = {
291
+ id: string;
292
+ name: string;
293
+ };
294
+ export type LinearStatus = {
295
+ hasInstallation: boolean;
296
+ installations: Array<LinearInstallation>;
297
+ };
298
+ export type LinearInstallation = {
299
+ id: string;
300
+ orgId: string;
301
+ installedById: string;
302
+ workspaceId: string;
303
+ workspaceName: string | null;
304
+ appUserId: string;
305
+ accessTokenExpiresAt: string | null;
306
+ scope: string;
307
+ createdAt: string;
308
+ updatedAt: string;
309
+ archivedAt: string | null;
310
+ };
311
+ export type LinearOAuthStartResult = {
312
+ url: string;
313
+ };
271
314
  export type TelegramChatMapping = {
272
315
  id: string;
273
316
  chatId: string;
@@ -358,10 +401,11 @@ export type WebhookTrigger = {
358
401
  projectId: string;
359
402
  projectAgentId: string | null;
360
403
  senderUserId: string;
361
- provider: "generic";
404
+ provider: "generic" | "linear";
362
405
  providerInstallId: string | null;
363
406
  scopeFilter: {
364
407
  channelId?: string;
408
+ linearProjectId?: string;
365
409
  } | null;
366
410
  secretHash: string | null;
367
411
  isEnabled: boolean;
@@ -377,6 +421,7 @@ export type CronTrigger = {
377
421
  inputMessage: string;
378
422
  schedule: string;
379
423
  timezone: string | null;
424
+ until: string | null;
380
425
  isEnabled: boolean;
381
426
  syncedAt: string | null;
382
427
  createdAt: string;
@@ -427,7 +472,7 @@ export type Topology = {
427
472
  slug: string;
428
473
  name: string;
429
474
  /**
430
- * Ren model id, e.g. opus-4-8, sonnet-4-6, haiku-4-5.
475
+ * Ren model id, e.g. opus-4-8, sonnet-5, haiku-4-5.
431
476
  */
432
477
  model?: string;
433
478
  /**
@@ -470,7 +515,7 @@ export type Topology = {
470
515
  * For a custom (non-registry) remote MCP server.
471
516
  */
472
517
  remoteUrl?: string;
473
- auth?: "oauth" | "basic" | "api_key" | "none";
518
+ auth?: "oauth" | "basic" | "api_key" | "none" | "mcp_provider";
474
519
  /**
475
520
  * Slug of the credential this MCP needs.
476
521
  */
@@ -510,7 +555,7 @@ export type Topology = {
510
555
  * What the credential is for, e.g. "github", "apollo".
511
556
  */
512
557
  provider: string;
513
- authType?: "oauth" | "basic" | "api_key" | "env";
558
+ authType?: "oauth" | "basic" | "api_key" | "env" | "mcp_provider";
514
559
  /**
515
560
  * Slug of the vault this credential lives in.
516
561
  */
@@ -723,6 +768,10 @@ export type Topology = {
723
768
  * IANA tz, e.g. "Asia/Kolkata".
724
769
  */
725
770
  timezone?: string;
771
+ /**
772
+ * Inclusive UTC end time for scheduled occurrences.
773
+ */
774
+ until?: string;
726
775
  /**
727
776
  * Fixed prompt delivered to the primary agent on each fire.
728
777
  */
@@ -841,13 +890,18 @@ export type McpAuthConfig = {
841
890
  type: "basic";
842
891
  } | {
843
892
  type: "none";
893
+ } | {
894
+ type: "mcp_provider";
895
+ provider: "composio";
896
+ toolkit: string;
897
+ authConfigId: string;
844
898
  };
845
899
  export type AuthRequirementMcp = {
846
900
  mcpId: string;
847
901
  slug: string;
848
902
  name: string;
849
903
  icon: string | null;
850
- authType: "none" | "oauth" | "api_key" | "basic";
904
+ authType: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
851
905
  authConfig: McpAuthConfig | null;
852
906
  satisfied: boolean;
853
907
  neededByAgentIds: Array<string>;
@@ -1168,7 +1222,7 @@ export type Mcp = {
1168
1222
  repository: Repository | null;
1169
1223
  tools: Array<string>;
1170
1224
  prompts: Array<string>;
1171
- auth: "none" | "oauth" | "api_key" | "basic";
1225
+ auth: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
1172
1226
  authConfig: McpAuthConfig | null;
1173
1227
  env: {
1174
1228
  [key: string]: string;
@@ -1198,6 +1252,23 @@ export type GoogleWorkspaceStatus = {
1198
1252
  scopes: Array<string>;
1199
1253
  redirectUri: string;
1200
1254
  };
1255
+ export type GithubRepoMapping = {
1256
+ installationId: string;
1257
+ accountLogin: string;
1258
+ repoId: string;
1259
+ repoFullName: string;
1260
+ projectId: string;
1261
+ projectName: string | null;
1262
+ fallbackSenderUserId: string | null;
1263
+ prListenerEnabled: boolean;
1264
+ prListenerPrompt: string | null;
1265
+ };
1266
+ export type GithubRepo = {
1267
+ installationId: string;
1268
+ accountLogin: string;
1269
+ repoId: string;
1270
+ fullName: string;
1271
+ };
1201
1272
  export type GithubStatus = {
1202
1273
  hasInstallation: boolean;
1203
1274
  hasUserCredential: boolean;
@@ -1217,6 +1288,15 @@ export type GithubInstallationResponse = {
1217
1288
  appPermissions: {
1218
1289
  [key: string]: string;
1219
1290
  } | null;
1291
+ repoMappings: {
1292
+ [key: string]: {
1293
+ repoFullName: string;
1294
+ projectId: string;
1295
+ fallbackSenderUserId: string | null;
1296
+ prListenerEnabled: boolean;
1297
+ prListenerPrompt: string | null;
1298
+ };
1299
+ };
1220
1300
  createdAt: string;
1221
1301
  updatedAt: string;
1222
1302
  archivedAt: string | null;
@@ -3583,11 +3663,138 @@ export type GithubReposResponses = {
3583
3663
  /**
3584
3664
  * Repositories
3585
3665
  */
3586
- 200: Array<{
3587
- fullName: string;
3588
- }>;
3666
+ 200: Array<GithubRepo>;
3589
3667
  };
3590
3668
  export type GithubReposResponse = GithubReposResponses[keyof GithubReposResponses];
3669
+ export type GithubMappingsListData = {
3670
+ body?: never;
3671
+ path?: never;
3672
+ query?: {
3673
+ /**
3674
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
3675
+ */
3676
+ scope?: "user";
3677
+ };
3678
+ url: "/api/github/mappings";
3679
+ };
3680
+ export type GithubMappingsListErrors = {
3681
+ /**
3682
+ * Unauthorized
3683
+ */
3684
+ 401: {
3685
+ error: string;
3686
+ };
3687
+ /**
3688
+ * Forbidden
3689
+ */
3690
+ 403: {
3691
+ error: string;
3692
+ };
3693
+ };
3694
+ export type GithubMappingsListError = GithubMappingsListErrors[keyof GithubMappingsListErrors];
3695
+ export type GithubMappingsListResponses = {
3696
+ /**
3697
+ * Repo mappings
3698
+ */
3699
+ 200: Array<GithubRepoMapping>;
3700
+ };
3701
+ export type GithubMappingsListResponse = GithubMappingsListResponses[keyof GithubMappingsListResponses];
3702
+ export type GithubMappingUnsetData = {
3703
+ body?: never;
3704
+ path: {
3705
+ repoId: string;
3706
+ };
3707
+ query: {
3708
+ /**
3709
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
3710
+ */
3711
+ scope?: "user";
3712
+ installationId: string;
3713
+ };
3714
+ url: "/api/github/repos/{repoId}/mapping";
3715
+ };
3716
+ export type GithubMappingUnsetErrors = {
3717
+ /**
3718
+ * Unauthorized
3719
+ */
3720
+ 401: {
3721
+ error: string;
3722
+ };
3723
+ /**
3724
+ * Forbidden
3725
+ */
3726
+ 403: {
3727
+ error: string;
3728
+ };
3729
+ /**
3730
+ * Not found
3731
+ */
3732
+ 404: {
3733
+ error: string;
3734
+ };
3735
+ };
3736
+ export type GithubMappingUnsetError = GithubMappingUnsetErrors[keyof GithubMappingUnsetErrors];
3737
+ export type GithubMappingUnsetResponses = {
3738
+ /**
3739
+ * Removed
3740
+ */
3741
+ 204: void;
3742
+ };
3743
+ export type GithubMappingUnsetResponse = GithubMappingUnsetResponses[keyof GithubMappingUnsetResponses];
3744
+ export type GithubMappingSetData = {
3745
+ body?: {
3746
+ installationId: string;
3747
+ repoFullName: string;
3748
+ projectId: string;
3749
+ fallbackSenderUserId?: string | null;
3750
+ prListenerEnabled?: boolean;
3751
+ prListenerPrompt?: string | null;
3752
+ };
3753
+ path: {
3754
+ repoId: string;
3755
+ };
3756
+ query?: {
3757
+ /**
3758
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
3759
+ */
3760
+ scope?: "user";
3761
+ };
3762
+ url: "/api/github/repos/{repoId}/mapping";
3763
+ };
3764
+ export type GithubMappingSetErrors = {
3765
+ /**
3766
+ * Bad request
3767
+ */
3768
+ 400: {
3769
+ error: string;
3770
+ };
3771
+ /**
3772
+ * Unauthorized
3773
+ */
3774
+ 401: {
3775
+ error: string;
3776
+ };
3777
+ /**
3778
+ * Forbidden
3779
+ */
3780
+ 403: {
3781
+ error: string;
3782
+ };
3783
+ /**
3784
+ * Not found
3785
+ */
3786
+ 404: {
3787
+ error: string;
3788
+ };
3789
+ };
3790
+ export type GithubMappingSetError = GithubMappingSetErrors[keyof GithubMappingSetErrors];
3791
+ export type GithubMappingSetResponses = {
3792
+ /**
3793
+ * Mapped
3794
+ */
3795
+ 204: void;
3796
+ };
3797
+ export type GithubMappingSetResponse = GithubMappingSetResponses[keyof GithubMappingSetResponses];
3591
3798
  export type GoogleStatusData = {
3592
3799
  body?: never;
3593
3800
  path?: never;
@@ -3843,7 +4050,7 @@ export type McpCreateData = {
3843
4050
  repository?: Repository | null;
3844
4051
  tools?: Array<string>;
3845
4052
  prompts?: Array<string>;
3846
- auth?: "none" | "oauth" | "api_key" | "basic";
4053
+ auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
3847
4054
  authConfig?: McpAuthConfig | null;
3848
4055
  tags?: Array<string>;
3849
4056
  };
@@ -4031,7 +4238,7 @@ export type McpUpdateData = {
4031
4238
  repository?: Repository | null;
4032
4239
  tools?: Array<string>;
4033
4240
  prompts?: Array<string>;
4034
- auth?: "none" | "oauth" | "api_key" | "basic";
4241
+ auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
4035
4242
  authConfig?: McpAuthConfig | null;
4036
4243
  websiteMetadata?: WebsiteMetadata | null;
4037
4244
  tags?: Array<string>;
@@ -8343,6 +8550,7 @@ export type TriggerCreateData = {
8343
8550
  inputMessage: string;
8344
8551
  schedule: string;
8345
8552
  timezone?: string | null;
8553
+ until?: string | null;
8346
8554
  isEnabled?: boolean;
8347
8555
  };
8348
8556
  path?: never;
@@ -8437,6 +8645,7 @@ export type TriggerUpdateData = {
8437
8645
  inputMessage?: string;
8438
8646
  schedule?: string;
8439
8647
  timezone?: string | null;
8648
+ until?: string | null;
8440
8649
  isEnabled?: boolean;
8441
8650
  projectId: string;
8442
8651
  };
@@ -8576,10 +8785,11 @@ export type WebhookTriggerCreateData = {
8576
8785
  projectId: string;
8577
8786
  projectAgentId?: string | null;
8578
8787
  senderUserId: string;
8579
- provider: "generic";
8788
+ provider: "generic" | "linear";
8580
8789
  providerInstallId: string | null;
8581
8790
  scopeFilter: {
8582
8791
  channelId?: string;
8792
+ linearProjectId?: string;
8583
8793
  } | null;
8584
8794
  isEnabled?: boolean;
8585
8795
  };
@@ -8674,6 +8884,7 @@ export type WebhookTriggerUpdateData = {
8674
8884
  senderUserId?: string;
8675
8885
  scopeFilter?: {
8676
8886
  channelId?: string;
8887
+ linearProjectId?: string;
8677
8888
  } | null;
8678
8889
  isEnabled?: boolean;
8679
8890
  projectId: string;
@@ -9400,6 +9611,269 @@ export type TelegramChatSetResponses = {
9400
9611
  200: TelegramChatMapping;
9401
9612
  };
9402
9613
  export type TelegramChatSetResponse = TelegramChatSetResponses[keyof TelegramChatSetResponses];
9614
+ export type LinearUninstallData = {
9615
+ body?: never;
9616
+ path?: never;
9617
+ query?: {
9618
+ /**
9619
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9620
+ */
9621
+ scope?: "user";
9622
+ };
9623
+ url: "/api/linear/install";
9624
+ };
9625
+ export type LinearUninstallErrors = {
9626
+ /**
9627
+ * Unauthorized
9628
+ */
9629
+ 401: {
9630
+ error: string;
9631
+ };
9632
+ /**
9633
+ * Forbidden
9634
+ */
9635
+ 403: {
9636
+ error: string;
9637
+ };
9638
+ /**
9639
+ * Not found
9640
+ */
9641
+ 404: {
9642
+ error: string;
9643
+ };
9644
+ };
9645
+ export type LinearUninstallError = LinearUninstallErrors[keyof LinearUninstallErrors];
9646
+ export type LinearUninstallResponses = {
9647
+ /**
9648
+ * Removed
9649
+ */
9650
+ 204: void;
9651
+ };
9652
+ export type LinearUninstallResponse = LinearUninstallResponses[keyof LinearUninstallResponses];
9653
+ export type LinearInstallData = {
9654
+ body?: never;
9655
+ path?: never;
9656
+ query?: {
9657
+ /**
9658
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9659
+ */
9660
+ scope?: "user";
9661
+ returnTo?: string;
9662
+ };
9663
+ url: "/api/linear/install";
9664
+ };
9665
+ export type LinearInstallErrors = {
9666
+ /**
9667
+ * Unauthorized
9668
+ */
9669
+ 401: {
9670
+ error: string;
9671
+ };
9672
+ /**
9673
+ * Forbidden
9674
+ */
9675
+ 403: {
9676
+ error: string;
9677
+ };
9678
+ };
9679
+ export type LinearInstallError = LinearInstallErrors[keyof LinearInstallErrors];
9680
+ export type LinearInstallResponses = {
9681
+ /**
9682
+ * Authorization URL for the user to visit
9683
+ */
9684
+ 200: LinearOAuthStartResult;
9685
+ };
9686
+ export type LinearInstallResponse = LinearInstallResponses[keyof LinearInstallResponses];
9687
+ export type LinearStatusData = {
9688
+ body?: never;
9689
+ path?: never;
9690
+ query?: {
9691
+ /**
9692
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9693
+ */
9694
+ scope?: "user";
9695
+ };
9696
+ url: "/api/linear/status";
9697
+ };
9698
+ export type LinearStatusErrors = {
9699
+ /**
9700
+ * Unauthorized
9701
+ */
9702
+ 401: {
9703
+ error: string;
9704
+ };
9705
+ /**
9706
+ * Forbidden
9707
+ */
9708
+ 403: {
9709
+ error: string;
9710
+ };
9711
+ };
9712
+ export type LinearStatusError = LinearStatusErrors[keyof LinearStatusErrors];
9713
+ export type LinearStatusResponses = {
9714
+ /**
9715
+ * Linear installation status
9716
+ */
9717
+ 200: LinearStatus;
9718
+ };
9719
+ export type LinearStatusResponse = LinearStatusResponses[keyof LinearStatusResponses];
9720
+ export type LinearProjectsData = {
9721
+ body?: never;
9722
+ path?: never;
9723
+ query?: {
9724
+ /**
9725
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9726
+ */
9727
+ scope?: "user";
9728
+ };
9729
+ url: "/api/linear/projects";
9730
+ };
9731
+ export type LinearProjectsErrors = {
9732
+ /**
9733
+ * Unauthorized
9734
+ */
9735
+ 401: {
9736
+ error: string;
9737
+ };
9738
+ /**
9739
+ * Forbidden
9740
+ */
9741
+ 403: {
9742
+ error: string;
9743
+ };
9744
+ };
9745
+ export type LinearProjectsError = LinearProjectsErrors[keyof LinearProjectsErrors];
9746
+ export type LinearProjectsResponses = {
9747
+ /**
9748
+ * Linear projects (with a __global__ entry for issues without a project)
9749
+ */
9750
+ 200: Array<LinearProject>;
9751
+ };
9752
+ export type LinearProjectsResponse = LinearProjectsResponses[keyof LinearProjectsResponses];
9753
+ export type LinearMappingsListData = {
9754
+ body?: never;
9755
+ path?: never;
9756
+ query?: {
9757
+ /**
9758
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9759
+ */
9760
+ scope?: "user";
9761
+ };
9762
+ url: "/api/linear/mappings";
9763
+ };
9764
+ export type LinearMappingsListErrors = {
9765
+ /**
9766
+ * Unauthorized
9767
+ */
9768
+ 401: {
9769
+ error: string;
9770
+ };
9771
+ /**
9772
+ * Forbidden
9773
+ */
9774
+ 403: {
9775
+ error: string;
9776
+ };
9777
+ };
9778
+ export type LinearMappingsListError = LinearMappingsListErrors[keyof LinearMappingsListErrors];
9779
+ export type LinearMappingsListResponses = {
9780
+ /**
9781
+ * Linear project mappings
9782
+ */
9783
+ 200: Array<LinearMapping>;
9784
+ };
9785
+ export type LinearMappingsListResponse = LinearMappingsListResponses[keyof LinearMappingsListResponses];
9786
+ export type LinearMappingsCreateData = {
9787
+ body?: {
9788
+ renProjectId: string;
9789
+ linearProjectId: string;
9790
+ senderUserId: string;
9791
+ projectAgentId?: string | null;
9792
+ };
9793
+ path?: never;
9794
+ query?: {
9795
+ /**
9796
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9797
+ */
9798
+ scope?: "user";
9799
+ };
9800
+ url: "/api/linear/mappings";
9801
+ };
9802
+ export type LinearMappingsCreateErrors = {
9803
+ /**
9804
+ * Bad request
9805
+ */
9806
+ 400: {
9807
+ error: string;
9808
+ };
9809
+ /**
9810
+ * Unauthorized
9811
+ */
9812
+ 401: {
9813
+ error: string;
9814
+ };
9815
+ /**
9816
+ * Forbidden
9817
+ */
9818
+ 403: {
9819
+ error: string;
9820
+ };
9821
+ /**
9822
+ * Not found
9823
+ */
9824
+ 404: {
9825
+ error: string;
9826
+ };
9827
+ };
9828
+ export type LinearMappingsCreateError = LinearMappingsCreateErrors[keyof LinearMappingsCreateErrors];
9829
+ export type LinearMappingsCreateResponses = {
9830
+ /**
9831
+ * Created mapping
9832
+ */
9833
+ 200: LinearMapping;
9834
+ };
9835
+ export type LinearMappingsCreateResponse = LinearMappingsCreateResponses[keyof LinearMappingsCreateResponses];
9836
+ export type LinearMappingsRemoveData = {
9837
+ body?: never;
9838
+ path: {
9839
+ triggerId: string;
9840
+ };
9841
+ query?: {
9842
+ /**
9843
+ * Pass 'user' to scope the operation to the authenticated user's private namespace. Omit for the org-wide namespace.
9844
+ */
9845
+ scope?: "user";
9846
+ };
9847
+ url: "/api/linear/mappings/{triggerId}";
9848
+ };
9849
+ export type LinearMappingsRemoveErrors = {
9850
+ /**
9851
+ * Unauthorized
9852
+ */
9853
+ 401: {
9854
+ error: string;
9855
+ };
9856
+ /**
9857
+ * Forbidden
9858
+ */
9859
+ 403: {
9860
+ error: string;
9861
+ };
9862
+ /**
9863
+ * Not found
9864
+ */
9865
+ 404: {
9866
+ error: string;
9867
+ };
9868
+ };
9869
+ export type LinearMappingsRemoveError = LinearMappingsRemoveErrors[keyof LinearMappingsRemoveErrors];
9870
+ export type LinearMappingsRemoveResponses = {
9871
+ /**
9872
+ * Removed
9873
+ */
9874
+ 204: void;
9875
+ };
9876
+ export type LinearMappingsRemoveResponse = LinearMappingsRemoveResponses[keyof LinearMappingsRemoveResponses];
9403
9877
  export type VaultListData = {
9404
9878
  body?: never;
9405
9879
  path?: never;