@ellipsis-dev/sdk 0.31.0 → 0.33.0

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.
package/dist/index.js CHANGED
@@ -300,8 +300,8 @@ var EllipsisAccountApiKeys = class {
300
300
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
301
301
  * Higher permission levels include lower levels: read < write < delete.
302
302
  */
303
- async revoke(api_key_id) {
304
- const path = `/v1/account/api-keys/${enc(api_key_id)}`;
303
+ async revoke(id) {
304
+ const path = `/v1/account/api-keys/${enc(id)}`;
305
305
  return await this.transport.request("DELETE", path);
306
306
  }
307
307
  };
@@ -336,8 +336,8 @@ var EllipsisAccountBillingAutoRecharge = class {
336
336
  * Requires a human account administrator; API keys and session tokens
337
337
  * cannot change this policy. Supply enabled explicitly. Saving amounts
338
338
  * with enabled=false keeps recharge off; enabling requires a saved card.
339
- * A recharge buys amount_cents of credit and charges the platform fee
340
- * in addition. Amounts and thresholds preserve exact cents.
339
+ * A recharge buys `amount` of credit and charges the platform fee in
340
+ * addition. Amounts and thresholds are millicents in whole cents.
341
341
  *
342
342
  * Required permissions: write:account.
343
343
  * API key: Requires a CLI user token belonging to an account administrator.
@@ -347,7 +347,7 @@ var EllipsisAccountBillingAutoRecharge = class {
347
347
  */
348
348
  async set(options) {
349
349
  const path = "/v1/account/billing/auto-recharge";
350
- const body = buildBody({ amount_cents: options.amount_cents, enabled: options.enabled, threshold_cents: options.threshold_cents });
350
+ const body = buildBody({ amount: options.amount, enabled: options.enabled, threshold: options.threshold });
351
351
  return await this.transport.request("PUT", path, { body });
352
352
  }
353
353
  };
@@ -384,7 +384,7 @@ var EllipsisAccountBilling = class {
384
384
  *
385
385
  * Requires a human account administrator. Open the returned URL to
386
386
  * complete payment. Credit is granted only after payment succeeds;
387
- * the platform fee is charged in addition to amount_cents. Returning
387
+ * the platform fee is charged in addition to `amount`. Returning
388
388
  * to Billing carries the checkout session ID for receipt lookup.
389
389
  *
390
390
  * Required permissions: write:account.
@@ -395,7 +395,7 @@ var EllipsisAccountBilling = class {
395
395
  */
396
396
  async checkout(options) {
397
397
  const path = "/v1/account/billing/checkout";
398
- const body = buildBody({ amount_cents: options.amount_cents });
398
+ const body = buildBody({ amount: options.amount });
399
399
  return await this.transport.request("POST", path, { body });
400
400
  }
401
401
  /**
@@ -419,7 +419,7 @@ var EllipsisAccountBilling = class {
419
419
  /**
420
420
  * Get Fee Schedule
421
421
  *
422
- * Get the account's rate card, in US dollars.
422
+ * Get the account's rate card, in millicents.
423
423
  *
424
424
  * Required permissions: read:account.
425
425
  * API key: Supported.
@@ -463,8 +463,8 @@ var EllipsisAccountBilling = class {
463
463
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
464
464
  * Higher permission levels include lower levels: read < write < delete.
465
465
  */
466
- async purchase(checkout_id) {
467
- const path = `/v1/account/billing/purchases/${enc(checkout_id)}`;
466
+ async purchase(id) {
467
+ const path = `/v1/account/billing/purchases/${enc(id)}`;
468
468
  return await this.transport.request("GET", path);
469
469
  }
470
470
  /**
@@ -472,7 +472,7 @@ var EllipsisAccountBilling = class {
472
472
  *
473
473
  * Get credit purchase bounds and the platform fee.
474
474
  *
475
- * All amounts are integer US cents. The fee is added to the credit
475
+ * All amounts are in millicents. The fee is added to the credit
476
476
  * amount; it does not reduce the credit granted.
477
477
  *
478
478
  * Required permissions: read:account.
@@ -491,7 +491,7 @@ var EllipsisAccountBilling = class {
491
491
  * Explain whether your account can start sessions.
492
492
  *
493
493
  * Uses the same account gate as session admission, including credit,
494
- * contact email, and personal Claude subscription eligibility. Scoped
494
+ * contact email, and personal subscription eligibility. Scoped
495
495
  * spend limits are reported separately by /v1/account/budget.
496
496
  *
497
497
  * Required permissions: read:account.
@@ -516,13 +516,11 @@ var EllipsisAccountModels = class {
516
516
  * List selectable agent models.
517
517
  *
518
518
  * Grouped by manufacturer and model family, newest versions first
519
- * within each family, with the organization's default model
520
- * flagged (`is_default_agent_model`: the `default_model` of
521
- * `GET /v1/account/settings`).
519
+ * within each family.
522
520
  *
523
521
  * Reads the same registry as the dashboard's rate table, so a
524
522
  * client's model picker can never drift from what's offered. The
525
- * selectable set is global; only the flag is account-scoped.
523
+ * selectable set is global.
526
524
  *
527
525
  * Required permissions: read:templates.
528
526
  * API key: Supported.
@@ -600,77 +598,10 @@ var EllipsisAccountOnboarding = class {
600
598
  */
601
599
  async update(options = {}) {
602
600
  const path = "/v1/account/onboarding";
603
- const body = buildBody({ other_use_case: options.other_use_case, use_cases: options.use_cases, work_email: options.work_email });
601
+ const body = buildBody({ finished: options.finished, other_use_case: options.other_use_case, use_cases: options.use_cases, work_email: options.work_email });
604
602
  return await this.transport.request("PATCH", path, { body });
605
603
  }
606
604
  };
607
- var EllipsisAccountProvidersAnthropic = class {
608
- constructor(transport) {
609
- this.transport = transport;
610
- }
611
- transport;
612
- /**
613
- * Delete Anthropic Config
614
- *
615
- * Required permissions: delete:account.
616
- * API key: Supported.
617
- * CLI user token: Supported.
618
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
619
- * Higher permission levels include lower levels: read < write < delete.
620
- */
621
- async delete() {
622
- const path = "/v1/account/providers/anthropic";
623
- await this.transport.request("DELETE", path);
624
- }
625
- /**
626
- * Get Anthropic Config
627
- *
628
- * Required permissions: read:account.
629
- * API key: Supported.
630
- * CLI user token: Supported.
631
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
632
- * Higher permission levels include lower levels: read < write < delete.
633
- */
634
- async get() {
635
- const path = "/v1/account/providers/anthropic";
636
- return await this.transport.request("GET", path);
637
- }
638
- /**
639
- * Put Anthropic Config
640
- *
641
- * Required permissions: write:account.
642
- * API key: Supported.
643
- * CLI user token: Supported.
644
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
645
- * Higher permission levels include lower levels: read < write < delete.
646
- */
647
- async set(options) {
648
- const path = "/v1/account/providers/anthropic";
649
- const body = buildBody({ api_key: options.api_key });
650
- return await this.transport.request("PUT", path, { body });
651
- }
652
- /**
653
- * Validate Anthropic Config
654
- *
655
- * Required permissions: write:account.
656
- * API key: Supported.
657
- * CLI user token: Supported.
658
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
659
- * Higher permission levels include lower levels: read < write < delete.
660
- */
661
- async validate() {
662
- const path = "/v1/account/providers/anthropic/validate";
663
- return await this.transport.request("POST", path);
664
- }
665
- };
666
- var EllipsisAccountProviders = class {
667
- constructor(transport) {
668
- this.transport = transport;
669
- this.anthropic = new EllipsisAccountProvidersAnthropic(transport);
670
- }
671
- transport;
672
- anthropic;
673
- };
674
605
  var EllipsisAccountSettings = class {
675
606
  constructor(transport) {
676
607
  this.transport = transport;
@@ -681,9 +612,9 @@ var EllipsisAccountSettings = class {
681
612
  *
682
613
  * Get the organization settings.
683
614
  *
684
- * Session model and budget defaults, code review and mention behavior,
685
- * analytics, retention, and notification contacts. PATCH replaces
686
- * supplied sections; PUT preserves its model-and-budget-only behavior.
615
+ * Session budget ceiling, mention behavior, analytics,
616
+ * retention, and notification contacts. PATCH replaces
617
+ * supplied sections; PUT sets the budget ceiling only.
687
618
  *
688
619
  * Required permissions: read:defaults.
689
620
  * API key: Supported.
@@ -700,13 +631,10 @@ var EllipsisAccountSettings = class {
700
631
  *
701
632
  * Set the organization settings.
702
633
  *
703
- * Replaces both: `default_model` accepts an alias or canonical id
704
- * and is stored canonical, and cannot be cleared (it is the only
705
- * default a session's model resolves against);
706
- * `budget_ceiling.session` is in US dollars, at most the platform
634
+ * `budget_ceiling.session` is in millicents, at most the platform
707
635
  * ceiling, and null clears it.
708
636
  * Refused for session tokens (potentially prompt-injected code must
709
- * not repoint the organization's defaults).
637
+ * not raise the organization's ceiling).
710
638
  *
711
639
  * Required permissions: write:defaults.
712
640
  * API key: Requires a CLI user token belonging to an account administrator.
@@ -714,9 +642,9 @@ var EllipsisAccountSettings = class {
714
642
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
715
643
  * Higher permission levels include lower levels: read < write < delete.
716
644
  */
717
- async set(options) {
645
+ async set(options = {}) {
718
646
  const path = "/v1/account/settings";
719
- const body = buildBody({ budget_ceiling: options.budget_ceiling, default_model: options.default_model });
647
+ const body = buildBody({ budget_ceiling: options.budget_ceiling });
720
648
  return await this.transport.request("PUT", path, { body });
721
649
  }
722
650
  /**
@@ -724,17 +652,17 @@ var EllipsisAccountSettings = class {
724
652
  *
725
653
  * Replace supplied settings sections without changing omitted sections.
726
654
  *
727
- * Changes to model or budget defaults require a GitHub administrator.
655
+ * Changes to the budget ceiling require a GitHub administrator.
728
656
  *
729
657
  * Required permissions: write:defaults.
730
- * API key: Cannot set budget_ceiling, default_model to a non-null value; those changes require a CLI user token belonging to an account administrator.
731
- * CLI user token: Requires an account administrator when setting budget_ceiling, default_model to a non-null value.
658
+ * API key: Cannot set budget_ceiling to a non-null value; those changes require a CLI user token belonging to an account administrator.
659
+ * CLI user token: Requires an account administrator when setting budget_ceiling to a non-null value.
732
660
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
733
661
  * Higher permission levels include lower levels: read < write < delete.
734
662
  */
735
663
  async update(options = {}) {
736
664
  const path = "/v1/account/settings";
737
- const body = buildBody({ analytics: options.analytics, budget_ceiling: options.budget_ceiling, code_review: options.code_review, data_retention: options.data_retention, default_model: options.default_model, notifications: options.notifications });
665
+ const body = buildBody({ analytics: options.analytics, budget_ceiling: options.budget_ceiling, data_retention: options.data_retention, notifications: options.notifications });
738
666
  return await this.transport.request("PATCH", path, { body });
739
667
  }
740
668
  };
@@ -746,7 +674,6 @@ var EllipsisAccount = class {
746
674
  this.models = new EllipsisAccountModels(transport);
747
675
  this.notifications = new EllipsisAccountNotifications(transport);
748
676
  this.onboarding = new EllipsisAccountOnboarding(transport);
749
- this.providers = new EllipsisAccountProviders(transport);
750
677
  this.settings = new EllipsisAccountSettings(transport);
751
678
  }
752
679
  transport;
@@ -755,7 +682,6 @@ var EllipsisAccount = class {
755
682
  models;
756
683
  notifications;
757
684
  onboarding;
758
- providers;
759
685
  settings;
760
686
  /**
761
687
  * Get Customer Activity
@@ -849,13 +775,13 @@ var EllipsisAccount = class {
849
775
  /**
850
776
  * Get Usage
851
777
  *
852
- * Get usage for a calendar month, including its funding sources.
778
+ * Get usage for a calendar month, split by billing source.
853
779
  *
854
- * Omit period_start for the current UTC month; select a period returned
855
- * in billing_periods to view history. Credit debits are distinct from
856
- * rated token usage through BYOK or a developer's Claude or Codex
857
- * subscription. Rated usage estimates are not provider invoices.
858
- * Pending and unresolved requests identify missing measurements.
780
+ * Omit period_start for the current UTC month. Pass a period from
781
+ * billing_periods to view history. Platform usage is charged to
782
+ * Ellipsis credit. Tokens paid by a developer's Claude or Codex
783
+ * subscription show their cost at Ellipsis rates and charge no
784
+ * credit. Pending and unresolved requests are missing measurements.
859
785
  *
860
786
  * Required permissions: read:account.
861
787
  * API key: Supported.
@@ -879,7 +805,7 @@ var EllipsisAgents = class {
879
805
  *
880
806
  * Create an agent, managed through the API: no file, live
881
807
  * immediately. To put its definition in a repository instead, create
882
- * it here and then POST /v1/agents/{agent_id}/link.
808
+ * it here and then POST /v1/agents/{id}/link.
883
809
  *
884
810
  * 409 when another live agent already holds the name.
885
811
  *
@@ -911,8 +837,8 @@ var EllipsisAgents = class {
911
837
  * Higher permission levels include lower levels: read < write < delete.
912
838
  * Grant match patterns can further restrict access to individual resources.
913
839
  */
914
- async delete(agent_id) {
915
- const path = `/v1/agents/${enc(agent_id)}`;
840
+ async delete(id) {
841
+ const path = `/v1/agents/${enc(id)}`;
916
842
  await this.transport.request("DELETE", path);
917
843
  }
918
844
  /**
@@ -927,8 +853,8 @@ var EllipsisAgents = class {
927
853
  * Higher permission levels include lower levels: read < write < delete.
928
854
  * Grant match patterns can further restrict access to individual resources.
929
855
  */
930
- async get(agent_id) {
931
- const path = `/v1/agents/${enc(agent_id)}`;
856
+ async get(id) {
857
+ const path = `/v1/agents/${enc(id)}`;
932
858
  return await this.transport.request("GET", path);
933
859
  }
934
860
  /**
@@ -948,8 +874,8 @@ var EllipsisAgents = class {
948
874
  * Higher permission levels include lower levels: read < write < delete.
949
875
  * Grant match patterns can further restrict access to individual resources.
950
876
  */
951
- async link(agent_id, options) {
952
- const path = `/v1/agents/${enc(agent_id)}/link`;
877
+ async link(id, options) {
878
+ const path = `/v1/agents/${enc(id)}/link`;
953
879
  const body = buildBody({ path: options.path, repository: options.repository });
954
880
  return await this.transport.request("POST", path, { body });
955
881
  }
@@ -987,24 +913,26 @@ var EllipsisAgents = class {
987
913
  * Higher permission levels include lower levels: read < write < delete.
988
914
  * Grant match patterns can further restrict access to individual resources.
989
915
  */
990
- async metrics(agent_id) {
991
- const path = `/v1/agents/${enc(agent_id)}/metrics`;
916
+ async metrics(id) {
917
+ const path = `/v1/agents/${enc(id)}/metrics`;
992
918
  return await this.transport.request("GET", path);
993
919
  }
994
920
  /**
995
921
  * Start Agent Session
996
922
  *
997
- * Invoke an agent.
923
+ * Start an agent session.
998
924
  *
999
- * Runs a certified agent with its configured instructions, model,
1000
- * environment, permissions, skills, and budget, and returns
1001
- * the session it started. The session runs once and does not accept
1002
- * follow-up messages. If the agent declares input.json_schema,
1003
- * send only `input` for its initial message. Otherwise send a non-empty
1004
- * `prompt`, which becomes the initial message verbatim. Both fields
1005
- * together, neither field, and input that renders an empty message are
1006
- * rejected with 422. An optional `budget` lowers the session cap;
1007
- * `metadata` tags the session. Codex invocations are not supported.
925
+ * Starts a session from the agent's saved `session` settings and
926
+ * returns it. The body takes the fields of POST /v1/sessions, all
927
+ * optional: each field you send replaces the agent's value for that
928
+ * field, and each field you leave out keeps it. `metadata` is merged
929
+ * into the agent's key by key, and a `null` value removes a key.
930
+ * Other lists and maps, and `environment`, are replaced whole;
931
+ * naming the other harness replaces the agent's. An empty body starts
932
+ * the agent as written. If the agent declares input.json_schema, send
933
+ * `input`; its rendered message is added after the prompt. A run-once
934
+ * session needs a prompt or `input` from the agent or the request, or
935
+ * the call is a 400.
1008
936
  *
1009
937
  * Required permissions: write:sessions.
1010
938
  * API key: Supported.
@@ -1013,9 +941,9 @@ var EllipsisAgents = class {
1013
941
  * Higher permission levels include lower levels: read < write < delete.
1014
942
  * Grant match patterns can further restrict access to individual resources.
1015
943
  */
1016
- async run(agent_id, options = {}) {
1017
- const path = `/v1/agents/${enc(agent_id)}/sessions`;
1018
- const body = buildBody({ budget: options.budget, input: options.input, metadata: options.metadata, prompt: options.prompt });
944
+ async start(id, options = {}) {
945
+ const path = `/v1/agents/${enc(id)}/sessions`;
946
+ const body = buildBody({ budget: options.budget, claude_code: options.claude_code, codex: options.codex, conversation: options.conversation, environment: options.environment, force_rebuild: options.force_rebuild, images: options.images, input: options.input, metadata: options.metadata, output: options.output, permissions: options.permissions, skills: options.skills });
1019
947
  return await this.transport.request("POST", path, { body });
1020
948
  }
1021
949
  /**
@@ -1048,8 +976,8 @@ var EllipsisAgents = class {
1048
976
  * Higher permission levels include lower levels: read < write < delete.
1049
977
  * Grant match patterns can further restrict access to individual resources.
1050
978
  */
1051
- async unlink(agent_id) {
1052
- const path = `/v1/agents/${enc(agent_id)}/unlink`;
979
+ async unlink(id) {
980
+ const path = `/v1/agents/${enc(id)}/unlink`;
1053
981
  return await this.transport.request("POST", path);
1054
982
  }
1055
983
  /**
@@ -1069,8 +997,8 @@ var EllipsisAgents = class {
1069
997
  * Higher permission levels include lower levels: read < write < delete.
1070
998
  * Grant match patterns can further restrict access to individual resources.
1071
999
  */
1072
- async update(agent_id, options) {
1073
- const path = `/v1/agents/${enc(agent_id)}`;
1000
+ async update(id, options) {
1001
+ const path = `/v1/agents/${enc(id)}`;
1074
1002
  const body = buildBody({ agent: options.agent });
1075
1003
  return await this.transport.request("PUT", path, { body });
1076
1004
  }
@@ -1093,8 +1021,8 @@ var EllipsisAlerts = class {
1093
1021
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1094
1022
  * Higher permission levels include lower levels: read < write < delete.
1095
1023
  */
1096
- async dismiss(alert_id) {
1097
- const path = `/v1/alerts/${enc(alert_id)}/dismiss`;
1024
+ async dismiss(id) {
1025
+ const path = `/v1/alerts/${enc(id)}/dismiss`;
1098
1026
  return await this.transport.request("POST", path);
1099
1027
  }
1100
1028
  /**
@@ -1110,8 +1038,8 @@ var EllipsisAlerts = class {
1110
1038
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1111
1039
  * Higher permission levels include lower levels: read < write < delete.
1112
1040
  */
1113
- async get(alert_id) {
1114
- const path = `/v1/alerts/${enc(alert_id)}`;
1041
+ async get(id) {
1042
+ const path = `/v1/alerts/${enc(id)}`;
1115
1043
  return await this.transport.request("GET", path);
1116
1044
  }
1117
1045
  /**
@@ -1192,7 +1120,7 @@ var EllipsisAnalytics = class {
1192
1120
  /**
1193
1121
  * Get Analytics Reviews
1194
1122
  *
1195
- * Return code-review analytics.
1123
+ * Return pull request review analytics.
1196
1124
  *
1197
1125
  * account_type scopes reviewers (bot|user|all) — e.g. "what apps
1198
1126
  * review the most PRs?" is the reviewer facets here with
@@ -1296,8 +1224,8 @@ var EllipsisEnvironments = class {
1296
1224
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1297
1225
  * Higher permission levels include lower levels: read < write < delete.
1298
1226
  */
1299
- async delete(environment_id) {
1300
- const path = `/v1/environments/${enc(environment_id)}`;
1227
+ async delete(id) {
1228
+ const path = `/v1/environments/${enc(id)}`;
1301
1229
  await this.transport.request("DELETE", path);
1302
1230
  }
1303
1231
  /**
@@ -1311,8 +1239,8 @@ var EllipsisEnvironments = class {
1311
1239
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1312
1240
  * Higher permission levels include lower levels: read < write < delete.
1313
1241
  */
1314
- async get(environment_id) {
1315
- const path = `/v1/environments/${enc(environment_id)}`;
1242
+ async get(id) {
1243
+ const path = `/v1/environments/${enc(id)}`;
1316
1244
  return await this.transport.request("GET", path);
1317
1245
  }
1318
1246
  /**
@@ -1346,8 +1274,8 @@ var EllipsisEnvironments = class {
1346
1274
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1347
1275
  * Higher permission levels include lower levels: read < write < delete.
1348
1276
  */
1349
- async update(environment_id, options) {
1350
- const path = `/v1/environments/${enc(environment_id)}`;
1277
+ async update(id, options) {
1278
+ const path = `/v1/environments/${enc(id)}`;
1351
1279
  const body = buildBody({ environment: options.environment });
1352
1280
  return await this.transport.request("PUT", path, { body });
1353
1281
  }
@@ -1407,8 +1335,8 @@ var EllipsisHandlers = class {
1407
1335
  * Higher permission levels include lower levels: read < write < delete.
1408
1336
  * Grant match patterns can further restrict access to individual resources.
1409
1337
  */
1410
- async metrics(handler_id, options = {}) {
1411
- const path = `/v1/handlers/${enc(handler_id)}/metrics`;
1338
+ async metrics(id, options = {}) {
1339
+ const path = `/v1/handlers/${enc(id)}/metrics`;
1412
1340
  const query = buildQuery({ start: options.start, end: options.end });
1413
1341
  return await this.transport.request("GET", path, { query });
1414
1342
  }
@@ -1513,7 +1441,7 @@ var EllipsisIntegrationsLinear = class {
1513
1441
  */
1514
1442
  async updateSettings(options) {
1515
1443
  const path = "/v1/integrations/linear/settings";
1516
- const body = buildBody({ mcp_inclusion: options.mcp_inclusion, teams: options.teams });
1444
+ const body = buildBody({ teams: options.teams });
1517
1445
  return await this.transport.request("PUT", path, { body });
1518
1446
  }
1519
1447
  };
@@ -1531,8 +1459,8 @@ var EllipsisIntegrationsSentry = class {
1531
1459
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1532
1460
  * Higher permission levels include lower levels: read < write < delete.
1533
1461
  */
1534
- async delete(integration_id) {
1535
- const path = `/v1/integrations/sentry/${enc(integration_id)}`;
1462
+ async delete(id) {
1463
+ const path = `/v1/integrations/sentry/${enc(id)}`;
1536
1464
  return await this.transport.request("DELETE", path);
1537
1465
  }
1538
1466
  /**
@@ -1614,20 +1542,6 @@ var EllipsisIntegrationsSlack = class {
1614
1542
  const path = "/v1/integrations/slack/members";
1615
1543
  return await this.transport.request("GET", path);
1616
1544
  }
1617
- /**
1618
- * Update Slack Settings
1619
- *
1620
- * Required permissions: write:integrations.
1621
- * API key: Supported.
1622
- * CLI user token: Supported.
1623
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1624
- * Higher permission levels include lower levels: read < write < delete.
1625
- */
1626
- async updateSettings(options) {
1627
- const path = "/v1/integrations/slack/settings";
1628
- const body = buildBody({ mcp_inclusion: options.mcp_inclusion });
1629
- return await this.transport.request("PUT", path, { body });
1630
- }
1631
1545
  };
1632
1546
  var EllipsisIntegrations = class {
1633
1547
  constructor(transport) {
@@ -1665,178 +1579,38 @@ var EllipsisIntegrations = class {
1665
1579
  return await this.transport.request("GET", path);
1666
1580
  }
1667
1581
  };
1668
- var EllipsisMemories = class {
1582
+ var EllipsisReviewsConfigs = class {
1669
1583
  constructor(transport) {
1670
1584
  this.transport = transport;
1671
1585
  }
1672
1586
  transport;
1673
1587
  /**
1674
- * Create Memory
1675
- *
1676
- * Save a memory for future agent sessions.
1677
- *
1678
- * Memories are durable lessons shared across the whole
1679
- * organization — conventions, past decisions, known gotchas that an
1680
- * agent cannot derive from the repository itself. One concise fact
1681
- * per memory; the description is what a reader sees in the index.
1682
- *
1683
- * Creating never overwrites: a path that already exists is a 409, so
1684
- * correcting an existing memory is an explicit edit.
1685
- *
1686
- * Required permissions: write:memories.
1687
- * API key: Supported.
1688
- * CLI user token: Supported.
1689
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1690
- * Higher permission levels include lower levels: read < write < delete.
1691
- * Grant match patterns can further restrict access to individual resources.
1692
- */
1693
- async create(options) {
1694
- const path = "/v1/memories";
1695
- const body = buildBody({ content: options.content, description: options.description, path: options.path });
1696
- return await this.transport.request("POST", path, { body });
1697
- }
1698
- /**
1699
- * Delete Memory
1700
- *
1701
- * Delete a memory that is no longer true.
1702
- *
1703
- * Available to every credential type, agents included — a wrong
1704
- * memory is worse than a missing one. The deleted content is kept in
1705
- * the memory's history for forensics, not for an undo API.
1706
- *
1707
- * Required permissions: delete:memories.
1708
- * API key: Supported.
1709
- * CLI user token: Supported.
1710
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1711
- * Higher permission levels include lower levels: read < write < delete.
1712
- * Grant match patterns can further restrict access to individual resources.
1713
- */
1714
- async delete(memory_id, options = {}) {
1715
- const path = `/v1/memories/${enc(memory_id)}`;
1716
- const query = buildQuery({ if_sha256: options.if_sha256 });
1717
- await this.transport.request("DELETE", path, { query });
1718
- }
1719
- /**
1720
- * Edit Memory
1721
- *
1722
- * Correct an existing memory in place.
1723
- *
1724
- * Pass description, content, or both. This never creates a memory (an
1725
- * unknown id is a 404) and never moves one — the path is immutable, so
1726
- * relocating a memory is a delete plus a create.
1727
- *
1728
- * Pass `if_sha256` (from a previous read) to make a concurrent write
1729
- * a 409 instead of silently overwriting it.
1730
- *
1731
- * Required permissions: write:memories.
1732
- * API key: Supported.
1733
- * CLI user token: Supported.
1734
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1735
- * Higher permission levels include lower levels: read < write < delete.
1736
- * Grant match patterns can further restrict access to individual resources.
1737
- */
1738
- async edit(memory_id, options = {}) {
1739
- const path = `/v1/memories/${enc(memory_id)}`;
1740
- const body = buildBody({ content: options.content, description: options.description, if_sha256: options.if_sha256 });
1741
- return await this.transport.request("PUT", path, { body });
1742
- }
1743
- /**
1744
- * Get Memory
1745
- *
1746
- * Read one memory's full content.
1588
+ * List Review Configs
1747
1589
  *
1748
- * The id comes from the index returned by listing memories.
1590
+ * List code review configs: every kind: code_review file synced from a repository, newest first.
1749
1591
  *
1750
- * Required permissions: read:memories.
1592
+ * Required permissions: read:reviews.
1751
1593
  * API key: Supported.
1752
1594
  * CLI user token: Supported.
1753
1595
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1754
1596
  * Higher permission levels include lower levels: read < write < delete.
1755
- * Grant match patterns can further restrict access to individual resources.
1756
1597
  */
1757
- async get(memory_id) {
1758
- const path = `/v1/memories/${enc(memory_id)}`;
1598
+ async list() {
1599
+ const path = "/v1/reviews/configs";
1759
1600
  return await this.transport.request("GET", path);
1760
1601
  }
1761
- /**
1762
- * List Memories
1763
- *
1764
- * List the organization's memories as a readable index.
1765
- *
1766
- * Returns the memories rendered as a markdown index (one line per
1767
- * memory, carrying its id, path, and description) plus the same
1768
- * entries structured, each with every field except `content`. Read
1769
- * the index, then fetch the ids whose content you want.
1770
- *
1771
- * Required permissions: read:memories.
1772
- * API key: Supported.
1773
- * CLI user token: Supported.
1774
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1775
- * Higher permission levels include lower levels: read < write < delete.
1776
- * Grant match patterns can further restrict access to individual resources.
1777
- */
1778
- async list(options = {}) {
1779
- const path = "/v1/memories";
1780
- const query = buildQuery({ prefix: options.prefix });
1781
- return await this.transport.request("GET", path, { query });
1782
- }
1783
1602
  };
1784
1603
  var EllipsisReviews = class {
1785
1604
  constructor(transport) {
1786
1605
  this.transport = transport;
1606
+ this.configs = new EllipsisReviewsConfigs(transport);
1787
1607
  }
1788
1608
  transport;
1789
- /**
1790
- * List Review Configs
1791
- *
1792
- * Required permissions: read:reviews.
1793
- * API key: Supported.
1794
- * CLI user token: Supported.
1795
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1796
- * Higher permission levels include lower levels: read < write < delete.
1797
- */
1798
- async configs() {
1799
- const path = "/v1/reviews/configs";
1800
- return await this.transport.request("GET", path);
1801
- }
1802
- /**
1803
- * Create Review
1804
- *
1805
- * Run a code review on demand.
1806
- *
1807
- * Reviews an open pull request. Which pipeline runs is not a
1808
- * parameter: it resolves from the repository's files exactly as
1809
- * it does for a push, so an on-demand review never disagrees with
1810
- * the automatic one.
1811
- *
1812
- * A review is one pipeline run over one commit range, with one
1813
- * agent session per stage: `review.id` is the review id, and
1814
- * `stages[].session_id` is where a client streams
1815
- * (/sessions/{id}/stream on a stage session), since the review
1816
- * itself is a pipeline rather than one process.
1817
- *
1818
- * Required permissions: write:reviews.
1819
- * API key: Supported.
1820
- * CLI user token: Supported.
1821
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1822
- * Higher permission levels include lower levels: read < write < delete.
1823
- */
1824
- async create(options) {
1825
- const path = "/v1/reviews";
1826
- const body = buildBody({ owner: options.owner, post: options.post, pull_request_number: options.pull_request_number, repo: options.repo, scope: options.scope });
1827
- return await this.transport.request("POST", path, { body });
1828
- }
1609
+ configs;
1829
1610
  /**
1830
1611
  * Get Review
1831
1612
  *
1832
- * Return one review with findings and outcome.
1833
- *
1834
- * Includes its scope, the per-stage sessions, the parsed findings,
1835
- * the finding counters, and the posting outcome.
1836
- *
1837
- * Findings only exist after a stage session finalizes — a running
1838
- * review honestly reports [] / null, which is why a client
1839
- * streams a stage session and then re-fetches the review.
1613
+ * Get a code review: its reviewers and every comment they returned, posted or held back.
1840
1614
  *
1841
1615
  * Required permissions: read:reviews.
1842
1616
  * API key: Supported.
@@ -1844,8 +1618,8 @@ var EllipsisReviews = class {
1844
1618
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1845
1619
  * Higher permission levels include lower levels: read < write < delete.
1846
1620
  */
1847
- async get(review_id) {
1848
- const path = `/v1/reviews/${enc(review_id)}`;
1621
+ async get(id) {
1622
+ const path = `/v1/reviews/${enc(id)}`;
1849
1623
  return await this.transport.request("GET", path);
1850
1624
  }
1851
1625
  /**
@@ -1853,14 +1627,6 @@ var EllipsisReviews = class {
1853
1627
  *
1854
1628
  * List code reviews, newest first.
1855
1629
  *
1856
- * `findings` and `configuration` are omitted (counters only). Each
1857
- * filter is a set: repeat `repository`, `pull_request_number`, or
1858
- * `status` to match any of several values. `start` and `end` bound
1859
- * the review's creation time.
1860
- *
1861
- * Webhook-created reviews appear here too, so this answers "show
1862
- * me every review on this PR".
1863
- *
1864
1630
  * Required permissions: read:reviews.
1865
1631
  * API key: Supported.
1866
1632
  * CLI user token: Supported.
@@ -1964,8 +1730,8 @@ var EllipsisSessionsTurns = class {
1964
1730
  * Higher permission levels include lower levels: read < write < delete.
1965
1731
  * Grant match patterns can further restrict access to individual resources.
1966
1732
  */
1967
- async get(session_id, turn_id) {
1968
- const path = `/v1/sessions/${enc(session_id)}/turns/${enc(turn_id)}`;
1733
+ async get(session_id, id) {
1734
+ const path = `/v1/sessions/${enc(session_id)}/turns/${enc(id)}`;
1969
1735
  return await this.transport.request("GET", path);
1970
1736
  }
1971
1737
  /**
@@ -1984,8 +1750,8 @@ var EllipsisSessionsTurns = class {
1984
1750
  * Higher permission levels include lower levels: read < write < delete.
1985
1751
  * Grant match patterns can further restrict access to individual resources.
1986
1752
  */
1987
- async list(session_id) {
1988
- const path = `/v1/sessions/${enc(session_id)}/turns`;
1753
+ async list(id) {
1754
+ const path = `/v1/sessions/${enc(id)}/turns`;
1989
1755
  return await this.transport.request("GET", path);
1990
1756
  }
1991
1757
  };
@@ -2016,8 +1782,8 @@ var EllipsisSessions = class {
2016
1782
  * Higher permission levels include lower levels: read < write < delete.
2017
1783
  * Grant match patterns can further restrict access to individual resources.
2018
1784
  */
2019
- async analytics(session_id) {
2020
- const path = `/v1/sessions/${enc(session_id)}/analytics`;
1785
+ async analytics(id) {
1786
+ const path = `/v1/sessions/${enc(id)}/analytics`;
2021
1787
  return await this.transport.request("GET", path);
2022
1788
  }
2023
1789
  /**
@@ -2038,8 +1804,8 @@ var EllipsisSessions = class {
2038
1804
  * Higher permission levels include lower levels: read < write < delete.
2039
1805
  * Grant match patterns can further restrict access to individual resources.
2040
1806
  */
2041
- async diff(session_id) {
2042
- const path = `/v1/sessions/${enc(session_id)}/diff`;
1807
+ async diff(id) {
1808
+ const path = `/v1/sessions/${enc(id)}/diff`;
2043
1809
  return await this.transport.request("GET", path);
2044
1810
  }
2045
1811
  /**
@@ -2063,8 +1829,8 @@ var EllipsisSessions = class {
2063
1829
  * Higher permission levels include lower levels: read < write < delete.
2064
1830
  * Grant match patterns can further restrict access to individual resources.
2065
1831
  */
2066
- async download(session_id) {
2067
- const path = `/v1/sessions/${enc(session_id)}/download`;
1832
+ async download(id) {
1833
+ const path = `/v1/sessions/${enc(id)}/download`;
2068
1834
  return await this.transport.request("GET", path);
2069
1835
  }
2070
1836
  /**
@@ -2086,8 +1852,8 @@ var EllipsisSessions = class {
2086
1852
  * Higher permission levels include lower levels: read < write < delete.
2087
1853
  * Grant match patterns can further restrict access to individual resources.
2088
1854
  */
2089
- async get(session_id) {
2090
- const path = `/v1/sessions/${enc(session_id)}`;
1855
+ async get(id) {
1856
+ const path = `/v1/sessions/${enc(id)}`;
2091
1857
  return await this.transport.request("GET", path);
2092
1858
  }
2093
1859
  /**
@@ -2105,8 +1871,8 @@ var EllipsisSessions = class {
2105
1871
  * Higher permission levels include lower levels: read < write < delete.
2106
1872
  * Grant match patterns can further restrict access to individual resources.
2107
1873
  */
2108
- async git(session_id) {
2109
- const path = `/v1/sessions/${enc(session_id)}/git`;
1874
+ async git(id) {
1875
+ const path = `/v1/sessions/${enc(id)}/git`;
2110
1876
  return await this.transport.request("GET", path);
2111
1877
  }
2112
1878
  /**
@@ -2127,8 +1893,8 @@ var EllipsisSessions = class {
2127
1893
  * Higher permission levels include lower levels: read < write < delete.
2128
1894
  * Grant match patterns can further restrict access to individual resources.
2129
1895
  */
2130
- async ingestTranscript(session_id, options) {
2131
- const path = `/v1/sessions/${enc(session_id)}/transcript`;
1896
+ async ingestTranscript(id, options) {
1897
+ const path = `/v1/sessions/${enc(id)}/transcript`;
2132
1898
  const body = buildBody({ lines: options.lines, offset: options.offset });
2133
1899
  return await this.transport.request("POST", path, { body });
2134
1900
  }
@@ -2150,7 +1916,7 @@ var EllipsisSessions = class {
2150
1916
  */
2151
1917
  async list(options = {}) {
2152
1918
  const path = "/v1/sessions";
2153
- const query = buildQuery({ agent: options.agent, source: options.source, service: options.service, handler: options.handler, days: options.days, start: options.start, end: options.end, limit: options.limit, cursor: options.cursor, author_id: options.author_id, repo: options.repo, unfinished: options.unfinished, exclude_code_review: options.exclude_code_review });
1919
+ const query = buildQuery({ agent: options.agent, source: options.source, service: options.service, handler: options.handler, days: options.days, start: options.start, end: options.end, limit: options.limit, cursor: options.cursor, author_id: options.author_id, repo: options.repo, unfinished: options.unfinished });
2154
1920
  const response = await this.transport.request("GET", path, { query });
2155
1921
  return new Page(
2156
1922
  response,
@@ -2159,25 +1925,22 @@ var EllipsisSessions = class {
2159
1925
  );
2160
1926
  }
2161
1927
  /**
2162
- * Get Session Output
1928
+ * Get Session Metrics
2163
1929
  *
2164
- * Return the session's typed output.
1930
+ * List the CPU, memory, swap, and disk readings of every VM the
1931
+ * session ran on, oldest first.
2165
1932
  *
2166
- * The payload the agent submitted through its config-declared
2167
- * output.json_schema, as the raw JSON body with no envelope. 404
2168
- * while the session is still running (poll GET /v1/sessions/{id}),
2169
- * when the agent declares no output block, or when no turn
2170
- * produced output.
1933
+ * A reading is taken every 5 seconds while the session runs.
2171
1934
  *
2172
1935
  * Required permissions: read:sessions.
2173
1936
  * API key: Supported.
2174
1937
  * CLI user token: Supported.
2175
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1938
+ * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
2176
1939
  * Higher permission levels include lower levels: read < write < delete.
2177
1940
  * Grant match patterns can further restrict access to individual resources.
2178
1941
  */
2179
- async output(session_id) {
2180
- const path = `/v1/sessions/${enc(session_id)}/output`;
1942
+ async metrics(id) {
1943
+ const path = `/v1/sessions/${enc(id)}/metrics`;
2181
1944
  return await this.transport.request("GET", path);
2182
1945
  }
2183
1946
  /**
@@ -2198,14 +1961,14 @@ var EllipsisSessions = class {
2198
1961
  * Higher permission levels include lower levels: read < write < delete.
2199
1962
  * Grant match patterns can further restrict access to individual resources.
2200
1963
  */
2201
- async records(session_id, options = {}) {
2202
- const path = `/v1/sessions/${enc(session_id)}/records`;
1964
+ async records(id, options = {}) {
1965
+ const path = `/v1/sessions/${enc(id)}/records`;
2203
1966
  const query = buildQuery({ cursor: options.cursor, limit: options.limit });
2204
1967
  const response = await this.transport.request("GET", path, { query });
2205
1968
  return new Page(
2206
1969
  response,
2207
1970
  "records",
2208
- (cursor) => this.records(session_id, { ...options, cursor })
1971
+ (cursor) => this.records(id, { ...options, cursor })
2209
1972
  );
2210
1973
  }
2211
1974
  /**
@@ -2228,7 +1991,7 @@ var EllipsisSessions = class {
2228
1991
  *
2229
1992
  * Send a message to a session.
2230
1993
  *
2231
- * 409 for react/cron, non-interactive, closed, and out-of-budget
1994
+ * 409 for mention, non-interactive, closed, and out-of-budget
2232
1995
  * sessions. Returns the created message and its turn; a retried send
2233
1996
  * with the same idempotency_key returns the original ones.
2234
1997
  *
@@ -2239,8 +2002,8 @@ var EllipsisSessions = class {
2239
2002
  * Higher permission levels include lower levels: read < write < delete.
2240
2003
  * Grant match patterns can further restrict access to individual resources.
2241
2004
  */
2242
- async sendMessage(session_id, options) {
2243
- const path = `/v1/sessions/${enc(session_id)}/messages`;
2005
+ async sendMessage(id, options) {
2006
+ const path = `/v1/sessions/${enc(id)}/messages`;
2244
2007
  const body = buildBody({ idempotency_key: options.idempotency_key, images: options.images, message: options.message });
2245
2008
  return await this.transport.request("POST", path, { body });
2246
2009
  }
@@ -2254,8 +2017,8 @@ var EllipsisSessions = class {
2254
2017
  * Higher permission levels include lower levels: read < write < delete.
2255
2018
  * Grant match patterns can further restrict access to individual resources.
2256
2019
  */
2257
- async sessionStreamTicket(session_id) {
2258
- const path = `/v1/sessions/${enc(session_id)}/stream-ticket`;
2020
+ async sessionStreamTicket(id) {
2021
+ const path = `/v1/sessions/${enc(id)}/stream-ticket`;
2259
2022
  return await this.transport.request("GET", path);
2260
2023
  }
2261
2024
  /**
@@ -2272,9 +2035,9 @@ var EllipsisSessions = class {
2272
2035
  * Set exactly one of `claude_code` or `codex`. Its `prompt` is the
2273
2036
  * first message; omit the prompt and the session starts with no
2274
2037
  * turn, waiting for one. 400 when `conversation.interactive` is false
2275
- * and there is no prompt, or when `budget` exceeds the organization's
2276
- * per-session ceiling. To run a saved agent, use
2277
- * POST /v1/agents/{agent_id}/sessions.
2038
+ * and there is no prompt, or when `budget.session` exceeds the
2039
+ * organization's per-session ceiling. To start a session from a saved
2040
+ * agent, use POST /v1/agents/{id}/sessions.
2278
2041
  *
2279
2042
  * Required permissions: write:sessions.
2280
2043
  * API key: Supported.
@@ -2285,7 +2048,7 @@ var EllipsisSessions = class {
2285
2048
  */
2286
2049
  async start(options = {}) {
2287
2050
  const path = "/v1/sessions";
2288
- const body = buildBody({ budget: options.budget, claude_code: options.claude_code, codex: options.codex, conversation: options.conversation, environment: options.environment, force_rebuild: options.force_rebuild, images: options.images, metadata: options.metadata, output: options.output, permissions: options.permissions, repositories: options.repositories, skills: options.skills });
2051
+ const body = buildBody({ budget: options.budget, claude_code: options.claude_code, codex: options.codex, conversation: options.conversation, environment: options.environment, force_rebuild: options.force_rebuild, images: options.images, metadata: options.metadata, output: options.output, permissions: options.permissions, skills: options.skills });
2289
2052
  return await this.transport.request("POST", path, { body });
2290
2053
  }
2291
2054
  /**
@@ -2304,8 +2067,8 @@ var EllipsisSessions = class {
2304
2067
  * Higher permission levels include lower levels: read < write < delete.
2305
2068
  * Grant match patterns can further restrict access to individual resources.
2306
2069
  */
2307
- async stop(session_id) {
2308
- const path = `/v1/sessions/${enc(session_id)}/stop`;
2070
+ async stop(id) {
2071
+ const path = `/v1/sessions/${enc(id)}/stop`;
2309
2072
  return await this.transport.request("POST", path);
2310
2073
  }
2311
2074
  /**
@@ -2342,8 +2105,8 @@ var EllipsisSessions = class {
2342
2105
  * Higher permission levels include lower levels: read < write < delete.
2343
2106
  * Grant match patterns can further restrict access to individual resources.
2344
2107
  */
2345
- async update(session_id, options) {
2346
- const path = `/v1/sessions/${enc(session_id)}`;
2108
+ async update(id, options) {
2109
+ const path = `/v1/sessions/${enc(id)}`;
2347
2110
  const body = buildBody({ archived: options.archived });
2348
2111
  return await this.transport.request("PUT", path, { body });
2349
2112
  }
@@ -2430,8 +2193,8 @@ var EllipsisTemplates = class {
2430
2193
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2431
2194
  * Higher permission levels include lower levels: read < write < delete.
2432
2195
  */
2433
- async get(template_id) {
2434
- const path = `/v1/templates/${enc(template_id)}`;
2196
+ async get(id) {
2197
+ const path = `/v1/templates/${enc(id)}`;
2435
2198
  return await this.transport.request("GET", path);
2436
2199
  }
2437
2200
  /**
@@ -2606,8 +2369,8 @@ var EllipsisUserTokens = class {
2606
2369
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2607
2370
  * Higher permission levels include lower levels: read < write < delete.
2608
2371
  */
2609
- async revoke(token_id) {
2610
- const path = `/v1/user/tokens/${enc(token_id)}`;
2372
+ async revoke(id) {
2373
+ const path = `/v1/user/tokens/${enc(id)}`;
2611
2374
  return await this.transport.request("DELETE", path);
2612
2375
  }
2613
2376
  };
@@ -2635,8 +2398,8 @@ var EllipsisVmExecutions = class {
2635
2398
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
2636
2399
  * Higher permission levels include lower levels: read < write < delete.
2637
2400
  */
2638
- async get(vm_execution_id) {
2639
- const path = `/v1/vm-executions/${enc(vm_execution_id)}`;
2401
+ async get(id) {
2402
+ const path = `/v1/vm-executions/${enc(id)}`;
2640
2403
  return await this.transport.request("GET", path);
2641
2404
  }
2642
2405
  /**
@@ -2661,8 +2424,8 @@ var EllipsisVmExecutions = class {
2661
2424
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
2662
2425
  * Higher permission levels include lower levels: read < write < delete.
2663
2426
  */
2664
- async streamTicket(vm_execution_id) {
2665
- const path = `/v1/vm-executions/${enc(vm_execution_id)}/stream-ticket`;
2427
+ async streamTicket(id) {
2428
+ const path = `/v1/vm-executions/${enc(id)}/stream-ticket`;
2666
2429
  return await this.transport.request("GET", path);
2667
2430
  }
2668
2431
  };
@@ -2682,8 +2445,8 @@ var EllipsisVmImages = class {
2682
2445
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2683
2446
  * Higher permission levels include lower levels: read < write < delete.
2684
2447
  */
2685
- async get(image_id) {
2686
- const path = `/v1/vm-images/${enc(image_id)}`;
2448
+ async get(id) {
2449
+ const path = `/v1/vm-images/${enc(id)}`;
2687
2450
  return await this.transport.request("GET", path);
2688
2451
  }
2689
2452
  /**
@@ -2721,8 +2484,8 @@ var EllipsisVms = class {
2721
2484
  * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
2722
2485
  * Higher permission levels include lower levels: read < write < delete.
2723
2486
  */
2724
- async get(vm_id) {
2725
- const path = `/v1/vms/${enc(vm_id)}`;
2487
+ async get(id) {
2488
+ const path = `/v1/vms/${enc(id)}`;
2726
2489
  return await this.transport.request("GET", path);
2727
2490
  }
2728
2491
  /**
@@ -2743,6 +2506,24 @@ var EllipsisVms = class {
2743
2506
  const query = buildQuery({ limit: options.limit, offset: options.offset });
2744
2507
  return await this.transport.request("GET", path, { query });
2745
2508
  }
2509
+ /**
2510
+ * List Vm Metrics
2511
+ *
2512
+ * List a VM's CPU, memory, swap, and disk readings, oldest first.
2513
+ *
2514
+ * A reading is taken every 5 seconds while a session runs on the VM.
2515
+ *
2516
+ * Required permissions: read:environments.
2517
+ * API key: Supported.
2518
+ * CLI user token: Supported.
2519
+ * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
2520
+ * Higher permission levels include lower levels: read < write < delete.
2521
+ */
2522
+ async metrics(id, options = {}) {
2523
+ const path = `/v1/vms/${enc(id)}/metrics`;
2524
+ const query = buildQuery({ start: options.start, end: options.end });
2525
+ return await this.transport.request("GET", path, { query });
2526
+ }
2746
2527
  };
2747
2528
  var EllipsisWebhooksDeliveries = class {
2748
2529
  constructor(transport) {
@@ -2763,8 +2544,8 @@ var EllipsisWebhooksDeliveries = class {
2763
2544
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2764
2545
  * Higher permission levels include lower levels: read < write < delete.
2765
2546
  */
2766
- async get(delivery_id) {
2767
- const path = `/v1/webhooks/deliveries/${enc(delivery_id)}`;
2547
+ async get(id) {
2548
+ const path = `/v1/webhooks/deliveries/${enc(id)}`;
2768
2549
  return await this.transport.request("GET", path);
2769
2550
  }
2770
2551
  /**
@@ -2834,8 +2615,8 @@ var EllipsisWebhooks = class {
2834
2615
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2835
2616
  * Higher permission levels include lower levels: read < write < delete.
2836
2617
  */
2837
- async delete(webhook_id) {
2838
- const path = `/v1/webhooks/${enc(webhook_id)}`;
2618
+ async delete(id) {
2619
+ const path = `/v1/webhooks/${enc(id)}`;
2839
2620
  await this.transport.request("DELETE", path);
2840
2621
  }
2841
2622
  /**
@@ -2849,8 +2630,8 @@ var EllipsisWebhooks = class {
2849
2630
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2850
2631
  * Higher permission levels include lower levels: read < write < delete.
2851
2632
  */
2852
- async get(webhook_id) {
2853
- const path = `/v1/webhooks/${enc(webhook_id)}`;
2633
+ async get(id) {
2634
+ const path = `/v1/webhooks/${enc(id)}`;
2854
2635
  return await this.transport.request("GET", path);
2855
2636
  }
2856
2637
  /**
@@ -2884,8 +2665,8 @@ var EllipsisWebhooks = class {
2884
2665
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2885
2666
  * Higher permission levels include lower levels: read < write < delete.
2886
2667
  */
2887
- async ping(webhook_id) {
2888
- const path = `/v1/webhooks/${enc(webhook_id)}/ping`;
2668
+ async ping(id) {
2669
+ const path = `/v1/webhooks/${enc(id)}/ping`;
2889
2670
  await this.transport.request("POST", path);
2890
2671
  }
2891
2672
  /**
@@ -2903,8 +2684,8 @@ var EllipsisWebhooks = class {
2903
2684
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2904
2685
  * Higher permission levels include lower levels: read < write < delete.
2905
2686
  */
2906
- async update(webhook_id, options) {
2907
- const path = `/v1/webhooks/${enc(webhook_id)}`;
2687
+ async update(id, options) {
2688
+ const path = `/v1/webhooks/${enc(id)}`;
2908
2689
  const body = buildBody({ description: options.description, events: options.events, url: options.url });
2909
2690
  return await this.transport.request("PUT", path, { body });
2910
2691
  }
@@ -2919,7 +2700,6 @@ var Ellipsis = class {
2919
2700
  environments;
2920
2701
  handlers;
2921
2702
  integrations;
2922
- memories;
2923
2703
  reviews;
2924
2704
  secrets;
2925
2705
  sessions;
@@ -2940,7 +2720,6 @@ var Ellipsis = class {
2940
2720
  this.environments = new EllipsisEnvironments(this.transport);
2941
2721
  this.handlers = new EllipsisHandlers(this.transport);
2942
2722
  this.integrations = new EllipsisIntegrations(this.transport);
2943
- this.memories = new EllipsisMemories(this.transport);
2944
2723
  this.reviews = new EllipsisReviews(this.transport);
2945
2724
  this.secrets = new EllipsisSecrets(this.transport);
2946
2725
  this.sessions = new EllipsisSessions(this.transport);
@@ -2957,10 +2736,12 @@ var Ellipsis = class {
2957
2736
  *
2958
2737
  * Return the identity behind the caller's credential.
2959
2738
  *
2960
- * Required permissions: read:account.
2739
+ * Any valid credential may call this; no permission grant is needed.
2740
+ *
2741
+ * Required permissions: none; any valid credential.
2961
2742
  * API key: Supported.
2962
2743
  * CLI user token: Supported.
2963
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2744
+ * Session token: Requires the ellipsis:api scope; no permissions.ellipsis grant is needed.
2964
2745
  * Higher permission levels include lower levels: read < write < delete.
2965
2746
  */
2966
2747
  async identity() {