@ellipsis-dev/sdk 0.28.0 → 0.30.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
@@ -30,15 +30,15 @@ var Page = class {
30
30
 
31
31
  // src/core/sessionHandle.ts
32
32
  var TERMINAL_STATUSES = /* @__PURE__ */ new Set([
33
- "completed",
34
- "error",
33
+ "closed",
34
+ "idle",
35
+ "failed",
35
36
  "cancelled",
36
37
  "stopped"
37
38
  ]);
38
39
  var DEFAULT_POLL_INTERVAL_MS = 3e3;
39
40
  function isSettled(session) {
40
- if (TERMINAL_STATUSES.has(session.status)) return true;
41
- return session.session_state === "idle" || session.session_state === "closed";
41
+ return session.lifecycle.conversation === "closed" || TERMINAL_STATUSES.has(session.lifecycle.status);
42
42
  }
43
43
  var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
44
44
  var SessionHandle = class {
@@ -255,6 +255,12 @@ var EllipsisAccountApiKeys = class {
255
255
  *
256
256
  * Authenticate as a dashboard user or with a user token. An organization
257
257
  * API key cannot create other keys. The secret is returned only once.
258
+ *
259
+ * Required permissions: write:tokens.
260
+ * API key: Requires a CLI user token belonging to an account administrator.
261
+ * CLI user token: Requires an account administrator.
262
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
263
+ * Higher permission levels include lower levels: read < write < delete.
258
264
  */
259
265
  async create(options) {
260
266
  const path = "/v1/account/api-keys";
@@ -263,6 +269,12 @@ var EllipsisAccountApiKeys = class {
263
269
  }
264
270
  /**
265
271
  * List Api Keys
272
+ *
273
+ * Required permissions: read:tokens.
274
+ * API key: Supported.
275
+ * CLI user token: Supported.
276
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
277
+ * Higher permission levels include lower levels: read < write < delete.
266
278
  */
267
279
  async list() {
268
280
  const path = "/v1/account/api-keys";
@@ -272,6 +284,12 @@ var EllipsisAccountApiKeys = class {
272
284
  * Revoke Api Key
273
285
  *
274
286
  * Revoke an organization key as a verified GitHub administrator.
287
+ *
288
+ * Required permissions: delete:tokens.
289
+ * API key: Requires a CLI user token belonging to an account administrator.
290
+ * CLI user token: Requires an account administrator.
291
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
292
+ * Higher permission levels include lower levels: read < write < delete.
275
293
  */
276
294
  async revoke(api_key_id) {
277
295
  const path = `/v1/account/api-keys/${enc(api_key_id)}`;
@@ -290,6 +308,12 @@ var EllipsisAccountBillingAutoRecharge = class {
290
308
  *
291
309
  * An account without saved settings returns disabled defaults and no
292
310
  * card. No payment-method identifier or card details are exposed.
311
+ *
312
+ * Required permissions: read:account.
313
+ * API key: Supported.
314
+ * CLI user token: Supported.
315
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
316
+ * Higher permission levels include lower levels: read < write < delete.
293
317
  */
294
318
  async get() {
295
319
  const path = "/v1/account/billing/auto-recharge";
@@ -305,6 +329,12 @@ var EllipsisAccountBillingAutoRecharge = class {
305
329
  * with enabled=false keeps recharge off; enabling requires a saved card.
306
330
  * A recharge buys amount_cents of credit and charges the platform fee
307
331
  * in addition. Amounts and thresholds preserve exact cents.
332
+ *
333
+ * Required permissions: write:account.
334
+ * API key: Requires a CLI user token belonging to an account administrator.
335
+ * CLI user token: Requires an account administrator.
336
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
337
+ * Higher permission levels include lower levels: read < write < delete.
308
338
  */
309
339
  async set(options) {
310
340
  const path = "/v1/account/billing/auto-recharge";
@@ -327,6 +357,12 @@ var EllipsisAccountBilling = class {
327
357
  * Requires a human account administrator. Open the returned URL to
328
358
  * finish setup and return to Billing. Saving a card does not enable
329
359
  * auto-recharge or buy credit.
360
+ *
361
+ * Required permissions: write:account.
362
+ * API key: Requires a CLI user token belonging to an account administrator.
363
+ * CLI user token: Requires an account administrator.
364
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
365
+ * Higher permission levels include lower levels: read < write < delete.
330
366
  */
331
367
  async cardSetup() {
332
368
  const path = "/v1/account/billing/card-setup";
@@ -341,6 +377,12 @@ var EllipsisAccountBilling = class {
341
377
  * complete payment. Credit is granted only after payment succeeds;
342
378
  * the platform fee is charged in addition to amount_cents. Returning
343
379
  * to Billing carries the checkout session ID for receipt lookup.
380
+ *
381
+ * Required permissions: write:account.
382
+ * API key: Requires a CLI user token belonging to an account administrator.
383
+ * CLI user token: Requires an account administrator.
384
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
385
+ * Higher permission levels include lower levels: read < write < delete.
344
386
  */
345
387
  async checkout(options) {
346
388
  const path = "/v1/account/billing/checkout";
@@ -354,6 +396,12 @@ var EllipsisAccountBilling = class {
354
396
  * bootstrap that otherwise fires lazily at the first session (Stripe
355
397
  * customer + usage subscription + the signup grant). A repeat call is
356
398
  * a no-op that returns the current state.
399
+ *
400
+ * Required permissions: write:account.
401
+ * API key: Supported.
402
+ * CLI user token: Supported.
403
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
404
+ * Higher permission levels include lower levels: read < write < delete.
357
405
  */
358
406
  async claimSignupCredit() {
359
407
  const path = "/v1/account/billing/claim-signup-credit";
@@ -363,6 +411,12 @@ var EllipsisAccountBilling = class {
363
411
  * Get Fee Schedule
364
412
  *
365
413
  * Get the account's rate card, in US dollars.
414
+ *
415
+ * Required permissions: read:account.
416
+ * API key: Supported.
417
+ * CLI user token: Supported.
418
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
419
+ * Higher permission levels include lower levels: read < write < delete.
366
420
  */
367
421
  async feeSchedule() {
368
422
  const path = "/v1/account/billing/fee-schedule";
@@ -375,6 +429,12 @@ var EllipsisAccountBilling = class {
375
429
  *
376
430
  * Returns only your account's grants. The total is before usage;
377
431
  * /v1/account/budget reports the available balance.
432
+ *
433
+ * Required permissions: read:account.
434
+ * API key: Supported.
435
+ * CLI user token: Supported.
436
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
437
+ * Higher permission levels include lower levels: read < write < delete.
378
438
  */
379
439
  async grants() {
380
440
  const path = "/v1/account/billing/credit-grants";
@@ -387,6 +447,12 @@ var EllipsisAccountBilling = class {
387
447
  *
388
448
  * The amount includes the platform fee and comes from Stripe. An
389
449
  * incomplete, missing, or other-account purchase returns 404.
450
+ *
451
+ * Required permissions: read:account.
452
+ * API key: Supported.
453
+ * CLI user token: Supported.
454
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
455
+ * Higher permission levels include lower levels: read < write < delete.
390
456
  */
391
457
  async purchase(checkout_id) {
392
458
  const path = `/v1/account/billing/purchases/${enc(checkout_id)}`;
@@ -399,6 +465,12 @@ var EllipsisAccountBilling = class {
399
465
  *
400
466
  * All amounts are integer US cents. The fee is added to the credit
401
467
  * amount; it does not reduce the credit granted.
468
+ *
469
+ * Required permissions: read:account.
470
+ * API key: Supported.
471
+ * CLI user token: Supported.
472
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
473
+ * Higher permission levels include lower levels: read < write < delete.
402
474
  */
403
475
  async purchaseOptions() {
404
476
  const path = "/v1/account/billing/purchase-options";
@@ -412,6 +484,12 @@ var EllipsisAccountBilling = class {
412
484
  * Uses the same account gate as session admission, including credit,
413
485
  * contact email, and personal Claude subscription eligibility. Scoped
414
486
  * spend limits are reported separately by /v1/account/budget.
487
+ *
488
+ * Required permissions: read:account.
489
+ * API key: Supported.
490
+ * CLI user token: Supported.
491
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
492
+ * Higher permission levels include lower levels: read < write < delete.
415
493
  */
416
494
  async status() {
417
495
  const path = "/v1/account/billing";
@@ -436,6 +514,12 @@ var EllipsisAccountModels = class {
436
514
  * Reads the same registry as the dashboard's rate table, so a
437
515
  * client's model picker can never drift from what's offered. The
438
516
  * selectable set is global; only the flag is account-scoped.
517
+ *
518
+ * Required permissions: read:templates.
519
+ * API key: Supported.
520
+ * CLI user token: Supported.
521
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
522
+ * Higher permission levels include lower levels: read < write < delete.
439
523
  */
440
524
  async list() {
441
525
  const path = "/v1/account/models";
@@ -453,6 +537,12 @@ var EllipsisAccountNotifications = class {
453
537
  * Send the alert email template to one address with sample data,
454
538
  * so a typo'd finance alias is caught by a human instead of failing
455
539
  * silently when a real alert fires.
540
+ *
541
+ * Required permissions: write:account.
542
+ * API key: Supported.
543
+ * CLI user token: Supported.
544
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
545
+ * Higher permission levels include lower levels: read < write < delete.
456
546
  */
457
547
  async testEmail(options) {
458
548
  const path = "/v1/account/notifications/test-email";
@@ -460,6 +550,51 @@ var EllipsisAccountNotifications = class {
460
550
  return await this.transport.request("POST", path, { body });
461
551
  }
462
552
  };
553
+ var EllipsisAccountOnboarding = class {
554
+ constructor(transport) {
555
+ this.transport = transport;
556
+ }
557
+ transport;
558
+ /**
559
+ * Get Account Onboarding
560
+ *
561
+ * Read the account's saved onboarding answers, or null before setup.
562
+ *
563
+ * Required permissions: read:account.
564
+ * API key: Supported.
565
+ * CLI user token: Supported.
566
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
567
+ * Higher permission levels include lower levels: read < write < delete.
568
+ */
569
+ async get() {
570
+ const path = "/v1/account/onboarding";
571
+ return await this.transport.request("GET", path);
572
+ }
573
+ /**
574
+ * Update Account Onboarding
575
+ *
576
+ * Save supplied onboarding answers, preserving omitted answers.
577
+ *
578
+ * Organizations can save their work email before selecting use cases.
579
+ * Saving use cases requires a valid organization work email and at
580
+ * least one choice. When Other is the only choice, describe it.
581
+ * Personal accounts save a null work email. This does not change the
582
+ * billing contact email. Sandbox credentials cannot update answers.
583
+ * Supplying an organization work email requires a human user and sends
584
+ * a Slack Connect invitation. Slack failures do not undo saved answers.
585
+ *
586
+ * Required permissions: write:account.
587
+ * API key: Supported.
588
+ * CLI user token: Supported.
589
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
590
+ * Higher permission levels include lower levels: read < write < delete.
591
+ */
592
+ async update(options = {}) {
593
+ const path = "/v1/account/onboarding";
594
+ const body = buildBody({ other_use_case: options.other_use_case, use_cases: options.use_cases, work_email: options.work_email });
595
+ return await this.transport.request("PATCH", path, { body });
596
+ }
597
+ };
463
598
  var EllipsisAccountProvidersAnthropic = class {
464
599
  constructor(transport) {
465
600
  this.transport = transport;
@@ -467,6 +602,12 @@ var EllipsisAccountProvidersAnthropic = class {
467
602
  transport;
468
603
  /**
469
604
  * Delete Anthropic Config
605
+ *
606
+ * Required permissions: delete:account.
607
+ * API key: Supported.
608
+ * CLI user token: Supported.
609
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
610
+ * Higher permission levels include lower levels: read < write < delete.
470
611
  */
471
612
  async delete() {
472
613
  const path = "/v1/account/providers/anthropic";
@@ -474,6 +615,12 @@ var EllipsisAccountProvidersAnthropic = class {
474
615
  }
475
616
  /**
476
617
  * Get Anthropic Config
618
+ *
619
+ * Required permissions: read:account.
620
+ * API key: Supported.
621
+ * CLI user token: Supported.
622
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
623
+ * Higher permission levels include lower levels: read < write < delete.
477
624
  */
478
625
  async get() {
479
626
  const path = "/v1/account/providers/anthropic";
@@ -481,6 +628,12 @@ var EllipsisAccountProvidersAnthropic = class {
481
628
  }
482
629
  /**
483
630
  * Put Anthropic Config
631
+ *
632
+ * Required permissions: write:account.
633
+ * API key: Supported.
634
+ * CLI user token: Supported.
635
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
636
+ * Higher permission levels include lower levels: read < write < delete.
484
637
  */
485
638
  async set(options) {
486
639
  const path = "/v1/account/providers/anthropic";
@@ -489,6 +642,12 @@ var EllipsisAccountProvidersAnthropic = class {
489
642
  }
490
643
  /**
491
644
  * Validate Anthropic Config
645
+ *
646
+ * Required permissions: write:account.
647
+ * API key: Supported.
648
+ * CLI user token: Supported.
649
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
650
+ * Higher permission levels include lower levels: read < write < delete.
492
651
  */
493
652
  async validate() {
494
653
  const path = "/v1/account/providers/anthropic/validate";
@@ -502,6 +661,12 @@ var EllipsisAccountProvidersBedrock = class {
502
661
  transport;
503
662
  /**
504
663
  * Delete Bedrock Config
664
+ *
665
+ * Required permissions: delete:account.
666
+ * API key: Supported.
667
+ * CLI user token: Supported.
668
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
669
+ * Higher permission levels include lower levels: read < write < delete.
505
670
  */
506
671
  async delete() {
507
672
  const path = "/v1/account/providers/bedrock";
@@ -509,6 +674,12 @@ var EllipsisAccountProvidersBedrock = class {
509
674
  }
510
675
  /**
511
676
  * Get Bedrock Config
677
+ *
678
+ * Required permissions: read:account.
679
+ * API key: Supported.
680
+ * CLI user token: Supported.
681
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
682
+ * Higher permission levels include lower levels: read < write < delete.
512
683
  */
513
684
  async get() {
514
685
  const path = "/v1/account/providers/bedrock";
@@ -516,6 +687,12 @@ var EllipsisAccountProvidersBedrock = class {
516
687
  }
517
688
  /**
518
689
  * Put Bedrock Config
690
+ *
691
+ * Required permissions: write:account.
692
+ * API key: Supported.
693
+ * CLI user token: Supported.
694
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
695
+ * Higher permission levels include lower levels: read < write < delete.
519
696
  */
520
697
  async set(options) {
521
698
  const path = "/v1/account/providers/bedrock";
@@ -524,6 +701,12 @@ var EllipsisAccountProvidersBedrock = class {
524
701
  }
525
702
  /**
526
703
  * Validate Bedrock Config
704
+ *
705
+ * Required permissions: write:account.
706
+ * API key: Supported.
707
+ * CLI user token: Supported.
708
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
709
+ * Higher permission levels include lower levels: read < write < delete.
527
710
  */
528
711
  async validate() {
529
712
  const path = "/v1/account/providers/bedrock/validate";
@@ -553,6 +736,12 @@ var EllipsisAccountSettings = class {
553
736
  * Session model and budget defaults, code review and mention behavior,
554
737
  * analytics, retention, and notification contacts. PATCH replaces
555
738
  * supplied sections; PUT preserves its model-and-budget-only behavior.
739
+ *
740
+ * Required permissions: read:defaults.
741
+ * API key: Supported.
742
+ * CLI user token: Supported.
743
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
744
+ * Higher permission levels include lower levels: read < write < delete.
556
745
  */
557
746
  async get() {
558
747
  const path = "/v1/account/settings";
@@ -570,6 +759,12 @@ var EllipsisAccountSettings = class {
570
759
  * ceiling, and null clears it.
571
760
  * Refused for sandbox tokens (potentially prompt-injected code must
572
761
  * not repoint the organization's defaults).
762
+ *
763
+ * Required permissions: write:defaults.
764
+ * API key: Requires a CLI user token belonging to an account administrator.
765
+ * CLI user token: Requires an account administrator.
766
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
767
+ * Higher permission levels include lower levels: read < write < delete.
573
768
  */
574
769
  async set(options) {
575
770
  const path = "/v1/account/settings";
@@ -582,10 +777,16 @@ var EllipsisAccountSettings = class {
582
777
  * Replace supplied settings sections without changing omitted sections.
583
778
  *
584
779
  * Changes to model or budget defaults require a GitHub administrator.
780
+ *
781
+ * Required permissions: write:defaults.
782
+ * 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.
783
+ * CLI user token: Requires an account administrator when setting budget_ceiling, default_model to a non-null value.
784
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
785
+ * Higher permission levels include lower levels: read < write < delete.
585
786
  */
586
787
  async update(options = {}) {
587
788
  const path = "/v1/account/settings";
588
- 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, mention: options.mention, notifications: options.notifications });
789
+ 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 });
589
790
  return await this.transport.request("PATCH", path, { body });
590
791
  }
591
792
  };
@@ -596,6 +797,7 @@ var EllipsisAccount = class {
596
797
  this.billing = new EllipsisAccountBilling(transport);
597
798
  this.models = new EllipsisAccountModels(transport);
598
799
  this.notifications = new EllipsisAccountNotifications(transport);
800
+ this.onboarding = new EllipsisAccountOnboarding(transport);
599
801
  this.providers = new EllipsisAccountProviders(transport);
600
802
  this.settings = new EllipsisAccountSettings(transport);
601
803
  }
@@ -604,6 +806,7 @@ var EllipsisAccount = class {
604
806
  billing;
605
807
  models;
606
808
  notifications;
809
+ onboarding;
607
810
  providers;
608
811
  settings;
609
812
  /**
@@ -612,6 +815,12 @@ var EllipsisAccount = class {
612
815
  * All-time per-surface activity flags: the dashboards' demo-data
613
816
  * fallback reads these instead of inferring "no history" from a
614
817
  * windowed, filtered response.
818
+ *
819
+ * Required permissions: read:account.
820
+ * API key: Supported.
821
+ * CLI user token: Supported.
822
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
823
+ * Higher permission levels include lower levels: read < write < delete.
615
824
  */
616
825
  async activity() {
617
826
  const path = "/v1/account/activity";
@@ -619,6 +828,12 @@ var EllipsisAccount = class {
619
828
  }
620
829
  /**
621
830
  * Get Customer Audit Log
831
+ *
832
+ * Required permissions: read:account.
833
+ * API key: Supported.
834
+ * CLI user token: Supported.
835
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
836
+ * Higher permission levels include lower levels: read < write < delete.
622
837
  */
623
838
  async auditLog() {
624
839
  const path = "/v1/account/audit-log";
@@ -632,8 +847,14 @@ var EllipsisAccount = class {
632
847
  * Budgets cover the trailing 1, 7 and 28 days; they do not replenish
633
848
  * prepaid credit. Amounts include measured usage from active sessions.
634
849
  * Each paid LLM request requires positive credit and budget headroom.
635
- * An admitted request can overshoot; concurrency is limited to five
636
- * paid requests per account and one per session.
850
+ * An admitted request can overshoot; concurrent paid requests are limited
851
+ * by your account and per-session allowances.
852
+ *
853
+ * Required permissions: read:account.
854
+ * API key: Supported.
855
+ * CLI user token: Supported.
856
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
857
+ * Higher permission levels include lower levels: read < write < delete.
637
858
  */
638
859
  async budget() {
639
860
  const path = "/v1/account/budget";
@@ -641,6 +862,12 @@ var EllipsisAccount = class {
641
862
  }
642
863
  /**
643
864
  * Update Customer
865
+ *
866
+ * Required permissions: write:account.
867
+ * API key: Supported.
868
+ * CLI user token: Supported.
869
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
870
+ * Higher permission levels include lower levels: read < write < delete.
644
871
  */
645
872
  async update(options = {}) {
646
873
  const path = "/v1/account";
@@ -659,6 +886,12 @@ var EllipsisAccount = class {
659
886
  * request, including sessions already running. API keys and sandbox
660
887
  * credentials cannot edit budgets. The session ceiling remains at
661
888
  * /account/settings; purchasing credits is separate from budget policy.
889
+ *
890
+ * Required permissions: write:defaults.
891
+ * API key: Requires a CLI user token belonging to an account administrator.
892
+ * CLI user token: Requires an account administrator.
893
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
894
+ * Higher permission levels include lower levels: read < write < delete.
662
895
  */
663
896
  async updateBudget(options = {}) {
664
897
  const path = "/v1/account/budget";
@@ -675,6 +908,12 @@ var EllipsisAccount = class {
675
908
  * rated token usage through BYOK, customer Bedrock, or a developer's
676
909
  * Claude subscription. Rated usage estimates are not provider invoices.
677
910
  * Pending and unresolved requests identify missing measurements.
911
+ *
912
+ * Required permissions: read:account.
913
+ * API key: Supported.
914
+ * CLI user token: Supported.
915
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
916
+ * Higher permission levels include lower levels: read < write < delete.
678
917
  */
679
918
  async usage(options = {}) {
680
919
  const path = "/v1/account/usage";
@@ -682,6 +921,212 @@ var EllipsisAccount = class {
682
921
  return await this.transport.request("GET", path, { query });
683
922
  }
684
923
  };
924
+ var EllipsisAgents = class {
925
+ constructor(transport) {
926
+ this.transport = transport;
927
+ }
928
+ transport;
929
+ /**
930
+ * Create Agent
931
+ *
932
+ * Create an agent, managed through the API: no file, live
933
+ * immediately. To put its definition in a repository instead, create
934
+ * it here and then POST /v1/agents/{agent_id}/link.
935
+ *
936
+ * 409 when another live agent already holds the name.
937
+ *
938
+ * Required permissions: write:configs.
939
+ * API key: Supported.
940
+ * CLI user token: Supported.
941
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
942
+ * Higher permission levels include lower levels: read < write < delete.
943
+ * Grant match patterns can further restrict access to individual resources.
944
+ */
945
+ async create(options) {
946
+ const path = "/v1/agents";
947
+ const body = buildBody({ agent: options.agent });
948
+ return await this.transport.request("POST", path, { body });
949
+ }
950
+ /**
951
+ * Delete Agent
952
+ *
953
+ * Delete an agent, by id or by name.
954
+ *
955
+ * It stops running and its name is freed immediately; its past
956
+ * sessions remain readable. Only for agents managed through
957
+ * this API — delete the file to remove one defined by a repository.
958
+ *
959
+ * Required permissions: write:configs.
960
+ * API key: Supported.
961
+ * CLI user token: Supported.
962
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
963
+ * Higher permission levels include lower levels: read < write < delete.
964
+ * Grant match patterns can further restrict access to individual resources.
965
+ */
966
+ async delete(agent_id) {
967
+ const path = `/v1/agents/${enc(agent_id)}`;
968
+ await this.transport.request("DELETE", path);
969
+ }
970
+ /**
971
+ * Get Agent
972
+ *
973
+ * Return one agent, by id or by name.
974
+ *
975
+ * Required permissions: read:configs.
976
+ * API key: Supported.
977
+ * CLI user token: Supported.
978
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
979
+ * Higher permission levels include lower levels: read < write < delete.
980
+ * Grant match patterns can further restrict access to individual resources.
981
+ */
982
+ async get(agent_id) {
983
+ const path = `/v1/agents/${enc(agent_id)}`;
984
+ return await this.transport.request("GET", path);
985
+ }
986
+ /**
987
+ * Link Agent
988
+ *
989
+ * Move an agent into a repository, by id or by name.
990
+ *
991
+ * Opens a pull request adding its definition file. The agent
992
+ * keeps running unchanged meanwhile; merging hands it over to the
993
+ * file, after which the file is what changes it. Nothing happens
994
+ * if the pull request is never merged.
995
+ *
996
+ * Required permissions: write:configs.
997
+ * API key: Supported.
998
+ * CLI user token: Supported.
999
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1000
+ * Higher permission levels include lower levels: read < write < delete.
1001
+ * Grant match patterns can further restrict access to individual resources.
1002
+ */
1003
+ async link(agent_id, options) {
1004
+ const path = `/v1/agents/${enc(agent_id)}/link`;
1005
+ const body = buildBody({ path: options.path, repository: options.repository });
1006
+ return await this.transport.request("POST", path, { body });
1007
+ }
1008
+ /**
1009
+ * List Agents
1010
+ *
1011
+ * List agents.
1012
+ *
1013
+ * Required permissions: read:configs.
1014
+ * API key: Supported.
1015
+ * CLI user token: Supported.
1016
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1017
+ * Higher permission levels include lower levels: read < write < delete.
1018
+ * Grant match patterns can further restrict access to individual resources.
1019
+ */
1020
+ async list() {
1021
+ const path = "/v1/agents";
1022
+ return await this.transport.request("GET", path);
1023
+ }
1024
+ /**
1025
+ * Get Agent Metrics
1026
+ *
1027
+ * Return an agent's session distribution and trailing spend,
1028
+ * by id or by name.
1029
+ *
1030
+ * `samples` carries one entry per finished session (duration, cost,
1031
+ * tokens) for distributions; `spend_windows` carries what the
1032
+ * agent's sessions cost over the last 1, 7, and 28 days against
1033
+ * its budget for each window.
1034
+ *
1035
+ * Required permissions: read:configs.
1036
+ * API key: Supported.
1037
+ * CLI user token: Supported.
1038
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1039
+ * Higher permission levels include lower levels: read < write < delete.
1040
+ * Grant match patterns can further restrict access to individual resources.
1041
+ */
1042
+ async metrics(agent_id) {
1043
+ const path = `/v1/agents/${enc(agent_id)}/metrics`;
1044
+ return await this.transport.request("GET", path);
1045
+ }
1046
+ /**
1047
+ * Start Agent Session
1048
+ *
1049
+ * Invoke an agent.
1050
+ *
1051
+ * Runs a certified agent with its configured instructions, model,
1052
+ * environment, permissions, skills, and budget, and returns
1053
+ * the session it started. The session runs once and does not accept
1054
+ * follow-up messages. If the agent declares input.json_schema,
1055
+ * send only `input` for its initial message. Otherwise send a non-empty
1056
+ * `prompt`, which becomes the initial message verbatim. Both fields
1057
+ * together, neither field, and input that renders an empty message are
1058
+ * rejected with 422. An optional `budget` lowers the session cap;
1059
+ * `metadata` tags the session. Codex invocations are not supported.
1060
+ *
1061
+ * Required permissions: write:sessions.
1062
+ * API key: Supported.
1063
+ * CLI user token: Supported.
1064
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1065
+ * Higher permission levels include lower levels: read < write < delete.
1066
+ * Grant match patterns can further restrict access to individual resources.
1067
+ */
1068
+ async run(agent_id, options = {}) {
1069
+ const path = `/v1/agents/${enc(agent_id)}/sessions`;
1070
+ const body = buildBody({ budget: options.budget, input: options.input, metadata: options.metadata, prompt: options.prompt });
1071
+ return await this.transport.request("POST", path, { body });
1072
+ }
1073
+ /**
1074
+ * Get Agents Stream Ticket
1075
+ *
1076
+ * Required permissions: read:configs.
1077
+ * API key: Supported.
1078
+ * CLI user token: Supported.
1079
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1080
+ * Higher permission levels include lower levels: read < write < delete.
1081
+ * Grant match patterns can further restrict access to individual resources.
1082
+ */
1083
+ async streamTicket() {
1084
+ const path = "/v1/agents/stream-ticket";
1085
+ return await this.transport.request("GET", path);
1086
+ }
1087
+ /**
1088
+ * Unlink Agent
1089
+ *
1090
+ * Take over an agent from its file, by id or by name.
1091
+ *
1092
+ * The file stops governing it immediately and further changes go
1093
+ * through this API. The file is left in place, inert — delete it
1094
+ * whenever you like.
1095
+ *
1096
+ * Required permissions: write:configs.
1097
+ * API key: Supported.
1098
+ * CLI user token: Supported.
1099
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1100
+ * Higher permission levels include lower levels: read < write < delete.
1101
+ * Grant match patterns can further restrict access to individual resources.
1102
+ */
1103
+ async unlink(agent_id) {
1104
+ const path = `/v1/agents/${enc(agent_id)}/unlink`;
1105
+ return await this.transport.request("POST", path);
1106
+ }
1107
+ /**
1108
+ * Update Agent
1109
+ *
1110
+ * Replace an agent's definition, by id or by name.
1111
+ *
1112
+ * The whole definition is replaced, and the change is live at
1113
+ * once. Only for agents managed through this API: one defined
1114
+ * by a repository file is a 409, since the next push to that file
1115
+ * would revert the change — unlink it first to take ownership.
1116
+ *
1117
+ * Required permissions: write:configs.
1118
+ * API key: Supported.
1119
+ * CLI user token: Supported.
1120
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1121
+ * Higher permission levels include lower levels: read < write < delete.
1122
+ * Grant match patterns can further restrict access to individual resources.
1123
+ */
1124
+ async update(agent_id, options) {
1125
+ const path = `/v1/agents/${enc(agent_id)}`;
1126
+ const body = buildBody({ agent: options.agent });
1127
+ return await this.transport.request("PUT", path, { body });
1128
+ }
1129
+ };
685
1130
  var EllipsisAlerts = class {
686
1131
  constructor(transport) {
687
1132
  this.transport = transport;
@@ -693,6 +1138,12 @@ var EllipsisAlerts = class {
693
1138
  * Dismiss an open alert and return it.
694
1139
  *
695
1140
  * 409 when the alert is not open; 404 when it doesn't exist.
1141
+ *
1142
+ * Required permissions: write:alerts.
1143
+ * API key: Supported.
1144
+ * CLI user token: Supported.
1145
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1146
+ * Higher permission levels include lower levels: read < write < delete.
696
1147
  */
697
1148
  async dismiss(alert_id) {
698
1149
  const path = `/v1/alerts/${enc(alert_id)}/dismiss`;
@@ -704,6 +1155,12 @@ var EllipsisAlerts = class {
704
1155
  * Return one alert by id.
705
1156
  *
706
1157
  * 404 if it doesn't exist or belongs to another organization.
1158
+ *
1159
+ * Required permissions: read:alerts.
1160
+ * API key: Supported.
1161
+ * CLI user token: Supported.
1162
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1163
+ * Higher permission levels include lower levels: read < write < delete.
707
1164
  */
708
1165
  async get(alert_id) {
709
1166
  const path = `/v1/alerts/${enc(alert_id)}`;
@@ -718,6 +1175,12 @@ var EllipsisAlerts = class {
718
1175
  *
719
1176
  * Available to all credential types, so an agent can check "is
720
1177
  * this org near budget?" mid-task.
1178
+ *
1179
+ * Required permissions: read:alerts.
1180
+ * API key: Supported.
1181
+ * CLI user token: Supported.
1182
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1183
+ * Higher permission levels include lower levels: read < write < delete.
721
1184
  */
722
1185
  async list(options = {}) {
723
1186
  const path = "/v1/alerts";
@@ -747,6 +1210,12 @@ var EllipsisAnalytics = class {
747
1210
  * the apps/agents). Available to all credential types: the
748
1211
  * responses expose the organization's own GitHub PR/review activity,
749
1212
  * no secrets.
1213
+ *
1214
+ * Required permissions: read:account.
1215
+ * API key: Supported.
1216
+ * CLI user token: Supported.
1217
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1218
+ * Higher permission levels include lower levels: read < write < delete.
750
1219
  */
751
1220
  async metrics(options = {}) {
752
1221
  const path = "/v1/analytics/metrics";
@@ -760,6 +1229,12 @@ var EllipsisAnalytics = class {
760
1229
  *
761
1230
  * Windowing: pass explicit start/end, or days (default: the last
762
1231
  * 30 days). account_type in all|user|bot scopes the authors.
1232
+ *
1233
+ * Required permissions: read:account.
1234
+ * API key: Supported.
1235
+ * CLI user token: Supported.
1236
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1237
+ * Higher permission levels include lower levels: read < write < delete.
763
1238
  */
764
1239
  async pullRequests(options = {}) {
765
1240
  const path = "/v1/analytics/pull-requests";
@@ -775,6 +1250,12 @@ var EllipsisAnalytics = class {
775
1250
  * review the most PRs?" is the reviewer facets here with
776
1251
  * account_type=bot. Windowing: pass explicit start/end, or days
777
1252
  * (default: the last 30 days).
1253
+ *
1254
+ * Required permissions: read:account.
1255
+ * API key: Supported.
1256
+ * CLI user token: Supported.
1257
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1258
+ * Higher permission levels include lower levels: read < write < delete.
778
1259
  */
779
1260
  async reviews(options = {}) {
780
1261
  const path = "/v1/analytics/reviews";
@@ -793,6 +1274,8 @@ var EllipsisAuthCli = class {
793
1274
  * Poll a device-code auth flow for its token.
794
1275
  *
795
1276
  * Unauthenticated; the device code identifies the flow.
1277
+ *
1278
+ * Authentication: No token required.
796
1279
  */
797
1280
  async poll(options) {
798
1281
  const path = "/v1/auth/cli/poll";
@@ -807,6 +1290,8 @@ var EllipsisAuthCli = class {
807
1290
  * Unauthenticated: the CLI has no credential yet — that's what
808
1291
  * it's obtaining. The human authorizes out-of-band in the
809
1292
  * dashboard.
1293
+ *
1294
+ * Authentication: No token required.
810
1295
  */
811
1296
  async start() {
812
1297
  const path = "/v1/auth/cli/start";
@@ -821,142 +1306,6 @@ var EllipsisAuth = class {
821
1306
  transport;
822
1307
  cli;
823
1308
  };
824
- var EllipsisAutomations = class {
825
- constructor(transport) {
826
- this.transport = transport;
827
- }
828
- transport;
829
- /**
830
- * Create Automation
831
- *
832
- * Create an automation, managed through the API: no file, live
833
- * immediately. To put its definition in a repository instead, create
834
- * it here and then POST /v1/automations/{automation_id}/link.
835
- *
836
- * 409 when another live automation already holds the name.
837
- */
838
- async create(options) {
839
- const path = "/v1/automations";
840
- const body = buildBody({ automation: options.automation });
841
- return await this.transport.request("POST", path, { body });
842
- }
843
- /**
844
- * Delete Automation
845
- *
846
- * Delete an automation, by id or by name.
847
- *
848
- * It stops running and its name is freed immediately; its past
849
- * sessions remain readable. Only for automations managed through
850
- * this API — delete the file to remove one defined by a repository.
851
- */
852
- async delete(automation_id) {
853
- const path = `/v1/automations/${enc(automation_id)}`;
854
- await this.transport.request("DELETE", path);
855
- }
856
- /**
857
- * Get Automation
858
- *
859
- * Return one automation, by id or by name.
860
- */
861
- async get(automation_id) {
862
- const path = `/v1/automations/${enc(automation_id)}`;
863
- return await this.transport.request("GET", path);
864
- }
865
- /**
866
- * Link Automation
867
- *
868
- * Move an automation into a repository, by id or by name.
869
- *
870
- * Opens a pull request adding its definition file. The automation
871
- * keeps running unchanged meanwhile; merging hands it over to the
872
- * file, after which the file is what changes it. Nothing happens
873
- * if the pull request is never merged.
874
- */
875
- async link(automation_id, options) {
876
- const path = `/v1/automations/${enc(automation_id)}/link`;
877
- const body = buildBody({ path: options.path, repository: options.repository });
878
- return await this.transport.request("POST", path, { body });
879
- }
880
- /**
881
- * List Automations
882
- *
883
- * List automations.
884
- */
885
- async list() {
886
- const path = "/v1/automations";
887
- return await this.transport.request("GET", path);
888
- }
889
- /**
890
- * Get Automation Metrics
891
- *
892
- * Return an automation's session distribution and trailing spend,
893
- * by id or by name.
894
- *
895
- * `samples` carries one entry per finished session (duration, cost,
896
- * tokens) for distributions; `spend_windows` carries what the
897
- * automation's sessions cost over the last 1, 7, and 28 days against
898
- * its budget for each window.
899
- */
900
- async metrics(automation_id) {
901
- const path = `/v1/automations/${enc(automation_id)}/metrics`;
902
- return await this.transport.request("GET", path);
903
- }
904
- /**
905
- * Start Automation Session
906
- *
907
- * Invoke an automation.
908
- *
909
- * Runs a certified automation with its configured instructions, model,
910
- * environment, permissions, skills, and budget, and returns
911
- * the session it started. The session runs once and does not accept
912
- * follow-up messages. If the automation declares input.json_schema,
913
- * send only `input` for its initial message. Otherwise send a non-empty
914
- * `prompt`, which becomes the initial message verbatim. Both fields
915
- * together, neither field, and input that renders an empty message are
916
- * rejected with 422. An optional `budget` lowers the session cap;
917
- * `metadata` tags the session. Codex invocations are not supported.
918
- */
919
- async run(automation_id, options = {}) {
920
- const path = `/v1/automations/${enc(automation_id)}/sessions`;
921
- const body = buildBody({ budget: options.budget, input: options.input, metadata: options.metadata, prompt: options.prompt });
922
- return await this.transport.request("POST", path, { body });
923
- }
924
- /**
925
- * Get Automations Stream Ticket
926
- */
927
- async streamTicket() {
928
- const path = "/v1/automations/stream-ticket";
929
- return await this.transport.request("GET", path);
930
- }
931
- /**
932
- * Unlink Automation
933
- *
934
- * Take over an automation from its file, by id or by name.
935
- *
936
- * The file stops governing it immediately and further changes go
937
- * through this API. The file is left in place, inert — delete it
938
- * whenever you like.
939
- */
940
- async unlink(automation_id) {
941
- const path = `/v1/automations/${enc(automation_id)}/unlink`;
942
- return await this.transport.request("POST", path);
943
- }
944
- /**
945
- * Update Automation
946
- *
947
- * Replace an automation's definition, by id or by name.
948
- *
949
- * The whole definition is replaced, and the change is live at
950
- * once. Only for automations managed through this API: one defined
951
- * by a repository file is a 409, since the next push to that file
952
- * would revert the change — unlink it first to take ownership.
953
- */
954
- async update(automation_id, options) {
955
- const path = `/v1/automations/${enc(automation_id)}`;
956
- const body = buildBody({ automation: options.automation });
957
- return await this.transport.request("PUT", path, { body });
958
- }
959
- };
960
1309
  var EllipsisEnvironments = class {
961
1310
  constructor(transport) {
962
1311
  this.transport = transport;
@@ -970,6 +1319,12 @@ var EllipsisEnvironments = class {
970
1319
  * `kind: environment` YAML under an agents directory.
971
1320
  *
972
1321
  * 409 when another live environment already holds the name.
1322
+ *
1323
+ * Required permissions: write:environments.
1324
+ * API key: Supported.
1325
+ * CLI user token: Supported.
1326
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1327
+ * Higher permission levels include lower levels: read < write < delete.
973
1328
  */
974
1329
  async create(options) {
975
1330
  const path = "/v1/environments";
@@ -986,6 +1341,12 @@ var EllipsisEnvironments = class {
986
1341
  * environment. Past sessions remain readable. Only for environments
987
1342
  * managed through this API — delete the file to remove one defined
988
1343
  * by a repository.
1344
+ *
1345
+ * Required permissions: delete:environments.
1346
+ * API key: Supported.
1347
+ * CLI user token: Supported.
1348
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1349
+ * Higher permission levels include lower levels: read < write < delete.
989
1350
  */
990
1351
  async delete(environment_id) {
991
1352
  const path = `/v1/environments/${enc(environment_id)}`;
@@ -995,6 +1356,12 @@ var EllipsisEnvironments = class {
995
1356
  * Get Environment
996
1357
  *
997
1358
  * Return one saved environment, by id or by name.
1359
+ *
1360
+ * Required permissions: read:environments.
1361
+ * API key: Supported.
1362
+ * CLI user token: Supported.
1363
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1364
+ * Higher permission levels include lower levels: read < write < delete.
998
1365
  */
999
1366
  async get(environment_id) {
1000
1367
  const path = `/v1/environments/${enc(environment_id)}`;
@@ -1004,6 +1371,12 @@ var EllipsisEnvironments = class {
1004
1371
  * List Environments
1005
1372
  *
1006
1373
  * List saved environments.
1374
+ *
1375
+ * Required permissions: read:environments.
1376
+ * API key: Supported.
1377
+ * CLI user token: Supported.
1378
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1379
+ * Higher permission levels include lower levels: read < write < delete.
1007
1380
  */
1008
1381
  async list() {
1009
1382
  const path = "/v1/environments";
@@ -1018,6 +1391,12 @@ var EllipsisEnvironments = class {
1018
1391
  * resolve the new body; running sessions keep the one frozen at
1019
1392
  * their start. Only for environments managed through this API: one
1020
1393
  * defined by a repository file is a 409.
1394
+ *
1395
+ * Required permissions: write:environments.
1396
+ * API key: Supported.
1397
+ * CLI user token: Supported.
1398
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1399
+ * Higher permission levels include lower levels: read < write < delete.
1021
1400
  */
1022
1401
  async update(environment_id, options) {
1023
1402
  const path = `/v1/environments/${enc(environment_id)}`;
@@ -1040,6 +1419,13 @@ var EllipsisFiles = class {
1040
1419
  * agent persisting a screenshot to link on a PR), but all
1041
1420
  * credential types work. Returns the org-membership-gated
1042
1421
  * dashboard URL so callers never hard-code URL shapes.
1422
+ *
1423
+ * Required permissions: write:files.
1424
+ * API key: Supported.
1425
+ * CLI user token: Supported.
1426
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1427
+ * Higher permission levels include lower levels: read < write < delete.
1428
+ * Grant match patterns can further restrict access to individual resources.
1043
1429
  */
1044
1430
  async create(options) {
1045
1431
  const path = "/v1/files";
@@ -1057,6 +1443,13 @@ var EllipsisFiles = class {
1057
1443
  * potentially-untrusted code and must not be able to destroy the
1058
1444
  * account's files — uploading is fine, destruction is not); API
1059
1445
  * keys and user tokens may delete.
1446
+ *
1447
+ * Required permissions: delete:files.
1448
+ * API key: Supported.
1449
+ * CLI user token: Supported.
1450
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1451
+ * Higher permission levels include lower levels: read < write < delete.
1452
+ * Grant match patterns can further restrict access to individual resources.
1060
1453
  */
1061
1454
  async delete(file_id) {
1062
1455
  const path = `/v1/files/${enc(file_id)}`;
@@ -1078,6 +1471,13 @@ var EllipsisFiles = class {
1078
1471
  * To fetch the bytes locally, call this and then GET download_url
1079
1472
  * immediately — the JSON API never carries the file. The CLI's
1080
1473
  * `agent file get` wraps exactly that two-step.
1474
+ *
1475
+ * Required permissions: read:files.
1476
+ * API key: Supported.
1477
+ * CLI user token: Supported.
1478
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1479
+ * Higher permission levels include lower levels: read < write < delete.
1480
+ * Grant match patterns can further restrict access to individual resources.
1081
1481
  */
1082
1482
  async get(file_id) {
1083
1483
  const path = `/v1/files/${enc(file_id)}`;
@@ -1092,6 +1492,13 @@ var EllipsisFiles = class {
1092
1492
  * a download_urls map keyed by file id for thumbnails or batch
1093
1493
  * downloads. URLs expire within about a minute. session_id scopes
1094
1494
  * the list to one session's uploads.
1495
+ *
1496
+ * Required permissions: read:files.
1497
+ * API key: Supported.
1498
+ * CLI user token: Supported.
1499
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1500
+ * Higher permission levels include lower levels: read < write < delete.
1501
+ * Grant match patterns can further restrict access to individual resources.
1095
1502
  */
1096
1503
  async list(options = {}) {
1097
1504
  const path = "/v1/files";
@@ -1104,6 +1511,67 @@ var EllipsisFiles = class {
1104
1511
  );
1105
1512
  }
1106
1513
  };
1514
+ var EllipsisHandlers = class {
1515
+ constructor(transport) {
1516
+ this.transport = transport;
1517
+ }
1518
+ transport;
1519
+ /**
1520
+ * List Handlers
1521
+ *
1522
+ * List the account's Slack, GitHub, Linear, and Sentry handlers.
1523
+ *
1524
+ * Returns at most one handler per service, from the current .ellipsis
1525
+ * repository. Disabled handlers and last valid definitions with sync
1526
+ * errors are included. Missing handlers are omitted. This reads saved
1527
+ * state without fetching GitHub or triggering synchronization.
1528
+ *
1529
+ * Requires configs:read; scoped grants match handlers/{service}.
1530
+ * Sandbox credentials with that grant may read handlers.
1531
+ *
1532
+ * Required permissions: read:configs.
1533
+ * API key: Supported.
1534
+ * CLI user token: Supported.
1535
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1536
+ * Higher permission levels include lower levels: read < write < delete.
1537
+ * Grant match patterns can further restrict access to individual resources.
1538
+ */
1539
+ async list() {
1540
+ const path = "/v1/handlers";
1541
+ return await this.transport.request("GET", path);
1542
+ }
1543
+ /**
1544
+ * Get Handler Metrics
1545
+ *
1546
+ * Return session counts and accumulated spend for a saved handler.
1547
+ *
1548
+ * Filters only by session creation time. Omitted bounds include all
1549
+ * history. Counts use the current conversation outcome, so an idle
1550
+ * session remains active. Spend includes the selected sessions' full
1551
+ * accumulated cost, including activity after the creation-time window.
1552
+ * Only sessions carrying this exact saved handler id are counted;
1553
+ * legacy sessions without handler provenance are excluded.
1554
+ *
1555
+ * spend_windows reports current trailing 1-, 7-, and 28-day credit
1556
+ * debits and effective handler budgets across all attributed sessions.
1557
+ * Those windows use usage timestamps and are independent of start/end.
1558
+ *
1559
+ * Requires configs:read matching handlers/{service} and unrestricted
1560
+ * sessions:read. Sandbox tokens with both grants may read metrics.
1561
+ *
1562
+ * Required permissions: read:sessions, read:configs.
1563
+ * API key: Supported.
1564
+ * CLI user token: Supported.
1565
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1566
+ * Higher permission levels include lower levels: read < write < delete.
1567
+ * Grant match patterns can further restrict access to individual resources.
1568
+ */
1569
+ async metrics(handler_id, options = {}) {
1570
+ const path = `/v1/handlers/${enc(handler_id)}/metrics`;
1571
+ const query = buildQuery({ start: options.start, end: options.end });
1572
+ return await this.transport.request("GET", path, { query });
1573
+ }
1574
+ };
1107
1575
  var EllipsisIntegrationsGithub = class {
1108
1576
  constructor(transport) {
1109
1577
  this.transport = transport;
@@ -1119,6 +1587,12 @@ var EllipsisIntegrationsGithub = class {
1119
1587
  *
1120
1588
  * Members carry their linked Slack identity when a Slack-GitHub
1121
1589
  * link exists, and /slack/members carries the reverse link.
1590
+ *
1591
+ * Required permissions: read:integrations.
1592
+ * API key: Supported.
1593
+ * CLI user token: Supported.
1594
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1595
+ * Higher permission levels include lower levels: read < write < delete.
1122
1596
  */
1123
1597
  async members() {
1124
1598
  const path = "/v1/integrations/github/members";
@@ -1128,6 +1602,12 @@ var EllipsisIntegrationsGithub = class {
1128
1602
  * List Github Repositories
1129
1603
  *
1130
1604
  * List GitHub repositories connected to the installation.
1605
+ *
1606
+ * Required permissions: read:integrations.
1607
+ * API key: Supported.
1608
+ * CLI user token: Supported.
1609
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1610
+ * Higher permission levels include lower levels: read < write < delete.
1131
1611
  */
1132
1612
  async repos() {
1133
1613
  const path = "/v1/integrations/github/repos";
@@ -1135,6 +1615,12 @@ var EllipsisIntegrationsGithub = class {
1135
1615
  }
1136
1616
  /**
1137
1617
  * Uninstall Github App
1618
+ *
1619
+ * Required permissions: write:integrations.
1620
+ * API key: Supported.
1621
+ * CLI user token: Supported.
1622
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1623
+ * Higher permission levels include lower levels: read < write < delete.
1138
1624
  */
1139
1625
  async uninstall(options) {
1140
1626
  const path = "/v1/integrations/github/uninstall";
@@ -1149,6 +1635,12 @@ var EllipsisIntegrationsLinear = class {
1149
1635
  transport;
1150
1636
  /**
1151
1637
  * Delete Linear Integration
1638
+ *
1639
+ * Required permissions: delete:integrations.
1640
+ * API key: Supported.
1641
+ * CLI user token: Supported.
1642
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1643
+ * Higher permission levels include lower levels: read < write < delete.
1152
1644
  */
1153
1645
  async delete() {
1154
1646
  const path = "/v1/integrations/linear";
@@ -1158,6 +1650,12 @@ var EllipsisIntegrationsLinear = class {
1158
1650
  * List Linear Teams
1159
1651
  *
1160
1652
  * List the teams of the connected Linear workspace.
1653
+ *
1654
+ * Required permissions: read:integrations.
1655
+ * API key: Supported.
1656
+ * CLI user token: Supported.
1657
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1658
+ * Higher permission levels include lower levels: read < write < delete.
1161
1659
  */
1162
1660
  async teams() {
1163
1661
  const path = "/v1/integrations/linear/teams";
@@ -1165,6 +1663,12 @@ var EllipsisIntegrationsLinear = class {
1165
1663
  }
1166
1664
  /**
1167
1665
  * Update Linear Teams
1666
+ *
1667
+ * Required permissions: write:integrations.
1668
+ * API key: Supported.
1669
+ * CLI user token: Supported.
1670
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1671
+ * Higher permission levels include lower levels: read < write < delete.
1168
1672
  */
1169
1673
  async updateSettings(options) {
1170
1674
  const path = "/v1/integrations/linear/settings";
@@ -1179,6 +1683,12 @@ var EllipsisIntegrationsSentry = class {
1179
1683
  transport;
1180
1684
  /**
1181
1685
  * Delete Sentry Integration
1686
+ *
1687
+ * Required permissions: delete:integrations.
1688
+ * API key: Supported.
1689
+ * CLI user token: Supported.
1690
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1691
+ * Higher permission levels include lower levels: read < write < delete.
1182
1692
  */
1183
1693
  async delete(integration_id) {
1184
1694
  const path = `/v1/integrations/sentry/${enc(integration_id)}`;
@@ -1188,6 +1698,12 @@ var EllipsisIntegrationsSentry = class {
1188
1698
  * List Sentry Organizations
1189
1699
  *
1190
1700
  * List the connected Sentry organizations.
1701
+ *
1702
+ * Required permissions: read:integrations.
1703
+ * API key: Supported.
1704
+ * CLI user token: Supported.
1705
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1706
+ * Higher permission levels include lower levels: read < write < delete.
1191
1707
  */
1192
1708
  async organizations() {
1193
1709
  const path = "/v1/integrations/sentry/organizations";
@@ -1204,6 +1720,12 @@ var EllipsisIntegrationsSlack = class {
1204
1720
  *
1205
1721
  * List the channels of the connected Slack workspace, fetched
1206
1722
  * live from the Slack API.
1723
+ *
1724
+ * Required permissions: read:integrations.
1725
+ * API key: Supported.
1726
+ * CLI user token: Supported.
1727
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1728
+ * Higher permission levels include lower levels: read < write < delete.
1207
1729
  */
1208
1730
  async channels() {
1209
1731
  const path = "/v1/integrations/slack/channels";
@@ -1211,6 +1733,12 @@ var EllipsisIntegrationsSlack = class {
1211
1733
  }
1212
1734
  /**
1213
1735
  * Create Operations Channel
1736
+ *
1737
+ * Required permissions: write:integrations.
1738
+ * API key: Supported.
1739
+ * CLI user token: Supported.
1740
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1741
+ * Higher permission levels include lower levels: read < write < delete.
1214
1742
  */
1215
1743
  async createOperationsChannel() {
1216
1744
  const path = "/v1/integrations/slack/operations-channel";
@@ -1218,6 +1746,12 @@ var EllipsisIntegrationsSlack = class {
1218
1746
  }
1219
1747
  /**
1220
1748
  * Delete Slack Integration
1749
+ *
1750
+ * Required permissions: delete:integrations.
1751
+ * API key: Supported.
1752
+ * CLI user token: Supported.
1753
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1754
+ * Higher permission levels include lower levels: read < write < delete.
1221
1755
  */
1222
1756
  async delete() {
1223
1757
  const path = "/v1/integrations/slack";
@@ -1228,6 +1762,12 @@ var EllipsisIntegrationsSlack = class {
1228
1762
  *
1229
1763
  * List the members of the connected Slack workspace, fetched
1230
1764
  * live from the Slack API.
1765
+ *
1766
+ * Required permissions: read:integrations.
1767
+ * API key: Supported.
1768
+ * CLI user token: Supported.
1769
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1770
+ * Higher permission levels include lower levels: read < write < delete.
1231
1771
  */
1232
1772
  async members() {
1233
1773
  const path = "/v1/integrations/slack/members";
@@ -1235,6 +1775,12 @@ var EllipsisIntegrationsSlack = class {
1235
1775
  }
1236
1776
  /**
1237
1777
  * Update Slack Settings
1778
+ *
1779
+ * Required permissions: write:integrations.
1780
+ * API key: Supported.
1781
+ * CLI user token: Supported.
1782
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
1783
+ * Higher permission levels include lower levels: read < write < delete.
1238
1784
  */
1239
1785
  async updateSettings(options) {
1240
1786
  const path = "/v1/integrations/slack/settings";
@@ -1262,10 +1808,16 @@ var EllipsisIntegrations = class {
1262
1808
  *
1263
1809
  * A read-only view, so an agent authoring another agent's
1264
1810
  * config can learn which repositories, channels, teams, and
1265
- * organizations it may name before POST /automations.
1811
+ * organizations it may name before POST /agents.
1266
1812
  *
1267
1813
  * Available to all credential types including sandbox tokens: the
1268
1814
  * responses never include OAuth tokens or any other secret.
1815
+ *
1816
+ * Required permissions: read:integrations.
1817
+ * API key: Supported.
1818
+ * CLI user token: Supported.
1819
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1820
+ * Higher permission levels include lower levels: read < write < delete.
1269
1821
  */
1270
1822
  async list() {
1271
1823
  const path = "/v1/integrations";
@@ -1289,6 +1841,13 @@ var EllipsisMemories = class {
1289
1841
  *
1290
1842
  * Creating never overwrites: a path that already exists is a 409, so
1291
1843
  * correcting an existing memory is an explicit edit.
1844
+ *
1845
+ * Required permissions: write:memories.
1846
+ * API key: Supported.
1847
+ * CLI user token: Supported.
1848
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1849
+ * Higher permission levels include lower levels: read < write < delete.
1850
+ * Grant match patterns can further restrict access to individual resources.
1292
1851
  */
1293
1852
  async create(options) {
1294
1853
  const path = "/v1/memories";
@@ -1303,6 +1862,13 @@ var EllipsisMemories = class {
1303
1862
  * Available to every credential type, agents included — a wrong
1304
1863
  * memory is worse than a missing one. The deleted content is kept in
1305
1864
  * the memory's history for forensics, not for an undo API.
1865
+ *
1866
+ * Required permissions: delete:memories.
1867
+ * API key: Supported.
1868
+ * CLI user token: Supported.
1869
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1870
+ * Higher permission levels include lower levels: read < write < delete.
1871
+ * Grant match patterns can further restrict access to individual resources.
1306
1872
  */
1307
1873
  async delete(memory_id, options = {}) {
1308
1874
  const path = `/v1/memories/${enc(memory_id)}`;
@@ -1320,6 +1886,13 @@ var EllipsisMemories = class {
1320
1886
  *
1321
1887
  * Pass `if_sha256` (from a previous read) to make a concurrent write
1322
1888
  * a 409 instead of silently overwriting it.
1889
+ *
1890
+ * Required permissions: write:memories.
1891
+ * API key: Supported.
1892
+ * CLI user token: Supported.
1893
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1894
+ * Higher permission levels include lower levels: read < write < delete.
1895
+ * Grant match patterns can further restrict access to individual resources.
1323
1896
  */
1324
1897
  async edit(memory_id, options = {}) {
1325
1898
  const path = `/v1/memories/${enc(memory_id)}`;
@@ -1332,6 +1905,13 @@ var EllipsisMemories = class {
1332
1905
  * Read one memory's full content.
1333
1906
  *
1334
1907
  * The id comes from the index returned by listing memories.
1908
+ *
1909
+ * Required permissions: read:memories.
1910
+ * API key: Supported.
1911
+ * CLI user token: Supported.
1912
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1913
+ * Higher permission levels include lower levels: read < write < delete.
1914
+ * Grant match patterns can further restrict access to individual resources.
1335
1915
  */
1336
1916
  async get(memory_id) {
1337
1917
  const path = `/v1/memories/${enc(memory_id)}`;
@@ -1346,6 +1926,13 @@ var EllipsisMemories = class {
1346
1926
  * memory, carrying its id, path, and description) plus the same
1347
1927
  * entries structured, each with every field except `content`. Read
1348
1928
  * the index, then fetch the ids whose content you want.
1929
+ *
1930
+ * Required permissions: read:memories.
1931
+ * API key: Supported.
1932
+ * CLI user token: Supported.
1933
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1934
+ * Higher permission levels include lower levels: read < write < delete.
1935
+ * Grant match patterns can further restrict access to individual resources.
1349
1936
  */
1350
1937
  async list(options = {}) {
1351
1938
  const path = "/v1/memories";
@@ -1360,6 +1947,12 @@ var EllipsisReviews = class {
1360
1947
  transport;
1361
1948
  /**
1362
1949
  * List Review Configs
1950
+ *
1951
+ * Required permissions: read:reviews.
1952
+ * API key: Supported.
1953
+ * CLI user token: Supported.
1954
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1955
+ * Higher permission levels include lower levels: read < write < delete.
1363
1956
  */
1364
1957
  async configs() {
1365
1958
  const path = "/v1/reviews/configs";
@@ -1380,6 +1973,12 @@ var EllipsisReviews = class {
1380
1973
  * `stages[].session_id` is where a client streams
1381
1974
  * (/sessions/{id}/stream on a stage session), since the review
1382
1975
  * itself is a pipeline rather than one process.
1976
+ *
1977
+ * Required permissions: write:reviews.
1978
+ * API key: Supported.
1979
+ * CLI user token: Supported.
1980
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1981
+ * Higher permission levels include lower levels: read < write < delete.
1383
1982
  */
1384
1983
  async create(options) {
1385
1984
  const path = "/v1/reviews";
@@ -1397,6 +1996,12 @@ var EllipsisReviews = class {
1397
1996
  * Findings only exist after a stage session finalizes — a running
1398
1997
  * review honestly reports [] / null, which is why a client
1399
1998
  * streams a stage session and then re-fetches the review.
1999
+ *
2000
+ * Required permissions: read:reviews.
2001
+ * API key: Supported.
2002
+ * CLI user token: Supported.
2003
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2004
+ * Higher permission levels include lower levels: read < write < delete.
1400
2005
  */
1401
2006
  async get(review_id) {
1402
2007
  const path = `/v1/reviews/${enc(review_id)}`;
@@ -1414,6 +2019,12 @@ var EllipsisReviews = class {
1414
2019
  *
1415
2020
  * Webhook-created reviews appear here too, so this answers "show
1416
2021
  * me every review on this PR".
2022
+ *
2023
+ * Required permissions: read:reviews.
2024
+ * API key: Supported.
2025
+ * CLI user token: Supported.
2026
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2027
+ * Higher permission levels include lower levels: read < write < delete.
1417
2028
  */
1418
2029
  async list(options = {}) {
1419
2030
  const path = "/v1/reviews";
@@ -1426,33 +2037,6 @@ var EllipsisReviews = class {
1426
2037
  );
1427
2038
  }
1428
2039
  };
1429
- var EllipsisSandboxes = class {
1430
- constructor(transport) {
1431
- this.transport = transport;
1432
- }
1433
- transport;
1434
- /**
1435
- * Get Single Sandbox
1436
- */
1437
- async get(sandbox_id) {
1438
- const path = `/v1/sandboxes/${enc(sandbox_id)}`;
1439
- return await this.transport.request("GET", path);
1440
- }
1441
- /**
1442
- * Get Sandboxes
1443
- */
1444
- async list() {
1445
- const path = "/v1/sandboxes";
1446
- await this.transport.request("GET", path);
1447
- }
1448
- /**
1449
- * Get Sandbox Stream Ticket
1450
- */
1451
- async streamTicket(sandbox_id) {
1452
- const path = `/v1/sandboxes/${enc(sandbox_id)}/stream-ticket`;
1453
- return await this.transport.request("GET", path);
1454
- }
1455
- };
1456
2040
  var EllipsisSecrets = class {
1457
2041
  constructor(transport) {
1458
2042
  this.transport = transport;
@@ -1465,6 +2049,13 @@ var EllipsisSecrets = class {
1465
2049
  *
1466
2050
  * Refused for sandbox tokens; mutations require an API key or
1467
2051
  * user token.
2052
+ *
2053
+ * Required permissions: delete:secrets.
2054
+ * API key: Supported.
2055
+ * CLI user token: Supported.
2056
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2057
+ * Higher permission levels include lower levels: read < write < delete.
2058
+ * Grant match patterns can further restrict access to individual resources.
1468
2059
  */
1469
2060
  async delete(name) {
1470
2061
  const path = `/v1/secrets/${enc(name)}`;
@@ -1477,6 +2068,13 @@ var EllipsisSecrets = class {
1477
2068
  *
1478
2069
  * Values are write-only: the response carries only names and
1479
2070
  * timestamps, never the stored value.
2071
+ *
2072
+ * Required permissions: read:secrets.
2073
+ * API key: Supported.
2074
+ * CLI user token: Supported.
2075
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2076
+ * Higher permission levels include lower levels: read < write < delete.
2077
+ * Grant match patterns can further restrict access to individual resources.
1480
2078
  */
1481
2079
  async list() {
1482
2080
  const path = "/v1/secrets";
@@ -1491,6 +2089,13 @@ var EllipsisSecrets = class {
1491
2089
  * only — values are write-only. Refused for sandbox tokens (held by
1492
2090
  * potentially-untrusted in-sandbox code); mutations require an
1493
2091
  * API key or user token.
2092
+ *
2093
+ * Required permissions: write:secrets.
2094
+ * API key: Supported.
2095
+ * CLI user token: Supported.
2096
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2097
+ * Higher permission levels include lower levels: read < write < delete.
2098
+ * Grant match patterns can further restrict access to individual resources.
1494
2099
  */
1495
2100
  async set(options) {
1496
2101
  const path = "/v1/secrets";
@@ -1504,7 +2109,7 @@ var EllipsisSessions = class {
1504
2109
  }
1505
2110
  transport;
1506
2111
  /**
1507
- * Get Agent Session Analytics
2112
+ * Get Session Analytics
1508
2113
  *
1509
2114
  * Measured tokens and spend over time, plus estimated content cost.
1510
2115
  *
@@ -1515,13 +2120,20 @@ var EllipsisSessions = class {
1515
2120
  * or unsupported context remains explicitly unattributed. No raw
1516
2121
  * prompts or tool results are returned. Sandbox tokens may read only
1517
2122
  * their own session's analytics.
2123
+ *
2124
+ * Required permissions: read:sessions.
2125
+ * API key: Supported.
2126
+ * CLI user token: Supported.
2127
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
2128
+ * Higher permission levels include lower levels: read < write < delete.
2129
+ * Grant match patterns can further restrict access to individual resources.
1518
2130
  */
1519
2131
  async analytics(session_id) {
1520
2132
  const path = `/v1/sessions/${enc(session_id)}/analytics`;
1521
2133
  return await this.transport.request("GET", path);
1522
2134
  }
1523
2135
  /**
1524
- * Get Agent Session Diff
2136
+ * Get Session Diff
1525
2137
  *
1526
2138
  * Return the session's uncommitted changes as a patch.
1527
2139
  *
@@ -1530,29 +2142,22 @@ var EllipsisSessions = class {
1530
2142
  * counts ride on the session itself (`git.repos[].files`); this
1531
2143
  * is the text behind them. Empty when the tree was clean. A
1532
2144
  * sandbox token may read only its own session's diff.
2145
+ *
2146
+ * Required permissions: read:sessions.
2147
+ * API key: Supported.
2148
+ * CLI user token: Supported.
2149
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
2150
+ * Higher permission levels include lower levels: read < write < delete.
2151
+ * Grant match patterns can further restrict access to individual resources.
1533
2152
  */
1534
2153
  async diff(session_id) {
1535
2154
  const path = `/v1/sessions/${enc(session_id)}/diff`;
1536
2155
  return await this.transport.request("GET", path);
1537
2156
  }
1538
2157
  /**
1539
- * List Session Executions
1540
- *
1541
- * Return the session's execution attempts, oldest first.
1542
- *
1543
- * Includes the selected harness, model, resolved instructions, initial
1544
- * query, and common result summary. Complete native outputs remain in
1545
- * the session's records. Internal launch options and checkpoint storage
1546
- * references are excluded.
1547
- */
1548
- async executions(session_id) {
1549
- const path = `/v1/sessions/${enc(session_id)}/executions`;
1550
- return await this.transport.request("GET", path);
1551
- }
1552
- /**
1553
- * Export Agent Session
2158
+ * Download Session
1554
2159
  *
1555
- * Export the complete session history.
2160
+ * Download the complete session history.
1556
2161
  *
1557
2162
  * The complete, ordered history of the session (agent output, tool calls, thinking,
1558
2163
  * lifecycle events, sandbox output, message events) as an ordered
@@ -1562,41 +2167,83 @@ var EllipsisSessions = class {
1562
2167
  * for one file. The JSON API never carries the bytes (same
1563
2168
  * two-step as files). /records is the paged live view of the
1564
2169
  * same data.
2170
+ *
2171
+ * Required permissions: read:sessions.
2172
+ * API key: Supported.
2173
+ * CLI user token: Supported.
2174
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2175
+ * Higher permission levels include lower levels: read < write < delete.
2176
+ * Grant match patterns can further restrict access to individual resources.
2177
+ */
2178
+ async download(session_id) {
2179
+ const path = `/v1/sessions/${enc(session_id)}/download`;
2180
+ return await this.transport.request("GET", path);
2181
+ }
2182
+ /**
2183
+ * List Session Executions
2184
+ *
2185
+ * Return the session's execution attempts, oldest first.
2186
+ *
2187
+ * Includes the selected harness, model, resolved instructions, initial
2188
+ * query, and common result summary. Complete native outputs remain in
2189
+ * the session's records. Internal launch options and checkpoint storage
2190
+ * references are excluded.
2191
+ *
2192
+ * Required permissions: read:sessions.
2193
+ * API key: Supported.
2194
+ * CLI user token: Supported.
2195
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2196
+ * Higher permission levels include lower levels: read < write < delete.
2197
+ * Grant match patterns can further restrict access to individual resources.
1565
2198
  */
1566
- async export(session_id) {
1567
- const path = `/v1/sessions/${enc(session_id)}/export`;
2199
+ async executions(session_id) {
2200
+ const path = `/v1/sessions/${enc(session_id)}/executions`;
1568
2201
  return await this.transport.request("GET", path);
1569
2202
  }
1570
2203
  /**
1571
- * Get Agent Session
2204
+ * Get Session
1572
2205
  *
1573
2206
  * Return one session.
1574
2207
  *
1575
2208
  * The public wire shape — the same shape the stream's session
1576
- * frames carry, with attributed_user and stopped_by_user resolved
2209
+ * frames carry, with attribution, stop, and archive actors resolved
1577
2210
  * at read time.
1578
2211
  *
1579
2212
  * The heavy near-static blobs (config snapshot, input/output)
1580
2213
  * live on the detail endpoints, not here.
2214
+ *
2215
+ * Required permissions: read:sessions.
2216
+ * API key: Supported.
2217
+ * CLI user token: Supported.
2218
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2219
+ * Higher permission levels include lower levels: read < write < delete.
2220
+ * Grant match patterns can further restrict access to individual resources.
1581
2221
  */
1582
2222
  async get(session_id) {
1583
2223
  const path = `/v1/sessions/${enc(session_id)}`;
1584
2224
  return await this.transport.request("GET", path);
1585
2225
  }
1586
2226
  /**
1587
- * Get Agent Session Git
2227
+ * Get Session Git
1588
2228
  *
1589
2229
  * The session's GitHub-side git view: its commits, and each PR it
1590
2230
  * opened joined to the live gh_prs row and reviews. The identity list
1591
2231
  * (output_git) rides the session itself over the WebSocket; this is
1592
2232
  * the join a "run" notify tells an open pane to refetch.
2233
+ *
2234
+ * Required permissions: read:sessions.
2235
+ * API key: Supported.
2236
+ * CLI user token: Supported.
2237
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2238
+ * Higher permission levels include lower levels: read < write < delete.
2239
+ * Grant match patterns can further restrict access to individual resources.
1593
2240
  */
1594
2241
  async git(session_id) {
1595
2242
  const path = `/v1/sessions/${enc(session_id)}/git`;
1596
2243
  return await this.transport.request("GET", path);
1597
2244
  }
1598
2245
  /**
1599
- * Ingest Agent Session Transcript
2246
+ * Ingest Session Transcript
1600
2247
  *
1601
2248
  * Append transcript lines to a session's record.
1602
2249
  *
@@ -1604,6 +2251,13 @@ var EllipsisSessions = class {
1604
2251
  *
1605
2252
  * A sandbox token may only push its own session's transcript.
1606
2253
  * Idempotent by transcript line uuid; tolerant of malformed lines.
2254
+ *
2255
+ * Required permissions: write:sessions.
2256
+ * API key: Supported.
2257
+ * CLI user token: Supported.
2258
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
2259
+ * Higher permission levels include lower levels: read < write < delete.
2260
+ * Grant match patterns can further restrict access to individual resources.
1607
2261
  */
1608
2262
  async ingestTranscript(session_id, options) {
1609
2263
  const path = `/v1/sessions/${enc(session_id)}/transcript`;
@@ -1611,17 +2265,24 @@ var EllipsisSessions = class {
1611
2265
  return await this.transport.request("POST", path, { body });
1612
2266
  }
1613
2267
  /**
1614
- * List Agent Sessions
2268
+ * List Sessions
1615
2269
  *
1616
2270
  * List cloud agent sessions, newest first.
1617
2271
  *
1618
- * Optionally filtered by automation (id or name), source, time
2272
+ * Optionally filtered by agent (id or name), source, service, handler, time
1619
2273
  * window, attributed author, repository, and whether the session is
1620
2274
  * still going.
2275
+ *
2276
+ * Required permissions: read:sessions.
2277
+ * API key: Supported.
2278
+ * CLI user token: Supported.
2279
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2280
+ * Higher permission levels include lower levels: read < write < delete.
2281
+ * Grant match patterns can further restrict access to individual resources.
1621
2282
  */
1622
2283
  async list(options = {}) {
1623
2284
  const path = "/v1/sessions";
1624
- const query = buildQuery({ automation: options.automation, source: options.source, 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 });
2285
+ 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 });
1625
2286
  const response = await this.transport.request("GET", path, { query });
1626
2287
  return new Page(
1627
2288
  response,
@@ -1630,7 +2291,7 @@ var EllipsisSessions = class {
1630
2291
  );
1631
2292
  }
1632
2293
  /**
1633
- * Get Agent Session Output
2294
+ * Get Session Output
1634
2295
  *
1635
2296
  * Return the session's typed output.
1636
2297
  *
@@ -1639,13 +2300,20 @@ var EllipsisSessions = class {
1639
2300
  * while the session is still running (poll GET /v1/sessions/{id}),
1640
2301
  * when the agent declares no output block, or when no execution
1641
2302
  * produced output.
2303
+ *
2304
+ * Required permissions: read:sessions.
2305
+ * API key: Supported.
2306
+ * CLI user token: Supported.
2307
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2308
+ * Higher permission levels include lower levels: read < write < delete.
2309
+ * Grant match patterns can further restrict access to individual resources.
1642
2310
  */
1643
2311
  async output(session_id) {
1644
2312
  const path = `/v1/sessions/${enc(session_id)}/output`;
1645
2313
  return await this.transport.request("GET", path);
1646
2314
  }
1647
2315
  /**
1648
- * Get Agent Session Records
2316
+ * Get Session Records
1649
2317
  *
1650
2318
  * Return the session's stored transcript records, oldest first.
1651
2319
  *
@@ -1654,6 +2322,13 @@ var EllipsisSessions = class {
1654
2322
  * agent answering "did X look into Y?" needs to read the sessions
1655
2323
  * it finds, and any org member sees the same transcript in the
1656
2324
  * dashboard.
2325
+ *
2326
+ * Required permissions: read:sessions.
2327
+ * API key: Supported.
2328
+ * CLI user token: Supported.
2329
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2330
+ * Higher permission levels include lower levels: read < write < delete.
2331
+ * Grant match patterns can further restrict access to individual resources.
1657
2332
  */
1658
2333
  async records(session_id, options = {}) {
1659
2334
  const path = `/v1/sessions/${enc(session_id)}/records`;
@@ -1666,15 +2341,22 @@ var EllipsisSessions = class {
1666
2341
  );
1667
2342
  }
1668
2343
  /**
1669
- * Search Agent Sessions
2344
+ * Search Sessions
2345
+ *
2346
+ * Required permissions: read:sessions.
2347
+ * API key: Supported.
2348
+ * CLI user token: Supported.
2349
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2350
+ * Higher permission levels include lower levels: read < write < delete.
2351
+ * Grant match patterns can further restrict access to individual resources.
1670
2352
  */
1671
2353
  async search(options = {}) {
1672
2354
  const path = "/v1/sessions/search";
1673
- const query = buildQuery({ q: options.q, scope: options.scope, source: options.source, author_id: options.author_id, automation_id: options.automation_id, session_ids: options.session_ids, repo: options.repo, status: options.status, start: options.start, end: options.end, limit: options.limit });
2355
+ const query = buildQuery({ q: options.q, scope: options.scope, source: options.source, service: options.service, handler: options.handler, author_id: options.author_id, agent_id: options.agent_id, session_ids: options.session_ids, repo: options.repo, status: options.status, start: options.start, end: options.end, limit: options.limit });
1674
2356
  return await this.transport.request("GET", path, { query });
1675
2357
  }
1676
2358
  /**
1677
- * Send Agent Session Message
2359
+ * Send Session Message
1678
2360
  *
1679
2361
  * Send a message to a session.
1680
2362
  *
@@ -1682,6 +2364,13 @@ var EllipsisSessions = class {
1682
2364
  * Returns the created message so the caller can track it by id; a
1683
2365
  * retried send with the same idempotency_key returns the original
1684
2366
  * message.
2367
+ *
2368
+ * Required permissions: write:sessions.
2369
+ * API key: Supported.
2370
+ * CLI user token: Supported.
2371
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2372
+ * Higher permission levels include lower levels: read < write < delete.
2373
+ * Grant match patterns can further restrict access to individual resources.
1685
2374
  */
1686
2375
  async sendMessage(session_id, options) {
1687
2376
  const path = `/v1/sessions/${enc(session_id)}/messages`;
@@ -1690,39 +2379,61 @@ var EllipsisSessions = class {
1690
2379
  }
1691
2380
  /**
1692
2381
  * Get Session Stream Ticket
2382
+ *
2383
+ * Required permissions: read:sessions.
2384
+ * API key: Supported.
2385
+ * CLI user token: Supported.
2386
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2387
+ * Higher permission levels include lower levels: read < write < delete.
2388
+ * Grant match patterns can further restrict access to individual resources.
1693
2389
  */
1694
2390
  async sessionStreamTicket(session_id) {
1695
2391
  const path = `/v1/sessions/${enc(session_id)}/stream-ticket`;
1696
2392
  return await this.transport.request("GET", path);
1697
2393
  }
1698
2394
  /**
1699
- * Start Agent Session
2395
+ * Start Session
1700
2396
  *
1701
2397
  * Start a cloud agent session.
1702
2398
  *
1703
2399
  * The daily driver: a prompt, optionally where to run it
1704
- * (`environment`) and the run's own settings, in the AutomationConfig
2400
+ * (`environment`) and the run's own settings, in the AgentConfig
1705
2401
  * vocabulary. What you send is what runs: omit `environment` and the
1706
2402
  * session runs in the built-in basic sandbox. A missing model or
1707
2403
  * budget comes from the organization's settings, so
1708
- * `{"prompt": "..."}` alone is a complete request. `prompt` is the
1709
- * first message; omit it and the session starts idle, waiting for
1710
- * one. 400 when `interactive` is false and there is no prompt, or
2404
+ * `{"claude_code": {"prompt": "..."}}` is a complete request.
2405
+ * Set exactly one of `claude_code` or `codex`. Its `prompt` is the
2406
+ * first message; omit the prompt and the session starts idle, waiting for
2407
+ * one. 400 when `lifecycle.interactive` is false and there is no prompt, or
1711
2408
  * when `budget` exceeds the organization's per-session ceiling. To
1712
- * run a saved automation, use POST /v1/automations/{automation_id}/sessions.
2409
+ * run a saved agent, use POST /v1/agents/{agent_id}/sessions.
2410
+ *
2411
+ * Required permissions: write:sessions.
2412
+ * API key: Supported.
2413
+ * CLI user token: Supported.
2414
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2415
+ * Higher permission levels include lower levels: read < write < delete.
2416
+ * Grant match patterns can further restrict access to individual resources.
1713
2417
  */
1714
- async start(options) {
2418
+ async start(options = {}) {
1715
2419
  const path = "/v1/sessions";
1716
- const body = buildBody({ budget: options.budget, environment: options.environment, force_rebuild: options.force_rebuild, harness: options.harness, images: options.images, instructions: options.instructions, interactive: options.interactive, metadata: options.metadata, output: options.output, permissions: options.permissions, prompt: options.prompt, repositories: options.repositories, skills: options.skills });
2420
+ const body = buildBody({ budget: options.budget, claude_code: options.claude_code, codex: options.codex, environment: options.environment, force_rebuild: options.force_rebuild, images: options.images, lifecycle: options.lifecycle, metadata: options.metadata, output: options.output, permissions: options.permissions, repositories: options.repositories, skills: options.skills });
1717
2421
  return await this.transport.request("POST", path, { body });
1718
2422
  }
1719
2423
  /**
1720
- * Stop Agent Session
2424
+ * Stop Session
1721
2425
  *
1722
2426
  * Stop an in-flight session and return it.
1723
2427
  *
1724
2428
  * stopped_by is recorded only when the caller's credential maps
1725
2429
  * to a GitHub account.
2430
+ *
2431
+ * Required permissions: write:sessions.
2432
+ * API key: Supported.
2433
+ * CLI user token: Supported.
2434
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2435
+ * Higher permission levels include lower levels: read < write < delete.
2436
+ * Grant match patterns can further restrict access to individual resources.
1726
2437
  */
1727
2438
  async stop(session_id) {
1728
2439
  const path = `/v1/sessions/${enc(session_id)}/stop`;
@@ -1730,11 +2441,43 @@ var EllipsisSessions = class {
1730
2441
  }
1731
2442
  /**
1732
2443
  * Get Sessions Stream Ticket
2444
+ *
2445
+ * Required permissions: read:sessions.
2446
+ * API key: Supported.
2447
+ * CLI user token: Supported.
2448
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2449
+ * Higher permission levels include lower levels: read < write < delete.
2450
+ * Grant match patterns can further restrict access to individual resources.
1733
2451
  */
1734
2452
  async streamTicket() {
1735
2453
  const path = "/v1/sessions/stream-ticket";
1736
2454
  return await this.transport.request("GET", path);
1737
2455
  }
2456
+ /**
2457
+ * Update Session
2458
+ *
2459
+ * Archive or unarchive a session and return it.
2460
+ *
2461
+ * Set archived to true to record the current server time and the
2462
+ * authenticated GitHub user. API-key requests record no user.
2463
+ * Repeated archive requests preserve the original time and user.
2464
+ * Set archived to false to clear both fields. Archiving is available
2465
+ * in any session state and does not stop a running session.
2466
+ *
2467
+ * Changes are delivered to session and session-list streams.
2468
+ *
2469
+ * Required permissions: write:sessions.
2470
+ * API key: Supported.
2471
+ * CLI user token: Supported.
2472
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2473
+ * Higher permission levels include lower levels: read < write < delete.
2474
+ * Grant match patterns can further restrict access to individual resources.
2475
+ */
2476
+ async update(session_id, options) {
2477
+ const path = `/v1/sessions/${enc(session_id)}`;
2478
+ const body = buildBody({ archived: options.archived });
2479
+ return await this.transport.request("PUT", path, { body });
2480
+ }
1738
2481
  // ---- lifecycle sugar (hand-written layer over the generated core) ----
1739
2482
  /** Start a session and return a handle over it. */
1740
2483
  async run(options) {
@@ -1754,6 +2497,12 @@ var EllipsisSupportSlack = class {
1754
2497
  transport;
1755
2498
  /**
1756
2499
  * Request Slack Help
2500
+ *
2501
+ * Required permissions: write:account.
2502
+ * API key: Requires a CLI user token.
2503
+ * CLI user token: Supported.
2504
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2505
+ * Higher permission levels include lower levels: read < write < delete.
1757
2506
  */
1758
2507
  async create(options) {
1759
2508
  const path = "/v1/support/slack";
@@ -1762,6 +2511,12 @@ var EllipsisSupportSlack = class {
1762
2511
  }
1763
2512
  /**
1764
2513
  * Get Slack Help
2514
+ *
2515
+ * Required permissions: read:account.
2516
+ * API key: Supported.
2517
+ * CLI user token: Supported.
2518
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2519
+ * Higher permission levels include lower levels: read < write < delete.
1765
2520
  */
1766
2521
  async get() {
1767
2522
  const path = "/v1/support/slack";
@@ -1769,6 +2524,12 @@ var EllipsisSupportSlack = class {
1769
2524
  }
1770
2525
  /**
1771
2526
  * Invite To Slack Help
2527
+ *
2528
+ * Required permissions: write:account.
2529
+ * API key: Requires a CLI user token.
2530
+ * CLI user token: Supported.
2531
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2532
+ * Higher permission levels include lower levels: read < write < delete.
1772
2533
  */
1773
2534
  async invite(options) {
1774
2535
  const path = "/v1/support/slack/invites";
@@ -1793,6 +2554,12 @@ var EllipsisTemplates = class {
1793
2554
  * Get Agent Template
1794
2555
  *
1795
2556
  * Return one built-in agent template by slug.
2557
+ *
2558
+ * Required permissions: read:templates.
2559
+ * API key: Supported.
2560
+ * CLI user token: Supported.
2561
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2562
+ * Higher permission levels include lower levels: read < write < delete.
1796
2563
  */
1797
2564
  async get(template_id) {
1798
2565
  const path = `/v1/templates/${enc(template_id)}`;
@@ -1805,6 +2572,12 @@ var EllipsisTemplates = class {
1805
2572
  *
1806
2573
  * Behind auth but not account-scoped — the data is static
1807
2574
  * product content shared by the dashboard, landing site, and CLI.
2575
+ *
2576
+ * Required permissions: read:templates.
2577
+ * API key: Supported.
2578
+ * CLI user token: Supported.
2579
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2580
+ * Higher permission levels include lower levels: read < write < delete.
1808
2581
  */
1809
2582
  async list() {
1810
2583
  const path = "/v1/templates";
@@ -1823,6 +2596,12 @@ var EllipsisUserSubscriptionTokens = class {
1823
2596
  *
1824
2597
  * Your sessions stop billing your subscription immediately, and the
1825
2598
  * usage reading goes with it — it described that token's plan.
2599
+ *
2600
+ * Required permissions: delete:user.
2601
+ * API key: Requires a CLI user token.
2602
+ * CLI user token: Supported.
2603
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2604
+ * Higher permission levels include lower levels: read < write < delete.
1826
2605
  */
1827
2606
  async delete(provider) {
1828
2607
  const path = `/v1/user/subscription_tokens/${enc(String(provider))}`;
@@ -1835,6 +2614,12 @@ var EllipsisUserSubscriptionTokens = class {
1835
2614
  *
1836
2615
  * `configured` is false when nothing is saved. The token itself is
1837
2616
  * never returned, only `token_last4`.
2617
+ *
2618
+ * Required permissions: read:user.
2619
+ * API key: Requires a CLI user token.
2620
+ * CLI user token: Supported.
2621
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2622
+ * Higher permission levels include lower levels: read < write < delete.
1838
2623
  */
1839
2624
  async get(provider) {
1840
2625
  const path = `/v1/user/subscription_tokens/${enc(String(provider))}`;
@@ -1848,6 +2633,12 @@ var EllipsisUserSubscriptionTokens = class {
1848
2633
  * One entry per supported provider, whether or not you have saved a
1849
2634
  * token for it. Tokens are write-only: the response carries only
1850
2635
  * `token_last4`, never the token.
2636
+ *
2637
+ * Required permissions: read:user.
2638
+ * API key: Requires a CLI user token.
2639
+ * CLI user token: Supported.
2640
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2641
+ * Higher permission levels include lower levels: read < write < delete.
1851
2642
  */
1852
2643
  async list() {
1853
2644
  const path = "/v1/user/subscription_tokens";
@@ -1863,6 +2654,12 @@ var EllipsisUserSubscriptionTokens = class {
1863
2654
  * succeeds. For Claude, use `claude setup-token`. For Codex, paste
1864
2655
  * the auth.json credentials from a ChatGPT login. Each subscription
1865
2656
  * pays only for models from its corresponding provider.
2657
+ *
2658
+ * Required permissions: write:user.
2659
+ * API key: Requires a CLI user token.
2660
+ * CLI user token: Supported.
2661
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2662
+ * Higher permission levels include lower levels: read < write < delete.
1866
2663
  */
1867
2664
  async set(provider, options) {
1868
2665
  const path = `/v1/user/subscription_tokens/${enc(String(provider))}`;
@@ -1879,6 +2676,12 @@ var EllipsisUserSubscriptionTokens = class {
1879
2676
  * real windows without us seeing them. Null unless a token is
1880
2677
  * enabled for the provider: a disabled token routes nothing, so any
1881
2678
  * reading behind it is stale by construction.
2679
+ *
2680
+ * Required permissions: read:user.
2681
+ * API key: Requires a CLI user token.
2682
+ * CLI user token: Supported.
2683
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2684
+ * Higher permission levels include lower levels: read < write < delete.
1882
2685
  */
1883
2686
  async usage(provider) {
1884
2687
  const path = `/v1/user/subscription_tokens/${enc(String(provider))}/usage`;
@@ -1895,6 +2698,12 @@ var EllipsisUserSubscriptionTokens = class {
1895
2698
  * token is how you stop it routing. A 200 with `ok: false` is the
1896
2699
  * normal way a bad token is reported — it is an answer, not a
1897
2700
  * transport failure.
2701
+ *
2702
+ * Required permissions: write:user.
2703
+ * API key: Requires a CLI user token.
2704
+ * CLI user token: Supported.
2705
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2706
+ * Higher permission levels include lower levels: read < write < delete.
1898
2707
  */
1899
2708
  async verify(provider) {
1900
2709
  const path = `/v1/user/subscription_tokens/${enc(String(provider))}/verify`;
@@ -1908,6 +2717,12 @@ var EllipsisUserTokens = class {
1908
2717
  transport;
1909
2718
  /**
1910
2719
  * List User Tokens
2720
+ *
2721
+ * Required permissions: read:user.
2722
+ * API key: Requires a CLI user token.
2723
+ * CLI user token: Supported.
2724
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2725
+ * Higher permission levels include lower levels: read < write < delete.
1911
2726
  */
1912
2727
  async list() {
1913
2728
  const path = "/v1/user/tokens";
@@ -1915,6 +2730,12 @@ var EllipsisUserTokens = class {
1915
2730
  }
1916
2731
  /**
1917
2732
  * Revoke User Token
2733
+ *
2734
+ * Required permissions: delete:user.
2735
+ * API key: Requires a CLI user token.
2736
+ * CLI user token: Supported.
2737
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2738
+ * Higher permission levels include lower levels: read < write < delete.
1918
2739
  */
1919
2740
  async revoke(token_id) {
1920
2741
  const path = `/v1/user/tokens/${enc(token_id)}`;
@@ -1931,6 +2752,129 @@ var EllipsisUser = class {
1931
2752
  subscriptionTokens;
1932
2753
  tokens;
1933
2754
  };
2755
+ var EllipsisVmExecutions = class {
2756
+ constructor(transport) {
2757
+ this.transport = transport;
2758
+ }
2759
+ transport;
2760
+ /**
2761
+ * Get Single Vm Execution
2762
+ *
2763
+ * Required permissions: read:environments.
2764
+ * API key: Supported.
2765
+ * CLI user token: Supported.
2766
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
2767
+ * Higher permission levels include lower levels: read < write < delete.
2768
+ */
2769
+ async get(vm_execution_id) {
2770
+ const path = `/v1/vm-executions/${enc(vm_execution_id)}`;
2771
+ return await this.transport.request("GET", path);
2772
+ }
2773
+ /**
2774
+ * Get Vm Executions
2775
+ *
2776
+ * Required permissions: read:environments.
2777
+ * API key: Supported.
2778
+ * CLI user token: Supported.
2779
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
2780
+ * Higher permission levels include lower levels: read < write < delete.
2781
+ */
2782
+ async list() {
2783
+ const path = "/v1/vm-executions";
2784
+ await this.transport.request("GET", path);
2785
+ }
2786
+ /**
2787
+ * Get Vm Execution Stream Ticket
2788
+ *
2789
+ * Required permissions: read:environments.
2790
+ * API key: Supported.
2791
+ * CLI user token: Supported.
2792
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
2793
+ * Higher permission levels include lower levels: read < write < delete.
2794
+ */
2795
+ async streamTicket(vm_execution_id) {
2796
+ const path = `/v1/vm-executions/${enc(vm_execution_id)}/stream-ticket`;
2797
+ return await this.transport.request("GET", path);
2798
+ }
2799
+ };
2800
+ var EllipsisVmImages = class {
2801
+ constructor(transport) {
2802
+ this.transport = transport;
2803
+ }
2804
+ transport;
2805
+ /**
2806
+ * Get Vm Image
2807
+ *
2808
+ * Get metadata for a reusable VM image.
2809
+ *
2810
+ * Required permissions: read:environments.
2811
+ * API key: Supported.
2812
+ * CLI user token: Supported.
2813
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2814
+ * Higher permission levels include lower levels: read < write < delete.
2815
+ */
2816
+ async get(image_id) {
2817
+ const path = `/v1/vm-images/${enc(image_id)}`;
2818
+ return await this.transport.request("GET", path);
2819
+ }
2820
+ /**
2821
+ * List Vm Images
2822
+ *
2823
+ * List reusable VM images.
2824
+ *
2825
+ * Includes expiration, repository revisions, and build identity.
2826
+ *
2827
+ * Required permissions: read:environments.
2828
+ * API key: Supported.
2829
+ * CLI user token: Supported.
2830
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2831
+ * Higher permission levels include lower levels: read < write < delete.
2832
+ */
2833
+ async list(options = {}) {
2834
+ const path = "/v1/vm-images";
2835
+ const query = buildQuery({ limit: options.limit, offset: options.offset });
2836
+ return await this.transport.request("GET", path, { query });
2837
+ }
2838
+ };
2839
+ var EllipsisVms = class {
2840
+ constructor(transport) {
2841
+ this.transport = transport;
2842
+ }
2843
+ transport;
2844
+ /**
2845
+ * Get Vm
2846
+ *
2847
+ * Get a VM and its most recent execution.
2848
+ *
2849
+ * Required permissions: read:environments.
2850
+ * API key: Supported.
2851
+ * CLI user token: Supported.
2852
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
2853
+ * Higher permission levels include lower levels: read < write < delete.
2854
+ */
2855
+ async get(vm_id) {
2856
+ const path = `/v1/vms/${enc(vm_id)}`;
2857
+ return await this.transport.request("GET", path);
2858
+ }
2859
+ /**
2860
+ * List Vms
2861
+ *
2862
+ * List VMs and their last recorded state.
2863
+ *
2864
+ * Each machine appears once, including paused and deleted VMs, newest execution first.
2865
+ *
2866
+ * Required permissions: read:environments.
2867
+ * API key: Supported.
2868
+ * CLI user token: Supported.
2869
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
2870
+ * Higher permission levels include lower levels: read < write < delete.
2871
+ */
2872
+ async list(options = {}) {
2873
+ const path = "/v1/vms";
2874
+ const query = buildQuery({ limit: options.limit, offset: options.offset });
2875
+ return await this.transport.request("GET", path, { query });
2876
+ }
2877
+ };
1934
2878
  var EllipsisWebhooksDeliveries = class {
1935
2879
  constructor(transport) {
1936
2880
  this.transport = transport;
@@ -1943,6 +2887,12 @@ var EllipsisWebhooksDeliveries = class {
1943
2887
  *
1944
2888
  * Payloads are immutable across retries. Attempt details include HTTP
1945
2889
  * status, timing, and errors. Response bodies are not retained.
2890
+ *
2891
+ * Required permissions: read:webhooks.
2892
+ * API key: Supported.
2893
+ * CLI user token: Supported.
2894
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2895
+ * Higher permission levels include lower levels: read < write < delete.
1946
2896
  */
1947
2897
  async get(delivery_id) {
1948
2898
  const path = `/v1/webhooks/deliveries/${enc(delivery_id)}`;
@@ -1955,6 +2905,12 @@ var EllipsisWebhooksDeliveries = class {
1955
2905
  *
1956
2906
  * Includes verification pings and deliveries for deleted webhooks.
1957
2907
  * History is retained for 30 days. Retries belong to the same delivery.
2908
+ *
2909
+ * Required permissions: read:webhooks.
2910
+ * API key: Supported.
2911
+ * CLI user token: Supported.
2912
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2913
+ * Higher permission levels include lower levels: read < write < delete.
1958
2914
  */
1959
2915
  async list(options = {}) {
1960
2916
  const path = "/v1/webhooks/deliveries";
@@ -1980,9 +2936,15 @@ var EllipsisWebhooks = class {
1980
2936
  * Create a webhook and send a verification ping.
1981
2937
  *
1982
2938
  * Save the signing secret from this response; it is returned once.
1983
- * Accounts can have three webhooks, including unverified and pending
1984
- * ones. A ping returning HTTP 200 moves unverified to pending. Contact
2939
+ * Accounts default to three webhook slots, including unverified and
2940
+ * pending ones; your account may have a custom allowance. A ping returning HTTP 200 moves unverified to pending. Contact
1985
2941
  * Ellipsis to activate it and receive session.create events.
2942
+ *
2943
+ * Required permissions: write:webhooks.
2944
+ * API key: Supported.
2945
+ * CLI user token: Supported.
2946
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2947
+ * Higher permission levels include lower levels: read < write < delete.
1986
2948
  */
1987
2949
  async create(options) {
1988
2950
  const path = "/v1/webhooks";
@@ -1995,7 +2957,13 @@ var EllipsisWebhooks = class {
1995
2957
  * Delete a webhook and cancel outstanding deliveries.
1996
2958
  *
1997
2959
  * An HTTP request already in flight may finish. Delivery history remains
1998
- * available for 30 days. Deletion frees one of the account's three slots.
2960
+ * available for 30 days. Deletion frees a webhook slot.
2961
+ *
2962
+ * Required permissions: delete:webhooks.
2963
+ * API key: Supported.
2964
+ * CLI user token: Supported.
2965
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2966
+ * Higher permission levels include lower levels: read < write < delete.
1999
2967
  */
2000
2968
  async delete(webhook_id) {
2001
2969
  const path = `/v1/webhooks/${enc(webhook_id)}`;
@@ -2005,6 +2973,12 @@ var EllipsisWebhooks = class {
2005
2973
  * Get Webhook
2006
2974
  *
2007
2975
  * Get a webhook's configuration and approval state.
2976
+ *
2977
+ * Required permissions: read:webhooks.
2978
+ * API key: Supported.
2979
+ * CLI user token: Supported.
2980
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2981
+ * Higher permission levels include lower levels: read < write < delete.
2008
2982
  */
2009
2983
  async get(webhook_id) {
2010
2984
  const path = `/v1/webhooks/${enc(webhook_id)}`;
@@ -2014,6 +2988,12 @@ var EllipsisWebhooks = class {
2014
2988
  * List Webhooks
2015
2989
  *
2016
2990
  * List your webhooks and their delivery summaries.
2991
+ *
2992
+ * Required permissions: read:webhooks.
2993
+ * API key: Supported.
2994
+ * CLI user token: Supported.
2995
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
2996
+ * Higher permission levels include lower levels: read < write < delete.
2017
2997
  */
2018
2998
  async list() {
2019
2999
  const path = "/v1/webhooks";
@@ -2025,8 +3005,15 @@ var EllipsisWebhooks = class {
2025
3005
  * Send a signed verification or test ping.
2026
3006
  *
2027
3007
  * Available in every state. Only HTTP 200 verifies a destination;
2028
- * successful pings never activate it. At most five pings per account
2029
- * per minute, including pings from creation and URL changes.
3008
+ * successful pings never activate it. The default limit is five pings per
3009
+ * account per minute, including creation and URL changes. Custom
3010
+ * account allowances apply.
3011
+ *
3012
+ * Required permissions: write:webhooks.
3013
+ * API key: Supported.
3014
+ * CLI user token: Supported.
3015
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
3016
+ * Higher permission levels include lower levels: read < write < delete.
2030
3017
  */
2031
3018
  async ping(webhook_id) {
2032
3019
  const path = `/v1/webhooks/${enc(webhook_id)}/ping`;
@@ -2040,6 +3027,12 @@ var EllipsisWebhooks = class {
2040
3027
  * Changing the URL cancels outstanding deliveries, clears verification
2041
3028
  * and approval, and sends another ping. State and signing secret cannot
2042
3029
  * be set here. Updating description or subscriptions preserves approval.
3030
+ *
3031
+ * Required permissions: write:webhooks.
3032
+ * API key: Supported.
3033
+ * CLI user token: Supported.
3034
+ * Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
3035
+ * Higher permission levels include lower levels: read < write < delete.
2043
3036
  */
2044
3037
  async update(webhook_id, options) {
2045
3038
  const path = `/v1/webhooks/${enc(webhook_id)}`;
@@ -2050,46 +3043,58 @@ var EllipsisWebhooks = class {
2050
3043
  var Ellipsis = class {
2051
3044
  transport;
2052
3045
  account;
3046
+ agents;
2053
3047
  alerts;
2054
3048
  analytics;
2055
3049
  auth;
2056
- automations;
2057
3050
  environments;
2058
3051
  files;
3052
+ handlers;
2059
3053
  integrations;
2060
3054
  memories;
2061
3055
  reviews;
2062
- sandboxes;
2063
3056
  secrets;
2064
3057
  sessions;
2065
3058
  support;
2066
3059
  templates;
2067
3060
  user;
3061
+ vmExecutions;
3062
+ vmImages;
3063
+ vms;
2068
3064
  webhooks;
2069
3065
  constructor(options) {
2070
3066
  this.transport = new Transport(options);
2071
3067
  this.account = new EllipsisAccount(this.transport);
3068
+ this.agents = new EllipsisAgents(this.transport);
2072
3069
  this.alerts = new EllipsisAlerts(this.transport);
2073
3070
  this.analytics = new EllipsisAnalytics(this.transport);
2074
3071
  this.auth = new EllipsisAuth(this.transport);
2075
- this.automations = new EllipsisAutomations(this.transport);
2076
3072
  this.environments = new EllipsisEnvironments(this.transport);
2077
3073
  this.files = new EllipsisFiles(this.transport);
3074
+ this.handlers = new EllipsisHandlers(this.transport);
2078
3075
  this.integrations = new EllipsisIntegrations(this.transport);
2079
3076
  this.memories = new EllipsisMemories(this.transport);
2080
3077
  this.reviews = new EllipsisReviews(this.transport);
2081
- this.sandboxes = new EllipsisSandboxes(this.transport);
2082
3078
  this.secrets = new EllipsisSecrets(this.transport);
2083
3079
  this.sessions = new EllipsisSessions(this.transport);
2084
3080
  this.support = new EllipsisSupport(this.transport);
2085
3081
  this.templates = new EllipsisTemplates(this.transport);
2086
3082
  this.user = new EllipsisUser(this.transport);
3083
+ this.vmExecutions = new EllipsisVmExecutions(this.transport);
3084
+ this.vmImages = new EllipsisVmImages(this.transport);
3085
+ this.vms = new EllipsisVms(this.transport);
2087
3086
  this.webhooks = new EllipsisWebhooks(this.transport);
2088
3087
  }
2089
3088
  /**
2090
3089
  * Current Identity
2091
3090
  *
2092
3091
  * Return the identity behind the caller's credential.
3092
+ *
3093
+ * Required permissions: read:account.
3094
+ * API key: Supported.
3095
+ * CLI user token: Supported.
3096
+ * Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
3097
+ * Higher permission levels include lower levels: read < write < delete.
2093
3098
  */
2094
3099
  async identity() {
2095
3100
  const path = "/v1/identity";