@renai-labs/sdk 0.1.18 → 0.1.20

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.
@@ -87,7 +87,7 @@ export class Agent extends HeyApiClient {
87
87
  });
88
88
  }
89
89
  /**
90
- * Search agents across user, org, and registry scopes
90
+ * Search agents across private, org, and published tiers
91
91
  */
92
92
  search(options) {
93
93
  return (options?.client ?? this.client).post({
@@ -148,6 +148,15 @@ export class Agent extends HeyApiClient {
148
148
  ...options,
149
149
  });
150
150
  }
151
+ /**
152
+ * Promote a private agent to org scope in place, cascading to its private dependencies
153
+ */
154
+ promote(options) {
155
+ return (options.client ?? this.client).post({
156
+ url: "/api/agents/{id}/promote",
157
+ ...options,
158
+ });
159
+ }
151
160
  /**
152
161
  * Deprecate an agent
153
162
  */
@@ -198,6 +207,19 @@ export class Blueprint extends HeyApiClient {
198
207
  },
199
208
  });
200
209
  }
210
+ /**
211
+ * Create or update a blueprint from a raw Spec
212
+ */
213
+ push(options) {
214
+ return (options?.client ?? this.client).post({
215
+ url: "/api/blueprints/push",
216
+ ...options,
217
+ headers: {
218
+ "Content-Type": "application/json",
219
+ ...options?.headers,
220
+ },
221
+ });
222
+ }
201
223
  /**
202
224
  * Install a blueprint into a pod
203
225
  */
@@ -281,6 +303,17 @@ export class Billing extends HeyApiClient {
281
303
  ...options,
282
304
  });
283
305
  }
306
+ /**
307
+ * Get organization-wide credit usage
308
+ *
309
+ * Total Ren credits consumed across the organization over a bounded time range, broken down by a chosen dimension (user, member, agent, model, session, project, pod, or source) with a per-day trend. Requires an explicit `start`/`end` range (max 92 days). Served from the local hourly usage rollup; values may lag live spend by up to roughly one hour plus a meter cycle.
310
+ */
311
+ usage(options) {
312
+ return (options.client ?? this.client).get({
313
+ url: "/api/billing/usage",
314
+ ...options,
315
+ });
316
+ }
284
317
  /**
285
318
  * List invoices for the organization
286
319
  */
@@ -291,26 +324,48 @@ export class Billing extends HeyApiClient {
291
324
  });
292
325
  }
293
326
  /**
294
- * Daily credit usage
327
+ * Get a payment URL for an invoice
295
328
  */
