@ellipsis-dev/sdk 0.37.0 → 0.43.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.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { c as components } from './types-BXbnHOQe.js';
2
- export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCollabAgentToolCall, D as CodexCommandExecution, E as CodexCommandExecutionItem, F as CodexConfig, G as CodexContextCompaction, H as CodexEffortLevel, I as CodexErrorEvent, J as CodexErrorItem, K as CodexErrorParams, L as CodexEvent, M as CodexFileChange, N as CodexFileChangeItem, O as CodexFileUpdate, P as CodexItem, Q as CodexItemCompleted, R as CodexItemCompletedEvent, S as CodexItemParams, T as CodexItemStarted, U as CodexItemStartedEvent, V as CodexItemUpdatedEvent, W as CodexLocalImageInput, X as CodexMcpToolCall, Y as CodexMcpToolCallAppContext, Z as CodexMcpToolCallError, _ as CodexMcpToolCallItem, $ as CodexMcpToolCallResult, a0 as CodexPlan, a1 as CodexReasoning, a2 as CodexReasoningItem, a3 as CodexSessionRecord, a4 as CodexSubAgentActivity, a5 as CodexTextInput, a6 as CodexThread, a7 as CodexThreadStarted, a8 as CodexThreadStartedEvent, a9 as CodexThreadStartedParams, aa as CodexThreadTokenUsage, ab as CodexTodoListItem, ac as CodexTokenUsageBreakdown, ad as CodexTokenUsageParams, ae as CodexTokenUsageUpdated, af as CodexTurn, ag as CodexTurnCompleted, ah as CodexTurnCompletedEvent, ai as CodexTurnError, aj as CodexTurnFailedEvent, ak as CodexTurnParams, al as CodexTurnStarted, am as CodexTurnStartedEvent, an as CodexUsage, ao as CodexUserInput, ap as CodexUserMessage, aq as CodexWebSearch, ar as CodexWebSearchItem, as as ComputeConfig, at as ComputeConfig1, au as ConfigMetadata, av as Cost, aw as Cost1, ax as CronTrigger, ay as DeltaFrame, az as Duration, aA as EffortLevel, aB as EllipsisGrant, aC as EllipsisPermissions, aD as EnvironmentBaseBuild, aE as EnvironmentConfig, aF as EnvironmentHooks, aG as EnvironmentHooks1, aH as EnvironmentOutputPayload, aI as EnvironmentOutputRecord, aJ as EnvironmentPhasePayload, aK as EnvironmentPhaseRecord, aL as EnvironmentReadyPayload, aM as EnvironmentReadyRecord, aN as EnvironmentScript, aO as EnvironmentSource, aP as EnvironmentVariable, aQ as ErrorFrame, aR as ErrorReason, aS as GeminiConfig, aT as GeminiErrorEvent, aU as GeminiInitEvent, aV as GeminiMessageEvent, aW as GeminiModelStats, aX as GeminiResultEvent, aY as GeminiSessionRecord, aZ as GeminiStreamEvent, a_ as GeminiStreamStats, a$ as GeminiToolError, b0 as GeminiToolResultEvent, b1 as GeminiToolUseEvent, b2 as GithubAccountFilter, b3 as GithubAccountSelector, b4 as GithubAccountSnippet, b5 as GithubAccountType, b6 as GithubCheckRunEvent, b7 as GithubCheckSuiteEvent, b8 as GithubIssueEvent, b9 as GithubPermissions, ba as GithubPullRequestEvent, bb as GithubPushEvent, bc as GithubReleaseEvent, bd as GithubStatusEvent, be as GithubWorkflowRunEvent, bf as HandlerService, bg as HeartbeatFrame, bh as InputContract, bi as IssueAction, bj as LegacyAssistantPayload, bk as LegacyNativeUsage, bl as LegacyResultPayload, bm as Level, bn as LifecycleSessionRecord, bo as LinearIssueAction, bp as LinearIssueEvent, bq as LlmCost, br as LlmCostSplit, bs as McpRemoteServer, bt as McpServerRef, bu as McpStdioServer, bv as MemorySize, bw as MessageEndedPayload, bx as MessageEndedRecord, by as MessageQueuedPayload, bz as MessageQueuedRecord, bA as MessageRecord, bB as MessageRequeuedPayload, bC as MessageRequeuedRecord, bD as MessageStartedPayload, bE as MessageStartedRecord, bF as ModelLlmCostSplit, bG as ModelTokenCounts, bH as OutputConfig, bI as PermissionsConfig, bJ as PermissionsConfig1, bK as PlatformSessionRecord, bL as PromptBlockedReason, bM as PullRequestAction, bN as ReactCheckRun, bO as ReactCheckSuite, bP as ReactIssue, bQ as ReactLinearIssue, bR as ReactPullRequest, bS as ReactPush, bT as ReactRelease, bU as ReactSentry, bV as ReactSlackChannel, bW as ReactStatus, bX as ReactTrigger, bY as ReactWorkflowRun, bZ as RecordsFrame, b_ as ReleaseAction, b$ as RepositoryFilter, c0 as RepositoryRef, c1 as Review, c2 as ReviewComment, c3 as ReviewConfig, c4 as ReviewConfigsListResponse, c5 as ReviewPullRequest, c6 as ReviewPullRequestAuthor, c7 as ReviewReviewer, c8 as ReviewSummary, c9 as ReviewsListResponse, ca as SdkAssistantRecord, cb as SdkCacheCreation, cc as SdkContentBlock, cd as SdkRateLimitRecord, ce as SdkRecord, cf as SdkResultRecord, cg as SdkServerToolResultBlock, ch as SdkServerToolUseBlock, ci as SdkSystemRecord, cj as SdkTextBlock, ck as SdkThinkingBlock, cl as SdkToolResultBlock, cm as SdkToolUseBlock, cn as SdkUserRecord, co as SendSessionMessageRequest, cp as SentryAction, cq as SentryAlertEvent, cr as Session, cs as SessionAgent, ct as SessionArchived, cu as SessionAttribution, cv as SessionClosedPayload, cw as SessionClosedRecord, cx as SessionConfig, cy as SessionConversation, cz as SessionConversationConfig, cA as SessionEnvironment, cB as SessionError, cC as SessionEventActor, cD as SessionFrame, cE as SessionGit, cF as SessionGitCommit, cG as SessionGitFile, cH as SessionGitPr, cI as SessionGitRepo, cJ as SessionHandler, cK as SessionMessage, cL as SessionMessageImage, cM as SessionMessageResponse, cN as SessionOutput, cO as SessionParent, cP as SessionPrompting, cQ as SessionRecord, cR as SessionRecordsListResponse, cS as SessionResponse, cT as SessionSource, cU as SessionStatus, cV as SessionStreamFrame, cW as SessionSummary, cX as SessionsListResponse, cY as SettingsRef, cZ as SkillRef, c_ as SlackChannelCreatedEvent, c$ as SlackMessageEvent, d0 as StatusAction, d1 as StreamFrame, d2 as TokenCounts, d3 as Tokens, d4 as Tokens1, d5 as TokensInfo, d6 as UnknownSessionRecord, d7 as UpdateSessionRequest, d8 as WorkflowRunAction, d9 as paths } from './types-BXbnHOQe.js';
1
+ import { c as components } from './types-BAJ82SH6.js';
2
+ export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCollabAgentToolCall, D as CodexCommandExecution, E as CodexCommandExecutionItem, F as CodexConfig, G as CodexContextCompaction, H as CodexEffortLevel, I as CodexErrorEvent, J as CodexErrorItem, K as CodexErrorParams, L as CodexEvent, M as CodexFileChange, N as CodexFileChangeItem, O as CodexFileUpdate, P as CodexItem, Q as CodexItemCompleted, R as CodexItemCompletedEvent, S as CodexItemParams, T as CodexItemStarted, U as CodexItemStartedEvent, V as CodexItemUpdatedEvent, W as CodexLocalImageInput, X as CodexMcpToolCall, Y as CodexMcpToolCallAppContext, Z as CodexMcpToolCallError, _ as CodexMcpToolCallItem, $ as CodexMcpToolCallResult, a0 as CodexPlan, a1 as CodexReasoning, a2 as CodexReasoningItem, a3 as CodexSessionRecord, a4 as CodexSubAgentActivity, a5 as CodexTextInput, a6 as CodexThread, a7 as CodexThreadStarted, a8 as CodexThreadStartedEvent, a9 as CodexThreadStartedParams, aa as CodexThreadTokenUsage, ab as CodexTodoListItem, ac as CodexTokenUsageBreakdown, ad as CodexTokenUsageParams, ae as CodexTokenUsageUpdated, af as CodexTurn, ag as CodexTurnCompleted, ah as CodexTurnCompletedEvent, ai as CodexTurnError, aj as CodexTurnFailedEvent, ak as CodexTurnParams, al as CodexTurnStarted, am as CodexTurnStartedEvent, an as CodexUsage, ao as CodexUserInput, ap as CodexUserMessage, aq as CodexWebSearch, ar as CodexWebSearchItem, as as ComputeConfig, at as ComputeConfig1, au as ConfigMetadata, av as Cost, aw as Cost1, ax as CronTrigger, ay as DeltaFrame, az as Duration, aA as EffortLevel, aB as EllipsisGrant, aC as EllipsisPermissions, aD as EnvironmentBaseBuild, aE as EnvironmentConfig, aF as EnvironmentHooks, aG as EnvironmentHooks1, aH as EnvironmentOutputPayload, aI as EnvironmentOutputRecord, aJ as EnvironmentPhasePayload, aK as EnvironmentPhaseRecord, aL as EnvironmentReadyPayload, aM as EnvironmentReadyRecord, aN as EnvironmentScript, aO as EnvironmentSource, aP as EnvironmentVariable, aQ as ErrorFrame, aR as ErrorReason, aS as GeminiConfig, aT as GeminiErrorEvent, aU as GeminiInitEvent, aV as GeminiMessageEvent, aW as GeminiModelStats, aX as GeminiResultEvent, aY as GeminiSessionRecord, aZ as GeminiStreamEvent, a_ as GeminiStreamStats, a$ as GeminiToolError, b0 as GeminiToolResultEvent, b1 as GeminiToolUseEvent, b2 as GithubAccountFilter, b3 as GithubAccountSelector, b4 as GithubAccountSnippet, b5 as GithubAccountType, b6 as GithubCheckRunEvent, b7 as GithubCheckSuiteEvent, b8 as GithubIssueEvent, b9 as GithubPermissions, ba as GithubPullRequestEvent, bb as GithubPushEvent, bc as GithubReleaseEvent, bd as GithubStatusEvent, be as GithubWorkflowRunEvent, bf as HandlerService, bg as HeartbeatFrame, bh as InputContract, bi as IssueAction, bj as LegacyAssistantPayload, bk as LegacyNativeUsage, bl as LegacyResultPayload, bm as Level, bn as LifecycleSessionRecord, bo as LinearIssueAction, bp as LinearIssueChanged, bq as LinearIssueEvent, br as LinearLabelsChange, bs as LinearValueChange, bt as LinearValueFilter, bu as LlmCost, bv as LlmCostSplit, bw as McpRemoteServer, bx as McpServerRef, by as McpStdioServer, bz as MemorySize, bA as MessageEndedPayload, bB as MessageEndedRecord, bC as MessageQueuedPayload, bD as MessageQueuedRecord, bE as MessageRecord, bF as MessageRequeuedPayload, bG as MessageRequeuedRecord, bH as MessageStartedPayload, bI as MessageStartedRecord, bJ as ModelLlmCostSplit, bK as ModelTokenCounts, bL as OutputConfig, bM as PermissionsConfig, bN as PermissionsConfig1, bO as PlatformSessionRecord, bP as PromptBlockedReason, bQ as PullRequest, bR as PullRequestAction, bS as ReactCheckRun, bT as ReactCheckSuite, bU as ReactIssue, bV as ReactLinearIssue, bW as ReactPullRequest, bX as ReactPush, bY as ReactRelease, bZ as ReactSentry, b_ as ReactSlackChannel, b$ as ReactStatus, c0 as ReactTrigger, c1 as ReactWorkflowRun, c2 as RecordsFrame, c3 as ReleaseAction, c4 as RepositoryFilter, c5 as RepositoryRef, c6 as Review, c7 as ReviewComment, c8 as ReviewConfig, c9 as ReviewConfigsListResponse, ca as ReviewReviewer, cb as ReviewSummary, cc as ReviewsListResponse, cd as SdkAssistantRecord, ce as SdkCacheCreation, cf as SdkContentBlock, cg as SdkRateLimitRecord, ch as SdkRecord, ci as SdkResultRecord, cj as SdkServerToolResultBlock, ck as SdkServerToolUseBlock, cl as SdkSystemRecord, cm as SdkTextBlock, cn as SdkThinkingBlock, co as SdkToolResultBlock, cp as SdkToolUseBlock, cq as SdkUserRecord, cr as SendSessionMessageRequest, cs as SentryAction, ct as SentryAlertEvent, cu as Session, cv as SessionAgent, cw as SessionArchived, cx as SessionAttribution, cy as SessionClosedPayload, cz as SessionClosedRecord, cA as SessionConfig, cB as SessionConversation, cC as SessionConversationConfig, cD as SessionEnvironment, cE as SessionError, cF as SessionEventActor, cG as SessionFrame, cH as SessionGit, cI as SessionGitCommit, cJ as SessionGitFile, cK as SessionGitPr, cL as SessionGitRepo, cM as SessionHandler, cN as SessionMessage, cO as SessionMessageImage, cP as SessionMessageResponse, cQ as SessionOutput, cR as SessionParent, cS as SessionPrompting, cT as SessionRecord, cU as SessionRecordsListResponse, cV as SessionResponse, cW as SessionReview, cX as SessionSource, cY as SessionStatus, cZ as SessionStreamFrame, c_ as SessionSummary, c$ as SessionSummarySource, d0 as SessionsListResponse, d1 as SettingsRef, d2 as SkillRef, d3 as SlackChannelCreatedEvent, d4 as SlackMessageEvent, d5 as StatusAction, d6 as StreamFrame, d7 as TokenCounts, d8 as Tokens, d9 as Tokens1, da as TokensInfo, db as UnknownSessionRecord, dc as UpdateSessionRequest, dd as WorkflowRunAction, de as paths } from './types-BAJ82SH6.js';
3
3
 
