@ellipsis-dev/sdk 0.43.0 → 0.44.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.
@@ -1461,6 +1461,27 @@ interface paths {
1461
1461
  patch?: never;
1462
1462
  trace?: never;
1463
1463
  };
1464
+ '/v1/sessions/{id}/proxy': {
1465
+ parameters: {
1466
+ query?: never;
1467
+ header?: never;
1468
+ path?: never;
1469
+ cookie?: never;
1470
+ };
1471
+ /**
1472
+ * Get Session Proxy
1473
+ * @description The requests the session's environment sent to GitHub through
1474
+ * Ellipsis, newest first. Each is one `proxy_requests` row as stored.
1475
+ */
1476
+ get: operations['get_session_proxy'];
1477
+ put?: never;
1478
+ post?: never;
1479
+ delete?: never;
1480
+ options?: never;
1481
+ head?: never;
1482
+ patch?: never;
1483
+ trace?: never;
1484
+ };
1464
1485
  '/v1/sessions/{id}/records': {
1465
1486
  parameters: {
1466
1487
  query?: never;
@@ -4195,61 +4216,59 @@ interface components {
4195
4216
  };
4196
4217
  /**
4197
4218
  * ComputeConfig
4198
- * @description Environment compute sizing. Every field is optional; an omitted field
4199
- * inherits the platform default (2 vCPU / 4096 MiB / 3600s). A resolved value
4200
- * outside the platform bounds fails validation loudly (a sync error on the
4201
- * config) rather than being clamped silently.
4219
+ * @description The size and lifetime of the environment. Every field is optional. An
4220
+ * omitted field takes the platform default (2 vCPUs, 4096 MiB, a 4h timeout,
4221
+ * 10m idle). A value outside the platform bounds fails validation.
4202
4222
  *
4203
- * `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
4204
- * explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
4205
- * `timeout_seconds` properties resolve either form to the canonical integer
4206
- * the environment is sized with.
4223
+ * `memory` accepts a string such as `8GB` or an object such as `{gb: 8}`.
4224
+ * `timeout` and `idle` accept a duration string such as `30m`, `8h`, or
4225
+ * `1h30m`.
4207
4226
  *
4208
- * `timeout` is the max wall-clock the agent may run in one environment before
4209
- * it is stopped, capped at 1h (equal to the default, so today the knob only
4210
- * shortens a session; the cap matches the 1-hour validity of the session's
4211
- * GitHub token).
4227
+ * `timeout` is the longest one message's work may run before it is stopped,
4228
+ * 1m to 22h, default 4h. The message ends `stopped` with reason `timeout`.
4212
4229
  *
4213
- * Compute currently uses a temporary flat one-cent amount each time an
4214
- * environment is started for a session, subject to the account's existing
4215
- * free-compute exemptions.
4230
+ * `idle` is how long the environment stays awake after the agent finishes
4231
+ * with no message waiting, 10s to 1h, default 10m. Then it pauses, and the
4232
+ * next message resumes it. Only an interactive session pauses. A session
4233
+ * that runs once ends when its message ends.
4216
4234
  */
4217
4235
  'ComputeConfig-Input': {
4218
4236
  /** Cpu */
4219
4237
  cpu?: number | null;
4238
+ /** Idle */
4239
+ idle?: string | null;
4220
4240
  /** Memory */
4221
4241
  memory?: string | components['schemas']['MemorySize-Input'] | null;
4222
4242
  /** Timeout */
4223
- timeout?: string | components['schemas']['Duration-Input'] | null;
4243
+ timeout?: string | null;
4224
4244
  };
4225
4245
  /**
4226
4246
  * ComputeConfig
4227
- * @description Environment compute sizing. Every field is optional; an omitted field
4228
- * inherits the platform default (2 vCPU / 4096 MiB / 3600s). A resolved value
4229
- * outside the platform bounds fails validation loudly (a sync error on the
4230
- * config) rather than being clamped silently.
4247
+ * @description The size and lifetime of the environment. Every field is optional. An
4248
+ * omitted field takes the platform default (2 vCPUs, 4096 MiB, a 4h timeout,
4249
+ * 10m idle). A value outside the platform bounds fails validation.
4231
4250
  *
4232
- * `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
4233
- * explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
4234
- * `timeout_seconds` properties resolve either form to the canonical integer
4235
- * the environment is sized with.
4251
+ * `memory` accepts a string such as `8GB` or an object such as `{gb: 8}`.
4252
+ * `timeout` and `idle` accept a duration string such as `30m`, `8h`, or
4253
+ * `1h30m`.
4236
4254
  *
4237
- * `timeout` is the max wall-clock the agent may run in one environment before
4238
- * it is stopped, capped at 1h (equal to the default, so today the knob only
4239
- * shortens a session; the cap matches the 1-hour validity of the session's
4240
- * GitHub token).
4255
+ * `timeout` is the longest one message's work may run before it is stopped,
4256
+ * 1m to 22h, default 4h. The message ends `stopped` with reason `timeout`.
4241
4257
  *
4242
- * Compute currently uses a temporary flat one-cent amount each time an
4243
- * environment is started for a session, subject to the account's existing
4244
- * free-compute exemptions.
4258
+ * `idle` is how long the environment stays awake after the agent finishes
4259
+ * with no message waiting, 10s to 1h, default 10m. Then it pauses, and the
4260
+ * next message resumes it. Only an interactive session pauses. A session
4261
+ * that runs once ends when its message ends.
4245
4262
  */
4246
4263
  'ComputeConfig-Output': {
4247
4264
  /** Cpu */
4248
4265
  cpu: number | null;
4266
+ /** Idle */
4267
+ idle: string | null;
4249
4268
  /** Memory */
4250
4269
  memory: string | components['schemas']['MemorySize-Output'] | null;
4251
4270
  /** Timeout */
4252
- timeout: string | components['schemas']['Duration-Output'] | null;
4271
+ timeout: string | null;
4253
4272
  };
4254
4273
  /**
4255
4274
  * ConfigManagedBy
@@ -4523,7 +4542,7 @@ interface components {
4523
4542
  * CustomerAuditLogEventType
4524
4543
  * @enum {string}
4525
4544
  */
4526
- CustomerAuditLogEventType: 'system_limits_updated' | 'webhook_state_changed' | 'github_installation_created' | 'github_installation_removed' | 'github_installation_suspended' | 'github_installation_unsuspended' | 'credit_granted' | 'refund_issued' | 'auto_recharge_updated';
4545
+ CustomerAuditLogEventType: 'system_limits_updated' | 'webhook_state_changed' | 'github_installation_created' | 'github_installation_removed' | 'github_installation_suspended' | 'github_installation_unsuspended' | 'credit_granted' | 'refund_issued' | 'auto_recharge_updated' | 'platform_fee_updated' | 'github_proxy_updated';
4527
4546
  /** DataRetentionSettings */
4528
4547
  'DataRetentionSettings-Input': {
4529
4548
  /**
@@ -4658,34 +4677,6 @@ interface components {
4658
4677
  /** @description The tokens the developer's agent sessions used. */
4659
4678
  tokens: components['schemas']['Tokens'];
4660
4679
  };
4661
- /**
4662
- * Duration
4663
- * @description A duration as explicit units, summed. Set any of `hours`/`minutes`/
4664
- * `seconds` (at least one). The alternative to the `30m`-style shorthand
4665
- * string wherever a duration is accepted.
4666
- */
4667
- 'Duration-Input': {
4668
- /** Hours */
4669
- hours?: number | null;
4670
- /** Minutes */
4671
- minutes?: number | null;
4672
- /** Seconds */
4673
- seconds?: number | null;
4674
- };
4675
- /**
4676
- * Duration
4677
- * @description A duration as explicit units, summed. Set any of `hours`/`minutes`/
4678
- * `seconds` (at least one). The alternative to the `30m`-style shorthand
4679
- * string wherever a duration is accepted.
4680
- */
4681
- 'Duration-Output': {
4682
- /** Hours */
4683
- hours: number | null;
4684
- /** Minutes */
4685
- minutes: number | null;
4686
- /** Seconds */
4687
- seconds: number | null;
4688
- };
4689
4680
  /**
4690
4681
  * EffortLevel
4691
4682
  * @enum {string}
@@ -5407,7 +5398,7 @@ interface components {
5407
5398
  * @description Why a message failed, was stopped, or was cancelled.
5408
5399
  * @enum {string}
5409
5400
  */
5410
- ErrorReason: 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_required' | 'blocked' | 'contact_email_required' | 'lifecycle_hook_failed' | 'missing_repo_access' | 'missing_token_permissions' | 'missing_environment_variables' | 'missing_github_integration' | 'agent_unavailable' | 'upstream_unavailable' | 'unsupported_configuration' | 'execution_disabled' | 'interrupted' | 'stopped';
5401
+ ErrorReason: 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_required' | 'blocked' | 'contact_email_required' | 'lifecycle_hook_failed' | 'missing_repo_access' | 'missing_token_permissions' | 'missing_environment_variables' | 'missing_github_integration' | 'agent_unavailable' | 'upstream_unavailable' | 'unsupported_configuration' | 'execution_disabled' | 'interrupted' | 'stopped' | 'timeout';
5411
5402
  /**
5412
5403
  * ErrorResponse
5413
5404
  * @description The error envelope every /v1 error returns.
@@ -8208,6 +8199,76 @@ interface components {
8208
8199
  * @enum {string}
8209
8200
  */
8210
8201
  PromptBlockedReason: 'mention_surface' | 'non_interactive' | 'harness_single_turn' | 'budget_exhausted' | 'closed' | 'archived';
8202
+ /**
8203
+ * ProxyRequest
8204
+ * @description One request an environment sent through Ellipsis to GitHub, as the
8205
+ * proxy recorded it.
8206
+ */
8207
+ ProxyRequest: {
8208
+ /**
8209
+ * Connection
8210
+ * @description Where it went. `github` today.
8211
+ */
8212
+ connection: string;
8213
+ /**
8214
+ * Created At
8215
+ * Format: date-time
8216
+ * @description When the request ended.
8217
+ */
8218
+ created_at: string;
8219
+ /**
8220
+ * Customer Id
8221
+ * @description The account.
8222
+ */
8223
+ customer_id?: string | null;
8224
+ /**
8225
+ * Duration Ms
8226
+ * @description Milliseconds from arrival to the end.
8227
+ */
8228
+ duration_ms: number;
8229
+ /** Id */
8230
+ id: string;
8231
+ /**
8232
+ * Method
8233
+ * @description The HTTP method as the environment sent it.
8234
+ */
8235
+ method: string;
8236
+ /**
8237
+ * Path
8238
+ * @description The path as the environment sent it.
8239
+ */
8240
+ path: string;
8241
+ /**
8242
+ * Reason
8243
+ * @description Why Ellipsis answered itself or the transfer ended early, null when GitHub answered in full.
8244
+ */
8245
+ reason?: string | null;
8246
+ /**
8247
+ * Request Bytes
8248
+ * @description Body bytes sent, null when none was read.
8249
+ */
8250
+ request_bytes?: number | null;
8251
+ /**
8252
+ * Response Bytes
8253
+ * @description Body bytes received, null when nothing was forwarded.
8254
+ */
8255
+ response_bytes?: number | null;
8256
+ /**
8257
+ * Sandbox Id
8258
+ * @description The environment that sent it, the id `GET /v1/vms/{id}` reads.
8259
+ */
8260
+ sandbox_id?: string | null;
8261
+ /**
8262
+ * Status Code
8263
+ * @description The status the environment received.
8264
+ */
8265
+ status_code?: number | null;
8266
+ /**
8267
+ * Upstream Host
8268
+ * @description The host Ellipsis forwarded it to, null when Ellipsis answered itself.
8269
+ */
8270
+ upstream_host?: string | null;
8271
+ };
8211
8272
  /**
8212
8273
  * PublicFeeSchedule
8213
8274
  * @description Rates in millicents. purchase_fee_fraction is a fraction, for example 0.10.
@@ -10546,6 +10607,22 @@ interface components {
10546
10607
  /** Surface Name */
10547
10608
  surface_name: string | null;
10548
10609
  };
10610
+ /** SessionProxyResponse */
10611
+ SessionProxyResponse: {
10612
+ /**
10613
+ * Has More
10614
+ * @description Whether more results exist past this page.
10615
+ * @default false
10616
+ */
10617
+ has_more: boolean;
10618
+ /**
10619
+ * Next Cursor
10620
+ * @description Pass as `cursor` to fetch the next page. Null on the last page. Opaque — echo it back rather than parsing it.
10621
+ */
10622
+ next_cursor?: string | null;
10623
+ /** Proxy Requests */
10624
+ proxy_requests: components['schemas']['ProxyRequest'][];
10625
+ };
10549
10626
  /** SessionPullRequestReview */
10550
10627
  SessionPullRequestReview: {
10551
10628
  /** Body */
@@ -16159,6 +16236,61 @@ interface operations {
16159
16236
  };
16160
16237
  };
16161
16238
  };