296
- dailyUsage(options) {
329
+ invoicePaymentUrl(options) {
330
+ return (options.client ?? this.client).get({ url: "/api/billing/invoice-payment-url", ...options });
331
+ }
332
+ /**
333
+ * List available subscription plans
334
+ */
335
+ plans(options) {
297
336
  return (options?.client ?? this.client).get({
298
- url: "/api/billing/daily-usage",
337
+ url: "/api/billing/plans",
299
338
  ...options,
300
339
  });
301
340
  }
302
341
  /**
303
- * Get a payment URL for an invoice
342
+ * Start a subscription-plan checkout
304
343
  */
305
- invoicePaymentUrl(options) {
306
- return (options.client ?? this.client).get({ url: "/api/billing/invoice-payment-url", ...options });
344
+ subscribe(options) {
345
+ return (options?.client ?? this.client).post({
346
+ url: "/api/billing/subscribe",
347
+ ...options,
348
+ headers: {
349
+ "Content-Type": "application/json",
350
+ ...options?.headers,
351
+ },
352
+ });
307
353
  }
308
354
  /**
309
- * Change subscription plan
355
+ * Get a customer-portal URL to manage the plan
310
356
  */
311
- updatePlan(options) {
357
+ portal(options) {
358
+ return (options?.client ?? this.client).get({
359
+ url: "/api/billing/portal",
360
+ ...options,
361
+ });
362
+ }
363
+ /**
364
+ * Upgrade or downgrade the current subscription plan
365
+ */
366
+ changePlan(options) {
312
367
  return (options?.client ?? this.client).post({
313
- url: "/api/billing/plan",
368
+ url: "/api/billing/change-plan",
314
369
  ...options,
315
370
  headers: {
316
371
  "Content-Type": "application/json",
@@ -318,6 +373,15 @@ export class Billing extends HeyApiClient {
318
373
  },
319
374
  });
320
375
  }
376
+ /**
377
+ * Cancel the subscription at the next renewal
378
+ */
379
+ cancel(options) {
380
+ return (options?.client ?? this.client).post({
381
+ url: "/api/billing/cancel",
382
+ ...options,
383
+ });
384
+ }
321
385
  }
322
386
  export class Dashboard extends HeyApiClient {
323
387
  /**
@@ -502,6 +566,17 @@ export class FileStore extends HeyApiClient {
502
566
  return (this._files ??= new Files({ client: this.client }));
503
567
  }
504
568
  }
569
+ export class Invitation extends HeyApiClient {
570
+ /**
571
+ * Preview an organization invitation
572
+ */
573
+ preview(options) {
574
+ return (options.client ?? this.client).get({
575
+ url: "/api/invitations/{id}/preview",
576
+ ...options,
577
+ });
578
+ }
579
+ }
505
580
  export class Mappings extends HeyApiClient {
506
581
  /**
507
582
  * List GitHub repo→project channel mappings for the org
@@ -694,7 +769,7 @@ export class Mcp extends HeyApiClient {
694
769
  });
695
770
  }
696
771
  /**
697
- * Search MCPs across user, org, and registry scopes
772
+ * Search MCPs across private, org, and published tiers
698
773
  */
699
774
  search(options) {
700
775
  return (options?.client ?? this.client).post({
@@ -755,6 +830,15 @@ export class Mcp extends HeyApiClient {
755
830
  ...options,
756
831
  });
757
832
  }
833
+ /**
834
+ * Promote a private MCP to org scope in place
835
+ */
836
+ promote(options) {
837
+ return (options.client ?? this.client).post({
838
+ url: "/api/mcps/{id}/promote",
839
+ ...options,
840
+ });
841
+ }
758
842
  /**
759
843
  * Deprecate an MCP
760
844
  */
@@ -792,6 +876,36 @@ export class Me extends HeyApiClient {
792
876
  ...options,
793
877
  });
794
878
  }
879
+ /**
880
+ * Update the active member persona
881
+ *
882
+ * Sets the authenticated user's persona for their active organization membership.
883
+ */
884
+ updatePersona(options) {
885
+ return (options?.client ?? this.client).patch({
886
+ url: "/api/me/persona",
887
+ ...options,
888
+ headers: {
889
+ "Content-Type": "application/json",
890
+ ...options?.headers,
891
+ },
892
+ });
893
+ }
894
+ /**
895
+ * Mark member onboarding complete
896
+ *
897
+ * Stamps the authenticated member as onboarded for their active organization.
898
+ */
899
+ completeOnboarding(options) {
900
+ return (options?.client ?? this.client).post({
901
+ url: "/api/me/onboarding",
902
+ ...options,
903
+ headers: {
904
+ "Content-Type": "application/json",
905
+ ...options?.headers,
906
+ },
907
+ });
908
+ }
795
909
  }
796
910
  export class Files2 extends HeyApiClient {
797
911
  /**
@@ -934,6 +1048,46 @@ export class Onboarding extends HeyApiClient {
934
1048
  return (options?.client ?? this.client).post({ url: "/api/onboarding/setup-personal-org", ...options });
935
1049
  }
936
1050
  }
1051
+ export class Org extends HeyApiClient {
1052
+ /**
1053
+ * Get organization settings
1054
+ */
1055
+ get(options) {
1056
+ return (options?.client ?? this.client).get({
1057
+ url: "/api/org",
1058
+ ...options,
1059
+ });
1060
+ }
1061
+ /**
1062
+ * Update organization settings
1063
+ */
1064
+ update(options) {
1065
+ return (options?.client ?? this.client).patch({
1066
+ url: "/api/org",
1067
+ ...options,
1068
+ headers: {
1069
+ "Content-Type": "application/json",
1070
+ ...options?.headers,
1071
+ },
1072
+ });
1073
+ }
1074
+ }
1075
+ export class OrganizationLogo extends HeyApiClient {
1076
+ /**
1077
+ * Upload an organization logo
1078
+ */
1079
+ upload(options) {
1080
+ return (options.client ?? this.client).post({
1081
+ ...formDataBodySerializer,
1082
+ url: "/api/organization-logos",
1083
+ ...options,
1084
+ headers: {
1085
+ "Content-Type": null,
1086
+ ...options.headers,
1087
+ },
1088
+ });
1089
+ }
1090
+ }
937
1091
  export class Pat extends HeyApiClient {
938
1092
  /**
939
1093
  * List personal access tokens
@@ -1113,6 +1267,17 @@ export class Pod extends HeyApiClient {
1113
1267
  },
1114
1268
  });
1115
1269
  }
1270
+ /**
1271
+ * Get total credit usage for a pod
1272
+ *
1273
+ * Total Ren credits consumed across the whole pod, served from the local hourly usage rollup.
1274
+ */
1275
+ usage(options) {
1276
+ return (options.client ?? this.client).get({
1277
+ url: "/api/pods/{id}/usage",
1278
+ ...options,
1279
+ });
1280
+ }
1116
1281
  /**
1117
1282
  * Archive a pod
1118
1283
  */
@@ -1235,6 +1400,72 @@ export class MemoryStore2 extends HeyApiClient {
1235
1400
  return (options.client ?? this.client).delete({ url: "/api/projects/{id}/memory-stores/{memoryStoreId}", ...options });
1236
1401
  }
1237
1402
  }
1403
+ export class Skill extends HeyApiClient {
1404
+ /**
1405
+ * List skills attached to a project
1406
+ */
1407
+ list(options) {
1408
+ return (options.client ?? this.client).get({
1409
+ url: "/api/projects/{id}/skills",
1410
+ ...options,
1411
+ });
1412
+ }
1413
+ /**
1414
+ * Attach a skill to a project
1415
+ */
1416
+ add(options) {
1417
+ return (options.client ?? this.client).post({
1418
+ url: "/api/projects/{id}/skills",
1419
+ ...options,
1420
+ headers: {
1421
+ "Content-Type": "application/json",
1422
+ ...options.headers,
1423
+ },
1424
+ });
1425
+ }
1426
+ /**
1427
+ * Detach a skill from a project
1428
+ */
1429
+ remove(options) {
1430
+ return (options.client ?? this.client).delete({
1431
+ url: "/api/projects/{id}/skills/{skillId}",
1432
+ ...options,
1433
+ });
1434
+ }
1435
+ }
1436
+ export class Mcp2 extends HeyApiClient {
1437
+ /**
1438
+ * List MCPs attached to a project
1439
+ */
1440
+ list(options) {
1441
+ return (options.client ?? this.client).get({
1442
+ url: "/api/projects/{id}/mcps",
1443
+ ...options,
1444
+ });
1445
+ }
1446
+ /**
1447
+ * Attach an MCP to a project
1448
+ */
1449
+ add(options) {
1450
+ return (options.client ?? this.client).post({
1451
+ url: "/api/projects/{id}/mcps",
1452
+ ...options,
1453
+ headers: {
1454
+ "Content-Type": "application/json",
1455
+ ...options.headers,
1456
+ },
1457
+ });
1458
+ }
1459
+ /**
1460
+ * Detach an MCP from a project
1461
+ */
1462
+ remove(options) {
1463
+ return (options.client ?? this.client).delete({
1464
+ url: "/api/projects/{id}/mcps/{mcpId}",
1465
+ ...options,
1466
+ });
1467
+ }
1468
+ }
1238
1469
  export class Project extends HeyApiClient {
1239
1470
  /**
1240
1471
  * List projects
@@ -1280,6 +1511,17 @@ export class Project extends HeyApiClient {
1280
1511
  },
1281
1512
  });
1282
1513
  }
1514
+ /**
1515
+ * Get a project's credit usage
1516
+ *
1517
+ * Ren credits consumed within the project, with a per-day trend, a breakdown by usage source and operation, and an optional grouped breakdown (e.g. `groupBy=session` for per-session costs). `start`/`end` bound the range (max 92 days); omit both for all-time. Served from the local hourly usage rollup.
1518
+ */
1519
+ usage(options) {
1520
+ return (options.client ?? this.client).get({
1521
+ url: "/api/projects/{id}/usage",
1522
+ ...options,
1523
+ });
1524
+ }
1283
1525
  /**
1284
1526
  * Archive a project
1285
1527
  */
@@ -1301,6 +1543,14 @@ export class Project extends HeyApiClient {
1301
1543
  get memoryStore() {
1302
1544
  return (this._memoryStore ??= new MemoryStore2({ client: this.client }));
1303
1545
  }
1546
+ _skill;
1547
+ get skill() {
1548
+ return (this._skill ??= new Skill({ client: this.client }));
1549
+ }
1550
+ _mcp;
1551
+ get mcp() {
1552
+ return (this._mcp ??= new Mcp2({ client: this.client }));
1553
+ }
1304
1554
  }
1305
1555
  export class Publisher extends HeyApiClient {
1306
1556
  /**
@@ -1511,6 +1761,8 @@ export class Session extends HeyApiClient {
1511
1761
  }
1512
1762
  /**
1513
1763
  * Create a session
1764
+ *
1765
+ * Starts an async, sandbox-warming session creation job and returns a jobId to poll via session.createStatus.
1514
1766
  */
1515
1767
  create(options) {
1516
1768
  return (options?.client ?? this.client).post({
@@ -1522,6 +1774,15 @@ export class Session extends HeyApiClient {
1522
1774
  },
1523
1775
  });
1524
1776
  }
1777
+ /**
1778
+ * Poll a session creation job
1779
+ */
1780
+ createStatus(options) {
1781
+ return (options.client ?? this.client).get({
1782
+ url: "/api/sessions/jobs/{jobId}",
1783
+ ...options,
1784
+ });
1785
+ }
1525
1786
  /**
1526
1787
  * Get a session
1527
1788
  */
@@ -1555,6 +1816,17 @@ export class Session extends HeyApiClient {
1555
1816
  ...options,
1556
1817
  });
1557
1818
  }
1819
+ /**
1820
+ * Get a session's credit usage
1821
+ *
1822
+ * Total Ren credits consumed by this session and all of its child/subagent sessions, with a breakdown by usage source and operation. Served from the local hourly usage rollup; the value may lag live spend by up to roughly one hour plus a meter cycle.
1823
+ */
1824
+ usage(options) {
1825
+ return (options.client ?? this.client).get({
1826
+ url: "/api/sessions/{id}/usage",
1827
+ ...options,
1828
+ });
1829
+ }
1558
1830
  /**
1559
1831
  * Compute MCP and skill credential requirements for a session
1560
1832
  */
@@ -1635,7 +1907,7 @@ export class Version2 extends HeyApiClient {
1635
1907
  });
1636
1908
  }
