@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.
@@ -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>;
@@ -867,6 +921,7 @@ export type SessionMessagesPage = {
867
921
  export type SessionUrlResponse = {
868
922
  url: string;
869
923
  authedUrl: string;
924
+ serverUrl: string;
870
925
  serverPassword: string;
871
926
  username: string;
872
927
  };
@@ -1167,7 +1222,7 @@ export type Mcp = {
1167
1222
  repository: Repository | null;
1168
1223
  tools: Array<string>;
1169
1224
  prompts: Array<string>;
1170
- auth: "none" | "oauth" | "api_key" | "basic";
1225
+ auth: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
1171
1226
  authConfig: McpAuthConfig | null;
1172
1227
  env: {
1173
1228
  [key: string]: string;
@@ -1197,6 +1252,23 @@ export type GoogleWorkspaceStatus = {
1197
1252
  scopes: Array<string>;
1198
1253
  redirectUri: string;
1199
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
+ };
1200
1272
  export type GithubStatus = {
1201
1273
  hasInstallation: boolean;
1202
1274
  hasUserCredential: boolean;
@@ -1216,6 +1288,15 @@ export type GithubInstallationResponse = {
1216
1288
  appPermissions: {
1217
1289
  [key: string]: string;
1218
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
+ };
1219
1300
  createdAt: string;
1220
1301
  updatedAt: string;
1221
1302
  archivedAt: string | null;
@@ -3582,11 +3663,138 @@ export type GithubReposResponses = {
3582
3663
  /**
3583
3664
  * Repositories
3584
3665
  */
3585
- 200: Array<{
3586
- fullName: string;
3587
- }>;
3666
+ 200: Array<GithubRepo>;
3588
3667
  };
3589
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];
3590
3798
  export type GoogleStatusData = {
3591
3799
  body?: never;
3592
3800
  path?: never;
@@ -3842,7 +4050,7 @@ export type McpCreateData = {
3842
4050
  repository?: Repository | null;
3843
4051
  tools?: Array<string>;
3844
4052
  prompts?: Array<string>;
3845
- auth?: "none" | "oauth" | "api_key" | "basic";
4053
+ auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
3846
4054
  authConfig?: McpAuthConfig | null;
3847
4055
  tags?: Array<string>;
3848
4056
  };
@@ -4030,7 +4238,7 @@ export type McpUpdateData = {
4030
4238
  repository?: Repository | null;
4031
4239
  tools?: Array<string>;
4032
4240
  prompts?: Array<string>;
4033
- auth?: "none" | "oauth" | "api_key" | "basic";
4241
+ auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
4034
4242
  authConfig?: McpAuthConfig | null;
4035
4243
  websiteMetadata?: WebsiteMetadata | null;
4036
4244
  tags?: Array<string>;
@@ -8342,6 +8550,7 @@ export type TriggerCreateData = {
8342
8550
  inputMessage: string;
8343
8551
  schedule: string;
8344
8552
  timezone?: string | null;
8553
+ until?: string | null;
8345
8554
  isEnabled?: boolean;
8346
8555
  };
8347
8556
  path?: never;
@@ -8436,6 +8645,7 @@ export type TriggerUpdateData = {
8436
8645
  inputMessage?: string;
8437
8646
  schedule?: string;
8438
8647
  timezone?: string | null;
8648
+ until?: string | null;
8439
8649
  isEnabled?: boolean;
8440
8650
  projectId: string;
8441
8651
  };
@@ -8575,10 +8785,11 @@ export type WebhookTriggerCreateData = {
8575
8785
  projectId: string;
8576
8786
  projectAgentId?: string | null;
8577
8787
  senderUserId: string;
8578
- provider: "generic";
8788
+ provider: "generic" | "linear";
8579
8789
  providerInstallId: string | null;
8580
8790
  scopeFilter: {
8581
8791
  channelId?: string;
8792
+ linearProjectId?: string;
8582
8793
  } | null;
8583
8794
  isEnabled?: boolean;
8584
8795
  };
@@ -8673,6 +8884,7 @@ export type WebhookTriggerUpdateData = {
8673
8884
  senderUserId?: string;
8674
8885
  scopeFilter?: {
8675
8886
  channelId?: string;
8887
+ linearProjectId?: string;
8676
8888
  } | null;
8677
8889
  isEnabled?: boolean;
8678
8890
  projectId: string;
@@ -9399,6 +9611,269 @@ export type TelegramChatSetResponses = {
9399
9611
  200: TelegramChatMapping;
9400
9612
  };
9401
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];
9402
9877
  export type VaultListData = {
9403
9878
  body?: never;
9404
9879
  path?: never;