@renai-labs/sdk 0.1.6 → 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(),
@@ -138,6 +146,8 @@ export const zAgentLatestVersion = z.object({
138
146
  agentId: z.string(),
139
147
  version: z.string().regex(/^\d+\.\d+\.\d+$/),
140
148
  description: z.string().nullable(),
149
+ prompt: z.string().nullable(),
150
+ model: z.string().nullable(),
141
151
  skills: z.array(z.object({
142
152
  skillId: z.string(),
143
153
  skillVersionId: z.string().nullish().default(null),
@@ -189,18 +199,32 @@ export const zCredentialAuth = z.union([
189
199
  })
190
200
  .nullish(),
191
201
  profile: z
192
- .object({
193
- service: z.literal("github"),
194
- id: z.number(),
195
- login: z.string(),
196
- name: z.string().nullable(),
197
- })
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
+ ])
198
217
  .nullish(),
199
218
  }),
200
219
  z.object({
201
220
  type: z.literal("env"),
202
221
  value: z.string(),
203
222
  }),
223
+ z.object({
224
+ type: z.literal("basic"),
225
+ username: z.string(),
226
+ password: z.string(),
227
+ }),
204
228
  ]);
205
229
  export const zCredentialAuthPublic = z.union([
206
230
  z.object({
@@ -222,13 +246,17 @@ export const zCredentialAuthPublic = z.union([
222
246
  z.object({
223
247
  type: z.literal("env"),
224
248
  }),
249
+ z.object({
250
+ type: z.literal("basic"),
251
+ username: z.string(),
252
+ }),
225
253
  ]);
226
254
  export const zCredential = z.object({
227
255
  id: z.string(),
228
256
  vaultId: z.string(),
229
257
  name: z.string(),
230
258
  mcpId: z.string().nullable(),
231
- provider: z.enum(["github"]).nullable(),
259
+ provider: z.enum(["github", "google_workspace"]).nullable(),
232
260
  label: z.string().nullable(),
233
261
  keyPreview: z.string().nullable(),
234
262
  auth: zCredentialAuthPublic,
@@ -348,13 +376,69 @@ export const zCronTrigger = z.object({
348
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))$/)
349
377
  .nullable(),
350
378
  });
351
- export const zRequiredCredential = z.object({
352
- name: z
353
- .string()
354
- .min(1)
355
- .max(128)
356
- .regex(/^[A-Z_][A-Z0-9_]*$/),
357
- 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
+ })),
358
442
  });
359
443
  export const zSkillVersion = z.object({
360
444
  id: z.string(),
@@ -441,6 +525,11 @@ export const zSessionFilesPresignUploadResponse = z.object({
441
525
  .datetime()
442
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))$/),
443
527
  });