1637
1909
  }
1638
- export class Skill extends HeyApiClient {
1910
+ export class Skill2 extends HeyApiClient {
1639
1911
  /**
1640
1912
  * List skills
1641
1913
  */
@@ -1660,7 +1932,7 @@ export class Skill extends HeyApiClient {
1660
1932
  });
1661
1933
  }
1662
1934
  /**
1663
- * Search skills across user, org, and registry scopes
1935
+ * Search skills across private, org, and published tiers
1664
1936
  */
1665
1937
  search(options) {
1666
1938
  return (options?.client ?? this.client).post({
@@ -1756,6 +2028,15 @@ export class Skill extends HeyApiClient {
1756
2028
  },
1757
2029
  });
1758
2030
  }
2031
+ /**
2032
+ * Promote a private skill to org scope in place
2033
+ */
2034
+ promote(options) {
2035
+ return (options.client ?? this.client).post({
2036
+ url: "/api/skills/{id}/promote",
2037
+ ...options,
2038
+ });
2039
+ }
1759
2040
  _version;
1760
2041
  get version() {
1761
2042
  return (this._version ??= new Version2({ client: this.client }));
@@ -1913,6 +2194,14 @@ export class WebhookTrigger extends HeyApiClient {
1913
2194
  });
1914
2195
  }
