@renai-labs/sdk 0.1.21 → 0.1.23

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({
@@ -1287,22 +1361,145 @@ export class Pod extends HeyApiClient {
1287
1361
  ...options,
1288
1362
  });
1289
1363
  }
1364
+ /**
1365
+ * List the credentials this pod's agents, skills and MCPs require
1366
+ *
1367
+ * Read-only. Aggregated across every project in the pod, so it answers 'what does this team still need' without picking a session. `satisfied` is evaluated against the pod's whole vault chain, so a credential held at org level counts as met. `neededBy` names the skills and MCPs that asked for each one.
1368
+ */
1369
+ authRequirements(options) {
1370
+ return (options.client ?? this.client).get({
1371
+ url: "/api/pods/{id}/auth-requirements",
1372
+ ...options,
1373
+ });
1374
+ }
1290
1375
  _member;
1291
1376
  get member() {
1292
1377
  return (this._member ??= new Member({ client: this.client }));
1293
1378
  }
1294
- _vault;
1295
- get vault() {
1296
- return (this._vault ??= new Vault({ client: this.client }));
1379
+ _credential;
1380
+ get credential() {
1381
+ return (this._credential ??= new Credential({ client: this.client }));
1297
1382
  }
1298
1383
  _sandbox;
1299
1384
  get sandbox() {
1300
1385
  return (this._sandbox ??= new Sandbox({ client: this.client }));
1301
1386
  }
1302
1387
  }