528
+ export const zAuthRequirementEnvSource = z.object({
529
+ kind: z.enum(["skill", "mcp"]),
530
+ id: z.string(),
531
+ name: z.string(),
532
+ });
444
533
  export const zAuthRequirementEnv = z.object({
445
534
  name: z
446
535
  .string()
@@ -449,10 +538,7 @@ export const zAuthRequirementEnv = z.object({
449
538
  .regex(/^[A-Z_][A-Z0-9_]*$/),
450
539
  description: z.string().max(512).optional(),
451
540
  satisfied: z.boolean(),
452
- neededBy: z.array(z.object({
453
- skillId: z.string(),
454
- skillName: z.string(),
455
- })),
541
+ neededBy: z.array(zAuthRequirementEnvSource),
456
542
  });
457
543
  export const zMcpAuthConfig = z.union([
458
544
  z.object({
@@ -895,6 +981,8 @@ export const zMcp = z.object({
895
981
  prompts: z.array(z.string()),
896
982
  auth: z.enum(["none", "oauth", "api_key", "basic"]),
897
983
  authConfig: zMcpAuthConfig.nullable(),
984
+ env: z.record(z.string(), z.string()),
985
+ requiredCredentials: z.array(zRequiredCredential),
898
986
  orgId: z.string(),
899
987
  userId: z.string().nullable(),
900
988
  publisherId: z.string().nullable(),
@@ -920,6 +1008,15 @@ export const zMcp = z.object({
920
1008
  deprecationMessage: z.string().nullable(),
921
1009
  tags: z.array(z.string()).optional().default([]),
922
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
+ });
923
1020
  export const zGithubInstallationResponse = z.object({
924
1021
  id: z.string(),
925
1022
  orgId: z.string(),
@@ -1810,6 +1907,53 @@ export const zGithubReposQuery = z.object({
1810
1907
  export const zGithubReposResponse = z.array(z.object({
1811
1908
  fullName: z.string(),
1812
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;
1813
1957
  export const zMcpListQuery = z.object({
1814
1958
  scope: z.enum(["user"]).optional(),
1815
1959
  limit: z.number().gte(1).lte(1000).optional(),
@@ -1824,12 +1968,14 @@ export const zMcpCreateBody = z.object({
1824
1968
  name: z.string().min(1).max(256),
1825
1969
  description: z.string().optional().default(""),
1826
1970
  icon: z.string().nullish().default(null),
1827
- mcpServerUrl: z.url(),
1971
+ mcpServerUrl: z.url().nullish().default(null),
1828
1972
  docUrl: z.url().nullish().default(null),
1829
1973
  type: z.enum(["remote", "local"]).optional().default("remote"),
1830
1974
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional().default("streamable-http"),
1831
1975
  command: z.string().nullish().default(null),
1832
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([]),
1833
1979
  version: z.string().nullish().default(null),
1834
1980
  repository: zRepository.nullish().default(null),
1835
1981
  tools: z.array(z.string()).optional().default([]),
@@ -1895,6 +2041,8 @@ export const zMcpUpdateBody = z.object({
1895
2041
  transport: z.enum(["streamable-http", "sse", "stdio"]).optional(),
1896
2042
  command: z.string().nullish(),
1897
2043
  args: z.array(z.string()).optional(),
2044
+ env: z.record(z.string(), z.string()).optional(),
2045
+ requiredCredentials: z.array(zRequiredCredential).optional(),
1898
2046
  version: z.string().nullish(),
1899
2047
  repository: zRepository.nullish(),
1900
2048
  tools: z.array(z.string()).optional(),
@@ -2401,6 +2549,21 @@ export const zProjectAgentRemoveQuery = z.object({
2401
2549
  * Detached agent
2402
2550
  */
2403
2551
  export const zProjectAgentRemoveResponse = zProjectAgent;
2552
+ export const zProjectAgentUpdateBody = z.object({
2553
+ agentVersionId: z.string().nullish(),
2554
+ type: z.enum(["primary", "subagent", "all"]).optional(),
2555
+ });
2556
+ export const zProjectAgentUpdatePath = z.object({
2557
+ id: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
2558
+ agentId: z.string().regex(/^agt_[0-9A-HJKMNP-TV-Z]{26}$/),
2559
+ });
2560
+ export const zProjectAgentUpdateQuery = z.object({
2561
+ scope: z.enum(["user"]).optional(),
2562
+ });
2563
+ /**
2564
+ * Updated agent membership
2565
+ */
2566
+ export const zProjectAgentUpdateResponse = zProjectAgent;
2404
2567
  export const zProjectFileStoreListPath = z.object({
2405
2568
  id: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
2406
2569
  });
@@ -2983,6 +3146,10 @@ export const zSkillVersionArchiveQuery = z.object({
2983
3146
  * Archived skill version
2984
3147
  */
2985
3148
  export const zSkillVersionArchiveResponse = zSkillVersion;
3149
+ /**
3150
+ * Agent-stack topology
3151
+ */
3152
+ export const zTopologyGetResponse = zTopology;
2986
3153
  export const zTriggerListQuery = z.object({
2987
3154
  scope: z.enum(["user"]).optional(),
2988
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.6",
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.",