@renai-labs/sdk 0.1.7 → 0.1.8

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.
@@ -129,6 +129,14 @@ export const zBlueprintPublicView = z.object({
129
129
  publisherId: z.string(),
130
130
  template: zBlueprintTemplate,
131
131
  });
132
+ export const zRequiredCredential = z.object({
133
+ name: z
134
+ .string()
135
+ .min(1)
136
+ .max(128)
137
+ .regex(/^[A-Z_][A-Z0-9_]*$/),
138
+ description: z.string().max(512).optional(),
139
+ });
132
140
  export const zRepository = z.object({
133
141
  url: z.url().optional(),
134
142
  source: z.string().optional(),
@@ -191,18 +199,32 @@ export const zCredentialAuth = z.union([
191
199
  })
192
200
  .nullish(),
193
201
  profile: z
194
- .object({
195
- service: z.literal("github"),
196
- id: z.number(),
197
- login: z.string(),
198
- name: z.string().nullable(),
199
- })
202
+ .union([
203
+ z.object({
204
+ service: z.literal("github"),
205
+ id: z.number(),
206
+ login: z.string(),
207
+ name: z.string().nullable(),
208
+ }),
209
+ z.object({
210
+ service: z.literal("google_workspace"),
211
+ sub: z.string(),
212
+ email: z.string(),
213
+ name: z.string().nullable(),
214
+ hd: z.string().nullable(),
215
+ }),
216
+ ])
200
217
  .nullish(),
201
218
  }),
202
219
  z.object({
203
220
  type: z.literal("env"),
204
221
  value: z.string(),
205
222
  }),
223
+ z.object({
224
+ type: z.literal("basic"),
225
+ username: z.string(),
226
+ password: z.string(),
227
+ }),
206
228
  ]);