16239
+ get_session_proxy: {
16240
+ parameters: {
16241
+ query?: {
16242
+ limit?: number;
16243
+ /** @description The `next_cursor` of the previous page. */
16244
+ cursor?: string | null;
16245
+ };
16246
+ header?: {
16247
+ 'user-agent'?: string | null;
16248
+ };
16249
+ path: {
16250
+ id: string;
16251
+ };
16252
+ cookie?: never;
16253
+ };
16254
+ requestBody?: never;
16255
+ responses: {
16256
+ /** @description Successful Response */
16257
+ 200: {
16258
+ headers: {
16259
+ [name: string]: unknown;
16260
+ };
16261
+ content: {
16262
+ 'application/json': components['schemas']['SessionProxyResponse'];
16263
+ };
16264
+ };
16265
+ /** @description The bearer token is missing, invalid, or revoked. */
16266
+ 401: {
16267
+ headers: {
16268
+ [name: string]: unknown;
16269
+ };
16270
+ content: {
16271
+ 'application/json': components['schemas']['ErrorResponse'];
16272
+ };
16273
+ };
16274
+ /** @description The credential may not perform this action, or the account is blocked. */
16275
+ 403: {
16276
+ headers: {
16277
+ [name: string]: unknown;
16278
+ };
16279
+ content: {
16280
+ 'application/json': components['schemas']['ErrorResponse'];
16281
+ };
16282
+ };
16283
+ /** @description Validation Error */
16284
+ 422: {
16285
+ headers: {
16286
+ [name: string]: unknown;
16287
+ };
16288
+ content: {
16289
+ 'application/json': components['schemas']['HTTPValidationError'];
16290
+ };
16291
+ };
16292
+ };
16293
+ };
16162
16294
  get_session_records: {
16163
16295
  parameters: {
16164
16296
  query?: {
@@ -17779,7 +17911,7 @@ type EnvironmentSource = 'request' | 'agent' | 'repo_default' | 'account_default
17779
17911
  /**
17780
17912
  * What went wrong.
17781
17913
  */
17782
- type ErrorReason = 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_required' | 'blocked' | 'contact_email_required' | 'lifecycle_hook_failed' | 'missing_repo_access' | 'missing_token_permissions' | 'missing_environment_variables' | 'missing_github_integration' | 'agent_unavailable' | 'upstream_unavailable' | 'unsupported_configuration' | 'execution_disabled' | 'interrupted' | 'stopped';
17914
+ type ErrorReason = 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_required' | 'blocked' | 'contact_email_required' | 'lifecycle_hook_failed' | 'missing_repo_access' | 'missing_token_permissions' | 'missing_environment_variables' | 'missing_github_integration' | 'agent_unavailable' | 'upstream_unavailable' | 'unsupported_configuration' | 'execution_disabled' | 'interrupted' | 'stopped' | 'timeout';
17783
17915
  /**
17784
17916
  * The service the handler responds to.
17785
17917
  */
@@ -17989,29 +18121,27 @@ interface EnvironmentConfig {
17989
18121
  variables: EnvironmentVariable[];
17990
18122
  }
17991
18123
  /**
17992
- * Environment compute sizing. Every field is optional; an omitted field
17993
- * inherits the platform default (2 vCPU / 4096 MiB / 3600s). A resolved value
17994
- * outside the platform bounds fails validation loudly (a sync error on the
17995
- * config) rather than being clamped silently.
18124
+ * The size and lifetime of the environment. Every field is optional. An
18125
+ * omitted field takes the platform default (2 vCPUs, 4096 MiB, a 4h timeout,
18126
+ * 10m idle). A value outside the platform bounds fails validation.
17996
18127
  *
17997
- * `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
17998
- * explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
17999
- * `timeout_seconds` properties resolve either form to the canonical integer
18000
- * the environment is sized with.
18128
+ * `memory` accepts a string such as `8GB` or an object such as `{gb: 8}`.
18129
+ * `timeout` and `idle` accept a duration string such as `30m`, `8h`, or
18130
+ * `1h30m`.
18001
18131
  *
18002
- * `timeout` is the max wall-clock the agent may run in one environment before
18003
- * it is stopped, capped at 1h (equal to the default, so today the knob only
18004
- * shortens a session; the cap matches the 1-hour validity of the session's
18005
- * GitHub token).
18132
+ * `timeout` is the longest one message's work may run before it is stopped,
18133
+ * 1m to 22h, default 4h. The message ends `stopped` with reason `timeout`.
18006
18134
  *
18007
- * Compute currently uses a temporary flat one-cent amount each time an
18008
- * environment is started for a session, subject to the account's existing
18009
- * free-compute exemptions.
18135
+ * `idle` is how long the environment stays awake after the agent finishes
18136
+ * with no message waiting, 10s to 1h, default 10m. Then it pauses, and the
18137
+ * next message resumes it. Only an interactive session pauses. A session
18138
+ * that runs once ends when its message ends.
18010
18139
  */
18011
18140
  interface ComputeConfig {
18012
18141
  cpu: number | null;
18142
+ idle: string | null;
18013
18143
  memory: string | MemorySize | null;
18014
- timeout: string | Duration | null;
18144
+ timeout: string | null;
18015
18145
  }
18016
18146
  /**
18017
18147
  * A memory size as explicit units, summed (binary: 1GB = 1024MB = 1024MiB).
@@ -18022,16 +18152,6 @@ interface MemorySize {
18022
18152
  gb: number | null;
18023
18153
  mb: number | null;
18024
18154
  }
18025
- /**
18026
- * A duration as explicit units, summed. Set any of `hours`/`minutes`/
18027
- * `seconds` (at least one). The alternative to the `30m`-style shorthand
18028
- * string wherever a duration is accepted.
18029
- */
18030
- interface Duration {
18031
- hours: number | null;
18032
- minutes: number | null;
18033
- seconds: number | null;
18034
- }
18035
18155
  /**
18036
18156
  * Environment lifecycle scripts, in order: build_base, after_checkout,
18037
18157
  * before_start, validate. The first two produce reusable snapshots;
@@ -18602,29 +18722,27 @@ interface SessionEnvironment {
18602
18722
  variables: EnvironmentVariable[];
18603
18723
  }
18604
18724
  /**
18605
- * Environment compute sizing. Every field is optional; an omitted field
18606
- * inherits the platform default (2 vCPU / 4096 MiB / 3600s). A resolved value
18607
- * outside the platform bounds fails validation loudly (a sync error on the
18608
- * config) rather than being clamped silently.
18725
+ * The size and lifetime of the environment. Every field is optional. An
18726
+ * omitted field takes the platform default (2 vCPUs, 4096 MiB, a 4h timeout,
18727
+ * 10m idle). A value outside the platform bounds fails validation.
18609
18728
  *
18610
- * `memory` and `timeout` each accept a shorthand string ("8GB", "30m") or an
18611
- * explicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /
18612
- * `timeout_seconds` properties resolve either form to the canonical integer
18613
- * the environment is sized with.
18729
+ * `memory` accepts a string such as `8GB` or an object such as `{gb: 8}`.
18730
+ * `timeout` and `idle` accept a duration string such as `30m`, `8h`, or
18731
+ * `1h30m`.
18614
18732
  *
18615
- * `timeout` is the max wall-clock the agent may run in one environment before
18616
- * it is stopped, capped at 1h (equal to the default, so today the knob only
18617
- * shortens a session; the cap matches the 1-hour validity of the session's
18618
- * GitHub token).
18733
+ * `timeout` is the longest one message's work may run before it is stopped,
18734
+ * 1m to 22h, default 4h. The message ends `stopped` with reason `timeout`.
18619
18735
  *
18620
- * Compute currently uses a temporary flat one-cent amount each time an
18621
- * environment is started for a session, subject to the account's existing
18622
- * free-compute exemptions.
18736
+ * `idle` is how long the environment stays awake after the agent finishes
18737
+ * with no message waiting, 10s to 1h, default 10m. Then it pauses, and the
18738
+ * next message resumes it. Only an interactive session pauses. A session
18739
+ * that runs once ends when its message ends.
18623
18740
  */
18624
18741
  interface ComputeConfig1 {
18625
18742
  cpu: number | null;
18743
+ idle: string | null;
18626
18744
  memory: string | MemorySize | null;
18627
- timeout: string | Duration | null;
18745
+ timeout: string | null;
18628
18746
  }
18629
18747
  /**
18630
18748
  * Environment lifecycle scripts, in order: build_base, after_checkout,
@@ -20445,4 +20563,4 @@ type ReviewsListResponse = components['schemas']['ReviewsListResponse'];
20445
20563
  type ReviewConfig = components['schemas']['ReviewConfig'];
20446
20564
  type ReviewConfigsListResponse = components['schemas']['ReviewConfigsListResponse'];
20447
20565
 
20448
- export type { CodexMcpToolCallResult as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexCommandExecution as D, CodexCommandExecutionItem as E, CodexConfig as F, CodexContextCompaction as G, CodexEffortLevel as H, CodexErrorEvent as I, CodexErrorItem as J, CodexErrorParams as K, CodexEvent as L, CodexFileChange as M, CodexFileChangeItem as N, CodexFileUpdate as O, CodexItem as P, CodexItemCompleted as Q, CodexItemCompletedEvent as R, CodexItemParams as S, CodexItemStarted as T, CodexItemStartedEvent as U, CodexItemUpdatedEvent as V, CodexLocalImageInput as W, CodexMcpToolCall as X, CodexMcpToolCallAppContext as Y, CodexMcpToolCallError as Z, CodexMcpToolCallItem as _, AgentIdentity as a, GeminiToolError as a$, CodexPlan as a0, CodexReasoning as a1, CodexReasoningItem as a2, CodexSessionRecord as a3, CodexSubAgentActivity as a4, CodexTextInput as a5, CodexThread as a6, CodexThreadStarted as a7, CodexThreadStartedEvent as a8, CodexThreadStartedParams as a9, EffortLevel as aA, EllipsisGrant as aB, EllipsisPermissions as aC, EnvironmentBaseBuild as aD, EnvironmentConfig as aE, EnvironmentHooks as aF, EnvironmentHooks1 as aG, EnvironmentOutputPayload as aH, EnvironmentOutputRecord as aI, EnvironmentPhasePayload as aJ, EnvironmentPhaseRecord as aK, EnvironmentReadyPayload as aL, EnvironmentReadyRecord as aM, EnvironmentScript as aN, EnvironmentSource as aO, EnvironmentVariable as aP, ErrorFrame as aQ, ErrorReason as aR, GeminiConfig as aS, GeminiErrorEvent as aT, GeminiInitEvent as aU, GeminiMessageEvent as aV, GeminiModelStats as aW, GeminiResultEvent as aX, GeminiSessionRecord as aY, GeminiStreamEvent as aZ, GeminiStreamStats as a_, CodexThreadTokenUsage as aa, CodexTodoListItem as ab, CodexTokenUsageBreakdown as ac, CodexTokenUsageParams as ad, CodexTokenUsageUpdated as ae, CodexTurn as af, CodexTurnCompleted as ag, CodexTurnCompletedEvent as ah, CodexTurnError as ai, CodexTurnFailedEvent as aj, CodexTurnParams as ak, CodexTurnStarted as al, CodexTurnStartedEvent as am, CodexUsage as an, CodexUserInput as ao, CodexUserMessage as ap, CodexWebSearch as aq, CodexWebSearchItem as ar, ComputeConfig as as, ComputeConfig1 as at, ConfigMetadata as au, Cost as av, Cost1 as aw, CronTrigger as ax, DeltaFrame as ay, Duration as az, AttributionType as b, ReactStatus as b$, GeminiToolResultEvent as b0, GeminiToolUseEvent as b1, GithubAccountFilter as b2, GithubAccountSelector as b3, GithubAccountSnippet as b4, GithubAccountType as b5, GithubCheckRunEvent as b6, GithubCheckSuiteEvent as b7, GithubIssueEvent as b8, GithubPermissions as b9, MessageEndedPayload as bA, MessageEndedRecord as bB, MessageQueuedPayload as bC, MessageQueuedRecord as bD, MessageRecord as bE, MessageRequeuedPayload as bF, MessageRequeuedRecord as bG, MessageStartedPayload as bH, MessageStartedRecord as bI, ModelLlmCostSplit as bJ, ModelTokenCounts as bK, OutputConfig as bL, PermissionsConfig as bM, PermissionsConfig1 as bN, PlatformSessionRecord as bO, PromptBlockedReason as bP, PullRequest as bQ, PullRequestAction as bR, ReactCheckRun as bS, ReactCheckSuite as bT, ReactIssue as bU, ReactLinearIssue as bV, ReactPullRequest as bW, ReactPush as bX, ReactRelease as bY, ReactSentry as bZ, ReactSlackChannel as b_, GithubPullRequestEvent as ba, GithubPushEvent as bb, GithubReleaseEvent as bc, GithubStatusEvent as bd, GithubWorkflowRunEvent as be, HandlerService as bf, HeartbeatFrame as bg, InputContract as bh, IssueAction as bi, LegacyAssistantPayload as bj, LegacyNativeUsage as bk, LegacyResultPayload as bl, Level as bm, LifecycleSessionRecord as bn, LinearIssueAction as bo, LinearIssueChanged as bp, LinearIssueEvent as bq, LinearLabelsChange as br, LinearValueChange as bs, LinearValueFilter as bt, LlmCost as bu, LlmCostSplit as bv, McpRemoteServer as bw, McpServerRef as bx, McpStdioServer as by, MemorySize as bz, components as c, SessionSummarySource as c$, ReactTrigger as c0, ReactWorkflowRun as c1, RecordsFrame as c2, ReleaseAction as c3, RepositoryFilter as c4, RepositoryRef as c5, Review as c6, ReviewComment as c7, ReviewConfig as c8, ReviewConfigsListResponse as c9, SessionConfig as cA, SessionConversation as cB, SessionConversationConfig as cC, SessionEnvironment as cD, SessionError as cE, SessionEventActor as cF, SessionFrame as cG, SessionGit as cH, SessionGitCommit as cI, SessionGitFile as cJ, SessionGitPr as cK, SessionGitRepo as cL, SessionHandler as cM, SessionMessage as cN, SessionMessageImage as cO, SessionMessageResponse as cP, SessionOutput as cQ, SessionParent as cR, SessionPrompting as cS, SessionRecord as cT, SessionRecordsListResponse as cU, SessionResponse as cV, SessionReview as cW, SessionSource as cX, SessionStatus as cY, SessionStreamFrame as cZ, SessionSummary as c_, ReviewReviewer as ca, ReviewSummary as cb, ReviewsListResponse as cc, SdkAssistantRecord as cd, SdkCacheCreation as ce, SdkContentBlock as cf, SdkRateLimitRecord as cg, SdkRecord as ch, SdkResultRecord as ci, SdkServerToolResultBlock as cj, SdkServerToolUseBlock as ck, SdkSystemRecord as cl, SdkTextBlock as cm, SdkThinkingBlock as cn, SdkToolResultBlock as co, SdkToolUseBlock as cp, SdkUserRecord as cq, SendSessionMessageRequest as cr, SentryAction as cs, SentryAlertEvent as ct, Session as cu, SessionAgent as cv, SessionArchived as cw, SessionAttribution as cx, SessionClosedPayload as cy, SessionClosedRecord as cz, CheckSuiteAction as d, SessionsListResponse as d0, SettingsRef as d1, SkillRef as d2, SlackChannelCreatedEvent as d3, SlackMessageEvent as d4, StatusAction as d5, StreamFrame as d6, TokenCounts as d7, Tokens as d8, Tokens1 as d9, TokensInfo as da, UnknownSessionRecord as db, UpdateSessionRequest as dc, WorkflowRunAction as dd, paths as de, ClaudeAssistantEvent as e, ClaudeAssistantMessage as f, ClaudeConfig as g, ClaudeConversationResetEvent as h, ClaudeNativeEvent as i, ClaudeNativeSessionRecord as j, ClaudeNativeUsage as k, ClaudeRateLimitEvent as l, ClaudeRateLimitInfo as m, ClaudeResultEvent as n, ClaudeSessionRecord as o, ClaudeSystemEvent as p, ClaudeUserEvent as q, ClaudeUserMessage as r, CodexAgentMessage as s, CodexAgentMessageItem as t, CodexAppServerError as u, CodexAppServerEvent as v, CodexAppServerItem as w, CodexAppServerNotification as x, CodexAppServerSessionRecord as y, CodexCollabAgentToolCall as z };
20566
+ export type { CodexMcpToolCallResult as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexCommandExecution as D, CodexCommandExecutionItem as E, CodexConfig as F, CodexContextCompaction as G, CodexEffortLevel as H, CodexErrorEvent as I, CodexErrorItem as J, CodexErrorParams as K, CodexEvent as L, CodexFileChange as M, CodexFileChangeItem as N, CodexFileUpdate as O, CodexItem as P, CodexItemCompleted as Q, CodexItemCompletedEvent as R, CodexItemParams as S, CodexItemStarted as T, CodexItemStartedEvent as U, CodexItemUpdatedEvent as V, CodexLocalImageInput as W, CodexMcpToolCall as X, CodexMcpToolCallAppContext as Y, CodexMcpToolCallError as Z, CodexMcpToolCallItem as _, AgentIdentity as a, GeminiToolResultEvent as a$, CodexPlan as a0, CodexReasoning as a1, CodexReasoningItem as a2, CodexSessionRecord as a3, CodexSubAgentActivity as a4, CodexTextInput as a5, CodexThread as a6, CodexThreadStarted as a7, CodexThreadStartedEvent as a8, CodexThreadStartedParams as a9, EllipsisGrant as aA, EllipsisPermissions as aB, EnvironmentBaseBuild as aC, EnvironmentConfig as aD, EnvironmentHooks as aE, EnvironmentHooks1 as aF, EnvironmentOutputPayload as aG, EnvironmentOutputRecord as aH, EnvironmentPhasePayload as aI, EnvironmentPhaseRecord as aJ, EnvironmentReadyPayload as aK, EnvironmentReadyRecord as aL, EnvironmentScript as aM, EnvironmentSource as aN, EnvironmentVariable as aO, ErrorFrame as aP, ErrorReason as aQ, GeminiConfig as aR, GeminiErrorEvent as aS, GeminiInitEvent as aT, GeminiMessageEvent as aU, GeminiModelStats as aV, GeminiResultEvent as aW, GeminiSessionRecord as aX, GeminiStreamEvent as aY, GeminiStreamStats as aZ, GeminiToolError as a_, CodexThreadTokenUsage as aa, CodexTodoListItem as ab, CodexTokenUsageBreakdown as ac, CodexTokenUsageParams as ad, CodexTokenUsageUpdated as ae, CodexTurn as af, CodexTurnCompleted as ag, CodexTurnCompletedEvent as ah, CodexTurnError as ai, CodexTurnFailedEvent as aj, CodexTurnParams as ak, CodexTurnStarted as al, CodexTurnStartedEvent as am, CodexUsage as an, CodexUserInput as ao, CodexUserMessage as ap, CodexWebSearch as aq, CodexWebSearchItem as ar, ComputeConfig as as, ComputeConfig1 as at, ConfigMetadata as au, Cost as av, Cost1 as aw, CronTrigger as ax, DeltaFrame as ay, EffortLevel as az, AttributionType as b, ReactTrigger as b$, GeminiToolUseEvent as b0, GithubAccountFilter as b1, GithubAccountSelector as b2, GithubAccountSnippet as b3, GithubAccountType as b4, GithubCheckRunEvent as b5, GithubCheckSuiteEvent as b6, GithubIssueEvent as b7, GithubPermissions as b8, GithubPullRequestEvent as b9, MessageEndedRecord as bA, MessageQueuedPayload as bB, MessageQueuedRecord as bC, MessageRecord as bD, MessageRequeuedPayload as bE, MessageRequeuedRecord as bF, MessageStartedPayload as bG, MessageStartedRecord as bH, ModelLlmCostSplit as bI, ModelTokenCounts as bJ, OutputConfig as bK, PermissionsConfig as bL, PermissionsConfig1 as bM, PlatformSessionRecord as bN, PromptBlockedReason as bO, PullRequest as bP, PullRequestAction as bQ, ReactCheckRun as bR, ReactCheckSuite as bS, ReactIssue as bT, ReactLinearIssue as bU, ReactPullRequest as bV, ReactPush as bW, ReactRelease as bX, ReactSentry as bY, ReactSlackChannel as bZ, ReactStatus as b_, GithubPushEvent as ba, GithubReleaseEvent as bb, GithubStatusEvent as bc, GithubWorkflowRunEvent as bd, HandlerService as be, HeartbeatFrame as bf, InputContract as bg, IssueAction as bh, LegacyAssistantPayload as bi, LegacyNativeUsage as bj, LegacyResultPayload as bk, Level as bl, LifecycleSessionRecord as bm, LinearIssueAction as bn, LinearIssueChanged as bo, LinearIssueEvent as bp, LinearLabelsChange as bq, LinearValueChange as br, LinearValueFilter as bs, LlmCost as bt, LlmCostSplit as bu, McpRemoteServer as bv, McpServerRef as bw, McpStdioServer as bx, MemorySize as by, MessageEndedPayload as bz, components as c, SessionsListResponse as c$, ReactWorkflowRun as c0, RecordsFrame as c1, ReleaseAction as c2, RepositoryFilter as c3, RepositoryRef as c4, Review as c5, ReviewComment as c6, ReviewConfig as c7, ReviewConfigsListResponse as c8, ReviewReviewer as c9, SessionConversation as cA, SessionConversationConfig as cB, SessionEnvironment as cC, SessionError as cD, SessionEventActor as cE, SessionFrame as cF, SessionGit as cG, SessionGitCommit as cH, SessionGitFile as cI, SessionGitPr as cJ, SessionGitRepo as cK, SessionHandler as cL, SessionMessage as cM, SessionMessageImage as cN, SessionMessageResponse as cO, SessionOutput as cP, SessionParent as cQ, SessionPrompting as cR, SessionRecord as cS, SessionRecordsListResponse as cT, SessionResponse as cU, SessionReview as cV, SessionSource as cW, SessionStatus as cX, SessionStreamFrame as cY, SessionSummary as cZ, SessionSummarySource as c_, ReviewSummary as ca, ReviewsListResponse as cb, SdkAssistantRecord as cc, SdkCacheCreation as cd, SdkContentBlock as ce, SdkRateLimitRecord as cf, SdkRecord as cg, SdkResultRecord as ch, SdkServerToolResultBlock as ci, SdkServerToolUseBlock as cj, SdkSystemRecord as ck, SdkTextBlock as cl, SdkThinkingBlock as cm, SdkToolResultBlock as cn, SdkToolUseBlock as co, SdkUserRecord as cp, SendSessionMessageRequest as cq, SentryAction as cr, SentryAlertEvent as cs, Session as ct, SessionAgent as cu, SessionArchived as cv, SessionAttribution as cw, SessionClosedPayload as cx, SessionClosedRecord as cy, SessionConfig as cz, CheckSuiteAction as d, SettingsRef as d0, SkillRef as d1, SlackChannelCreatedEvent as d2, SlackMessageEvent as d3, StatusAction as d4, StreamFrame as d5, TokenCounts as d6, Tokens as d7, Tokens1 as d8, TokensInfo as d9, UnknownSessionRecord as da, UpdateSessionRequest as db, WorkflowRunAction as dc, paths as dd, ClaudeAssistantEvent as e, ClaudeAssistantMessage as f, ClaudeConfig as g, ClaudeConversationResetEvent as h, ClaudeNativeEvent as i, ClaudeNativeSessionRecord as j, ClaudeNativeUsage as k, ClaudeRateLimitEvent as l, ClaudeRateLimitInfo as m, ClaudeResultEvent as n, ClaudeSessionRecord as o, ClaudeSystemEvent as p, ClaudeUserEvent as q, ClaudeUserMessage as r, CodexAgentMessage as s, CodexAgentMessageItem as t, CodexAppServerError as u, CodexAppServerEvent as v, CodexAppServerItem as w, CodexAppServerNotification as x, CodexAppServerSessionRecord as y, CodexCollabAgentToolCall as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ellipsis-dev/sdk",
3
- "version": "0.43.0",
3
+ "version": "0.44.0",
4
4
  "description": "TypeScript SDK for the Ellipsis agents platform: /v1 REST types + client, the session stream WebSocket client, and the session transcript store.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  "ComputeConfig": {
601
601
  "additionalProperties": false,
602
- "description": "Environment compute sizing. Every field is optional; an omitted field\ninherits the platform default (2 vCPU / 4096 MiB / 3600s). A resolved value\noutside the platform bounds fails validation loudly (a sync error on the\nconfig) rather than being clamped silently.\n\n`memory` and `timeout` each accept a shorthand string (\"8GB\", \"30m\") or an\nexplicit units object ({gb: 8}, {minutes: 30}); the `memory_mib` /\n`timeout_seconds` properties resolve either form to the canonical integer\nthe environment is sized with.\n\n`timeout` is the max wall-clock the agent may run in one environment before\nit is stopped, capped at 1h (equal to the default, so today the knob only\nshortens a session; the cap matches the 1-hour validity of the session's\nGitHub token).\n\nCompute currently uses a temporary flat one-cent amount each time an\nenvironment is started for a session, subject to the account's existing\nfree-compute exemptions.",
602
+ "description": "The size and lifetime of the environment. Every field is optional. An\nomitted field takes the platform default (2 vCPUs, 4096 MiB, a 4h timeout,\n10m idle). A value outside the platform bounds fails validation.\n\n`memory` accepts a string such as `8GB` or an object such as `{gb: 8}`.\n`timeout` and `idle` accept a duration string such as `30m`, `8h`, or\n`1h30m`.\n\n`timeout` is the longest one message's work may run before it is stopped,\n1m to 22h, default 4h. The message ends `stopped` with reason `timeout`.\n\n`idle` is how long the environment stays awake after the agent finishes\nwith no message waiting, 10s to 1h, default 10m. Then it pauses, and the\nnext message resumes it. Only an interactive session pauses. A session\nthat runs once ends when its message ends.",
603
603
  "properties": {
604
604
  "cpu": {
605
605
  "anyOf": [
@@ -615,6 +615,18 @@
615
615
  "default": null,
616
616
  "title": "Cpu"
617
617
  },
618
+ "idle": {
619
+ "anyOf": [
620
+ {
621
+ "type": "string"
622
+ },
623
+ {
624
+ "type": "null"
625
+ }
626
+ ],
627
+ "default": null,
628
+ "title": "Idle"
629
+ },
618
630
  "memory": {
619
631
  "anyOf": [
620
632
  {
@@ -635,9 +647,6 @@
635
647
  {
636
648
  "type": "string"
637
649
  },
638
- {
639
- "$ref": "#/$defs/Duration"
640
- },
641
650
  {
642
651
  "type": "null"
643
652
  }
@@ -648,6 +657,7 @@
648
657
  },
649
658
  "required": [
650
659
  "cpu",
660
+ "idle",
651
661
  "memory",
652
662
  "timeout"
653
663
  ],
@@ -767,58 +777,6 @@
767
777
  "title": "CronTrigger",
768
778
  "type": "object"
769
779
  },
770
- "Duration": {
771
- "additionalProperties": false,
772
- "description": "A duration as explicit units, summed. Set any of `hours`/`minutes`/\n`seconds` (at least one). The alternative to the `30m`-style shorthand\nstring wherever a duration is accepted.",
773
- "properties": {
774
- "hours": {
775
- "anyOf": [
776
- {
777
- "minimum": 0,
778
- "type": "integer"
779
- },
780
- {
781
- "type": "null"
782
- }
783
- ],
784
- "default": null,
785
- "title": "Hours"
786
- },
787
- "minutes": {
788
- "anyOf": [
789
- {
790
- "minimum": 0,
791
- "type": "integer"
792
- },
793
- {
794
- "type": "null"
795
- }
796
- ],
797
- "default": null,
798
- "title": "Minutes"
799
- },
800
- "seconds": {
801
- "anyOf": [
802
- {
803
- "minimum": 0,
804
- "type": "integer"
805
- },
806
- {
807
- "type": "null"
808
- }
809
- ],
810
- "default": null,
811
- "title": "Seconds"
812
- }
813
- },
814
- "required": [
815
- "hours",
816
- "minutes",
817
- "seconds"
818
- ],
819
- "title": "Duration",
820
- "type": "object"
821
- },
822
780
  "EffortLevel": {
823
781
  "enum": [
824
782
  "low",
@@ -933,6 +891,7 @@
933
891
  "$ref": "#/$defs/ComputeConfig",
934
892
  "default": {
935
893
  "cpu": null,
894
+ "idle": null,
936
895
  "memory": null,
937
896
  "timeout": null
938
897
  }
@@ -1178,7 +1137,8 @@
1178
1137
  "unsupported_configuration",
1179
1138
  "execution_disabled",
1180
1139
  "interrupted",
1181
- "stopped"
1140
+ "stopped",
1141
+ "timeout"
1182
1142
  ],
1183
1143
  "title": "ErrorReason",
1184
1144
  "type": "string"
@@ -4370,6 +4330,7 @@
4370
4330
  "default": {
4371
4331
  "compute": {
4372
4332
  "cpu": null,
4333
+ "idle": null,
4373
4334
  "memory": null,
4374
4335
  "timeout": null
4375
4336
  },
@@ -4504,6 +4465,7 @@
4504
4465
  "$ref": "#/$defs/ComputeConfig",
4505
4466
  "default": {
4506
4467
  "cpu": null,
4468
+ "idle": null,
4507
4469
  "memory": null,
4508
4470
  "timeout": null
4509
4471
  }