@ellipsis-dev/sdk 0.33.0 → 0.34.1

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.
@@ -1,5 +1,5 @@
1
1
  // src/stream/index.ts
2
- var SESSION_STREAM_PROTOCOL_VERSION = 6;
2
+ var SESSION_STREAM_PROTOCOL_VERSION = 7;
3
3
  var WS_CLOSE_NORMAL = 1e3;
4
4
  var WS_CLOSE_GOING_AWAY = 1001;
5
5
  var WS_CLOSE_UNSUPPORTED_PROTOCOL_VERSION = 1002;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { c as components } from './types-CtvhpMyt.js';
2
- export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCommandExecution, D as CodexCommandExecutionItem, E as CodexConfig, F as CodexContextCompaction, G as CodexEffortLevel, H as CodexErrorEvent, I as CodexErrorItem, J as CodexErrorParams, K as CodexEvent, L as CodexFileChange, M as CodexFileChangeItem, N as CodexFileUpdate, O as CodexItem, P as CodexItemCompleted, Q as CodexItemCompletedEvent, R as CodexItemParams, S as CodexItemStarted, T as CodexItemStartedEvent, U as CodexItemUpdatedEvent, V as CodexLocalImageInput, W as CodexMcpToolCall, X as CodexMcpToolCallAppContext, Y as CodexMcpToolCallError, Z as CodexMcpToolCallItem, _ as CodexMcpToolCallResult, $ as CodexPlan, a0 as CodexReasoning, a1 as CodexReasoningItem, a2 as CodexSessionRecord, a3 as CodexTextInput, a4 as CodexThread, a5 as CodexThreadStarted, a6 as CodexThreadStartedEvent, a7 as CodexThreadStartedParams, a8 as CodexThreadTokenUsage, a9 as CodexTodoListItem, aa as CodexTokenUsageBreakdown, ab as CodexTokenUsageParams, ac as CodexTokenUsageUpdated, ad as CodexTurn, ae as CodexTurnCompleted, af as CodexTurnCompletedEvent, ag as CodexTurnError, ah as CodexTurnFailedEvent, ai as CodexTurnParams, aj as CodexTurnStarted, ak as CodexTurnStartedEvent, al as CodexUsage, am as CodexUserInput, an as CodexUserMessage, ao as CodexWebSearch, ap as CodexWebSearchItem, aq as ComputeConfig, ar as ComputeConfig1, as as ConfigMetadata, at as Cost, au as Cost1, av as CronTrigger, aw as DeltaFrame, ax as DoneFrame, ay as Duration, az as EffortLevel, aA as EllipsisGrant, aB as EllipsisPermissions, aC as EnvironmentBaseBuild, aD as EnvironmentConfig, aE as EnvironmentHooks, aF as EnvironmentHooks1, aG as EnvironmentOutputPayload, aH as EnvironmentOutputRecord, aI as EnvironmentPhasePayload, aJ as EnvironmentPhaseRecord, aK as EnvironmentReadyPayload, aL as EnvironmentReadyRecord, aM as EnvironmentScript, aN as EnvironmentSource, aO as EnvironmentVariable, aP as ErrorFrame, aQ as GithubAccountFilter, aR as GithubAccountSelector, aS as GithubAccountSnippet, aT as GithubAccountType, aU as GithubCheckRunEvent, aV as GithubCheckSuiteEvent, aW as GithubIssueEvent, aX as GithubPermissions, aY as GithubPullRequestEvent, aZ as GithubPushEvent, a_ as GithubReleaseEvent, a$ as GithubStatusEvent, b0 as GithubWorkflowRunEvent, b1 as HandlerService, b2 as HeartbeatFrame, b3 as InputContract, b4 as IssueAction, b5 as LegacyAssistantPayload, b6 as LegacyNativeUsage, b7 as LegacyResultPayload, b8 as Level, b9 as LifecycleSessionRecord, ba as LinearIssueAction, bb as LinearIssueEvent, bc as LlmCost, bd as LlmCostSplit, be as McpRemoteServer, bf as McpServerRef, bg as McpStdioServer, bh as MemorySize, bi as MessageDeliveredPayload, bj as MessageDeliveredRecord, bk as MessageReceivedPayload, bl as MessageReceivedRecord, bm as MessageRequeuedPayload, bn as MessageRequeuedRecord, bo as ModelLlmCostSplit, bp as ModelTokenCounts, bq as OutputConfig, br as PermissionsConfig, bs as PermissionsConfig1, bt as PlatformSessionRecord, bu as PromptBlockedReason, bv as PullRequestAction, bw as ReactCheckRun, bx as ReactCheckSuite, by as ReactIssue, bz as ReactLinearIssue, bA as ReactPullRequest, bB as ReactPush, bC as ReactRelease, bD as ReactSentry, bE as ReactSlackChannel, bF as ReactStatus, bG as ReactTrigger, bH as ReactWorkflowRun, bI as RecordsAppendFrame, bJ as ReleaseAction, bK as RepositoryFilter, bL as RepositoryRef, bM as Review, bN as ReviewComment, bO as ReviewConfig, bP as ReviewConfigsListResponse, bQ as ReviewPullRequest, bR as ReviewPullRequestAuthor, bS as ReviewReviewer, bT as ReviewSummary, bU as ReviewsListResponse, bV as SdkAssistantRecord, bW as SdkCacheCreation, bX as SdkContentBlock, bY as SdkRateLimitRecord, bZ as SdkRecord, b_ as SdkResultRecord, b$ as SdkServerToolResultBlock, c0 as SdkServerToolUseBlock, c1 as SdkSystemRecord, c2 as SdkTextBlock, c3 as SdkThinkingBlock, c4 as SdkToolResultBlock, c5 as SdkToolUseBlock, c6 as SdkUserRecord, c7 as SendSessionMessageRequest, c8 as SentryAction, c9 as SentryAlertEvent, ca as Session, cb as Session1, cc as SessionAgent, cd as SessionArchived, ce as SessionAttribution, cf as SessionClosedPayload, cg as SessionClosedRecord, ch as SessionConfig, ci as SessionConversation, cj as SessionConversationConfig, ck as SessionEnvironment, cl as SessionEventActor, cm as SessionFrame, cn as SessionGit, co as SessionGitCommit, cp as SessionGitFile, cq as SessionGitPr, cr as SessionGitRepo, cs as SessionHandler, ct as SessionMessage, cu as SessionMessageImage, cv as SessionMessageResponse, cw as SessionMessageStatus, cx as SessionOutput, cy as SessionParent, cz as SessionPrompting, cA as SessionRecord, cB as SessionRecordsListResponse, cC as SessionResponse, cD as SessionSource, cE as SessionState, cF as SessionStopped, cG as SessionStreamFrame, cH as SessionSummary, cI as SessionTurn, cJ as SessionTurnResponse, cK as SessionTurnsListResponse, cL as SessionsListResponse, cM as SettingsRef, cN as SkillRef, cO as SlackChannelCreatedEvent, cP as SlackMessageEvent, cQ as SnapshotFrame, cR as StatusAction, cS as StreamFrame, cT as TokenCounts, cU as Tokens, cV as Tokens1, cW as TokensInfo, cX as TurnEndedPayload, cY as TurnEndedRecord, cZ as TurnReason, c_ as TurnStartedPayload, c$ as TurnStartedRecord, d0 as TurnStatus, d1 as UnknownSessionRecord, d2 as UpdateSessionRequest, d3 as WorkflowRunAction, d4 as paths } from './types-CtvhpMyt.js';
1
+ import { c as components } from './types-DV2H5ZsR.js';
2
+ export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCommandExecution, D as CodexCommandExecutionItem, E as CodexConfig, F as CodexContextCompaction, G as CodexEffortLevel, H as CodexErrorEvent, I as CodexErrorItem, J as CodexErrorParams, K as CodexEvent, L as CodexFileChange, M as CodexFileChangeItem, N as CodexFileUpdate, O as CodexItem, P as CodexItemCompleted, Q as CodexItemCompletedEvent, R as CodexItemParams, S as CodexItemStarted, T as CodexItemStartedEvent, U as CodexItemUpdatedEvent, V as CodexLocalImageInput, W as CodexMcpToolCall, X as CodexMcpToolCallAppContext, Y as CodexMcpToolCallError, Z as CodexMcpToolCallItem, _ as CodexMcpToolCallResult, $ as CodexPlan, a0 as CodexReasoning, a1 as CodexReasoningItem, a2 as CodexSessionRecord, a3 as CodexTextInput, a4 as CodexThread, a5 as CodexThreadStarted, a6 as CodexThreadStartedEvent, a7 as CodexThreadStartedParams, a8 as CodexThreadTokenUsage, a9 as CodexTodoListItem, aa as CodexTokenUsageBreakdown, ab as CodexTokenUsageParams, ac as CodexTokenUsageUpdated, ad as CodexTurn, ae as CodexTurnCompleted, af as CodexTurnCompletedEvent, ag as CodexTurnError, ah as CodexTurnFailedEvent, ai as CodexTurnParams, aj as CodexTurnStarted, ak as CodexTurnStartedEvent, al as CodexUsage, am as CodexUserInput, an as CodexUserMessage, ao as CodexWebSearch, ap as CodexWebSearchItem, aq as ComputeConfig, ar as ComputeConfig1, as as ConfigMetadata, at as Cost, au as Cost1, av as CronTrigger, aw as DeltaFrame, ax as DoneFrame, ay as Duration, az as EffortLevel, aA as EllipsisGrant, aB as EllipsisPermissions, aC as EnvironmentBaseBuild, aD as EnvironmentConfig, aE as EnvironmentHooks, aF as EnvironmentHooks1, aG as EnvironmentOutputPayload, aH as EnvironmentOutputRecord, aI as EnvironmentPhasePayload, aJ as EnvironmentPhaseRecord, aK as EnvironmentReadyPayload, aL as EnvironmentReadyRecord, aM as EnvironmentScript, aN as EnvironmentSource, aO as EnvironmentVariable, aP as ErrorFrame, aQ as GithubAccountFilter, aR as GithubAccountSelector, aS as GithubAccountSnippet, aT as GithubAccountType, aU as GithubCheckRunEvent, aV as GithubCheckSuiteEvent, aW as GithubIssueEvent, aX as GithubPermissions, aY as GithubPullRequestEvent, aZ as GithubPushEvent, a_ as GithubReleaseEvent, a$ as GithubStatusEvent, b0 as GithubWorkflowRunEvent, b1 as HandlerService, b2 as HeartbeatFrame, b3 as InputContract, b4 as IssueAction, b5 as LegacyAssistantPayload, b6 as LegacyNativeUsage, b7 as LegacyResultPayload, b8 as Level, b9 as LifecycleSessionRecord, ba as LinearIssueAction, bb as LinearIssueEvent, bc as LlmCost, bd as LlmCostSplit, be as McpRemoteServer, bf as McpServerRef, bg as McpStdioServer, bh as MemorySize, bi as MessageDeliveredPayload, bj as MessageDeliveredRecord, bk as MessageReceivedPayload, bl as MessageReceivedRecord, bm as MessageRequeuedPayload, bn as MessageRequeuedRecord, bo as ModelLlmCostSplit, bp as ModelTokenCounts, bq as OutputConfig, br as PermissionsConfig, bs as PermissionsConfig1, bt as PlatformSessionRecord, bu as PromptBlockedReason, bv as PullRequestAction, bw as ReactCheckRun, bx as ReactCheckSuite, by as ReactIssue, bz as ReactLinearIssue, bA as ReactPullRequest, bB as ReactPush, bC as ReactRelease, bD as ReactSentry, bE as ReactSlackChannel, bF as ReactStatus, bG as ReactTrigger, bH as ReactWorkflowRun, bI as RecordsAppendFrame, bJ as ReleaseAction, bK as RepositoryFilter, bL as RepositoryRef, bM as Review, bN as ReviewComment, bO as ReviewConfig, bP as ReviewConfigsListResponse, bQ as ReviewPullRequest, bR as ReviewPullRequestAuthor, bS as ReviewReviewer, bT as ReviewSummary, bU as ReviewsListResponse, bV as SdkAssistantRecord, bW as SdkCacheCreation, bX as SdkContentBlock, bY as SdkRateLimitRecord, bZ as SdkRecord, b_ as SdkResultRecord, b$ as SdkServerToolResultBlock, c0 as SdkServerToolUseBlock, c1 as SdkSystemRecord, c2 as SdkTextBlock, c3 as SdkThinkingBlock, c4 as SdkToolResultBlock, c5 as SdkToolUseBlock, c6 as SdkUserRecord, c7 as SendSessionMessageRequest, c8 as SentryAction, c9 as SentryAlertEvent, ca as Session, cb as Session1, cc as SessionAgent, cd as SessionArchived, ce as SessionAttribution, cf as SessionClosedPayload, cg as SessionClosedRecord, ch as SessionConfig, ci as SessionConversation, cj as SessionConversationConfig, ck as SessionEnvironment, cl as SessionEventActor, cm as SessionFrame, cn as SessionGit, co as SessionGitCommit, cp as SessionGitFile, cq as SessionGitPr, cr as SessionGitRepo, cs as SessionHandler, ct as SessionMessage, cu as SessionMessageImage, cv as SessionMessageResponse, cw as SessionMessageStatus, cx as SessionOutput, cy as SessionParent, cz as SessionPrompting, cA as SessionRecord, cB as SessionRecordsListResponse, cC as SessionResponse, cD as SessionSource, cE as SessionState, cF as SessionStopped, cG as SessionStreamFrame, cH as SessionSummary, cI as SessionTurn, cJ as SessionTurnResponse, cK as SessionTurnsListResponse, cL as SessionsListResponse, cM as SettingsRef, cN as SkillRef, cO as SlackChannelCreatedEvent, cP as SlackMessageEvent, cQ as SnapshotFrame, cR as StatusAction, cS as StreamFrame, cT as TokenCounts, cU as Tokens, cV as Tokens1, cW as TokensInfo, cX as TurnEndedPayload, cY as TurnEndedRecord, cZ as TurnQueuedPayload, c_ as TurnQueuedRecord, c$ as TurnReason, d0 as TurnStartedPayload, d1 as TurnStartedRecord, d2 as TurnStatus, d3 as UnknownSessionRecord, d4 as UpdateSessionRequest, d5 as WorkflowRunAction, d6 as paths } from './types-DV2H5ZsR.js';
3
3
 