1915
2196
  }
2197
+ export class Onboarding2 extends HeyApiClient {
2198
+ /**
2199
+ * Resolve the next onboarding step after Sign in with Slack
2200
+ */
2201
+ resolve(options) {
2202
+ return (options?.client ?? this.client).get({ url: "/api/slack/onboarding/resolve", ...options });
2203
+ }
2204
+ }
1916
2205
  export class Channel extends HeyApiClient {
1917
2206
  /**
1918
2207
  * List Slack channels with their current project mapping
@@ -1974,6 +2263,10 @@ export class Slack extends HeyApiClient {
1974
2263
  ...options,
1975
2264
  });
1976
2265
  }
2266
+ _onboarding;
2267
+ get onboarding() {
2268
+ return (this._onboarding ??= new Onboarding2({ client: this.client }));
2269
+ }
1977
2270
  _channel;
1978
2271
  get channel() {
1979
2272
  return (this._channel ??= new Channel({ client: this.client }));
@@ -2102,7 +2395,7 @@ export class Mappings2 extends HeyApiClient {
2102
2395
  });
2103
2396
  }
2104
2397
  /**
2105
- * Map a Linear project to a Ren project
2398
+ * Map a Linear project to a Ren project (idempotent upsert)
2106
2399
  */
2107
2400
  create(options) {
2108
2401
  return (options?.client ?? this.client).post({
@@ -2311,6 +2604,19 @@ export class Credential extends HeyApiClient {
2311
2604
  ...options,
2312
2605
  });
2313
2606
  }
2607
+ /**
2608
+ * Copy or move a credential to another vault
2609
+ */
2610
+ transfer(options) {
2611
+ return (options.client ?? this.client).post({
2612
+ url: "/api/vaults/{vaultId}/credentials/{id}/transfer",
2613
+ ...options,
2614
+ headers: {
2615
+ "Content-Type": "application/json",
2616
+ ...options.headers,
2617
+ },
2618
+ });
2619
+ }
2314
2620
  _oauth;
2315
2621
  get oauth() {
2316
2622
  return (this._oauth ??= new Oauth2({ client: this.client }));
@@ -2336,7 +2642,7 @@ export class Agent3 extends HeyApiClient {
2336
2642
  });
2337
2643
  }
2338
2644
  }
