@renai-labs/sdk 0.1.21 → 0.1.22

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.
@@ -55,6 +55,8 @@ export class Version extends HeyApiClient {
55
55
  }
56
56
  /**
57
57
  * Archive an agent version
58
+ *
59
+ * Archiving the latest version repoints agents tracking latest to the next non-archived version. The response reports the blast radius (projectCount/podCount) of the pinned and tracking-latest placements affected.
58
60
  */
59
61
  archive(options) {
60
62
  return (options.client ?? this.client).post({
@@ -65,7 +67,7 @@ export class Version extends HeyApiClient {
65
67
  }
66
68
  export class Agent extends HeyApiClient {
67
69
  /**
68
- * List agents
70
+ * List and search agents
69
71
  */
70
72
  list(options) {
71
73
  return (options?.client ?? this.client).get({
@@ -87,33 +89,11 @@ export class Agent extends HeyApiClient {
87
89
  });
88
90
  }
89
91
  /**
90
- * Search agents across private, org, and published tiers
91
- */
92
- search(options) {
93
- return (options?.client ?? this.client).post({
94
- url: "/api/agents/search",
95
- ...options,
96
- headers: {
97
- "Content-Type": "application/json",
98
- ...options?.headers,
99
- },
100
- });
101
- }
102
- /**
103
- * Get an agent by slug
104
- */
105
- getBySlug(options) {
106
- return (options.client ?? this.client).get({
107
- url: "/api/agents/slug/{slug}",
108
- ...options,
109
- });
110
- }
111
- /**
112
- * Get an agent
92
+ * Get an agent by ID or slug
113
93
  */
114
94
  get(options) {
115
95
  return (options.client ?? this.client).get({
116
- url: "/api/agents/{id}",
96
+ url: "/api/agents/{idOrSlug}",
117
97
  ...options,
118
98
  });
119
99
  }
@@ -394,6 +374,20 @@ export class Dashboard extends HeyApiClient {
394
374
  });
395
375
  }
396
376
  }
377
+ export class Build extends HeyApiClient {
378
+ /**
379
+ * Start a custom template build for an environment
380
+ */
381
+ start(options) {
382
+ return (options.client ?? this.client).post({ url: "/api/environments/{id}/build", ...options });
383
+ }
384
+ /**
385
+ * List an environment's builds
386
+ */
387
+ list(options) {
388
+ return (options.client ?? this.client).get({ url: "/api/environments/{id}/builds", ...options });
389
+ }
390
+ }
397
391
  export class Environment extends HeyApiClient {
398
392
  /**
399
393
  * List environments
@@ -457,16 +451,24 @@ export class Environment extends HeyApiClient {
457
451
  ...options,
458
452
  });
459
453
  }
454
+ _build;
455
+ get build() {
456
+ return (this._build ??= new Build({ client: this.client }));
457
+ }
460
458
  }
461
459
  export class Files extends HeyApiClient {
462
460
  /**
463
461
  * Delete a file
462
+ *
463
+ * Deletes a file from the store. This does not coordinate with live sandbox mounts: a sandbox holding an unflushed write to the same path can re-create the file after this delete lands.
464
464
  */
465
465
  delete(options) {
466
466
  return (options.client ?? this.client).delete({ url: "/api/file-stores/{id}/files", ...options });
467
467
  }
468
468
  /**
469
469
  * List files in a file store
470
+ *
471
+ * Lists finalized files under the given prefix. Reads can be stale relative to a live mount: a sandbox holding an unflushed write to the same path may not have uploaded it yet, and a mount can serve a cached read of a file another writer has since changed (bounded by the mount's cache windows).
470
472
  */
471
473
  list(options) {
472
474
  return (options.client ?? this.client).get({
@@ -476,12 +478,16 @@ export class Files extends HeyApiClient {
476
478
  }
477
479
  /**
478
480
  * Get a presigned GET URL for a file
481
+ *
482
+ * Returns a presigned GET URL for a file. Content can be stale relative to a live mount: a mount may serve a cached read of a file another writer has changed, and a sandbox's own unflushed write may not be reflected yet (bounded by the mount's cache windows).
479
483
  */
480
484
  presignDownload(options) {
481
485
  return (options.client ?? this.client).get({ url: "/api/file-stores/{id}/files/presign-download", ...options });
482
486
  }
483
487
  /**
484
488
  * Start a presigned upload
489
+ *
490
+ * Starts a presigned upload. The returned URL uploads bytes to a private staging area outside the store — the file is invisible to workspaces and absent from the store's file list until finalize promotes it. Returns an uploadId that finalize requires. For small files a tool can call, prefer PUT /:id/files/content.
485
491
  */
486
492
  startUpload(options) {
487
493
  return (options.client ?? this.client).post({
@@ -495,6 +501,8 @@ export class Files extends HeyApiClient {
495
501
  }
496
502
  /**
497
503
  * Finalize an upload
504
+ *
505
+ * Finalizes a presigned upload identified by uploadId: stats the staged object, enforces the 50 MiB ceiling (over-limit objects are rejected and deleted), promotes it onto the store key, and fans the new file out to attached workspaces. Required — an unfinalized upload stays in staging, invisible to workspaces and the file list, and is reaped after 24 hours.
498
506
  */
499
507
  finalizeUpload(options) {
500
508
  return (options.client ?? this.client).post({
@@ -506,6 +514,22 @@ export class Files extends HeyApiClient {
506
514
  },
507
515
  });
508
516
  }
517
+ /**
518
+ * Write a small file directly
519
+ *
520
+ * Writes the raw request body to `path` in one call (no presign/finalize round-trip), capped at 5 MiB — the write path a tool-caller can use. Same path rules and workspace fan-out as a finalized upload. Use presigned uploads for larger files.
521
+ */
522
+ writeContent(options) {
523
+ return (options.client ?? this.client).put({
524
+ bodySerializer: null,
525
+ url: "/api/file-stores/{id}/files/content",
526
+ ...options,
527
+ headers: {
528
+ "Content-Type": "application/octet-stream",
529
+ ...options.headers,
530
+ },
531
+ });
532
+ }
509
533
  }
510
534
  export class FileStore extends HeyApiClient {
511
535
  /**
@@ -554,6 +578,8 @@ export class FileStore extends HeyApiClient {
554
578
  }
555
579
  /**
556
580
  * Archive a file store
581
+ *
582
+ * Archives the store metadata but keeps every stored object. Bytes remain recoverable until a retention sweep purges stores archived more than 30 days.
557
583
  */
558
584
  archive(options) {
559
585
  return (options.client ?? this.client).post({
@@ -721,13 +747,57 @@ export class Google extends HeyApiClient {
721
747
  return (this._config ??= new Config({ client: this.client }));
722
748
  }
723
749
  }
724
- export class Oauth extends HeyApiClient {
750
+ export class OauthApp extends HeyApiClient {
725
751
  /**
726
- * Start OAuth for an MCP (or confirm it is already connected)
752
+ * List the org's OAuth apps
727
753
  */
728
- connect(options) {
729
- return (options.client ?? this.client).post({
730
- url: "/api/mcps/{id}/oauth/connect",
754
+ list(options) {
755
+ return (options?.client ?? this.client).get({
756
+ url: "/api/oauth-apps",
757
+ ...options,
758
+ });
759
+ }
760
+ /**
761
+ * Register an OAuth app the org owns
762
+ */
763
+ create(options) {
764
+ return (options?.client ?? this.client).post({
765
+ url: "/api/oauth-apps",
766
+ ...options,
767
+ headers: {
768
+ "Content-Type": "application/json",
769
+ ...options?.headers,
770
+ },
771
+ });
772
+ }
773
+ /**
774
+ * The redirect URI to register with an OAuth provider
775
+ *
776
+ * Register this exact value as the app's authorized redirect URI before creating it — providers match it byte-for-byte and reject the login otherwise. It is deployment-specific, so read it here rather than assuming a host.
777
+ */
778
+ redirectUri(options) {
779
+ return (options?.client ?? this.client).get({
780
+ url: "/api/oauth-apps/redirect-uri",
781
+ ...options,
782
+ });
783
+ }
784
+ /**
785
+ * Archive an OAuth app
786
+ */
787
+ delete(options) {
788
+ return (options.client ?? this.client).delete({
789
+ url: "/api/oauth-apps/{id}",
790
+ ...options,
791
+ });
792
+ }
793
+ /**
794
+ * Update an OAuth app
795
+ *
796
+ * Renaming an app that MCP servers point at is refused unless ?force=true — they reference it by name.
797
+ */
798
+ update(options) {
799
+ return (options.client ?? this.client).patch({
800
+ url: "/api/oauth-apps/{id}",
731
801
  ...options,
732
802
  headers: {
733
803
  "Content-Type": "application/json",
@@ -736,11 +806,11 @@ export class Oauth extends HeyApiClient {
736
806
  });
737
807
  }
738
808
  /**
739
- * Poll an MCP OAuth session status
809
+ * List the MCP servers that point at this OAuth app
740
810
  */
741
- session(options) {
811
+ usage(options) {
742
812
  return (options.client ?? this.client).get({
743
- url: "/api/mcps/{id}/oauth/sessions/{sessionId}",
813
+ url: "/api/oauth-apps/{id}/usage",
744
814
  ...options,
745
815
  });
746
816
  }
@@ -861,10 +931,6 @@ export class Mcp extends HeyApiClient {
861
931
  ...options,
862
932
  });
863
933
  }
864
- _oauth;
865
- get oauth() {
866
- return (this._oauth ??= new Oauth({ client: this.client }));
867
- }
868
934
  }
869
935
  export class Me extends HeyApiClient {
870
936
  /**
@@ -910,24 +976,32 @@ export class Me extends HeyApiClient {
910
976
  export class Files2 extends HeyApiClient {
911
977
  /**
912
978
  * Delete a file
979
+ *
980
+ * Deletes a file from the store. This does not coordinate with live sandbox mounts: a sandbox holding an unflushed write to the same path can re-create the file after this delete lands.
913
981
  */
914
982
  delete(options) {
915
983
  return (options.client ?? this.client).delete({ url: "/api/memory-stores/{id}/files", ...options });
916
984
  }
917
985
  /**
918
986
  * List files in a memory store
987
+ *
988
+ * Lists finalized files under the given prefix. Reads can be stale relative to a live mount: a sandbox holding an unflushed write to the same path may not have uploaded it yet, and a mount can serve a cached read of a file another writer has since changed (bounded by the mount's cache windows).
919
989
  */
920
990
  list(options) {
921
991
  return (options.client ?? this.client).get({ url: "/api/memory-stores/{id}/files", ...options });
922
992
  }
923
993
  /**
924
994
  * Get a presigned GET URL for a file
995
+ *
996
+ * Returns a presigned GET URL for a file. Content can be stale relative to a live mount: a mount may serve a cached read of a file another writer has changed, and a sandbox's own unflushed write may not be reflected yet (bounded by the mount's cache windows).
925
997
  */
926
998
  presignDownload(options) {
927
999
  return (options.client ?? this.client).get({ url: "/api/memory-stores/{id}/files/presign-download", ...options });
928
1000
  }
929
1001
  /**
930
1002
  * Start a presigned upload
1003
+ *
1004
+ * Starts a presigned upload. The returned URL uploads bytes to a private staging area outside the store — the file is invisible to workspaces and absent from the store's file list until finalize promotes it. Returns an uploadId that finalize requires. For small files a tool can call, prefer PUT /:id/files/content.
931
1005
  */
932
1006
  startUpload(options) {
933
1007
  return (options.client ?? this.client).post({
@@ -941,6 +1015,8 @@ export class Files2 extends HeyApiClient {
941
1015
  }
942
1016
  /**
943
1017
  * Finalize an upload
1018
+ *
1019
+ * Finalizes a presigned upload identified by uploadId: stats the staged object, enforces the 50 MiB ceiling (over-limit objects are rejected and deleted), promotes it onto the store key, and fans the new file out to attached workspaces. Required — an unfinalized upload stays in staging, invisible to workspaces and the file list, and is reaped after 24 hours.
944
1020
  */
945
1021
  finalizeUpload(options) {
946
1022
  return (options.client ?? this.client).post({
@@ -952,6 +1028,22 @@ export class Files2 extends HeyApiClient {
952
1028
  },
953
1029
  });
954
1030
  }
1031
+ /**
1032
+ * Write a small file directly
1033
+ *
1034
+ * Writes the raw request body to `path` in one call (no presign/finalize round-trip), capped at 5 MiB — the write path a tool-caller can use. Same path rules and workspace fan-out as a finalized upload. Use presigned uploads for larger files.
1035
+ */
1036
+ writeContent(options) {
1037
+ return (options.client ?? this.client).put({
1038
+ bodySerializer: null,
1039
+ url: "/api/memory-stores/{id}/files/content",
1040
+ ...options,
1041
+ headers: {
1042
+ "Content-Type": "application/octet-stream",
1043
+ ...options.headers,
1044
+ },
1045
+ });
1046
+ }
955
1047
  }
956
1048
  export class MemoryStore extends HeyApiClient {
957
1049
  /**
@@ -1000,6 +1092,8 @@ export class MemoryStore extends HeyApiClient {
1000
1092
  }
1001
1093
  /**
1002
1094
  * Archive a memory store
1095
+ *
1096
+ * Archives the store metadata but keeps every stored object. Bytes remain recoverable until a retention sweep purges stores archived more than 30 days.
1003
1097
  */
1004
1098
  archive(options) {
1005
1099
  return (options.client ?? this.client).post({
@@ -1154,35 +1248,15 @@ export class Member extends HeyApiClient {
1154
1248
  });
1155
1249
  }
1156
1250
  }
1157
- export class Vault extends HeyApiClient {
1251
+ export class Credential extends HeyApiClient {
1158
1252
  /**
1159
- * List pod vaults (ordered by priority)
1253
+ * List the credentials this pod resolves against, best match first
1254
+ *
1255
+ * Read-only. Derived from the pod's tier: a shared pod sees its own vault then the org vault; a private pod sees its owner's vault, then every shared pod that owner belongs to, then the org vault. Entries shadowed by a higher-priority credential are marked rather than hidden.
1160
1256
  */
1161
1257
  list(options) {
1162
1258
  return (options.client ?? this.client).get({
1163
- url: "/api/pods/{id}/vaults",
1164
- ...options,
1165
- });
1166
- }
1167
- /**
1168
- * Add a vault to a pod
1169
- */
1170
- add(options) {
1171
- return (options.client ?? this.client).post({
1172
- url: "/api/pods/{id}/vaults",
1173
- ...options,
1174
- headers: {
1175
- "Content-Type": "application/json",
1176
- ...options.headers,
1177
- },
1178
- });
1179
- }
1180
- /**
1181
- * Remove a vault from a pod
1182
- */
1183
- remove(options) {
1184
- return (options.client ?? this.client).delete({
1185
- url: "/api/pods/{id}/vaults/{vaultId}",
1259
+ url: "/api/pods/{id}/credentials",
1186
1260
  ...options,
1187
1261
  });
1188
1262
  }
@@ -1268,9 +1342,9 @@ export class Pod extends HeyApiClient {
1268
1342
  });
1269
1343
  }
1270
1344
  /**
1271
- * Get total credit usage for a pod
1345
+ * Get a pod's credit usage
1272
1346
  *
1273
- * Total Ren credits consumed across the whole pod, served from the local hourly usage rollup.
1347
+ * Ren credits consumed across the whole pod, with a per-day trend, a breakdown by usage source and operation, and an optional grouped breakdown (e.g. `groupBy=project` for per-project costs). `start`/`end` bound the range (max 92 days); omit both for all-time. Served from the local hourly usage rollup.
1274
1348
  */
1275
1349
  usage(options) {
1276
1350
  return (options.client ?? this.client).get({
@@ -1291,18 +1365,130 @@ export class Pod extends HeyApiClient {
1291
1365
  get member() {
1292
1366
  return (this._member ??= new Member({ client: this.client }));
1293
1367
  }
1294
- _vault;
1295
- get vault() {
1296
- return (this._vault ??= new Vault({ client: this.client }));
1368
+ _credential;
1369
+ get credential() {
1370
+ return (this._credential ??= new Credential({ client: this.client }));
1297
1371
  }
1298
1372
  _sandbox;
1299
1373
  get sandbox() {
1300
1374
  return (this._sandbox ??= new Sandbox({ client: this.client }));
1301
1375
  }
1302
1376
  }
1377
+ export class PodDatabase extends HeyApiClient {
1378
+ /**
1379
+ * List a pod's databases
1380
+ */
1381
+ list(options) {
1382
+ return (options.client ?? this.client).get({
1383
+ url: "/api/pods/{podId}/databases",
1384
+ ...options,
1385
+ });
1386
+ }
1387
+ /**
1388
+ * Create a pod database
1389
+ */
1390
+ create(options) {
1391
+ return (options.client ?? this.client).post({
1392
+ url: "/api/pods/{podId}/databases",
1393
+ ...options,
1394
+ headers: {
1395
+ "Content-Type": "application/json",
1396
+ ...options.headers,
1397
+ },
1398
+ });
1399
+ }
1400
+ /**
1401
+ * Get a pod database
1402
+ */
1403
+ get(options) {
1404
+ return (options.client ?? this.client).get({
1405
+ url: "/api/pods/{podId}/databases/{id}",
1406
+ ...options,
1407
+ });
1408
+ }
1409
+ /**
1410
+ * Update a pod database
1411
+ */
1412
+ update(options) {
1413
+ return (options.client ?? this.client).patch({
1414
+ url: "/api/pods/{podId}/databases/{id}",
1415
+ ...options,
1416
+ headers: {
1417
+ "Content-Type": "application/json",
1418
+ ...options.headers,
1419
+ },
1420
+ });
1421
+ }
1422
+ /**
1423
+ * Archive a pod database, keeping its S3 replica restorable
1424
+ */
1425
+ archive(options) {
1426
+ return (options.client ?? this.client).post({
1427
+ url: "/api/pods/{podId}/databases/{id}/archive",
1428
+ ...options,
1429
+ });
1430
+ }
1431
+ }
1432
+ export class Artifact extends HeyApiClient {
1433
+ /**
1434
+ * List a pod's artifacts
1435
+ */
1436
+ list(options) {
1437
+ return (options.client ?? this.client).get({
1438
+ url: "/api/pods/{podId}/artifacts",
1439
+ ...options,
1440
+ });
1441
+ }
1442
+ /**
1443
+ * Create an artifact
1444
+ */
1445
+ create(options) {
1446
+ return (options.client ?? this.client).post({
1447
+ url: "/api/pods/{podId}/artifacts",
1448
+ ...options,
1449
+ headers: {
1450
+ "Content-Type": "application/json",
1451
+ ...options.headers,
1452
+ },
1453
+ });
1454
+ }
1455
+ /**
1456
+ * Get an artifact
1457
+ */
1458
+ get(options) {
1459
+ return (options.client ?? this.client).get({
1460
+ url: "/api/pods/{podId}/artifacts/{id}",
1461
+ ...options,
1462
+ });
1463
+ }
1464
+ /**
1465
+ * Update an artifact
1466
+ */
1467
+ update(options) {
1468
+ return (options.client ?? this.client).patch({
1469
+ url: "/api/pods/{podId}/artifacts/{id}",
1470
+ ...options,
1471
+ headers: {
1472
+ "Content-Type": "application/json",
1473
+ ...options.headers,
1474
+ },
1475
+ });
1476
+ }
1477
+ /**
1478
+ * Archive an artifact, keeping its S3 files as a backup
1479
+ */
1480
+ archive(options) {
1481
+ return (options.client ?? this.client).post({
1482
+ url: "/api/pods/{podId}/artifacts/{id}/archive",
1483
+ ...options,
1484
+ });
1485
+ }
1486
+ }
1303
1487
  export class Agent2 extends HeyApiClient {
1304
1488
  /**
1305
1489
  * List agents attached to a project
1490
+ *
1491
+ * Includes the auto-attached published "ren" meta agent (mode "all"), which project creation adds transactionally — it is present without any explicit project.agent.add call.
1306
1492
  */
1307
1493
  list(options) {
1308
1494
  return (options.client ?? this.client).get({
@@ -1312,6 +1498,8 @@ export class Agent2 extends HeyApiClient {
1312
1498
  }
1313
1499
  /**
1314
1500
  * Attach an agent to a project
1501
+ *
1502
+ * Attaches an agent as a new placement. Re-attaching an already attached agent is a 409 — use project.agent.update to change its pin or mode. Note: creating a project auto-attaches the published "ren" meta agent with mode "all", so it appears in project.agent.list without an explicit add.
1315
1503
  */
1316
1504
  add(options) {
1317
1505
  return (options.client ?? this.client).post({
@@ -1705,6 +1893,22 @@ export class Replay extends HeyApiClient {
1705
1893
  });
1706
1894
  }
1707
1895
  }
1896
+ export class ResourceIcon extends HeyApiClient {
1897
+ /**
1898
+ * Upload a resource icon image
1899
+ */
1900
+ upload(options) {
1901
+ return (options.client ?? this.client).post({
1902
+ ...formDataBodySerializer,
1903
+ url: "/api/resource-icons",
1904
+ ...options,
1905
+ headers: {
1906
+ "Content-Type": null,
1907
+ ...options.headers,
1908
+ },
1909
+ });
1910
+ }
1911
+ }
1708
1912
  export class Messages extends HeyApiClient {
1709
1913
  /**
1710
1914
  * List a session's messages
@@ -2066,13 +2270,13 @@ export class TopologyShare extends HeyApiClient {
2066
2270
  return (options.client ?? this.client).post({ url: "/api/topology-shares/{id}/archive", ...options });
2067
2271
  }
2068
2272
  }
2069
- export class Trigger extends HeyApiClient {
2273
+ export class CronTrigger extends HeyApiClient {
2070
2274
  /**
2071
2275
  * List cron triggers in a project
2072
2276
  */
2073
2277
  list(options) {
2074
2278
  return (options.client ?? this.client).get({
2075
- url: "/api/triggers",
2279
+ url: "/api/projects/{projectId}/cron-triggers",
2076
2280
  ...options,
2077
2281
  });
2078
2282
  }
@@ -2080,12 +2284,12 @@ export class Trigger extends HeyApiClient {
2080
2284
  * Create a cron trigger
2081
2285
  */
2082
2286
  create(options) {
2083
- return (options?.client ?? this.client).post({
2084
- url: "/api/triggers",
2287
+ return (options.client ?? this.client).post({
2288
+ url: "/api/projects/{projectId}/cron-triggers",
2085
2289
  ...options,
2086
2290
  headers: {
2087
2291
  "Content-Type": "application/json",
2088
- ...options?.headers,
2292
+ ...options.headers,
2089
2293
  },
2090
2294
  });
2091
2295
  }
@@ -2094,7 +2298,7 @@ export class Trigger extends HeyApiClient {
2094
2298
  */
2095
2299
  get(options) {
2096
2300
  return (options.client ?? this.client).get({
2097
- url: "/api/triggers/{triggerId}",
2301
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}",
2098
2302
  ...options,
2099
2303
  });
2100
2304
  }
@@ -2103,7 +2307,7 @@ export class Trigger extends HeyApiClient {
2103
2307
  */
2104
2308
  update(options) {
2105
2309
  return (options.client ?? this.client).patch({
2106
- url: "/api/triggers/{triggerId}",
2310
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}",
2107
2311
  ...options,
2108
2312
  headers: {
2109
2313
  "Content-Type": "application/json",
@@ -2116,12 +2320,8 @@ export class Trigger extends HeyApiClient {
2116
2320
  */
2117
2321
  archive(options) {
2118
2322
  return (options.client ?? this.client).post({
2119
- url: "/api/triggers/{triggerId}/archive",
2323
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}/archive",
2120
2324
  ...options,
2121
- headers: {
2122
- "Content-Type": "application/json",
2123
- ...options.headers,
2124
- },
2125
2325
  });
2126
2326
  }
2127
2327
  }
@@ -2446,7 +2646,7 @@ export class Linear extends HeyApiClient {
2446
2646
  return (this._mappings ??= new Mappings2({ client: this.client }));
2447
2647
  }
2448
2648
  }
2449
- export class Vault2 extends HeyApiClient {
2649
+ export class Vault extends HeyApiClient {
2450
2650
  /**
2451
2651
  * List vaults
2452
2652
  */
@@ -2456,28 +2656,6 @@ export class Vault2 extends HeyApiClient {
2456
2656
  ...options,
2457
2657
  });
2458
2658
  }
2459
- /**
2460
- * Create a vault
2461
- */
2462
- create(options) {
2463
- return (options?.client ?? this.client).post({
2464
- url: "/api/vaults",
2465
- ...options,
2466
- headers: {
2467
- "Content-Type": "application/json",
2468
- ...options?.headers,
2469
- },
2470
- });
2471
- }
2472
- /**
2473
- * Delete a vault permanently
2474
- */
2475
- delete(options) {
2476
- return (options.client ?? this.client).delete({
2477
- url: "/api/vaults/{id}",
2478
- ...options,
2479
- });
2480
- }
2481
2659
  /**
2482
2660
  * Get a vault
2483
2661
  */
@@ -2487,36 +2665,14 @@ export class Vault2 extends HeyApiClient {
2487
2665
  ...options,
2488
2666
  });
2489
2667
  }
2490
- /**
2491
- * Update a vault (name, description)
2492
- */
2493
- update(options) {
2494
- return (options.client ?? this.client).patch({
2495
- url: "/api/vaults/{id}",
2496
- ...options,
2497
- headers: {
2498
- "Content-Type": "application/json",
2499
- ...options.headers,
2500
- },
2501
- });
2502
- }
2503
- /**
2504
- * Archive a vault
2505
- */
2506
- archive(options) {
2507
- return (options.client ?? this.client).post({
2508
- url: "/api/vaults/{id}/archive",
2509
- ...options,
2510
- });
2511
- }
2512
2668
  }
2513
- export class Oauth2 extends HeyApiClient {
2669
+ export class Oauth extends HeyApiClient {
2514
2670
  /**
2515
- * Begin SDK-delegated OAuth flow against an MCP
2671
+ * Start 'Sign in with X' for an MCP in this vault (or confirm it is already connected)
2516
2672
  */
2517
- start(options) {
2673
+ connect(options) {
2518
2674
  return (options.client ?? this.client).post({
2519
- url: "/api/vaults/{vaultId}/credentials/oauth/start",
2675
+ url: "/api/vaults/{vaultId}/oauth/connect",
2520
2676
  ...options,
2521
2677
  headers: {
2522
2678
  "Content-Type": "application/json",
@@ -2525,13 +2681,13 @@ export class Oauth2 extends HeyApiClient {
2525
2681
  });
2526
2682
  }
2527
2683
  /**
2528
- * Poll an OAuth session's status
2684
+ * Poll a sign-in session's status
2529
2685
  */
2530
2686
  session(options) {
2531
- return (options.client ?? this.client).get({ url: "/api/vaults/{vaultId}/oauth/sessions/{sessionId}", ...options });
2687
+ return (options.client ?? this.client).get({ url: "/api/vaults/oauth/sessions/{sessionId}", ...options });
2532
2688
  }
2533
2689
  }
2534
- export class Credential extends HeyApiClient {
2690
+ export class Credential2 extends HeyApiClient {
2535
2691
  /**
2536
2692
  * List credentials
2537
2693
  */
@@ -2585,15 +2741,6 @@ export class Credential extends HeyApiClient {
2585
2741
  },
2586
2742
  });
2587
2743
  }
2588
- /**
2589
- * Archive a credential
2590
- */
2591
- archive(options) {
2592
- return (options.client ?? this.client).post({
2593
- url: "/api/vaults/{vaultId}/credentials/{id}/archive",
2594
- ...options,
2595
- });
2596
- }
2597
2744
  /**
2598
2745
  * Copy or move a credential to another vault
2599
2746
  */
@@ -2609,7 +2756,7 @@ export class Credential extends HeyApiClient {
2609
2756
  }
2610
2757
  _oauth;
2611
2758
  get oauth() {
2612
- return (this._oauth ??= new Oauth2({ client: this.client }));
2759
+ return (this._oauth ??= new Oauth({ client: this.client }));
2613
2760
  }
2614
2761
  }
2615
2762
  export class Agent3 extends HeyApiClient {
@@ -2673,6 +2820,12 @@ export class Mcp3 extends HeyApiClient {
2673
2820
  }
2674
2821
  }
2675
2822
  export class Blueprint2 extends HeyApiClient {
2823
+ /**
2824
+ * List registry blueprints
2825
+ */
2826
+ list(options) {
2827
+ return (options?.client ?? this.client).get({ url: "/api/registry/blueprints", ...options });
2828
+ }
2676
2829
  /**
2677
2830
  * Get a registry blueprint by slug
2678
2831
  */
@@ -2687,6 +2840,30 @@ export class Publisher2 extends HeyApiClient {
2687
2840
  get(options) {
2688
2841
  return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}", ...options });
2689
2842
  }
2843
+ /**
2844
+ * List a registry publisher's blueprints
2845
+ */
2846
+ blueprints(options) {
2847
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/blueprints", ...options });
2848
+ }
2849
+ /**
2850
+ * List a registry publisher's skills
2851
+ */
2852
+ skills(options) {
2853
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/skills", ...options });
2854
+ }
2855
+ /**
2856
+ * List a registry publisher's agents
2857
+ */
2858
+ agents(options) {
2859
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/agents", ...options });
2860
+ }
2861
+ /**
2862
+ * List a registry publisher's MCPs
2863
+ */
2864
+ mcps(options) {
2865
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/mcps", ...options });
2866
+ }
2690
2867
  }
2691
2868
  export class Files4 extends HeyApiClient {
2692
2869
  /**
@@ -2835,6 +3012,10 @@ export class RenClient extends HeyApiClient {
2835
3012
  get google() {
2836
3013
  return (this._google ??= new Google({ client: this.client }));
2837
3014
  }
3015
+ _oauthApp;
3016
+ get oauthApp() {
3017
+ return (this._oauthApp ??= new OauthApp({ client: this.client }));
3018
+ }
2838
3019
  _mcp;
2839
3020
  get mcp() {
2840
3021
  return (this._mcp ??= new Mcp({ client: this.client }));
@@ -2871,6 +3052,14 @@ export class RenClient extends HeyApiClient {
2871
3052
  get pod() {
2872
3053
  return (this._pod ??= new Pod({ client: this.client }));
2873
3054
  }
3055
+ _podDatabase;
3056
+ get podDatabase() {
3057
+ return (this._podDatabase ??= new PodDatabase({ client: this.client }));
3058
+ }
3059
+ _artifact;
3060
+ get artifact() {
3061
+ return (this._artifact ??= new Artifact({ client: this.client }));
3062
+ }
2874
3063
  _project;
2875
3064
  get project() {
2876
3065
  return (this._project ??= new Project({ client: this.client }));
@@ -2883,6 +3072,10 @@ export class RenClient extends HeyApiClient {
2883
3072
  get replay() {
2884
3073
  return (this._replay ??= new Replay({ client: this.client }));
2885
3074
  }
3075
+ _resourceIcon;
3076
+ get resourceIcon() {
3077
+ return (this._resourceIcon ??= new ResourceIcon({ client: this.client }));
3078
+ }
2886
3079
  _session;
2887
3080
  get session() {
2888
3081
  return (this._session ??= new Session({ client: this.client }));
@@ -2899,9 +3092,9 @@ export class RenClient extends HeyApiClient {
2899
3092
  get topologyShare() {
2900
3093
  return (this._topologyShare ??= new TopologyShare({ client: this.client }));
2901
3094
  }
2902
- _trigger;
2903
- get trigger() {
2904
- return (this._trigger ??= new Trigger({ client: this.client }));
3095
+ _cronTrigger;
3096
+ get cronTrigger() {
3097
+ return (this._cronTrigger ??= new CronTrigger({ client: this.client }));
2905
3098
  }
2906
3099
  _webhookTrigger;
2907
3100
  get webhookTrigger() {
@@ -2925,11 +3118,11 @@ export class RenClient extends HeyApiClient {
2925
3118
  }
2926
3119
  _vault;
2927
3120
  get vault() {
2928
- return (this._vault ??= new Vault2({ client: this.client }));
3121
+ return (this._vault ??= new Vault({ client: this.client }));
2929
3122
  }
2930
3123
  _credential;
2931
3124
  get credential() {
2932
- return (this._credential ??= new Credential({ client: this.client }));
3125
+ return (this._credential ??= new Credential2({ client: this.client }));
2933
3126
  }
2934
3127
  _registry;
2935
3128
  get registry() {