@ellipsis-dev/sdk 0.27.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/README.md +25 -0
- package/dist/{chunk-RMPAMUAE.js → chunk-K252XHLI.js} +13 -3
- package/dist/index.d.ts +3069 -236
- package/dist/index.js +2032 -224
- package/dist/store/index.d.ts +54 -4
- package/dist/store/index.js +716 -127
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.js +1 -1
- package/dist/types-DrPhhfOb.d.ts +25673 -0
- package/package.json +1 -1
- package/schema/collection_frames.schema.json +4158 -0
- package/schema/frames.schema.json +10183 -3056
- package/schema/lifecycle.schema.json +18 -0
- package/schema/openapi.v1.json +36154 -9289
- package/schema/trigger_fields.schema.json +1 -1
- package/dist/types-ClEF_IA9.d.ts +0 -12789
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,1241 @@
|
|
|
1
|
-
import { c as components } from './types-
|
|
2
|
-
export { A as AttributionType, B as
|
|
1
|
+
import { c as components } from './types-DrPhhfOb.js';
|
|
2
|
+
export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as ClaudeAssistantEvent, d as ClaudeAssistantMessage, e as ClaudeConfig, f as ClaudeConversationResetEvent, g as ClaudeNativeEvent, h as ClaudeNativeSessionRecord, i as ClaudeNativeUsage, j as ClaudeRateLimitEvent, k as ClaudeRateLimitInfo, l as ClaudeResultEvent, m as ClaudeSessionRecord, n as ClaudeSystemEvent, o as ClaudeUserEvent, p as ClaudeUserMessage, q as CodexAgentMessage, r as CodexAgentMessageItem, s as CodexAppServerError, t as CodexAppServerEvent, u as CodexAppServerItem, v as CodexAppServerNotification, w as CodexAppServerSessionRecord, x as CodexCommandExecution, y as CodexCommandExecutionItem, z as CodexConfig, D as CodexContextCompaction, E as CodexEffortLevel, F as CodexErrorEvent, G as CodexErrorItem, H as CodexErrorParams, I as CodexEvent, J as CodexFileChange, K as CodexFileChangeItem, L as CodexFileUpdate, M as CodexItem, N as CodexItemCompleted, O as CodexItemCompletedEvent, P as CodexItemParams, Q as CodexItemStarted, R as CodexItemStartedEvent, S as CodexItemUpdatedEvent, T as CodexLocalImageInput, U as CodexMcpToolCall, V as CodexMcpToolCallAppContext, W as CodexMcpToolCallError, X as CodexMcpToolCallItem, Y as CodexMcpToolCallResult, Z as CodexPlan, _ as CodexReasoning, $ as CodexReasoningItem, a0 as CodexSessionRecord, a1 as CodexTextInput, a2 as CodexThread, a3 as CodexThreadStarted, a4 as CodexThreadStartedEvent, a5 as CodexThreadStartedParams, a6 as CodexThreadTokenUsage, a7 as CodexTodoListItem, a8 as CodexTokenUsageBreakdown, a9 as CodexTokenUsageParams, aa as CodexTokenUsageUpdated, ab as CodexTurn, ac as CodexTurnCompleted, ad as CodexTurnCompletedEvent, ae as CodexTurnError, af as CodexTurnFailedEvent, ag as CodexTurnParams, ah as CodexTurnStarted, ai as CodexTurnStartedEvent, aj as CodexUsage, ak as CodexUserInput, al as CodexUserMessage, am as CodexWebSearch, an as CodexWebSearchItem, ao as ComputeConfig, ap as ComputeConfig1, aq as ConfigMetadata, ar as ConversationState, as as CreateReviewRequest, at as CronTrigger, au as DeltaFrame, av as DoneFrame, aw as Duration, ax as EffortLevel, ay as EllipsisGrant, az as EllipsisPermissions, aA as EnvironmentBaseBuild, aB as EnvironmentConfig, aC as EnvironmentHooks, aD as EnvironmentHooks1, aE as EnvironmentScript, aF as EnvironmentSource, aG as EnvironmentVariable, aH as ErrorFrame, aI as ExecutionResult, aJ as Finding, aK as GithubAccountFilter, aL as GithubAccountSelector, aM as GithubAccountSnippet, aN as GithubAccountType, aO as GithubIssueEvent, aP as GithubPermissions, aQ as GithubPullRequestEvent, aR as GithubPushEvent, aS as HandlerService, aT as HeartbeatFrame, aU as InputContract, aV as IssueAction, aW as LegacyAssistantPayload, aX as LegacyNativeUsage, aY as LegacyResultPayload, aZ as Level, a_ as LifecycleSessionRecord, a$ as LinearIssueAction, b0 as LinearIssueEvent, b1 as McpRemoteServer, b2 as McpServerRef, b3 as McpStdioServer, b4 as MemorySize, b5 as MessageDeliveredPayload, b6 as MessageDeliveredRecord, b7 as MessageReceivedPayload, b8 as MessageReceivedRecord, b9 as MessageRequeuedPayload, ba as MessageRequeuedRecord, bb as OutboxCollectedPayload, bc as OutboxCollectedRecord, bd as OutputConfig, be as PermissionsConfig, bf as PermissionsConfig1, bg as PlatformSessionRecord, bh as PromptBlockedReason, bi as PullRequestAction, bj as ReactIssue, bk as ReactLinearIssue, bl as ReactPullRequest, bm as ReactPush, bn as ReactSentry, bo as ReactSlackChannel, bp as ReactTrigger, bq as RecordsAppendFrame, br as RepositoryFilter, bs as RepositoryRef, bt as ResolvedReviewScope, bu as Review, bv as ReviewConfiguration, bw as ReviewCounters, bx as ReviewFinding, by as ReviewRequester, bz as ReviewScope, bA as ReviewScopeKind, bB as ReviewStage, bC as ReviewedCommit, bD as ReviewsListResponse, bE as SandboxOutputPayload, bF as SandboxOutputRecord, bG as SandboxPhasePayload, bH as SandboxPhaseRecord, bI as SandboxReadyPayload, bJ as SandboxReadyRecord, bK as SandboxStartingPayload, bL as SandboxStartingRecord, bM as SdkAssistantRecord, bN as SdkCacheCreation, bO as SdkContentBlock, bP as SdkRateLimitRecord, bQ as SdkRecord, bR as SdkResultRecord, bS as SdkServerToolResultBlock, bT as SdkServerToolUseBlock, bU as SdkSystemRecord, bV as SdkTextBlock, bW as SdkThinkingBlock, bX as SdkToolResultBlock, bY as SdkToolUseBlock, bZ as SdkUserRecord, b_ as SendSessionMessageRequest, b$ as SentryAction, c0 as SentryAlertEvent, c1 as Session, c2 as Session1, c3 as SessionAgent, c4 as SessionArchived, c5 as SessionAttribution, c6 as SessionCancelledPayload, c7 as SessionCancelledRecord, c8 as SessionClosedPayload, c9 as SessionClosedRecord, ca as SessionConfig, cb as SessionCost, cc as SessionEnvironment, cd as SessionEventActor, ce as SessionExecution, cf as SessionExecutionResult, cg as SessionExecutionsListResponse, ch as SessionExitStatus, ci as SessionFrame, cj as SessionGit, ck as SessionGitCommit, cl as SessionGitFile, cm as SessionGitPr, cn as SessionGitRepo, co as SessionHandler, cp as SessionIdlePayload, cq as SessionIdleRecord, cr as SessionLifecycle, cs as SessionLifecycleStatus, ct as SessionMessage, cu as SessionMessageImage, cv as SessionMessageResponse, cw as SessionMessageStatus, cx as SessionParent, cy as SessionPrompting, cz as SessionRecord, cA as SessionRecordsListResponse, cB as SessionResponse, cC as SessionResumedPayload, cD as SessionResumedRecord, cE as SessionRetryingPayload, cF as SessionRetryingRecord, cG as SessionScheduledPayload, cH as SessionScheduledRecord, cI as SessionSource, cJ as SessionStartingPayload, cK as SessionStartingRecord, cL as SessionStopped, cM as SessionStreamFrame, cN as SessionSummary, cO as SessionTimestamps, cP as SessionTokens, cQ as SessionsListResponse, cR as SettingsRef, cS as SkillRef, cT as SlackChannelCreatedEvent, cU as SlackMessageEvent, cV as SnapshotFrame, cW as StreamFrame, cX as TokensInfo, cY as TurnCompletedPayload, cZ as TurnCompletedRecord, c_ as TurnFailedPayload, c$ as TurnFailedRecord, d0 as TurnStartedPayload, d1 as TurnStartedRecord, d2 as UnknownSessionRecord, d3 as UpdateSessionRequest, d4 as paths } from './types-DrPhhfOb.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Frames on /v1/sessions/stream, /v1/agents/stream and /v1/vm-executions/{id}/stream. Ignore unknown frame types.
|
|
6
|
+
*/
|
|
7
|
+
type CollectionStreamFrame = SessionListStreamMessage | AgentListStreamMessage | CollectionStreamHeartbeat | SandboxSnapshotFrame | SandboxUpdateFrame;
|
|
8
|
+
/**
|
|
9
|
+
* An agent session: one conversation with an agent, from trigger to
|
|
10
|
+
* terminal state. Returned by `GET /v1/sessions/{id}` and carried by the
|
|
11
|
+
* session stream's `session`/`snapshot` frames — REST and stream never
|
|
12
|
+
* disagree about what a session looks like.
|
|
13
|
+
*/
|
|
14
|
+
type Session = {
|
|
15
|
+
/**
|
|
16
|
+
* The agent the session was started from, or null for a raw session started with POST /v1/sessions.
|
|
17
|
+
*/
|
|
18
|
+
agent: SessionAgent | null;
|
|
19
|
+
attribution: SessionAttribution;
|
|
20
|
+
/**
|
|
21
|
+
* The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
|
|
22
|
+
*/
|
|
23
|
+
budget: number;
|
|
24
|
+
/**
|
|
25
|
+
* Claude Code input and native options. Set exactly one of claude_code or codex.
|
|
26
|
+
*/
|
|
27
|
+
claude_code: ClaudeConfig | null;
|
|
28
|
+
/**
|
|
29
|
+
* Codex input and native options. Set exactly one of claude_code or codex.
|
|
30
|
+
*/
|
|
31
|
+
codex: CodexConfig | null;
|
|
32
|
+
cost: SessionCost;
|
|
33
|
+
environment: SessionEnvironment;
|
|
34
|
+
/**
|
|
35
|
+
* The typed external event that started the session; null for direct and scheduled starts.
|
|
36
|
+
*/
|
|
37
|
+
event: (GithubPullRequestEvent | GithubIssueEvent | GithubPushEvent | LinearIssueEvent | SlackMessageEvent | SlackChannelCreatedEvent | SentryAlertEvent) | null;
|
|
38
|
+
/**
|
|
39
|
+
* What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured.
|
|
40
|
+
*/
|
|
41
|
+
git: SessionGit | null;
|
|
42
|
+
/**
|
|
43
|
+
* The saved handler and its effective display name when this session started, frozen at creation. Null for built-in responders, legacy sessions, and sessions started without a handler.
|
|
44
|
+
*/
|
|
45
|
+
handler: SessionHandler | null;
|
|
46
|
+
/**
|
|
47
|
+
* Unique identifier of the session.
|
|
48
|
+
*/
|
|
49
|
+
id: string;
|
|
50
|
+
lifecycle: SessionLifecycle;
|
|
51
|
+
/**
|
|
52
|
+
* Caller-supplied metadata key-value pairs.
|
|
53
|
+
*/
|
|
54
|
+
metadata: {
|
|
55
|
+
[k: string]: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* The structured-output exit contract for this session.
|
|
59
|
+
*/
|
|
60
|
+
output: OutputConfig | null;
|
|
61
|
+
/**
|
|
62
|
+
* The predecessor session this session continues; null when there is none.
|
|
63
|
+
*/
|
|
64
|
+
parent: SessionParent | null;
|
|
65
|
+
permissions: PermissionsConfig1;
|
|
66
|
+
/**
|
|
67
|
+
* Skills installed for this session.
|
|
68
|
+
*/
|
|
69
|
+
skills: SkillRef[];
|
|
70
|
+
source: SessionSource;
|
|
71
|
+
/**
|
|
72
|
+
* The latest live summary of the session's progress while it runs, and when it was generated.
|
|
73
|
+
*/
|
|
74
|
+
summary: SessionSummary | null;
|
|
75
|
+
tokens: SessionTokens;
|
|
76
|
+
} & ({
|
|
77
|
+
claude_code: {
|
|
78
|
+
[k: string]: unknown;
|
|
79
|
+
};
|
|
80
|
+
codex: null;
|
|
81
|
+
} | {
|
|
82
|
+
claude_code: null;
|
|
83
|
+
codex: {
|
|
84
|
+
[k: string]: unknown;
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* What one session runs on: its selected harness, where it runs, what it
|
|
89
|
+
* may touch, its skills, its exit contract, and its spend cap. Every session
|
|
90
|
+
* freezes one of these (`sessions.session_config`); an agent
|
|
91
|
+
* carries one under `session:` (`AgentConfig.session`); and
|
|
92
|
+
* `POST /v1/sessions` is this shape flattened onto the request body, plus the
|
|
93
|
+
* run settings. Nothing in here is an agent's identity or trigger —
|
|
94
|
+
* those belong to `AgentConfig`.
|
|
95
|
+
*
|
|
96
|
+
* Field order is the canonical key order for `session:` blocks and YAML
|
|
97
|
+
* exports: what runs (`claude_code` or `codex`), where (`environment`), what it may
|
|
98
|
+
* touch (`permissions`), then the rest.
|
|
99
|
+
*/
|
|
100
|
+
type SessionConfig = {
|
|
101
|
+
budget: BudgetConfig;
|
|
102
|
+
/**
|
|
103
|
+
* Claude Code input and native options. Set exactly one of claude_code or codex.
|
|
104
|
+
*/
|
|
105
|
+
claude_code: ClaudeConfig | null;
|
|
106
|
+
/**
|
|
107
|
+
* Codex input and native options. Set exactly one of claude_code or codex.
|
|
108
|
+
*/
|
|
109
|
+
codex: CodexConfig | null;
|
|
110
|
+
environment: string | EnvironmentConfig;
|
|
111
|
+
output: OutputConfig | null;
|
|
112
|
+
permissions: PermissionsConfig;
|
|
113
|
+
skills: SkillRef[];
|
|
114
|
+
} & ({
|
|
115
|
+
claude_code: {
|
|
116
|
+
[k: string]: unknown;
|
|
117
|
+
};
|
|
118
|
+
codex: null;
|
|
119
|
+
} | {
|
|
120
|
+
claude_code: null;
|
|
121
|
+
codex: {
|
|
122
|
+
[k: string]: unknown;
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
type EffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
126
|
+
type CodexEffortLevel = 'none' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
127
|
+
/**
|
|
128
|
+
* What may be done to a resource. Strictly ordered: a grant at one level
|
|
129
|
+
* includes every level below it (write-only would be a phantom capability —
|
|
130
|
+
* no real client can create what it cannot read back).
|
|
131
|
+
*/
|
|
132
|
+
type Level = 'read' | 'write' | 'delete';
|
|
133
|
+
type GithubAccountFilter = {
|
|
134
|
+
exclude: string[];
|
|
135
|
+
include: string[] | boolean;
|
|
136
|
+
} | boolean | string[];
|
|
137
|
+
type IssueAction = 'opened' | 'closed' | 'commented';
|
|
138
|
+
type RepositoryFilter = {
|
|
139
|
+
exclude: string[];
|
|
140
|
+
include: string[];
|
|
141
|
+
} | string[];
|
|
142
|
+
type LinearIssueAction = 'opened';
|
|
143
|
+
type PullRequestAction = 'opened' | 'pushed' | 'merged' | 'closed' | 'review_submitted' | 'commented';
|
|
144
|
+
type SentryAction = 'issue_alert' | 'metric_alert';
|
|
145
|
+
type AttributionType = 'github_user' | 'linear_user' | 'slack_user' | 'api_key';
|
|
146
|
+
type GithubAccountType = 'User' | 'Organization' | 'Bot' | 'Mannequin';
|
|
147
|
+
/**
|
|
148
|
+
* How a session's environment was chosen. None (the field is nullable)
|
|
149
|
+
* when the config carried an inline environment block and no resolution ran —
|
|
150
|
+
* an inline environment is not a reference, so there is nothing to record.
|
|
151
|
+
*
|
|
152
|
+
* Not derivable from the row: `environment_id` says WHICH environment, not
|
|
153
|
+
* how it was chosen, and is null for the built-in basic sandbox.
|
|
154
|
+
*/
|
|
155
|
+
type EnvironmentSource = 'request' | 'agent' | 'repo_default' | 'account_default' | 'platform_default';
|
|
156
|
+
/**
|
|
157
|
+
* The service the handler responds to.
|
|
158
|
+
*/
|
|
159
|
+
type HandlerService = 'slack' | 'github' | 'linear' | 'sentry';
|
|
160
|
+
/**
|
|
161
|
+
* Whether the conversation is open or permanently closed. Open does not imply direct messages are permitted.
|
|
162
|
+
*/
|
|
163
|
+
type ConversationState = 'open' | 'closed';
|
|
164
|
+
/**
|
|
165
|
+
* Why the last execution ended; completed also includes parking an open conversation.
|
|
166
|
+
*/
|
|
167
|
+
type SessionExitStatus = 'completed' | 'budget_hit' | 'payment_required' | 'tool_call_failed' | 'lifecycle_hook_failed' | 'missing_repo_access' | 'missing_token_permissions' | 'missing_sandbox_variables' | 'blocked' | 'contact_email_required' | 'cancelled' | 'interrupted' | 'error' | 'stopped';
|
|
168
|
+
/**
|
|
169
|
+
* Why direct prompting is refused. Absent when prompting is allowed.
|
|
170
|
+
*/
|
|
171
|
+
type PromptBlockedReason = 'mention_surface' | 'ephemeral_trigger' | 'non_interactive' | 'harness_single_turn' | 'closed';
|
|
172
|
+
/**
|
|
173
|
+
* Canonical current activity. working means a turn is in progress; waiting means the worker is warm and awaiting input; idle means parked. A failed, stopped, or cancelled execution may leave an open conversation.
|
|
174
|
+
*/
|
|
175
|
+
type SessionLifecycleStatus = 'scheduled' | 'starting' | 'working' | 'waiting' | 'retrying' | 'idle' | 'closed' | 'failed' | 'stopped' | 'cancelled';
|
|
176
|
+
/**
|
|
177
|
+
* Where the session came from (e.g. react, web, api, cli, mention, cron).
|
|
178
|
+
*/
|
|
179
|
+
type SessionSource = 'react' | 'web' | 'api' | 'cli' | 'mention' | 'cron';
|
|
180
|
+
/**
|
|
181
|
+
* 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.
|
|
182
|
+
*/
|
|
183
|
+
type ConfigManagedBy = 'github' | 'api';
|
|
184
|
+
/**
|
|
185
|
+
* Which image-cache tier a sandbox creation took — the customer-facing
|
|
186
|
+
* names for `create_sandbox_from_default`'s exact / latest / default tiers.
|
|
187
|
+
* Rides on `Sandbox.cache_tier` and the sandbox_ready lifecycle record.
|
|
188
|
+
*/
|
|
189
|
+
type SandboxCacheTier = 'exact' | 'incremental' | 'full';
|
|
190
|
+
type SandboxSource = 'cli' | 'web_ui' | 'ingest_pull_request_job_run' | 'session' | 'image_refresh' | 'test' | 'script';
|
|
191
|
+
type SandboxStatus = 'scheduled' | 'building' | 'running' | 'released' | 'terminating' | 'terminated' | 'failed';
|
|
192
|
+
type SandboxType = 'claude_code';
|
|
193
|
+
interface SessionListStreamMessage {
|
|
194
|
+
session: Session;
|
|
195
|
+
type: 'session';
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* The agent this session was started from: the definition frozen
|
|
199
|
+
* when the session was created, and the saved agent it came from as it
|
|
200
|
+
* exists NOW. They diverge legitimately — a YAML edit after the session
|
|
201
|
+
* started leaves the pointer describing something the session never ran.
|
|
202
|
+
*/
|
|
203
|
+
interface SessionAgent {
|
|
204
|
+
config: AgentConfig;
|
|
205
|
+
/**
|
|
206
|
+
* Identifier of the saved agent this session's snapshot was taken from. Null for a routing-file agent, a code-review stage agent, or the built-in mention agent, which have no saved agent behind them. Points at the agent as it exists now, which may have changed since.
|
|
207
|
+
*/
|
|
208
|
+
id: string | null;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* The agent definition the session was started from, frozen when the session was created.
|
|
212
|
+
*/
|
|
213
|
+
interface AgentConfig {
|
|
214
|
+
ellipsis: AgentIdentity;
|
|
215
|
+
input: InputContract | null;
|
|
216
|
+
session: SessionConfig;
|
|
217
|
+
trigger: (CronTrigger | ReactTrigger) | null;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* The Ellipsis product namespace for a config file: which schema this is
|
|
221
|
+
* (`version`), the human-facing identity (`name`/`description`), freeform
|
|
222
|
+
* organizational `metadata`, and whether the agent is `enabled`. The
|
|
223
|
+
* presence of a top-level `ellipsis:` mapping is what marks a YAML file as
|
|
224
|
+
* an Ellipsis agent (vs arbitrary YAML that merely lives under a
|
|
225
|
+
* config directory) — see `yaml_is_ellipsis_config`.
|
|
226
|
+
*
|
|
227
|
+
* `enabled` is agent behavior, not freeform metadata, so it stays inside
|
|
228
|
+
* the config `sha` (only `metadata` is sha-excluded). Whether a session
|
|
229
|
+
* accepts messages is a per-run choice (POST /v1/sessions `interactive`),
|
|
230
|
+
* not a config one.
|
|
231
|
+
*/
|
|
232
|
+
interface AgentIdentity {
|
|
233
|
+
description: string | null;
|
|
234
|
+
enabled: boolean;
|
|
235
|
+
kind: 'agent';
|
|
236
|
+
metadata: ConfigMetadata;
|
|
237
|
+
name: string | null;
|
|
238
|
+
version: string;
|
|
239
|
+
}
|
|
240
|
+
interface ConfigMetadata {
|
|
241
|
+
annotations: {
|
|
242
|
+
[k: string]: string;
|
|
243
|
+
};
|
|
244
|
+
labels: string[];
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* The typed input contract: what goes INTO a session (the trigger is
|
|
248
|
+
* when it happens; this is what goes in).
|
|
249
|
+
*
|
|
250
|
+
* `json_schema` validates customer data sent as `input` to
|
|
251
|
+
* `POST /v1/agents/{id}/sessions` and stored as `session.input`.
|
|
252
|
+
* Invocations require input when a schema is declared. React agents
|
|
253
|
+
* cannot declare schemas: the platform defines their event payloads.
|
|
254
|
+
*
|
|
255
|
+
* `message` is the initial-message template: exact `{{path}}` substitution
|
|
256
|
+
* over the caller payload (or, on a react agent, over the surface's
|
|
257
|
+
* published fields), no conditionals/loops/filters. Refs are validated at
|
|
258
|
+
* deploy time against the governing field set (see AgentConfig's
|
|
259
|
+
* `_check_input`).
|
|
260
|
+
*/
|
|
261
|
+
interface InputContract {
|
|
262
|
+
json_schema: {
|
|
263
|
+
[k: string]: unknown;
|
|
264
|
+
} | null;
|
|
265
|
+
message: string | null;
|
|
266
|
+
}
|
|
267
|
+
interface BudgetConfig {
|
|
268
|
+
day: number | null;
|
|
269
|
+
month: number | null;
|
|
270
|
+
session: number | null;
|
|
271
|
+
week: number | null;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Native Claude Code options for an explicitly selected harness.
|
|
275
|
+
*/
|
|
276
|
+
interface ClaudeConfig {
|
|
277
|
+
effort: EffortLevel | null;
|
|
278
|
+
fallback_model: string | null;
|
|
279
|
+
max_turns: number | null;
|
|
280
|
+
model: string | null;
|
|
281
|
+
/**
|
|
282
|
+
* The initial user message, passed verbatim. Omit to start an interactive session idle.
|
|
283
|
+
*/
|
|
284
|
+
prompt: string | null;
|
|
285
|
+
settings: SettingsRef | null;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* A config-declared Claude Code settings.json, resolved at run start and
|
|
289
|
+
* passed to `claude --settings <path>`. That is the CLI settings tier — BELOW
|
|
290
|
+
* Ellipsis's managed-settings.json floor — so it customizes behavior (model
|
|
291
|
+
* permissions, includeCoAuthoredBy, statusLine, ...) but can never weaken a
|
|
292
|
+
* security setting. Lets a team point the cloud agent at the same settings file
|
|
293
|
+
* they already use with Claude Code locally instead of re-encoding it as YAML.
|
|
294
|
+
*/
|
|
295
|
+
interface SettingsRef {
|
|
296
|
+
path: string;
|
|
297
|
+
repository: RepositoryRef | null;
|
|
298
|
+
}
|
|
299
|
+
interface RepositoryRef {
|
|
300
|
+
name: string;
|
|
301
|
+
owner: string | null;
|
|
302
|
+
ref: string | null;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Native options supported by the current Codex adapter.
|
|
306
|
+
*
|
|
307
|
+
* Options and capabilities expand only when their runtime behavior is tested.
|
|
308
|
+
* Unknown options are rejected instead of silently ignored.
|
|
309
|
+
*/
|
|
310
|
+
interface CodexConfig {
|
|
311
|
+
/**
|
|
312
|
+
* Reasoning effort for every turn. Omit to use the model default.
|
|
313
|
+
*/
|
|
314
|
+
effort: CodexEffortLevel | null;
|
|
315
|
+
model: string;
|
|
316
|
+
/**
|
|
317
|
+
* The initial user message, passed verbatim. Omit to start an interactive session idle.
|
|
318
|
+
*/
|
|
319
|
+
prompt: string | null;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Everything about the environment (the sandbox) the agent runs in: which
|
|
323
|
+
* `repositories` are cloned into it, which environment `variables` it gets,
|
|
324
|
+
* its `compute` sizing, and lifecycle `hooks`.
|
|
325
|
+
* What the agent may *do* from that environment is the top-level
|
|
326
|
+
* `permissions:` block, not this one.
|
|
327
|
+
*
|
|
328
|
+
* Each `variables` entry names a variable to inject; with an inline `value` it
|
|
329
|
+
* is hardcoded, without one it is resolved from the account's sandbox-secrets
|
|
330
|
+
* store. Only the named variables reach this agent; the rest of the account's
|
|
331
|
+
* stored variables never do. This is how a config brings in the config and
|
|
332
|
+
* credentials a custom CLI needs.
|
|
333
|
+
*/
|
|
334
|
+
interface EnvironmentConfig {
|
|
335
|
+
compute: ComputeConfig;
|
|
336
|
+
hooks: EnvironmentHooks;
|
|
337
|
+
mcp_servers: (string | McpServerRef | McpStdioServer | McpRemoteServer)[];
|
|
338
|
+
repositories: RepositoryRef[];
|
|
339
|
+
variables: EnvironmentVariable[];
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Sandbox compute sizing. Every field is optional; None inherits the
|
|
343
|
+
* platform default (2 vCPU / 4096 MiB / 3600s — see DEFAULT_SANDBOX_* in
|
|
344
|
+
* models/ellipsis/vms/vm_execution.py). A resolved value outside the platform
|
|
345
|
+
* bounds fails validation loudly (a sync error on the config) rather than
|
|
346
|
+
* being clamped silently.
|
|
347
|
+
*
|
|
348
|
+
* `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
|
|
349
|
+
* explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
|
|
350
|
+
* `timeout_seconds` properties resolve either form to the canonical integer
|
|
351
|
+
* the sandbox driver consumes.
|
|
352
|
+
*
|
|
353
|
+
* `timeout` is the max wall-clock the agent may run before its execution is
|
|
354
|
+
* stopped, capped at 1h (MAX_SANDBOX_TIMEOUT_SECONDS — equal to the default, so
|
|
355
|
+
* today the knob only shortens a session; the cap matches the 1-hour validity
|
|
356
|
+
* of the sandbox's GitHub token). The worker's lease/visibility heartbeat
|
|
357
|
+
* ceiling is derived from that cap, so a run at the max stays owned by its
|
|
358
|
+
* worker for its whole life.
|
|
359
|
+
*
|
|
360
|
+
* Compute currently uses a temporary flat one-cent amount per allocated
|
|
361
|
+
* execution, subject to the account's existing free-compute exemptions.
|
|
362
|
+
*/
|
|
363
|
+
interface ComputeConfig {
|
|
364
|
+
cpu: number | null;
|
|
365
|
+
memory: string | MemorySize | null;
|
|
366
|
+
timeout: string | Duration | null;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* A memory size as explicit units, summed (binary: 1GB = 1024MB = 1024MiB).
|
|
370
|
+
* Set any of `gb`/`mb` (at least one). The alternative to the `8GB`-style
|
|
371
|
+
* shorthand string.
|
|
372
|
+
*/
|
|
373
|
+
interface MemorySize {
|
|
374
|
+
gb: number | null;
|
|
375
|
+
mb: number | null;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* A duration as explicit units, summed. Set any of `hours`/`minutes`/
|
|
379
|
+
* `seconds` (at least one). The alternative to the `30m`-style shorthand
|
|
380
|
+
* string wherever a duration is accepted.
|
|
381
|
+
*/
|
|
382
|
+
interface Duration {
|
|
383
|
+
hours: number | null;
|
|
384
|
+
minutes: number | null;
|
|
385
|
+
seconds: number | null;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Environment lifecycle scripts, in order: build_base, after_checkout,
|
|
389
|
+
* before_start. The first two produce reusable snapshots; before_start runs
|
|
390
|
+
* before an agent starts or resumes its session. Scripts run as the sandbox
|
|
391
|
+
* user in /sandbox. A nonzero exit fails the session.
|
|
392
|
+
*
|
|
393
|
+
* Legacy post_start/post_clone scripts remain supported for existing configs;
|
|
394
|
+
* both run after workspace preparation, before the agent starts or resumes.
|
|
395
|
+
* They cannot be combined with the new lifecycle fields.
|
|
396
|
+
*/
|
|
397
|
+
interface EnvironmentHooks {
|
|
398
|
+
/**
|
|
399
|
+
* Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared sandbox. Skipped when that prepared sandbox is reused.
|
|
400
|
+
*/
|
|
401
|
+
after_checkout: EnvironmentScript | string | null;
|
|
402
|
+
/**
|
|
403
|
+
* Run before the agent starts or resumes a session, after the sandbox is ready. This hook is not cached and adds to session startup time.
|
|
404
|
+
*/
|
|
405
|
+
before_start: EnvironmentScript | string | null;
|
|
406
|
+
/**
|
|
407
|
+
* Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs.
|
|
408
|
+
*/
|
|
409
|
+
build_base: EnvironmentBaseBuild | string | null;
|
|
410
|
+
/**
|
|
411
|
+
* Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
|
|
412
|
+
*/
|
|
413
|
+
post_clone: string | null;
|
|
414
|
+
/**
|
|
415
|
+
* Legacy session startup script. Use before_start in new configurations.
|
|
416
|
+
*/
|
|
417
|
+
post_start: string | null;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* An inline shell script run as the sandbox user, with /sandbox as cwd.
|
|
421
|
+
*/
|
|
422
|
+
interface EnvironmentScript {
|
|
423
|
+
/**
|
|
424
|
+
* Shell script to run in /sandbox.
|
|
425
|
+
*/
|
|
426
|
+
run: string;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Create a reusable base, optionally using only selected repository files.
|
|
430
|
+
*/
|
|
431
|
+
interface EnvironmentBaseBuild {
|
|
432
|
+
/**
|
|
433
|
+
* Exact files relative to /sandbox, including the repository name. Only these files are available during build_base and their contents and modes determine reuse. Omit to use all repositories and invalidate on any source change; [] means no repository files.
|
|
434
|
+
*/
|
|
435
|
+
inputs: string[] | null;
|
|
436
|
+
/**
|
|
437
|
+
* Shell script to run in /sandbox.
|
|
438
|
+
*/
|
|
439
|
+
run: string;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* One built-in MCP server this agent opts into by name (`linear`/`slack`).
|
|
443
|
+
* A name reference over the connected built-in set — the platform manages the
|
|
444
|
+
* server's transport and credentials. It only matters when the named
|
|
445
|
+
* integration is set to `opt_in` inclusion; an integration in the default
|
|
446
|
+
* `all_sessions` mode is added regardless. For a server the platform does not
|
|
447
|
+
* provide, define it instead (`McpStdioServer` /
|
|
448
|
+
* `McpRemoteServer`).
|
|
449
|
+
*/
|
|
450
|
+
interface McpServerRef {
|
|
451
|
+
name: string;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* A bring-your-own stdio MCP server: the harness spawns `command` inside
|
|
455
|
+
* the sandbox and speaks JSON-RPC over its stdin/stdout. The command must be
|
|
456
|
+
* runnable in the sandbox image — install its runtime via `hooks.build_base` /
|
|
457
|
+
* `hooks.after_checkout` if the managed environment lacks it.
|
|
458
|
+
*
|
|
459
|
+
* `env` values may embed `${NAME}` references, resolved at run time from the
|
|
460
|
+
* account's secrets store (see `mcp_secret_refs`); everything else is passed
|
|
461
|
+
* literally.
|
|
462
|
+
*/
|
|
463
|
+
interface McpStdioServer {
|
|
464
|
+
args: string[];
|
|
465
|
+
command: string;
|
|
466
|
+
env: {
|
|
467
|
+
[k: string]: string;
|
|
468
|
+
};
|
|
469
|
+
name: string;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* A bring-your-own remote MCP server: the harness talks HTTP to `url`.
|
|
473
|
+
* Nothing runs in the sandbox image. `headers` carry static auth (e.g.
|
|
474
|
+
* `Authorization: Bearer ${TOKEN}`); values may embed `${NAME}` secret
|
|
475
|
+
* references, resolved at run time from the account's secrets store.
|
|
476
|
+
*/
|
|
477
|
+
interface McpRemoteServer {
|
|
478
|
+
headers: {
|
|
479
|
+
[k: string]: string;
|
|
480
|
+
};
|
|
481
|
+
name: string;
|
|
482
|
+
url: string;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* One environment variable injected into the agent's sandbox.
|
|
486
|
+
*
|
|
487
|
+
* `value`, when set, is a literal injected as-is — use it for non-secret
|
|
488
|
+
* config (LOG_LEVEL, an API base URL). When `value` is omitted the value is
|
|
489
|
+
* resolved at run time from the account's sandbox-secrets store (dashboard
|
|
490
|
+
* / `PUT /v1/secrets`) by `name`, so a secret can be injected without
|
|
491
|
+
* ever putting it in the config file. Either way the variable only reaches
|
|
492
|
+
* agents that name it.
|
|
493
|
+
*/
|
|
494
|
+
interface EnvironmentVariable {
|
|
495
|
+
name: string;
|
|
496
|
+
value: string | null;
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* JSON Schema for the harness's structured result, when certified.
|
|
500
|
+
*/
|
|
501
|
+
interface OutputConfig {
|
|
502
|
+
json_schema: {
|
|
503
|
+
[k: string]: unknown;
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* What the agent is allowed to touch, per credential the platform mints
|
|
508
|
+
* into its sandbox. Distinct from `environment:`, which is where the agent
|
|
509
|
+
* runs; this is what it may do from there.
|
|
510
|
+
*
|
|
511
|
+
* `ellipsis` scopes the sandbox's Ellipsis API token
|
|
512
|
+
* (`ELLIPSIS_API_TOKEN`, what the in-sandbox `agent` CLI authenticates
|
|
513
|
+
* with). `true` / the string `all` (the default) grant the full sandbox
|
|
514
|
+
* ceiling — everything a sandbox token can ever do. A map narrows it per
|
|
515
|
+
* resource (see `EllipsisPermissions`); the minted token carries
|
|
516
|
+
* the intersection, so a config can only ever reduce access. `false` fails
|
|
517
|
+
* validation — an agent with no API token cannot report its own progress.
|
|
518
|
+
*
|
|
519
|
+
* `github` scopes the sandbox's GitHub installation token (`GH_TOKEN`) —
|
|
520
|
+
* see `GithubPermissions`. GitHub enforces it at mint time.
|
|
521
|
+
*/
|
|
522
|
+
interface PermissionsConfig {
|
|
523
|
+
ellipsis: (true | 'all') | EllipsisPermissions;
|
|
524
|
+
github: GithubPermissions;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* `permissions.ellipsis` as a map: resource → level | grant | list of
|
|
528
|
+
* grants. Levels are hierarchical (read < write < delete), so `write`
|
|
529
|
+
* includes `read`. An unlisted resource is denied. The whole block is
|
|
530
|
+
* intersected with the platform's sandbox ceiling at token mint — it can
|
|
531
|
+
* narrow what a sandbox token may do, never exceed it.
|
|
532
|
+
*/
|
|
533
|
+
interface EllipsisPermissions {
|
|
534
|
+
[k: string]: Level | EllipsisGrant | (Level | EllipsisGrant)[];
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* One grant entry: a level, optionally narrowed to instances whose
|
|
538
|
+
* natural key (a file's name, a memory's path, a secret's name, a config's
|
|
539
|
+
* name, a session's id) matches any of the `match` globs.
|
|
540
|
+
*/
|
|
541
|
+
interface EllipsisGrant {
|
|
542
|
+
level: Level;
|
|
543
|
+
match: string[] | null;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* The agent's GitHub access: the scope of the installation token minted for
|
|
547
|
+
* its sandbox — the credential `git`, `gh`, and the GitHub MCP server
|
|
548
|
+
* authenticate with.
|
|
549
|
+
*
|
|
550
|
+
* By default the token carries the installation's full permissions on all of
|
|
551
|
+
* the installation's repositories. `permissions` narrows what it may do:
|
|
552
|
+
* the string `read_only` grants read access to contents, issues, metadata and
|
|
553
|
+
* pull requests; a map requests explicit levels per GitHub App permission
|
|
554
|
+
* scope (e.g. `{contents: read, pull_requests: write}`) and may never exceed
|
|
555
|
+
* what the installation granted. `repositories` scopes the token to exactly
|
|
556
|
+
* the listed repos, by name (they must belong to the installation).
|
|
557
|
+
*
|
|
558
|
+
* Restriction is enforced by GitHub, not by Ellipsis: the token itself is
|
|
559
|
+
* minted with the reduced scope, so nothing running in the sandbox can
|
|
560
|
+
* exceed it.
|
|
561
|
+
*/
|
|
562
|
+
interface GithubPermissions {
|
|
563
|
+
permissions: 'read_only' | {
|
|
564
|
+
[k: string]: string;
|
|
565
|
+
} | null;
|
|
566
|
+
repositories: string[] | null;
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* A repository directory containing SKILL.md and supporting UTF-8 files.
|
|
570
|
+
* Resolved at run start and installed in the selected harness's skill directory.
|
|
571
|
+
* Explicit skill references require a model with the skills capability.
|
|
572
|
+
*/
|
|
573
|
+
interface SkillRef {
|
|
574
|
+
path: string;
|
|
575
|
+
repository: RepositoryRef | null;
|
|
576
|
+
}
|
|
577
|
+
interface CronTrigger {
|
|
578
|
+
schedule: string;
|
|
579
|
+
type: 'cron';
|
|
580
|
+
}
|
|
581
|
+
interface ReactTrigger {
|
|
582
|
+
issue: ReactIssue | null;
|
|
583
|
+
linear_issue: ReactLinearIssue | null;
|
|
584
|
+
pull_request: ReactPullRequest | null;
|
|
585
|
+
push: ReactPush | null;
|
|
586
|
+
sentry: ReactSentry | null;
|
|
587
|
+
slack_channel: ReactSlackChannel | null;
|
|
588
|
+
type: 'react';
|
|
589
|
+
}
|
|
590
|
+
interface ReactIssue {
|
|
591
|
+
for: GithubAccountSelector;
|
|
592
|
+
labels: string[];
|
|
593
|
+
on: IssueAction[];
|
|
594
|
+
repositories: RepositoryFilter;
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* A selector of GitHub accounts — the `for:` audience gate on react
|
|
598
|
+
* surfaces and code review pipelines, classified on the stable entity author
|
|
599
|
+
* (the pusher for `push`, the PR author for a review). `users` selects human
|
|
600
|
+
* accounts, `bots` selects bot accounts; each is a `GithubAccountFilter`
|
|
601
|
+
* (include minus exclude, with bare bool/list shorthand).
|
|
602
|
+
*/
|
|
603
|
+
interface GithubAccountSelector {
|
|
604
|
+
bots: GithubAccountFilter;
|
|
605
|
+
users: GithubAccountFilter;
|
|
606
|
+
}
|
|
607
|
+
interface ReactLinearIssue {
|
|
608
|
+
for: GithubAccountSelector;
|
|
609
|
+
on: LinearIssueAction[];
|
|
610
|
+
}
|
|
611
|
+
interface ReactPullRequest {
|
|
612
|
+
base: string[];
|
|
613
|
+
draft: boolean | null;
|
|
614
|
+
for: GithubAccountSelector;
|
|
615
|
+
head: string[];
|
|
616
|
+
labels: string[];
|
|
617
|
+
on: PullRequestAction[];
|
|
618
|
+
paths: string[];
|
|
619
|
+
repositories: RepositoryFilter;
|
|
620
|
+
}
|
|
621
|
+
interface ReactPush {
|
|
622
|
+
branch: string[];
|
|
623
|
+
for: GithubAccountSelector;
|
|
624
|
+
paths: string[];
|
|
625
|
+
repositories: RepositoryFilter;
|
|
626
|
+
}
|
|
627
|
+
interface ReactSentry {
|
|
628
|
+
on: SentryAction[];
|
|
629
|
+
projects: string[];
|
|
630
|
+
}
|
|
631
|
+
interface ReactSlackChannel {
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* The principal this session is attributed to.
|
|
635
|
+
*/
|
|
636
|
+
interface SessionAttribution {
|
|
637
|
+
/**
|
|
638
|
+
* Identifier of the principal the session is attributed to.
|
|
639
|
+
*/
|
|
640
|
+
id: string | null;
|
|
641
|
+
/**
|
|
642
|
+
* Kind of principal the session is attributed to (e.g. a GitHub user or an API key).
|
|
643
|
+
*/
|
|
644
|
+
type: AttributionType | null;
|
|
645
|
+
/**
|
|
646
|
+
* The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user.
|
|
647
|
+
*/
|
|
648
|
+
user: GithubAccountSnippet | null;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Sometimes the GitHub API returns a user of github (can include bots)
|
|
652
|
+
* using this snippet instead of the full GithubAccount model. One example,
|
|
653
|
+
* is when the API returns a pull request.
|
|
654
|
+
*
|
|
655
|
+
* This is the least amount of info we need to represent a GitHub account.
|
|
656
|
+
*/
|
|
657
|
+
interface GithubAccountSnippet {
|
|
658
|
+
avatar_url: string;
|
|
659
|
+
id: number;
|
|
660
|
+
login: string;
|
|
661
|
+
type: GithubAccountType;
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* What the session cost, in millicents, broken down by leg and carrying its own total.
|
|
665
|
+
*/
|
|
666
|
+
interface SessionCost {
|
|
667
|
+
/**
|
|
668
|
+
* Sandbox CPU spend in millicents.
|
|
669
|
+
*/
|
|
670
|
+
cpu: number;
|
|
671
|
+
/**
|
|
672
|
+
* Platform fee in millicents.
|
|
673
|
+
*/
|
|
674
|
+
fee: number;
|
|
675
|
+
/**
|
|
676
|
+
* LLM spend in millicents.
|
|
677
|
+
*/
|
|
678
|
+
llm: number;
|
|
679
|
+
/**
|
|
680
|
+
* Sandbox memory spend in millicents.
|
|
681
|
+
*/
|
|
682
|
+
memory: number;
|
|
683
|
+
/**
|
|
684
|
+
* The grand total in millicents: llm + cpu + memory + fee.
|
|
685
|
+
*/
|
|
686
|
+
total: number;
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* The full environment configuration frozen when the session was created, with the saved environment's id and how it was chosen.
|
|
690
|
+
*/
|
|
691
|
+
interface SessionEnvironment {
|
|
692
|
+
compute: ComputeConfig1;
|
|
693
|
+
hooks: EnvironmentHooks1;
|
|
694
|
+
/**
|
|
695
|
+
* Identifier of the saved environment the session's config resolved. Null for an inline environment block or the built-in basic sandbox.
|
|
696
|
+
*/
|
|
697
|
+
id: string | null;
|
|
698
|
+
mcp_servers: (string | McpServerRef | McpStdioServer | McpRemoteServer)[];
|
|
699
|
+
repositories: RepositoryRef[];
|
|
700
|
+
/**
|
|
701
|
+
* How the environment was chosen (request, agent, platform_default; repo_default and account_default on sessions from before those ladders were removed). An inline request uses request; an inline environment declared in session configuration has no source.
|
|
702
|
+
*/
|
|
703
|
+
source: EnvironmentSource | null;
|
|
704
|
+
variables: EnvironmentVariable[];
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Sandbox compute sizing. Every field is optional; None inherits the
|
|
708
|
+
* platform default (2 vCPU / 4096 MiB / 3600s — see DEFAULT_SANDBOX_* in
|
|
709
|
+
* models/ellipsis/vms/vm_execution.py). A resolved value outside the platform
|
|
710
|
+
* bounds fails validation loudly (a sync error on the config) rather than
|
|
711
|
+
* being clamped silently.
|
|
712
|
+
*
|
|
713
|
+
* `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
|
|
714
|
+
* explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
|
|
715
|
+
* `timeout_seconds` properties resolve either form to the canonical integer
|
|
716
|
+
* the sandbox driver consumes.
|
|
717
|
+
*
|
|
718
|
+
* `timeout` is the max wall-clock the agent may run before its execution is
|
|
719
|
+
* stopped, capped at 1h (MAX_SANDBOX_TIMEOUT_SECONDS — equal to the default, so
|
|
720
|
+
* today the knob only shortens a session; the cap matches the 1-hour validity
|
|
721
|
+
* of the sandbox's GitHub token). The worker's lease/visibility heartbeat
|
|
722
|
+
* ceiling is derived from that cap, so a run at the max stays owned by its
|
|
723
|
+
* worker for its whole life.
|
|
724
|
+
*
|
|
725
|
+
* Compute currently uses a temporary flat one-cent amount per allocated
|
|
726
|
+
* execution, subject to the account's existing free-compute exemptions.
|
|
727
|
+
*/
|
|
728
|
+
interface ComputeConfig1 {
|
|
729
|
+
cpu: number | null;
|
|
730
|
+
memory: string | MemorySize | null;
|
|
731
|
+
timeout: string | Duration | null;
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Environment lifecycle scripts, in order: build_base, after_checkout,
|
|
735
|
+
* before_start. The first two produce reusable snapshots; before_start runs
|
|
736
|
+
* before an agent starts or resumes its session. Scripts run as the sandbox
|
|
737
|
+
* user in /sandbox. A nonzero exit fails the session.
|
|
738
|
+
*
|
|
739
|
+
* Legacy post_start/post_clone scripts remain supported for existing configs;
|
|
740
|
+
* both run after workspace preparation, before the agent starts or resumes.
|
|
741
|
+
* They cannot be combined with the new lifecycle fields.
|
|
742
|
+
*/
|
|
743
|
+
interface EnvironmentHooks1 {
|
|
744
|
+
/**
|
|
745
|
+
* Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared sandbox. Skipped when that prepared sandbox is reused.
|
|
746
|
+
*/
|
|
747
|
+
after_checkout: EnvironmentScript | string | null;
|
|
748
|
+
/**
|
|
749
|
+
* Run before the agent starts or resumes a session, after the sandbox is ready. This hook is not cached and adds to session startup time.
|
|
750
|
+
*/
|
|
751
|
+
before_start: EnvironmentScript | string | null;
|
|
752
|
+
/**
|
|
753
|
+
* Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs.
|
|
754
|
+
*/
|
|
755
|
+
build_base: EnvironmentBaseBuild | string | null;
|
|
756
|
+
/**
|
|
757
|
+
* Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
|
|
758
|
+
*/
|
|
759
|
+
post_clone: string | null;
|
|
760
|
+
/**
|
|
761
|
+
* Legacy session startup script. Use before_start in new configurations.
|
|
762
|
+
*/
|
|
763
|
+
post_start: string | null;
|
|
764
|
+
}
|
|
765
|
+
interface GithubPullRequestEvent {
|
|
766
|
+
action: PullRequestAction | 'review_commented';
|
|
767
|
+
actor: SessionEventActor | null;
|
|
768
|
+
branch: string;
|
|
769
|
+
number: number;
|
|
770
|
+
repository: string;
|
|
771
|
+
title: string;
|
|
772
|
+
type: 'github.pull_request';
|
|
773
|
+
url: string;
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* The event's initiator, when known; never inferred from resource ownership.
|
|
777
|
+
*/
|
|
778
|
+
interface SessionEventActor {
|
|
779
|
+
avatar_url: string | null;
|
|
780
|
+
is_bot: boolean | null;
|
|
781
|
+
name: string;
|
|
782
|
+
}
|
|
783
|
+
interface GithubIssueEvent {
|
|
784
|
+
action: IssueAction;
|
|
785
|
+
actor: SessionEventActor | null;
|
|
786
|
+
number: number;
|
|
787
|
+
repository: string;
|
|
788
|
+
title: string;
|
|
789
|
+
type: 'github.issue';
|
|
790
|
+
url: string;
|
|
791
|
+
}
|
|
792
|
+
interface GithubPushEvent {
|
|
793
|
+
actor: SessionEventActor | null;
|
|
794
|
+
after: string;
|
|
795
|
+
before: string;
|
|
796
|
+
branch: string;
|
|
797
|
+
repository: string;
|
|
798
|
+
type: 'github.push';
|
|
799
|
+
url: string;
|
|
800
|
+
}
|
|
801
|
+
interface LinearIssueEvent {
|
|
802
|
+
action: LinearIssueAction | 'commented';
|
|
803
|
+
actor: SessionEventActor | null;
|
|
804
|
+
identifier: string | null;
|
|
805
|
+
number: number;
|
|
806
|
+
title: string;
|
|
807
|
+
type: 'linear.issue';
|
|
808
|
+
url: string;
|
|
809
|
+
}
|
|
810
|
+
interface SlackMessageEvent {
|
|
811
|
+
action: 'message' | 'app_mention';
|
|
812
|
+
actor: SessionEventActor | null;
|
|
813
|
+
channel_id: string;
|
|
814
|
+
channel_name: string | null;
|
|
815
|
+
message_ts: string;
|
|
816
|
+
thread_ts: string | null;
|
|
817
|
+
type: 'slack.message';
|
|
818
|
+
url: string;
|
|
819
|
+
}
|
|
820
|
+
interface SlackChannelCreatedEvent {
|
|
821
|
+
actor: SessionEventActor | null;
|
|
822
|
+
channel_id: string;
|
|
823
|
+
channel_name: string | null;
|
|
824
|
+
type: 'slack.channel_created';
|
|
825
|
+
url: string;
|
|
826
|
+
}
|
|
827
|
+
interface SentryAlertEvent {
|
|
828
|
+
action: SentryAction;
|
|
829
|
+
actor: SessionEventActor | null;
|
|
830
|
+
organization_slug: string;
|
|
831
|
+
project_slug: string | null;
|
|
832
|
+
title: string | null;
|
|
833
|
+
type: 'sentry.alert';
|
|
834
|
+
url: string | null;
|
|
835
|
+
}
|
|
836
|
+
/**
|
|
837
|
+
* Every repo the session touched. Small enough to ride on `sessions`
|
|
838
|
+
* and be returned by every session read.
|
|
839
|
+
*/
|
|
840
|
+
interface SessionGit {
|
|
841
|
+
repos: SessionGitRepo[];
|
|
842
|
+
}
|
|
843
|
+
/**
|
|
844
|
+
* One checkout in the session's sandbox and everything the session did to
|
|
845
|
+
* it, split by whether it survived the sandbox.
|
|
846
|
+
*/
|
|
847
|
+
interface SessionGitRepo {
|
|
848
|
+
commits: SessionGitCommit[];
|
|
849
|
+
commits_total: number;
|
|
850
|
+
full_name: string;
|
|
851
|
+
local_commit: string | null;
|
|
852
|
+
local_uncommitted_files: SessionGitFile[];
|
|
853
|
+
prs: SessionGitPr[];
|
|
854
|
+
remote_branch: string | null;
|
|
855
|
+
remote_commit: string | null;
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* One commit the session created in this repo (everything past the
|
|
859
|
+
* provisioning checkout's sha), captured from the sandbox rather than the
|
|
860
|
+
* transcript so it stays correct through amends, rebases, and commits made by
|
|
861
|
+
* scripts. The repo is the parent object, so it is not repeated here.
|
|
862
|
+
*/
|
|
863
|
+
interface SessionGitCommit {
|
|
864
|
+
committed_at: string;
|
|
865
|
+
pushed: boolean;
|
|
866
|
+
sha: string;
|
|
867
|
+
subject: string;
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* One file's uncommitted change, as `git diff HEAD --numstat` reports it
|
|
871
|
+
* (with intent-to-add, so a brand-new file still counts).
|
|
872
|
+
*/
|
|
873
|
+
interface SessionGitFile {
|
|
874
|
+
additions: number;
|
|
875
|
+
deletions: number;
|
|
876
|
+
path: string;
|
|
877
|
+
status: string;
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* A pull request the session opened in this repo, written the moment the
|
|
881
|
+
* creating tool call's result lands (see extract_session_prs.PrCreateWatcher).
|
|
882
|
+
* Live PR state (open/merged/closed) is not stored — it lives on gh_prs,
|
|
883
|
+
* joined via `gh_pr_id` (GET /frontend/agents/sessions/{id}/git). The repo is
|
|
884
|
+
* the parent object, so it is not repeated here.
|
|
885
|
+
*/
|
|
886
|
+
interface SessionGitPr {
|
|
887
|
+
gh_pr_id: number | null;
|
|
888
|
+
number: number;
|
|
889
|
+
title: string | null;
|
|
890
|
+
url: string;
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* The saved handler and its display name when the session started.
|
|
894
|
+
*/
|
|
895
|
+
interface SessionHandler {
|
|
896
|
+
/**
|
|
897
|
+
* The handler's effective display name when the session started: ellipsis.name, or the service default (Slack, GitHub, Linear, or sentry).
|
|
898
|
+
*/
|
|
899
|
+
agent_name: string;
|
|
900
|
+
/**
|
|
901
|
+
* Identifier of the saved handler.
|
|
902
|
+
*/
|
|
903
|
+
id: string;
|
|
904
|
+
service: HandlerService;
|
|
905
|
+
/**
|
|
906
|
+
* Content fingerprint of the validated handler configuration used when the session started. This is not the Git commit SHA.
|
|
907
|
+
*/
|
|
908
|
+
sha: string;
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* The session's activity, conversation state, messaging policy, outcomes, and timestamps.
|
|
912
|
+
*/
|
|
913
|
+
interface SessionLifecycle {
|
|
914
|
+
/**
|
|
915
|
+
* When and by whom the session was archived; null when unarchived. Archiving does not stop or close a session.
|
|
916
|
+
*/
|
|
917
|
+
archived: SessionArchived | null;
|
|
918
|
+
conversation: ConversationState;
|
|
919
|
+
/**
|
|
920
|
+
* Explanation of the current status, when applicable.
|
|
921
|
+
*/
|
|
922
|
+
detail: string | null;
|
|
923
|
+
/**
|
|
924
|
+
* Whether the session stays open after its first turn.
|
|
925
|
+
*/
|
|
926
|
+
interactive: boolean;
|
|
927
|
+
/**
|
|
928
|
+
* The last finished execution's outcome, retained across resumes; null until an outcome has been recorded.
|
|
929
|
+
*/
|
|
930
|
+
last_execution_result: SessionExecutionResult | null;
|
|
931
|
+
prompting: SessionPrompting;
|
|
932
|
+
status: SessionLifecycleStatus;
|
|
933
|
+
/**
|
|
934
|
+
* When and by whom a stop was requested; null when no stop is pending for this execution.
|
|
935
|
+
*/
|
|
936
|
+
stopped: SessionStopped | null;
|
|
937
|
+
timestamps: SessionTimestamps;
|
|
938
|
+
}
|
|
939
|
+
/**
|
|
940
|
+
* When the session was archived and the GitHub user who archived it.
|
|
941
|
+
*/
|
|
942
|
+
interface SessionArchived {
|
|
943
|
+
/**
|
|
944
|
+
* When the session was archived.
|
|
945
|
+
*/
|
|
946
|
+
at: string;
|
|
947
|
+
/**
|
|
948
|
+
* The GitHub user who archived the session; null if unknown or unavailable.
|
|
949
|
+
*/
|
|
950
|
+
by: GithubAccountSnippet | null;
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* Outcome of the last finished execution, retained across subsequent resumes.
|
|
954
|
+
*
|
|
955
|
+
* An execution spans a start or resume through parking or termination, and may
|
|
956
|
+
* contain several turns. Admission failures also produce a result, even when
|
|
957
|
+
* provisioning never starts.
|
|
958
|
+
*/
|
|
959
|
+
interface SessionExecutionResult {
|
|
960
|
+
completion_reason: SessionExitStatus;
|
|
961
|
+
/**
|
|
962
|
+
* Human-readable explanation of that outcome.
|
|
963
|
+
*/
|
|
964
|
+
detail: string | null;
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* The session's policy for direct messages. Caller authorization and message validation are checked separately.
|
|
968
|
+
*/
|
|
969
|
+
interface SessionPrompting {
|
|
970
|
+
blocked_reason: PromptBlockedReason | null;
|
|
971
|
+
detail: string | null;
|
|
972
|
+
enabled: boolean;
|
|
973
|
+
surface_name: string | null;
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* When a stop was requested and the GitHub user who requested it.
|
|
977
|
+
*/
|
|
978
|
+
interface SessionStopped {
|
|
979
|
+
/**
|
|
980
|
+
* When a stop was requested.
|
|
981
|
+
*/
|
|
982
|
+
at: string;
|
|
983
|
+
/**
|
|
984
|
+
* The GitHub user who stopped the session, resolved at read time. Null if the user is unknown or unavailable.
|
|
985
|
+
*/
|
|
986
|
+
by: GithubAccountSnippet | null;
|
|
987
|
+
}
|
|
988
|
+
interface SessionTimestamps {
|
|
989
|
+
/**
|
|
990
|
+
* When the session was created.
|
|
991
|
+
*/
|
|
992
|
+
created_at: string;
|
|
993
|
+
/**
|
|
994
|
+
* When the session last showed agent activity.
|
|
995
|
+
*/
|
|
996
|
+
last_activity_at: string | null;
|
|
997
|
+
/**
|
|
998
|
+
* When the session last received a message.
|
|
999
|
+
*/
|
|
1000
|
+
last_message_at: string | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* When the session was last updated.
|
|
1003
|
+
*/
|
|
1004
|
+
updated_at: string;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* The predecessor session this session continues.
|
|
1008
|
+
*/
|
|
1009
|
+
interface SessionParent {
|
|
1010
|
+
/**
|
|
1011
|
+
* Identifier of the predecessor session this session continues, if any.
|
|
1012
|
+
*/
|
|
1013
|
+
session_id: string | null;
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* What the session may touch, per minted credential.
|
|
1017
|
+
*/
|
|
1018
|
+
interface PermissionsConfig1 {
|
|
1019
|
+
ellipsis: (true | 'all') | EllipsisPermissions;
|
|
1020
|
+
github: GithubPermissions;
|
|
1021
|
+
}
|
|
1022
|
+
/**
|
|
1023
|
+
* A live one-line summary of what the session is working on, refreshed
|
|
1024
|
+
* every few steps while it runs.
|
|
1025
|
+
*/
|
|
1026
|
+
interface SessionSummary {
|
|
1027
|
+
/**
|
|
1028
|
+
* When this summary line was generated. Null on summaries written before generation time was tracked.
|
|
1029
|
+
*/
|
|
1030
|
+
created_at: string | null;
|
|
1031
|
+
/**
|
|
1032
|
+
* One-line description of what the session is working on.
|
|
1033
|
+
*/
|
|
1034
|
+
description: string;
|
|
1035
|
+
}
|
|
1036
|
+
/**
|
|
1037
|
+
* The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes.
|
|
1038
|
+
*/
|
|
1039
|
+
interface SessionTokens {
|
|
1040
|
+
/**
|
|
1041
|
+
* Tokens written to the prompt cache.
|
|
1042
|
+
*/
|
|
1043
|
+
cache_creation: number;
|
|
1044
|
+
/**
|
|
1045
|
+
* Tokens read from the prompt cache.
|
|
1046
|
+
*/
|
|
1047
|
+
cache_read: number;
|
|
1048
|
+
/**
|
|
1049
|
+
* Input tokens used.
|
|
1050
|
+
*/
|
|
1051
|
+
input: number;
|
|
1052
|
+
/**
|
|
1053
|
+
* The model the token counts are attributed to.
|
|
1054
|
+
*/
|
|
1055
|
+
model: string;
|
|
1056
|
+
/**
|
|
1057
|
+
* Output tokens used.
|
|
1058
|
+
*/
|
|
1059
|
+
output: number;
|
|
1060
|
+
/**
|
|
1061
|
+
* Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
|
|
1062
|
+
*/
|
|
1063
|
+
total: number;
|
|
1064
|
+
}
|
|
1065
|
+
interface AgentListStreamMessage {
|
|
1066
|
+
agents: Agent[];
|
|
1067
|
+
type: 'agents';
|
|
1068
|
+
}
|
|
1069
|
+
/**
|
|
1070
|
+
* An agent: a saved agent definition that runs on its trigger or
|
|
1071
|
+
* when invoked, plus where it syncs from and the state of that sync.
|
|
1072
|
+
*/
|
|
1073
|
+
interface Agent {
|
|
1074
|
+
config: AgentConfig1;
|
|
1075
|
+
/**
|
|
1076
|
+
* When the agent was created.
|
|
1077
|
+
*/
|
|
1078
|
+
created_at: string;
|
|
1079
|
+
/**
|
|
1080
|
+
* The raw ellipsis.name display text from the config file.
|
|
1081
|
+
*/
|
|
1082
|
+
display_name: string | null;
|
|
1083
|
+
/**
|
|
1084
|
+
* The GitHub account that last edited the agent, when the edit came from a known user.
|
|
1085
|
+
*/
|
|
1086
|
+
edited_by: GithubAccountSnippet | null;
|
|
1087
|
+
/**
|
|
1088
|
+
* Unique identifier of the agent.
|
|
1089
|
+
*/
|
|
1090
|
+
id: string;
|
|
1091
|
+
/**
|
|
1092
|
+
* When that most recent session was created.
|
|
1093
|
+
*/
|
|
1094
|
+
last_session_created_at: string | null;
|
|
1095
|
+
/**
|
|
1096
|
+
* The most recent session this agent started, or null if it has never run.
|
|
1097
|
+
*/
|
|
1098
|
+
last_session_id: string | null;
|
|
1099
|
+
/**
|
|
1100
|
+
* The parse or validation error from the most recent sync attempt, or null when it succeeded. A non-null value means the agent is not running the YAML currently on the branch.
|
|
1101
|
+
*/
|
|
1102
|
+
last_sync_error: string | null;
|
|
1103
|
+
/**
|
|
1104
|
+
* The last commit the agent was synced from.
|
|
1105
|
+
*/
|
|
1106
|
+
last_synced_commit_sha: string | null;
|
|
1107
|
+
managed_by: ConfigManagedBy;
|
|
1108
|
+
/**
|
|
1109
|
+
* The agent's account-unique addressable name (a slug of its display name); usable anywhere an agent is referenced, interchangeably with the id.
|
|
1110
|
+
*/
|
|
1111
|
+
name: string | null;
|
|
1112
|
+
/**
|
|
1113
|
+
* The open pull request that adds this agent's file. Non-null means the agent is not live yet: it starts running once the pull request merges and syncs.
|
|
1114
|
+
*/
|
|
1115
|
+
pending_pull_request_url: string | null;
|
|
1116
|
+
/**
|
|
1117
|
+
* The definition's content identity: the version fingerprint frozen onto each session that runs it.
|
|
1118
|
+
*/
|
|
1119
|
+
sha: string;
|
|
1120
|
+
/**
|
|
1121
|
+
* The repository, path, and branch the agent syncs from. Null only transiently, before the creating pull request's file lands on the branch.
|
|
1122
|
+
*/
|
|
1123
|
+
source_details: GithubSourceDetails | null;
|
|
1124
|
+
/**
|
|
1125
|
+
* When the agent was last updated.
|
|
1126
|
+
*/
|
|
1127
|
+
updated_at: string;
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* The agent definition itself, in the same schema as its YAML file: identity, trigger, input contract, and the session block.
|
|
1131
|
+
*/
|
|
1132
|
+
interface AgentConfig1 {
|
|
1133
|
+
ellipsis: AgentIdentity;
|
|
1134
|
+
input: InputContract | null;
|
|
1135
|
+
session: SessionConfig;
|
|
1136
|
+
trigger: (CronTrigger | ReactTrigger) | null;
|
|
1137
|
+
}
|
|
1138
|
+
/**
|
|
1139
|
+
* Identifies the file a GitHub-sourced agent is synced from.
|
|
1140
|
+
*
|
|
1141
|
+
* Keyed on the repository ID (not owner/name) so repository and org renames
|
|
1142
|
+
* don't orphan the config; resolve display names from gh_repositories at
|
|
1143
|
+
* read time.
|
|
1144
|
+
*/
|
|
1145
|
+
interface GithubSourceDetails {
|
|
1146
|
+
branch: string;
|
|
1147
|
+
path: string;
|
|
1148
|
+
repo_id: number;
|
|
1149
|
+
}
|
|
1150
|
+
interface CollectionStreamHeartbeat {
|
|
1151
|
+
type: 'heartbeat';
|
|
1152
|
+
}
|
|
1153
|
+
interface SandboxSnapshotFrame {
|
|
1154
|
+
sandbox: VMExecutionResponse;
|
|
1155
|
+
type: 'snapshot';
|
|
1156
|
+
}
|
|
1157
|
+
interface VMExecutionResponse {
|
|
1158
|
+
cache_tier: SandboxCacheTier | null;
|
|
1159
|
+
cost_sandbox_cpu: number;
|
|
1160
|
+
cost_sandbox_memory: number;
|
|
1161
|
+
cpu: number;
|
|
1162
|
+
encrypted_ports: number[];
|
|
1163
|
+
environment_variable_keys: string[];
|
|
1164
|
+
failed_at: string | null;
|
|
1165
|
+
hooks: EnvironmentHooks2;
|
|
1166
|
+
id: string;
|
|
1167
|
+
memory_mib: number;
|
|
1168
|
+
phase_timings: {
|
|
1169
|
+
[k: string]: number;
|
|
1170
|
+
};
|
|
1171
|
+
post_clone: string | null;
|
|
1172
|
+
post_start: string | null;
|
|
1173
|
+
repositories: SandboxRepository[];
|
|
1174
|
+
running_at: string | null;
|
|
1175
|
+
scheduled_at: string;
|
|
1176
|
+
source: SandboxSource;
|
|
1177
|
+
source_session_id: string | null;
|
|
1178
|
+
status: SandboxStatus;
|
|
1179
|
+
terminated_at: string | null;
|
|
1180
|
+
terminating_at: string | null;
|
|
1181
|
+
timeout_seconds: number;
|
|
1182
|
+
tunnels: SandboxPort[];
|
|
1183
|
+
type: SandboxType;
|
|
1184
|
+
unencrypted_ports: number[];
|
|
1185
|
+
}
|
|
1186
|
+
/**
|
|
1187
|
+
* Environment lifecycle scripts, in order: build_base, after_checkout,
|
|
1188
|
+
* before_start. The first two produce reusable snapshots; before_start runs
|
|
1189
|
+
* before an agent starts or resumes its session. Scripts run as the sandbox
|
|
1190
|
+
* user in /sandbox. A nonzero exit fails the session.
|
|
1191
|
+
*
|
|
1192
|
+
* Legacy post_start/post_clone scripts remain supported for existing configs;
|
|
1193
|
+
* both run after workspace preparation, before the agent starts or resumes.
|
|
1194
|
+
* They cannot be combined with the new lifecycle fields.
|
|
1195
|
+
*/
|
|
1196
|
+
interface EnvironmentHooks2 {
|
|
1197
|
+
/**
|
|
1198
|
+
* Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared sandbox. Skipped when that prepared sandbox is reused.
|
|
1199
|
+
*/
|
|
1200
|
+
after_checkout: EnvironmentScript | string | null;
|
|
1201
|
+
/**
|
|
1202
|
+
* Run before the agent starts or resumes a session, after the sandbox is ready. This hook is not cached and adds to session startup time.
|
|
1203
|
+
*/
|
|
1204
|
+
before_start: EnvironmentScript | string | null;
|
|
1205
|
+
/**
|
|
1206
|
+
* Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs.
|
|
1207
|
+
*/
|
|
1208
|
+
build_base: EnvironmentBaseBuild | string | null;
|
|
1209
|
+
/**
|
|
1210
|
+
* Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
|
|
1211
|
+
*/
|
|
1212
|
+
post_clone: string | null;
|
|
1213
|
+
/**
|
|
1214
|
+
* Legacy session startup script. Use before_start in new configurations.
|
|
1215
|
+
*/
|
|
1216
|
+
post_start: string | null;
|
|
1217
|
+
}
|
|
1218
|
+
interface SandboxRepository {
|
|
1219
|
+
id: number;
|
|
1220
|
+
name: string;
|
|
1221
|
+
owner_id: number;
|
|
1222
|
+
owner_name: string;
|
|
1223
|
+
sha: string;
|
|
1224
|
+
}
|
|
1225
|
+
interface SandboxPort {
|
|
1226
|
+
port: number;
|
|
1227
|
+
tcp_host: string | null;
|
|
1228
|
+
tcp_port: number | null;
|
|
1229
|
+
tls_host: string;
|
|
1230
|
+
tls_port: number;
|
|
1231
|
+
tunnel_url: string;
|
|
1232
|
+
unencrypted_host: string | null;
|
|
1233
|
+
unencrypted_port: number | null;
|
|
1234
|
+
}
|
|
1235
|
+
interface SandboxUpdateFrame {
|
|
1236
|
+
sandbox: VMExecutionResponse;
|
|
1237
|
+
type: 'sandbox';
|
|
1238
|
+
}
|
|
3
1239
|
|
|
4
1240
|
interface CursorResponse {
|
|
5
1241
|
has_more: boolean;
|
|
@@ -31,46 +1267,798 @@ interface SessionsApi {
|
|
|
31
1267
|
limit?: number;
|
|
32
1268
|
}): Promise<unknown>;
|
|
33
1269
|
}
|
|
34
|
-
declare function isSettled(session: S$1['Session']): boolean;
|
|
35
|
-
declare class SessionHandle {
|
|
36
|
-
private readonly sessions;
|
|
37
|
-
readonly id: string;
|
|
38
|
-
session: S$1['Session'];
|
|
39
|
-
constructor(sessions: SessionsApi, session: S$1['Session']);
|
|
40
|
-
refresh(): Promise<S$1['Session']>;
|
|
41
|
-
wait(options?: {
|
|
42
|
-
timeoutMs?: number;
|
|
43
|
-
pollIntervalMs?: number;
|
|
44
|
-
}): Promise<S$1['Session']>;
|
|
45
|
-
send(message: string, options?: {
|
|
46
|
-
images?: S$1['ImageAttachment'][];
|
|
47
|
-
idempotencyKey?: string;
|
|
48
|
-
}): Promise<S$1['SessionMessage']>;
|
|
49
|
-
stop(): Promise<S$1['Session']>;
|
|
1270
|
+
declare function isSettled(session: S$1['Session']): boolean;
|
|
1271
|
+
declare class SessionHandle {
|
|
1272
|
+
private readonly sessions;
|
|
1273
|
+
readonly id: string;
|
|
1274
|
+
session: S$1['Session'];
|
|
1275
|
+
constructor(sessions: SessionsApi, session: S$1['Session']);
|
|
1276
|
+
refresh(): Promise<S$1['Session']>;
|
|
1277
|
+
wait(options?: {
|
|
1278
|
+
timeoutMs?: number;
|
|
1279
|
+
pollIntervalMs?: number;
|
|
1280
|
+
}): Promise<S$1['Session']>;
|
|
1281
|
+
send(message: string, options?: {
|
|
1282
|
+
images?: S$1['ImageAttachment'][];
|
|
1283
|
+
idempotencyKey?: string;
|
|
1284
|
+
}): Promise<S$1['SessionMessage']>;
|
|
1285
|
+
stop(): Promise<S$1['Session']>;
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
declare const DEFAULT_BASE_URL = "https://api.ellipsis.dev";
|
|
1289
|
+
interface TransportOptions {
|
|
1290
|
+
apiKey: string;
|
|
1291
|
+
baseUrl?: string;
|
|
1292
|
+
timeoutMs?: number;
|
|
1293
|
+
maxRetries?: number;
|
|
1294
|
+
fetch?: typeof globalThis.fetch;
|
|
1295
|
+
}
|
|
1296
|
+
declare class Transport {
|
|
1297
|
+
private readonly baseUrl;
|
|
1298
|
+
private readonly headers;
|
|
1299
|
+
private readonly timeoutMs;
|
|
1300
|
+
private readonly maxRetries;
|
|
1301
|
+
private readonly fetchImpl;
|
|
1302
|
+
constructor(options: TransportOptions);
|
|
1303
|
+
request<T>(method: string, path: string, options?: {
|
|
1304
|
+
query?: string;
|
|
1305
|
+
body?: unknown;
|
|
1306
|
+
}): Promise<T>;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
type S = components['schemas'];
|
|
1310
|
+
declare class EllipsisAccountApiKeys {
|
|
1311
|
+
private readonly transport;
|
|
1312
|
+
constructor(transport: Transport);
|
|
1313
|
+
/**
|
|
1314
|
+
* Create Api Key
|
|
1315
|
+
*
|
|
1316
|
+
* Create an organization key. Requires a verified GitHub administrator.
|
|
1317
|
+
*
|
|
1318
|
+
* Authenticate as a dashboard user or with a user token. An organization
|
|
1319
|
+
* API key cannot create other keys. The secret is returned only once.
|
|
1320
|
+
*
|
|
1321
|
+
* Required permissions: write:tokens.
|
|
1322
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1323
|
+
* CLI user token: Requires an account administrator.
|
|
1324
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1325
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1326
|
+
*/
|
|
1327
|
+
create(options: {
|
|
1328
|
+
name: string;
|
|
1329
|
+
}): Promise<S['CreateApiKeyResponse']>;
|
|
1330
|
+
/**
|
|
1331
|
+
* List Api Keys
|
|
1332
|
+
*
|
|
1333
|
+
* Required permissions: read:tokens.
|
|
1334
|
+
* API key: Supported.
|
|
1335
|
+
* CLI user token: Supported.
|
|
1336
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1337
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1338
|
+
*/
|
|
1339
|
+
list(): Promise<S['ListApiKeysResponse']>;
|
|
1340
|
+
/**
|
|
1341
|
+
* Revoke Api Key
|
|
1342
|
+
*
|
|
1343
|
+
* Revoke an organization key as a verified GitHub administrator.
|
|
1344
|
+
*
|
|
1345
|
+
* Required permissions: delete:tokens.
|
|
1346
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1347
|
+
* CLI user token: Requires an account administrator.
|
|
1348
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1349
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1350
|
+
*/
|
|
1351
|
+
revoke(api_key_id: string): Promise<S['TokenRevokedResponse']>;
|
|
1352
|
+
}
|
|
1353
|
+
declare class EllipsisAccountBillingAutoRecharge {
|
|
1354
|
+
private readonly transport;
|
|
1355
|
+
constructor(transport: Transport);
|
|
1356
|
+
/**
|
|
1357
|
+
* Get Auto Recharge
|
|
1358
|
+
*
|
|
1359
|
+
* Get your automatic credit recharge settings.
|
|
1360
|
+
*
|
|
1361
|
+
* An account without saved settings returns disabled defaults and no
|
|
1362
|
+
* card. No payment-method identifier or card details are exposed.
|
|
1363
|
+
*
|
|
1364
|
+
* Required permissions: read:account.
|
|
1365
|
+
* API key: Supported.
|
|
1366
|
+
* CLI user token: Supported.
|
|
1367
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1368
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1369
|
+
*/
|
|
1370
|
+
get(): Promise<S['AutoRechargeSettings']>;
|
|
1371
|
+
/**
|
|
1372
|
+
* Update Auto Recharge
|
|
1373
|
+
*
|
|
1374
|
+
* Set your automatic credit recharge policy.
|
|
1375
|
+
*
|
|
1376
|
+
* Requires a human account administrator; API keys and sandbox tokens
|
|
1377
|
+
* cannot change this policy. Supply enabled explicitly. Saving amounts
|
|
1378
|
+
* with enabled=false keeps recharge off; enabling requires a saved card.
|
|
1379
|
+
* A recharge buys amount_cents of credit and charges the platform fee
|
|
1380
|
+
* in addition. Amounts and thresholds preserve exact cents.
|
|
1381
|
+
*
|
|
1382
|
+
* Required permissions: write:account.
|
|
1383
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1384
|
+
* CLI user token: Requires an account administrator.
|
|
1385
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1386
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1387
|
+
*/
|
|
1388
|
+
set(options: {
|
|
1389
|
+
amount_cents: number;
|
|
1390
|
+
enabled: boolean;
|
|
1391
|
+
threshold_cents: number;
|
|
1392
|
+
}): Promise<S['AutoRechargeSettings']>;
|
|
1393
|
+
}
|
|
1394
|
+
declare class EllipsisAccountBilling {
|
|
1395
|
+
private readonly transport;
|
|
1396
|
+
readonly autoRecharge: EllipsisAccountBillingAutoRecharge;
|
|
1397
|
+
constructor(transport: Transport);
|
|
1398
|
+
/**
|
|
1399
|
+
* Create Card Setup Session
|
|
1400
|
+
*
|
|
1401
|
+
* Save a card through Stripe's hosted setup flow.
|
|
1402
|
+
*
|
|
1403
|
+
* Requires a human account administrator. Open the returned URL to
|
|
1404
|
+
* finish setup and return to Billing. Saving a card does not enable
|
|
1405
|
+
* auto-recharge or buy credit.
|
|
1406
|
+
*
|
|
1407
|
+
* Required permissions: write:account.
|
|
1408
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1409
|
+
* CLI user token: Requires an account administrator.
|
|
1410
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1411
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1412
|
+
*/
|
|
1413
|
+
cardSetup(): Promise<S['BillingCheckout']>;
|
|
1414
|
+
/**
|
|
1415
|
+
* Create Credit Checkout Session
|
|
1416
|
+
*
|
|
1417
|
+
* Buy prepaid credit through Stripe's hosted checkout.
|
|
1418
|
+
*
|
|
1419
|
+
* Requires a human account administrator. Open the returned URL to
|
|
1420
|
+
* complete payment. Credit is granted only after payment succeeds;
|
|
1421
|
+
* the platform fee is charged in addition to amount_cents. Returning
|
|
1422
|
+
* to Billing carries the checkout session ID for receipt lookup.
|
|
1423
|
+
*
|
|
1424
|
+
* Required permissions: write:account.
|
|
1425
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1426
|
+
* CLI user token: Requires an account administrator.
|
|
1427
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1428
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1429
|
+
*/
|
|
1430
|
+
checkout(options: {
|
|
1431
|
+
amount_cents: number;
|
|
1432
|
+
}): Promise<S['BillingCheckout']>;
|
|
1433
|
+
/**
|
|
1434
|
+
* Claim Signup Credit
|
|
1435
|
+
*
|
|
1436
|
+
* The "Claim $100" button. Runs the same idempotent billing
|
|
1437
|
+
* bootstrap that otherwise fires lazily at the first session (Stripe
|
|
1438
|
+
* customer + usage subscription + the signup grant). A repeat call is
|
|
1439
|
+
* a no-op that returns the current state.
|
|
1440
|
+
*
|
|
1441
|
+
* Required permissions: write:account.
|
|
1442
|
+
* API key: Supported.
|
|
1443
|
+
* CLI user token: Supported.
|
|
1444
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1445
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1446
|
+
*/
|
|
1447
|
+
claimSignupCredit(): Promise<S['BillingStatus']>;
|
|
1448
|
+
/**
|
|
1449
|
+
* Get Fee Schedule
|
|
1450
|
+
*
|
|
1451
|
+
* Get the account's rate card, in US dollars.
|
|
1452
|
+
*
|
|
1453
|
+
* Required permissions: read:account.
|
|
1454
|
+
* API key: Supported.
|
|
1455
|
+
* CLI user token: Supported.
|
|
1456
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1457
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1458
|
+
*/
|
|
1459
|
+
feeSchedule(): Promise<S['FeeScheduleResponse']>;
|
|
1460
|
+
/**
|
|
1461
|
+
* List Credit Grants
|
|
1462
|
+
*
|
|
1463
|
+
* List your confirmed credit grants and reversals.
|
|
1464
|
+
*
|
|
1465
|
+
* Returns only your account's grants. The total is before usage;
|
|
1466
|
+
* /v1/account/budget reports the available balance.
|
|
1467
|
+
*
|
|
1468
|
+
* Required permissions: read:account.
|
|
1469
|
+
* API key: Supported.
|
|
1470
|
+
* CLI user token: Supported.
|
|
1471
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1472
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1473
|
+
*/
|
|
1474
|
+
grants(): Promise<S['CreditGrantsResponse']>;
|
|
1475
|
+
/**
|
|
1476
|
+
* Get Credit Purchase
|
|
1477
|
+
*
|
|
1478
|
+
* Read the amount collected for a credit purchase.
|
|
1479
|
+
*
|
|
1480
|
+
* The amount includes the platform fee and comes from Stripe. An
|
|
1481
|
+
* incomplete, missing, or other-account purchase returns 404.
|
|
1482
|
+
*
|
|
1483
|
+
* Required permissions: read:account.
|
|
1484
|
+
* API key: Supported.
|
|
1485
|
+
* CLI user token: Supported.
|
|
1486
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1487
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1488
|
+
*/
|
|
1489
|
+
purchase(checkout_id: string): Promise<S['CreditPurchaseReceipt']>;
|
|
1490
|
+
/**
|
|
1491
|
+
* Get Credit Purchase Options
|
|
1492
|
+
*
|
|
1493
|
+
* Get credit purchase bounds and the platform fee.
|
|
1494
|
+
*
|
|
1495
|
+
* All amounts are integer US cents. The fee is added to the credit
|
|
1496
|
+
* amount; it does not reduce the credit granted.
|
|
1497
|
+
*
|
|
1498
|
+
* Required permissions: read:account.
|
|
1499
|
+
* API key: Supported.
|
|
1500
|
+
* CLI user token: Supported.
|
|
1501
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1502
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1503
|
+
*/
|
|
1504
|
+
purchaseOptions(): Promise<S['CreditPurchaseOptions']>;
|
|
1505
|
+
/**
|
|
1506
|
+
* Get Account Billing
|
|
1507
|
+
*
|
|
1508
|
+
* Explain whether your account can start sessions.
|
|
1509
|
+
*
|
|
1510
|
+
* Uses the same account gate as session admission, including credit,
|
|
1511
|
+
* contact email, and personal Claude subscription eligibility. Scoped
|
|
1512
|
+
* spend limits are reported separately by /v1/account/budget.
|
|
1513
|
+
*
|
|
1514
|
+
* Required permissions: read:account.
|
|
1515
|
+
* API key: Supported.
|
|
1516
|
+
* CLI user token: Supported.
|
|
1517
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1518
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1519
|
+
*/
|
|
1520
|
+
status(): Promise<S['BillingStatus']>;
|
|
1521
|
+
}
|
|
1522
|
+
declare class EllipsisAccountModels {
|
|
1523
|
+
private readonly transport;
|
|
1524
|
+
constructor(transport: Transport);
|
|
1525
|
+
/**
|
|
1526
|
+
* List Account Models
|
|
1527
|
+
*
|
|
1528
|
+
* List selectable agent models.
|
|
1529
|
+
*
|
|
1530
|
+
* Grouped by manufacturer and model family, newest versions first
|
|
1531
|
+
* within each family, with the organization's default model
|
|
1532
|
+
* flagged (`is_default_agent_model`: the `default_model` of
|
|
1533
|
+
* `GET /v1/account/settings`).
|
|
1534
|
+
*
|
|
1535
|
+
* Reads the same registry as the dashboard's rate table, so a
|
|
1536
|
+
* client's model picker can never drift from what's offered. The
|
|
1537
|
+
* selectable set is global; only the flag is account-scoped.
|
|
1538
|
+
*
|
|
1539
|
+
* Required permissions: read:templates.
|
|
1540
|
+
* API key: Supported.
|
|
1541
|
+
* CLI user token: Supported.
|
|
1542
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1543
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1544
|
+
*/
|
|
1545
|
+
list(): Promise<S['ModelsListResponse']>;
|
|
1546
|
+
}
|
|
1547
|
+
declare class EllipsisAccountNotifications {
|
|
1548
|
+
private readonly transport;
|
|
1549
|
+
constructor(transport: Transport);
|
|
1550
|
+
/**
|
|
1551
|
+
* Send Test Notification Email
|
|
1552
|
+
*
|
|
1553
|
+
* Send the alert email template to one address with sample data,
|
|
1554
|
+
* so a typo'd finance alias is caught by a human instead of failing
|
|
1555
|
+
* silently when a real alert fires.
|
|
1556
|
+
*
|
|
1557
|
+
* Required permissions: write:account.
|
|
1558
|
+
* API key: Supported.
|
|
1559
|
+
* CLI user token: Supported.
|
|
1560
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1561
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1562
|
+
*/
|
|
1563
|
+
testEmail(options: {
|
|
1564
|
+
email: string;
|
|
1565
|
+
}): Promise<S['AccountActionResponse']>;
|
|
1566
|
+
}
|
|
1567
|
+
declare class EllipsisAccountOnboarding {
|
|
1568
|
+
private readonly transport;
|
|
1569
|
+
constructor(transport: Transport);
|
|
1570
|
+
/**
|
|
1571
|
+
* Get Account Onboarding
|
|
1572
|
+
*
|
|
1573
|
+
* Read the account's saved onboarding answers, or null before setup.
|
|
1574
|
+
*
|
|
1575
|
+
* Required permissions: read:account.
|
|
1576
|
+
* API key: Supported.
|
|
1577
|
+
* CLI user token: Supported.
|
|
1578
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1579
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1580
|
+
*/
|
|
1581
|
+
get(): Promise<S['AccountOnboardingResponse']>;
|
|
1582
|
+
/**
|
|
1583
|
+
* Update Account Onboarding
|
|
1584
|
+
*
|
|
1585
|
+
* Save supplied onboarding answers, preserving omitted answers.
|
|
1586
|
+
*
|
|
1587
|
+
* Organizations can save their work email before selecting use cases.
|
|
1588
|
+
* Saving use cases requires a valid organization work email and at
|
|
1589
|
+
* least one choice. When Other is the only choice, describe it.
|
|
1590
|
+
* Personal accounts save a null work email. This does not change the
|
|
1591
|
+
* billing contact email. Sandbox credentials cannot update answers.
|
|
1592
|
+
* Supplying an organization work email requires a human user and sends
|
|
1593
|
+
* a Slack Connect invitation. Slack failures do not undo saved answers.
|
|
1594
|
+
*
|
|
1595
|
+
* Required permissions: write:account.
|
|
1596
|
+
* API key: Supported.
|
|
1597
|
+
* CLI user token: Supported.
|
|
1598
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1599
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1600
|
+
*/
|
|
1601
|
+
update(options?: {
|
|
1602
|
+
other_use_case?: string | null;
|
|
1603
|
+
use_cases?: (S['AccountOnboardingUseCase'])[];
|
|
1604
|
+
work_email?: string | null;
|
|
1605
|
+
}): Promise<S['AccountOnboardingResponse']>;
|
|
1606
|
+
}
|
|
1607
|
+
declare class EllipsisAccountProvidersAnthropic {
|
|
1608
|
+
private readonly transport;
|
|
1609
|
+
constructor(transport: Transport);
|
|
1610
|
+
/**
|
|
1611
|
+
* Delete Anthropic Config
|
|
1612
|
+
*
|
|
1613
|
+
* Required permissions: delete:account.
|
|
1614
|
+
* API key: Supported.
|
|
1615
|
+
* CLI user token: Supported.
|
|
1616
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1617
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1618
|
+
*/
|
|
1619
|
+
delete(): Promise<void>;
|
|
1620
|
+
/**
|
|
1621
|
+
* Get Anthropic Config
|
|
1622
|
+
*
|
|
1623
|
+
* Required permissions: read:account.
|
|
1624
|
+
* API key: Supported.
|
|
1625
|
+
* CLI user token: Supported.
|
|
1626
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1627
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1628
|
+
*/
|
|
1629
|
+
get(): Promise<S['AnthropicConfigResponse']>;
|
|
1630
|
+
/**
|
|
1631
|
+
* Put Anthropic Config
|
|
1632
|
+
*
|
|
1633
|
+
* Required permissions: write:account.
|
|
1634
|
+
* API key: Supported.
|
|
1635
|
+
* CLI user token: Supported.
|
|
1636
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1637
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1638
|
+
*/
|
|
1639
|
+
set(options: {
|
|
1640
|
+
api_key: string;
|
|
1641
|
+
}): Promise<S['AnthropicConfigResponse']>;
|
|
1642
|
+
/**
|
|
1643
|
+
* Validate Anthropic Config
|
|
1644
|
+
*
|
|
1645
|
+
* Required permissions: write:account.
|
|
1646
|
+
* API key: Supported.
|
|
1647
|
+
* CLI user token: Supported.
|
|
1648
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1649
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1650
|
+
*/
|
|
1651
|
+
validate(): Promise<S['ValidateAnthropicConfigResponse']>;
|
|
1652
|
+
}
|
|
1653
|
+
declare class EllipsisAccountProvidersBedrock {
|
|
1654
|
+
private readonly transport;
|
|
1655
|
+
constructor(transport: Transport);
|
|
1656
|
+
/**
|
|
1657
|
+
* Delete Bedrock Config
|
|
1658
|
+
*
|
|
1659
|
+
* Required permissions: delete:account.
|
|
1660
|
+
* API key: Supported.
|
|
1661
|
+
* CLI user token: Supported.
|
|
1662
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1663
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1664
|
+
*/
|
|
1665
|
+
delete(): Promise<void>;
|
|
1666
|
+
/**
|
|
1667
|
+
* Get Bedrock Config
|
|
1668
|
+
*
|
|
1669
|
+
* Required permissions: read:account.
|
|
1670
|
+
* API key: Supported.
|
|
1671
|
+
* CLI user token: Supported.
|
|
1672
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1673
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1674
|
+
*/
|
|
1675
|
+
get(): Promise<S['BedrockConfigResponse']>;
|
|
1676
|
+
/**
|
|
1677
|
+
* Put Bedrock Config
|
|
1678
|
+
*
|
|
1679
|
+
* Required permissions: write:account.
|
|
1680
|
+
* API key: Supported.
|
|
1681
|
+
* CLI user token: Supported.
|
|
1682
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1683
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1684
|
+
*/
|
|
1685
|
+
set(options: {
|
|
1686
|
+
model_map: Record<string, string>;
|
|
1687
|
+
region: string;
|
|
1688
|
+
role_arn: string;
|
|
1689
|
+
}): Promise<S['BedrockConfigResponse']>;
|
|
1690
|
+
/**
|
|
1691
|
+
* Validate Bedrock Config
|
|
1692
|
+
*
|
|
1693
|
+
* Required permissions: write:account.
|
|
1694
|
+
* API key: Supported.
|
|
1695
|
+
* CLI user token: Supported.
|
|
1696
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1697
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1698
|
+
*/
|
|
1699
|
+
validate(): Promise<S['ValidateBedrockConfigResponse']>;
|
|
1700
|
+
}
|
|
1701
|
+
declare class EllipsisAccountProviders {
|
|
1702
|
+
private readonly transport;
|
|
1703
|
+
readonly anthropic: EllipsisAccountProvidersAnthropic;
|
|
1704
|
+
readonly bedrock: EllipsisAccountProvidersBedrock;
|
|
1705
|
+
constructor(transport: Transport);
|
|
50
1706
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1707
|
+
declare class EllipsisAccountSettings {
|
|
1708
|
+
private readonly transport;
|
|
1709
|
+
constructor(transport: Transport);
|
|
1710
|
+
/**
|
|
1711
|
+
* Get Account Settings
|
|
1712
|
+
*
|
|
1713
|
+
* Get the organization settings.
|
|
1714
|
+
*
|
|
1715
|
+
* Session model and budget defaults, code review and mention behavior,
|
|
1716
|
+
* analytics, retention, and notification contacts. PATCH replaces
|
|
1717
|
+
* supplied sections; PUT preserves its model-and-budget-only behavior.
|
|
1718
|
+
*
|
|
1719
|
+
* Required permissions: read:defaults.
|
|
1720
|
+
* API key: Supported.
|
|
1721
|
+
* CLI user token: Supported.
|
|
1722
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1723
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1724
|
+
*/
|
|
1725
|
+
get(): Promise<S['AccountSettings']>;
|
|
1726
|
+
/**
|
|
1727
|
+
* Set Organization Settings
|
|
1728
|
+
*
|
|
1729
|
+
* Set the organization settings.
|
|
1730
|
+
*
|
|
1731
|
+
* Replaces both: `default_model` accepts an alias or canonical id
|
|
1732
|
+
* and is stored canonical, and cannot be cleared (it is the only
|
|
1733
|
+
* default a session's model resolves against);
|
|
1734
|
+
* `budget_ceiling.session` is in US dollars, at most the platform
|
|
1735
|
+
* ceiling, and null clears it.
|
|
1736
|
+
* Refused for sandbox tokens (potentially prompt-injected code must
|
|
1737
|
+
* not repoint the organization's defaults).
|
|
1738
|
+
*
|
|
1739
|
+
* Required permissions: write:defaults.
|
|
1740
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1741
|
+
* CLI user token: Requires an account administrator.
|
|
1742
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1743
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1744
|
+
*/
|
|
1745
|
+
set(options: {
|
|
1746
|
+
budget_ceiling?: S['BudgetCeiling'];
|
|
1747
|
+
default_model: string;
|
|
1748
|
+
}): Promise<S['OrganizationSettings']>;
|
|
1749
|
+
/**
|
|
1750
|
+
* Patch Account Settings
|
|
1751
|
+
*
|
|
1752
|
+
* Replace supplied settings sections without changing omitted sections.
|
|
1753
|
+
*
|
|
1754
|
+
* Changes to model or budget defaults require a GitHub administrator.
|
|
1755
|
+
*
|
|
1756
|
+
* Required permissions: write:defaults.
|
|
1757
|
+
* 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.
|
|
1758
|
+
* CLI user token: Requires an account administrator when setting budget_ceiling, default_model to a non-null value.
|
|
1759
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1760
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1761
|
+
*/
|
|
1762
|
+
update(options?: {
|
|
1763
|
+
analytics?: S['AnalyticsSettings'] | null;
|
|
1764
|
+
budget_ceiling?: S['BudgetCeiling'] | null;
|
|
1765
|
+
code_review?: S['CodeReviewSettings'] | null;
|
|
1766
|
+
data_retention?: S['DataRetentionSettings'] | null;
|
|
1767
|
+
default_model?: string | null;
|
|
1768
|
+
notifications?: S['NotificationSettings'] | null;
|
|
1769
|
+
}): Promise<S['AccountSettings']>;
|
|
59
1770
|
}
|
|
60
|
-
declare class
|
|
61
|
-
private readonly
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1771
|
+
declare class EllipsisAccount {
|
|
1772
|
+
private readonly transport;
|
|
1773
|
+
readonly apiKeys: EllipsisAccountApiKeys;
|
|
1774
|
+
readonly billing: EllipsisAccountBilling;
|
|
1775
|
+
readonly models: EllipsisAccountModels;
|
|
1776
|
+
readonly notifications: EllipsisAccountNotifications;
|
|
1777
|
+
readonly onboarding: EllipsisAccountOnboarding;
|
|
1778
|
+
readonly providers: EllipsisAccountProviders;
|
|
1779
|
+
readonly settings: EllipsisAccountSettings;
|
|
1780
|
+
constructor(transport: Transport);
|
|
1781
|
+
/**
|
|
1782
|
+
* Get Customer Activity
|
|
1783
|
+
*
|
|
1784
|
+
* All-time per-surface activity flags: the dashboards' demo-data
|
|
1785
|
+
* fallback reads these instead of inferring "no history" from a
|
|
1786
|
+
* windowed, filtered response.
|
|
1787
|
+
*
|
|
1788
|
+
* Required permissions: read:account.
|
|
1789
|
+
* API key: Supported.
|
|
1790
|
+
* CLI user token: Supported.
|
|
1791
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1792
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1793
|
+
*/
|
|
1794
|
+
activity(): Promise<S['AccountActivity']>;
|
|
1795
|
+
/**
|
|
1796
|
+
* Get Customer Audit Log
|
|
1797
|
+
*
|
|
1798
|
+
* Required permissions: read:account.
|
|
1799
|
+
* API key: Supported.
|
|
1800
|
+
* CLI user token: Supported.
|
|
1801
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1802
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1803
|
+
*/
|
|
1804
|
+
auditLog(): Promise<S['AccountAuditLogResponse']>;
|
|
1805
|
+
/**
|
|
1806
|
+
* Get Account Budget
|
|
1807
|
+
*
|
|
1808
|
+
* Get prepaid credit, actual trailing budgets, and developer/API-key limits.
|
|
1809
|
+
*
|
|
1810
|
+
* Budgets cover the trailing 1, 7 and 28 days; they do not replenish
|
|
1811
|
+
* prepaid credit. Amounts include measured usage from active sessions.
|
|
1812
|
+
* Each paid LLM request requires positive credit and budget headroom.
|
|
1813
|
+
* An admitted request can overshoot; concurrent paid requests are limited
|
|
1814
|
+
* by your account and per-session allowances.
|
|
1815
|
+
*
|
|
1816
|
+
* Required permissions: read:account.
|
|
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.
|
|
1821
|
+
*/
|
|
1822
|
+
budget(): Promise<S['BudgetSummary']>;
|
|
1823
|
+
/**
|
|
1824
|
+
* Update Customer
|
|
1825
|
+
*
|
|
1826
|
+
* Required permissions: write:account.
|
|
1827
|
+
* API key: Supported.
|
|
1828
|
+
* CLI user token: Supported.
|
|
1829
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1830
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1831
|
+
*/
|
|
1832
|
+
update(options?: {
|
|
1833
|
+
can_start_job_runs?: boolean | null;
|
|
1834
|
+
contact_email?: string | null;
|
|
1835
|
+
}): Promise<S['AccountResponse']>;
|
|
1836
|
+
/**
|
|
1837
|
+
* Update Budget
|
|
1838
|
+
*
|
|
1839
|
+
* Update spending policy or budget alerts as an account administrator.
|
|
1840
|
+
*
|
|
1841
|
+
* Each supplied section replaces that section; omitted sections are
|
|
1842
|
+
* preserved. Set policy.developer_defaults to null to disable developer
|
|
1843
|
+
* limits. Null override windows inherit their default. API keys use
|
|
1844
|
+
* their stable ID, not their secret. Changes apply to the next paid
|
|
1845
|
+
* request, including sessions already running. API keys and sandbox
|
|
1846
|
+
* credentials cannot edit budgets. The session ceiling remains at
|
|
1847
|
+
* /account/settings; purchasing credits is separate from budget policy.
|
|
1848
|
+
*
|
|
1849
|
+
* Required permissions: write:defaults.
|
|
1850
|
+
* API key: Requires a CLI user token belonging to an account administrator.
|
|
1851
|
+
* CLI user token: Requires an account administrator.
|
|
1852
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1853
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1854
|
+
*/
|
|
1855
|
+
updateBudget(options?: {
|
|
1856
|
+
alerts?: S['BudgetAlerts'] | null;
|
|
1857
|
+
policy?: S['BudgetPolicy'] | null;
|
|
1858
|
+
}): Promise<S['BudgetSummary']>;
|
|
1859
|
+
/**
|
|
1860
|
+
* Get Usage
|
|
1861
|
+
*
|
|
1862
|
+
* Get usage for a calendar month, including its funding sources.
|
|
1863
|
+
*
|
|
1864
|
+
* Omit period_start for the current UTC month; select a period returned
|
|
1865
|
+
* in billing_periods to view history. Credit debits are distinct from
|
|
1866
|
+
* rated token usage through BYOK, customer Bedrock, or a developer's
|
|
1867
|
+
* Claude subscription. Rated usage estimates are not provider invoices.
|
|
1868
|
+
* Pending and unresolved requests identify missing measurements.
|
|
1869
|
+
*
|
|
1870
|
+
* Required permissions: read:account.
|
|
1871
|
+
* API key: Supported.
|
|
1872
|
+
* CLI user token: Supported.
|
|
1873
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1874
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1875
|
+
*/
|
|
1876
|
+
usage(options?: {
|
|
1877
|
+
period_start?: string | null;
|
|
1878
|
+
}): Promise<S['GetUsageOverTimeResponse']>;
|
|
1879
|
+
}
|
|
1880
|
+
declare class EllipsisAgents {
|
|
1881
|
+
private readonly transport;
|
|
1882
|
+
constructor(transport: Transport);
|
|
1883
|
+
/**
|
|
1884
|
+
* Create Agent
|
|
1885
|
+
*
|
|
1886
|
+
* Create an agent, managed through the API: no file, live
|
|
1887
|
+
* immediately. To put its definition in a repository instead, create
|
|
1888
|
+
* it here and then POST /v1/agents/{agent_id}/link.
|
|
1889
|
+
*
|
|
1890
|
+
* 409 when another live agent already holds the name.
|
|
1891
|
+
*
|
|
1892
|
+
* Required permissions: write:configs.
|
|
1893
|
+
* API key: Supported.
|
|
1894
|
+
* CLI user token: Supported.
|
|
1895
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1896
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1897
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1898
|
+
*/
|
|
1899
|
+
create(options: {
|
|
1900
|
+
agent: S['AgentConfig-Input'];
|
|
1901
|
+
}): Promise<S['AgentResponse']>;
|
|
1902
|
+
/**
|
|
1903
|
+
* Delete Agent
|
|
1904
|
+
*
|
|
1905
|
+
* Delete an agent, by id or by name.
|
|
1906
|
+
*
|
|
1907
|
+
* It stops running and its name is freed immediately; its past
|
|
1908
|
+
* sessions remain readable. Only for agents managed through
|
|
1909
|
+
* this API — delete the file to remove one defined by a repository.
|
|
1910
|
+
*
|
|
1911
|
+
* Required permissions: write:configs.
|
|
1912
|
+
* API key: Supported.
|
|
1913
|
+
* CLI user token: Supported.
|
|
1914
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1915
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1916
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1917
|
+
*/
|
|
1918
|
+
delete(agent_id: string): Promise<void>;
|
|
1919
|
+
/**
|
|
1920
|
+
* Get Agent
|
|
1921
|
+
*
|
|
1922
|
+
* Return one agent, by id or by name.
|
|
1923
|
+
*
|
|
1924
|
+
* Required permissions: read:configs.
|
|
1925
|
+
* API key: Supported.
|
|
1926
|
+
* CLI user token: Supported.
|
|
1927
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1928
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1929
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1930
|
+
*/
|
|
1931
|
+
get(agent_id: string): Promise<S['AgentResponse']>;
|
|
1932
|
+
/**
|
|
1933
|
+
* Link Agent
|
|
1934
|
+
*
|
|
1935
|
+
* Move an agent into a repository, by id or by name.
|
|
1936
|
+
*
|
|
1937
|
+
* Opens a pull request adding its definition file. The agent
|
|
1938
|
+
* keeps running unchanged meanwhile; merging hands it over to the
|
|
1939
|
+
* file, after which the file is what changes it. Nothing happens
|
|
1940
|
+
* if the pull request is never merged.
|
|
1941
|
+
*
|
|
1942
|
+
* Required permissions: write:configs.
|
|
1943
|
+
* API key: Supported.
|
|
1944
|
+
* CLI user token: Supported.
|
|
1945
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
1946
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1947
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1948
|
+
*/
|
|
1949
|
+
link(agent_id: string, options: {
|
|
1950
|
+
path?: string | null;
|
|
1951
|
+
repository: string;
|
|
1952
|
+
}): Promise<S['LinkAgentResponse']>;
|
|
1953
|
+
/**
|
|
1954
|
+
* List Agents
|
|
1955
|
+
*
|
|
1956
|
+
* List agents.
|
|
1957
|
+
*
|
|
1958
|
+
* Required permissions: read:configs.
|
|
1959
|
+
* API key: Supported.
|
|
1960
|
+
* CLI user token: Supported.
|
|
1961
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1962
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1963
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1964
|
+
*/
|
|
1965
|
+
list(): Promise<S['AgentsListResponse']>;
|
|
1966
|
+
/**
|
|
1967
|
+
* Get Agent Metrics
|
|
1968
|
+
*
|
|
1969
|
+
* Return an agent's session distribution and trailing spend,
|
|
1970
|
+
* by id or by name.
|
|
1971
|
+
*
|
|
1972
|
+
* `samples` carries one entry per finished session (duration, cost,
|
|
1973
|
+
* tokens) for distributions; `spend_windows` carries what the
|
|
1974
|
+
* agent's sessions cost over the last 1, 7, and 28 days against
|
|
1975
|
+
* its budget for each window.
|
|
1976
|
+
*
|
|
1977
|
+
* Required permissions: read:configs.
|
|
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.
|
|
1982
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1983
|
+
*/
|
|
1984
|
+
metrics(agent_id: string): Promise<S['AgentMetricsResponse']>;
|
|
1985
|
+
/**
|
|
1986
|
+
* Start Agent Session
|
|
1987
|
+
*
|
|
1988
|
+
* Invoke an agent.
|
|
1989
|
+
*
|
|
1990
|
+
* Runs a certified agent with its configured instructions, model,
|
|
1991
|
+
* environment, permissions, skills, and budget, and returns
|
|
1992
|
+
* the session it started. The session runs once and does not accept
|
|
1993
|
+
* follow-up messages. If the agent declares input.json_schema,
|
|
1994
|
+
* send only `input` for its initial message. Otherwise send a non-empty
|
|
1995
|
+
* `prompt`, which becomes the initial message verbatim. Both fields
|
|
1996
|
+
* together, neither field, and input that renders an empty message are
|
|
1997
|
+
* rejected with 422. An optional `budget` lowers the session cap;
|
|
1998
|
+
* `metadata` tags the session. Codex invocations are not supported.
|
|
1999
|
+
*
|
|
2000
|
+
* Required permissions: write:sessions.
|
|
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.
|
|
2005
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2006
|
+
*/
|
|
2007
|
+
run(agent_id: string, options?: {
|
|
2008
|
+
budget?: number | null;
|
|
2009
|
+
input?: Record<string, unknown> | null;
|
|
2010
|
+
metadata?: Record<string, string>;
|
|
2011
|
+
prompt?: string | null;
|
|
2012
|
+
}): Promise<S['SessionResponse']>;
|
|
2013
|
+
/**
|
|
2014
|
+
* Get Agents Stream Ticket
|
|
2015
|
+
*
|
|
2016
|
+
* Required permissions: read:configs.
|
|
2017
|
+
* API key: Supported.
|
|
2018
|
+
* CLI user token: Supported.
|
|
2019
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2020
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2021
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2022
|
+
*/
|
|
2023
|
+
streamTicket(): Promise<S['StreamTicketResponse']>;
|
|
2024
|
+
/**
|
|
2025
|
+
* Unlink Agent
|
|
2026
|
+
*
|
|
2027
|
+
* Take over an agent from its file, by id or by name.
|
|
2028
|
+
*
|
|
2029
|
+
* The file stops governing it immediately and further changes go
|
|
2030
|
+
* through this API. The file is left in place, inert — delete it
|
|
2031
|
+
* whenever you like.
|
|
2032
|
+
*
|
|
2033
|
+
* Required permissions: write:configs.
|
|
2034
|
+
* API key: Supported.
|
|
2035
|
+
* CLI user token: Supported.
|
|
2036
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2037
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2038
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2039
|
+
*/
|
|
2040
|
+
unlink(agent_id: string): Promise<S['AgentResponse']>;
|
|
2041
|
+
/**
|
|
2042
|
+
* Update Agent
|
|
2043
|
+
*
|
|
2044
|
+
* Replace an agent's definition, by id or by name.
|
|
2045
|
+
*
|
|
2046
|
+
* The whole definition is replaced, and the change is live at
|
|
2047
|
+
* once. Only for agents managed through this API: one defined
|
|
2048
|
+
* by a repository file is a 409, since the next push to that file
|
|
2049
|
+
* would revert the change — unlink it first to take ownership.
|
|
2050
|
+
*
|
|
2051
|
+
* Required permissions: write:configs.
|
|
2052
|
+
* API key: Supported.
|
|
2053
|
+
* CLI user token: Supported.
|
|
2054
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2055
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2056
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2057
|
+
*/
|
|
2058
|
+
update(agent_id: string, options: {
|
|
2059
|
+
agent: S['AgentConfig-Input'];
|
|
2060
|
+
}): Promise<S['AgentResponse']>;
|
|
71
2061
|
}
|
|
72
|
-
|
|
73
|
-
type S = components['schemas'];
|
|
74
2062
|
declare class EllipsisAlerts {
|
|
75
2063
|
private readonly transport;
|
|
76
2064
|
constructor(transport: Transport);
|
|
@@ -80,6 +2068,12 @@ declare class EllipsisAlerts {
|
|
|
80
2068
|
* Dismiss an open alert and return it.
|
|
81
2069
|
*
|
|
82
2070
|
* 409 when the alert is not open; 404 when it doesn't exist.
|
|
2071
|
+
*
|
|
2072
|
+
* Required permissions: write:alerts.
|
|
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.
|
|
83
2077
|
*/
|
|
84
2078
|
dismiss(alert_id: string): Promise<S['AlertResponse']>;
|
|
85
2079
|
/**
|
|
@@ -88,6 +2082,12 @@ declare class EllipsisAlerts {
|
|
|
88
2082
|
* Return one alert by id.
|
|
89
2083
|
*
|
|
90
2084
|
* 404 if it doesn't exist or belongs to another organization.
|
|
2085
|
+
*
|
|
2086
|
+
* Required permissions: read:alerts.
|
|
2087
|
+
* API key: Supported.
|
|
2088
|
+
* CLI user token: Supported.
|
|
2089
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2090
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
91
2091
|
*/
|
|
92
2092
|
get(alert_id: string): Promise<S['AlertResponse']>;
|
|
93
2093
|
/**
|
|
@@ -99,6 +2099,12 @@ declare class EllipsisAlerts {
|
|
|
99
2099
|
*
|
|
100
2100
|
* Available to all credential types, so an agent can check "is
|
|
101
2101
|
* this org near budget?" mid-task.
|
|
2102
|
+
*
|
|
2103
|
+
* Required permissions: read:alerts.
|
|
2104
|
+
* API key: Supported.
|
|
2105
|
+
* CLI user token: Supported.
|
|
2106
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2107
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
102
2108
|
*/
|
|
103
2109
|
list(options?: {
|
|
104
2110
|
status?: S['AlertStatus'] | null;
|
|
@@ -122,6 +2128,12 @@ declare class EllipsisAnalytics {
|
|
|
122
2128
|
* the apps/agents). Available to all credential types: the
|
|
123
2129
|
* responses expose the organization's own GitHub PR/review activity,
|
|
124
2130
|
* no secrets.
|
|
2131
|
+
*
|
|
2132
|
+
* Required permissions: read:account.
|
|
2133
|
+
* API key: Supported.
|
|
2134
|
+
* CLI user token: Supported.
|
|
2135
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2136
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
125
2137
|
*/
|
|
126
2138
|
metrics(options?: {
|
|
127
2139
|
days?: number | null;
|
|
@@ -139,6 +2151,12 @@ declare class EllipsisAnalytics {
|
|
|
139
2151
|
*
|
|
140
2152
|
* Windowing: pass explicit start/end, or days (default: the last
|
|
141
2153
|
* 30 days). account_type in all|user|bot scopes the authors.
|
|
2154
|
+
*
|
|
2155
|
+
* Required permissions: read:account.
|
|
2156
|
+
* API key: Supported.
|
|
2157
|
+
* CLI user token: Supported.
|
|
2158
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2159
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
142
2160
|
*/
|
|
143
2161
|
pullRequests(options?: {
|
|
144
2162
|
days?: number | null;
|
|
@@ -158,6 +2176,12 @@ declare class EllipsisAnalytics {
|
|
|
158
2176
|
* review the most PRs?" is the reviewer facets here with
|
|
159
2177
|
* account_type=bot. Windowing: pass explicit start/end, or days
|
|
160
2178
|
* (default: the last 30 days).
|
|
2179
|
+
*
|
|
2180
|
+
* Required permissions: read:account.
|
|
2181
|
+
* API key: Supported.
|
|
2182
|
+
* CLI user token: Supported.
|
|
2183
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2184
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
161
2185
|
*/
|
|
162
2186
|
reviews(options?: {
|
|
163
2187
|
days?: number | null;
|
|
@@ -178,6 +2202,8 @@ declare class EllipsisAuthCli {
|
|
|
178
2202
|
* Poll a device-code auth flow for its token.
|
|
179
2203
|
*
|
|
180
2204
|
* Unauthenticated; the device code identifies the flow.
|
|
2205
|
+
*
|
|
2206
|
+
* Authentication: No token required.
|
|
181
2207
|
*/
|
|
182
2208
|
poll(options: {
|
|
183
2209
|
device_code: string;
|
|
@@ -190,6 +2216,8 @@ declare class EllipsisAuthCli {
|
|
|
190
2216
|
* Unauthenticated: the CLI has no credential yet — that's what
|
|
191
2217
|
* it's obtaining. The human authorizes out-of-band in the
|
|
192
2218
|
* dashboard.
|
|
2219
|
+
*
|
|
2220
|
+
* Authentication: No token required.
|
|
193
2221
|
*/
|
|
194
2222
|
start(): Promise<S['StartCliAuthResponse']>;
|
|
195
2223
|
}
|
|
@@ -198,110 +2226,6 @@ declare class EllipsisAuth {
|
|
|
198
2226
|
readonly cli: EllipsisAuthCli;
|
|
199
2227
|
constructor(transport: Transport);
|
|
200
2228
|
}
|
|
201
|
-
declare class EllipsisAutomations {
|
|
202
|
-
private readonly transport;
|
|
203
|
-
constructor(transport: Transport);
|
|
204
|
-
/**
|
|
205
|
-
* Create Automation
|
|
206
|
-
*
|
|
207
|
-
* Create an automation, managed through the API: no file, live
|
|
208
|
-
* immediately. To put its definition in a repository instead, create
|
|
209
|
-
* it here and then POST /v1/automations/{automation_id}/link.
|
|
210
|
-
*
|
|
211
|
-
* 409 when another live automation already holds the name.
|
|
212
|
-
*/
|
|
213
|
-
create(options: {
|
|
214
|
-
automation: S['AutomationConfig'];
|
|
215
|
-
}): Promise<S['AutomationResponse']>;
|
|
216
|
-
/**
|
|
217
|
-
* Delete Automation
|
|
218
|
-
*
|
|
219
|
-
* Delete an automation, by id or by name.
|
|
220
|
-
*
|
|
221
|
-
* It stops running and its name is freed immediately; its past
|
|
222
|
-
* sessions remain readable. Only for automations managed through
|
|
223
|
-
* this API — delete the file to remove one defined by a repository.
|
|
224
|
-
*/
|
|
225
|
-
delete(automation_id: string): Promise<void>;
|
|
226
|
-
/**
|
|
227
|
-
* Get Automation
|
|
228
|
-
*
|
|
229
|
-
* Return one automation, by id or by name.
|
|
230
|
-
*/
|
|
231
|
-
get(automation_id: string): Promise<S['AutomationResponse']>;
|
|
232
|
-
/**
|
|
233
|
-
* Link Automation
|
|
234
|
-
*
|
|
235
|
-
* Move an automation into a repository, by id or by name.
|
|
236
|
-
*
|
|
237
|
-
* Opens a pull request adding its definition file. The automation
|
|
238
|
-
* keeps running unchanged meanwhile; merging hands it over to the
|
|
239
|
-
* file, after which the file is what changes it. Nothing happens
|
|
240
|
-
* if the pull request is never merged.
|
|
241
|
-
*/
|
|
242
|
-
link(automation_id: string, options: {
|
|
243
|
-
path?: string | null;
|
|
244
|
-
repository: string;
|
|
245
|
-
}): Promise<S['LinkAutomationResponse']>;
|
|
246
|
-
/**
|
|
247
|
-
* List Automations
|
|
248
|
-
*
|
|
249
|
-
* List automations.
|
|
250
|
-
*/
|
|
251
|
-
list(): Promise<S['AutomationsListResponse']>;
|
|
252
|
-
/**
|
|
253
|
-
* Get Automation Metrics
|
|
254
|
-
*
|
|
255
|
-
* Return an automation's session distribution and trailing spend,
|
|
256
|
-
* by id or by name.
|
|
257
|
-
*
|
|
258
|
-
* `samples` carries one entry per finished session (duration, cost,
|
|
259
|
-
* tokens) for distributions; `spend_windows` carries what the
|
|
260
|
-
* automation's sessions cost over the last 1, 7, and 28 days against
|
|
261
|
-
* its budget for each window.
|
|
262
|
-
*/
|
|
263
|
-
metrics(automation_id: string): Promise<S['AutomationMetricsResponse']>;
|
|
264
|
-
/**
|
|
265
|
-
* Start Automation Session
|
|
266
|
-
*
|
|
267
|
-
* Invoke an automation.
|
|
268
|
-
*
|
|
269
|
-
* Runs the automation exactly as defined — its persona, model,
|
|
270
|
-
* environment, permissions, skills, and budget bind — and returns
|
|
271
|
-
* the session it started. The body carries only what a caller may
|
|
272
|
-
* supply: the typed `input` its schema demands, an optional tighter
|
|
273
|
-
* `budget`, and `metadata`. For a different persona or environment,
|
|
274
|
-
* start a raw session with POST /v1/sessions instead.
|
|
275
|
-
*/
|
|
276
|
-
run(automation_id: string, options?: {
|
|
277
|
-
budget?: number | null;
|
|
278
|
-
input?: Record<string, unknown> | null;
|
|
279
|
-
metadata?: Record<string, string>;
|
|
280
|
-
}): Promise<S['SessionResponse']>;
|
|
281
|
-
/**
|
|
282
|
-
* Unlink Automation
|
|
283
|
-
*
|
|
284
|
-
* Take over an automation from its file, by id or by name.
|
|
285
|
-
*
|
|
286
|
-
* The file stops governing it immediately and further changes go
|
|
287
|
-
* through this API. The file is left in place, inert — delete it
|
|
288
|
-
* whenever you like.
|
|
289
|
-
*/
|
|
290
|
-
unlink(automation_id: string): Promise<S['AutomationResponse']>;
|
|
291
|
-
/**
|
|
292
|
-
* Update Automation
|
|
293
|
-
*
|
|
294
|
-
* Replace an automation's definition, by id or by name.
|
|
295
|
-
*
|
|
296
|
-
* The whole definition is replaced, and the change is live at
|
|
297
|
-
* once. Only for automations managed through this API: one defined
|
|
298
|
-
* by a repository file is a 409, since the next push to that file
|
|
299
|
-
* would revert the change — unlink it first to take ownership.
|
|
300
|
-
*/
|
|
301
|
-
update(automation_id: string, options: {
|
|
302
|
-
automation: S['AutomationConfig'];
|
|
303
|
-
}): Promise<S['AutomationResponse']>;
|
|
304
|
-
}
|
|
305
2229
|
declare class EllipsisEnvironments {
|
|
306
2230
|
private readonly transport;
|
|
307
2231
|
constructor(transport: Transport);
|
|
@@ -313,9 +2237,15 @@ declare class EllipsisEnvironments {
|
|
|
313
2237
|
* `kind: environment` YAML under an agents directory.
|
|
314
2238
|
*
|
|
315
2239
|
* 409 when another live environment already holds the name.
|
|
2240
|
+
*
|
|
2241
|
+
* Required permissions: write:environments.
|
|
2242
|
+
* API key: Supported.
|
|
2243
|
+
* CLI user token: Supported.
|
|
2244
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2245
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
316
2246
|
*/
|
|
317
2247
|
create(options: {
|
|
318
|
-
environment: S['EnvironmentDocument'];
|
|
2248
|
+
environment: S['EnvironmentDocument-Input'];
|
|
319
2249
|
}): Promise<S['EnvironmentResponse']>;
|
|
320
2250
|
/**
|
|
321
2251
|
* Delete Environment
|
|
@@ -327,18 +2257,36 @@ declare class EllipsisEnvironments {
|
|
|
327
2257
|
* environment. Past sessions remain readable. Only for environments
|
|
328
2258
|
* managed through this API — delete the file to remove one defined
|
|
329
2259
|
* by a repository.
|
|
2260
|
+
*
|
|
2261
|
+
* Required permissions: delete:environments.
|
|
2262
|
+
* API key: Supported.
|
|
2263
|
+
* CLI user token: Supported.
|
|
2264
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2265
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
330
2266
|
*/
|
|
331
2267
|
delete(environment_id: string): Promise<void>;
|
|
332
2268
|
/**
|
|
333
2269
|
* Get Environment
|
|
334
2270
|
*
|
|
335
2271
|
* Return one saved environment, by id or by name.
|
|
2272
|
+
*
|
|
2273
|
+
* Required permissions: read:environments.
|
|
2274
|
+
* API key: Supported.
|
|
2275
|
+
* CLI user token: Supported.
|
|
2276
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2277
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
336
2278
|
*/
|
|
337
2279
|
get(environment_id: string): Promise<S['EnvironmentResponse']>;
|
|
338
2280
|
/**
|
|
339
2281
|
* List Environments
|
|
340
2282
|
*
|
|
341
2283
|
* List saved environments.
|
|
2284
|
+
*
|
|
2285
|
+
* Required permissions: read:environments.
|
|
2286
|
+
* API key: Supported.
|
|
2287
|
+
* CLI user token: Supported.
|
|
2288
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2289
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
342
2290
|
*/
|
|
343
2291
|
list(): Promise<S['EnvironmentsListResponse']>;
|
|
344
2292
|
/**
|
|
@@ -350,9 +2298,15 @@ declare class EllipsisEnvironments {
|
|
|
350
2298
|
* resolve the new body; running sessions keep the one frozen at
|
|
351
2299
|
* their start. Only for environments managed through this API: one
|
|
352
2300
|
* defined by a repository file is a 409.
|
|
2301
|
+
*
|
|
2302
|
+
* Required permissions: write:environments.
|
|
2303
|
+
* API key: Supported.
|
|
2304
|
+
* CLI user token: Supported.
|
|
2305
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2306
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
353
2307
|
*/
|
|
354
2308
|
update(environment_id: string, options: {
|
|
355
|
-
environment: S['EnvironmentDocument'];
|
|
2309
|
+
environment: S['EnvironmentDocument-Input'];
|
|
356
2310
|
}): Promise<S['EnvironmentResponse']>;
|
|
357
2311
|
}
|
|
358
2312
|
declare class EllipsisFiles {
|
|
@@ -368,6 +2322,13 @@ declare class EllipsisFiles {
|
|
|
368
2322
|
* agent persisting a screenshot to link on a PR), but all
|
|
369
2323
|
* credential types work. Returns the org-membership-gated
|
|
370
2324
|
* dashboard URL so callers never hard-code URL shapes.
|
|
2325
|
+
*
|
|
2326
|
+
* Required permissions: write:files.
|
|
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.
|
|
371
2332
|
*/
|
|
372
2333
|
create(options: {
|
|
373
2334
|
content_type: string;
|
|
@@ -385,6 +2346,13 @@ declare class EllipsisFiles {
|
|
|
385
2346
|
* potentially-untrusted code and must not be able to destroy the
|
|
386
2347
|
* account's files — uploading is fine, destruction is not); API
|
|
387
2348
|
* keys and user tokens may delete.
|
|
2349
|
+
*
|
|
2350
|
+
* Required permissions: delete:files.
|
|
2351
|
+
* API key: Supported.
|
|
2352
|
+
* CLI user token: Supported.
|
|
2353
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2354
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2355
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
388
2356
|
*/
|
|
389
2357
|
delete(file_id: string): Promise<void>;
|
|
390
2358
|
/**
|
|
@@ -393,26 +2361,103 @@ declare class EllipsisFiles {
|
|
|
393
2361
|
* Return one file's metadata and download link.
|
|
394
2362
|
*
|
|
395
2363
|
* Includes the gated dashboard URL and a short-lived presigned
|
|
396
|
-
* `download_url
|
|
2364
|
+
* `download_url`, plus the owning account's GitHub login.
|
|
2365
|
+
*
|
|
2366
|
+
* Signed-in dashboard users are checked against the file's owning
|
|
2367
|
+
* account, regardless of their selected organization. API keys,
|
|
2368
|
+
* CLI user tokens, and sandbox tokens remain restricted to their
|
|
2369
|
+
* own account. Missing, deleted, and inaccessible files return 404.
|
|
397
2370
|
*
|
|
398
2371
|
* To fetch the bytes locally, call this and then GET download_url
|
|
399
2372
|
* immediately — the JSON API never carries the file. The CLI's
|
|
400
2373
|
* `agent file get` wraps exactly that two-step.
|
|
2374
|
+
*
|
|
2375
|
+
* Required permissions: read:files.
|
|
2376
|
+
* API key: Supported.
|
|
2377
|
+
* CLI user token: Supported.
|
|
2378
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2379
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2380
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
401
2381
|
*/
|
|
402
2382
|
get(file_id: string): Promise<S['GetFileResponse']>;
|
|
403
2383
|
/**
|
|
404
2384
|
* List Files
|
|
405
2385
|
*
|
|
406
|
-
* List uploaded files, newest first.
|
|
2386
|
+
* List uploaded files, newest first.
|
|
2387
|
+
*
|
|
2388
|
+
* Metadata only by default. Set include_download_urls=true to get
|
|
2389
|
+
* a download_urls map keyed by file id for thumbnails or batch
|
|
2390
|
+
* downloads. URLs expire within about a minute. session_id scopes
|
|
2391
|
+
* the list to one session's uploads.
|
|
2392
|
+
*
|
|
2393
|
+
* Required permissions: read:files.
|
|
2394
|
+
* API key: Supported.
|
|
2395
|
+
* CLI user token: Supported.
|
|
2396
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2397
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2398
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2399
|
+
*/
|
|
2400
|
+
list(options?: {
|
|
2401
|
+
session_id?: string | null;
|
|
2402
|
+
limit?: number;
|
|
2403
|
+
cursor?: string | null;
|
|
2404
|
+
include_download_urls?: boolean;
|
|
2405
|
+
}): Promise<Page<S['File'], S['FilesListResponse']>>;
|
|
2406
|
+
}
|
|
2407
|
+
declare class EllipsisHandlers {
|
|
2408
|
+
private readonly transport;
|
|
2409
|
+
constructor(transport: Transport);
|
|
2410
|
+
/**
|
|
2411
|
+
* List Handlers
|
|
2412
|
+
*
|
|
2413
|
+
* List the account's Slack, GitHub, Linear, and Sentry handlers.
|
|
2414
|
+
*
|
|
2415
|
+
* Returns at most one handler per service, from the current .ellipsis
|
|
2416
|
+
* repository. Disabled handlers and last valid definitions with sync
|
|
2417
|
+
* errors are included. Missing handlers are omitted. This reads saved
|
|
2418
|
+
* state without fetching GitHub or triggering synchronization.
|
|
2419
|
+
*
|
|
2420
|
+
* Requires configs:read; scoped grants match handlers/{service}.
|
|
2421
|
+
* Sandbox credentials with that grant may read handlers.
|
|
407
2422
|
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
2423
|
+
* Required permissions: read:configs.
|
|
2424
|
+
* API key: Supported.
|
|
2425
|
+
* CLI user token: Supported.
|
|
2426
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2427
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2428
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
410
2429
|
*/
|
|
411
|
-
list(
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
2430
|
+
list(): Promise<S['HandlersListResponse']>;
|
|
2431
|
+
/**
|
|
2432
|
+
* Get Handler Metrics
|
|
2433
|
+
*
|
|
2434
|
+
* Return session counts and accumulated spend for a saved handler.
|
|
2435
|
+
*
|
|
2436
|
+
* Filters only by session creation time. Omitted bounds include all
|
|
2437
|
+
* history. Counts use the current conversation outcome, so an idle
|
|
2438
|
+
* session remains active. Spend includes the selected sessions' full
|
|
2439
|
+
* accumulated cost, including activity after the creation-time window.
|
|
2440
|
+
* Only sessions carrying this exact saved handler id are counted;
|
|
2441
|
+
* legacy sessions without handler provenance are excluded.
|
|
2442
|
+
*
|
|
2443
|
+
* spend_windows reports current trailing 1-, 7-, and 28-day credit
|
|
2444
|
+
* debits and effective handler budgets across all attributed sessions.
|
|
2445
|
+
* Those windows use usage timestamps and are independent of start/end.
|
|
2446
|
+
*
|
|
2447
|
+
* Requires configs:read matching handlers/{service} and unrestricted
|
|
2448
|
+
* sessions:read. Sandbox tokens with both grants may read metrics.
|
|
2449
|
+
*
|
|
2450
|
+
* Required permissions: read:sessions, read:configs.
|
|
2451
|
+
* API key: Supported.
|
|
2452
|
+
* CLI user token: Supported.
|
|
2453
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2454
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2455
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2456
|
+
*/
|
|
2457
|
+
metrics(handler_id: string, options?: {
|
|
2458
|
+
start?: string | null;
|
|
2459
|
+
end?: string | null;
|
|
2460
|
+
}): Promise<S['HandlerMetricsResponse']>;
|
|
416
2461
|
}
|
|
417
2462
|
declare class EllipsisIntegrationsGithub {
|
|
418
2463
|
private readonly transport;
|
|
@@ -427,32 +2472,101 @@ declare class EllipsisIntegrationsGithub {
|
|
|
427
2472
|
*
|
|
428
2473
|
* Members carry their linked Slack identity when a Slack-GitHub
|
|
429
2474
|
* link exists, and /slack/members carries the reverse link.
|
|
2475
|
+
*
|
|
2476
|
+
* Required permissions: read:integrations.
|
|
2477
|
+
* API key: Supported.
|
|
2478
|
+
* CLI user token: Supported.
|
|
2479
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2480
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
430
2481
|
*/
|
|
431
2482
|
members(): Promise<S['GithubMembersListResponse']>;
|
|
432
2483
|
/**
|
|
433
2484
|
* List Github Repositories
|
|
434
2485
|
*
|
|
435
2486
|
* List GitHub repositories connected to the installation.
|
|
2487
|
+
*
|
|
2488
|
+
* Required permissions: read:integrations.
|
|
2489
|
+
* API key: Supported.
|
|
2490
|
+
* CLI user token: Supported.
|
|
2491
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2492
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
436
2493
|
*/
|
|
437
2494
|
repos(): Promise<S['GithubRepositoriesListResponse']>;
|
|
2495
|
+
/**
|
|
2496
|
+
* Uninstall Github App
|
|
2497
|
+
*
|
|
2498
|
+
* Required permissions: write:integrations.
|
|
2499
|
+
* API key: Supported.
|
|
2500
|
+
* CLI user token: Supported.
|
|
2501
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2502
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2503
|
+
*/
|
|
2504
|
+
uninstall(options: {
|
|
2505
|
+
confirm_account_login: string;
|
|
2506
|
+
}): Promise<S['AccountActionResponse']>;
|
|
438
2507
|
}
|
|
439
2508
|
declare class EllipsisIntegrationsLinear {
|
|
440
2509
|
private readonly transport;
|
|
441
2510
|
constructor(transport: Transport);
|
|
2511
|
+
/**
|
|
2512
|
+
* Delete Linear Integration
|
|
2513
|
+
*
|
|
2514
|
+
* Required permissions: delete:integrations.
|
|
2515
|
+
* API key: Supported.
|
|
2516
|
+
* CLI user token: Supported.
|
|
2517
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2518
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2519
|
+
*/
|
|
2520
|
+
delete(): Promise<S['AccountActionResponse']>;
|
|
442
2521
|
/**
|
|
443
2522
|
* List Linear Teams
|
|
444
2523
|
*
|
|
445
2524
|
* List the teams of the connected Linear workspace.
|
|
2525
|
+
*
|
|
2526
|
+
* Required permissions: read:integrations.
|
|
2527
|
+
* API key: Supported.
|
|
2528
|
+
* CLI user token: Supported.
|
|
2529
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2530
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
446
2531
|
*/
|
|
447
2532
|
teams(): Promise<S['LinearTeamsListResponse']>;
|
|
2533
|
+
/**
|
|
2534
|
+
* Update Linear Teams
|
|
2535
|
+
*
|
|
2536
|
+
* Required permissions: write:integrations.
|
|
2537
|
+
* API key: Supported.
|
|
2538
|
+
* CLI user token: Supported.
|
|
2539
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2540
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2541
|
+
*/
|
|
2542
|
+
updateSettings(options: {
|
|
2543
|
+
mcp_inclusion?: S['McpInclusionMode'] | null;
|
|
2544
|
+
teams: (S['LinearTeamUpdate'])[];
|
|
2545
|
+
}): Promise<S['AccountActionResponse']>;
|
|
448
2546
|
}
|
|
449
2547
|
declare class EllipsisIntegrationsSentry {
|
|
450
2548
|
private readonly transport;
|
|
451
2549
|
constructor(transport: Transport);
|
|
2550
|
+
/**
|
|
2551
|
+
* Delete Sentry Integration
|
|
2552
|
+
*
|
|
2553
|
+
* Required permissions: delete:integrations.
|
|
2554
|
+
* API key: Supported.
|
|
2555
|
+
* CLI user token: Supported.
|
|
2556
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2557
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2558
|
+
*/
|
|
2559
|
+
delete(integration_id: string): Promise<S['AccountActionResponse']>;
|
|
452
2560
|
/**
|
|
453
2561
|
* List Sentry Organizations
|
|
454
2562
|
*
|
|
455
2563
|
* List the connected Sentry organizations.
|
|
2564
|
+
*
|
|
2565
|
+
* Required permissions: read:integrations.
|
|
2566
|
+
* API key: Supported.
|
|
2567
|
+
* CLI user token: Supported.
|
|
2568
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2569
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
456
2570
|
*/
|
|
457
2571
|
organizations(): Promise<S['SentryOrganizationsListResponse']>;
|
|
458
2572
|
}
|
|
@@ -464,15 +2578,59 @@ declare class EllipsisIntegrationsSlack {
|
|
|
464
2578
|
*
|
|
465
2579
|
* List the channels of the connected Slack workspace, fetched
|
|
466
2580
|
* live from the Slack API.
|
|
2581
|
+
*
|
|
2582
|
+
* Required permissions: read:integrations.
|
|
2583
|
+
* API key: Supported.
|
|
2584
|
+
* CLI user token: Supported.
|
|
2585
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2586
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
467
2587
|
*/
|
|
468
2588
|
channels(): Promise<S['SlackChannelsListResponse']>;
|
|
2589
|
+
/**
|
|
2590
|
+
* Create Operations Channel
|
|
2591
|
+
*
|
|
2592
|
+
* Required permissions: write:integrations.
|
|
2593
|
+
* API key: Supported.
|
|
2594
|
+
* CLI user token: Supported.
|
|
2595
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2596
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2597
|
+
*/
|
|
2598
|
+
createOperationsChannel(): Promise<S['SlackChannel']>;
|
|
2599
|
+
/**
|
|
2600
|
+
* Delete Slack Integration
|
|
2601
|
+
*
|
|
2602
|
+
* Required permissions: delete:integrations.
|
|
2603
|
+
* API key: Supported.
|
|
2604
|
+
* CLI user token: Supported.
|
|
2605
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2606
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2607
|
+
*/
|
|
2608
|
+
delete(): Promise<S['AccountActionResponse']>;
|
|
469
2609
|
/**
|
|
470
2610
|
* List Slack Members
|
|
471
2611
|
*
|
|
472
2612
|
* List the members of the connected Slack workspace, fetched
|
|
473
2613
|
* live from the Slack API.
|
|
2614
|
+
*
|
|
2615
|
+
* Required permissions: read:integrations.
|
|
2616
|
+
* API key: Supported.
|
|
2617
|
+
* CLI user token: Supported.
|
|
2618
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2619
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
474
2620
|
*/
|
|
475
2621
|
members(): Promise<S['SlackMembersListResponse']>;
|
|
2622
|
+
/**
|
|
2623
|
+
* Update Slack Settings
|
|
2624
|
+
*
|
|
2625
|
+
* Required permissions: write:integrations.
|
|
2626
|
+
* API key: Supported.
|
|
2627
|
+
* CLI user token: Supported.
|
|
2628
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2629
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2630
|
+
*/
|
|
2631
|
+
updateSettings(options: {
|
|
2632
|
+
mcp_inclusion: S['McpInclusionMode'];
|
|
2633
|
+
}): Promise<S['AccountActionResponse']>;
|
|
476
2634
|
}
|
|
477
2635
|
declare class EllipsisIntegrations {
|
|
478
2636
|
private readonly transport;
|
|
@@ -488,10 +2646,16 @@ declare class EllipsisIntegrations {
|
|
|
488
2646
|
*
|
|
489
2647
|
* A read-only view, so an agent authoring another agent's
|
|
490
2648
|
* config can learn which repositories, channels, teams, and
|
|
491
|
-
* organizations it may name before POST /
|
|
2649
|
+
* organizations it may name before POST /agents.
|
|
492
2650
|
*
|
|
493
2651
|
* Available to all credential types including sandbox tokens: the
|
|
494
2652
|
* responses never include OAuth tokens or any other secret.
|
|
2653
|
+
*
|
|
2654
|
+
* Required permissions: read:integrations.
|
|
2655
|
+
* API key: Supported.
|
|
2656
|
+
* CLI user token: Supported.
|
|
2657
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2658
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
495
2659
|
*/
|
|
496
2660
|
list(): Promise<S['GetIntegrationsResponse']>;
|
|
497
2661
|
}
|
|
@@ -510,6 +2674,13 @@ declare class EllipsisMemories {
|
|
|
510
2674
|
*
|
|
511
2675
|
* Creating never overwrites: a path that already exists is a 409, so
|
|
512
2676
|
* correcting an existing memory is an explicit edit.
|
|
2677
|
+
*
|
|
2678
|
+
* Required permissions: write:memories.
|
|
2679
|
+
* API key: Supported.
|
|
2680
|
+
* CLI user token: Supported.
|
|
2681
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2682
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2683
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
513
2684
|
*/
|
|
514
2685
|
create(options: {
|
|
515
2686
|
content: string;
|
|
@@ -524,6 +2695,13 @@ declare class EllipsisMemories {
|
|
|
524
2695
|
* Available to every credential type, agents included — a wrong
|
|
525
2696
|
* memory is worse than a missing one. The deleted content is kept in
|
|
526
2697
|
* the memory's history for forensics, not for an undo API.
|
|
2698
|
+
*
|
|
2699
|
+
* Required permissions: delete:memories.
|
|
2700
|
+
* API key: Supported.
|
|
2701
|
+
* CLI user token: Supported.
|
|
2702
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2703
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2704
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
527
2705
|
*/
|
|
528
2706
|
delete(memory_id: string, options?: {
|
|
529
2707
|
if_sha256?: string | null;
|
|
@@ -539,6 +2717,13 @@ declare class EllipsisMemories {
|
|
|
539
2717
|
*
|
|
540
2718
|
* Pass `if_sha256` (from a previous read) to make a concurrent write
|
|
541
2719
|
* a 409 instead of silently overwriting it.
|
|
2720
|
+
*
|
|
2721
|
+
* Required permissions: write:memories.
|
|
2722
|
+
* API key: Supported.
|
|
2723
|
+
* CLI user token: Supported.
|
|
2724
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2725
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2726
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
542
2727
|
*/
|
|
543
2728
|
edit(memory_id: string, options?: {
|
|
544
2729
|
content?: string | null;
|
|
@@ -551,6 +2736,13 @@ declare class EllipsisMemories {
|
|
|
551
2736
|
* Read one memory's full content.
|
|
552
2737
|
*
|
|
553
2738
|
* The id comes from the index returned by listing memories.
|
|
2739
|
+
*
|
|
2740
|
+
* Required permissions: read:memories.
|
|
2741
|
+
* API key: Supported.
|
|
2742
|
+
* CLI user token: Supported.
|
|
2743
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2744
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2745
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
554
2746
|
*/
|
|
555
2747
|
get(memory_id: string): Promise<S['MemoryResponse']>;
|
|
556
2748
|
/**
|
|
@@ -562,31 +2754,31 @@ declare class EllipsisMemories {
|
|
|
562
2754
|
* memory, carrying its id, path, and description) plus the same
|
|
563
2755
|
* entries structured, each with every field except `content`. Read
|
|
564
2756
|
* the index, then fetch the ids whose content you want.
|
|
2757
|
+
*
|
|
2758
|
+
* Required permissions: read:memories.
|
|
2759
|
+
* API key: Supported.
|
|
2760
|
+
* CLI user token: Supported.
|
|
2761
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2762
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2763
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
565
2764
|
*/
|
|
566
2765
|
list(options?: {
|
|
567
2766
|
prefix?: string | null;
|
|
568
2767
|
}): Promise<S['MemoriesListResponse']>;
|
|
569
2768
|
}
|
|
570
|
-
declare class
|
|
2769
|
+
declare class EllipsisReviews {
|
|
571
2770
|
private readonly transport;
|
|
572
2771
|
constructor(transport: Transport);
|
|
573
2772
|
/**
|
|
574
|
-
* List
|
|
575
|
-
*
|
|
576
|
-
* List selectable agent models.
|
|
577
|
-
*
|
|
578
|
-
* Most expensive first, with the platform default flagged.
|
|
2773
|
+
* List Review Configs
|
|
579
2774
|
*
|
|
580
|
-
*
|
|
581
|
-
*
|
|
582
|
-
*
|
|
583
|
-
*
|
|
2775
|
+
* Required permissions: read:reviews.
|
|
2776
|
+
* API key: Supported.
|
|
2777
|
+
* CLI user token: Supported.
|
|
2778
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2779
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
584
2780
|
*/
|
|
585
|
-
|
|
586
|
-
}
|
|
587
|
-
declare class EllipsisReviews {
|
|
588
|
-
private readonly transport;
|
|
589
|
-
constructor(transport: Transport);
|
|
2781
|
+
configs(): Promise<S['GetCodeReviewConfigsResponse']>;
|
|
590
2782
|
/**
|
|
591
2783
|
* Create Review
|
|
592
2784
|
*
|
|
@@ -602,6 +2794,12 @@ declare class EllipsisReviews {
|
|
|
602
2794
|
* `stages[].session_id` is where a client streams
|
|
603
2795
|
* (/sessions/{id}/stream on a stage session), since the review
|
|
604
2796
|
* itself is a pipeline rather than one process.
|
|
2797
|
+
*
|
|
2798
|
+
* Required permissions: write:reviews.
|
|
2799
|
+
* API key: Supported.
|
|
2800
|
+
* CLI user token: Supported.
|
|
2801
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2802
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
605
2803
|
*/
|
|
606
2804
|
create(options: {
|
|
607
2805
|
owner: string;
|
|
@@ -621,6 +2819,12 @@ declare class EllipsisReviews {
|
|
|
621
2819
|
* Findings only exist after a stage session finalizes — a running
|
|
622
2820
|
* review honestly reports [] / null, which is why a client
|
|
623
2821
|
* streams a stage session and then re-fetches the review.
|
|
2822
|
+
*
|
|
2823
|
+
* Required permissions: read:reviews.
|
|
2824
|
+
* API key: Supported.
|
|
2825
|
+
* CLI user token: Supported.
|
|
2826
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2827
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
624
2828
|
*/
|
|
625
2829
|
get(review_id: string): Promise<S['Review']>;
|
|
626
2830
|
/**
|
|
@@ -635,6 +2839,12 @@ declare class EllipsisReviews {
|
|
|
635
2839
|
*
|
|
636
2840
|
* Webhook-created reviews appear here too, so this answers "show
|
|
637
2841
|
* me every review on this PR".
|
|
2842
|
+
*
|
|
2843
|
+
* Required permissions: read:reviews.
|
|
2844
|
+
* API key: Supported.
|
|
2845
|
+
* CLI user token: Supported.
|
|
2846
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2847
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
638
2848
|
*/
|
|
639
2849
|
list(options?: {
|
|
640
2850
|
repository?: (string)[];
|
|
@@ -656,6 +2866,13 @@ declare class EllipsisSecrets {
|
|
|
656
2866
|
*
|
|
657
2867
|
* Refused for sandbox tokens; mutations require an API key or
|
|
658
2868
|
* user token.
|
|
2869
|
+
*
|
|
2870
|
+
* Required permissions: delete:secrets.
|
|
2871
|
+
* API key: Supported.
|
|
2872
|
+
* CLI user token: Supported.
|
|
2873
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2874
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2875
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
659
2876
|
*/
|
|
660
2877
|
delete(name: string): Promise<void>;
|
|
661
2878
|
/**
|
|
@@ -665,6 +2882,13 @@ declare class EllipsisSecrets {
|
|
|
665
2882
|
*
|
|
666
2883
|
* Values are write-only: the response carries only names and
|
|
667
2884
|
* timestamps, never the stored value.
|
|
2885
|
+
*
|
|
2886
|
+
* Required permissions: read:secrets.
|
|
2887
|
+
* API key: Supported.
|
|
2888
|
+
* CLI user token: Supported.
|
|
2889
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2890
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2891
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
668
2892
|
*/
|
|
669
2893
|
list(): Promise<S['SecretsListResponse']>;
|
|
670
2894
|
/**
|
|
@@ -676,6 +2900,13 @@ declare class EllipsisSecrets {
|
|
|
676
2900
|
* only — values are write-only. Refused for sandbox tokens (held by
|
|
677
2901
|
* potentially-untrusted in-sandbox code); mutations require an
|
|
678
2902
|
* API key or user token.
|
|
2903
|
+
*
|
|
2904
|
+
* Required permissions: write:secrets.
|
|
2905
|
+
* API key: Supported.
|
|
2906
|
+
* CLI user token: Supported.
|
|
2907
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
2908
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2909
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
679
2910
|
*/
|
|
680
2911
|
set(options: {
|
|
681
2912
|
secrets: (S['SecretInput'])[];
|
|
@@ -685,7 +2916,28 @@ declare class EllipsisSessions {
|
|
|
685
2916
|
private readonly transport;
|
|
686
2917
|
constructor(transport: Transport);
|
|
687
2918
|
/**
|
|
688
|
-
* Get
|
|
2919
|
+
* Get Session Analytics
|
|
2920
|
+
*
|
|
2921
|
+
* Measured tokens and spend over time, plus estimated content cost.
|
|
2922
|
+
*
|
|
2923
|
+
* Token lanes use the request's saved rates. Content attribution
|
|
2924
|
+
* apportions input/cache spend by text size, counting carried context
|
|
2925
|
+
* on every request. It is an estimate, not a tool execution fee.
|
|
2926
|
+
* Only the latest 200 retained request bodies are inspected; missing
|
|
2927
|
+
* or unsupported context remains explicitly unattributed. No raw
|
|
2928
|
+
* prompts or tool results are returned. Sandbox tokens may read only
|
|
2929
|
+
* their own session's analytics.
|
|
2930
|
+
*
|
|
2931
|
+
* Required permissions: read:sessions.
|
|
2932
|
+
* API key: Supported.
|
|
2933
|
+
* CLI user token: Supported.
|
|
2934
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
|
|
2935
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2936
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2937
|
+
*/
|
|
2938
|
+
analytics(session_id: string): Promise<S['SessionAnalytics']>;
|
|
2939
|
+
/**
|
|
2940
|
+
* Get Session Diff
|
|
689
2941
|
*
|
|
690
2942
|
* Return the session's uncommitted changes as a patch.
|
|
691
2943
|
*
|
|
@@ -694,12 +2946,19 @@ declare class EllipsisSessions {
|
|
|
694
2946
|
* counts ride on the session itself (`git.repos[].files`); this
|
|
695
2947
|
* is the text behind them. Empty when the tree was clean. A
|
|
696
2948
|
* sandbox token may read only its own session's diff.
|
|
2949
|
+
*
|
|
2950
|
+
* Required permissions: read:sessions.
|
|
2951
|
+
* API key: Supported.
|
|
2952
|
+
* CLI user token: Supported.
|
|
2953
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
|
|
2954
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2955
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
697
2956
|
*/
|
|
698
2957
|
diff(session_id: string): Promise<S['SessionDiffResponse']>;
|
|
699
2958
|
/**
|
|
700
|
-
*
|
|
2959
|
+
* Download Session
|
|
701
2960
|
*
|
|
702
|
-
*
|
|
2961
|
+
* Download the complete session history.
|
|
703
2962
|
*
|
|
704
2963
|
* The complete, ordered history of the session (agent output, tool calls, thinking,
|
|
705
2964
|
* lifecycle events, sandbox output, message events) as an ordered
|
|
@@ -709,23 +2968,71 @@ declare class EllipsisSessions {
|
|
|
709
2968
|
* for one file. The JSON API never carries the bytes (same
|
|
710
2969
|
* two-step as files). /records is the paged live view of the
|
|
711
2970
|
* same data.
|
|
2971
|
+
*
|
|
2972
|
+
* Required permissions: read:sessions.
|
|
2973
|
+
* API key: Supported.
|
|
2974
|
+
* CLI user token: Supported.
|
|
2975
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2976
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2977
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
712
2978
|
*/
|
|
713
|
-
|
|
2979
|
+
download(session_id: string): Promise<S['GetSessionLogResponse']>;
|
|
714
2980
|
/**
|
|
715
|
-
*
|
|
2981
|
+
* List Session Executions
|
|
2982
|
+
*
|
|
2983
|
+
* Return the session's execution attempts, oldest first.
|
|
2984
|
+
*
|
|
2985
|
+
* Includes the selected harness, model, resolved instructions, initial
|
|
2986
|
+
* query, and common result summary. Complete native outputs remain in
|
|
2987
|
+
* the session's records. Internal launch options and checkpoint storage
|
|
2988
|
+
* references are excluded.
|
|
2989
|
+
*
|
|
2990
|
+
* Required permissions: read:sessions.
|
|
2991
|
+
* API key: Supported.
|
|
2992
|
+
* CLI user token: Supported.
|
|
2993
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2994
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2995
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2996
|
+
*/
|
|
2997
|
+
executions(session_id: string): Promise<S['SessionExecutionsListResponse']>;
|
|
2998
|
+
/**
|
|
2999
|
+
* Get Session
|
|
716
3000
|
*
|
|
717
3001
|
* Return one session.
|
|
718
3002
|
*
|
|
719
3003
|
* The public wire shape — the same shape the stream's session
|
|
720
|
-
* frames carry, with
|
|
3004
|
+
* frames carry, with attribution, stop, and archive actors resolved
|
|
721
3005
|
* at read time.
|
|
722
3006
|
*
|
|
723
3007
|
* The heavy near-static blobs (config snapshot, input/output)
|
|
724
3008
|
* live on the detail endpoints, not here.
|
|
3009
|
+
*
|
|
3010
|
+
* Required permissions: read:sessions.
|
|
3011
|
+
* API key: Supported.
|
|
3012
|
+
* CLI user token: Supported.
|
|
3013
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3014
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3015
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
725
3016
|
*/
|
|
726
3017
|
get(session_id: string): Promise<S['SessionResponse']>;
|
|
727
3018
|
/**
|
|
728
|
-
*
|
|
3019
|
+
* Get Session Git
|
|
3020
|
+
*
|
|
3021
|
+
* The session's GitHub-side git view: its commits, and each PR it
|
|
3022
|
+
* opened joined to the live gh_prs row and reviews. The identity list
|
|
3023
|
+
* (output_git) rides the session itself over the WebSocket; this is
|
|
3024
|
+
* the join a "run" notify tells an open pane to refetch.
|
|
3025
|
+
*
|
|
3026
|
+
* Required permissions: read:sessions.
|
|
3027
|
+
* API key: Supported.
|
|
3028
|
+
* CLI user token: Supported.
|
|
3029
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3030
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3031
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
3032
|
+
*/
|
|
3033
|
+
git(session_id: string): Promise<S['SessionGitResponse']>;
|
|
3034
|
+
/**
|
|
3035
|
+
* Ingest Session Transcript
|
|
729
3036
|
*
|
|
730
3037
|
* Append transcript lines to a session's record.
|
|
731
3038
|
*
|
|
@@ -733,23 +3040,39 @@ declare class EllipsisSessions {
|
|
|
733
3040
|
*
|
|
734
3041
|
* A sandbox token may only push its own session's transcript.
|
|
735
3042
|
* Idempotent by transcript line uuid; tolerant of malformed lines.
|
|
3043
|
+
*
|
|
3044
|
+
* Required permissions: write:sessions.
|
|
3045
|
+
* API key: Supported.
|
|
3046
|
+
* CLI user token: Supported.
|
|
3047
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own session.
|
|
3048
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3049
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
736
3050
|
*/
|
|
737
3051
|
ingestTranscript(session_id: string, options: {
|
|
738
3052
|
lines: (string)[];
|
|
739
3053
|
offset?: number;
|
|
740
3054
|
}): Promise<S['TranscriptIngestResult']>;
|
|
741
3055
|
/**
|
|
742
|
-
* List
|
|
3056
|
+
* List Sessions
|
|
743
3057
|
*
|
|
744
3058
|
* List cloud agent sessions, newest first.
|
|
745
3059
|
*
|
|
746
|
-
* Optionally filtered by
|
|
3060
|
+
* Optionally filtered by agent (id or name), source, service, handler, time
|
|
747
3061
|
* window, attributed author, repository, and whether the session is
|
|
748
3062
|
* still going.
|
|
3063
|
+
*
|
|
3064
|
+
* Required permissions: read:sessions.
|
|
3065
|
+
* API key: Supported.
|
|
3066
|
+
* CLI user token: Supported.
|
|
3067
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3068
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3069
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
749
3070
|
*/
|
|
750
3071
|
list(options?: {
|
|
751
|
-
|
|
3072
|
+
agent?: string | null;
|
|
752
3073
|
source?: (S['SessionSource'])[] | null;
|
|
3074
|
+
service?: S['HandlerService'] | null;
|
|
3075
|
+
handler?: string | null;
|
|
753
3076
|
days?: number | null;
|
|
754
3077
|
start?: string | null;
|
|
755
3078
|
end?: string | null;
|
|
@@ -758,9 +3081,10 @@ declare class EllipsisSessions {
|
|
|
758
3081
|
author_id?: number | null;
|
|
759
3082
|
repo?: string | null;
|
|
760
3083
|
unfinished?: boolean;
|
|
3084
|
+
exclude_code_review?: boolean;
|
|
761
3085
|
}): Promise<Page<S['Session'], S['SessionsListResponse']>>;
|
|
762
3086
|
/**
|
|
763
|
-
* Get
|
|
3087
|
+
* Get Session Output
|
|
764
3088
|
*
|
|
765
3089
|
* Return the session's typed output.
|
|
766
3090
|
*
|
|
@@ -769,10 +3093,17 @@ declare class EllipsisSessions {
|
|
|
769
3093
|
* while the session is still running (poll GET /v1/sessions/{id}),
|
|
770
3094
|
* when the agent declares no output block, or when no execution
|
|
771
3095
|
* produced output.
|
|
3096
|
+
*
|
|
3097
|
+
* Required permissions: read:sessions.
|
|
3098
|
+
* API key: Supported.
|
|
3099
|
+
* CLI user token: Supported.
|
|
3100
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3101
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3102
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
772
3103
|
*/
|
|
773
|
-
output(session_id: string): Promise<
|
|
3104
|
+
output(session_id: string): Promise<Record<string, unknown>>;
|
|
774
3105
|
/**
|
|
775
|
-
* Get
|
|
3106
|
+
* Get Session Records
|
|
776
3107
|
*
|
|
777
3108
|
* Return the session's stored transcript records, oldest first.
|
|
778
3109
|
*
|
|
@@ -781,13 +3112,45 @@ declare class EllipsisSessions {
|
|
|
781
3112
|
* agent answering "did X look into Y?" needs to read the sessions
|
|
782
3113
|
* it finds, and any org member sees the same transcript in the
|
|
783
3114
|
* dashboard.
|
|
3115
|
+
*
|
|
3116
|
+
* Required permissions: read:sessions.
|
|
3117
|
+
* API key: Supported.
|
|
3118
|
+
* CLI user token: Supported.
|
|
3119
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3120
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3121
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
784
3122
|
*/
|
|
785
3123
|
records(session_id: string, options?: {
|
|
786
3124
|
cursor?: string | null;
|
|
787
3125
|
limit?: number | null;
|
|
788
|
-
}): Promise<Page<S['
|
|
3126
|
+
}): Promise<Page<S['SessionRecord'], S['SessionRecordsListResponse']>>;
|
|
3127
|
+
/**
|
|
3128
|
+
* Search Sessions
|
|
3129
|
+
*
|
|
3130
|
+
* Required permissions: read:sessions.
|
|
3131
|
+
* API key: Supported.
|
|
3132
|
+
* CLI user token: Supported.
|
|
3133
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3134
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3135
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
3136
|
+
*/
|
|
3137
|
+
search(options?: {
|
|
3138
|
+
q?: string;
|
|
3139
|
+
scope?: S['SessionSearchScope'];
|
|
3140
|
+
source?: (S['SessionSource'])[] | null;
|
|
3141
|
+
service?: S['HandlerService'] | null;
|
|
3142
|
+
handler?: string | null;
|
|
3143
|
+
author_id?: (number)[] | null;
|
|
3144
|
+
agent_id?: (string)[] | null;
|
|
3145
|
+
session_ids?: (string)[] | null;
|
|
3146
|
+
repo?: (string)[] | null;
|
|
3147
|
+
status?: (S['SessionLifecycleStatus'])[] | null;
|
|
3148
|
+
start?: string | null;
|
|
3149
|
+
end?: string | null;
|
|
3150
|
+
limit?: number;
|
|
3151
|
+
}): Promise<S['SessionSearchResponse']>;
|
|
789
3152
|
/**
|
|
790
|
-
* Send
|
|
3153
|
+
* Send Session Message
|
|
791
3154
|
*
|
|
792
3155
|
* Send a message to a session.
|
|
793
3156
|
*
|
|
@@ -795,6 +3158,13 @@ declare class EllipsisSessions {
|
|
|
795
3158
|
* Returns the created message so the caller can track it by id; a
|
|
796
3159
|
* retried send with the same idempotency_key returns the original
|
|
797
3160
|
* message.
|
|
3161
|
+
*
|
|
3162
|
+
* Required permissions: write:sessions.
|
|
3163
|
+
* API key: Supported.
|
|
3164
|
+
* CLI user token: Supported.
|
|
3165
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3166
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3167
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
798
3168
|
*/
|
|
799
3169
|
sendMessage(session_id: string, options: {
|
|
800
3170
|
idempotency_key?: string | null;
|
|
@@ -802,82 +3172,152 @@ declare class EllipsisSessions {
|
|
|
802
3172
|
message: string;
|
|
803
3173
|
}): Promise<S['SessionMessageResponse']>;
|
|
804
3174
|
/**
|
|
805
|
-
*
|
|
3175
|
+
* Get Session Stream Ticket
|
|
3176
|
+
*
|
|
3177
|
+
* Required permissions: read:sessions.
|
|
3178
|
+
* API key: Supported.
|
|
3179
|
+
* CLI user token: Supported.
|
|
3180
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3181
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3182
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
3183
|
+
*/
|
|
3184
|
+
sessionStreamTicket(session_id: string): Promise<S['StreamTicketResponse']>;
|
|
3185
|
+
/**
|
|
3186
|
+
* Start Session
|
|
806
3187
|
*
|
|
807
3188
|
* Start a cloud agent session.
|
|
808
3189
|
*
|
|
809
3190
|
* The daily driver: a prompt, optionally where to run it
|
|
810
|
-
* (`environment`) and the run's own settings, in the
|
|
3191
|
+
* (`environment`) and the run's own settings, in the AgentConfig
|
|
811
3192
|
* vocabulary. What you send is what runs: omit `environment` and the
|
|
812
3193
|
* session runs in the built-in basic sandbox. A missing model or
|
|
813
3194
|
* budget comes from the organization's settings, so
|
|
814
|
-
* `{"prompt": "..."}`
|
|
815
|
-
*
|
|
816
|
-
*
|
|
3195
|
+
* `{"claude_code": {"prompt": "..."}}` is a complete request.
|
|
3196
|
+
* Set exactly one of `claude_code` or `codex`. Its `prompt` is the
|
|
3197
|
+
* first message; omit the prompt and the session starts idle, waiting for
|
|
3198
|
+
* one. 400 when `lifecycle.interactive` is false and there is no prompt, or
|
|
817
3199
|
* when `budget` exceeds the organization's per-session ceiling. To
|
|
818
|
-
* run a saved
|
|
3200
|
+
* run a saved agent, use POST /v1/agents/{agent_id}/sessions.
|
|
3201
|
+
*
|
|
3202
|
+
* Required permissions: write:sessions.
|
|
3203
|
+
* API key: Supported.
|
|
3204
|
+
* CLI user token: Supported.
|
|
3205
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3206
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3207
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
819
3208
|
*/
|
|
820
3209
|
start(options?: {
|
|
821
3210
|
budget?: number | null;
|
|
822
|
-
|
|
823
|
-
codex?: S['CodexConfig'] | null;
|
|
824
|
-
environment?: string | S['EnvironmentConfig'] | null;
|
|
3211
|
+
claude_code?: S['ClaudeConfig-Input'] | null;
|
|
3212
|
+
codex?: S['CodexConfig-Input'] | null;
|
|
3213
|
+
environment?: string | S['EnvironmentConfig-Input'] | null;
|
|
825
3214
|
force_rebuild?: boolean;
|
|
826
3215
|
images?: (S['ImageAttachment'])[];
|
|
827
|
-
|
|
3216
|
+
lifecycle?: S['SessionLifecycleConfig'];
|
|
828
3217
|
metadata?: Record<string, string>;
|
|
829
3218
|
output?: S['OutputConfig'] | null;
|
|
830
|
-
permissions?: S['PermissionsConfig'] | null;
|
|
831
|
-
prompt?: string | null;
|
|
3219
|
+
permissions?: S['PermissionsConfig-Input'] | null;
|
|
832
3220
|
repositories?: (string)[] | null;
|
|
833
|
-
skills?: (S['SkillRef'])[] | null;
|
|
3221
|
+
skills?: (S['SkillRef-Input'])[] | null;
|
|
834
3222
|
}): Promise<S['SessionResponse']>;
|
|
835
3223
|
/**
|
|
836
|
-
* Stop
|
|
3224
|
+
* Stop Session
|
|
837
3225
|
*
|
|
838
3226
|
* Stop an in-flight session and return it.
|
|
839
3227
|
*
|
|
840
3228
|
* stopped_by is recorded only when the caller's credential maps
|
|
841
3229
|
* to a GitHub account.
|
|
3230
|
+
*
|
|
3231
|
+
* Required permissions: write:sessions.
|
|
3232
|
+
* API key: Supported.
|
|
3233
|
+
* CLI user token: Supported.
|
|
3234
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3235
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3236
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
842
3237
|
*/
|
|
843
3238
|
stop(session_id: string): Promise<S['SessionResponse']>;
|
|
3239
|
+
/**
|
|
3240
|
+
* Get Sessions Stream Ticket
|
|
3241
|
+
*
|
|
3242
|
+
* Required permissions: read:sessions.
|
|
3243
|
+
* API key: Supported.
|
|
3244
|
+
* CLI user token: Supported.
|
|
3245
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3246
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3247
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
3248
|
+
*/
|
|
3249
|
+
streamTicket(): Promise<S['StreamTicketResponse']>;
|
|
3250
|
+
/**
|
|
3251
|
+
* Update Session
|
|
3252
|
+
*
|
|
3253
|
+
* Archive or unarchive a session and return it.
|
|
3254
|
+
*
|
|
3255
|
+
* Set archived to true to record the current server time and the
|
|
3256
|
+
* authenticated GitHub user. API-key requests record no user.
|
|
3257
|
+
* Repeated archive requests preserve the original time and user.
|
|
3258
|
+
* Set archived to false to clear both fields. Archiving is available
|
|
3259
|
+
* in any session state and does not stop a running session.
|
|
3260
|
+
*
|
|
3261
|
+
* Changes are delivered to session and session-list streams.
|
|
3262
|
+
*
|
|
3263
|
+
* Required permissions: write:sessions.
|
|
3264
|
+
* API key: Supported.
|
|
3265
|
+
* CLI user token: Supported.
|
|
3266
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3267
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3268
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
3269
|
+
*/
|
|
3270
|
+
update(session_id: string, options: {
|
|
3271
|
+
archived: boolean;
|
|
3272
|
+
}): Promise<S['SessionResponse']>;
|
|
844
3273
|
/** Start a session and return a handle over it. */
|
|
845
3274
|
run(options: Parameters<EllipsisSessions['start']>[0]): Promise<SessionHandle>;
|
|
846
3275
|
/** A handle over an existing session. */
|
|
847
3276
|
handle(sessionId: string): Promise<SessionHandle>;
|
|
848
3277
|
}
|
|
849
|
-
declare class
|
|
3278
|
+
declare class EllipsisSupportSlack {
|
|
850
3279
|
private readonly transport;
|
|
851
3280
|
constructor(transport: Transport);
|
|
852
3281
|
/**
|
|
853
|
-
*
|
|
854
|
-
*
|
|
855
|
-
* Get the organization settings.
|
|
3282
|
+
* Request Slack Help
|
|
856
3283
|
*
|
|
857
|
-
*
|
|
858
|
-
*
|
|
859
|
-
*
|
|
3284
|
+
* Required permissions: write:account.
|
|
3285
|
+
* API key: Requires a CLI user token.
|
|
3286
|
+
* CLI user token: Supported.
|
|
3287
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3288
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
860
3289
|
*/
|
|
861
|
-
|
|
3290
|
+
create(options: {
|
|
3291
|
+
emails: (string)[];
|
|
3292
|
+
resend?: boolean;
|
|
3293
|
+
}): Promise<S['SlackHelpResponse']>;
|
|
862
3294
|
/**
|
|
863
|
-
*
|
|
3295
|
+
* Get Slack Help
|
|
864
3296
|
*
|
|
865
|
-
*
|
|
3297
|
+
* Required permissions: read:account.
|
|
3298
|
+
* API key: Supported.
|
|
3299
|
+
* CLI user token: Supported.
|
|
3300
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3301
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3302
|
+
*/
|
|
3303
|
+
get(): Promise<void>;
|
|
3304
|
+
/**
|
|
3305
|
+
* Invite To Slack Help
|
|
866
3306
|
*
|
|
867
|
-
*
|
|
868
|
-
*
|
|
869
|
-
*
|
|
870
|
-
*
|
|
871
|
-
*
|
|
3307
|
+
* Required permissions: write:account.
|
|
3308
|
+
* API key: Requires a CLI user token.
|
|
3309
|
+
* CLI user token: Supported.
|
|
3310
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3311
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
872
3312
|
*/
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
}): Promise<S['
|
|
3313
|
+
invite(options: {
|
|
3314
|
+
emails: (string)[];
|
|
3315
|
+
resend?: boolean;
|
|
3316
|
+
}): Promise<S['SlackHelpResponse']>;
|
|
877
3317
|
}
|
|
878
|
-
declare class
|
|
3318
|
+
declare class EllipsisSupport {
|
|
879
3319
|
private readonly transport;
|
|
880
|
-
readonly
|
|
3320
|
+
readonly slack: EllipsisSupportSlack;
|
|
881
3321
|
constructor(transport: Transport);
|
|
882
3322
|
}
|
|
883
3323
|
declare class EllipsisTemplates {
|
|
@@ -887,6 +3327,12 @@ declare class EllipsisTemplates {
|
|
|
887
3327
|
* Get Agent Template
|
|
888
3328
|
*
|
|
889
3329
|
* Return one built-in agent template by slug.
|
|
3330
|
+
*
|
|
3331
|
+
* Required permissions: read:templates.
|
|
3332
|
+
* API key: Supported.
|
|
3333
|
+
* CLI user token: Supported.
|
|
3334
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3335
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
890
3336
|
*/
|
|
891
3337
|
get(template_id: string): Promise<S['AgentTemplate']>;
|
|
892
3338
|
/**
|
|
@@ -896,44 +3342,431 @@ declare class EllipsisTemplates {
|
|
|
896
3342
|
*
|
|
897
3343
|
* Behind auth but not account-scoped — the data is static
|
|
898
3344
|
* product content shared by the dashboard, landing site, and CLI.
|
|
3345
|
+
*
|
|
3346
|
+
* Required permissions: read:templates.
|
|
3347
|
+
* API key: Supported.
|
|
3348
|
+
* CLI user token: Supported.
|
|
3349
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3350
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
899
3351
|
*/
|
|
900
3352
|
list(): Promise<S['AgentTemplatesListResponse']>;
|
|
901
3353
|
}
|
|
3354
|
+
declare class EllipsisUserSubscriptionTokens {
|
|
3355
|
+
private readonly transport;
|
|
3356
|
+
constructor(transport: Transport);
|
|
3357
|
+
/**
|
|
3358
|
+
* Delete Subscription Token
|
|
3359
|
+
*
|
|
3360
|
+
* Delete your subscription token for a provider.
|
|
3361
|
+
*
|
|
3362
|
+
* Your sessions stop billing your subscription immediately, and the
|
|
3363
|
+
* usage reading goes with it — it described that token's plan.
|
|
3364
|
+
*
|
|
3365
|
+
* Required permissions: delete:user.
|
|
3366
|
+
* API key: Requires a CLI user token.
|
|
3367
|
+
* CLI user token: Supported.
|
|
3368
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3369
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3370
|
+
*/
|
|
3371
|
+
delete(provider: S['SubscriptionProvider']): Promise<void>;
|
|
3372
|
+
/**
|
|
3373
|
+
* Get Subscription Token
|
|
3374
|
+
*
|
|
3375
|
+
* Get one provider's subscription token.
|
|
3376
|
+
*
|
|
3377
|
+
* `configured` is false when nothing is saved. The token itself is
|
|
3378
|
+
* never returned, only `token_last4`.
|
|
3379
|
+
*
|
|
3380
|
+
* Required permissions: read:user.
|
|
3381
|
+
* API key: Requires a CLI user token.
|
|
3382
|
+
* CLI user token: Supported.
|
|
3383
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3384
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3385
|
+
*/
|
|
3386
|
+
get(provider: S['SubscriptionProvider']): Promise<S['SubscriptionToken']>;
|
|
3387
|
+
/**
|
|
3388
|
+
* List Subscription Tokens
|
|
3389
|
+
*
|
|
3390
|
+
* List your subscription tokens.
|
|
3391
|
+
*
|
|
3392
|
+
* One entry per supported provider, whether or not you have saved a
|
|
3393
|
+
* token for it. Tokens are write-only: the response carries only
|
|
3394
|
+
* `token_last4`, never the token.
|
|
3395
|
+
*
|
|
3396
|
+
* Required permissions: read:user.
|
|
3397
|
+
* API key: Requires a CLI user token.
|
|
3398
|
+
* CLI user token: Supported.
|
|
3399
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3400
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3401
|
+
*/
|
|
3402
|
+
list(): Promise<S['SubscriptionTokensListResponse']>;
|
|
3403
|
+
/**
|
|
3404
|
+
* Set Subscription Token
|
|
3405
|
+
*
|
|
3406
|
+
* Save your subscription token for a provider.
|
|
3407
|
+
*
|
|
3408
|
+
* Replaces whatever was stored. The token is saved DISABLED and
|
|
3409
|
+
* routes nothing until `POST /v1/user/subscription_tokens/{provider}/verify`
|
|
3410
|
+
* succeeds. For Claude, use `claude setup-token`. For Codex, paste
|
|
3411
|
+
* the auth.json credentials from a ChatGPT login. Each subscription
|
|
3412
|
+
* pays only for models from its corresponding provider.
|
|
3413
|
+
*
|
|
3414
|
+
* Required permissions: write:user.
|
|
3415
|
+
* API key: Requires a CLI user token.
|
|
3416
|
+
* CLI user token: Supported.
|
|
3417
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3418
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3419
|
+
*/
|
|
3420
|
+
set(provider: S['SubscriptionProvider'], options: {
|
|
3421
|
+
token: string;
|
|
3422
|
+
}): Promise<S['SubscriptionToken']>;
|
|
3423
|
+
/**
|
|
3424
|
+
* Get Subscription Usage
|
|
3425
|
+
*
|
|
3426
|
+
* Get your plan's last-observed rate-limit windows.
|
|
3427
|
+
*
|
|
3428
|
+
* Display-only, and only as fresh as your last call through Ellipsis
|
|
3429
|
+
* (`observed_at`) — the same plan used outside Ellipsis moves the
|
|
3430
|
+
* real windows without us seeing them. Null unless a token is
|
|
3431
|
+
* enabled for the provider: a disabled token routes nothing, so any
|
|
3432
|
+
* reading behind it is stale by construction.
|
|
3433
|
+
*
|
|
3434
|
+
* Required permissions: read:user.
|
|
3435
|
+
* API key: Requires a CLI user token.
|
|
3436
|
+
* CLI user token: Supported.
|
|
3437
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3438
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3439
|
+
*/
|
|
3440
|
+
usage(provider: S['SubscriptionProvider']): Promise<S['SubscriptionUsageResponse']>;
|
|
3441
|
+
/**
|
|
3442
|
+
* Verify Subscription Token
|
|
3443
|
+
*
|
|
3444
|
+
* Verify the stored token by using it.
|
|
3445
|
+
*
|
|
3446
|
+
* Makes one minimal call on the exact runtime path, so a pass proves
|
|
3447
|
+
* the token is what will pay. This is the gate on routing: success
|
|
3448
|
+
* enables the token, failure disables it, so verifying a revoked
|
|
3449
|
+
* token is how you stop it routing. A 200 with `ok: false` is the
|
|
3450
|
+
* normal way a bad token is reported — it is an answer, not a
|
|
3451
|
+
* transport failure.
|
|
3452
|
+
*
|
|
3453
|
+
* Required permissions: write:user.
|
|
3454
|
+
* API key: Requires a CLI user token.
|
|
3455
|
+
* CLI user token: Supported.
|
|
3456
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3457
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3458
|
+
*/
|
|
3459
|
+
verify(provider: S['SubscriptionProvider']): Promise<S['VerifySubscriptionTokenResponse']>;
|
|
3460
|
+
}
|
|
3461
|
+
declare class EllipsisUserTokens {
|
|
3462
|
+
private readonly transport;
|
|
3463
|
+
constructor(transport: Transport);
|
|
3464
|
+
/**
|
|
3465
|
+
* List User Tokens
|
|
3466
|
+
*
|
|
3467
|
+
* Required permissions: read:user.
|
|
3468
|
+
* API key: Requires a CLI user token.
|
|
3469
|
+
* CLI user token: Supported.
|
|
3470
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3471
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3472
|
+
*/
|
|
3473
|
+
list(): Promise<S['ListUserTokensResponse']>;
|
|
3474
|
+
/**
|
|
3475
|
+
* Revoke User Token
|
|
3476
|
+
*
|
|
3477
|
+
* Required permissions: delete:user.
|
|
3478
|
+
* API key: Requires a CLI user token.
|
|
3479
|
+
* CLI user token: Supported.
|
|
3480
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3481
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3482
|
+
*/
|
|
3483
|
+
revoke(token_id: string): Promise<S['TokenRevokedResponse']>;
|
|
3484
|
+
}
|
|
3485
|
+
declare class EllipsisUser {
|
|
3486
|
+
private readonly transport;
|
|
3487
|
+
readonly subscriptionTokens: EllipsisUserSubscriptionTokens;
|
|
3488
|
+
readonly tokens: EllipsisUserTokens;
|
|
3489
|
+
constructor(transport: Transport);
|
|
3490
|
+
}
|
|
3491
|
+
declare class EllipsisVmExecutions {
|
|
3492
|
+
private readonly transport;
|
|
3493
|
+
constructor(transport: Transport);
|
|
3494
|
+
/**
|
|
3495
|
+
* Get Single Vm Execution
|
|
3496
|
+
*
|
|
3497
|
+
* Required permissions: read:environments.
|
|
3498
|
+
* API key: Supported.
|
|
3499
|
+
* CLI user token: Supported.
|
|
3500
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
|
|
3501
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3502
|
+
*/
|
|
3503
|
+
get(vm_execution_id: string): Promise<S['VMExecutionResponse']>;
|
|
3504
|
+
/**
|
|
3505
|
+
* Get Vm Executions
|
|
3506
|
+
*
|
|
3507
|
+
* Required permissions: read:environments.
|
|
3508
|
+
* API key: Supported.
|
|
3509
|
+
* CLI user token: Supported.
|
|
3510
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
|
|
3511
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3512
|
+
*/
|
|
3513
|
+
list(): Promise<void>;
|
|
3514
|
+
/**
|
|
3515
|
+
* Get Vm Execution Stream Ticket
|
|
3516
|
+
*
|
|
3517
|
+
* Required permissions: read:environments.
|
|
3518
|
+
* API key: Supported.
|
|
3519
|
+
* CLI user token: Supported.
|
|
3520
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own sandbox.
|
|
3521
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3522
|
+
*/
|
|
3523
|
+
streamTicket(vm_execution_id: string): Promise<S['StreamTicketResponse']>;
|
|
3524
|
+
}
|
|
3525
|
+
declare class EllipsisVmImages {
|
|
3526
|
+
private readonly transport;
|
|
3527
|
+
constructor(transport: Transport);
|
|
3528
|
+
/**
|
|
3529
|
+
* Get Vm Image
|
|
3530
|
+
*
|
|
3531
|
+
* Get metadata for a reusable VM image.
|
|
3532
|
+
*
|
|
3533
|
+
* Required permissions: read:environments.
|
|
3534
|
+
* API key: Supported.
|
|
3535
|
+
* CLI user token: Supported.
|
|
3536
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3537
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3538
|
+
*/
|
|
3539
|
+
get(image_id: string): Promise<S['VMImageResponse']>;
|
|
3540
|
+
/**
|
|
3541
|
+
* List Vm Images
|
|
3542
|
+
*
|
|
3543
|
+
* List reusable VM images.
|
|
3544
|
+
*
|
|
3545
|
+
* Includes expiration, repository revisions, and build identity.
|
|
3546
|
+
*
|
|
3547
|
+
* Required permissions: read:environments.
|
|
3548
|
+
* API key: Supported.
|
|
3549
|
+
* CLI user token: Supported.
|
|
3550
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3551
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3552
|
+
*/
|
|
3553
|
+
list(options?: {
|
|
3554
|
+
limit?: number;
|
|
3555
|
+
offset?: number;
|
|
3556
|
+
}): Promise<S['VMImageListResponse']>;
|
|
3557
|
+
}
|
|
3558
|
+
declare class EllipsisVms {
|
|
3559
|
+
private readonly transport;
|
|
3560
|
+
constructor(transport: Transport);
|
|
3561
|
+
/**
|
|
3562
|
+
* Get Vm
|
|
3563
|
+
*
|
|
3564
|
+
* Get a VM and its most recent execution.
|
|
3565
|
+
*
|
|
3566
|
+
* Required permissions: read:environments.
|
|
3567
|
+
* API key: Supported.
|
|
3568
|
+
* CLI user token: Supported.
|
|
3569
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
|
|
3570
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3571
|
+
*/
|
|
3572
|
+
get(vm_id: string): Promise<S['VM']>;
|
|
3573
|
+
/**
|
|
3574
|
+
* List Vms
|
|
3575
|
+
*
|
|
3576
|
+
* List VMs and their last recorded state.
|
|
3577
|
+
*
|
|
3578
|
+
* Each machine appears once, including paused and deleted VMs, newest execution first.
|
|
3579
|
+
*
|
|
3580
|
+
* Required permissions: read:environments.
|
|
3581
|
+
* API key: Supported.
|
|
3582
|
+
* CLI user token: Supported.
|
|
3583
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration. Only the token's own VM.
|
|
3584
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3585
|
+
*/
|
|
3586
|
+
list(options?: {
|
|
3587
|
+
limit?: number;
|
|
3588
|
+
offset?: number;
|
|
3589
|
+
}): Promise<S['VMListResponse']>;
|
|
3590
|
+
}
|
|
3591
|
+
declare class EllipsisWebhooksDeliveries {
|
|
3592
|
+
private readonly transport;
|
|
3593
|
+
constructor(transport: Transport);
|
|
3594
|
+
/**
|
|
3595
|
+
* Get Webhook Delivery
|
|
3596
|
+
*
|
|
3597
|
+
* Inspect a delivery's payload and attempts.
|
|
3598
|
+
*
|
|
3599
|
+
* Payloads are immutable across retries. Attempt details include HTTP
|
|
3600
|
+
* status, timing, and errors. Response bodies are not retained.
|
|
3601
|
+
*
|
|
3602
|
+
* Required permissions: read:webhooks.
|
|
3603
|
+
* API key: Supported.
|
|
3604
|
+
* CLI user token: Supported.
|
|
3605
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3606
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3607
|
+
*/
|
|
3608
|
+
get(delivery_id: string): Promise<S['WebhookDeliveryResponse']>;
|
|
3609
|
+
/**
|
|
3610
|
+
* List Webhook Deliveries
|
|
3611
|
+
*
|
|
3612
|
+
* List webhook deliveries, newest first.
|
|
3613
|
+
*
|
|
3614
|
+
* Includes verification pings and deliveries for deleted webhooks.
|
|
3615
|
+
* History is retained for 30 days. Retries belong to the same delivery.
|
|
3616
|
+
*
|
|
3617
|
+
* Required permissions: read:webhooks.
|
|
3618
|
+
* API key: Supported.
|
|
3619
|
+
* CLI user token: Supported.
|
|
3620
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3621
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3622
|
+
*/
|
|
3623
|
+
list(options?: {
|
|
3624
|
+
webhook_id?: string | null;
|
|
3625
|
+
event_type?: S['WebhookEventType'] | null;
|
|
3626
|
+
status?: S['WebhookDeliveryStatus'] | null;
|
|
3627
|
+
start?: string | null;
|
|
3628
|
+
end?: string | null;
|
|
3629
|
+
limit?: number;
|
|
3630
|
+
cursor?: string | null;
|
|
3631
|
+
}): Promise<Page<S['WebhookDelivery'], S['WebhookDeliveriesListResponse']>>;
|
|
3632
|
+
}
|
|
3633
|
+
declare class EllipsisWebhooks {
|
|
3634
|
+
private readonly transport;
|
|
3635
|
+
readonly deliveries: EllipsisWebhooksDeliveries;
|
|
3636
|
+
constructor(transport: Transport);
|
|
3637
|
+
/**
|
|
3638
|
+
* Create Webhook
|
|
3639
|
+
*
|
|
3640
|
+
* Create a webhook and send a verification ping.
|
|
3641
|
+
*
|
|
3642
|
+
* Save the signing secret from this response; it is returned once.
|
|
3643
|
+
* Accounts default to three webhook slots, including unverified and
|
|
3644
|
+
* pending ones; your account may have a custom allowance. A ping returning HTTP 200 moves unverified to pending. Contact
|
|
3645
|
+
* Ellipsis to activate it and receive session.create events.
|
|
3646
|
+
*
|
|
3647
|
+
* Required permissions: write:webhooks.
|
|
3648
|
+
* API key: Supported.
|
|
3649
|
+
* CLI user token: Supported.
|
|
3650
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3651
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3652
|
+
*/
|
|
3653
|
+
create(options: {
|
|
3654
|
+
description?: string | null;
|
|
3655
|
+
events: ("session.create")[];
|
|
3656
|
+
url: string;
|
|
3657
|
+
}): Promise<S['CreateWebhookResponse']>;
|
|
3658
|
+
/**
|
|
3659
|
+
* Delete Webhook
|
|
3660
|
+
*
|
|
3661
|
+
* Delete a webhook and cancel outstanding deliveries.
|
|
3662
|
+
*
|
|
3663
|
+
* An HTTP request already in flight may finish. Delivery history remains
|
|
3664
|
+
* available for 30 days. Deletion frees a webhook slot.
|
|
3665
|
+
*
|
|
3666
|
+
* Required permissions: delete:webhooks.
|
|
3667
|
+
* API key: Supported.
|
|
3668
|
+
* CLI user token: Supported.
|
|
3669
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3670
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3671
|
+
*/
|
|
3672
|
+
delete(webhook_id: string): Promise<void>;
|
|
3673
|
+
/**
|
|
3674
|
+
* Get Webhook
|
|
3675
|
+
*
|
|
3676
|
+
* Get a webhook's configuration and approval state.
|
|
3677
|
+
*
|
|
3678
|
+
* Required permissions: read:webhooks.
|
|
3679
|
+
* API key: Supported.
|
|
3680
|
+
* CLI user token: Supported.
|
|
3681
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3682
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3683
|
+
*/
|
|
3684
|
+
get(webhook_id: string): Promise<S['WebhookResponse']>;
|
|
3685
|
+
/**
|
|
3686
|
+
* List Webhooks
|
|
3687
|
+
*
|
|
3688
|
+
* List your webhooks and their delivery summaries.
|
|
3689
|
+
*
|
|
3690
|
+
* Required permissions: read:webhooks.
|
|
3691
|
+
* API key: Supported.
|
|
3692
|
+
* CLI user token: Supported.
|
|
3693
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3694
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3695
|
+
*/
|
|
3696
|
+
list(): Promise<S['WebhooksListResponse']>;
|
|
3697
|
+
/**
|
|
3698
|
+
* Ping Webhook
|
|
3699
|
+
*
|
|
3700
|
+
* Send a signed verification or test ping.
|
|
3701
|
+
*
|
|
3702
|
+
* Available in every state. Only HTTP 200 verifies a destination;
|
|
3703
|
+
* successful pings never activate it. The default limit is five pings per
|
|
3704
|
+
* account per minute, including creation and URL changes. Custom
|
|
3705
|
+
* account allowances apply.
|
|
3706
|
+
*
|
|
3707
|
+
* Required permissions: write:webhooks.
|
|
3708
|
+
* API key: Supported.
|
|
3709
|
+
* CLI user token: Supported.
|
|
3710
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3711
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3712
|
+
*/
|
|
3713
|
+
ping(webhook_id: string): Promise<void>;
|
|
3714
|
+
/**
|
|
3715
|
+
* Update Webhook
|
|
3716
|
+
*
|
|
3717
|
+
* Replace a webhook's configuration.
|
|
3718
|
+
*
|
|
3719
|
+
* Changing the URL cancels outstanding deliveries, clears verification
|
|
3720
|
+
* and approval, and sends another ping. State and signing secret cannot
|
|
3721
|
+
* be set here. Updating description or subscriptions preserves approval.
|
|
3722
|
+
*
|
|
3723
|
+
* Required permissions: write:webhooks.
|
|
3724
|
+
* API key: Supported.
|
|
3725
|
+
* CLI user token: Supported.
|
|
3726
|
+
* Sandbox token: Not supported by sandbox tokens, even with permissions.ellipsis enabled.
|
|
3727
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3728
|
+
*/
|
|
3729
|
+
update(webhook_id: string, options: {
|
|
3730
|
+
description?: string | null;
|
|
3731
|
+
events: ("session.create")[];
|
|
3732
|
+
url: string;
|
|
3733
|
+
}): Promise<S['WebhookResponse']>;
|
|
3734
|
+
}
|
|
902
3735
|
declare class Ellipsis {
|
|
903
3736
|
private readonly transport;
|
|
3737
|
+
readonly account: EllipsisAccount;
|
|
3738
|
+
readonly agents: EllipsisAgents;
|
|
904
3739
|
readonly alerts: EllipsisAlerts;
|
|
905
3740
|
readonly analytics: EllipsisAnalytics;
|
|
906
3741
|
readonly auth: EllipsisAuth;
|
|
907
|
-
readonly automations: EllipsisAutomations;
|
|
908
3742
|
readonly environments: EllipsisEnvironments;
|
|
909
3743
|
readonly files: EllipsisFiles;
|
|
3744
|
+
readonly handlers: EllipsisHandlers;
|
|
910
3745
|
readonly integrations: EllipsisIntegrations;
|
|
911
3746
|
readonly memories: EllipsisMemories;
|
|
912
|
-
readonly models: EllipsisModels;
|
|
913
3747
|
readonly reviews: EllipsisReviews;
|
|
914
3748
|
readonly secrets: EllipsisSecrets;
|
|
915
3749
|
readonly sessions: EllipsisSessions;
|
|
916
|
-
readonly
|
|
3750
|
+
readonly support: EllipsisSupport;
|
|
917
3751
|
readonly templates: EllipsisTemplates;
|
|
3752
|
+
readonly user: EllipsisUser;
|
|
3753
|
+
readonly vmExecutions: EllipsisVmExecutions;
|
|
3754
|
+
readonly vmImages: EllipsisVmImages;
|
|
3755
|
+
readonly vms: EllipsisVms;
|
|
3756
|
+
readonly webhooks: EllipsisWebhooks;
|
|
918
3757
|
constructor(options: TransportOptions);
|
|
919
|
-
/**
|
|
920
|
-
* Get Budget
|
|
921
|
-
*
|
|
922
|
-
* Return the caller's current budget summary.
|
|
923
|
-
*/
|
|
924
|
-
budget(): Promise<S['BudgetSummary']>;
|
|
925
3758
|
/**
|
|
926
3759
|
* Current Identity
|
|
927
3760
|
*
|
|
928
3761
|
* Return the identity behind the caller's credential.
|
|
929
|
-
*/
|
|
930
|
-
me(): Promise<S['WhoAmIResponse']>;
|
|
931
|
-
/**
|
|
932
|
-
* Get Usage
|
|
933
3762
|
*
|
|
934
|
-
*
|
|
3763
|
+
* Required permissions: read:account.
|
|
3764
|
+
* API key: Supported.
|
|
3765
|
+
* CLI user token: Supported.
|
|
3766
|
+
* Sandbox token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
3767
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
935
3768
|
*/
|
|
936
|
-
|
|
3769
|
+
identity(): Promise<S['Identity']>;
|
|
937
3770
|
}
|
|
938
3771
|
|
|
939
3772
|
declare class EllipsisError extends Error {
|
|
@@ -968,4 +3801,4 @@ declare class RateLimitError extends APIError {
|
|
|
968
3801
|
declare class ServerError extends APIError {
|
|
969
3802
|
}
|
|
970
3803
|
|
|
971
|
-
export { APIError, AuthenticationError, ConflictError, DEFAULT_BASE_URL, Ellipsis, EllipsisError, ForbiddenError, NotFoundError, Page, RateLimitError, ServerError, SessionHandle, TERMINAL_STATUSES, Transport, TransportError, type TransportOptions, UnprocessableError, components, isSettled };
|
|
3804
|
+
export { APIError, type AgentListStreamMessage, AuthenticationError, type CollectionStreamFrame, type CollectionStreamHeartbeat, ConflictError, DEFAULT_BASE_URL, Ellipsis, EllipsisError, ForbiddenError, NotFoundError, Page, RateLimitError, type SandboxSnapshotFrame, type SandboxUpdateFrame, ServerError, SessionHandle, type SessionListStreamMessage, TERMINAL_STATUSES, Transport, TransportError, type TransportOptions, UnprocessableError, components, isSettled };
|