1388
+ export class PodDatabase extends HeyApiClient {
1389
+ /**
1390
+ * List a pod's databases
1391
+ */
1392
+ list(options) {
1393
+ return (options.client ?? this.client).get({
1394
+ url: "/api/pods/{podId}/databases",
1395
+ ...options,
1396
+ });
1397
+ }
1398
+ /**
1399
+ * Create a pod database
1400
+ */
1401
+ create(options) {
1402
+ return (options.client ?? this.client).post({
1403
+ url: "/api/pods/{podId}/databases",
1404
+ ...options,
1405
+ headers: {
1406
+ "Content-Type": "application/json",
1407
+ ...options.headers,
1408
+ },
1409
+ });
1410
+ }
1411
+ /**
1412
+ * Get a pod database
1413
+ */
1414
+ get(options) {
1415
+ return (options.client ?? this.client).get({
1416
+ url: "/api/pods/{podId}/databases/{id}",
1417
+ ...options,
1418
+ });
1419
+ }
1420
+ /**
1421
+ * Update a pod database
1422
+ */
1423
+ update(options) {
1424
+ return (options.client ?? this.client).patch({
1425
+ url: "/api/pods/{podId}/databases/{id}",
1426
+ ...options,
1427
+ headers: {
1428
+ "Content-Type": "application/json",
1429
+ ...options.headers,
1430
+ },
1431
+ });
1432
+ }
1433
+ /**
1434
+ * Archive a pod database, keeping its S3 replica restorable
1435
+ */
1436
+ archive(options) {
1437
+ return (options.client ?? this.client).post({
1438
+ url: "/api/pods/{podId}/databases/{id}/archive",
1439
+ ...options,
1440
+ });
1441
+ }
1442
+ }
1443
+ export class Artifact extends HeyApiClient {
1444
+ /**
1445
+ * List a pod's artifacts
1446
+ */
1447
+ list(options) {
1448
+ return (options.client ?? this.client).get({
1449
+ url: "/api/pods/{podId}/artifacts",
1450
+ ...options,
1451
+ });
1452
+ }
1453
+ /**
1454
+ * Create an artifact
1455
+ */
1456
+ create(options) {
1457
+ return (options.client ?? this.client).post({
1458
+ url: "/api/pods/{podId}/artifacts",
1459
+ ...options,
1460
+ headers: {
1461
+ "Content-Type": "application/json",
1462
+ ...options.headers,
1463
+ },
1464
+ });
1465
+ }
1466
+ /**
1467
+ * Get an artifact
1468
+ */
1469
+ get(options) {
1470
+ return (options.client ?? this.client).get({
1471
+ url: "/api/pods/{podId}/artifacts/{id}",
1472
+ ...options,
1473
+ });
1474
+ }
1475
+ /**
1476
+ * Update an artifact
1477
+ */
1478
+ update(options) {
1479
+ return (options.client ?? this.client).patch({
1480
+ url: "/api/pods/{podId}/artifacts/{id}",
1481
+ ...options,
1482
+ headers: {
1483
+ "Content-Type": "application/json",
1484
+ ...options.headers,
1485
+ },
1486
+ });
1487
+ }
1488
+ /**
1489
+ * Archive an artifact, keeping its S3 files as a backup
1490
+ */
1491
+ archive(options) {
1492
+ return (options.client ?? this.client).post({
1493
+ url: "/api/pods/{podId}/artifacts/{id}/archive",
1494
+ ...options,
1495
+ });
1496
+ }
1497
+ }
1303
1498
  export class Agent2 extends HeyApiClient {
1304
1499
  /**
1305
1500
  * List agents attached to a project
1501
+ *
1502
+ * 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
1503
  */
1307
1504
  list(options) {
1308
1505
  return (options.client ?? this.client).get({
@@ -1312,6 +1509,8 @@ export class Agent2 extends HeyApiClient {
1312
1509
  }
1313
1510
  /**
1314
1511
  * Attach an agent to a project
1512
+ *
1513
+ * 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
1514
  */
1316
1515
  add(options) {
1317
1516
  return (options.client ?? this.client).post({
@@ -1705,6 +1904,22 @@ export class Replay extends HeyApiClient {
1705
1904
  });
1706
1905
  }
1707
1906
  }
1907
+ export class ResourceIcon extends HeyApiClient {
1908
+ /**
1909
+ * Upload a resource icon image
1910
+ */
1911
+ upload(options) {
1912
+ return (options.client ?? this.client).post({
1913
+ ...formDataBodySerializer,
1914
+ url: "/api/resource-icons",
1915
+ ...options,
1916
+ headers: {
1917
+ "Content-Type": null,
1918
+ ...options.headers,
1919
+ },
1920
+ });
1921
+ }
1922
+ }
1708
1923
  export class Messages extends HeyApiClient {
1709
1924
  /**
1710
1925
  * List a session's messages
@@ -1760,6 +1975,8 @@ export class Files3 extends HeyApiClient {
1760
1975
  export class Session extends HeyApiClient {
1761
1976
  /**
1762
1977
  * List sessions
1978
+ *
1979
+ * Scoped to the calling user: pods they are a member of, then the projects visible to them in those pods. Requires a user-attributed token.
1763
1980
  */
1764
1981
  list(options) {
1765
1982
  return (options?.client ?? this.client).get({
@@ -2066,13 +2283,13 @@ export class TopologyShare extends HeyApiClient {
2066
2283
  return (options.client ?? this.client).post({ url: "/api/topology-shares/{id}/archive", ...options });
2067
2284
  }
2068
2285
  }
2069
- export class Trigger extends HeyApiClient {
2286
+ export class CronTrigger extends HeyApiClient {
2070
2287
  /**
2071
2288
  * List cron triggers in a project
2072
2289
  */
2073
2290
  list(options) {
2074
2291
  return (options.client ?? this.client).get({
2075
- url: "/api/triggers",
2292
+ url: "/api/projects/{projectId}/cron-triggers",
2076
2293
  ...options,
2077
2294
  });
2078
2295
  }
@@ -2080,12 +2297,12 @@ export class Trigger extends HeyApiClient {
2080
2297
  * Create a cron trigger
2081
2298
  */
2082
2299
  create(options) {
2083
- return (options?.client ?? this.client).post({
2084
- url: "/api/triggers",
2300
+ return (options.client ?? this.client).post({
2301
+ url: "/api/projects/{projectId}/cron-triggers",
2085
2302
  ...options,
2086
2303
  headers: {
2087
2304
  "Content-Type": "application/json",
2088
- ...options?.headers,
2305
+ ...options.headers,
2089
2306
  },
2090
2307
  });
2091
2308
  }
@@ -2094,7 +2311,7 @@ export class Trigger extends HeyApiClient {
2094
2311
  */
2095
2312
  get(options) {
2096
2313
  return (options.client ?? this.client).get({
2097
- url: "/api/triggers/{triggerId}",
2314
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}",
2098
2315
  ...options,
2099
2316
  });
2100
2317
  }
@@ -2103,7 +2320,7 @@ export class Trigger extends HeyApiClient {
2103
2320
  */
2104
2321
  update(options) {
2105
2322
  return (options.client ?? this.client).patch({
2106
- url: "/api/triggers/{triggerId}",
2323
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}",
2107
2324
  ...options,
2108
2325
  headers: {
2109
2326
  "Content-Type": "application/json",
@@ -2116,12 +2333,8 @@ export class Trigger extends HeyApiClient {
2116
2333
  */
2117
2334
  archive(options) {
2118
2335
  return (options.client ?? this.client).post({
2119
- url: "/api/triggers/{triggerId}/archive",
2336
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}/archive",
2120
2337
  ...options,
2121
- headers: {
2122
- "Content-Type": "application/json",
2123
- ...options.headers,
2124
- },
2125
2338
  });
2126
2339
  }
2127
2340
  }
@@ -2446,7 +2659,7 @@ export class Linear extends HeyApiClient {
2446
2659
  return (this._mappings ??= new Mappings2({ client: this.client }));
2447
2660
  }
2448
2661
  }
2449
- export class Vault2 extends HeyApiClient {
2662
+ export class Vault extends HeyApiClient {
2450
2663
  /**
2451
2664
  * List vaults
2452
2665
  */
@@ -2456,28 +2669,6 @@ export class Vault2 extends HeyApiClient {
2456
2669
  ...options,
2457
2670
  });
2458
2671
  }
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
2672
  /**
2482
2673
  * Get a vault
2483
2674
  */
@@ -2487,36 +2678,14 @@ export class Vault2 extends HeyApiClient {
2487
2678
  ...options,
2488
2679
  });
2489
2680
  }
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
2681
  }
2513
- export class Oauth2 extends HeyApiClient {
2682
+ export class Oauth extends HeyApiClient {
2514
2683
  /**
2515
- * Begin SDK-delegated OAuth flow against an MCP
2684
+ * Start 'Sign in with X' for an MCP in this vault (or confirm it is already connected)
2516
2685
  */
2517
- start(options) {
2686
+ connect(options) {
2518
2687
  return (options.client ?? this.client).post({
2519
- url: "/api/vaults/{vaultId}/credentials/oauth/start",
2688
+ url: "/api/vaults/{vaultId}/oauth/connect",
2520
2689
  ...options,
2521
2690
  headers: {
2522
2691
  "Content-Type": "application/json",
@@ -2525,13 +2694,13 @@ export class Oauth2 extends HeyApiClient {
2525
2694
  });
2526
2695
  }
2527
2696
  /**
2528
- * Poll an OAuth session's status
2697
+ * Poll a sign-in session's status
2529
2698
  */
2530
2699
  session(options) {
2531
- return (options.client ?? this.client).get({ url: "/api/vaults/{vaultId}/oauth/sessions/{sessionId}", ...options });
2700
+ return (options.client ?? this.client).get({ url: "/api/vaults/oauth/sessions/{sessionId}", ...options });
2532
2701
  }
2533
2702
  }
2534
- export class Credential extends HeyApiClient {
2703
+ export class Credential2 extends HeyApiClient {
2535
2704
  /**
2536
2705
  * List credentials
2537
2706
  */
@@ -2585,15 +2754,6 @@ export class Credential extends HeyApiClient {
2585
2754
  },
2586
2755
  });
2587
2756
  }
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
2757
  /**
2598
2758
  * Copy or move a credential to another vault
2599
2759
  */
@@ -2609,7 +2769,7 @@ export class Credential extends HeyApiClient {
2609
2769
  }
2610
2770
  _oauth;
2611
2771
  get oauth() {
2612
- return (this._oauth ??= new Oauth2({ client: this.client }));
2772
+ return (this._oauth ??= new Oauth({ client: this.client }));
2613
2773
  }
2614
2774
  }
2615
2775
  export class Agent3 extends HeyApiClient {
@@ -2673,6 +2833,12 @@ export class Mcp3 extends HeyApiClient {
2673
2833
  }
2674
2834
  }
2675
2835
  export class Blueprint2 extends HeyApiClient {
2836
+ /**
2837
+ * List registry blueprints
2838
+ */
2839
+ list(options) {
2840
+ return (options?.client ?? this.client).get({ url: "/api/registry/blueprints", ...options });
2841
+ }
2676
2842
  /**
2677
2843
  * Get a registry blueprint by slug
2678
2844
  */
@@ -2687,6 +2853,30 @@ export class Publisher2 extends HeyApiClient {
2687
2853
  get(options) {
2688
2854
  return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}", ...options });
2689
2855
  }
2856
+ /**
2857
+ * List a registry publisher's blueprints
2858
+ */
2859
+ blueprints(options) {
2860
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/blueprints", ...options });
2861
+ }
2862
+ /**
2863
+ * List a registry publisher's skills
2864
+ */
2865
+ skills(options) {
2866
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/skills", ...options });
2867
+ }
2868
+ /**
2869
+ * List a registry publisher's agents
2870
+ */
2871
+ agents(options) {
2872
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/agents", ...options });
2873
+ }
2874
+ /**
2875
+ * List a registry publisher's MCPs
2876
+ */
2877
+ mcps(options) {
2878
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}/mcps", ...options });
2879
+ }
2690
2880
  }
2691
2881
  export class Files4 extends HeyApiClient {
2692
2882
  /**
@@ -2835,6 +3025,10 @@ export class RenClient extends HeyApiClient {
2835
3025
  get google() {
2836
3026
  return (this._google ??= new Google({ client: this.client }));
2837
3027
  }
3028
+ _oauthApp;
3029
+ get oauthApp() {
3030
+ return (this._oauthApp ??= new OauthApp({ client: this.client }));
3031
+ }
2838
3032
  _mcp;
2839
3033
  get mcp() {
2840
3034
  return (this._mcp ??= new Mcp({ client: this.client }));
@@ -2871,6 +3065,14 @@ export class RenClient extends HeyApiClient {
2871
3065
  get pod() {
2872
3066
  return (this._pod ??= new Pod({ client: this.client }));
2873
3067
  }
3068
+ _podDatabase;
3069
+ get podDatabase() {
3070
+ return (this._podDatabase ??= new PodDatabase({ client: this.client }));
3071
+ }
3072
+ _artifact;
3073
+ get artifact() {
3074
+ return (this._artifact ??= new Artifact({ client: this.client }));
3075
+ }
2874
3076
  _project;
2875
3077
  get project() {
2876
3078
  return (this._project ??= new Project({ client: this.client }));
@@ -2883,6 +3085,10 @@ export class RenClient extends HeyApiClient {
2883
3085
  get replay() {
2884
3086
  return (this._replay ??= new Replay({ client: this.client }));
2885
3087
  }
3088
+ _resourceIcon;
3089
+ get resourceIcon() {
3090
+ return (this._resourceIcon ??= new ResourceIcon({ client: this.client }));
3091
+ }
2886
3092
  _session;
2887
3093
  get session() {
2888
3094
  return (this._session ??= new Session({ client: this.client }));
@@ -2899,9 +3105,9 @@ export class RenClient extends HeyApiClient {
2899
3105
  get topologyShare() {
2900
3106
  return (this._topologyShare ??= new TopologyShare({ client: this.client }));
2901
3107
  }
2902
- _trigger;
2903
- get trigger() {
2904
- return (this._trigger ??= new Trigger({ client: this.client }));
3108
+ _cronTrigger;
3109
+ get cronTrigger() {
3110
+ return (this._cronTrigger ??= new CronTrigger({ client: this.client }));
2905
3111
  }
2906
3112
  _webhookTrigger;
2907
3113
  get webhookTrigger() {
@@ -2925,11 +3131,11 @@ export class RenClient extends HeyApiClient {
2925
3131
  }
2926
3132
  _vault;
2927
3133
  get vault() {
2928
- return (this._vault ??= new Vault2({ client: this.client }));
3134
+ return (this._vault ??= new Vault({ client: this.client }));
2929
3135
  }
2930
3136
  _credential;
2931
3137
  get credential() {
2932
- return (this._credential ??= new Credential({ client: this.client }));
3138
+ return (this._credential ??= new Credential2({ client: this.client }));
2933
3139
  }
2934
3140
  _registry;
2935
3141
  get registry() {