4
4
  /**
5
5
  * Frames on /v1/sessions/stream, /v1/agents/stream and /v1/vm-executions/{id}/stream. Ignore unknown frame types.
@@ -17,7 +17,7 @@ type Session = {
17
17
  */
18
18
  agent: SessionAgent | null;
19
19
  /**
20
- * When and by whom the session was archived; null when unarchived. Archiving does not stop or close a session.
20
+ * When and by whom the session was archived, or null when it isn't. A session is archived when it closes, after the account's archive_inactive_sessions_days without a message, or by PUT /v1/sessions/{id}. An archived session takes no messages, and a reply on the Slack thread, pull request, issue, or Linear issue it answers starts a new session.
21
21
  */
22
22
  archived: SessionArchived | null;
23
23
  attribution: SessionAttribution;
@@ -33,6 +33,10 @@ type Session = {
33
33
  * Codex input and native options. Set exactly one of claude_code, codex, or gemini.
34
34
  */
35
35
  codex: CodexConfig | null;
36
+ /**
37
+ * When session log retention deleted the session's records, messages, and prompt, or null. The session's status, cost, tokens, and summary stay.
38
+ */
39
+ content_deleted_at: string | null;
36
40
  conversation: SessionConversation;
37
41
  cost: Cost;
38
42
  /**
@@ -79,6 +83,10 @@ type Session = {
79
83
  */
80
84
  parent: SessionParent | null;
81
85
  permissions: PermissionsConfig1;
86
+ /**
87
+ * The code review this session ran for; null unless the source is `code_review`.
88
+ */
89
+ review: SessionReview | null;
82
90
  /**
83
91
  * Skills installed for this session.
84
92
  */
@@ -94,6 +102,10 @@ type Session = {
94
102
  * When the session was last updated.
95
103
  */
96
104
  updated_at: string;
105
+ /**
106
+ * Milliseconds from when the session was created to when it started, including any time it waited because your account already had its limit of sessions alive. Null until the session starts, and for sessions created before this field was added.
107
+ */
108
+ wait_ms: number | null;
97
109
  } & ({
98
110
  claude_code: {
99
111
  [k: string]: unknown;
@@ -195,7 +207,11 @@ type RepositoryFilter = {
195
207
  */
196
208
  type CheckSuiteAction = 'passed' | 'failed' | 'timed_out' | 'cancelled' | 'skipped' | 'neutral' | 'action_required' | 'stale' | 'startup_failure';
197
209
  type IssueAction = 'opened' | 'closed' | 'commented';
198
- type LinearIssueAction = 'opened';
210
+ type LinearValueFilter = {
211
+ exclude: string[];
212
+ include: string[];
213
+ } | string[] | string;
214
+ type LinearIssueAction = 'opened' | 'updated';
199
215
  type PullRequestAction = 'opened' | 'pushed' | 'merged' | 'closed' | 'review_submitted' | 'commented';
200
216
  /**
201
217
  * What happened to a GitHub release. `published` is the one moment a
@@ -217,7 +233,7 @@ type AttributionType = 'github_user' | 'linear_user' | 'slack_user' | 'api_key';
217
233
  /**
218
234
  * Why direct prompting is refused. Absent when prompting is allowed.
219
235
  */
220
- type PromptBlockedReason = 'mention_surface' | 'non_interactive' | 'harness_single_turn' | 'budget_exhausted' | 'closed';
236
+ type PromptBlockedReason = 'mention_surface' | 'non_interactive' | 'harness_single_turn' | 'budget_exhausted' | 'closed' | 'archived';
221
237
  /**
222
238
  * How a session's environment was chosen. None (the field is nullable)
223
239
  * when the config carried an inline environment block and no resolution ran —
@@ -243,6 +259,10 @@ type SessionSource = 'react' | 'code_review' | 'web' | 'api' | 'cli' | 'mention'
243
259
  * Where the session is. A message you sent is answered once the status is `idle` or `closed`; its `message_ended` record in GET /v1/sessions/{id}/records says how.
244
260
  */
245
261
  type SessionStatus = 'queued' | 'preparing' | 'running' | 'idle' | 'closed';
262
+ /**
263
+ * Where this summary came from. `prompt` is the first line of the prompt the session started with, `generated` is written by Ellipsis as the session runs, and `user` was set by a person and is never replaced by a generated one.
264
+ */
265
+ type SessionSummarySource = 'prompt' | 'generated' | 'user';
246
266
  /**
247
267
  * Which writer owns this agent. "github" agents are defined by a file in a repository and are changed by editing that file; "api" agents have no file and are changed through this API.
248
268
  */
@@ -774,9 +794,53 @@ interface ReactIssue {
774
794
  on: IssueAction[];
775
795
  repositories: RepositoryFilter;
776
796
  }
797
+ /**
798
+ * A Linear issue being created (`opened`) or changed (`updated`). An
799
+ * `updated` event fires only when every field under `changed` changed in
800
+ * one edit. `team`, `state`, `labels`, `project`, `assignee`, and
801
+ * `priority` filter on the issue as it is after the event. `state` matches
802
+ * a status name or a status type. `for` is the person who created or
803
+ * changed the issue.
804
+ */
777
805
  interface ReactLinearIssue {
806
+ assignee: LinearValueFilter | null;
807
+ changed: LinearIssueChanged | null;
778
808
  for: GithubAccountSelector;
809
+ labels: LinearValueFilter | null;
779
810
  on: LinearIssueAction[];
811
+ priority: LinearValueFilter | null;
812
+ project: LinearValueFilter | null;
813
+ state: LinearValueFilter | null;
814
+ team: LinearValueFilter | null;
815
+ }
816
+ /**
817
+ * The fields an `updated` event watches. Every listed field must change in
818
+ * the same edit.
819
+ */
820
+ interface LinearIssueChanged {
821
+ assignee: LinearValueChange | null;
822
+ labels: LinearLabelsChange | null;
823
+ priority: LinearValueChange | null;
824
+ project: LinearValueChange | null;
825
+ state: LinearValueChange | null;
826
+ }
827
+ /**
828
+ * A change to one issue field. `from` matches the value before the change
829
+ * and `to` the value after it. Leaving either out matches any value, so `{}`
830
+ * is any change to the field.
831
+ */
832
+ interface LinearValueChange {
833
+ from: LinearValueFilter | null;
834
+ to: LinearValueFilter | null;
835
+ }
836
+ /**
837
+ * A change to the issue's labels. `added` matches when a listed label was
838
+ * added and `removed` when a listed label was removed. `{}` is any label
839
+ * change.
840
+ */
841
+ interface LinearLabelsChange {
842
+ added: LinearValueFilter | null;
843
+ removed: LinearValueFilter | null;
780
844
  }
781
845
  interface ReactPullRequest {
782
846
  base: string[];
@@ -847,6 +911,10 @@ interface SessionArchived {
847
911
  * The GitHub user who archived the session; null if unknown or unavailable.
848
912
  */
849
913
  by: GithubAccountSnippet | null;
914
+ /**
915
+ * When the session's records and messages are deleted, from the account's current session log retention. It moves when the retention changes. Null when the account keeps them or they're already deleted.
916
+ */
917
+ deletes_at: string | null;
850
918
  }
851
919
  /**
852
920
  * Sometimes the GitHub API returns a user of github (can include bots)
@@ -1316,6 +1384,15 @@ interface PermissionsConfig1 {
1316
1384
  ellipsis: (true | 'all') | EllipsisPermissions;
1317
1385
  github: GithubPermissions;
1318
1386
  }
1387
+ /**
1388
+ * The code review a reviewer session ran for.
1389
+ */
1390
+ interface SessionReview {
1391
+ /**
1392
+ * Identifier of the code review.
1393
+ */
1394
+ id: string;
1395
+ }
1319
1396
  /**
1320
1397
  * A live one-line summary of what the session is doing, refreshed
1321
1398
  * every few steps while it runs.
@@ -1329,6 +1406,7 @@ interface SessionSummary {
1329
1406
  * One-line description of what the session is doing.
1330
1407
  */
1331
1408
  description: string;
1409
+ source: SessionSummarySource;
1332
1410
  }
1333
1411
  /**
1334
1412
  * The tokens the session has used so far.
@@ -1698,6 +1776,31 @@ declare class EllipsisAccountApiKeys {
1698
1776
  */
1699
1777
  revoke(id: string): Promise<S['TokenRevokedResponse']>;
1700
1778
  }
1779
+ declare class EllipsisAccountApiRequests {
1780
+ private readonly transport;
1781
+ constructor(transport: Transport);
1782
+ /**
1783
+ * List Api Requests
1784
+ *
1785
+ * List requests made to the API with API keys, user tokens, and session tokens, newest first.
1786
+ *
1787
+ * Required permissions: read:account.
1788
+ * API key: Supported.
1789
+ * CLI user token: Supported.
1790
+ * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1791
+ * Higher permission levels include lower levels: read < write < delete.
1792
+ */
1793
+ list(options?: {
1794
+ start?: string | null;
1795
+ end?: string | null;
1796
+ operation?: (string)[] | null;
1797
+ status_code?: (number)[] | null;
1798
+ credential_type?: (S['ApiRequestCredentialType'])[] | null;
1799
+ credential_id?: (string)[] | null;
1800
+ limit?: number;
1801
+ cursor?: string | null;
1802
+ }): Promise<Page<S['ApiRequest'], S['ApiRequestsListResponse']>>;
1803
+ }
1701
1804
  declare class EllipsisAccountBillingAutoRecharge {
1702
1805
  private readonly transport;
1703
1806
  constructor(transport: Transport);
@@ -1716,83 +1819,11 @@ declare class EllipsisAccountBillingAutoRecharge {
1716
1819
  * Higher permission levels include lower levels: read < write < delete.
1717
1820
  */
1718
1821
  get(): Promise<S['AutoRechargeSettings']>;
1719
- /**
1720
- * Update Auto Recharge
1721
- *
1722
- * Set your automatic credit recharge policy.
1723
- *
1724
- * Requires a human account administrator; API keys and session tokens
1725
- * cannot change this policy. Supply enabled explicitly. Saving amounts
1726
- * with enabled=false keeps recharge off; enabling requires a saved card.
1727
- * A recharge buys `amount` of credit and charges the platform fee in
1728
- * addition. Amounts and thresholds are millicents in whole cents.
1729
- *
1730
- * Required permissions: write:account.
1731
- * API key: Requires a CLI user token belonging to an account administrator.
1732
- * CLI user token: Requires an account administrator.
1733
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1734
- * Higher permission levels include lower levels: read < write < delete.
1735
- */
1736
- set(options: {
1737
- amount: number;
1738
- enabled: boolean;
1739
- threshold: number;
1740
- }): Promise<S['AutoRechargeSettings']>;
1741
1822
  }
1742
1823
  declare class EllipsisAccountBilling {
1743
1824
  private readonly transport;
1744
1825
  readonly autoRecharge: EllipsisAccountBillingAutoRecharge;
1745
1826
  constructor(transport: Transport);
1746
- /**
1747
- * Create Card Setup Session
1748
- *
1749
- * Save a card through Stripe's hosted setup flow.
1750
- *
1751
- * Requires a human account administrator. Open the returned URL to
1752
- * finish setup and return to Billing. Saving a card does not enable
1753
- * auto-recharge or buy credit.
1754
- *
1755
- * Required permissions: write:account.
1756
- * API key: Requires a CLI user token belonging to an account administrator.
1757
- * CLI user token: Requires an account administrator.
1758
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1759
- * Higher permission levels include lower levels: read < write < delete.
1760
- */
1761
- cardSetup(): Promise<S['BillingCheckout']>;
1762
- /**
1763
- * Create Credit Checkout Session
1764
- *
1765
- * Buy prepaid credit through Stripe's hosted checkout.
1766
- *
1767
- * Requires a human account administrator. Open the returned URL to
1768
- * complete payment. Credit is granted only after payment succeeds;
1769
- * the platform fee is charged in addition to `amount`. Returning
1770
- * to Billing carries the checkout session ID for receipt lookup.
1771
- *
1772
- * Required permissions: write:account.
1773
- * API key: Requires a CLI user token belonging to an account administrator.
1774
- * CLI user token: Requires an account administrator.
1775
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1776
- * Higher permission levels include lower levels: read < write < delete.
1777
- */
1778
- checkout(options: {
1779
- amount: number;
1780
- }): Promise<S['BillingCheckout']>;
1781
- /**
1782
- * Claim Signup Credit
1783
- *
1784
- * The "Claim $100" button. Runs the same idempotent billing
1785
- * bootstrap that otherwise fires lazily at the first session (Stripe
1786
- * customer + usage subscription + the signup grant). A repeat call is
1787
- * a no-op that returns the current state.
1788
- *
1789
- * Required permissions: write:account.
1790
- * API key: Supported.
1791
- * CLI user token: Supported.
1792
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1793
- * Higher permission levels include lower levels: read < write < delete.
1794
- */
1795
- claimSignupCredit(): Promise<S['BillingStatus']>;
1796
1827
  /**
1797
1828
  * Get Fee Schedule
1798
1829
  *
@@ -1890,67 +1921,6 @@ declare class EllipsisAccountModels {
1890
1921
  */
1891
1922
  list(): Promise<S['ModelsListResponse']>;
1892
1923
  }
1893
- declare class EllipsisAccountNotifications {
1894
- private readonly transport;
1895
- constructor(transport: Transport);
1896
- /**
1897
- * Send Test Notification Email
1898
- *
1899
- * Send the alert email template to one address with sample data,
1900
- * so a typo'd finance alias is caught by a human instead of failing
1901
- * silently when a real alert fires.
1902
- *
1903
- * Required permissions: write:account.
1904
- * API key: Supported.
1905
- * CLI user token: Supported.
1906
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1907
- * Higher permission levels include lower levels: read < write < delete.
1908
- */
1909
- testEmail(options: {
1910
- email: string;
1911
- }): Promise<S['AccountActionResponse']>;
1912
- }
1913
- declare class EllipsisAccountOnboarding {
1914
- private readonly transport;
1915
- constructor(transport: Transport);
1916
- /**
1917
- * Get Account Onboarding
1918
- *
1919
- * Read the account's saved onboarding answers, or null before setup.
1920
- *
1921
- * Required permissions: read:account.
1922
- * API key: Supported.
1923
- * CLI user token: Supported.
1924
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
1925
- * Higher permission levels include lower levels: read < write < delete.
1926
- */
1927
- get(): Promise<S['AccountOnboardingResponse']>;
1928
- /**
1929
- * Update Account Onboarding
1930
- *
1931
- * Save supplied onboarding answers, preserving omitted answers.
1932
- *
1933
- * Organizations can save their work email before selecting use cases.
1934
- * Saving use cases requires a valid organization work email and at
1935
- * least one choice. When Other is the only choice, describe it.
1936
- * Personal accounts save a null work email. This does not change the
1937
- * billing contact email. Session tokens cannot update answers.
1938
- * Supplying an organization work email requires a human user and sends
1939
- * a Slack Connect invitation. Slack failures do not undo saved answers.
1940
- *
1941
- * Required permissions: write:account.
1942
- * API key: Supported.
1943
- * CLI user token: Supported.
1944
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
1945
- * Higher permission levels include lower levels: read < write < delete.
1946
- */
1947
- update(options?: {
1948
- finished?: boolean;
1949
- other_use_case?: string | null;
1950
- use_cases?: (S['AccountOnboardingUseCase'])[];
1951
- work_email?: string | null;
1952
- }): Promise<S['AccountOnboardingResponse']>;
1953
- }
1954
1924
  declare class EllipsisAccountSettings {
1955
1925
  private readonly transport;
1956
1926
  constructor(transport: Transport);
@@ -2012,10 +1982,9 @@ declare class EllipsisAccountSettings {
2012
1982
  declare class EllipsisAccount {
2013
1983
  private readonly transport;
2014
1984
  readonly apiKeys: EllipsisAccountApiKeys;
1985
+ readonly apiRequests: EllipsisAccountApiRequests;
2015
1986
  readonly billing: EllipsisAccountBilling;
2016
1987
  readonly models: EllipsisAccountModels;
2017
- readonly notifications: EllipsisAccountNotifications;
2018
- readonly onboarding: EllipsisAccountOnboarding;
2019
1988
  readonly settings: EllipsisAccountSettings;
2020
1989
  constructor(transport: Transport);
2021
1990
  /**
@@ -2205,13 +2174,14 @@ declare class EllipsisAgents {
2205
2174
  /**
2206
2175
  * Get Agent Metrics
2207
2176
  *
2208
- * Return an agent's session distribution and trailing spend,
2209
- * by id or by name.
2177
+ * Return an agent's session distribution, trailing spend, and
2178
+ * usage over a window, by id or by name.
2210
2179
  *
2211
2180
  * `samples` carries one entry per finished session (duration, cost,
2212
2181
  * tokens) for distributions; `spend_windows` carries what the
2213
2182
  * agent's sessions cost over the last 1, 7, and 28 days against
2214
- * its budget for each window.
2183
+ * its budget for each window; `buckets` splits start to end by
2184
+ * `interval`, chosen from the window's length.
2215
2185
  *
2216
2186
  * Required permissions: read:configs.
2217
2187
  * API key: Supported.
@@ -2220,7 +2190,10 @@ declare class EllipsisAgents {
2220
2190
  * Higher permission levels include lower levels: read < write < delete.
2221
2191
  * Grant match patterns can further restrict access to individual resources.
2222
2192
  */
2223
- metrics(id: string): Promise<S['AgentMetricsResponse']>;
2193
+ metrics(id: string, options: {
2194
+ start: string;
2195
+ end: string;
2196
+ }): Promise<S['AgentMetricsResponse']>;
2224
2197
  /**
2225
2198
  * Start Agent Session
2226
2199
  *
@@ -2363,90 +2336,6 @@ declare class EllipsisAlerts {
2363
2336
  cursor?: string | null;
2364
2337
  }): Promise<Page<S['Alert'], S['AlertsListResponse']>>;
2365
2338
  }
2366
- declare class EllipsisAnalytics {
2367
- private readonly transport;
2368
- constructor(transport: Transport);
2369
- /**
2370
- * Get Analytics Metrics
2371
- *
2372
- * Return PR and review analytics metrics.
2373
- *
2374
- * The same data as the analytics dashboard.
2375
- *
2376
- * Windowing: pass explicit start/end, or days (default: the last
2377
- * 30 days). `interval` names the width of each entry in `series`,
2378
- * chosen from the window's length. account_type in all|user|bot
2379
- * scopes the authors (bot = the apps/agents). Available to all
2380
- * credential types: the responses expose the organization's own
2381
- * GitHub PR/review activity, no secrets.
2382
- *
2383
- * Required permissions: read:account.
2384
- * API key: Supported.
2385
- * CLI user token: Supported.
2386
- * Session 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
- */
2389
- metrics(options?: {
2390
- days?: number | null;
2391
- start?: string | null;
2392
- end?: string | null;
2393
- repo?: (string)[] | null;
2394
- author?: (string)[] | null;
2395
- account_type?: string;
2396
- status?: (string)[] | null;
2397
- }): Promise<S['GetAnalyticsMetricsResponse']>;
2398
- /**
2399
- * Get Analytics Pull Requests
2400
- *
2401
- * Return pull-request analytics.
2402
- *
2403
- * Windowing: pass explicit start/end, or days (default: the last
2404
- * 30 days). `interval` names the width of each entry in `series`,
2405
- * chosen from the window's length. account_type in all|user|bot
2406
- * scopes the authors.
2407
- *
2408
- * Required permissions: read:account.
2409
- * API key: Supported.
2410
- * CLI user token: Supported.
2411
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2412
- * Higher permission levels include lower levels: read < write < delete.
2413
- */
2414
- pullRequests(options?: {
2415
- days?: number | null;
2416
- start?: string | null;
2417
- end?: string | null;
2418
- repo?: (string)[] | null;
2419
- author?: (string)[] | null;
2420
- account_type?: string;
2421
- status?: (string)[] | null;
2422
- }): Promise<S['GetAnalyticsPullRequestsResponse']>;
2423
- /**
2424
- * Get Analytics Reviews
2425
- *
2426
- * Return pull request review analytics.
2427
- *
2428
- * account_type scopes reviewers (bot|user|all) — e.g. "what apps
2429
- * review the most PRs?" is the reviewer facets here with
2430
- * account_type=bot. Windowing: pass explicit start/end, or days
2431
- * (default: the last 30 days). `interval` names the width of each
2432
- * entry in `series`, chosen from the window's length.
2433
- *
2434
- * Required permissions: read:account.
2435
- * API key: Supported.
2436
- * CLI user token: Supported.
2437
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
2438
- * Higher permission levels include lower levels: read < write < delete.
2439
- */
2440
- reviews(options?: {
2441
- days?: number | null;
2442
- start?: string | null;
2443
- end?: string | null;
2444
- repo?: (string)[] | null;
2445
- author?: (string)[] | null;
2446
- account_type?: string;
2447
- review_state?: (string)[] | null;
2448
- }): Promise<S['GetAnalyticsReviewsResponse']>;
2449
- }
2450
2339
  declare class EllipsisAuthCli {
2451
2340
  private readonly transport;
2452
2341
  constructor(transport: Transport);
@@ -2592,8 +2481,8 @@ declare class EllipsisHandlers {
2592
2481
  *
2593
2482
  * Return session counts and accumulated spend for a saved handler.
2594
2483
  *
2595
- * Filters only by session creation time. Omitted bounds include all
2596
- * history. Counts use the current turn and conversation state, so an open
2484
+ * Filters only by session creation time. `buckets` splits the window
2485
+ * by `interval`, chosen from the window's length. Counts use the current turn and conversation state, so an open
2597
2486
  * conversation awaiting another message remains active. Spend includes the selected sessions' full
2598
2487
  * accumulated cost, including activity after the creation-time window.
2599
2488
  * Only sessions carrying this exact saved handler id are counted;
@@ -2614,9 +2503,9 @@ declare class EllipsisHandlers {
2614
2503
  * Higher permission levels include lower levels: read < write < delete.
2615
2504
  * Grant match patterns can further restrict access to individual resources.
2616
2505
  */
2617
- metrics(id: string, options?: {
2618
- start?: string | null;
2619
- end?: string | null;
2506
+ metrics(id: string, options: {
2507
+ start: string;
2508
+ end: string;
2620
2509
  }): Promise<S['HandlerMetricsResponse']>;
2621
2510
  }
2622
2511
  declare class EllipsisIntegrationsGithub {
@@ -2745,16 +2634,6 @@ declare class EllipsisIntegrationsSlack {
2745
2634
  * Higher permission levels include lower levels: read < write < delete.
2746
2635
  */
2747
2636
  channels(): Promise<S['SlackChannelsListResponse']>;
2748
- /**
2749
- * Create Operations Channel
2750
- *
2751
- * Required permissions: write:integrations.
2752
- * API key: Supported.
2753
- * CLI user token: Supported.
2754
- * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
2755
- * Higher permission levels include lower levels: read < write < delete.
2756
- */
2757
- createOperationsChannel(): Promise<S['SlackChannel']>;
2758
2637
  /**
2759
2638
  * Delete Slack Integration
2760
2639
  *
@@ -3017,27 +2896,20 @@ declare class EllipsisSessions {
3017
2896
  */
3018
2897
  git(id: string): Promise<S['SessionGitResponse']>;
3019
2898
  /**
3020
- * Ingest Session Transcript
2899
+ * Get Session Image
3021
2900
  *
3022
- * Append transcript lines to a session's record.
2901
+ * Return an image sent with a message to the session.
3023
2902
  *
3024
- * The transcript tailer running inside the session's environment, for
3025
- * interactive sessions.
2903
+ * Each message lists its images, with their IDs, in `images`.
3026
2904
  *
3027
- * A session token may only push its own session's transcript.
3028
- * Idempotent by transcript line uuid; tolerant of malformed lines.
3029
- *
3030
- * Required permissions: write:sessions.
2905
+ * Required permissions: read:sessions.
3031
2906
  * API key: Supported.
3032
2907
  * CLI user token: Supported.
3033
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
2908
+ * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
3034
2909
  * Higher permission levels include lower levels: read < write < delete.
3035
2910
  * Grant match patterns can further restrict access to individual resources.
3036
2911
  */
3037
- ingestTranscript(id: string, options: {
3038
- lines: (string)[];
3039
- offset?: number;
3040
- }): Promise<S['TranscriptIngestResult']>;
2912
+ image(session_id: string, id: string): Promise<S['ImageAttachment']>;
3041
2913
  /**
3042
2914
  * List Sessions
3043
2915
  *
@@ -3106,38 +2978,13 @@ declare class EllipsisSessions {
3106
2978
  limit?: number | null;
3107
2979
  message_id?: string | null;
3108
2980
  }): Promise<Page<S['SessionRecord'], S['SessionRecordsListResponse']>>;
3109
- /**
3110
- * Search Sessions
3111
- *
3112
- * Required permissions: read:sessions.
3113
- * API key: Supported.
3114
- * CLI user token: Supported.
3115
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
3116
- * Higher permission levels include lower levels: read < write < delete.
3117
- * Grant match patterns can further restrict access to individual resources.
3118
- */
3119
- search(options?: {
3120
- q?: string;
3121
- scope?: S['SessionSearchScope'];
3122
- source?: (S['SessionSource'])[] | null;
3123
- service?: S['HandlerService'] | null;
3124
- handler?: string | null;
3125
- author_id?: (number)[] | null;
3126
- agent_id?: (string)[] | null;
3127
- session_ids?: (string)[] | null;
3128
- repo?: (string)[] | null;
3129
- status?: (S['SessionStatus'])[] | null;
3130
- start?: string | null;
3131
- end?: string | null;
3132
- limit?: number;
3133
- }): Promise<S['SessionSearchResponse']>;
3134
2981
  /**
3135
2982
  * Send Session Message
3136
2983
  *
3137
2984
  * Send a message to a session.
3138
2985
  *
3139
- * 409 for mention, non-interactive, closed, and out-of-budget
3140
- * sessions. Returns the created message; a retried send with the
2986
+ * 409 for mention, non-interactive, closed, archived, and
2987
+ * out-of-budget sessions. Returns the created message; a retried send with the
3141
2988
  * same idempotency_key returns the original one. The message is
3142
2989
  * answered once the session's status is `idle` or `closed`.
3143
2990
  *
@@ -3234,13 +3081,28 @@ declare class EllipsisSessions {
3234
3081
  /**
3235
3082
  * Update Session
3236
3083
  *
3237
- * Archive or unarchive a session and return it.
3084
+ * Archive or unarchive a session, or set its summary, and return it.
3238
3085
  *
3239
3086
  * Set archived to true to record the current server time and the
3240
3087
  * authenticated GitHub user. API-key requests record no user.
3241
3088
  * Repeated archive requests preserve the original time and user.
3242
- * Set archived to false to clear both fields. Archiving is available
3243
- * in any session state and does not stop a running session.
3089
+ * Archiving stops the message in progress. An archived session takes
3090
+ * no messages (409 `session_archived`), and a reply on the Slack
3091
+ * thread, pull request, issue, or Linear issue it answers starts a
3092
+ * new session. A session is also archived when it closes and after
3093
+ * the account's `archive_inactive_sessions_days` without a message.
3094
+ * When the account sets session log retention, the session's
3095
+ * records, messages, and prompt are deleted that many days after it
3096
+ * was archived (`archived.deletes_at`). The session itself stays.
3097
+ *
3098
+ * Set archived to false to clear both fields and let the session
3099
+ * take messages again. 409 `session_superseded` when a newer session
3100
+ * now answers the same thread.
3101
+ *
3102
+ * Set summary to name the session. The summary's source becomes
3103
+ * `user`, and Ellipsis never replaces it with a generated one. With
3104
+ * both fields, the archive change applies first, and a refused
3105
+ * archive change leaves the summary as it was.
3244
3106
  *
3245
3107
  * Changes are delivered to session and session-list streams.
3246
3108
  *
@@ -3251,58 +3113,46 @@ declare class EllipsisSessions {
3251
3113
  * Higher permission levels include lower levels: read < write < delete.
3252
3114
  * Grant match patterns can further restrict access to individual resources.
3253
3115
  */
3254
- update(id: string, options: {
3255
- archived: boolean;
3116
+ update(id: string, options?: {
3117
+ archived?: boolean | null;
3118
+ summary?: string | null;
3256
3119
  }): Promise<S['SessionResponse']>;
3257
3120
  /** Start a session and return a handle over it. */
3258
3121
  run(options: Parameters<EllipsisSessions['start']>[0]): Promise<SessionHandle>;
3259
3122
  /** A handle over an existing session. */
3260
3123
  handle(sessionId: string): Promise<SessionHandle>;
3261
3124
  }
3262
- declare class EllipsisSupportSlack {
3125
+ declare class EllipsisUserSettings {
3263
3126
  private readonly transport;
3264
3127
  constructor(transport: Transport);
3265
3128
  /**
3266
- * Request Slack Help
3129
+ * Get User Settings
3267
3130
  *
3268
- * Required permissions: write:account.
3131
+ * Get the signed in user's own settings.
3132
+ *
3133
+ * Required permissions: read:user.
3269
3134
  * API key: Requires a CLI user token.
3270
3135
  * CLI user token: Supported.
3271
3136
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
3272
3137
  * Higher permission levels include lower levels: read < write < delete.
3273
3138
  */
3274
- create(options: {
3275
- emails: (string)[];
3276
- resend?: boolean;
3277
- }): Promise<S['SlackHelpResponse']>;
3139
+ get(): Promise<S['UserSettings']>;
3278
3140
  /**
3279
- * Get Slack Help
3141
+ * Patch User Settings
3280
3142
  *
3281
- * Required permissions: read:account.
3282
- * API key: Supported.
3283
- * CLI user token: Supported.
3284
- * Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
3285
- * Higher permission levels include lower levels: read < write < delete.
3286
- */
3287
- get(): Promise<void>;
3288
- /**
3289
- * Invite To Slack Help
3143
+ * Change the signed in user's own settings.
3290
3144
  *
3291
- * Required permissions: write:account.
3145
+ * Only the keys sent change, and the response is every setting.
3146
+ *
3147
+ * Required permissions: write:user.
3292
3148
  * API key: Requires a CLI user token.
3293
3149
  * CLI user token: Supported.
3294
3150
  * Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
3295
3151
  * Higher permission levels include lower levels: read < write < delete.
3296
3152
  */
3297
- invite(options: {
3298
- emails: (string)[];
3299
- resend?: boolean;
3300
- }): Promise<S['SlackHelpResponse']>;
3301
- }
3302
- declare class EllipsisSupport {
3303
- private readonly transport;
3304
- readonly slack: EllipsisSupportSlack;
3305
- constructor(transport: Transport);
3153
+ update(options?: {
3154
+ web?: S['PatchUserSettingsWeb'] | null;
3155
+ }): Promise<S['UserSettings']>;
3306
3156
  }
3307
3157
  declare class EllipsisUserTokens {
3308
3158
  private readonly transport;
@@ -3330,6 +3180,7 @@ declare class EllipsisUserTokens {
3330
3180
  }
3331
3181
  declare class EllipsisUser {
3332
3182
  private readonly transport;
3183
+ readonly settings: EllipsisUserSettings;
3333
3184
  readonly tokens: EllipsisUserTokens;
3334
3185
  constructor(transport: Transport);
3335
3186
  }
@@ -3599,7 +3450,6 @@ declare class Ellipsis {
3599
3450
  readonly account: EllipsisAccount;
3600
3451
  readonly agents: EllipsisAgents;
3601
3452
  readonly alerts: EllipsisAlerts;
3602
- readonly analytics: EllipsisAnalytics;
3603
3453
  readonly auth: EllipsisAuth;
3604
3454
  readonly environments: EllipsisEnvironments;
3605
3455
  readonly handlers: EllipsisHandlers;
@@ -3607,7 +3457,6 @@ declare class Ellipsis {
3607
3457
  readonly reviews: EllipsisReviews;
3608
3458
  readonly secrets: EllipsisSecrets;
3609
3459
  readonly sessions: EllipsisSessions;
3610
- readonly support: EllipsisSupport;
3611
3460
  readonly user: EllipsisUser;
3612
3461
  readonly vmExecutions: EllipsisVmExecutions;
3613
3462
  readonly vmImages: EllipsisVmImages;