@renai-labs/sdk 0.1.7 → 0.1.9

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(),
@@ -1147,6 +1242,31 @@ export const zAgentVersion = z.object({
1147
1242
  model: z.string().nullable(),
1148
1243
  releaseNotes: z.string().nullable(),
1149
1244
  permission: zPermissionConfig,
1245
+ skills: z
1246
+ .array(z.object({
1247
+ skillId: z.string(),
1248
+ skillVersionId: z.string().nullish().default(null),
1249
+ skill: z.object({
1250
+ id: z.string(),
1251
+ slug: z.string(),
1252
+ name: z.string(),
1253
+ icon: z.string().nullable(),
1254
+ }),
1255
+ }))
1256
+ .optional()
1257
+ .default([]),
1258
+ mcps: z
1259
+ .array(z.object({
1260
+ mcpId: z.string(),
1261
+ mcp: z.object({
1262
+ id: z.string(),
1263
+ slug: z.string(),
1264
+ name: z.string(),
1265
+ icon: z.string().nullable(),
1266
+ }),
1267
+ }))
1268
+ .optional()
1269
+ .default([]),
1150
1270
  });
1151
1271
  export const zSearchResult = z.object({
1152
1272
  id: z.string(),
@@ -1812,6 +1932,53 @@ export const zGithubReposQuery = z.object({
1812
1932
  export const zGithubReposResponse = z.array(z.object({
1813
1933
  fullName: z.string(),
1814
1934
  }));
1935
+ export const zGoogleStatusQuery = z.object({
1936
+ scope: z.enum(["user"]).optional(),
1937
+ });
1938
+ /**
1939
+ * Google Workspace configuration status
1940
+ */
1941
+ export const zGoogleStatusResponse = zGoogleWorkspaceStatus;
1942
+ export const zGoogleConfigDeleteQuery = z.object({
1943
+ scope: z.enum(["user"]).optional(),
1944
+ });
1945
+ /**
1946
+ * Removed
1947
+ */
1948
+ export const zGoogleConfigDeleteResponse = z.void();
1949
+ export const zGoogleConfigSaveBody = z.object({
1950
+ clientId: z.string().min(1),
1951
+ clientSecret: z.string().min(1),
1952
+ scopes: z.array(z.string().min(1)).min(1).optional(),
1953
+ });
1954
+ export const zGoogleConfigSaveQuery = z.object({
1955
+ scope: z.enum(["user"]).optional(),
1956
+ });
1957
+ /**
1958
+ * Updated Google Workspace configuration status
1959
+ */
1960
+ export const zGoogleConfigSaveResponse = zGoogleWorkspaceStatus;
1961
+ export const zGoogleDisconnectPath = z.object({
1962
+ vaultId: z.string(),
1963
+ });
1964
+ export const zGoogleDisconnectQuery = z.object({
1965
+ scope: z.enum(["user"]).optional(),
1966
+ });
1967
+ /**
1968
+ * Removed
1969
+ */
1970
+ export const zGoogleDisconnectResponse = z.void();
1971
+ export const zGoogleConnectPath = z.object({
1972
+ vaultId: z.string(),
1973
+ });
1974
+ export const zGoogleConnectQuery = z.object({
1975
+ scope: z.enum(["user"]).optional(),
1976
+ returnTo: z.string().optional(),
1977
+ });
1978
+ /**
1979
+ * Authorization URL for the user to visit
1980
+ */
1981
+ export const zGoogleConnectResponse = zGoogleWorkspaceOAuthStartResult;
1815
1982
  export const zMcpListQuery = z.object({
1816
1983
  scope: z.enum(["user"]).optional(),
1817
1984
  limit: z.number().gte(1).lte(1000).optional(),
@@ -1824,14 +1991,17 @@ export const zMcpListQuery = z.object({
1824
1991
  export const zMcpListResponse = z.array(zMcp);
1825
1992
  export const zMcpCreateBody = z.object({
1826
1993
  name: z.string().min(1).max(256),
1994
+ slug: z.string().optional(),
1827
1995
  description: z.string().optional().default(""),
1828
1996
  icon: z.string().nullish().default(null),
1829
- mcpServerUrl: z.url(),
1997
+ mcpServerUrl: z.url().nullish().default(null),
1830
1998
  docUrl: z.url().nullish().default(null),
1831
1999
  type: z.enum(["remote", "local"]).optional().default("remote"),
1832
2000
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional().default("streamable-http"),
1833
2001
  command: z.string().nullish().default(null),
1834
2002
  args: z.array(z.string()).optional().default([]),
2003
+ env: z.record(z.string(), z.string()).optional().default({}),
2004
+ requiredCredentials: z.array(zRequiredCredential).optional().default([]),
1835
2005
  version: z.string().nullish().default(null),
1836
2006
  repository: zRepository.nullish().default(null),
1837
2007
  tools: z.array(z.string()).optional().default([]),
@@ -1897,6 +2067,8 @@ export const zMcpUpdateBody = z.object({
1897
2067
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional(),
1898
2068
  command: z.string().nullish(),
1899
2069
  args: z.array(z.string()).optional(),
2070
+ env: z.record(z.string(), z.string()).optional(),
2071
+ requiredCredentials: z.array(zRequiredCredential).optional(),
1900
2072
  version: z.string().nullish(),
1901
2073
  repository: zRepository.nullish(),
1902
2074
  tools: z.array(z.string()).optional(),
@@ -2789,6 +2961,7 @@ export const zSkillListQuery = z.object({
2789
2961
  */
2790
2962
  export const zSkillListResponse = z.array(zSkill);
2791
2963
  export const zSkillCreateBody = z.object({
2964
+ slug: z.string().optional(),
2792
2965
  name: z.string(),
2793
2966
  description: z.string().optional(),
2794
2967
  icon: z.string().optional(),
@@ -3000,6 +3173,10 @@ export const zSkillVersionArchiveQuery = z.object({
3000
3173
  * Archived skill version
3001
3174
  */
3002
3175
  export const zSkillVersionArchiveResponse = zSkillVersion;
3176
+ /**
3177
+ * Agent-stack topology
3178
+ */
3179
+ export const zTopologyGetResponse = zTopology;
3003
3180
  export const zTriggerListQuery = z.object({
3004
3181
  scope: z.enum(["user"]).optional(),
3005
3182
  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.9",
4
4
  "description": "TypeScript SDK for the Ren API, generated from OpenAPI.",
5
5
  "license": "MIT",
6
6
  "author": "Ren Labs, Inc.",