2339
- export class Skill2 extends HeyApiClient {
2645
+ export class Skill3 extends HeyApiClient {
2340
2646
  /**
2341
2647
  * List registry skills
2342
2648
  */
@@ -2356,7 +2662,7 @@ export class Skill2 extends HeyApiClient {
2356
2662
  });
2357
2663
  }
2358
2664
  }
2359
- export class Mcp2 extends HeyApiClient {
2665
+ export class Mcp3 extends HeyApiClient {
2360
2666
  /**
2361
2667
  * List registry MCPs
2362
2668
  */
@@ -2384,6 +2690,14 @@ export class Blueprint2 extends HeyApiClient {
2384
2690
  return (options.client ?? this.client).get({ url: "/api/registry/blueprints/{slug}", ...options });
2385
2691
  }
2386
2692
  }
2693
+ export class Publisher2 extends HeyApiClient {
2694
+ /**
2695
+ * Get a registry publisher by slug
2696
+ */
2697
+ get(options) {
2698
+ return (options.client ?? this.client).get({ url: "/api/registry/publishers/{slug}", ...options });
2699
+ }
2700
+ }
2387
2701
  export class Files4 extends HeyApiClient {
2388
2702
  /**
2389
2703
  * Presign a download URL for a public replay's pod-volume file
@@ -2466,16 +2780,20 @@ export class Registry extends HeyApiClient {
2466
2780
  }
2467
2781
  _skill;
2468
2782
  get skill() {
2469
- return (this._skill ??= new Skill2({ client: this.client }));
2783
+ return (this._skill ??= new Skill3({ client: this.client }));
2470
2784
  }
2471
2785
  _mcp;
2472
2786
  get mcp() {
2473
- return (this._mcp ??= new Mcp2({ client: this.client }));
2787
+ return (this._mcp ??= new Mcp3({ client: this.client }));
2474
2788
  }
2475
2789
  _blueprint;
2476
2790
  get blueprint() {
2477
2791
  return (this._blueprint ??= new Blueprint2({ client: this.client }));
2478
2792
  }
2793
+ _publisher;
2794
+ get publisher() {
2795
+ return (this._publisher ??= new Publisher2({ client: this.client }));
2796
+ }
2479
2797
  _replay;
2480
2798
  get replay() {
2481
2799
  return (this._replay ??= new Replay2({ client: this.client }));
@@ -2515,6 +2833,10 @@ export class RenClient extends HeyApiClient {
2515
2833
  get fileStore() {
2516
2834
  return (this._fileStore ??= new FileStore({ client: this.client }));
2517
2835
  }
2836
+ _invitation;
2837
+ get invitation() {
2838
+ return (this._invitation ??= new Invitation({ client: this.client }));
2839
+ }
2518
2840
  _github;
2519
2841
  get github() {
2520
2842
  return (this._github ??= new Github({ client: this.client }));
@@ -2543,6 +2865,14 @@ export class RenClient extends HeyApiClient {
2543
2865
  get onboarding() {
2544
2866
  return (this._onboarding ??= new Onboarding({ client: this.client }));
2545
2867
  }
2868
+ _org;
2869
+ get org() {
2870
+ return (this._org ??= new Org({ client: this.client }));
2871
+ }
2872
+ _organizationLogo;
2873
+ get organizationLogo() {
2874
+ return (this._organizationLogo ??= new OrganizationLogo({ client: this.client }));
2875
+ }
2546
2876
  _pat;
2547
2877
  get pat() {
2548
2878
  return (this._pat ??= new Pat({ client: this.client }));
@@ -2569,7 +2899,7 @@ export class RenClient extends HeyApiClient {
2569
2899
  }
2570
2900
  _skill;
2571
2901
  get skill() {
2572
- return (this._skill ??= new Skill({ client: this.client }));
2902
+ return (this._skill ??= new Skill2({ client: this.client }));
2573
2903
  }
2574
2904
  _topology;
2575
2905
  get topology() {