207
229
  export const zCredentialAuthPublic = z.union([
208
230
  z.object({
@@ -224,13 +246,17 @@ export const zCredentialAuthPublic = z.union([
224
246
  z.object({
225
247
  type: z.literal("env"),
226
248
  }),
249
+ z.object({
250
+ type: z.literal("basic"),
251
+ username: z.string(),
252
+ }),
227
253
  ]);
228
254
  export const zCredential = z.object({
229
255
  id: z.string(),
230
256
  vaultId: z.string(),
231
257
  name: z.string(),
232
258
  mcpId: z.string().nullable(),
233
- provider: z.enum(["github"]).nullable(),
259
+ provider: z.enum(["github", "google_workspace"]).nullable(),
234
260
  label: z.string().nullable(),
235
261
  keyPreview: z.string().nullable(),
236
262
  auth: zCredentialAuthPublic,
@@ -350,13 +376,69 @@ export const zCronTrigger = z.object({
350
376
  .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))$/)
351
377
  .nullable(),
352
378
  });
353
- export const zRequiredCredential = z.object({
354
- name: z
355
- .string()
356
- .min(1)
357
- .max(128)
358
- .regex(/^[A-Z_][A-Z0-9_]*$/),
359
- description: z.string().max(512).optional(),
379
+ export const zTopology = z.object({
380
+ surfaces: z.array(z.object({
381
+ id: z.string(),
382
+ kind: z.enum(["mcp", "cron", "webhook", "slack", "github"]),
383
+ name: z.string(),
384
+ icon: z.string().optional(),
385
+ tags: z.array(z.string()),
386
+ ports: z.array(z.object({
387
+ id: z.string(),
388
+ label: z.string(),
389
+ targetProjectId: z.string(),
390
+ })),
391
+ vaultIds: z.array(z.string()),
392
+ })),
393
+ pods: z.array(z.object({
394
+ id: z.string(),
395
+ name: z.string(),
396
+ isPrivate: z.boolean(),
397
+ })),
398
+ projects: z.array(z.object({
399
+ id: z.string(),
400
+ podId: z.string(),
401
+ name: z.string(),
402
+ agents: z.array(z.object({
403
+ id: z.string(),
404
+ name: z.string(),
405
+ icon: z.string().optional(),
406
+ model: z.string().optional(),
407
+ })),
408
+ skillsCount: z.number(),
409
+ })),
410
+ vaults: z.array(z.object({
411
+ id: z.string(),
412
+ name: z.string(),
413
+ podIds: z.array(z.string()),
414
+ credentials: z.array(z.object({
415
+ id: z.string(),
416
+ label: z.string(),
417
+ forSurfaceId: z.string().optional(),
418
+ provider: z.string().optional(),
419
+ })),
420
+ })),
421
+ stores: z.array(z.object({
422
+ id: z.string(),
423
+ kind: z.enum(["file", "memory"]),
424
+ name: z.string(),
425
+ mounts: z.array(z.object({
426
+ projectId: z.string(),
427
+ })),
428
+ })),
429
+ env: z
430
+ .object({
431
+ id: z.string(),
432
+ })
433
+ .nullable(),
434
+ edges: z.array(z.object({
435
+ id: z.string(),
436
+ kind: z.enum(["route", "state", "cred"]),
437
+ sourceId: z.string(),
438
+ sourcePortId: z.string().optional(),
439
+ targetId: z.string(),
440
+ targetCredId: z.string().optional(),
441
+ })),
360
442
  });
361
443
  export const zSkillVersion = z.object({
362
444
  id: z.string(),
@@ -443,6 +525,11 @@ export const zSessionFilesPresignUploadResponse = z.object({
443
525
  .datetime()
444
526
  .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))$/),
445
527
  });
528
+ export const zAuthRequirementEnvSource = z.object({
529
+ kind: z.enum(["skill", "mcp"]),
530
+ id: z.string(),
531
+ name: z.string(),
532
+ });
446
533
  export const zAuthRequirementEnv = z.object({
447
534
  name: z
448
535
  .string()
@@ -451,10 +538,7 @@ export const zAuthRequirementEnv = z.object({
451
538
  .regex(/^[A-Z_][A-Z0-9_]*$/),
452
539
  description: z.string().max(512).optional(),
453
540
  satisfied: z.boolean(),
454
- neededBy: z.array(z.object({
455
- skillId: z.string(),
456
- skillName: z.string(),
457
- })),
541
+ neededBy: z.array(zAuthRequirementEnvSource),
458
542
  });
459
543
  export const zMcpAuthConfig = z.union([
460
544
  z.object({
@@ -897,6 +981,8 @@ export const zMcp = z.object({
897
981
  prompts: z.array(z.string()),
898
982
  auth: z.enum(["none", "oauth", "api_key", "basic"]),
899
983
  authConfig: zMcpAuthConfig.nullable(),
984
+ env: z.record(z.string(), z.string()),
985
+ requiredCredentials: z.array(zRequiredCredential),
900
986
  orgId: z.string(),
901
987
  userId: z.string().nullable(),
902
988
  publisherId: z.string().nullable(),
@@ -922,6 +1008,15 @@ export const zMcp = z.object({
922
1008
  deprecationMessage: z.string().nullable(),
923
1009
  tags: z.array(z.string()).optional().default([]),
924
1010
  });
1011
+ export const zGoogleWorkspaceOAuthStartResult = z.object({
1012
+ url: z.url(),
1013
+ });
1014
+ export const zGoogleWorkspaceStatus = z.object({
1015
+ isConfigured: z.boolean(),
1016
+ clientId: z.string().nullable(),
1017
+ scopes: z.array(z.string()),
1018
+ redirectUri: z.url(),
1019
+ });
925
1020
  export const zGithubInstallationResponse = z.object({
926
1021
  id: z.string(),
927
1022
  orgId: z.string(),
@@ -1812,6 +1907,53 @@ export const zGithubReposQuery = z.object({
1812
1907
  export const zGithubReposResponse = z.array(z.object({
1813
1908
  fullName: z.string(),
1814
1909
  }));
1910
+ export const zGoogleStatusQuery = z.object({
1911
+ scope: z.enum(["user"]).optional(),
1912
+ });
1913
+ /**
1914
+ * Google Workspace configuration status
1915
+ */
1916
+ export const zGoogleStatusResponse = zGoogleWorkspaceStatus;
1917
+ export const zGoogleConfigDeleteQuery = z.object({
1918
+ scope: z.enum(["user"]).optional(),
1919
+ });
1920
+ /**
1921
+ * Removed
1922
+ */
1923
+ export const zGoogleConfigDeleteResponse = z.void();
1924
+ export const zGoogleConfigSaveBody = z.object({
1925
+ clientId: z.string().min(1),
1926
+ clientSecret: z.string().min(1),
1927
+ scopes: z.array(z.string().min(1)).min(1).optional(),
1928
+ });
1929
+ export const zGoogleConfigSaveQuery = z.object({
1930
+ scope: z.enum(["user"]).optional(),
1931
+ });
1932
+ /**
1933
+ * Updated Google Workspace configuration status
1934
+ */
1935
+ export const zGoogleConfigSaveResponse = zGoogleWorkspaceStatus;
1936
+ export const zGoogleDisconnectPath = z.object({
1937
+ vaultId: z.string(),
1938
+ });
1939
+ export const zGoogleDisconnectQuery = z.object({
1940
+ scope: z.enum(["user"]).optional(),
1941
+ });
1942
+ /**
1943
+ * Removed
1944
+ */
1945
+ export const zGoogleDisconnectResponse = z.void();
1946
+ export const zGoogleConnectPath = z.object({
1947
+ vaultId: z.string(),
1948
+ });
1949
+ export const zGoogleConnectQuery = z.object({
1950
+ scope: z.enum(["user"]).optional(),
1951
+ returnTo: z.string().optional(),
1952
+ });
1953
+ /**
1954
+ * Authorization URL for the user to visit
1955
+ */
1956
+ export const zGoogleConnectResponse = zGoogleWorkspaceOAuthStartResult;
1815
1957
  export const zMcpListQuery = z.object({
1816
1958
  scope: z.enum(["user"]).optional(),
1817
1959
  limit: z.number().gte(1).lte(1000).optional(),
@@ -1826,12 +1968,14 @@ export const zMcpCreateBody = z.object({
1826
1968
  name: z.string().min(1).max(256),
1827
1969
  description: z.string().optional().default(""),
1828
1970
  icon: z.string().nullish().default(null),
1829
- mcpServerUrl: z.url(),
1971
+ mcpServerUrl: z.url().nullish().default(null),
1830
1972
  docUrl: z.url().nullish().default(null),
1831
1973
  type: z.enum(["remote", "local"]).optional().default("remote"),
1832
1974
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional().default("streamable-http"),
1833
1975
  command: z.string().nullish().default(null),
1834
1976
  args: z.array(z.string()).optional().default([]),
1977
+ env: z.record(z.string(), z.string()).optional().default({}),
1978
+ requiredCredentials: z.array(zRequiredCredential).optional().default([]),
1835
1979
  version: z.string().nullish().default(null),
1836
1980
  repository: zRepository.nullish().default(null),
1837
1981
  tools: z.array(z.string()).optional().default([]),
@@ -1897,6 +2041,8 @@ export const zMcpUpdateBody = z.object({
1897
2041
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional(),
1898
2042
  command: z.string().nullish(),
1899
2043
  args: z.array(z.string()).optional(),
2044
+ env: z.record(z.string(), z.string()).optional(),
2045
+ requiredCredentials: z.array(zRequiredCredential).optional(),
1900
2046
  version: z.string().nullish(),
1901
2047
  repository: zRepository.nullish(),
1902
2048
  tools: z.array(z.string()).optional(),
@@ -3000,6 +3146,10 @@ export const zSkillVersionArchiveQuery = z.object({
3000
3146
  * Archived skill version
3001
3147
  */
3002
3148
  export const zSkillVersionArchiveResponse = zSkillVersion;
3149
+ /**
3150
+ * Agent-stack topology
3151
+ */
3152
+ export const zTopologyGetResponse = zTopology;
3003
3153
  export const zTriggerListQuery = z.object({
3004
3154
  scope: z.enum(["user"]).optional(),
3005
3155
  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.7",
3
+ "version": "0.1.8",
4
4
  "description": "TypeScript SDK for the Ren API, generated from OpenAPI.",
5
5
  "license": "MIT",
6
6
  "author": "Ren Labs, Inc.",