4
4
  /**
5
5
  * Frames on /v1/sessions/stream, /v1/agents/stream and /v1/vm-executions/{id}/stream. Ignore unknown frame types.
@@ -221,7 +221,7 @@ type TurnReason = 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_require
221
221
  /**
222
222
  * Where the turn is.
223
223
  */
224
- type TurnStatus = 'pending' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
224
+ type TurnStatus = 'queued' | 'preparing' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
225
225
  /**
226
226
  * 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.
227
227
  */
@@ -1339,10 +1339,10 @@ interface ModelTokenCounts {
1339
1339
  total: number;
1340
1340
  }
1341
1341
  /**
1342
- * One message and the agent's answer to it. A turn is `pending` from the
1343
- * moment its message is received until the agent starts on it, `running`
1344
- * while the agent works, then `completed`, `failed`, `stopped`, or
1345
- * `cancelled`.
1342
+ * One message and the agent's answer to it. A turn is `queued` from the
1343
+ * moment its message is received, `preparing` while its environment is set
1344
+ * up, `running` while the agent works, then `completed`, `failed`,
1345
+ * `stopped`, or `cancelled`.
1346
1346
  */
1347
1347
  interface SessionTurn {
1348
1348
  cost: Cost1;
@@ -1351,7 +1351,7 @@ interface SessionTurn {
1351
1351
  */
1352
1352
  created_at: string;
1353
1353
  /**
1354
- * A human-readable explanation of a failed, stopped, or cancelled turn.
1354
+ * A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.
1355
1355
  */
1356
1356
  detail: string | null;
1357
1357
  /**
@@ -2073,8 +2073,7 @@ declare class EllipsisAccount {
2073
2073
  * Budgets cover the trailing 1, 7 and 28 days; they do not replenish
2074
2074
  * prepaid credit. Amounts include measured usage from active sessions.
2075
2075
  * Each paid LLM request requires positive credit and budget headroom.
2076
- * An admitted request can overshoot; concurrent paid requests are limited
2077
- * by your account and per-session allowances.
2076
+ * An admitted request can overshoot.
2078
2077
  *
2079
2078
  * Required permissions: read:account.
2080
2079
  * API key: Supported.
@@ -3263,7 +3262,7 @@ declare class EllipsisSessions {
3263
3262
  * Stop the turn in progress and return the session.
3264
3263
  *
3265
3264
  * The turn ends `stopped`; the conversation stays open. 409 when no
3266
- * turn is pending or running. The stopping user is recorded only
3265
+ * turn is queued, preparing, or running. The stopping user is recorded only
3267
3266
  * when the caller's credential maps to a GitHub account.
3268
3267
  *
3269
3268
  * Required permissions: write:sessions.
package/dist/index.js CHANGED
@@ -721,8 +721,7 @@ var EllipsisAccount = class {
721
721
  * Budgets cover the trailing 1, 7 and 28 days; they do not replenish
722
722
  * prepaid credit. Amounts include measured usage from active sessions.
723
723
  * Each paid LLM request requires positive credit and budget headroom.
724
- * An admitted request can overshoot; concurrent paid requests are limited
725
- * by your account and per-session allowances.
724
+ * An admitted request can overshoot.
726
725
  *
727
726
  * Required permissions: read:account.
728
727
  * API key: Supported.
@@ -2057,7 +2056,7 @@ var EllipsisSessions = class {
2057
2056
  * Stop the turn in progress and return the session.
2058
2057
  *
2059
2058
  * The turn ends `stopped`; the conversation stays open. 409 when no
2060
- * turn is pending or running. The stopping user is recorded only
2059
+ * turn is queued, preparing, or running. The stopping user is recorded only
2061
2060
  * when the caller's credential maps to a GitHub account.
2062
2061
  *
2063
2062
  * Required permissions: write:sessions.
@@ -1,4 +1,4 @@
1
- import { s as CodexAgentMessage, cA as SessionRecord, M as CodexFileChangeItem, K as CodexEvent, Z as CodexMcpToolCallItem, bZ as SdkRecord, ca as Session, ct as SessionMessage, cS as StreamFrame } from '../types-CtvhpMyt.js';
1
+ import { s as CodexAgentMessage, cA as SessionRecord, M as CodexFileChangeItem, K as CodexEvent, Z as CodexMcpToolCallItem, bZ as SdkRecord, ca as Session, ct as SessionMessage, cS as StreamFrame } from '../types-DV2H5ZsR.js';
2
2
 
3
3
  type WorkPhase = 'queued' | 'preparing' | 'starting' | 'working';
4
4
  interface TurnTiming {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SESSION_STREAM_PROTOCOL_VERSION
3
- } from "../chunk-G2AEYZW2.js";
3
+ } from "../chunk-6V7QTLLF.js";
4
4
 
5
5
  // src/store/claude.ts
6
6
  function claudePayload(record) {
@@ -316,6 +316,8 @@ function lifecycleText(recordType, payload) {
316
316
  if (duration) parts.push(duration);
317
317
  return parts.join(", ");
318
318
  }
319
+ case "turn_queued":
320
+ return typeof payload.limit === "number" ? `Waiting because ${payload.limit} sessions are already alive on this account` : null;
319
321
  case "turn_ended":
320
322
  return turnEndedText(payload);
321
323
  case "session_closed":
@@ -719,7 +721,7 @@ function foldCosts(events) {
719
721
  }
720
722
  function statusActivityText(status) {
721
723
  switch (status) {
722
- case "pending":
724
+ case "queued":
723
725
  return "Waiting to start";
724
726
  default:
725
727
  return null;
@@ -1,6 +1,6 @@
1
- import { cS as StreamFrame, ca as Session } from '../types-CtvhpMyt.js';
1
+ import { cS as StreamFrame, ca as Session } from '../types-DV2H5ZsR.js';
2
2
 
3
- declare const SESSION_STREAM_PROTOCOL_VERSION = 6;
3
+ declare const SESSION_STREAM_PROTOCOL_VERSION = 7;
4
4
  declare const WS_CLOSE_NORMAL = 1000;
5
5
  declare const WS_CLOSE_GOING_AWAY = 1001;
6
6
  declare const WS_CLOSE_UNSUPPORTED_PROTOCOL_VERSION = 1002;
@@ -15,7 +15,7 @@ import {
15
15
  sessionStatusWord,
16
16
  streamQuery,
17
17
  streamSession
18
- } from "../chunk-G2AEYZW2.js";
18
+ } from "../chunk-6V7QTLLF.js";
19
19
  export {
20
20
  SESSION_STREAM_PROTOCOL_VERSION,
21
21
  StreamAuthError,
@@ -331,8 +331,7 @@ interface paths {
331
331
  * Budgets cover the trailing 1, 7 and 28 days; they do not replenish
332
332
  * prepaid credit. Amounts include measured usage from active sessions.
333
333
  * Each paid LLM request requires positive credit and budget headroom.
334
- * An admitted request can overshoot; concurrent paid requests are limited
335
- * by your account and per-session allowances.
334
+ * An admitted request can overshoot.
336
335
  */
337
336
  get: operations['get_account_budget'];
338
337
  put?: never;
@@ -1711,7 +1710,7 @@ interface paths {
1711
1710
  * @description Stop the turn in progress and return the session.
1712
1711
  *
1713
1712
  * The turn ends `stopped`; the conversation stays open. 409 when no
1714
- * turn is pending or running. The stopping user is recorded only
1713
+ * turn is queued, preparing, or running. The stopping user is recorded only
1715
1714
  * when the caller's credential maps to a GitHub account.
1716
1715
  */
1717
1716
  post: operations['stop_session'];
@@ -3371,8 +3370,7 @@ interface components {
3371
3370
  *
3372
3371
  * Budget windows roll continuously; they are not monthly credit renewals.
3373
3372
  * Amounts are in millicents and may be negative after overshoot.
3374
- * One admitted request can exceed a limit. Concurrent paid requests are bounded by
3375
- * the account and per-session platform allowances.
3373
+ * One admitted request can exceed a limit.
3376
3374
  */
3377
3375
  BudgetSummary: {
3378
3376
  alerts: components['schemas']['BudgetAlerts'];
@@ -8141,7 +8139,7 @@ interface components {
8141
8139
  /**
8142
8140
  * MessageRequeuedPayload
8143
8141
  * @description message_requeued: a turn was interrupted before answering, so the
8144
- * message goes back to the inbox with a new pending turn.
8142
+ * message goes back to the inbox with a new queued turn.
8145
8143
  */
8146
8144
  MessageRequeuedPayload: {
8147
8145
  /** Message Id */
@@ -8487,7 +8485,7 @@ interface components {
8487
8485
  /** @default {} */
8488
8486
  github: components['schemas']['GithubPermissions-Output'];
8489
8487
  };
8490
- PlatformSessionRecord: components['schemas']['SessionClosedRecord'] | components['schemas']['MessageReceivedRecord'] | components['schemas']['MessageDeliveredRecord'] | components['schemas']['MessageRequeuedRecord'] | components['schemas']['TurnStartedRecord'] | components['schemas']['TurnEndedRecord'] | components['schemas']['EnvironmentPhaseRecord'] | components['schemas']['EnvironmentOutputRecord'] | components['schemas']['EnvironmentReadyRecord'];
8488
+ PlatformSessionRecord: components['schemas']['SessionClosedRecord'] | components['schemas']['MessageReceivedRecord'] | components['schemas']['MessageDeliveredRecord'] | components['schemas']['MessageRequeuedRecord'] | components['schemas']['TurnQueuedRecord'] | components['schemas']['TurnStartedRecord'] | components['schemas']['TurnEndedRecord'] | components['schemas']['EnvironmentPhaseRecord'] | components['schemas']['EnvironmentOutputRecord'] | components['schemas']['EnvironmentReadyRecord'];
8491
8489
  /**
8492
8490
  * PollCliAuthResponse
8493
8491
  * @description The state of a device-code flow. Poll until `status` leaves `pending`.
@@ -11729,10 +11727,10 @@ interface components {
11729
11727
  };
11730
11728
  /**
11731
11729
  * SessionTurn
11732
- * @description One message and the agent's answer to it. A turn is `pending` from the
11733
- * moment its message is received until the agent starts on it, `running`
11734
- * while the agent works, then `completed`, `failed`, `stopped`, or
11735
- * `cancelled`.
11730
+ * @description One message and the agent's answer to it. A turn is `queued` from the
11731
+ * moment its message is received, `preparing` while its environment is set
11732
+ * up, `running` while the agent works, then `completed`, `failed`,
11733
+ * `stopped`, or `cancelled`.
11736
11734
  */
11737
11735
  SessionTurn: {
11738
11736
  /** @description What the turn cost so far, in millicents, broken down by leg. */
@@ -11745,7 +11743,7 @@ interface components {
11745
11743
  created_at: string;
11746
11744
  /**
11747
11745
  * Detail
11748
- * @description A human-readable explanation of a failed, stopped, or cancelled turn.
11746
+ * @description A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.
11749
11747
  */
11750
11748
  detail: string | null;
11751
11749
  /**
@@ -12789,6 +12787,87 @@ interface components {
12789
12787
  */
12790
12788
  turn_id: string | null;
12791
12789
  };
12790
+ /**
12791
+ * TurnQueuedPayload
12792
+ * @description turn_queued: the turn waits because the account already has
12793
+ * `sessions_alive` sessions alive, its limit.
12794
+ */
12795
+ TurnQueuedPayload: {
12796
+ /** Limit */
12797
+ limit: number;
12798
+ /** Sessions Alive */
12799
+ sessions_alive: number;
12800
+ /** Turn Id */
12801
+ turn_id: string;
12802
+ } & {
12803
+ [key: string]: unknown;
12804
+ };
12805
+ /** TurnQueuedRecord */
12806
+ TurnQueuedRecord: {
12807
+ /** Cost */
12808
+ cost: number | null;
12809
+ /**
12810
+ * Created At
12811
+ * Format: date-time
12812
+ */
12813
+ created_at: string;
12814
+ /** Duration */
12815
+ duration: number | null;
12816
+ /**
12817
+ * Feed Seq
12818
+ * @description Position in the session feed and the stream's resume cursor.
12819
+ */
12820
+ feed_seq: number;
12821
+ /**
12822
+ * Id
12823
+ * @description Unique identifier of the record.
12824
+ */
12825
+ id: string;
12826
+ /**
12827
+ * Kind
12828
+ * @default platform
12829
+ * @constant
12830
+ */
12831
+ kind: 'platform';
12832
+ /** Model */
12833
+ model: string | null;
12834
+ payload: components['schemas']['TurnQueuedPayload'];
12835
+ /**
12836
+ * Record Format
12837
+ * @default ellipsis_lifecycle@1
12838
+ * @constant
12839
+ */
12840
+ record_format: 'ellipsis_lifecycle@1';
12841
+ /**
12842
+ * @description discriminator enum property added by openapi-typescript
12843
+ * @enum {string}
12844
+ */
12845
+ record_type: 'turn_queued';
12846
+ /**
12847
+ * Session Id
12848
+ * @description Session containing this record.
12849
+ */
12850
+ session_id: string;
12851
+ /**
12852
+ * Session Message Id
12853
+ * @description Message this record receives, delivers, requeues, or echoes.
12854
+ */
12855
+ session_message_id: string | null;
12856
+ /**
12857
+ * Source
12858
+ * @default lifecycle
12859
+ * @constant
12860
+ */
12861
+ source: 'lifecycle';
12862
+ tokens_info: components['schemas']['TokensInfo'] | null;
12863
+ /** Tools */
12864
+ tools: string[] | null;
12865
+ /**
12866
+ * Turn Id
12867
+ * @description Turn containing this record, when applicable.
12868
+ */
12869
+ turn_id: string | null;
12870
+ };
12792
12871
  /**
12793
12872
  * TurnReason
12794
12873
  * @description Why a turn failed or was cancelled. Null on every other outcome.
@@ -12875,15 +12954,15 @@ interface components {
12875
12954
  };
12876
12955
  /**
12877
12956
  * TurnStatus
12878
- * @description Where one turn is: queued for an agent, being answered, or over.
12957
+ * @description Where one turn is: waiting, preparing, being answered, or over.
12879
12958
  *
12880
- * `pending` covers everything before the agent starts on the message: queued
12881
- * behind another turn, waiting to start, or preparing the environment.
12882
- * `stopped` and `cancelled` are their own outcomes; `reason` explains a
12959
+ * `queued` turns wait to start, behind another turn or for a free session
12960
+ * slot on the account. `preparing` turns wait while the environment is set
12961
+ * up. `stopped` and `cancelled` are their own outcomes; `reason` explains a
12883
12962
  * `failed` or `cancelled` turn.
12884
12963
  * @enum {string}
12885
12964
  */
12886
- TurnStatus: 'pending' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
12965
+ TurnStatus: 'queued' | 'preparing' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
12887
12966
  /** UninstallGithubAppRequest */
12888
12967
  UninstallGithubAppRequest: {
12889
12968
  /** Confirm Account Login */
@@ -13049,7 +13128,7 @@ interface components {
13049
13128
  VM: {
13050
13129
  /**
13051
13130
  * Id
13052
- * @description Freestyle VM ID, shared across session resumes.
13131
+ * @description The VM id, shared across session resumes.
13053
13132
  */
13054
13133
  id: string;
13055
13134
  /** @description Most recent execution using this machine; its timestamps and costs describe that execution. */
@@ -13142,7 +13221,7 @@ interface components {
13142
13221
  repositories: components['schemas']['SandboxRepository'][];
13143
13222
  /**
13144
13223
  * Snapshot Id
13145
- * @description Freestyle snapshot backing this reusable VM image.
13224
+ * @description The snapshot this reusable VM image boots from.
13146
13225
  */
13147
13226
  snapshot_id: string;
13148
13227
  source: components['schemas']['VMImageSource'];
@@ -17507,7 +17586,7 @@ interface operations {
17507
17586
  author_id?: number | null;
17508
17587
  /** @description "owner/name" (exact) or a bare repo name. Sessions whose repository is named only inside their agent — dashboard starts, cron — do not match. */
17509
17588
  repo?: string | null;
17510
- /** @description Keep only sessions whose current turn is pending or running. */
17589
+ /** @description Keep only sessions whose current turn is queued, preparing, or running. */
17511
17590
  unfinished?: boolean;
17512
17591
  };
17513
17592
  header?: {
@@ -18336,7 +18415,7 @@ interface operations {
18336
18415
  'application/json': components['schemas']['ErrorResponse'];
18337
18416
  };
18338
18417
  };
18339
- /** @description No turn is pending or running. */
18418
+ /** @description No turn is queued, preparing, or running. */
18340
18419
  409: {
18341
18420
  headers: {
18342
18421
  [name: string]: unknown;
@@ -20256,7 +20335,7 @@ interface operations {
20256
20335
  }
20257
20336
 
20258
20337
  /**
20259
- * One server-to-client frame of the Ellipsis session stream protocol v6 (WS /v1/sessions/{id}/stream?protocol=6). Clients MUST ignore frames with unknown `type` values — additive frames are not a protocol break.
20338
+ * One server-to-client frame of the Ellipsis session stream protocol v7 (WS /v1/sessions/{id}/stream?protocol=7). Clients MUST ignore frames with unknown `type` values — additive frames are not a protocol break.
20260
20339
  */
20261
20340
  type SessionStreamFrame = SnapshotFrame | RecordsAppendFrame | SessionFrame | DeltaFrame | HeartbeatFrame | DoneFrame | ErrorFrame;
20262
20341
  type AttributionType = 'github_user' | 'linear_user' | 'slack_user' | 'api_key';
@@ -20476,12 +20555,12 @@ type TurnReason = 'error' | 'tool_call_failed' | 'budget_hit' | 'payment_require
20476
20555
  /**
20477
20556
  * Where the turn is.
20478
20557
  */
20479
- type TurnStatus = 'pending' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
20558
+ type TurnStatus = 'queued' | 'preparing' | 'running' | 'completed' | 'failed' | 'stopped' | 'cancelled';
20480
20559
  type SessionRecord$1 = ClaudeSessionRecord | ClaudeNativeSessionRecord | CodexSessionRecord | CodexAppServerSessionRecord | PlatformSessionRecord | UnknownSessionRecord;
20481
20560
  type CodexAppServerNotification = CodexThreadStarted | CodexTurnStarted | CodexTurnCompleted | CodexItemStarted | CodexItemCompleted | CodexTokenUsageUpdated | CodexAppServerError;
20482
20561
  type CodexAppServerItem = CodexUserMessage | CodexAgentMessage | CodexReasoning | CodexPlan | CodexCommandExecution | CodexFileChange | CodexWebSearch | CodexMcpToolCall | CodexContextCompaction;
20483
20562
  type CodexUserInput = CodexTextInput | CodexLocalImageInput;
20484
- type PlatformSessionRecord = SessionClosedRecord | MessageReceivedRecord | MessageDeliveredRecord | MessageRequeuedRecord | TurnStartedRecord | TurnEndedRecord | EnvironmentPhaseRecord | EnvironmentOutputRecord | EnvironmentReadyRecord;
20563
+ type PlatformSessionRecord = SessionClosedRecord | MessageReceivedRecord | MessageDeliveredRecord | MessageRequeuedRecord | TurnQueuedRecord | TurnStartedRecord | TurnEndedRecord | EnvironmentPhaseRecord | EnvironmentOutputRecord | EnvironmentReadyRecord;
20485
20564
  /**
20486
20565
  * The session's current state.
20487
20566
  */
@@ -21763,10 +21842,10 @@ interface ModelTokenCounts {
21763
21842
  total: number;
21764
21843
  }
21765
21844
  /**
21766
- * One message and the agent's answer to it. A turn is `pending` from the
21767
- * moment its message is received until the agent starts on it, `running`
21768
- * while the agent works, then `completed`, `failed`, `stopped`, or
21769
- * `cancelled`.
21845
+ * One message and the agent's answer to it. A turn is `queued` from the
21846
+ * moment its message is received, `preparing` while its environment is set
21847
+ * up, `running` while the agent works, then `completed`, `failed`,
21848
+ * `stopped`, or `cancelled`.
21770
21849
  */
21771
21850
  interface SessionTurn {
21772
21851
  cost: Cost1;
@@ -21775,7 +21854,7 @@ interface SessionTurn {
21775
21854
  */
21776
21855
  created_at: string;
21777
21856
  /**
21778
- * A human-readable explanation of a failed, stopped, or cancelled turn.
21857
+ * A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.
21779
21858
  */
21780
21859
  detail: string | null;
21781
21860
  /**
@@ -22777,7 +22856,7 @@ interface MessageRequeuedRecord {
22777
22856
  }
22778
22857
  /**
22779
22858
  * message_requeued: a turn was interrupted before answering, so the
22780
- * message goes back to the inbox with a new pending turn.
22859
+ * message goes back to the inbox with a new queued turn.
22781
22860
  */
22782
22861
  interface MessageRequeuedPayload {
22783
22862
  message_id: string;
@@ -22785,6 +22864,49 @@ interface MessageRequeuedPayload {
22785
22864
  turn_id: string;
22786
22865
  [k: string]: unknown;
22787
22866
  }
22867
+ interface TurnQueuedRecord {
22868
+ cost: number | null;
22869
+ created_at: string;
22870
+ duration: number | null;
22871
+ /**
22872
+ * Position in the session feed and the stream's resume cursor.
22873
+ */
22874
+ feed_seq: number;
22875
+ /**
22876
+ * Unique identifier of the record.
22877
+ */
22878
+ id: string;
22879
+ kind: 'platform';
22880
+ model: string | null;
22881
+ payload: TurnQueuedPayload;
22882
+ record_format: 'ellipsis_lifecycle@1';
22883
+ record_type: 'turn_queued';
22884
+ /**
22885
+ * Session containing this record.
22886
+ */
22887
+ session_id: string;
22888
+ /**
22889
+ * Message this record receives, delivers, requeues, or echoes.
22890
+ */
22891
+ session_message_id: string | null;
22892
+ source: 'lifecycle';
22893
+ tokens_info: TokensInfo | null;
22894
+ tools: string[] | null;
22895
+ /**
22896
+ * Turn containing this record, when applicable.
22897
+ */
22898
+ turn_id: string | null;
22899
+ }
22900
+ /**
22901
+ * turn_queued: the turn waits because the account already has
22902
+ * `sessions_alive` sessions alive, its limit.
22903
+ */
22904
+ interface TurnQueuedPayload {
22905
+ limit: number;
22906
+ sessions_alive: number;
22907
+ turn_id: string;
22908
+ [k: string]: unknown;
22909
+ }
22788
22910
  interface TurnStartedRecord {
22789
22911
  cost: number | null;
22790
22912
  created_at: string;
@@ -23161,4 +23283,4 @@ type ReviewsListResponse = components['schemas']['ReviewsListResponse'];
23161
23283
  type ReviewConfig = components['schemas']['ReviewConfig'];
23162
23284
  type ReviewConfigsListResponse = components['schemas']['ReviewConfigsListResponse'];
23163
23285
 
23164
- export type { CodexPlan as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexCommandExecutionItem as D, CodexConfig as E, CodexContextCompaction as F, CodexEffortLevel as G, CodexErrorEvent as H, CodexErrorItem as I, CodexErrorParams as J, CodexEvent as K, CodexFileChange as L, CodexFileChangeItem as M, CodexFileUpdate as N, CodexItem as O, CodexItemCompleted as P, CodexItemCompletedEvent as Q, CodexItemParams as R, CodexItemStarted as S, CodexItemStartedEvent as T, CodexItemUpdatedEvent as U, CodexLocalImageInput as V, CodexMcpToolCall as W, CodexMcpToolCallAppContext as X, CodexMcpToolCallError as Y, CodexMcpToolCallItem as Z, CodexMcpToolCallResult as _, AgentIdentity as a, GithubStatusEvent as a$, CodexReasoning as a0, CodexReasoningItem as a1, CodexSessionRecord as a2, CodexTextInput as a3, CodexThread as a4, CodexThreadStarted as a5, CodexThreadStartedEvent as a6, CodexThreadStartedParams as a7, CodexThreadTokenUsage as a8, CodexTodoListItem 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, GithubAccountFilter as aQ, GithubAccountSelector as aR, GithubAccountSnippet as aS, GithubAccountType as aT, GithubCheckRunEvent as aU, GithubCheckSuiteEvent as aV, GithubIssueEvent as aW, GithubPermissions as aX, GithubPullRequestEvent as aY, GithubPushEvent as aZ, GithubReleaseEvent as a_, CodexTokenUsageBreakdown as aa, CodexTokenUsageParams as ab, CodexTokenUsageUpdated as ac, CodexTurn as ad, CodexTurnCompleted as ae, CodexTurnCompletedEvent as af, CodexTurnError as ag, CodexTurnFailedEvent as ah, CodexTurnParams as ai, CodexTurnStarted as aj, CodexTurnStartedEvent as ak, CodexUsage as al, CodexUserInput as am, CodexUserMessage as an, CodexWebSearch as ao, CodexWebSearchItem as ap, ComputeConfig as aq, ComputeConfig1 as ar, ConfigMetadata as as, Cost as at, Cost1 as au, CronTrigger as av, DeltaFrame as aw, DoneFrame as ax, Duration as ay, EffortLevel as az, AttributionType as b, SdkServerToolResultBlock as b$, GithubWorkflowRunEvent as b0, HandlerService as b1, HeartbeatFrame as b2, InputContract as b3, IssueAction as b4, LegacyAssistantPayload as b5, LegacyNativeUsage as b6, LegacyResultPayload as b7, Level as b8, LifecycleSessionRecord as b9, ReactPullRequest as bA, ReactPush as bB, ReactRelease as bC, ReactSentry as bD, ReactSlackChannel as bE, ReactStatus as bF, ReactTrigger as bG, ReactWorkflowRun as bH, RecordsAppendFrame as bI, ReleaseAction as bJ, RepositoryFilter as bK, RepositoryRef as bL, Review as bM, ReviewComment as bN, ReviewConfig as bO, ReviewConfigsListResponse as bP, ReviewPullRequest as bQ, ReviewPullRequestAuthor as bR, ReviewReviewer as bS, ReviewSummary as bT, ReviewsListResponse as bU, SdkAssistantRecord as bV, SdkCacheCreation as bW, SdkContentBlock as bX, SdkRateLimitRecord as bY, SdkRecord as bZ, SdkResultRecord as b_, LinearIssueAction as ba, LinearIssueEvent as bb, LlmCost as bc, LlmCostSplit as bd, McpRemoteServer as be, McpServerRef as bf, McpStdioServer as bg, MemorySize as bh, MessageDeliveredPayload as bi, MessageDeliveredRecord as bj, MessageReceivedPayload as bk, MessageReceivedRecord as bl, MessageRequeuedPayload as bm, MessageRequeuedRecord as bn, ModelLlmCostSplit as bo, ModelTokenCounts as bp, OutputConfig as bq, PermissionsConfig as br, PermissionsConfig1 as bs, PlatformSessionRecord as bt, PromptBlockedReason as bu, PullRequestAction as bv, ReactCheckRun as bw, ReactCheckSuite as bx, ReactIssue as by, ReactLinearIssue as bz, components as c, TurnStartedRecord as c$, SdkServerToolUseBlock as c0, SdkSystemRecord as c1, SdkTextBlock as c2, SdkThinkingBlock as c3, SdkToolResultBlock as c4, SdkToolUseBlock as c5, SdkUserRecord as c6, SendSessionMessageRequest as c7, SentryAction as c8, SentryAlertEvent as c9, SessionRecord as cA, SessionRecordsListResponse as cB, SessionResponse as cC, SessionSource as cD, SessionState as cE, SessionStopped as cF, SessionStreamFrame as cG, SessionSummary as cH, SessionTurn as cI, SessionTurnResponse as cJ, SessionTurnsListResponse as cK, SessionsListResponse as cL, SettingsRef as cM, SkillRef as cN, SlackChannelCreatedEvent as cO, SlackMessageEvent as cP, SnapshotFrame as cQ, StatusAction as cR, StreamFrame as cS, TokenCounts as cT, Tokens as cU, Tokens1 as cV, TokensInfo as cW, TurnEndedPayload as cX, TurnEndedRecord as cY, TurnReason as cZ, TurnStartedPayload as c_, Session as ca, Session1 as cb, SessionAgent as cc, SessionArchived as cd, SessionAttribution as ce, SessionClosedPayload as cf, SessionClosedRecord as cg, SessionConfig as ch, SessionConversation as ci, SessionConversationConfig as cj, SessionEnvironment as ck, SessionEventActor as cl, SessionFrame as cm, SessionGit as cn, SessionGitCommit as co, SessionGitFile as cp, SessionGitPr as cq, SessionGitRepo as cr, SessionHandler as cs, SessionMessage as ct, SessionMessageImage as cu, SessionMessageResponse as cv, SessionMessageStatus as cw, SessionOutput as cx, SessionParent as cy, SessionPrompting as cz, CheckSuiteAction as d, TurnStatus as d0, UnknownSessionRecord as d1, UpdateSessionRequest as d2, WorkflowRunAction as d3, paths as d4, 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, CodexCommandExecution as z };
23286
+ export type { CodexPlan as $, AgentConfig as A, BudgetConfig as B, CheckRunAction as C, CodexCommandExecutionItem as D, CodexConfig as E, CodexContextCompaction as F, CodexEffortLevel as G, CodexErrorEvent as H, CodexErrorItem as I, CodexErrorParams as J, CodexEvent as K, CodexFileChange as L, CodexFileChangeItem as M, CodexFileUpdate as N, CodexItem as O, CodexItemCompleted as P, CodexItemCompletedEvent as Q, CodexItemParams as R, CodexItemStarted as S, CodexItemStartedEvent as T, CodexItemUpdatedEvent as U, CodexLocalImageInput as V, CodexMcpToolCall as W, CodexMcpToolCallAppContext as X, CodexMcpToolCallError as Y, CodexMcpToolCallItem as Z, CodexMcpToolCallResult as _, AgentIdentity as a, GithubStatusEvent as a$, CodexReasoning as a0, CodexReasoningItem as a1, CodexSessionRecord as a2, CodexTextInput as a3, CodexThread as a4, CodexThreadStarted as a5, CodexThreadStartedEvent as a6, CodexThreadStartedParams as a7, CodexThreadTokenUsage as a8, CodexTodoListItem 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, GithubAccountFilter as aQ, GithubAccountSelector as aR, GithubAccountSnippet as aS, GithubAccountType as aT, GithubCheckRunEvent as aU, GithubCheckSuiteEvent as aV, GithubIssueEvent as aW, GithubPermissions as aX, GithubPullRequestEvent as aY, GithubPushEvent as aZ, GithubReleaseEvent as a_, CodexTokenUsageBreakdown as aa, CodexTokenUsageParams as ab, CodexTokenUsageUpdated as ac, CodexTurn as ad, CodexTurnCompleted as ae, CodexTurnCompletedEvent as af, CodexTurnError as ag, CodexTurnFailedEvent as ah, CodexTurnParams as ai, CodexTurnStarted as aj, CodexTurnStartedEvent as ak, CodexUsage as al, CodexUserInput as am, CodexUserMessage as an, CodexWebSearch as ao, CodexWebSearchItem as ap, ComputeConfig as aq, ComputeConfig1 as ar, ConfigMetadata as as, Cost as at, Cost1 as au, CronTrigger as av, DeltaFrame as aw, DoneFrame as ax, Duration as ay, EffortLevel as az, AttributionType as b, SdkServerToolResultBlock as b$, GithubWorkflowRunEvent as b0, HandlerService as b1, HeartbeatFrame as b2, InputContract as b3, IssueAction as b4, LegacyAssistantPayload as b5, LegacyNativeUsage as b6, LegacyResultPayload as b7, Level as b8, LifecycleSessionRecord as b9, ReactPullRequest as bA, ReactPush as bB, ReactRelease as bC, ReactSentry as bD, ReactSlackChannel as bE, ReactStatus as bF, ReactTrigger as bG, ReactWorkflowRun as bH, RecordsAppendFrame as bI, ReleaseAction as bJ, RepositoryFilter as bK, RepositoryRef as bL, Review as bM, ReviewComment as bN, ReviewConfig as bO, ReviewConfigsListResponse as bP, ReviewPullRequest as bQ, ReviewPullRequestAuthor as bR, ReviewReviewer as bS, ReviewSummary as bT, ReviewsListResponse as bU, SdkAssistantRecord as bV, SdkCacheCreation as bW, SdkContentBlock as bX, SdkRateLimitRecord as bY, SdkRecord as bZ, SdkResultRecord as b_, LinearIssueAction as ba, LinearIssueEvent as bb, LlmCost as bc, LlmCostSplit as bd, McpRemoteServer as be, McpServerRef as bf, McpStdioServer as bg, MemorySize as bh, MessageDeliveredPayload as bi, MessageDeliveredRecord as bj, MessageReceivedPayload as bk, MessageReceivedRecord as bl, MessageRequeuedPayload as bm, MessageRequeuedRecord as bn, ModelLlmCostSplit as bo, ModelTokenCounts as bp, OutputConfig as bq, PermissionsConfig as br, PermissionsConfig1 as bs, PlatformSessionRecord as bt, PromptBlockedReason as bu, PullRequestAction as bv, ReactCheckRun as bw, ReactCheckSuite as bx, ReactIssue as by, ReactLinearIssue as bz, components as c, TurnReason as c$, SdkServerToolUseBlock as c0, SdkSystemRecord as c1, SdkTextBlock as c2, SdkThinkingBlock as c3, SdkToolResultBlock as c4, SdkToolUseBlock as c5, SdkUserRecord as c6, SendSessionMessageRequest as c7, SentryAction as c8, SentryAlertEvent as c9, SessionRecord as cA, SessionRecordsListResponse as cB, SessionResponse as cC, SessionSource as cD, SessionState as cE, SessionStopped as cF, SessionStreamFrame as cG, SessionSummary as cH, SessionTurn as cI, SessionTurnResponse as cJ, SessionTurnsListResponse as cK, SessionsListResponse as cL, SettingsRef as cM, SkillRef as cN, SlackChannelCreatedEvent as cO, SlackMessageEvent as cP, SnapshotFrame as cQ, StatusAction as cR, StreamFrame as cS, TokenCounts as cT, Tokens as cU, Tokens1 as cV, TokensInfo as cW, TurnEndedPayload as cX, TurnEndedRecord as cY, TurnQueuedPayload as cZ, TurnQueuedRecord as c_, Session as ca, Session1 as cb, SessionAgent as cc, SessionArchived as cd, SessionAttribution as ce, SessionClosedPayload as cf, SessionClosedRecord as cg, SessionConfig as ch, SessionConversation as ci, SessionConversationConfig as cj, SessionEnvironment as ck, SessionEventActor as cl, SessionFrame as cm, SessionGit as cn, SessionGitCommit as co, SessionGitFile as cp, SessionGitPr as cq, SessionGitRepo as cr, SessionHandler as cs, SessionMessage as ct, SessionMessageImage as cu, SessionMessageResponse as cv, SessionMessageStatus as cw, SessionOutput as cx, SessionParent as cy, SessionPrompting as cz, CheckSuiteAction as d, TurnStartedPayload as d0, TurnStartedRecord as d1, TurnStatus as d2, UnknownSessionRecord as d3, UpdateSessionRequest as d4, WorkflowRunAction as d5, paths as d6, 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, CodexCommandExecution as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ellipsis-dev/sdk",
3
- "version": "0.33.0",
3
+ "version": "0.34.1",
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",
@@ -4612,7 +4612,7 @@
4612
4612
  "type": "object"
4613
4613
  },
4614
4614
  "SessionTurn": {
4615
- "description": "One message and the agent's answer to it. A turn is `pending` from the\nmoment its message is received until the agent starts on it, `running`\nwhile the agent works, then `completed`, `failed`, `stopped`, or\n`cancelled`.",
4615
+ "description": "One message and the agent's answer to it. A turn is `queued` from the\nmoment its message is received, `preparing` while its environment is set\nup, `running` while the agent works, then `completed`, `failed`,\n`stopped`, or `cancelled`.",
4616
4616
  "properties": {
4617
4617
  "cost": {
4618
4618
  "$ref": "#/$defs/Cost",
@@ -4634,7 +4634,7 @@
4634
4634
  }
4635
4635
  ],
4636
4636
  "default": null,
4637
- "description": "A human-readable explanation of a failed, stopped, or cancelled turn.",
4637
+ "description": "A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.",
4638
4638
  "title": "Detail"
4639
4639
  },
4640
4640
  "ended_at": {
@@ -5007,9 +5007,10 @@
5007
5007
  "type": "string"
5008
5008
  },
5009
5009
  "TurnStatus": {
5010
- "description": "Where one turn is: queued for an agent, being answered, or over.\n\n`pending` covers everything before the agent starts on the message: queued\nbehind another turn, waiting to start, or preparing the environment.\n`stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
5010
+ "description": "Where one turn is: waiting, preparing, being answered, or over.\n\n`queued` turns wait to start, behind another turn or for a free session\nslot on the account. `preparing` turns wait while the environment is set\nup. `stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
5011
5011
  "enum": [
5012
- "pending",
5012
+ "queued",
5013
+ "preparing",
5013
5014
  "running",
5014
5015
  "completed",
5015
5016
  "failed",
@@ -6867,7 +6867,7 @@
6867
6867
  },
6868
6868
  "MessageRequeuedPayload": {
6869
6869
  "additionalProperties": true,
6870
- "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new pending turn.",
6870
+ "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new queued turn.",
6871
6871
  "properties": {
6872
6872
  "message_id": {
6873
6873
  "title": "Message Id",
@@ -7211,6 +7211,7 @@
7211
7211
  "message_requeued": "#/$defs/MessageRequeuedRecord",
7212
7212
  "session_closed": "#/$defs/SessionClosedRecord",
7213
7213
  "turn_ended": "#/$defs/TurnEndedRecord",
7214
+ "turn_queued": "#/$defs/TurnQueuedRecord",
7214
7215
  "turn_started": "#/$defs/TurnStartedRecord"
7215
7216
  },
7216
7217
  "propertyName": "record_type"
@@ -7228,6 +7229,9 @@
7228
7229
  {
7229
7230
  "$ref": "#/$defs/MessageRequeuedRecord"
7230
7231
  },
7232
+ {
7233
+ "$ref": "#/$defs/TurnQueuedRecord"
7234
+ },
7231
7235
  {
7232
7236
  "$ref": "#/$defs/TurnStartedRecord"
7233
7237
  },
@@ -10087,7 +10091,7 @@
10087
10091
  "type": "object"
10088
10092
  },
10089
10093
  "SessionTurn": {
10090
- "description": "One message and the agent's answer to it. A turn is `pending` from the\nmoment its message is received until the agent starts on it, `running`\nwhile the agent works, then `completed`, `failed`, `stopped`, or\n`cancelled`.",
10094
+ "description": "One message and the agent's answer to it. A turn is `queued` from the\nmoment its message is received, `preparing` while its environment is set\nup, `running` while the agent works, then `completed`, `failed`,\n`stopped`, or `cancelled`.",
10091
10095
  "properties": {
10092
10096
  "cost": {
10093
10097
  "$ref": "#/$defs/Cost",
@@ -10109,7 +10113,7 @@
10109
10113
  }
10110
10114
  ],
10111
10115
  "default": null,
10112
- "description": "A human-readable explanation of a failed, stopped, or cancelled turn.",
10116
+ "description": "A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.",
10113
10117
  "title": "Detail"
10114
10118
  },
10115
10119
  "ended_at": {
@@ -10404,7 +10408,7 @@
10404
10408
  "type": "array"
10405
10409
  },
10406
10410
  "protocol": {
10407
- "default": 6,
10411
+ "default": 7,
10408
10412
  "description": "Echoes the protocol version the server is serving.",
10409
10413
  "title": "Protocol",
10410
10414
  "type": "integer"
@@ -10767,6 +10771,191 @@
10767
10771
  "type": "object",
10768
10772
  "x-ellipsis-preserve-payload": true
10769
10773
  },
10774
+ "TurnQueuedPayload": {
10775
+ "additionalProperties": true,
10776
+ "description": "turn_queued: the turn waits because the account already has\n`sessions_alive` sessions alive, its limit.",
10777
+ "properties": {
10778
+ "limit": {
10779
+ "title": "Limit",
10780
+ "type": "integer"
10781
+ },
10782
+ "sessions_alive": {
10783
+ "title": "Sessions Alive",
10784
+ "type": "integer"
10785
+ },
10786
+ "turn_id": {
10787
+ "title": "Turn Id",
10788
+ "type": "string"
10789
+ }
10790
+ },
10791
+ "required": [
10792
+ "turn_id",
10793
+ "sessions_alive",
10794
+ "limit"
10795
+ ],
10796
+ "title": "TurnQueuedPayload",
10797
+ "type": "object"
10798
+ },
10799
+ "TurnQueuedRecord": {
10800
+ "properties": {
10801
+ "cost": {
10802
+ "anyOf": [
10803
+ {
10804
+ "type": "integer"
10805
+ },
10806
+ {
10807
+ "type": "null"
10808
+ }
10809
+ ],
10810
+ "default": null,
10811
+ "title": "Cost"
10812
+ },
10813
+ "created_at": {
10814
+ "format": "date-time",
10815
+ "title": "Created At",
10816
+ "type": "string"
10817
+ },
10818
+ "duration": {
10819
+ "anyOf": [
10820
+ {
10821
+ "type": "integer"
10822
+ },
10823
+ {
10824
+ "type": "null"
10825
+ }
10826
+ ],
10827
+ "default": null,
10828
+ "title": "Duration"
10829
+ },
10830
+ "feed_seq": {
10831
+ "description": "Position in the session feed and the stream's resume cursor.",
10832
+ "title": "Feed Seq",
10833
+ "type": "integer"
10834
+ },
10835
+ "id": {
10836
+ "description": "Unique identifier of the record.",
10837
+ "title": "Id",
10838
+ "type": "string"
10839
+ },
10840
+ "kind": {
10841
+ "const": "platform",
10842
+ "default": "platform",
10843
+ "title": "Kind",
10844
+ "type": "string"
10845
+ },
10846
+ "model": {
10847
+ "anyOf": [
10848
+ {
10849
+ "type": "string"
10850
+ },
10851
+ {
10852
+ "type": "null"
10853
+ }
10854
+ ],
10855
+ "default": null,
10856
+ "title": "Model"
10857
+ },
10858
+ "payload": {
10859
+ "$ref": "#/$defs/TurnQueuedPayload"
10860
+ },
10861
+ "record_format": {
10862
+ "const": "ellipsis_lifecycle@1",
10863
+ "default": "ellipsis_lifecycle@1",
10864
+ "title": "Record Format",
10865
+ "type": "string"
10866
+ },
10867
+ "record_type": {
10868
+ "const": "turn_queued",
10869
+ "default": "turn_queued",
10870
+ "title": "Record Type",
10871
+ "type": "string"
10872
+ },
10873
+ "session_id": {
10874
+ "description": "Session containing this record.",
10875
+ "title": "Session Id",
10876
+ "type": "string"
10877
+ },
10878
+ "session_message_id": {
10879
+ "anyOf": [
10880
+ {
10881
+ "type": "string"
10882
+ },
10883
+ {
10884
+ "type": "null"
10885
+ }
10886
+ ],
10887
+ "default": null,
10888
+ "description": "Message this record receives, delivers, requeues, or echoes.",
10889
+ "title": "Session Message Id"
10890
+ },
10891
+ "source": {
10892
+ "const": "lifecycle",
10893
+ "default": "lifecycle",
10894
+ "title": "Source",
10895
+ "type": "string"
10896
+ },
10897
+ "tokens_info": {
10898
+ "anyOf": [
10899
+ {
10900
+ "$ref": "#/$defs/TokensInfo"
10901
+ },
10902
+ {
10903
+ "type": "null"
10904
+ }
10905
+ ],
10906
+ "default": null
10907
+ },
10908
+ "tools": {
10909
+ "anyOf": [
10910
+ {
10911
+ "items": {
10912
+ "type": "string"
10913
+ },
10914
+ "type": "array"
10915
+ },
10916
+ {
10917
+ "type": "null"
10918
+ }
10919
+ ],
10920
+ "default": null,
10921
+ "title": "Tools"
10922
+ },
10923
+ "turn_id": {
10924
+ "anyOf": [
10925
+ {
10926
+ "type": "string"
10927
+ },
10928
+ {
10929
+ "type": "null"
10930
+ }
10931
+ ],
10932
+ "default": null,
10933
+ "description": "Turn containing this record, when applicable.",
10934
+ "title": "Turn Id"
10935
+ }
10936
+ },
10937
+ "required": [
10938
+ "cost",
10939
+ "created_at",
10940
+ "duration",
10941
+ "feed_seq",
10942
+ "id",
10943
+ "kind",
10944
+ "model",
10945
+ "payload",
10946
+ "record_format",
10947
+ "record_type",
10948
+ "session_id",
10949
+ "session_message_id",
10950
+ "source",
10951
+ "tokens_info",
10952
+ "tools",
10953
+ "turn_id"
10954
+ ],
10955
+ "title": "TurnQueuedRecord",
10956
+ "type": "object",
10957
+ "x-ellipsis-preserve-payload": true
10958
+ },
10770
10959
  "TurnReason": {
10771
10960
  "description": "Why a turn failed or was cancelled. Null on every other outcome.",
10772
10961
  "enum": [
@@ -10971,9 +11160,10 @@
10971
11160
  "x-ellipsis-preserve-payload": true
10972
11161
  },
10973
11162
  "TurnStatus": {
10974
- "description": "Where one turn is: queued for an agent, being answered, or over.\n\n`pending` covers everything before the agent starts on the message: queued\nbehind another turn, waiting to start, or preparing the environment.\n`stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
11163
+ "description": "Where one turn is: waiting, preparing, being answered, or over.\n\n`queued` turns wait to start, behind another turn or for a free session\nslot on the account. `preparing` turns wait while the environment is set\nup. `stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
10975
11164
  "enum": [
10976
- "pending",
11165
+ "queued",
11166
+ "preparing",
10977
11167
  "running",
10978
11168
  "completed",
10979
11169
  "failed",
@@ -11166,7 +11356,7 @@
11166
11356
  }
11167
11357
  },
11168
11358
  "$schema": "https://json-schema.org/draft/2020-12/schema",
11169
- "description": "One server-to-client frame of the Ellipsis session stream protocol v6 (WS /v1/sessions/{id}/stream?protocol=6). Clients MUST ignore frames with unknown `type` values \u2014 additive frames are not a protocol break.",
11359
+ "description": "One server-to-client frame of the Ellipsis session stream protocol v7 (WS /v1/sessions/{id}/stream?protocol=7). Clients MUST ignore frames with unknown `type` values \u2014 additive frames are not a protocol break.",
11170
11360
  "oneOf": [
11171
11361
  {
11172
11362
  "$ref": "#/$defs/SnapshotFrame"
@@ -227,7 +227,7 @@
227
227
  },
228
228
  "MessageRequeuedPayload": {
229
229
  "additionalProperties": true,
230
- "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new pending turn.",
230
+ "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new queued turn.",
231
231
  "properties": {
232
232
  "message_id": {
233
233
  "title": "Message Id",
@@ -325,6 +325,31 @@
325
325
  "title": "TurnEndedPayload",
326
326
  "type": "object"
327
327
  },
328
+ "TurnQueuedPayload": {
329
+ "additionalProperties": true,
330
+ "description": "turn_queued: the turn waits because the account already has\n`sessions_alive` sessions alive, its limit.",
331
+ "properties": {
332
+ "limit": {
333
+ "title": "Limit",
334
+ "type": "integer"
335
+ },
336
+ "sessions_alive": {
337
+ "title": "Sessions Alive",
338
+ "type": "integer"
339
+ },
340
+ "turn_id": {
341
+ "title": "Turn Id",
342
+ "type": "string"
343
+ }
344
+ },
345
+ "required": [
346
+ "turn_id",
347
+ "sessions_alive",
348
+ "limit"
349
+ ],
350
+ "title": "TurnQueuedPayload",
351
+ "type": "object"
352
+ },
328
353
  "TurnStartedPayload": {
329
354
  "additionalProperties": true,
330
355
  "description": "turn_started: the agent started on the turn's message.",
@@ -373,6 +398,9 @@
373
398
  "turn_ended": {
374
399
  "$ref": "#/$defs/TurnEndedPayload"
375
400
  },
401
+ "turn_queued": {
402
+ "$ref": "#/$defs/TurnQueuedPayload"
403
+ },
376
404
  "turn_started": {
377
405
  "$ref": "#/$defs/TurnStartedPayload"
378
406
  }
@@ -386,6 +414,7 @@
386
414
  "message_requeued",
387
415
  "session_closed",
388
416
  "turn_ended",
417
+ "turn_queued",
389
418
  "turn_started"
390
419
  ],
391
420
  "title": "LifecyclePayloads",
@@ -1957,7 +1957,7 @@
1957
1957
  "type": "object"
1958
1958
  },
1959
1959
  "BudgetSummary": {
1960
- "description": "Prepaid credit and the actual trailing budgets enforced by the proxy.\n\nBudget windows roll continuously; they are not monthly credit renewals.\nAmounts are in millicents and may be negative after overshoot.\nOne admitted request can exceed a limit. Concurrent paid requests are bounded by\nthe account and per-session platform allowances.",
1960
+ "description": "Prepaid credit and the actual trailing budgets enforced by the proxy.\n\nBudget windows roll continuously; they are not monthly credit renewals.\nAmounts are in millicents and may be negative after overshoot.\nOne admitted request can exceed a limit.",
1961
1961
  "properties": {
1962
1962
  "alerts": {
1963
1963
  "$ref": "#/components/schemas/BudgetAlerts"
@@ -12719,7 +12719,7 @@
12719
12719
  },
12720
12720
  "MessageRequeuedPayload": {
12721
12721
  "additionalProperties": true,
12722
- "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new pending turn.",
12722
+ "description": "message_requeued: a turn was interrupted before answering, so the\nmessage goes back to the inbox with a new queued turn.",
12723
12723
  "properties": {
12724
12724
  "message_id": {
12725
12725
  "title": "Message Id",
@@ -13400,6 +13400,7 @@
13400
13400
  "message_requeued": "#/components/schemas/MessageRequeuedRecord",
13401
13401
  "session_closed": "#/components/schemas/SessionClosedRecord",
13402
13402
  "turn_ended": "#/components/schemas/TurnEndedRecord",
13403
+ "turn_queued": "#/components/schemas/TurnQueuedRecord",
13403
13404
  "turn_started": "#/components/schemas/TurnStartedRecord"
13404
13405
  },
13405
13406
  "propertyName": "record_type"
@@ -13417,6 +13418,9 @@
13417
13418
  {
13418
13419
  "$ref": "#/components/schemas/MessageRequeuedRecord"
13419
13420
  },
13421
+ {
13422
+ "$ref": "#/components/schemas/TurnQueuedRecord"
13423
+ },
13420
13424
  {
13421
13425
  "$ref": "#/components/schemas/TurnStartedRecord"
13422
13426
  },
@@ -20120,7 +20124,7 @@
20120
20124
  "type": "object"
20121
20125
  },
20122
20126
  "SessionTurn": {
20123
- "description": "One message and the agent's answer to it. A turn is `pending` from the\nmoment its message is received until the agent starts on it, `running`\nwhile the agent works, then `completed`, `failed`, `stopped`, or\n`cancelled`.",
20127
+ "description": "One message and the agent's answer to it. A turn is `queued` from the\nmoment its message is received, `preparing` while its environment is set\nup, `running` while the agent works, then `completed`, `failed`,\n`stopped`, or `cancelled`.",
20124
20128
  "properties": {
20125
20129
  "cost": {
20126
20130
  "$ref": "#/components/schemas/Cost",
@@ -20141,7 +20145,7 @@
20141
20145
  "type": "null"
20142
20146
  }
20143
20147
  ],
20144
- "description": "A human-readable explanation of a failed, stopped, or cancelled turn.",
20148
+ "description": "A human-readable explanation of a failed, stopped, or cancelled turn, or of why a queued turn waits.",
20145
20149
  "title": "Detail"
20146
20150
  },
20147
20151
  "ended_at": {
@@ -22141,6 +22145,184 @@
22141
22145
  "type": "object",
22142
22146
  "x-ellipsis-preserve-payload": true
22143
22147
  },
22148
+ "TurnQueuedPayload": {
22149
+ "additionalProperties": true,
22150
+ "description": "turn_queued: the turn waits because the account already has\n`sessions_alive` sessions alive, its limit.",
22151
+ "properties": {
22152
+ "limit": {
22153
+ "title": "Limit",
22154
+ "type": "integer"
22155
+ },
22156
+ "sessions_alive": {
22157
+ "title": "Sessions Alive",
22158
+ "type": "integer"
22159
+ },
22160
+ "turn_id": {
22161
+ "title": "Turn Id",
22162
+ "type": "string"
22163
+ }
22164
+ },
22165
+ "required": [
22166
+ "turn_id",
22167
+ "sessions_alive",
22168
+ "limit"
22169
+ ],
22170
+ "title": "TurnQueuedPayload",
22171
+ "type": "object"
22172
+ },
22173
+ "TurnQueuedRecord": {
22174
+ "properties": {
22175
+ "cost": {
22176
+ "anyOf": [
22177
+ {
22178
+ "type": "integer"
22179
+ },
22180
+ {
22181
+ "type": "null"
22182
+ }
22183
+ ],
22184
+ "title": "Cost"
22185
+ },
22186
+ "created_at": {
22187
+ "format": "date-time",
22188
+ "title": "Created At",
22189
+ "type": "string"
22190
+ },
22191
+ "duration": {
22192
+ "anyOf": [
22193
+ {
22194
+ "type": "integer"
22195
+ },
22196
+ {
22197
+ "type": "null"
22198
+ }
22199
+ ],
22200
+ "title": "Duration"
22201
+ },
22202
+ "feed_seq": {
22203
+ "description": "Position in the session feed and the stream's resume cursor.",
22204
+ "title": "Feed Seq",
22205
+ "type": "integer"
22206
+ },
22207
+ "id": {
22208
+ "description": "Unique identifier of the record.",
22209
+ "title": "Id",
22210
+ "type": "string"
22211
+ },
22212
+ "kind": {
22213
+ "const": "platform",
22214
+ "default": "platform",
22215
+ "title": "Kind",
22216
+ "type": "string"
22217
+ },
22218
+ "model": {
22219
+ "anyOf": [
22220
+ {
22221
+ "type": "string"
22222
+ },
22223
+ {
22224
+ "type": "null"
22225
+ }
22226
+ ],
22227
+ "title": "Model"
22228
+ },
22229
+ "payload": {
22230
+ "$ref": "#/components/schemas/TurnQueuedPayload"
22231
+ },
22232
+ "record_format": {
22233
+ "const": "ellipsis_lifecycle@1",
22234
+ "default": "ellipsis_lifecycle@1",
22235
+ "title": "Record Format",
22236
+ "type": "string"
22237
+ },
22238
+ "record_type": {
22239
+ "const": "turn_queued",
22240
+ "default": "turn_queued",
22241
+ "title": "Record Type",
22242
+ "type": "string"
22243
+ },
22244
+ "session_id": {
22245
+ "description": "Session containing this record.",
22246
+ "title": "Session Id",
22247
+ "type": "string"
22248
+ },
22249
+ "session_message_id": {
22250
+ "anyOf": [
22251
+ {
22252
+ "type": "string"
22253
+ },
22254
+ {
22255
+ "type": "null"
22256
+ }
22257
+ ],
22258
+ "description": "Message this record receives, delivers, requeues, or echoes.",
22259
+ "title": "Session Message Id"
22260
+ },
22261
+ "source": {
22262
+ "const": "lifecycle",
22263
+ "default": "lifecycle",
22264
+ "title": "Source",
22265
+ "type": "string"
22266
+ },
22267
+ "tokens_info": {
22268
+ "anyOf": [
22269
+ {
22270
+ "$ref": "#/components/schemas/TokensInfo"
22271
+ },
22272
+ {
22273
+ "type": "null"
22274
+ }
22275
+ ]
22276
+ },
22277
+ "tools": {
22278
+ "anyOf": [
22279
+ {
22280
+ "items": {
22281
+ "type": "string"
22282
+ },
22283
+ "type": "array"
22284
+ },
22285
+ {
22286
+ "type": "null"
22287
+ }
22288
+ ],
22289
+ "title": "Tools"
22290
+ },
22291
+ "turn_id": {
22292
+ "anyOf": [
22293
+ {
22294
+ "type": "string"
22295
+ },
22296
+ {
22297
+ "type": "null"
22298
+ }
22299
+ ],
22300
+ "description": "Turn containing this record, when applicable.",
22301
+ "title": "Turn Id"
22302
+ }
22303
+ },
22304
+ "required": [
22305
+ "id",
22306
+ "session_id",
22307
+ "turn_id",
22308
+ "session_message_id",
22309
+ "feed_seq",
22310
+ "source",
22311
+ "record_type",
22312
+ "record_format",
22313
+ "payload",
22314
+ "tools",
22315
+ "tokens_info",
22316
+ "cost",
22317
+ "duration",
22318
+ "model",
22319
+ "created_at",
22320
+ "kind"
22321
+ ],
22322
+ "title": "TurnQueuedRecord",
22323
+ "type": "object",
22324
+ "x-ellipsis-preserve-payload": true
22325
+ },
22144
22326
  "TurnReason": {
22145
22327
  "description": "Why a turn failed or was cancelled. Null on every other outcome.",
22146
22328
  "enum": [
@@ -22338,9 +22520,10 @@
22338
22520
  "x-ellipsis-preserve-payload": true
22339
22521
  },
22340
22522
  "TurnStatus": {
22341
- "description": "Where one turn is: queued for an agent, being answered, or over.\n\n`pending` covers everything before the agent starts on the message: queued\nbehind another turn, waiting to start, or preparing the environment.\n`stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
22523
+ "description": "Where one turn is: waiting, preparing, being answered, or over.\n\n`queued` turns wait to start, behind another turn or for a free session\nslot on the account. `preparing` turns wait while the environment is set\nup. `stopped` and `cancelled` are their own outcomes; `reason` explains a\n`failed` or `cancelled` turn.",
22342
22524
  "enum": [
22343
- "pending",
22525
+ "queued",
22526
+ "preparing",
22344
22527
  "running",
22345
22528
  "completed",
22346
22529
  "failed",
@@ -22704,7 +22887,7 @@
22704
22887
  "VM": {
22705
22888
  "properties": {
22706
22889
  "id": {
22707
- "description": "Freestyle VM ID, shared across session resumes.",
22890
+ "description": "The VM id, shared across session resumes.",
22708
22891
  "title": "Id",
22709
22892
  "type": "string"
22710
22893
  },
@@ -23006,7 +23189,7 @@
23006
23189
  "type": "array"
23007
23190
  },
23008
23191
  "snapshot_id": {
23009
- "description": "Freestyle snapshot backing this reusable VM image.",
23192
+ "description": "The snapshot this reusable VM image boots from.",
23010
23193
  "title": "Snapshot Id",
23011
23194
  "type": "string"
23012
23195
  },
@@ -25849,7 +26032,7 @@
25849
26032
  },
25850
26033
  "/v1/account/budget": {
25851
26034
  "get": {
25852
- "description": "Get prepaid credit, actual trailing budgets, and developer/API-key limits.\n\nBudgets cover the trailing 1, 7 and 28 days; they do not replenish\nprepaid credit. Amounts include measured usage from active sessions.\nEach paid LLM request requires positive credit and budget headroom.\nAn admitted request can overshoot; concurrent paid requests are limited\nby your account and per-session allowances.",
26035
+ "description": "Get prepaid credit, actual trailing budgets, and developer/API-key limits.\n\nBudgets cover the trailing 1, 7 and 28 days; they do not replenish\nprepaid credit. Amounts include measured usage from active sessions.\nEach paid LLM request requires positive credit and budget headroom.\nAn admitted request can overshoot.",
25853
26036
  "operationId": "get_account_budget",
25854
26037
  "parameters": [
25855
26038
  {
@@ -33636,13 +33819,13 @@
33636
33819
  }
33637
33820
  },
33638
33821
  {
33639
- "description": "Keep only sessions whose current turn is pending or running.",
33822
+ "description": "Keep only sessions whose current turn is queued, preparing, or running.",
33640
33823
  "in": "query",
33641
33824
  "name": "unfinished",
33642
33825
  "required": false,
33643
33826
  "schema": {
33644
33827
  "default": false,
33645
- "description": "Keep only sessions whose current turn is pending or running.",
33828
+ "description": "Keep only sessions whose current turn is queued, preparing, or running.",
33646
33829
  "title": "Unfinished",
33647
33830
  "type": "boolean"
33648
33831
  }
@@ -35643,7 +35826,7 @@
35643
35826
  },
35644
35827
  "/v1/sessions/{id}/stop": {
35645
35828
  "post": {
35646
- "description": "Stop the turn in progress and return the session.\n\nThe turn ends `stopped`; the conversation stays open. 409 when no\nturn is pending or running. The stopping user is recorded only\nwhen the caller's credential maps to a GitHub account.",
35829
+ "description": "Stop the turn in progress and return the session.\n\nThe turn ends `stopped`; the conversation stays open. 409 when no\nturn is queued, preparing, or running. The stopping user is recorded only\nwhen the caller's credential maps to a GitHub account.",
35647
35830
  "operationId": "stop_session",
35648
35831
  "parameters": [
35649
35832
  {
@@ -35721,7 +35904,7 @@
35721
35904
  }
35722
35905
  }
35723
35906
  },
35724
- "description": "No turn is pending or running."
35907
+ "description": "No turn is queued, preparing, or running."
35725
35908
  },
35726
35909
  "422": {
35727
35910
  "content": {