@ellipsis-dev/sdk 0.28.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/{chunk-YJC53TA7.js → chunk-K252XHLI.js} +3 -3
- package/dist/index.d.ts +1746 -590
- package/dist/index.js +1226 -221
- package/dist/store/index.d.ts +51 -4
- package/dist/store/index.js +516 -121
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.js +1 -1
- package/dist/{types-B-jIFh4_.d.ts → types-DrPhhfOb.d.ts} +4994 -2554
- package/package.json +1 -1
- package/schema/collection_frames.schema.json +1466 -931
- package/schema/frames.schema.json +1707 -972
- package/schema/openapi.v1.json +14194 -4044
- package/schema/trigger_fields.schema.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,127 @@
|
|
|
1
|
-
import { c as components } from './types-
|
|
2
|
-
export { A 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
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Frames on /v1/sessions/stream, /v1/
|
|
5
|
+
* Frames on /v1/sessions/stream, /v1/agents/stream and /v1/vm-executions/{id}/stream. Ignore unknown frame types.
|
|
6
6
|
*/
|
|
7
|
-
type CollectionStreamFrame = SessionListStreamMessage |
|
|
8
|
-
|
|
9
|
-
|
|
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
|
+
});
|
|
10
125
|
type EffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
11
126
|
type CodexEffortLevel = 'none' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
12
127
|
/**
|
|
@@ -16,21 +131,19 @@ type CodexEffortLevel = 'none' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
|
16
131
|
*/
|
|
17
132
|
type Level = 'read' | 'write' | 'delete';
|
|
18
133
|
type GithubAccountFilter = {
|
|
19
|
-
exclude
|
|
20
|
-
include
|
|
134
|
+
exclude: string[];
|
|
135
|
+
include: string[] | boolean;
|
|
21
136
|
} | boolean | string[];
|
|
22
137
|
type IssueAction = 'opened' | 'closed' | 'commented';
|
|
23
138
|
type RepositoryFilter = {
|
|
24
|
-
exclude
|
|
25
|
-
include
|
|
139
|
+
exclude: string[];
|
|
140
|
+
include: string[];
|
|
26
141
|
} | string[];
|
|
27
142
|
type LinearIssueAction = 'opened';
|
|
28
143
|
type PullRequestAction = 'opened' | 'pushed' | 'merged' | 'closed' | 'review_submitted' | 'commented';
|
|
29
144
|
type SentryAction = 'issue_alert' | 'metric_alert';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*/
|
|
33
|
-
type BudgetSource = 'system' | 'account' | 'config' | 'run';
|
|
145
|
+
type AttributionType = 'github_user' | 'linear_user' | 'slack_user' | 'api_key';
|
|
146
|
+
type GithubAccountType = 'User' | 'Organization' | 'Bot' | 'Mannequin';
|
|
34
147
|
/**
|
|
35
148
|
* How a session's environment was chosen. None (the field is nullable)
|
|
36
149
|
* when the config carried an inline environment block and no resolution ran —
|
|
@@ -39,61 +152,33 @@ type BudgetSource = 'system' | 'account' | 'config' | 'run';
|
|
|
39
152
|
* Not derivable from the row: `environment_id` says WHICH environment, not
|
|
40
153
|
* how it was chosen, and is null for the built-in basic sandbox.
|
|
41
154
|
*/
|
|
42
|
-
type EnvironmentSource = 'request' | '
|
|
155
|
+
type EnvironmentSource = 'request' | 'agent' | 'repo_default' | 'account_default' | 'platform_default';
|
|
43
156
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* `status` (SessionStatus) is the lifecycle state: COMPLETED / ERROR /
|
|
47
|
-
* CANCELLED. `exit_status` explains *why* a run reached that terminal state, so
|
|
48
|
-
* the UI and metrics can tell a budget cutoff apart from a crashed tool call or
|
|
49
|
-
* a deliberate cancellation. It is None until the run reaches a terminal state.
|
|
157
|
+
* The service the handler responds to.
|
|
50
158
|
*/
|
|
51
|
-
type
|
|
159
|
+
type HandlerService = 'slack' | 'github' | 'linear' | 'sentry';
|
|
52
160
|
/**
|
|
53
|
-
*
|
|
161
|
+
* Whether the conversation is open or permanently closed. Open does not imply direct messages are permitted.
|
|
54
162
|
*/
|
|
55
|
-
type
|
|
163
|
+
type ConversationState = 'open' | 'closed';
|
|
56
164
|
/**
|
|
57
|
-
*
|
|
58
|
-
* the ONE "preceded-by" chain for every predecessor relationship. Routing
|
|
59
|
-
* reads this when the distinction matters.
|
|
60
|
-
*
|
|
61
|
-
* CONTINUATION — a follow-up in the same conversation surface (e.g. a Slack
|
|
62
|
-
* thread reply spawning a fresh session on the same thread).
|
|
63
|
-
* RESUME — a conversation re-hosted on a new box after its sandbox was torn
|
|
64
|
-
* down (interactive platform; later phase).
|
|
165
|
+
* Why the last execution ended; completed also includes parking an open conversation.
|
|
65
166
|
*/
|
|
66
|
-
type
|
|
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';
|
|
67
168
|
/**
|
|
68
169
|
* Why direct prompting is refused. Absent when prompting is allowed.
|
|
69
170
|
*/
|
|
70
171
|
type PromptBlockedReason = 'mention_surface' | 'ephemeral_trigger' | 'non_interactive' | 'harness_single_turn' | 'closed';
|
|
71
172
|
/**
|
|
72
|
-
*
|
|
73
|
-
* Distinct from SessionStatus, which is per-execution (one turn's run) and
|
|
74
|
-
* moves to agent_turns in a later slice. IDLE: alive, waiting for the next
|
|
75
|
-
* message. RUNNING: a turn is executing. CLOSED: the conversation is done and
|
|
76
|
-
* its sandbox/snapshots are torn down.
|
|
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.
|
|
77
174
|
*/
|
|
78
|
-
type
|
|
175
|
+
type SessionLifecycleStatus = 'scheduled' | 'starting' | 'working' | 'waiting' | 'retrying' | 'idle' | 'closed' | 'failed' | 'stopped' | 'cancelled';
|
|
79
176
|
/**
|
|
80
177
|
* Where the session came from (e.g. react, web, api, cli, mention, cron).
|
|
81
178
|
*/
|
|
82
179
|
type SessionSource = 'react' | 'web' | 'api' | 'cli' | 'mention' | 'cron';
|
|
83
180
|
/**
|
|
84
|
-
*
|
|
85
|
-
*/
|
|
86
|
-
type SessionStatus = 'scheduled' | 'creating_sandbox' | 'running' | 'retrying' | 'completed' | 'error' | 'cancelled' | 'stopped';
|
|
87
|
-
/**
|
|
88
|
-
* What the current (or most recent) execution is doing (backs `run`).
|
|
89
|
-
*/
|
|
90
|
-
type RunStatus = 'scheduled' | 'starting' | 'working' | 'waiting' | 'done' | 'failed' | 'stopped' | 'cancelled' | 'retrying';
|
|
91
|
-
/**
|
|
92
|
-
* The durable conversation axis (backs the surfaced `session` field).
|
|
93
|
-
*/
|
|
94
|
-
type SessionLiveness = 'alive' | 'idle' | 'closed';
|
|
95
|
-
/**
|
|
96
|
-
* Which writer owns this automation. "github" automations are defined by a file in a repository and are changed by editing that file; "api" automations have no file and are changed through this API.
|
|
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.
|
|
97
182
|
*/
|
|
98
183
|
type ConfigManagedBy = 'github' | 'api';
|
|
99
184
|
/**
|
|
@@ -102,7 +187,7 @@ type ConfigManagedBy = 'github' | 'api';
|
|
|
102
187
|
* Rides on `Sandbox.cache_tier` and the sandbox_ready lifecycle record.
|
|
103
188
|
*/
|
|
104
189
|
type SandboxCacheTier = 'exact' | 'incremental' | 'full';
|
|
105
|
-
type SandboxSource = 'cli' | 'web_ui' | 'ingest_pull_request_job_run' | '
|
|
190
|
+
type SandboxSource = 'cli' | 'web_ui' | 'ingest_pull_request_job_run' | 'session' | 'image_refresh' | 'test' | 'script';
|
|
106
191
|
type SandboxStatus = 'scheduled' | 'building' | 'running' | 'released' | 'terminating' | 'terminated' | 'failed';
|
|
107
192
|
type SandboxType = 'claude_code';
|
|
108
193
|
interface SessionListStreamMessage {
|
|
@@ -110,136 +195,23 @@ interface SessionListStreamMessage {
|
|
|
110
195
|
type: 'session';
|
|
111
196
|
}
|
|
112
197
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* session stream's `session`/`snapshot` frames — REST and stream never
|
|
116
|
-
* disagree about what a session looks like.
|
|
117
|
-
*/
|
|
118
|
-
interface Session {
|
|
119
|
-
attribution: SessionAttribution;
|
|
120
|
-
/**
|
|
121
|
-
* The automation the session was started from, or null for a raw session started with POST /v1/sessions.
|
|
122
|
-
*/
|
|
123
|
-
automation: SessionAutomation | null;
|
|
124
|
-
budget: SessionBudget;
|
|
125
|
-
config: SessionConfig1;
|
|
126
|
-
/**
|
|
127
|
-
* The "owner/name" repository context the session was started in, if any.
|
|
128
|
-
*/
|
|
129
|
-
context_repository: string | null;
|
|
130
|
-
cost: SessionCost;
|
|
131
|
-
/**
|
|
132
|
-
* When the session was created.
|
|
133
|
-
*/
|
|
134
|
-
created_at: string;
|
|
135
|
-
environment: SessionEnvironment;
|
|
136
|
-
/**
|
|
137
|
-
* How the session ended; null until it is terminal.
|
|
138
|
-
*/
|
|
139
|
-
exit_status: SessionExitStatus | null;
|
|
140
|
-
/**
|
|
141
|
-
* 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.
|
|
142
|
-
*/
|
|
143
|
-
git: SessionGit | null;
|
|
144
|
-
harness: Harness;
|
|
145
|
-
/**
|
|
146
|
-
* Unique identifier of the session.
|
|
147
|
-
*/
|
|
148
|
-
id: string;
|
|
149
|
-
/**
|
|
150
|
-
* When the session last showed activity.
|
|
151
|
-
*/
|
|
152
|
-
last_activity_at: string | null;
|
|
153
|
-
/**
|
|
154
|
-
* When the session last received a message.
|
|
155
|
-
*/
|
|
156
|
-
last_message_at: string | null;
|
|
157
|
-
/**
|
|
158
|
-
* Caller-supplied metadata key-value pairs.
|
|
159
|
-
*/
|
|
160
|
-
metadata: {
|
|
161
|
-
[k: string]: string;
|
|
162
|
-
};
|
|
163
|
-
parent: SessionParent;
|
|
164
|
-
/**
|
|
165
|
-
* The per-session prompt the session was started with.
|
|
166
|
-
*/
|
|
167
|
-
prompt: string | null;
|
|
168
|
-
prompting: SessionPrompting;
|
|
169
|
-
/**
|
|
170
|
-
* Lifecycle state of the durable conversation, or null for sessions without one.
|
|
171
|
-
*/
|
|
172
|
-
session_state: SessionState | null;
|
|
173
|
-
source: SessionSource;
|
|
174
|
-
status: SessionStatus;
|
|
175
|
-
/**
|
|
176
|
-
* Human-readable reason for the current status, when there is one.
|
|
177
|
-
*/
|
|
178
|
-
status_reason: string | null;
|
|
179
|
-
stopped: SessionStopped;
|
|
180
|
-
/**
|
|
181
|
-
* The latest live summary of the session's progress while it runs, and when it was generated.
|
|
182
|
-
*/
|
|
183
|
-
summary: SessionSummary | null;
|
|
184
|
-
surface: SessionSurface;
|
|
185
|
-
tokens: SessionTokens;
|
|
186
|
-
/**
|
|
187
|
-
* The external event that started the session.
|
|
188
|
-
*/
|
|
189
|
-
trigger: SessionTrigger | null;
|
|
190
|
-
/**
|
|
191
|
-
* When the session was last updated.
|
|
192
|
-
*/
|
|
193
|
-
updated_at: string;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* The principal this session is attributed to.
|
|
197
|
-
*/
|
|
198
|
-
interface SessionAttribution {
|
|
199
|
-
/**
|
|
200
|
-
* Identifier of the principal the session is attributed to.
|
|
201
|
-
*/
|
|
202
|
-
id: string | null;
|
|
203
|
-
/**
|
|
204
|
-
* Kind of principal the session is attributed to (e.g. a GitHub user or an API key).
|
|
205
|
-
*/
|
|
206
|
-
type: AttributionType | null;
|
|
207
|
-
/**
|
|
208
|
-
* The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user.
|
|
209
|
-
*/
|
|
210
|
-
user: GithubAccountSnippet | null;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Sometimes the GitHub API returns a user of github (can include bots)
|
|
214
|
-
* using this snippet instead of the full GithubAccount model. One example,
|
|
215
|
-
* is when the API returns a pull request.
|
|
216
|
-
*
|
|
217
|
-
* This is the least amount of info we need to represent a GitHub account.
|
|
218
|
-
*/
|
|
219
|
-
interface GithubAccountSnippet {
|
|
220
|
-
avatar_url: string;
|
|
221
|
-
id: number;
|
|
222
|
-
login: string;
|
|
223
|
-
type: GithubAccountType;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* The automation this session was started from: the definition frozen
|
|
227
|
-
* when the session was created, and the saved automation it came from as it
|
|
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
|
|
228
200
|
* exists NOW. They diverge legitimately — a YAML edit after the session
|
|
229
201
|
* started leaves the pointer describing something the session never ran.
|
|
230
202
|
*/
|
|
231
|
-
interface
|
|
232
|
-
config:
|
|
203
|
+
interface SessionAgent {
|
|
204
|
+
config: AgentConfig;
|
|
233
205
|
/**
|
|
234
|
-
* Identifier of the saved
|
|
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.
|
|
235
207
|
*/
|
|
236
208
|
id: string | null;
|
|
237
209
|
}
|
|
238
210
|
/**
|
|
239
|
-
* The
|
|
211
|
+
* The agent definition the session was started from, frozen when the session was created.
|
|
240
212
|
*/
|
|
241
|
-
interface
|
|
242
|
-
ellipsis:
|
|
213
|
+
interface AgentConfig {
|
|
214
|
+
ellipsis: AgentIdentity;
|
|
243
215
|
input: InputContract | null;
|
|
244
216
|
session: SessionConfig;
|
|
245
217
|
trigger: (CronTrigger | ReactTrigger) | null;
|
|
@@ -249,7 +221,7 @@ interface AutomationConfig {
|
|
|
249
221
|
* (`version`), the human-facing identity (`name`/`description`), freeform
|
|
250
222
|
* organizational `metadata`, and whether the agent is `enabled`. The
|
|
251
223
|
* presence of a top-level `ellipsis:` mapping is what marks a YAML file as
|
|
252
|
-
* an Ellipsis
|
|
224
|
+
* an Ellipsis agent (vs arbitrary YAML that merely lives under a
|
|
253
225
|
* config directory) — see `yaml_is_ellipsis_config`.
|
|
254
226
|
*
|
|
255
227
|
* `enabled` is agent behavior, not freeform metadata, so it stays inside
|
|
@@ -257,9 +229,10 @@ interface AutomationConfig {
|
|
|
257
229
|
* accepts messages is a per-run choice (POST /v1/sessions `interactive`),
|
|
258
230
|
* not a config one.
|
|
259
231
|
*/
|
|
260
|
-
interface
|
|
232
|
+
interface AgentIdentity {
|
|
261
233
|
description: string | null;
|
|
262
234
|
enabled: boolean;
|
|
235
|
+
kind: 'agent';
|
|
263
236
|
metadata: ConfigMetadata;
|
|
264
237
|
name: string | null;
|
|
265
238
|
version: string;
|
|
@@ -274,15 +247,15 @@ interface ConfigMetadata {
|
|
|
274
247
|
* The typed input contract: what goes INTO a session (the trigger is
|
|
275
248
|
* when it happens; this is what goes in).
|
|
276
249
|
*
|
|
277
|
-
* `json_schema`
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
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.
|
|
281
254
|
*
|
|
282
255
|
* `message` is the initial-message template: exact `{{path}}` substitution
|
|
283
256
|
* over the caller payload (or, on a react agent, over the surface's
|
|
284
257
|
* published fields), no conditionals/loops/filters. Refs are validated at
|
|
285
|
-
* deploy time against the governing field set (see
|
|
258
|
+
* deploy time against the governing field set (see AgentConfig's
|
|
286
259
|
* `_check_input`).
|
|
287
260
|
*/
|
|
288
261
|
interface InputContract {
|
|
@@ -291,44 +264,64 @@ interface InputContract {
|
|
|
291
264
|
} | null;
|
|
292
265
|
message: string | null;
|
|
293
266
|
}
|
|
267
|
+
interface BudgetConfig {
|
|
268
|
+
day: number | null;
|
|
269
|
+
month: number | null;
|
|
270
|
+
session: number | null;
|
|
271
|
+
week: number | null;
|
|
272
|
+
}
|
|
294
273
|
/**
|
|
295
|
-
*
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
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.
|
|
302
306
|
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* touch (`permissions`), then the rest.
|
|
307
|
+
* Options and capabilities expand only when their runtime behavior is tested.
|
|
308
|
+
* Unknown options are rejected instead of silently ignored.
|
|
306
309
|
*/
|
|
307
|
-
interface
|
|
308
|
-
budget: BudgetConfig;
|
|
309
|
-
environment: string | EnvironmentConfig;
|
|
310
|
+
interface CodexConfig {
|
|
310
311
|
/**
|
|
311
|
-
*
|
|
312
|
+
* Reasoning effort for every turn. Omit to use the model default.
|
|
312
313
|
*/
|
|
313
|
-
|
|
314
|
+
effort: CodexEffortLevel | null;
|
|
315
|
+
model: string;
|
|
314
316
|
/**
|
|
315
|
-
*
|
|
317
|
+
* The initial user message, passed verbatim. Omit to start an interactive session idle.
|
|
316
318
|
*/
|
|
317
|
-
|
|
318
|
-
output: OutputConfig | null;
|
|
319
|
-
permissions: PermissionsConfig;
|
|
320
|
-
skills: SkillRef[];
|
|
321
|
-
}
|
|
322
|
-
interface BudgetConfig {
|
|
323
|
-
day: number | null;
|
|
324
|
-
month: number | null;
|
|
325
|
-
session: number | null;
|
|
326
|
-
week: number | null;
|
|
319
|
+
prompt: string | null;
|
|
327
320
|
}
|
|
328
321
|
/**
|
|
329
322
|
* Everything about the environment (the sandbox) the agent runs in: which
|
|
330
323
|
* `repositories` are cloned into it, which environment `variables` it gets,
|
|
331
|
-
* its `compute` sizing,
|
|
324
|
+
* its `compute` sizing, and lifecycle `hooks`.
|
|
332
325
|
* What the agent may *do* from that environment is the top-level
|
|
333
326
|
* `permissions:` block, not this one.
|
|
334
327
|
*
|
|
@@ -341,7 +334,6 @@ interface BudgetConfig {
|
|
|
341
334
|
interface EnvironmentConfig {
|
|
342
335
|
compute: ComputeConfig;
|
|
343
336
|
hooks: EnvironmentHooks;
|
|
344
|
-
image: EnvironmentImage;
|
|
345
337
|
mcp_servers: (string | McpServerRef | McpStdioServer | McpRemoteServer)[];
|
|
346
338
|
repositories: RepositoryRef[];
|
|
347
339
|
variables: EnvironmentVariable[];
|
|
@@ -349,7 +341,7 @@ interface EnvironmentConfig {
|
|
|
349
341
|
/**
|
|
350
342
|
* Sandbox compute sizing. Every field is optional; None inherits the
|
|
351
343
|
* platform default (2 vCPU / 4096 MiB / 3600s — see DEFAULT_SANDBOX_* in
|
|
352
|
-
* models/ellipsis/
|
|
344
|
+
* models/ellipsis/vms/vm_execution.py). A resolved value outside the platform
|
|
353
345
|
* bounds fails validation loudly (a sync error on the config) rather than
|
|
354
346
|
* being clamped silently.
|
|
355
347
|
*
|
|
@@ -393,45 +385,58 @@ interface Duration {
|
|
|
393
385
|
seconds: number | null;
|
|
394
386
|
}
|
|
395
387
|
/**
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
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.
|
|
399
392
|
*
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
*
|
|
403
|
-
* `post_start` must not depend on repo contents (that's `post_clone`).
|
|
404
|
-
*
|
|
405
|
-
* `post_clone` runs after all repos are cloned/checked out, before the agent —
|
|
406
|
-
* repo-dependent setup (`pip install -r requirements.txt`, codegen).
|
|
407
|
-
*
|
|
408
|
-
* Hooks run on every run and their output is never cached. A dependency
|
|
409
|
-
* install whose result should be reused across runs belongs in `image.setup`
|
|
410
|
-
* (baked into the cached image) instead; keep hooks for per-run work — e.g.
|
|
411
|
-
* anything that touches run-scoped credentials.
|
|
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.
|
|
412
396
|
*/
|
|
413
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
|
+
*/
|
|
414
413
|
post_clone: string | null;
|
|
414
|
+
/**
|
|
415
|
+
* Legacy session startup script. Use before_start in new configurations.
|
|
416
|
+
*/
|
|
415
417
|
post_start: string | null;
|
|
416
418
|
}
|
|
417
419
|
/**
|
|
418
|
-
*
|
|
419
|
-
* contribute appended layers (`dockerfile_append`) and a build-time script
|
|
420
|
-
* (`setup`) only — Ellipsis owns FROM / base tooling / entrypoint / user.
|
|
421
|
-
* Today only inline bodies are supported; a file reference (resolved at the
|
|
422
|
-
* run's SHA) will come later.
|
|
423
|
-
*
|
|
424
|
-
* The split: `dockerfile_append` runs when the image is assembled, before any
|
|
425
|
-
* repo exists — toolchain installs (a package manager binary, apt packages).
|
|
426
|
-
* `setup` runs at image-build time *after* the configured repositories are
|
|
427
|
-
* checked out, and its output is captured by the filesystem snapshot that
|
|
428
|
-
* becomes the cached image — dependency installs (`poetry install`,
|
|
429
|
-
* `npm install`), so later runs start with deps already on disk. Neither runs
|
|
430
|
-
* per run; that's `hooks.post_start` / `hooks.post_clone`.
|
|
420
|
+
* An inline shell script run as the sandbox user, with /sandbox as cwd.
|
|
431
421
|
*/
|
|
432
|
-
interface
|
|
433
|
-
|
|
434
|
-
|
|
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;
|
|
435
440
|
}
|
|
436
441
|
/**
|
|
437
442
|
* One built-in MCP server this agent opts into by name (`linear`/`slack`).
|
|
@@ -448,8 +453,8 @@ interface McpServerRef {
|
|
|
448
453
|
/**
|
|
449
454
|
* A bring-your-own stdio MCP server: the harness spawns `command` inside
|
|
450
455
|
* the sandbox and speaks JSON-RPC over its stdin/stdout. The command must be
|
|
451
|
-
* runnable in the sandbox image — install its runtime via `
|
|
452
|
-
* `
|
|
456
|
+
* runnable in the sandbox image — install its runtime via `hooks.build_base` /
|
|
457
|
+
* `hooks.after_checkout` if the managed environment lacks it.
|
|
453
458
|
*
|
|
454
459
|
* `env` values may embed `${NAME}` references, resolved at run time from the
|
|
455
460
|
* account's secrets store (see `mcp_secret_refs`); everything else is passed
|
|
@@ -476,11 +481,6 @@ interface McpRemoteServer {
|
|
|
476
481
|
name: string;
|
|
477
482
|
url: string;
|
|
478
483
|
}
|
|
479
|
-
interface RepositoryRef {
|
|
480
|
-
name: string;
|
|
481
|
-
owner: string | null;
|
|
482
|
-
ref: string | null;
|
|
483
|
-
}
|
|
484
484
|
/**
|
|
485
485
|
* One environment variable injected into the agent's sandbox.
|
|
486
486
|
*
|
|
@@ -495,47 +495,6 @@ interface EnvironmentVariable {
|
|
|
495
495
|
name: string;
|
|
496
496
|
value: string | null;
|
|
497
497
|
}
|
|
498
|
-
/**
|
|
499
|
-
* Native Claude Code options for an explicitly selected harness.
|
|
500
|
-
*/
|
|
501
|
-
interface ClaudeConfig {
|
|
502
|
-
effort: EffortLevel | null;
|
|
503
|
-
fallback_model: string | null;
|
|
504
|
-
max_turns: number | null;
|
|
505
|
-
model: string | null;
|
|
506
|
-
settings: SettingsRef | null;
|
|
507
|
-
type: 'claude_code';
|
|
508
|
-
}
|
|
509
|
-
/**
|
|
510
|
-
* A config-declared Claude Code settings.json, resolved at run start and
|
|
511
|
-
* passed to `claude --settings <path>`. That is the CLI settings tier — BELOW
|
|
512
|
-
* Ellipsis's managed-settings.json floor — so it customizes behavior (model
|
|
513
|
-
* permissions, includeCoAuthoredBy, statusLine, ...) but can never weaken a
|
|
514
|
-
* security setting. Lets a team point the cloud agent at the same settings file
|
|
515
|
-
* they already use with Claude Code locally instead of re-encoding it as YAML.
|
|
516
|
-
*/
|
|
517
|
-
interface SettingsRef {
|
|
518
|
-
path: string;
|
|
519
|
-
repository: RepositoryRef | null;
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* Native options supported by the current Codex adapter.
|
|
523
|
-
*
|
|
524
|
-
* Options and capabilities expand only when their runtime behavior is tested.
|
|
525
|
-
* Unknown options are rejected instead of silently ignored.
|
|
526
|
-
*/
|
|
527
|
-
interface CodexConfig {
|
|
528
|
-
/**
|
|
529
|
-
* Reasoning effort for every turn. Omit to use the model default.
|
|
530
|
-
*/
|
|
531
|
-
effort: CodexEffortLevel | null;
|
|
532
|
-
model: string;
|
|
533
|
-
type: 'codex';
|
|
534
|
-
}
|
|
535
|
-
interface SystemFileRef {
|
|
536
|
-
file: string;
|
|
537
|
-
repository: RepositoryRef | null;
|
|
538
|
-
}
|
|
539
498
|
/**
|
|
540
499
|
* JSON Schema for the harness's structured result, when certified.
|
|
541
500
|
*/
|
|
@@ -672,83 +631,210 @@ interface ReactSentry {
|
|
|
672
631
|
interface ReactSlackChannel {
|
|
673
632
|
}
|
|
674
633
|
/**
|
|
675
|
-
* The
|
|
634
|
+
* The principal this session is attributed to.
|
|
676
635
|
*/
|
|
677
|
-
interface
|
|
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;
|
|
678
645
|
/**
|
|
679
|
-
* The
|
|
646
|
+
* The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user.
|
|
680
647
|
*/
|
|
681
|
-
|
|
682
|
-
source: BudgetSource;
|
|
648
|
+
user: GithubAccountSnippet | null;
|
|
683
649
|
}
|
|
684
650
|
/**
|
|
685
|
-
*
|
|
686
|
-
*
|
|
687
|
-
*
|
|
688
|
-
* carries one under `session:` (`AutomationConfig.session`); and
|
|
689
|
-
* `POST /v1/sessions` is this shape flattened onto the request body, plus the
|
|
690
|
-
* run settings. Nothing in here is an automation's identity or trigger —
|
|
691
|
-
* those belong to `AutomationConfig`.
|
|
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.
|
|
692
654
|
*
|
|
693
|
-
*
|
|
694
|
-
* exports: what runs (`harness`, `instructions`), where (`environment`), what it may
|
|
695
|
-
* touch (`permissions`), then the rest.
|
|
655
|
+
* This is the least amount of info we need to represent a GitHub account.
|
|
696
656
|
*/
|
|
697
|
-
interface
|
|
698
|
-
|
|
699
|
-
|
|
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 {
|
|
700
667
|
/**
|
|
701
|
-
*
|
|
668
|
+
* Sandbox CPU spend in millicents.
|
|
702
669
|
*/
|
|
703
|
-
|
|
670
|
+
cpu: number;
|
|
704
671
|
/**
|
|
705
|
-
*
|
|
672
|
+
* Platform fee in millicents.
|
|
706
673
|
*/
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
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;
|
|
711
732
|
}
|
|
712
733
|
/**
|
|
713
|
-
*
|
|
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.
|
|
714
742
|
*/
|
|
715
|
-
interface
|
|
743
|
+
interface EnvironmentHooks1 {
|
|
716
744
|
/**
|
|
717
|
-
*
|
|
745
|
+
* Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared sandbox. Skipped when that prepared sandbox is reused.
|
|
718
746
|
*/
|
|
719
|
-
|
|
747
|
+
after_checkout: EnvironmentScript | string | null;
|
|
720
748
|
/**
|
|
721
|
-
*
|
|
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.
|
|
722
750
|
*/
|
|
723
|
-
|
|
751
|
+
before_start: EnvironmentScript | string | null;
|
|
724
752
|
/**
|
|
725
|
-
*
|
|
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.
|
|
726
754
|
*/
|
|
727
|
-
|
|
755
|
+
build_base: EnvironmentBaseBuild | string | null;
|
|
728
756
|
/**
|
|
729
|
-
*
|
|
757
|
+
* Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
|
|
730
758
|
*/
|
|
731
|
-
|
|
759
|
+
post_clone: string | null;
|
|
732
760
|
/**
|
|
733
|
-
*
|
|
761
|
+
* Legacy session startup script. Use before_start in new configurations.
|
|
734
762
|
*/
|
|
735
|
-
|
|
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;
|
|
736
774
|
}
|
|
737
775
|
/**
|
|
738
|
-
* The
|
|
776
|
+
* The event's initiator, when known; never inferred from resource ownership.
|
|
739
777
|
*/
|
|
740
|
-
interface
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
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;
|
|
749
835
|
}
|
|
750
836
|
/**
|
|
751
|
-
* Every repo the session touched. Small enough to ride on `
|
|
837
|
+
* Every repo the session touched. Small enough to ride on `sessions`
|
|
752
838
|
* and be returned by every session read.
|
|
753
839
|
*/
|
|
754
840
|
interface SessionGit {
|
|
@@ -804,24 +890,81 @@ interface SessionGitPr {
|
|
|
804
890
|
url: string;
|
|
805
891
|
}
|
|
806
892
|
/**
|
|
807
|
-
*
|
|
893
|
+
* The saved handler and its display name when the session started.
|
|
808
894
|
*/
|
|
809
|
-
interface
|
|
895
|
+
interface SessionHandler {
|
|
810
896
|
/**
|
|
811
|
-
*
|
|
897
|
+
* The handler's effective display name when the session started: ellipsis.name, or the service default (Slack, GitHub, Linear, or sentry).
|
|
812
898
|
*/
|
|
813
|
-
|
|
899
|
+
agent_name: string;
|
|
814
900
|
/**
|
|
815
|
-
* Identifier of the
|
|
901
|
+
* Identifier of the saved handler.
|
|
816
902
|
*/
|
|
817
|
-
|
|
903
|
+
id: string;
|
|
904
|
+
service: HandlerService;
|
|
818
905
|
/**
|
|
819
|
-
*
|
|
906
|
+
* Content fingerprint of the validated handler configuration used when the session started. This is not the Git commit SHA.
|
|
820
907
|
*/
|
|
821
|
-
|
|
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;
|
|
822
938
|
}
|
|
823
939
|
/**
|
|
824
|
-
*
|
|
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.
|
|
825
968
|
*/
|
|
826
969
|
interface SessionPrompting {
|
|
827
970
|
blocked_reason: PromptBlockedReason | null;
|
|
@@ -830,21 +973,51 @@ interface SessionPrompting {
|
|
|
830
973
|
surface_name: string | null;
|
|
831
974
|
}
|
|
832
975
|
/**
|
|
833
|
-
*
|
|
976
|
+
* When a stop was requested and the GitHub user who requested it.
|
|
834
977
|
*/
|
|
835
978
|
interface SessionStopped {
|
|
836
979
|
/**
|
|
837
|
-
* When a stop was requested
|
|
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.
|
|
838
985
|
*/
|
|
839
|
-
|
|
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;
|
|
840
997
|
/**
|
|
841
|
-
*
|
|
998
|
+
* When the session last received a message.
|
|
999
|
+
*/
|
|
1000
|
+
last_message_at: string | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* When the session was last updated.
|
|
842
1003
|
*/
|
|
843
|
-
|
|
1004
|
+
updated_at: string;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* The predecessor session this session continues.
|
|
1008
|
+
*/
|
|
1009
|
+
interface SessionParent {
|
|
844
1010
|
/**
|
|
845
|
-
*
|
|
1011
|
+
* Identifier of the predecessor session this session continues, if any.
|
|
846
1012
|
*/
|
|
847
|
-
|
|
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;
|
|
848
1021
|
}
|
|
849
1022
|
/**
|
|
850
1023
|
* A live one-line summary of what the session is working on, refreshed
|
|
@@ -860,14 +1033,6 @@ interface SessionSummary {
|
|
|
860
1033
|
*/
|
|
861
1034
|
description: string;
|
|
862
1035
|
}
|
|
863
|
-
/**
|
|
864
|
-
* The public status projection: the durable conversation (`session`), the current execution (`run`), and the one derived `status` word.
|
|
865
|
-
*/
|
|
866
|
-
interface SessionSurface {
|
|
867
|
-
run: RunStatus | null;
|
|
868
|
-
session: SessionLiveness | null;
|
|
869
|
-
status: string | null;
|
|
870
|
-
}
|
|
871
1036
|
/**
|
|
872
1037
|
* The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes.
|
|
873
1038
|
*/
|
|
@@ -897,36 +1062,18 @@ interface SessionTokens {
|
|
|
897
1062
|
*/
|
|
898
1063
|
total: number;
|
|
899
1064
|
}
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
interface SessionTrigger {
|
|
904
|
-
action: string | null;
|
|
905
|
-
actor: SessionTriggerActor | null;
|
|
906
|
-
branch: string | null;
|
|
907
|
-
number: number | null;
|
|
908
|
-
repository: string | null;
|
|
909
|
-
surface: string | null;
|
|
910
|
-
title: string | null;
|
|
911
|
-
url: string | null;
|
|
912
|
-
}
|
|
913
|
-
interface SessionTriggerActor {
|
|
914
|
-
avatar_url: string | null;
|
|
915
|
-
is_bot: boolean;
|
|
916
|
-
name: string;
|
|
917
|
-
}
|
|
918
|
-
interface AutomationListStreamMessage {
|
|
919
|
-
automations: Automation[];
|
|
920
|
-
type: 'automations';
|
|
1065
|
+
interface AgentListStreamMessage {
|
|
1066
|
+
agents: Agent[];
|
|
1067
|
+
type: 'agents';
|
|
921
1068
|
}
|
|
922
1069
|
/**
|
|
923
|
-
* An
|
|
1070
|
+
* An agent: a saved agent definition that runs on its trigger or
|
|
924
1071
|
* when invoked, plus where it syncs from and the state of that sync.
|
|
925
1072
|
*/
|
|
926
|
-
interface
|
|
927
|
-
config:
|
|
1073
|
+
interface Agent {
|
|
1074
|
+
config: AgentConfig1;
|
|
928
1075
|
/**
|
|
929
|
-
* When the
|
|
1076
|
+
* When the agent was created.
|
|
930
1077
|
*/
|
|
931
1078
|
created_at: string;
|
|
932
1079
|
/**
|
|
@@ -934,11 +1081,11 @@ interface Automation {
|
|
|
934
1081
|
*/
|
|
935
1082
|
display_name: string | null;
|
|
936
1083
|
/**
|
|
937
|
-
* The GitHub account that last edited the
|
|
1084
|
+
* The GitHub account that last edited the agent, when the edit came from a known user.
|
|
938
1085
|
*/
|
|
939
1086
|
edited_by: GithubAccountSnippet | null;
|
|
940
1087
|
/**
|
|
941
|
-
* Unique identifier of the
|
|
1088
|
+
* Unique identifier of the agent.
|
|
942
1089
|
*/
|
|
943
1090
|
id: string;
|
|
944
1091
|
/**
|
|
@@ -946,24 +1093,24 @@ interface Automation {
|
|
|
946
1093
|
*/
|
|
947
1094
|
last_session_created_at: string | null;
|
|
948
1095
|
/**
|
|
949
|
-
* The most recent session this
|
|
1096
|
+
* The most recent session this agent started, or null if it has never run.
|
|
950
1097
|
*/
|
|
951
1098
|
last_session_id: string | null;
|
|
952
1099
|
/**
|
|
953
|
-
* The parse or validation error from the most recent sync attempt, or null when it succeeded. A non-null value means the
|
|
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.
|
|
954
1101
|
*/
|
|
955
1102
|
last_sync_error: string | null;
|
|
956
1103
|
/**
|
|
957
|
-
* The last commit the
|
|
1104
|
+
* The last commit the agent was synced from.
|
|
958
1105
|
*/
|
|
959
1106
|
last_synced_commit_sha: string | null;
|
|
960
1107
|
managed_by: ConfigManagedBy;
|
|
961
1108
|
/**
|
|
962
|
-
* The
|
|
1109
|
+
* The agent's account-unique addressable name (a slug of its display name); usable anywhere an agent is referenced, interchangeably with the id.
|
|
963
1110
|
*/
|
|
964
1111
|
name: string | null;
|
|
965
1112
|
/**
|
|
966
|
-
* The open pull request that adds this
|
|
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.
|
|
967
1114
|
*/
|
|
968
1115
|
pending_pull_request_url: string | null;
|
|
969
1116
|
/**
|
|
@@ -971,25 +1118,25 @@ interface Automation {
|
|
|
971
1118
|
*/
|
|
972
1119
|
sha: string;
|
|
973
1120
|
/**
|
|
974
|
-
* The repository, path, and branch the
|
|
1121
|
+
* The repository, path, and branch the agent syncs from. Null only transiently, before the creating pull request's file lands on the branch.
|
|
975
1122
|
*/
|
|
976
1123
|
source_details: GithubSourceDetails | null;
|
|
977
1124
|
/**
|
|
978
|
-
* When the
|
|
1125
|
+
* When the agent was last updated.
|
|
979
1126
|
*/
|
|
980
1127
|
updated_at: string;
|
|
981
1128
|
}
|
|
982
1129
|
/**
|
|
983
|
-
* The
|
|
1130
|
+
* The agent definition itself, in the same schema as its YAML file: identity, trigger, input contract, and the session block.
|
|
984
1131
|
*/
|
|
985
|
-
interface
|
|
986
|
-
ellipsis:
|
|
1132
|
+
interface AgentConfig1 {
|
|
1133
|
+
ellipsis: AgentIdentity;
|
|
987
1134
|
input: InputContract | null;
|
|
988
1135
|
session: SessionConfig;
|
|
989
1136
|
trigger: (CronTrigger | ReactTrigger) | null;
|
|
990
1137
|
}
|
|
991
1138
|
/**
|
|
992
|
-
* Identifies the file a GitHub-sourced
|
|
1139
|
+
* Identifies the file a GitHub-sourced agent is synced from.
|
|
993
1140
|
*
|
|
994
1141
|
* Keyed on the repository ID (not owner/name) so repository and org renames
|
|
995
1142
|
* don't orphan the config; resolve display names from gh_repositories at
|
|
@@ -1004,20 +1151,19 @@ interface CollectionStreamHeartbeat {
|
|
|
1004
1151
|
type: 'heartbeat';
|
|
1005
1152
|
}
|
|
1006
1153
|
interface SandboxSnapshotFrame {
|
|
1007
|
-
sandbox:
|
|
1154
|
+
sandbox: VMExecutionResponse;
|
|
1008
1155
|
type: 'snapshot';
|
|
1009
1156
|
}
|
|
1010
|
-
interface
|
|
1157
|
+
interface VMExecutionResponse {
|
|
1011
1158
|
cache_tier: SandboxCacheTier | null;
|
|
1012
1159
|
cost_sandbox_cpu: number;
|
|
1013
1160
|
cost_sandbox_memory: number;
|
|
1014
1161
|
cpu: number;
|
|
1015
|
-
dockerfile: string | null;
|
|
1016
1162
|
encrypted_ports: number[];
|
|
1017
1163
|
environment_variable_keys: string[];
|
|
1018
1164
|
failed_at: string | null;
|
|
1165
|
+
hooks: EnvironmentHooks2;
|
|
1019
1166
|
id: string;
|
|
1020
|
-
image_setup: string | null;
|
|
1021
1167
|
memory_mib: number;
|
|
1022
1168
|
phase_timings: {
|
|
1023
1169
|
[k: string]: number;
|
|
@@ -1037,6 +1183,38 @@ interface SandboxResponse {
|
|
|
1037
1183
|
type: SandboxType;
|
|
1038
1184
|
unencrypted_ports: number[];
|
|
1039
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
|
+
}
|
|
1040
1218
|
interface SandboxRepository {
|
|
1041
1219
|
id: number;
|
|
1042
1220
|
name: string;
|
|
@@ -1055,7 +1233,7 @@ interface SandboxPort {
|
|
|
1055
1233
|
unencrypted_port: number | null;
|
|
1056
1234
|
}
|
|
1057
1235
|
interface SandboxUpdateFrame {
|
|
1058
|
-
sandbox:
|
|
1236
|
+
sandbox: VMExecutionResponse;
|
|
1059
1237
|
type: 'sandbox';
|
|
1060
1238
|
}
|
|
1061
1239
|
|
|
@@ -1139,18 +1317,36 @@ declare class EllipsisAccountApiKeys {
|
|
|
1139
1317
|
*
|
|
1140
1318
|
* Authenticate as a dashboard user or with a user token. An organization
|
|
1141
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.
|
|
1142
1326
|
*/
|
|
1143
1327
|
create(options: {
|
|
1144
1328
|
name: string;
|
|
1145
1329
|
}): Promise<S['CreateApiKeyResponse']>;
|
|
1146
1330
|
/**
|
|
1147
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.
|
|
1148
1338
|
*/
|
|
1149
1339
|
list(): Promise<S['ListApiKeysResponse']>;
|
|
1150
1340
|
/**
|
|
1151
1341
|
* Revoke Api Key
|
|
1152
1342
|
*
|
|
1153
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.
|
|
1154
1350
|
*/
|
|
1155
1351
|
revoke(api_key_id: string): Promise<S['TokenRevokedResponse']>;
|
|
1156
1352
|
}
|
|
@@ -1164,6 +1360,12 @@ declare class EllipsisAccountBillingAutoRecharge {
|
|
|
1164
1360
|
*
|
|
1165
1361
|
* An account without saved settings returns disabled defaults and no
|
|
1166
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.
|
|
1167
1369
|
*/
|
|
1168
1370
|
get(): Promise<S['AutoRechargeSettings']>;
|
|
1169
1371
|
/**
|
|
@@ -1176,6 +1378,12 @@ declare class EllipsisAccountBillingAutoRecharge {
|
|
|
1176
1378
|
* with enabled=false keeps recharge off; enabling requires a saved card.
|
|
1177
1379
|
* A recharge buys amount_cents of credit and charges the platform fee
|
|
1178
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.
|
|
1179
1387
|
*/
|
|
1180
1388
|
set(options: {
|
|
1181
1389
|
amount_cents: number;
|
|
@@ -1195,6 +1403,12 @@ declare class EllipsisAccountBilling {
|
|
|
1195
1403
|
* Requires a human account administrator. Open the returned URL to
|
|
1196
1404
|
* finish setup and return to Billing. Saving a card does not enable
|
|
1197
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.
|
|
1198
1412
|
*/
|
|
1199
1413
|
cardSetup(): Promise<S['BillingCheckout']>;
|
|
1200
1414
|
/**
|
|
@@ -1206,6 +1420,12 @@ declare class EllipsisAccountBilling {
|
|
|
1206
1420
|
* complete payment. Credit is granted only after payment succeeds;
|
|
1207
1421
|
* the platform fee is charged in addition to amount_cents. Returning
|
|
1208
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.
|
|
1209
1429
|
*/
|
|
1210
1430
|
checkout(options: {
|
|
1211
1431
|
amount_cents: number;
|
|
@@ -1217,12 +1437,24 @@ declare class EllipsisAccountBilling {
|
|
|
1217
1437
|
* bootstrap that otherwise fires lazily at the first session (Stripe
|
|
1218
1438
|
* customer + usage subscription + the signup grant). A repeat call is
|
|
1219
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.
|
|
1220
1446
|
*/
|
|
1221
1447
|
claimSignupCredit(): Promise<S['BillingStatus']>;
|
|
1222
1448
|
/**
|
|
1223
1449
|
* Get Fee Schedule
|
|
1224
1450
|
*
|
|
1225
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.
|
|
1226
1458
|
*/
|
|
1227
1459
|
feeSchedule(): Promise<S['FeeScheduleResponse']>;
|
|
1228
1460
|
/**
|
|
@@ -1232,6 +1464,12 @@ declare class EllipsisAccountBilling {
|
|
|
1232
1464
|
*
|
|
1233
1465
|
* Returns only your account's grants. The total is before usage;
|
|
1234
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.
|
|
1235
1473
|
*/
|
|
1236
1474
|
grants(): Promise<S['CreditGrantsResponse']>;
|
|
1237
1475
|
/**
|
|
@@ -1241,6 +1479,12 @@ declare class EllipsisAccountBilling {
|
|
|
1241
1479
|
*
|
|
1242
1480
|
* The amount includes the platform fee and comes from Stripe. An
|
|
1243
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.
|
|
1244
1488
|
*/
|
|
1245
1489
|
purchase(checkout_id: string): Promise<S['CreditPurchaseReceipt']>;
|
|
1246
1490
|
/**
|
|
@@ -1250,6 +1494,12 @@ declare class EllipsisAccountBilling {
|
|
|
1250
1494
|
*
|
|
1251
1495
|
* All amounts are integer US cents. The fee is added to the credit
|
|
1252
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.
|
|
1253
1503
|
*/
|
|
1254
1504
|
purchaseOptions(): Promise<S['CreditPurchaseOptions']>;
|
|
1255
1505
|
/**
|
|
@@ -1260,6 +1510,12 @@ declare class EllipsisAccountBilling {
|
|
|
1260
1510
|
* Uses the same account gate as session admission, including credit,
|
|
1261
1511
|
* contact email, and personal Claude subscription eligibility. Scoped
|
|
1262
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.
|
|
1263
1519
|
*/
|
|
1264
1520
|
status(): Promise<S['BillingStatus']>;
|
|
1265
1521
|
}
|
|
@@ -1279,6 +1535,12 @@ declare class EllipsisAccountModels {
|
|
|
1279
1535
|
* Reads the same registry as the dashboard's rate table, so a
|
|
1280
1536
|
* client's model picker can never drift from what's offered. The
|
|
1281
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.
|
|
1282
1544
|
*/
|
|
1283
1545
|
list(): Promise<S['ModelsListResponse']>;
|
|
1284
1546
|
}
|
|
@@ -1291,30 +1553,100 @@ declare class EllipsisAccountNotifications {
|
|
|
1291
1553
|
* Send the alert email template to one address with sample data,
|
|
1292
1554
|
* so a typo'd finance alias is caught by a human instead of failing
|
|
1293
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.
|
|
1294
1562
|
*/
|
|
1295
1563
|
testEmail(options: {
|
|
1296
1564
|
email: string;
|
|
1297
1565
|
}): Promise<S['AccountActionResponse']>;
|
|
1298
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
|
+
}
|
|
1299
1607
|
declare class EllipsisAccountProvidersAnthropic {
|
|
1300
1608
|
private readonly transport;
|
|
1301
1609
|
constructor(transport: Transport);
|
|
1302
1610
|
/**
|
|
1303
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.
|
|
1304
1618
|
*/
|
|
1305
1619
|
delete(): Promise<void>;
|
|
1306
1620
|
/**
|
|
1307
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.
|
|
1308
1628
|
*/
|
|
1309
1629
|
get(): Promise<S['AnthropicConfigResponse']>;
|
|
1310
1630
|
/**
|
|
1311
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.
|
|
1312
1638
|
*/
|
|
1313
1639
|
set(options: {
|
|
1314
1640
|
api_key: string;
|
|
1315
1641
|
}): Promise<S['AnthropicConfigResponse']>;
|
|
1316
1642
|
/**
|
|
1317
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.
|
|
1318
1650
|
*/
|
|
1319
1651
|
validate(): Promise<S['ValidateAnthropicConfigResponse']>;
|
|
1320
1652
|
}
|
|
@@ -1323,14 +1655,32 @@ declare class EllipsisAccountProvidersBedrock {
|
|
|
1323
1655
|
constructor(transport: Transport);
|
|
1324
1656
|
/**
|
|
1325
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.
|
|
1326
1664
|
*/
|
|
1327
1665
|
delete(): Promise<void>;
|
|
1328
1666
|
/**
|
|
1329
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.
|
|
1330
1674
|
*/
|
|
1331
1675
|
get(): Promise<S['BedrockConfigResponse']>;
|
|
1332
1676
|
/**
|
|
1333
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.
|
|
1334
1684
|
*/
|
|
1335
1685
|
set(options: {
|
|
1336
1686
|
model_map: Record<string, string>;
|
|
@@ -1339,6 +1689,12 @@ declare class EllipsisAccountProvidersBedrock {
|
|
|
1339
1689
|
}): Promise<S['BedrockConfigResponse']>;
|
|
1340
1690
|
/**
|
|
1341
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.
|
|
1342
1698
|
*/
|
|
1343
1699
|
validate(): Promise<S['ValidateBedrockConfigResponse']>;
|
|
1344
1700
|
}
|
|
@@ -1359,6 +1715,12 @@ declare class EllipsisAccountSettings {
|
|
|
1359
1715
|
* Session model and budget defaults, code review and mention behavior,
|
|
1360
1716
|
* analytics, retention, and notification contacts. PATCH replaces
|
|
1361
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.
|
|
1362
1724
|
*/
|
|
1363
1725
|
get(): Promise<S['AccountSettings']>;
|
|
1364
1726
|
/**
|
|
@@ -1373,6 +1735,12 @@ declare class EllipsisAccountSettings {
|
|
|
1373
1735
|
* ceiling, and null clears it.
|
|
1374
1736
|
* Refused for sandbox tokens (potentially prompt-injected code must
|
|
1375
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.
|
|
1376
1744
|
*/
|
|
1377
1745
|
set(options: {
|
|
1378
1746
|
budget_ceiling?: S['BudgetCeiling'];
|
|
@@ -1384,6 +1752,12 @@ declare class EllipsisAccountSettings {
|
|
|
1384
1752
|
* Replace supplied settings sections without changing omitted sections.
|
|
1385
1753
|
*
|
|
1386
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.
|
|
1387
1761
|
*/
|
|
1388
1762
|
update(options?: {
|
|
1389
1763
|
analytics?: S['AnalyticsSettings'] | null;
|
|
@@ -1391,7 +1765,6 @@ declare class EllipsisAccountSettings {
|
|
|
1391
1765
|
code_review?: S['CodeReviewSettings'] | null;
|
|
1392
1766
|
data_retention?: S['DataRetentionSettings'] | null;
|
|
1393
1767
|
default_model?: string | null;
|
|
1394
|
-
mention?: S['MentionSettings'] | null;
|
|
1395
1768
|
notifications?: S['NotificationSettings'] | null;
|
|
1396
1769
|
}): Promise<S['AccountSettings']>;
|
|
1397
1770
|
}
|
|
@@ -1401,6 +1774,7 @@ declare class EllipsisAccount {
|
|
|
1401
1774
|
readonly billing: EllipsisAccountBilling;
|
|
1402
1775
|
readonly models: EllipsisAccountModels;
|
|
1403
1776
|
readonly notifications: EllipsisAccountNotifications;
|
|
1777
|
+
readonly onboarding: EllipsisAccountOnboarding;
|
|
1404
1778
|
readonly providers: EllipsisAccountProviders;
|
|
1405
1779
|
readonly settings: EllipsisAccountSettings;
|
|
1406
1780
|
constructor(transport: Transport);
|
|
@@ -1410,10 +1784,22 @@ declare class EllipsisAccount {
|
|
|
1410
1784
|
* All-time per-surface activity flags: the dashboards' demo-data
|
|
1411
1785
|
* fallback reads these instead of inferring "no history" from a
|
|
1412
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.
|
|
1413
1793
|
*/
|
|
1414
1794
|
activity(): Promise<S['AccountActivity']>;
|
|
1415
1795
|
/**
|
|
1416
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.
|
|
1417
1803
|
*/
|
|
1418
1804
|
auditLog(): Promise<S['AccountAuditLogResponse']>;
|
|
1419
1805
|
/**
|
|
@@ -1424,12 +1810,24 @@ declare class EllipsisAccount {
|
|
|
1424
1810
|
* Budgets cover the trailing 1, 7 and 28 days; they do not replenish
|
|
1425
1811
|
* prepaid credit. Amounts include measured usage from active sessions.
|
|
1426
1812
|
* Each paid LLM request requires positive credit and budget headroom.
|
|
1427
|
-
* An admitted request can overshoot;
|
|
1428
|
-
*
|
|
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.
|
|
1429
1821
|
*/
|
|
1430
1822
|
budget(): Promise<S['BudgetSummary']>;
|
|
1431
1823
|
/**
|
|
1432
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.
|
|
1433
1831
|
*/
|
|
1434
1832
|
update(options?: {
|
|
1435
1833
|
can_start_job_runs?: boolean | null;
|
|
@@ -1447,6 +1845,12 @@ declare class EllipsisAccount {
|
|
|
1447
1845
|
* request, including sessions already running. API keys and sandbox
|
|
1448
1846
|
* credentials cannot edit budgets. The session ceiling remains at
|
|
1449
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.
|
|
1450
1854
|
*/
|
|
1451
1855
|
updateBudget(options?: {
|
|
1452
1856
|
alerts?: S['BudgetAlerts'] | null;
|
|
@@ -1462,11 +1866,199 @@ declare class EllipsisAccount {
|
|
|
1462
1866
|
* rated token usage through BYOK, customer Bedrock, or a developer's
|
|
1463
1867
|
* Claude subscription. Rated usage estimates are not provider invoices.
|
|
1464
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.
|
|
1465
1875
|
*/
|
|
1466
1876
|
usage(options?: {
|
|
1467
1877
|
period_start?: string | null;
|
|
1468
1878
|
}): Promise<S['GetUsageOverTimeResponse']>;
|
|
1469
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']>;
|
|
2061
|
+
}
|
|
1470
2062
|
declare class EllipsisAlerts {
|
|
1471
2063
|
private readonly transport;
|
|
1472
2064
|
constructor(transport: Transport);
|
|
@@ -1476,6 +2068,12 @@ declare class EllipsisAlerts {
|
|
|
1476
2068
|
* Dismiss an open alert and return it.
|
|
1477
2069
|
*
|
|
1478
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.
|
|
1479
2077
|
*/
|
|
1480
2078
|
dismiss(alert_id: string): Promise<S['AlertResponse']>;
|
|
1481
2079
|
/**
|
|
@@ -1484,6 +2082,12 @@ declare class EllipsisAlerts {
|
|
|
1484
2082
|
* Return one alert by id.
|
|
1485
2083
|
*
|
|
1486
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.
|
|
1487
2091
|
*/
|
|
1488
2092
|
get(alert_id: string): Promise<S['AlertResponse']>;
|
|
1489
2093
|
/**
|
|
@@ -1495,6 +2099,12 @@ declare class EllipsisAlerts {
|
|
|
1495
2099
|
*
|
|
1496
2100
|
* Available to all credential types, so an agent can check "is
|
|
1497
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.
|
|
1498
2108
|
*/
|
|
1499
2109
|
list(options?: {
|
|
1500
2110
|
status?: S['AlertStatus'] | null;
|
|
@@ -1518,6 +2128,12 @@ declare class EllipsisAnalytics {
|
|
|
1518
2128
|
* the apps/agents). Available to all credential types: the
|
|
1519
2129
|
* responses expose the organization's own GitHub PR/review activity,
|
|
1520
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.
|
|
1521
2137
|
*/
|
|
1522
2138
|
metrics(options?: {
|
|
1523
2139
|
days?: number | null;
|
|
@@ -1535,6 +2151,12 @@ declare class EllipsisAnalytics {
|
|
|
1535
2151
|
*
|
|
1536
2152
|
* Windowing: pass explicit start/end, or days (default: the last
|
|
1537
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.
|
|
1538
2160
|
*/
|
|
1539
2161
|
pullRequests(options?: {
|
|
1540
2162
|
days?: number | null;
|
|
@@ -1554,6 +2176,12 @@ declare class EllipsisAnalytics {
|
|
|
1554
2176
|
* review the most PRs?" is the reviewer facets here with
|
|
1555
2177
|
* account_type=bot. Windowing: pass explicit start/end, or days
|
|
1556
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.
|
|
1557
2185
|
*/
|
|
1558
2186
|
reviews(options?: {
|
|
1559
2187
|
days?: number | null;
|
|
@@ -1574,6 +2202,8 @@ declare class EllipsisAuthCli {
|
|
|
1574
2202
|
* Poll a device-code auth flow for its token.
|
|
1575
2203
|
*
|
|
1576
2204
|
* Unauthenticated; the device code identifies the flow.
|
|
2205
|
+
*
|
|
2206
|
+
* Authentication: No token required.
|
|
1577
2207
|
*/
|
|
1578
2208
|
poll(options: {
|
|
1579
2209
|
device_code: string;
|
|
@@ -1586,6 +2216,8 @@ declare class EllipsisAuthCli {
|
|
|
1586
2216
|
* Unauthenticated: the CLI has no credential yet — that's what
|
|
1587
2217
|
* it's obtaining. The human authorizes out-of-band in the
|
|
1588
2218
|
* dashboard.
|
|
2219
|
+
*
|
|
2220
|
+
* Authentication: No token required.
|
|
1589
2221
|
*/
|
|
1590
2222
|
start(): Promise<S['StartCliAuthResponse']>;
|
|
1591
2223
|
}
|
|
@@ -1594,118 +2226,6 @@ declare class EllipsisAuth {
|
|
|
1594
2226
|
readonly cli: EllipsisAuthCli;
|
|
1595
2227
|
constructor(transport: Transport);
|
|
1596
2228
|
}
|
|
1597
|
-
declare class EllipsisAutomations {
|
|
1598
|
-
private readonly transport;
|
|
1599
|
-
constructor(transport: Transport);
|
|
1600
|
-
/**
|
|
1601
|
-
* Create Automation
|
|
1602
|
-
*
|
|
1603
|
-
* Create an automation, managed through the API: no file, live
|
|
1604
|
-
* immediately. To put its definition in a repository instead, create
|
|
1605
|
-
* it here and then POST /v1/automations/{automation_id}/link.
|
|
1606
|
-
*
|
|
1607
|
-
* 409 when another live automation already holds the name.
|
|
1608
|
-
*/
|
|
1609
|
-
create(options: {
|
|
1610
|
-
automation: S['AutomationConfig'];
|
|
1611
|
-
}): Promise<S['AutomationResponse']>;
|
|
1612
|
-
/**
|
|
1613
|
-
* Delete Automation
|
|
1614
|
-
*
|
|
1615
|
-
* Delete an automation, by id or by name.
|
|
1616
|
-
*
|
|
1617
|
-
* It stops running and its name is freed immediately; its past
|
|
1618
|
-
* sessions remain readable. Only for automations managed through
|
|
1619
|
-
* this API — delete the file to remove one defined by a repository.
|
|
1620
|
-
*/
|
|
1621
|
-
delete(automation_id: string): Promise<void>;
|
|
1622
|
-
/**
|
|
1623
|
-
* Get Automation
|
|
1624
|
-
*
|
|
1625
|
-
* Return one automation, by id or by name.
|
|
1626
|
-
*/
|
|
1627
|
-
get(automation_id: string): Promise<S['AutomationResponse']>;
|
|
1628
|
-
/**
|
|
1629
|
-
* Link Automation
|
|
1630
|
-
*
|
|
1631
|
-
* Move an automation into a repository, by id or by name.
|
|
1632
|
-
*
|
|
1633
|
-
* Opens a pull request adding its definition file. The automation
|
|
1634
|
-
* keeps running unchanged meanwhile; merging hands it over to the
|
|
1635
|
-
* file, after which the file is what changes it. Nothing happens
|
|
1636
|
-
* if the pull request is never merged.
|
|
1637
|
-
*/
|
|
1638
|
-
link(automation_id: string, options: {
|
|
1639
|
-
path?: string | null;
|
|
1640
|
-
repository: string;
|
|
1641
|
-
}): Promise<S['LinkAutomationResponse']>;
|
|
1642
|
-
/**
|
|
1643
|
-
* List Automations
|
|
1644
|
-
*
|
|
1645
|
-
* List automations.
|
|
1646
|
-
*/
|
|
1647
|
-
list(): Promise<S['AutomationsListResponse']>;
|
|
1648
|
-
/**
|
|
1649
|
-
* Get Automation Metrics
|
|
1650
|
-
*
|
|
1651
|
-
* Return an automation's session distribution and trailing spend,
|
|
1652
|
-
* by id or by name.
|
|
1653
|
-
*
|
|
1654
|
-
* `samples` carries one entry per finished session (duration, cost,
|
|
1655
|
-
* tokens) for distributions; `spend_windows` carries what the
|
|
1656
|
-
* automation's sessions cost over the last 1, 7, and 28 days against
|
|
1657
|
-
* its budget for each window.
|
|
1658
|
-
*/
|
|
1659
|
-
metrics(automation_id: string): Promise<S['AutomationMetricsResponse']>;
|
|
1660
|
-
/**
|
|
1661
|
-
* Start Automation Session
|
|
1662
|
-
*
|
|
1663
|
-
* Invoke an automation.
|
|
1664
|
-
*
|
|
1665
|
-
* Runs a certified automation with its configured instructions, model,
|
|
1666
|
-
* environment, permissions, skills, and budget, and returns
|
|
1667
|
-
* the session it started. The session runs once and does not accept
|
|
1668
|
-
* follow-up messages. If the automation declares input.json_schema,
|
|
1669
|
-
* send only `input` for its initial message. Otherwise send a non-empty
|
|
1670
|
-
* `prompt`, which becomes the initial message verbatim. Both fields
|
|
1671
|
-
* together, neither field, and input that renders an empty message are
|
|
1672
|
-
* rejected with 422. An optional `budget` lowers the session cap;
|
|
1673
|
-
* `metadata` tags the session. Codex invocations are not supported.
|
|
1674
|
-
*/
|
|
1675
|
-
run(automation_id: string, options?: {
|
|
1676
|
-
budget?: number | null;
|
|
1677
|
-
input?: Record<string, unknown> | null;
|
|
1678
|
-
metadata?: Record<string, string>;
|
|
1679
|
-
prompt?: string | null;
|
|
1680
|
-
}): Promise<S['SessionResponse']>;
|
|
1681
|
-
/**
|
|
1682
|
-
* Get Automations Stream Ticket
|
|
1683
|
-
*/
|
|
1684
|
-
streamTicket(): Promise<S['StreamTicketResponse']>;
|
|
1685
|
-
/**
|
|
1686
|
-
* Unlink Automation
|
|
1687
|
-
*
|
|
1688
|
-
* Take over an automation from its file, by id or by name.
|
|
1689
|
-
*
|
|
1690
|
-
* The file stops governing it immediately and further changes go
|
|
1691
|
-
* through this API. The file is left in place, inert — delete it
|
|
1692
|
-
* whenever you like.
|
|
1693
|
-
*/
|
|
1694
|
-
unlink(automation_id: string): Promise<S['AutomationResponse']>;
|
|
1695
|
-
/**
|
|
1696
|
-
* Update Automation
|
|
1697
|
-
*
|
|
1698
|
-
* Replace an automation's definition, by id or by name.
|
|
1699
|
-
*
|
|
1700
|
-
* The whole definition is replaced, and the change is live at
|
|
1701
|
-
* once. Only for automations managed through this API: one defined
|
|
1702
|
-
* by a repository file is a 409, since the next push to that file
|
|
1703
|
-
* would revert the change — unlink it first to take ownership.
|
|
1704
|
-
*/
|
|
1705
|
-
update(automation_id: string, options: {
|
|
1706
|
-
automation: S['AutomationConfig'];
|
|
1707
|
-
}): Promise<S['AutomationResponse']>;
|
|
1708
|
-
}
|
|
1709
2229
|
declare class EllipsisEnvironments {
|
|
1710
2230
|
private readonly transport;
|
|
1711
2231
|
constructor(transport: Transport);
|
|
@@ -1717,9 +2237,15 @@ declare class EllipsisEnvironments {
|
|
|
1717
2237
|
* `kind: environment` YAML under an agents directory.
|
|
1718
2238
|
*
|
|
1719
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.
|
|
1720
2246
|
*/
|
|
1721
2247
|
create(options: {
|
|
1722
|
-
environment: S['EnvironmentDocument'];
|
|
2248
|
+
environment: S['EnvironmentDocument-Input'];
|
|
1723
2249
|
}): Promise<S['EnvironmentResponse']>;
|
|
1724
2250
|
/**
|
|
1725
2251
|
* Delete Environment
|
|
@@ -1731,18 +2257,36 @@ declare class EllipsisEnvironments {
|
|
|
1731
2257
|
* environment. Past sessions remain readable. Only for environments
|
|
1732
2258
|
* managed through this API — delete the file to remove one defined
|
|
1733
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.
|
|
1734
2266
|
*/
|
|
1735
2267
|
delete(environment_id: string): Promise<void>;
|
|
1736
2268
|
/**
|
|
1737
2269
|
* Get Environment
|
|
1738
2270
|
*
|
|
1739
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.
|
|
1740
2278
|
*/
|
|
1741
2279
|
get(environment_id: string): Promise<S['EnvironmentResponse']>;
|
|
1742
2280
|
/**
|
|
1743
2281
|
* List Environments
|
|
1744
2282
|
*
|
|
1745
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.
|
|
1746
2290
|
*/
|
|
1747
2291
|
list(): Promise<S['EnvironmentsListResponse']>;
|
|
1748
2292
|
/**
|
|
@@ -1754,9 +2298,15 @@ declare class EllipsisEnvironments {
|
|
|
1754
2298
|
* resolve the new body; running sessions keep the one frozen at
|
|
1755
2299
|
* their start. Only for environments managed through this API: one
|
|
1756
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.
|
|
1757
2307
|
*/
|
|
1758
2308
|
update(environment_id: string, options: {
|
|
1759
|
-
environment: S['EnvironmentDocument'];
|
|
2309
|
+
environment: S['EnvironmentDocument-Input'];
|
|
1760
2310
|
}): Promise<S['EnvironmentResponse']>;
|
|
1761
2311
|
}
|
|
1762
2312
|
declare class EllipsisFiles {
|
|
@@ -1772,6 +2322,13 @@ declare class EllipsisFiles {
|
|
|
1772
2322
|
* agent persisting a screenshot to link on a PR), but all
|
|
1773
2323
|
* credential types work. Returns the org-membership-gated
|
|
1774
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.
|
|
1775
2332
|
*/
|
|
1776
2333
|
create(options: {
|
|
1777
2334
|
content_type: string;
|
|
@@ -1789,6 +2346,13 @@ declare class EllipsisFiles {
|
|
|
1789
2346
|
* potentially-untrusted code and must not be able to destroy the
|
|
1790
2347
|
* account's files — uploading is fine, destruction is not); API
|
|
1791
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.
|
|
1792
2356
|
*/
|
|
1793
2357
|
delete(file_id: string): Promise<void>;
|
|
1794
2358
|
/**
|
|
@@ -1807,6 +2371,13 @@ declare class EllipsisFiles {
|
|
|
1807
2371
|
* To fetch the bytes locally, call this and then GET download_url
|
|
1808
2372
|
* immediately — the JSON API never carries the file. The CLI's
|
|
1809
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.
|
|
1810
2381
|
*/
|
|
1811
2382
|
get(file_id: string): Promise<S['GetFileResponse']>;
|
|
1812
2383
|
/**
|
|
@@ -1818,6 +2389,13 @@ declare class EllipsisFiles {
|
|
|
1818
2389
|
* a download_urls map keyed by file id for thumbnails or batch
|
|
1819
2390
|
* downloads. URLs expire within about a minute. session_id scopes
|
|
1820
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.
|
|
1821
2399
|
*/
|
|
1822
2400
|
list(options?: {
|
|
1823
2401
|
session_id?: string | null;
|
|
@@ -1826,6 +2404,61 @@ declare class EllipsisFiles {
|
|
|
1826
2404
|
include_download_urls?: boolean;
|
|
1827
2405
|
}): Promise<Page<S['File'], S['FilesListResponse']>>;
|
|
1828
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.
|
|
2422
|
+
*
|
|
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.
|
|
2429
|
+
*/
|
|
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']>;
|
|
2461
|
+
}
|
|
1829
2462
|
declare class EllipsisIntegrationsGithub {
|
|
1830
2463
|
private readonly transport;
|
|
1831
2464
|
constructor(transport: Transport);
|
|
@@ -1839,16 +2472,34 @@ declare class EllipsisIntegrationsGithub {
|
|
|
1839
2472
|
*
|
|
1840
2473
|
* Members carry their linked Slack identity when a Slack-GitHub
|
|
1841
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.
|
|
1842
2481
|
*/
|
|
1843
2482
|
members(): Promise<S['GithubMembersListResponse']>;
|
|
1844
2483
|
/**
|
|
1845
2484
|
* List Github Repositories
|
|
1846
2485
|
*
|
|
1847
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.
|
|
1848
2493
|
*/
|
|
1849
2494
|
repos(): Promise<S['GithubRepositoriesListResponse']>;
|
|
1850
2495
|
/**
|
|
1851
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.
|
|
1852
2503
|
*/
|
|
1853
2504
|
uninstall(options: {
|
|
1854
2505
|
confirm_account_login: string;
|
|
@@ -1859,16 +2510,34 @@ declare class EllipsisIntegrationsLinear {
|
|
|
1859
2510
|
constructor(transport: Transport);
|
|
1860
2511
|
/**
|
|
1861
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.
|
|
1862
2519
|
*/
|
|
1863
2520
|
delete(): Promise<S['AccountActionResponse']>;
|
|
1864
2521
|
/**
|
|
1865
2522
|
* List Linear Teams
|
|
1866
2523
|
*
|
|
1867
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.
|
|
1868
2531
|
*/
|
|
1869
2532
|
teams(): Promise<S['LinearTeamsListResponse']>;
|
|
1870
2533
|
/**
|
|
1871
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.
|
|
1872
2541
|
*/
|
|
1873
2542
|
updateSettings(options: {
|
|
1874
2543
|
mcp_inclusion?: S['McpInclusionMode'] | null;
|
|
@@ -1880,12 +2549,24 @@ declare class EllipsisIntegrationsSentry {
|
|
|
1880
2549
|
constructor(transport: Transport);
|
|
1881
2550
|
/**
|
|
1882
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.
|
|
1883
2558
|
*/
|
|
1884
2559
|
delete(integration_id: string): Promise<S['AccountActionResponse']>;
|
|
1885
2560
|
/**
|
|
1886
2561
|
* List Sentry Organizations
|
|
1887
2562
|
*
|
|
1888
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.
|
|
1889
2570
|
*/
|
|
1890
2571
|
organizations(): Promise<S['SentryOrganizationsListResponse']>;
|
|
1891
2572
|
}
|
|
@@ -1897,14 +2578,32 @@ declare class EllipsisIntegrationsSlack {
|
|
|
1897
2578
|
*
|
|
1898
2579
|
* List the channels of the connected Slack workspace, fetched
|
|
1899
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.
|
|
1900
2587
|
*/
|
|
1901
2588
|
channels(): Promise<S['SlackChannelsListResponse']>;
|
|
1902
2589
|
/**
|
|
1903
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.
|
|
1904
2597
|
*/
|
|
1905
2598
|
createOperationsChannel(): Promise<S['SlackChannel']>;
|
|
1906
2599
|
/**
|
|
1907
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.
|
|
1908
2607
|
*/
|
|
1909
2608
|
delete(): Promise<S['AccountActionResponse']>;
|
|
1910
2609
|
/**
|
|
@@ -1912,10 +2611,22 @@ declare class EllipsisIntegrationsSlack {
|
|
|
1912
2611
|
*
|
|
1913
2612
|
* List the members of the connected Slack workspace, fetched
|
|
1914
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.
|
|
1915
2620
|
*/
|
|
1916
2621
|
members(): Promise<S['SlackMembersListResponse']>;
|
|
1917
2622
|
/**
|
|
1918
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.
|
|
1919
2630
|
*/
|
|
1920
2631
|
updateSettings(options: {
|
|
1921
2632
|
mcp_inclusion: S['McpInclusionMode'];
|
|
@@ -1935,10 +2646,16 @@ declare class EllipsisIntegrations {
|
|
|
1935
2646
|
*
|
|
1936
2647
|
* A read-only view, so an agent authoring another agent's
|
|
1937
2648
|
* config can learn which repositories, channels, teams, and
|
|
1938
|
-
* organizations it may name before POST /
|
|
2649
|
+
* organizations it may name before POST /agents.
|
|
1939
2650
|
*
|
|
1940
2651
|
* Available to all credential types including sandbox tokens: the
|
|
1941
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.
|
|
1942
2659
|
*/
|
|
1943
2660
|
list(): Promise<S['GetIntegrationsResponse']>;
|
|
1944
2661
|
}
|
|
@@ -1957,6 +2674,13 @@ declare class EllipsisMemories {
|
|
|
1957
2674
|
*
|
|
1958
2675
|
* Creating never overwrites: a path that already exists is a 409, so
|
|
1959
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.
|
|
1960
2684
|
*/
|
|
1961
2685
|
create(options: {
|
|
1962
2686
|
content: string;
|
|
@@ -1971,6 +2695,13 @@ declare class EllipsisMemories {
|
|
|
1971
2695
|
* Available to every credential type, agents included — a wrong
|
|
1972
2696
|
* memory is worse than a missing one. The deleted content is kept in
|
|
1973
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.
|
|
1974
2705
|
*/
|
|
1975
2706
|
delete(memory_id: string, options?: {
|
|
1976
2707
|
if_sha256?: string | null;
|
|
@@ -1986,6 +2717,13 @@ declare class EllipsisMemories {
|
|
|
1986
2717
|
*
|
|
1987
2718
|
* Pass `if_sha256` (from a previous read) to make a concurrent write
|
|
1988
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.
|
|
1989
2727
|
*/
|
|
1990
2728
|
edit(memory_id: string, options?: {
|
|
1991
2729
|
content?: string | null;
|
|
@@ -1998,6 +2736,13 @@ declare class EllipsisMemories {
|
|
|
1998
2736
|
* Read one memory's full content.
|
|
1999
2737
|
*
|
|
2000
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.
|
|
2001
2746
|
*/
|
|
2002
2747
|
get(memory_id: string): Promise<S['MemoryResponse']>;
|
|
2003
2748
|
/**
|
|
@@ -2009,6 +2754,13 @@ declare class EllipsisMemories {
|
|
|
2009
2754
|
* memory, carrying its id, path, and description) plus the same
|
|
2010
2755
|
* entries structured, each with every field except `content`. Read
|
|
2011
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.
|
|
2012
2764
|
*/
|
|
2013
2765
|
list(options?: {
|
|
2014
2766
|
prefix?: string | null;
|
|
@@ -2019,6 +2771,12 @@ declare class EllipsisReviews {
|
|
|
2019
2771
|
constructor(transport: Transport);
|
|
2020
2772
|
/**
|
|
2021
2773
|
* List Review Configs
|
|
2774
|
+
*
|
|
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.
|
|
2022
2780
|
*/
|
|
2023
2781
|
configs(): Promise<S['GetCodeReviewConfigsResponse']>;
|
|
2024
2782
|
/**
|
|
@@ -2036,6 +2794,12 @@ declare class EllipsisReviews {
|
|
|
2036
2794
|
* `stages[].session_id` is where a client streams
|
|
2037
2795
|
* (/sessions/{id}/stream on a stage session), since the review
|
|
2038
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.
|
|
2039
2803
|
*/
|
|
2040
2804
|
create(options: {
|
|
2041
2805
|
owner: string;
|
|
@@ -2055,6 +2819,12 @@ declare class EllipsisReviews {
|
|
|
2055
2819
|
* Findings only exist after a stage session finalizes — a running
|
|
2056
2820
|
* review honestly reports [] / null, which is why a client
|
|
2057
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.
|
|
2058
2828
|
*/
|
|
2059
2829
|
get(review_id: string): Promise<S['Review']>;
|
|
2060
2830
|
/**
|
|
@@ -2069,6 +2839,12 @@ declare class EllipsisReviews {
|
|
|
2069
2839
|
*
|
|
2070
2840
|
* Webhook-created reviews appear here too, so this answers "show
|
|
2071
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.
|
|
2072
2848
|
*/
|
|
2073
2849
|
list(options?: {
|
|
2074
2850
|
repository?: (string)[];
|
|
@@ -2080,22 +2856,6 @@ declare class EllipsisReviews {
|
|
|
2080
2856
|
cursor?: string | null;
|
|
2081
2857
|
}): Promise<Page<S['Review'], S['ReviewsListResponse']>>;
|
|
2082
2858
|
}
|
|
2083
|
-
declare class EllipsisSandboxes {
|
|
2084
|
-
private readonly transport;
|
|
2085
|
-
constructor(transport: Transport);
|
|
2086
|
-
/**
|
|
2087
|
-
* Get Single Sandbox
|
|
2088
|
-
*/
|
|
2089
|
-
get(sandbox_id: string): Promise<S['SandboxResponse']>;
|
|
2090
|
-
/**
|
|
2091
|
-
* Get Sandboxes
|
|
2092
|
-
*/
|
|
2093
|
-
list(): Promise<void>;
|
|
2094
|
-
/**
|
|
2095
|
-
* Get Sandbox Stream Ticket
|
|
2096
|
-
*/
|
|
2097
|
-
streamTicket(sandbox_id: string): Promise<S['StreamTicketResponse']>;
|
|
2098
|
-
}
|
|
2099
2859
|
declare class EllipsisSecrets {
|
|
2100
2860
|
private readonly transport;
|
|
2101
2861
|
constructor(transport: Transport);
|
|
@@ -2106,6 +2866,13 @@ declare class EllipsisSecrets {
|
|
|
2106
2866
|
*
|
|
2107
2867
|
* Refused for sandbox tokens; mutations require an API key or
|
|
2108
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.
|
|
2109
2876
|
*/
|
|
2110
2877
|
delete(name: string): Promise<void>;
|
|
2111
2878
|
/**
|
|
@@ -2115,6 +2882,13 @@ declare class EllipsisSecrets {
|
|
|
2115
2882
|
*
|
|
2116
2883
|
* Values are write-only: the response carries only names and
|
|
2117
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.
|
|
2118
2892
|
*/
|
|
2119
2893
|
list(): Promise<S['SecretsListResponse']>;
|
|
2120
2894
|
/**
|
|
@@ -2126,6 +2900,13 @@ declare class EllipsisSecrets {
|
|
|
2126
2900
|
* only — values are write-only. Refused for sandbox tokens (held by
|
|
2127
2901
|
* potentially-untrusted in-sandbox code); mutations require an
|
|
2128
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.
|
|
2129
2910
|
*/
|
|
2130
2911
|
set(options: {
|
|
2131
2912
|
secrets: (S['SecretInput'])[];
|
|
@@ -2135,7 +2916,7 @@ declare class EllipsisSessions {
|
|
|
2135
2916
|
private readonly transport;
|
|
2136
2917
|
constructor(transport: Transport);
|
|
2137
2918
|
/**
|
|
2138
|
-
* Get
|
|
2919
|
+
* Get Session Analytics
|
|
2139
2920
|
*
|
|
2140
2921
|
* Measured tokens and spend over time, plus estimated content cost.
|
|
2141
2922
|
*
|
|
@@ -2146,10 +2927,17 @@ declare class EllipsisSessions {
|
|
|
2146
2927
|
* or unsupported context remains explicitly unattributed. No raw
|
|
2147
2928
|
* prompts or tool results are returned. Sandbox tokens may read only
|
|
2148
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.
|
|
2149
2937
|
*/
|
|
2150
2938
|
analytics(session_id: string): Promise<S['SessionAnalytics']>;
|
|
2151
2939
|
/**
|
|
2152
|
-
* Get
|
|
2940
|
+
* Get Session Diff
|
|
2153
2941
|
*
|
|
2154
2942
|
* Return the session's uncommitted changes as a patch.
|
|
2155
2943
|
*
|
|
@@ -2158,23 +2946,19 @@ declare class EllipsisSessions {
|
|
|
2158
2946
|
* counts ride on the session itself (`git.repos[].files`); this
|
|
2159
2947
|
* is the text behind them. Empty when the tree was clean. A
|
|
2160
2948
|
* sandbox token may read only its own session's diff.
|
|
2161
|
-
*/
|
|
2162
|
-
diff(session_id: string): Promise<S['SessionDiffResponse']>;
|
|
2163
|
-
/**
|
|
2164
|
-
* List Session Executions
|
|
2165
|
-
*
|
|
2166
|
-
* Return the session's execution attempts, oldest first.
|
|
2167
2949
|
*
|
|
2168
|
-
*
|
|
2169
|
-
*
|
|
2170
|
-
*
|
|
2171
|
-
*
|
|
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.
|
|
2172
2956
|
*/
|
|
2173
|
-
|
|
2957
|
+
diff(session_id: string): Promise<S['SessionDiffResponse']>;
|
|
2174
2958
|
/**
|
|
2175
|
-
*
|
|
2959
|
+
* Download Session
|
|
2176
2960
|
*
|
|
2177
|
-
*
|
|
2961
|
+
* Download the complete session history.
|
|
2178
2962
|
*
|
|
2179
2963
|
* The complete, ordered history of the session (agent output, tool calls, thinking,
|
|
2180
2964
|
* lifecycle events, sandbox output, message events) as an ordered
|
|
@@ -2184,32 +2968,71 @@ declare class EllipsisSessions {
|
|
|
2184
2968
|
* for one file. The JSON API never carries the bytes (same
|
|
2185
2969
|
* two-step as files). /records is the paged live view of the
|
|
2186
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.
|
|
2978
|
+
*/
|
|
2979
|
+
download(session_id: string): Promise<S['GetSessionLogResponse']>;
|
|
2980
|
+
/**
|
|
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.
|
|
2187
2996
|
*/
|
|
2188
|
-
|
|
2997
|
+
executions(session_id: string): Promise<S['SessionExecutionsListResponse']>;
|
|
2189
2998
|
/**
|
|
2190
|
-
* Get
|
|
2999
|
+
* Get Session
|
|
2191
3000
|
*
|
|
2192
3001
|
* Return one session.
|
|
2193
3002
|
*
|
|
2194
3003
|
* The public wire shape — the same shape the stream's session
|
|
2195
|
-
* frames carry, with
|
|
3004
|
+
* frames carry, with attribution, stop, and archive actors resolved
|
|
2196
3005
|
* at read time.
|
|
2197
3006
|
*
|
|
2198
3007
|
* The heavy near-static blobs (config snapshot, input/output)
|
|
2199
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.
|
|
2200
3016
|
*/
|
|
2201
3017
|
get(session_id: string): Promise<S['SessionResponse']>;
|
|
2202
3018
|
/**
|
|
2203
|
-
* Get
|
|
3019
|
+
* Get Session Git
|
|
2204
3020
|
*
|
|
2205
3021
|
* The session's GitHub-side git view: its commits, and each PR it
|
|
2206
3022
|
* opened joined to the live gh_prs row and reviews. The identity list
|
|
2207
3023
|
* (output_git) rides the session itself over the WebSocket; this is
|
|
2208
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.
|
|
2209
3032
|
*/
|
|
2210
3033
|
git(session_id: string): Promise<S['SessionGitResponse']>;
|
|
2211
3034
|
/**
|
|
2212
|
-
* Ingest
|
|
3035
|
+
* Ingest Session Transcript
|
|
2213
3036
|
*
|
|
2214
3037
|
* Append transcript lines to a session's record.
|
|
2215
3038
|
*
|
|
@@ -2217,23 +3040,39 @@ declare class EllipsisSessions {
|
|
|
2217
3040
|
*
|
|
2218
3041
|
* A sandbox token may only push its own session's transcript.
|
|
2219
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.
|
|
2220
3050
|
*/
|
|
2221
3051
|
ingestTranscript(session_id: string, options: {
|
|
2222
3052
|
lines: (string)[];
|
|
2223
3053
|
offset?: number;
|
|
2224
3054
|
}): Promise<S['TranscriptIngestResult']>;
|
|
2225
3055
|
/**
|
|
2226
|
-
* List
|
|
3056
|
+
* List Sessions
|
|
2227
3057
|
*
|
|
2228
3058
|
* List cloud agent sessions, newest first.
|
|
2229
3059
|
*
|
|
2230
|
-
* Optionally filtered by
|
|
3060
|
+
* Optionally filtered by agent (id or name), source, service, handler, time
|
|
2231
3061
|
* window, attributed author, repository, and whether the session is
|
|
2232
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.
|
|
2233
3070
|
*/
|
|
2234
3071
|
list(options?: {
|
|
2235
|
-
|
|
3072
|
+
agent?: string | null;
|
|
2236
3073
|
source?: (S['SessionSource'])[] | null;
|
|
3074
|
+
service?: S['HandlerService'] | null;
|
|
3075
|
+
handler?: string | null;
|
|
2237
3076
|
days?: number | null;
|
|
2238
3077
|
start?: string | null;
|
|
2239
3078
|
end?: string | null;
|
|
@@ -2245,7 +3084,7 @@ declare class EllipsisSessions {
|
|
|
2245
3084
|
exclude_code_review?: boolean;
|
|
2246
3085
|
}): Promise<Page<S['Session'], S['SessionsListResponse']>>;
|
|
2247
3086
|
/**
|
|
2248
|
-
* Get
|
|
3087
|
+
* Get Session Output
|
|
2249
3088
|
*
|
|
2250
3089
|
* Return the session's typed output.
|
|
2251
3090
|
*
|
|
@@ -2254,10 +3093,17 @@ declare class EllipsisSessions {
|
|
|
2254
3093
|
* while the session is still running (poll GET /v1/sessions/{id}),
|
|
2255
3094
|
* when the agent declares no output block, or when no execution
|
|
2256
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.
|
|
2257
3103
|
*/
|
|
2258
3104
|
output(session_id: string): Promise<Record<string, unknown>>;
|
|
2259
3105
|
/**
|
|
2260
|
-
* Get
|
|
3106
|
+
* Get Session Records
|
|
2261
3107
|
*
|
|
2262
3108
|
* Return the session's stored transcript records, oldest first.
|
|
2263
3109
|
*
|
|
@@ -2266,29 +3112,45 @@ declare class EllipsisSessions {
|
|
|
2266
3112
|
* agent answering "did X look into Y?" needs to read the sessions
|
|
2267
3113
|
* it finds, and any org member sees the same transcript in the
|
|
2268
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.
|
|
2269
3122
|
*/
|
|
2270
3123
|
records(session_id: string, options?: {
|
|
2271
3124
|
cursor?: string | null;
|
|
2272
3125
|
limit?: number | null;
|
|
2273
3126
|
}): Promise<Page<S['SessionRecord'], S['SessionRecordsListResponse']>>;
|
|
2274
3127
|
/**
|
|
2275
|
-
* Search
|
|
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.
|
|
2276
3136
|
*/
|
|
2277
3137
|
search(options?: {
|
|
2278
3138
|
q?: string;
|
|
2279
3139
|
scope?: S['SessionSearchScope'];
|
|
2280
3140
|
source?: (S['SessionSource'])[] | null;
|
|
3141
|
+
service?: S['HandlerService'] | null;
|
|
3142
|
+
handler?: string | null;
|
|
2281
3143
|
author_id?: (number)[] | null;
|
|
2282
|
-
|
|
3144
|
+
agent_id?: (string)[] | null;
|
|
2283
3145
|
session_ids?: (string)[] | null;
|
|
2284
3146
|
repo?: (string)[] | null;
|
|
2285
|
-
status?: (S['
|
|
3147
|
+
status?: (S['SessionLifecycleStatus'])[] | null;
|
|
2286
3148
|
start?: string | null;
|
|
2287
3149
|
end?: string | null;
|
|
2288
3150
|
limit?: number;
|
|
2289
3151
|
}): Promise<S['SessionSearchResponse']>;
|
|
2290
3152
|
/**
|
|
2291
|
-
* Send
|
|
3153
|
+
* Send Session Message
|
|
2292
3154
|
*
|
|
2293
3155
|
* Send a message to a session.
|
|
2294
3156
|
*
|
|
@@ -2296,6 +3158,13 @@ declare class EllipsisSessions {
|
|
|
2296
3158
|
* Returns the created message so the caller can track it by id; a
|
|
2297
3159
|
* retried send with the same idempotency_key returns the original
|
|
2298
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.
|
|
2299
3168
|
*/
|
|
2300
3169
|
sendMessage(session_id: string, options: {
|
|
2301
3170
|
idempotency_key?: string | null;
|
|
@@ -2304,52 +3173,103 @@ declare class EllipsisSessions {
|
|
|
2304
3173
|
}): Promise<S['SessionMessageResponse']>;
|
|
2305
3174
|
/**
|
|
2306
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.
|
|
2307
3183
|
*/
|
|
2308
3184
|
sessionStreamTicket(session_id: string): Promise<S['StreamTicketResponse']>;
|
|
2309
3185
|
/**
|
|
2310
|
-
* Start
|
|
3186
|
+
* Start Session
|
|
2311
3187
|
*
|
|
2312
3188
|
* Start a cloud agent session.
|
|
2313
3189
|
*
|
|
2314
3190
|
* The daily driver: a prompt, optionally where to run it
|
|
2315
|
-
* (`environment`) and the run's own settings, in the
|
|
3191
|
+
* (`environment`) and the run's own settings, in the AgentConfig
|
|
2316
3192
|
* vocabulary. What you send is what runs: omit `environment` and the
|
|
2317
3193
|
* session runs in the built-in basic sandbox. A missing model or
|
|
2318
3194
|
* budget comes from the organization's settings, so
|
|
2319
|
-
* `{"prompt": "..."}`
|
|
2320
|
-
*
|
|
2321
|
-
*
|
|
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
|
|
2322
3199
|
* when `budget` exceeds the organization's per-session ceiling. To
|
|
2323
|
-
* 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.
|
|
2324
3208
|
*/
|
|
2325
|
-
start(options
|
|
3209
|
+
start(options?: {
|
|
2326
3210
|
budget?: number | null;
|
|
2327
|
-
|
|
3211
|
+
claude_code?: S['ClaudeConfig-Input'] | null;
|
|
3212
|
+
codex?: S['CodexConfig-Input'] | null;
|
|
3213
|
+
environment?: string | S['EnvironmentConfig-Input'] | null;
|
|
2328
3214
|
force_rebuild?: boolean;
|
|
2329
|
-
harness: S['HarnessOptions'];
|
|
2330
3215
|
images?: (S['ImageAttachment'])[];
|
|
2331
|
-
|
|
2332
|
-
interactive?: boolean;
|
|
3216
|
+
lifecycle?: S['SessionLifecycleConfig'];
|
|
2333
3217
|
metadata?: Record<string, string>;
|
|
2334
3218
|
output?: S['OutputConfig'] | null;
|
|
2335
|
-
permissions?: S['PermissionsConfig'] | null;
|
|
2336
|
-
prompt?: string | null;
|
|
3219
|
+
permissions?: S['PermissionsConfig-Input'] | null;
|
|
2337
3220
|
repositories?: (string)[] | null;
|
|
2338
|
-
skills?: (S['SkillRef'])[] | null;
|
|
3221
|
+
skills?: (S['SkillRef-Input'])[] | null;
|
|
2339
3222
|
}): Promise<S['SessionResponse']>;
|
|
2340
3223
|
/**
|
|
2341
|
-
* Stop
|
|
3224
|
+
* Stop Session
|
|
2342
3225
|
*
|
|
2343
3226
|
* Stop an in-flight session and return it.
|
|
2344
3227
|
*
|
|
2345
3228
|
* stopped_by is recorded only when the caller's credential maps
|
|
2346
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.
|
|
2347
3237
|
*/
|
|
2348
3238
|
stop(session_id: string): Promise<S['SessionResponse']>;
|
|
2349
3239
|
/**
|
|
2350
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.
|
|
2351
3248
|
*/
|
|
2352
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']>;
|
|
2353
3273
|
/** Start a session and return a handle over it. */
|
|
2354
3274
|
run(options: Parameters<EllipsisSessions['start']>[0]): Promise<SessionHandle>;
|
|
2355
3275
|
/** A handle over an existing session. */
|
|
@@ -2360,6 +3280,12 @@ declare class EllipsisSupportSlack {
|
|
|
2360
3280
|
constructor(transport: Transport);
|
|
2361
3281
|
/**
|
|
2362
3282
|
* Request Slack Help
|
|
3283
|
+
*
|
|
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.
|
|
2363
3289
|
*/
|
|
2364
3290
|
create(options: {
|
|
2365
3291
|
emails: (string)[];
|
|
@@ -2367,10 +3293,22 @@ declare class EllipsisSupportSlack {
|
|
|
2367
3293
|
}): Promise<S['SlackHelpResponse']>;
|
|
2368
3294
|
/**
|
|
2369
3295
|
* Get Slack Help
|
|
3296
|
+
*
|
|
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.
|
|
2370
3302
|
*/
|
|
2371
3303
|
get(): Promise<void>;
|
|
2372
3304
|
/**
|
|
2373
3305
|
* Invite To Slack Help
|
|
3306
|
+
*
|
|
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.
|
|
2374
3312
|
*/
|
|
2375
3313
|
invite(options: {
|
|
2376
3314
|
emails: (string)[];
|
|
@@ -2389,6 +3327,12 @@ declare class EllipsisTemplates {
|
|
|
2389
3327
|
* Get Agent Template
|
|
2390
3328
|
*
|
|
2391
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.
|
|
2392
3336
|
*/
|
|
2393
3337
|
get(template_id: string): Promise<S['AgentTemplate']>;
|
|
2394
3338
|
/**
|
|
@@ -2398,6 +3342,12 @@ declare class EllipsisTemplates {
|
|
|
2398
3342
|
*
|
|
2399
3343
|
* Behind auth but not account-scoped — the data is static
|
|
2400
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.
|
|
2401
3351
|
*/
|
|
2402
3352
|
list(): Promise<S['AgentTemplatesListResponse']>;
|
|
2403
3353
|
}
|
|
@@ -2411,6 +3361,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2411
3361
|
*
|
|
2412
3362
|
* Your sessions stop billing your subscription immediately, and the
|
|
2413
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.
|
|
2414
3370
|
*/
|
|
2415
3371
|
delete(provider: S['SubscriptionProvider']): Promise<void>;
|
|
2416
3372
|
/**
|
|
@@ -2420,6 +3376,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2420
3376
|
*
|
|
2421
3377
|
* `configured` is false when nothing is saved. The token itself is
|
|
2422
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.
|
|
2423
3385
|
*/
|
|
2424
3386
|
get(provider: S['SubscriptionProvider']): Promise<S['SubscriptionToken']>;
|
|
2425
3387
|
/**
|
|
@@ -2430,6 +3392,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2430
3392
|
* One entry per supported provider, whether or not you have saved a
|
|
2431
3393
|
* token for it. Tokens are write-only: the response carries only
|
|
2432
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.
|
|
2433
3401
|
*/
|
|
2434
3402
|
list(): Promise<S['SubscriptionTokensListResponse']>;
|
|
2435
3403
|
/**
|
|
@@ -2442,6 +3410,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2442
3410
|
* succeeds. For Claude, use `claude setup-token`. For Codex, paste
|
|
2443
3411
|
* the auth.json credentials from a ChatGPT login. Each subscription
|
|
2444
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.
|
|
2445
3419
|
*/
|
|
2446
3420
|
set(provider: S['SubscriptionProvider'], options: {
|
|
2447
3421
|
token: string;
|
|
@@ -2456,6 +3430,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2456
3430
|
* real windows without us seeing them. Null unless a token is
|
|
2457
3431
|
* enabled for the provider: a disabled token routes nothing, so any
|
|
2458
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.
|
|
2459
3439
|
*/
|
|
2460
3440
|
usage(provider: S['SubscriptionProvider']): Promise<S['SubscriptionUsageResponse']>;
|
|
2461
3441
|
/**
|
|
@@ -2469,6 +3449,12 @@ declare class EllipsisUserSubscriptionTokens {
|
|
|
2469
3449
|
* token is how you stop it routing. A 200 with `ok: false` is the
|
|
2470
3450
|
* normal way a bad token is reported — it is an answer, not a
|
|
2471
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.
|
|
2472
3458
|
*/
|
|
2473
3459
|
verify(provider: S['SubscriptionProvider']): Promise<S['VerifySubscriptionTokenResponse']>;
|
|
2474
3460
|
}
|
|
@@ -2477,10 +3463,22 @@ declare class EllipsisUserTokens {
|
|
|
2477
3463
|
constructor(transport: Transport);
|
|
2478
3464
|
/**
|
|
2479
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.
|
|
2480
3472
|
*/
|
|
2481
3473
|
list(): Promise<S['ListUserTokensResponse']>;
|
|
2482
3474
|
/**
|
|
2483
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.
|
|
2484
3482
|
*/
|
|
2485
3483
|
revoke(token_id: string): Promise<S['TokenRevokedResponse']>;
|
|
2486
3484
|
}
|
|
@@ -2490,6 +3488,106 @@ declare class EllipsisUser {
|
|
|
2490
3488
|
readonly tokens: EllipsisUserTokens;
|
|
2491
3489
|
constructor(transport: Transport);
|
|
2492
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
|
+
}
|
|
2493
3591
|
declare class EllipsisWebhooksDeliveries {
|
|
2494
3592
|
private readonly transport;
|
|
2495
3593
|
constructor(transport: Transport);
|
|
@@ -2500,6 +3598,12 @@ declare class EllipsisWebhooksDeliveries {
|
|
|
2500
3598
|
*
|
|
2501
3599
|
* Payloads are immutable across retries. Attempt details include HTTP
|
|
2502
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.
|
|
2503
3607
|
*/
|
|
2504
3608
|
get(delivery_id: string): Promise<S['WebhookDeliveryResponse']>;
|
|
2505
3609
|
/**
|
|
@@ -2509,6 +3613,12 @@ declare class EllipsisWebhooksDeliveries {
|
|
|
2509
3613
|
*
|
|
2510
3614
|
* Includes verification pings and deliveries for deleted webhooks.
|
|
2511
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.
|
|
2512
3622
|
*/
|
|
2513
3623
|
list(options?: {
|
|
2514
3624
|
webhook_id?: string | null;
|
|
@@ -2530,9 +3640,15 @@ declare class EllipsisWebhooks {
|
|
|
2530
3640
|
* Create a webhook and send a verification ping.
|
|
2531
3641
|
*
|
|
2532
3642
|
* Save the signing secret from this response; it is returned once.
|
|
2533
|
-
* Accounts
|
|
2534
|
-
* ones. A ping returning HTTP 200 moves unverified to pending. Contact
|
|
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
|
|
2535
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.
|
|
2536
3652
|
*/
|
|
2537
3653
|
create(options: {
|
|
2538
3654
|
description?: string | null;
|
|
@@ -2545,19 +3661,37 @@ declare class EllipsisWebhooks {
|
|
|
2545
3661
|
* Delete a webhook and cancel outstanding deliveries.
|
|
2546
3662
|
*
|
|
2547
3663
|
* An HTTP request already in flight may finish. Delivery history remains
|
|
2548
|
-
* available for 30 days. Deletion frees
|
|
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.
|
|
2549
3671
|
*/
|
|
2550
3672
|
delete(webhook_id: string): Promise<void>;
|
|
2551
3673
|
/**
|
|
2552
3674
|
* Get Webhook
|
|
2553
3675
|
*
|
|
2554
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.
|
|
2555
3683
|
*/
|
|
2556
3684
|
get(webhook_id: string): Promise<S['WebhookResponse']>;
|
|
2557
3685
|
/**
|
|
2558
3686
|
* List Webhooks
|
|
2559
3687
|
*
|
|
2560
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.
|
|
2561
3695
|
*/
|
|
2562
3696
|
list(): Promise<S['WebhooksListResponse']>;
|
|
2563
3697
|
/**
|
|
@@ -2566,8 +3700,15 @@ declare class EllipsisWebhooks {
|
|
|
2566
3700
|
* Send a signed verification or test ping.
|
|
2567
3701
|
*
|
|
2568
3702
|
* Available in every state. Only HTTP 200 verifies a destination;
|
|
2569
|
-
* successful pings never activate it.
|
|
2570
|
-
* per minute, including
|
|
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.
|
|
2571
3712
|
*/
|
|
2572
3713
|
ping(webhook_id: string): Promise<void>;
|
|
2573
3714
|
/**
|
|
@@ -2578,6 +3719,12 @@ declare class EllipsisWebhooks {
|
|
|
2578
3719
|
* Changing the URL cancels outstanding deliveries, clears verification
|
|
2579
3720
|
* and approval, and sends another ping. State and signing secret cannot
|
|
2580
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.
|
|
2581
3728
|
*/
|
|
2582
3729
|
update(webhook_id: string, options: {
|
|
2583
3730
|
description?: string | null;
|
|
@@ -2588,27 +3735,36 @@ declare class EllipsisWebhooks {
|
|
|
2588
3735
|
declare class Ellipsis {
|
|
2589
3736
|
private readonly transport;
|
|
2590
3737
|
readonly account: EllipsisAccount;
|
|
3738
|
+
readonly agents: EllipsisAgents;
|
|
2591
3739
|
readonly alerts: EllipsisAlerts;
|
|
2592
3740
|
readonly analytics: EllipsisAnalytics;
|
|
2593
3741
|
readonly auth: EllipsisAuth;
|
|
2594
|
-
readonly automations: EllipsisAutomations;
|
|
2595
3742
|
readonly environments: EllipsisEnvironments;
|
|
2596
3743
|
readonly files: EllipsisFiles;
|
|
3744
|
+
readonly handlers: EllipsisHandlers;
|
|
2597
3745
|
readonly integrations: EllipsisIntegrations;
|
|
2598
3746
|
readonly memories: EllipsisMemories;
|
|
2599
3747
|
readonly reviews: EllipsisReviews;
|
|
2600
|
-
readonly sandboxes: EllipsisSandboxes;
|
|
2601
3748
|
readonly secrets: EllipsisSecrets;
|
|
2602
3749
|
readonly sessions: EllipsisSessions;
|
|
2603
3750
|
readonly support: EllipsisSupport;
|
|
2604
3751
|
readonly templates: EllipsisTemplates;
|
|
2605
3752
|
readonly user: EllipsisUser;
|
|
3753
|
+
readonly vmExecutions: EllipsisVmExecutions;
|
|
3754
|
+
readonly vmImages: EllipsisVmImages;
|
|
3755
|
+
readonly vms: EllipsisVms;
|
|
2606
3756
|
readonly webhooks: EllipsisWebhooks;
|
|
2607
3757
|
constructor(options: TransportOptions);
|
|
2608
3758
|
/**
|
|
2609
3759
|
* Current Identity
|
|
2610
3760
|
*
|
|
2611
3761
|
* Return the identity behind the caller's credential.
|
|
3762
|
+
*
|
|
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.
|
|
2612
3768
|
*/
|
|
2613
3769
|
identity(): Promise<S['Identity']>;
|
|
2614
3770
|
}
|
|
@@ -2645,4 +3801,4 @@ declare class RateLimitError extends APIError {
|
|
|
2645
3801
|
declare class ServerError extends APIError {
|
|
2646
3802
|
}
|
|
2647
3803
|
|
|
2648
|
-
export { APIError,
|
|
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 };
|