@ellipsis-dev/sdk 0.38.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/index.d.ts +59 -5
- package/dist/index.js +67 -3
- package/dist/store/index.d.ts +9 -3
- package/dist/store/index.js +10 -2
- package/dist/stream/index.d.ts +1 -1
- package/dist/{types-D4cLMGUn.d.ts → types-BAJ82SH6.d.ts} +305 -13
- package/package.json +1 -1
- package/schema/frames.schema.json +13 -0
- package/schema/lifecycle.schema.json +13 -0
- package/schema/openapi.v1.json +576 -19
package/README.md
CHANGED
|
@@ -40,8 +40,8 @@ types and unknown `source`/`record_type`/`kind` values**.
|
|
|
40
40
|
## Shared chat work sections
|
|
41
41
|
|
|
42
42
|
Web and CLI renderers can use `splitLedger(groupRecordsToChatTurns(records))`
|
|
43
|
-
and `entryBody(entry, { live, now, liveText, liveSummary })` from `@ellipsis-dev/sdk/store`.
|
|
44
|
-
`now` is epoch milliseconds
|
|
43
|
+
and `entryBody(entry, { live, now, liveText, liveSummary, harness })` from `@ellipsis-dev/sdk/store`.
|
|
44
|
+
`now` is epoch milliseconds, and `harness` is `harnessName(session)`. The returned `items` are the collapsed view:
|
|
45
45
|
one `isWorkFold(item)` section for progress, thinking and tools, with final
|
|
46
46
|
replies, turn outcome and closing notices kept visible.
|
|
47
47
|
`members.get(item.key)` contains
|
|
@@ -49,7 +49,8 @@ that section's rows; nested tool folds use the same map and `isToolFold`.
|
|
|
49
49
|
Renderers own expansion state and can recursively display the members.
|
|
50
50
|
|
|
51
51
|
The work key stays stable as records stream in and after replay. The live
|
|
52
|
-
label advances from `Preparing environment` to `Starting
|
|
52
|
+
label advances from `Preparing environment` to `Starting Claude Code` (the
|
|
53
|
+
harness's name, or `Starting agent` without one) to `Working`
|
|
53
54
|
as the platform and native turn events arrive. While the agent works, the heading
|
|
54
55
|
from `store.getSnapshot().liveSummary` replaces `Working` when available.
|
|
55
56
|
Pass the summary only to the entry being answered (`loading: true`, add a loading
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as components } from './types-
|
|
2
|
-
export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCollabAgentToolCall, D as CodexCommandExecution, E as CodexCommandExecutionItem, F as CodexConfig, G as CodexContextCompaction, H as CodexEffortLevel, I as CodexErrorEvent, J as CodexErrorItem, K as CodexErrorParams, L as CodexEvent, M as CodexFileChange, N as CodexFileChangeItem, O as CodexFileUpdate, P as CodexItem, Q as CodexItemCompleted, R as CodexItemCompletedEvent, S as CodexItemParams, T as CodexItemStarted, U as CodexItemStartedEvent, V as CodexItemUpdatedEvent, W as CodexLocalImageInput, X as CodexMcpToolCall, Y as CodexMcpToolCallAppContext, Z as CodexMcpToolCallError, _ as CodexMcpToolCallItem, $ as CodexMcpToolCallResult, a0 as CodexPlan, a1 as CodexReasoning, a2 as CodexReasoningItem, a3 as CodexSessionRecord, a4 as CodexSubAgentActivity, a5 as CodexTextInput, a6 as CodexThread, a7 as CodexThreadStarted, a8 as CodexThreadStartedEvent, a9 as CodexThreadStartedParams, aa as CodexThreadTokenUsage, ab as CodexTodoListItem, ac as CodexTokenUsageBreakdown, ad as CodexTokenUsageParams, ae as CodexTokenUsageUpdated, af as CodexTurn, ag as CodexTurnCompleted, ah as CodexTurnCompletedEvent, ai as CodexTurnError, aj as CodexTurnFailedEvent, ak as CodexTurnParams, al as CodexTurnStarted, am as CodexTurnStartedEvent, an as CodexUsage, ao as CodexUserInput, ap as CodexUserMessage, aq as CodexWebSearch, ar as CodexWebSearchItem, as as ComputeConfig, at as ComputeConfig1, au as ConfigMetadata, av as Cost, aw as Cost1, ax as CronTrigger, ay as DeltaFrame, az as Duration, aA as EffortLevel, aB as EllipsisGrant, aC as EllipsisPermissions, aD as EnvironmentBaseBuild, aE as EnvironmentConfig, aF as EnvironmentHooks, aG as EnvironmentHooks1, aH as EnvironmentOutputPayload, aI as EnvironmentOutputRecord, aJ as EnvironmentPhasePayload, aK as EnvironmentPhaseRecord, aL as EnvironmentReadyPayload, aM as EnvironmentReadyRecord, aN as EnvironmentScript, aO as EnvironmentSource, aP as EnvironmentVariable, aQ as ErrorFrame, aR as ErrorReason, aS as GeminiConfig, aT as GeminiErrorEvent, aU as GeminiInitEvent, aV as GeminiMessageEvent, aW as GeminiModelStats, aX as GeminiResultEvent, aY as GeminiSessionRecord, aZ as GeminiStreamEvent, a_ as GeminiStreamStats, a$ as GeminiToolError, b0 as GeminiToolResultEvent, b1 as GeminiToolUseEvent, b2 as GithubAccountFilter, b3 as GithubAccountSelector, b4 as GithubAccountSnippet, b5 as GithubAccountType, b6 as GithubCheckRunEvent, b7 as GithubCheckSuiteEvent, b8 as GithubIssueEvent, b9 as GithubPermissions, ba as GithubPullRequestEvent, bb as GithubPushEvent, bc as GithubReleaseEvent, bd as GithubStatusEvent, be as GithubWorkflowRunEvent, bf as HandlerService, bg as HeartbeatFrame, bh as InputContract, bi as IssueAction, bj as LegacyAssistantPayload, bk as LegacyNativeUsage, bl as LegacyResultPayload, bm as Level, bn as LifecycleSessionRecord, bo as LinearIssueAction, bp as LinearIssueChanged, bq as LinearIssueEvent, br as LinearLabelsChange, bs as LinearValueChange, bt as LinearValueFilter, bu as LlmCost, bv as LlmCostSplit, bw as McpRemoteServer, bx as McpServerRef, by as McpStdioServer, bz as MemorySize, bA as MessageEndedPayload, bB as MessageEndedRecord, bC as MessageQueuedPayload, bD as MessageQueuedRecord, bE as MessageRecord, bF as MessageRequeuedPayload, bG as MessageRequeuedRecord, bH as MessageStartedPayload, bI as MessageStartedRecord, bJ as ModelLlmCostSplit, bK as ModelTokenCounts, bL as OutputConfig, bM as PermissionsConfig, bN as PermissionsConfig1, bO as PlatformSessionRecord, bP as PromptBlockedReason, bQ as PullRequest, bR as PullRequestAction, bS as ReactCheckRun, bT as ReactCheckSuite, bU as ReactIssue, bV as ReactLinearIssue, bW as ReactPullRequest, bX as ReactPush, bY as ReactRelease, bZ as ReactSentry, b_ as ReactSlackChannel, b$ as ReactStatus, c0 as ReactTrigger, c1 as ReactWorkflowRun, c2 as RecordsFrame, c3 as ReleaseAction, c4 as RepositoryFilter, c5 as RepositoryRef, c6 as Review, c7 as ReviewComment, c8 as ReviewConfig, c9 as ReviewConfigsListResponse, ca as ReviewReviewer, cb as ReviewSummary, cc as ReviewsListResponse, cd as SdkAssistantRecord, ce as SdkCacheCreation, cf as SdkContentBlock, cg as SdkRateLimitRecord, ch as SdkRecord, ci as SdkResultRecord, cj as SdkServerToolResultBlock, ck as SdkServerToolUseBlock, cl as SdkSystemRecord, cm as SdkTextBlock, cn as SdkThinkingBlock, co as SdkToolResultBlock, cp as SdkToolUseBlock, cq as SdkUserRecord, cr as SendSessionMessageRequest, cs as SentryAction, ct as SentryAlertEvent, cu as Session, cv as SessionAgent, cw as SessionArchived, cx as SessionAttribution, cy as SessionClosedPayload, cz as SessionClosedRecord, cA as SessionConfig, cB as SessionConversation, cC as SessionConversationConfig, cD as SessionEnvironment, cE as SessionError, cF as SessionEventActor, cG as SessionFrame, cH as SessionGit, cI as SessionGitCommit, cJ as SessionGitFile, cK as SessionGitPr, cL as SessionGitRepo, cM as SessionHandler, cN as SessionMessage, cO as SessionMessageImage, cP as SessionMessageResponse, cQ as SessionOutput, cR as SessionParent, cS as SessionPrompting, cT as SessionRecord, cU as SessionRecordsListResponse, cV as SessionResponse, cW as SessionReview, cX as SessionSource, cY as SessionStatus, cZ as SessionStreamFrame, c_ as SessionSummary, c$ as SessionSummarySource, d0 as SessionsListResponse, d1 as SettingsRef, d2 as SkillRef, d3 as SlackChannelCreatedEvent, d4 as SlackMessageEvent, d5 as StatusAction, d6 as StreamFrame, d7 as TokenCounts, d8 as Tokens, d9 as Tokens1, da as TokensInfo, db as UnknownSessionRecord, dc as UpdateSessionRequest, dd as WorkflowRunAction, de as paths } from './types-
|
|
1
|
+
import { c as components } from './types-BAJ82SH6.js';
|
|
2
|
+
export { A as AgentConfig, a as AgentIdentity, b as AttributionType, B as BudgetConfig, C as CheckRunAction, d as CheckSuiteAction, e as ClaudeAssistantEvent, f as ClaudeAssistantMessage, g as ClaudeConfig, h as ClaudeConversationResetEvent, i as ClaudeNativeEvent, j as ClaudeNativeSessionRecord, k as ClaudeNativeUsage, l as ClaudeRateLimitEvent, m as ClaudeRateLimitInfo, n as ClaudeResultEvent, o as ClaudeSessionRecord, p as ClaudeSystemEvent, q as ClaudeUserEvent, r as ClaudeUserMessage, s as CodexAgentMessage, t as CodexAgentMessageItem, u as CodexAppServerError, v as CodexAppServerEvent, w as CodexAppServerItem, x as CodexAppServerNotification, y as CodexAppServerSessionRecord, z as CodexCollabAgentToolCall, D as CodexCommandExecution, E as CodexCommandExecutionItem, F as CodexConfig, G as CodexContextCompaction, H as CodexEffortLevel, I as CodexErrorEvent, J as CodexErrorItem, K as CodexErrorParams, L as CodexEvent, M as CodexFileChange, N as CodexFileChangeItem, O as CodexFileUpdate, P as CodexItem, Q as CodexItemCompleted, R as CodexItemCompletedEvent, S as CodexItemParams, T as CodexItemStarted, U as CodexItemStartedEvent, V as CodexItemUpdatedEvent, W as CodexLocalImageInput, X as CodexMcpToolCall, Y as CodexMcpToolCallAppContext, Z as CodexMcpToolCallError, _ as CodexMcpToolCallItem, $ as CodexMcpToolCallResult, a0 as CodexPlan, a1 as CodexReasoning, a2 as CodexReasoningItem, a3 as CodexSessionRecord, a4 as CodexSubAgentActivity, a5 as CodexTextInput, a6 as CodexThread, a7 as CodexThreadStarted, a8 as CodexThreadStartedEvent, a9 as CodexThreadStartedParams, aa as CodexThreadTokenUsage, ab as CodexTodoListItem, ac as CodexTokenUsageBreakdown, ad as CodexTokenUsageParams, ae as CodexTokenUsageUpdated, af as CodexTurn, ag as CodexTurnCompleted, ah as CodexTurnCompletedEvent, ai as CodexTurnError, aj as CodexTurnFailedEvent, ak as CodexTurnParams, al as CodexTurnStarted, am as CodexTurnStartedEvent, an as CodexUsage, ao as CodexUserInput, ap as CodexUserMessage, aq as CodexWebSearch, ar as CodexWebSearchItem, as as ComputeConfig, at as ComputeConfig1, au as ConfigMetadata, av as Cost, aw as Cost1, ax as CronTrigger, ay as DeltaFrame, az as Duration, aA as EffortLevel, aB as EllipsisGrant, aC as EllipsisPermissions, aD as EnvironmentBaseBuild, aE as EnvironmentConfig, aF as EnvironmentHooks, aG as EnvironmentHooks1, aH as EnvironmentOutputPayload, aI as EnvironmentOutputRecord, aJ as EnvironmentPhasePayload, aK as EnvironmentPhaseRecord, aL as EnvironmentReadyPayload, aM as EnvironmentReadyRecord, aN as EnvironmentScript, aO as EnvironmentSource, aP as EnvironmentVariable, aQ as ErrorFrame, aR as ErrorReason, aS as GeminiConfig, aT as GeminiErrorEvent, aU as GeminiInitEvent, aV as GeminiMessageEvent, aW as GeminiModelStats, aX as GeminiResultEvent, aY as GeminiSessionRecord, aZ as GeminiStreamEvent, a_ as GeminiStreamStats, a$ as GeminiToolError, b0 as GeminiToolResultEvent, b1 as GeminiToolUseEvent, b2 as GithubAccountFilter, b3 as GithubAccountSelector, b4 as GithubAccountSnippet, b5 as GithubAccountType, b6 as GithubCheckRunEvent, b7 as GithubCheckSuiteEvent, b8 as GithubIssueEvent, b9 as GithubPermissions, ba as GithubPullRequestEvent, bb as GithubPushEvent, bc as GithubReleaseEvent, bd as GithubStatusEvent, be as GithubWorkflowRunEvent, bf as HandlerService, bg as HeartbeatFrame, bh as InputContract, bi as IssueAction, bj as LegacyAssistantPayload, bk as LegacyNativeUsage, bl as LegacyResultPayload, bm as Level, bn as LifecycleSessionRecord, bo as LinearIssueAction, bp as LinearIssueChanged, bq as LinearIssueEvent, br as LinearLabelsChange, bs as LinearValueChange, bt as LinearValueFilter, bu as LlmCost, bv as LlmCostSplit, bw as McpRemoteServer, bx as McpServerRef, by as McpStdioServer, bz as MemorySize, bA as MessageEndedPayload, bB as MessageEndedRecord, bC as MessageQueuedPayload, bD as MessageQueuedRecord, bE as MessageRecord, bF as MessageRequeuedPayload, bG as MessageRequeuedRecord, bH as MessageStartedPayload, bI as MessageStartedRecord, bJ as ModelLlmCostSplit, bK as ModelTokenCounts, bL as OutputConfig, bM as PermissionsConfig, bN as PermissionsConfig1, bO as PlatformSessionRecord, bP as PromptBlockedReason, bQ as PullRequest, bR as PullRequestAction, bS as ReactCheckRun, bT as ReactCheckSuite, bU as ReactIssue, bV as ReactLinearIssue, bW as ReactPullRequest, bX as ReactPush, bY as ReactRelease, bZ as ReactSentry, b_ as ReactSlackChannel, b$ as ReactStatus, c0 as ReactTrigger, c1 as ReactWorkflowRun, c2 as RecordsFrame, c3 as ReleaseAction, c4 as RepositoryFilter, c5 as RepositoryRef, c6 as Review, c7 as ReviewComment, c8 as ReviewConfig, c9 as ReviewConfigsListResponse, ca as ReviewReviewer, cb as ReviewSummary, cc as ReviewsListResponse, cd as SdkAssistantRecord, ce as SdkCacheCreation, cf as SdkContentBlock, cg as SdkRateLimitRecord, ch as SdkRecord, ci as SdkResultRecord, cj as SdkServerToolResultBlock, ck as SdkServerToolUseBlock, cl as SdkSystemRecord, cm as SdkTextBlock, cn as SdkThinkingBlock, co as SdkToolResultBlock, cp as SdkToolUseBlock, cq as SdkUserRecord, cr as SendSessionMessageRequest, cs as SentryAction, ct as SentryAlertEvent, cu as Session, cv as SessionAgent, cw as SessionArchived, cx as SessionAttribution, cy as SessionClosedPayload, cz as SessionClosedRecord, cA as SessionConfig, cB as SessionConversation, cC as SessionConversationConfig, cD as SessionEnvironment, cE as SessionError, cF as SessionEventActor, cG as SessionFrame, cH as SessionGit, cI as SessionGitCommit, cJ as SessionGitFile, cK as SessionGitPr, cL as SessionGitRepo, cM as SessionHandler, cN as SessionMessage, cO as SessionMessageImage, cP as SessionMessageResponse, cQ as SessionOutput, cR as SessionParent, cS as SessionPrompting, cT as SessionRecord, cU as SessionRecordsListResponse, cV as SessionResponse, cW as SessionReview, cX as SessionSource, cY as SessionStatus, cZ as SessionStreamFrame, c_ as SessionSummary, c$ as SessionSummarySource, d0 as SessionsListResponse, d1 as SettingsRef, d2 as SkillRef, d3 as SlackChannelCreatedEvent, d4 as SlackMessageEvent, d5 as StatusAction, d6 as StreamFrame, d7 as TokenCounts, d8 as Tokens, d9 as Tokens1, da as TokensInfo, db as UnknownSessionRecord, dc as UpdateSessionRequest, dd as WorkflowRunAction, de as paths } from './types-BAJ82SH6.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Frames on /v1/sessions/stream, /v1/agents/stream and /v1/vm-executions/{id}/stream. Ignore unknown frame types.
|
|
@@ -2895,6 +2895,21 @@ declare class EllipsisSessions {
|
|
|
2895
2895
|
* Grant match patterns can further restrict access to individual resources.
|
|
2896
2896
|
*/
|
|
2897
2897
|
git(id: string): Promise<S['SessionGitResponse']>;
|
|
2898
|
+
/**
|
|
2899
|
+
* Get Session Image
|
|
2900
|
+
*
|
|
2901
|
+
* Return an image sent with a message to the session.
|
|
2902
|
+
*
|
|
2903
|
+
* Each message lists its images, with their IDs, in `images`.
|
|
2904
|
+
*
|
|
2905
|
+
* Required permissions: read:sessions.
|
|
2906
|
+
* API key: Supported.
|
|
2907
|
+
* CLI user token: Supported.
|
|
2908
|
+
* Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
2909
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
2910
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
2911
|
+
*/
|
|
2912
|
+
image(session_id: string, id: string): Promise<S['ImageAttachment']>;
|
|
2898
2913
|
/**
|
|
2899
2914
|
* List Sessions
|
|
2900
2915
|
*
|
|
@@ -3066,7 +3081,7 @@ declare class EllipsisSessions {
|
|
|
3066
3081
|
/**
|
|
3067
3082
|
* Update Session
|
|
3068
3083
|
*
|
|
3069
|
-
* Archive or unarchive a session and return it.
|
|
3084
|
+
* Archive or unarchive a session, or set its summary, and return it.
|
|
3070
3085
|
*
|
|
3071
3086
|
* Set archived to true to record the current server time and the
|
|
3072
3087
|
* authenticated GitHub user. API-key requests record no user.
|
|
@@ -3084,6 +3099,11 @@ declare class EllipsisSessions {
|
|
|
3084
3099
|
* take messages again. 409 `session_superseded` when a newer session
|
|
3085
3100
|
* now answers the same thread.
|
|
3086
3101
|
*
|
|
3102
|
+
* Set summary to name the session. The summary's source becomes
|
|
3103
|
+
* `user`, and Ellipsis never replaces it with a generated one. With
|
|
3104
|
+
* both fields, the archive change applies first, and a refused
|
|
3105
|
+
* archive change leaves the summary as it was.
|
|
3106
|
+
*
|
|
3087
3107
|
* Changes are delivered to session and session-list streams.
|
|
3088
3108
|
*
|
|
3089
3109
|
* Required permissions: write:sessions.
|
|
@@ -3093,14 +3113,47 @@ declare class EllipsisSessions {
|
|
|
3093
3113
|
* Higher permission levels include lower levels: read < write < delete.
|
|
3094
3114
|
* Grant match patterns can further restrict access to individual resources.
|
|
3095
3115
|
*/
|
|
3096
|
-
update(id: string, options
|
|
3097
|
-
archived
|
|
3116
|
+
update(id: string, options?: {
|
|
3117
|
+
archived?: boolean | null;
|
|
3118
|
+
summary?: string | null;
|
|
3098
3119
|
}): Promise<S['SessionResponse']>;
|
|
3099
3120
|
/** Start a session and return a handle over it. */
|
|
3100
3121
|
run(options: Parameters<EllipsisSessions['start']>[0]): Promise<SessionHandle>;
|
|
3101
3122
|
/** A handle over an existing session. */
|
|
3102
3123
|
handle(sessionId: string): Promise<SessionHandle>;
|
|
3103
3124
|
}
|
|
3125
|
+
declare class EllipsisUserSettings {
|
|
3126
|
+
private readonly transport;
|
|
3127
|
+
constructor(transport: Transport);
|
|
3128
|
+
/**
|
|
3129
|
+
* Get User Settings
|
|
3130
|
+
*
|
|
3131
|
+
* Get the signed in user's own settings.
|
|
3132
|
+
*
|
|
3133
|
+
* Required permissions: read:user.
|
|
3134
|
+
* API key: Requires a CLI user token.
|
|
3135
|
+
* CLI user token: Supported.
|
|
3136
|
+
* Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
|
|
3137
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3138
|
+
*/
|
|
3139
|
+
get(): Promise<S['UserSettings']>;
|
|
3140
|
+
/**
|
|
3141
|
+
* Patch User Settings
|
|
3142
|
+
*
|
|
3143
|
+
* Change the signed in user's own settings.
|
|
3144
|
+
*
|
|
3145
|
+
* Only the keys sent change, and the response is every setting.
|
|
3146
|
+
*
|
|
3147
|
+
* Required permissions: write:user.
|
|
3148
|
+
* API key: Requires a CLI user token.
|
|
3149
|
+
* CLI user token: Supported.
|
|
3150
|
+
* Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
|
|
3151
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
3152
|
+
*/
|
|
3153
|
+
update(options?: {
|
|
3154
|
+
web?: S['PatchUserSettingsWeb'] | null;
|
|
3155
|
+
}): Promise<S['UserSettings']>;
|
|
3156
|
+
}
|
|
3104
3157
|
declare class EllipsisUserTokens {
|
|
3105
3158
|
private readonly transport;
|
|
3106
3159
|
constructor(transport: Transport);
|
|
@@ -3127,6 +3180,7 @@ declare class EllipsisUserTokens {
|
|
|
3127
3180
|
}
|
|
3128
3181
|
declare class EllipsisUser {
|
|
3129
3182
|
private readonly transport;
|
|
3183
|
+
readonly settings: EllipsisUserSettings;
|
|
3130
3184
|
readonly tokens: EllipsisUserTokens;
|
|
3131
3185
|
constructor(transport: Transport);
|
|
3132
3186
|
}
|
package/dist/index.js
CHANGED
|
@@ -1626,6 +1626,24 @@ var EllipsisSessions = class {
|
|
|
1626
1626
|
const path = `/v1/sessions/${enc(id)}/git`;
|
|
1627
1627
|
return await this.transport.request("GET", path);
|
|
1628
1628
|
}
|
|
1629
|
+
/**
|
|
1630
|
+
* Get Session Image
|
|
1631
|
+
*
|
|
1632
|
+
* Return an image sent with a message to the session.
|
|
1633
|
+
*
|
|
1634
|
+
* Each message lists its images, with their IDs, in `images`.
|
|
1635
|
+
*
|
|
1636
|
+
* Required permissions: read:sessions.
|
|
1637
|
+
* API key: Supported.
|
|
1638
|
+
* CLI user token: Supported.
|
|
1639
|
+
* Session token: Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
|
|
1640
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1641
|
+
* Grant match patterns can further restrict access to individual resources.
|
|
1642
|
+
*/
|
|
1643
|
+
async image(session_id, id) {
|
|
1644
|
+
const path = `/v1/sessions/${enc(session_id)}/images/${enc(id)}`;
|
|
1645
|
+
return await this.transport.request("GET", path);
|
|
1646
|
+
}
|
|
1629
1647
|
/**
|
|
1630
1648
|
* List Sessions
|
|
1631
1649
|
*
|
|
@@ -1801,7 +1819,7 @@ var EllipsisSessions = class {
|
|
|
1801
1819
|
/**
|
|
1802
1820
|
* Update Session
|
|
1803
1821
|
*
|
|
1804
|
-
* Archive or unarchive a session and return it.
|
|
1822
|
+
* Archive or unarchive a session, or set its summary, and return it.
|
|
1805
1823
|
*
|
|
1806
1824
|
* Set archived to true to record the current server time and the
|
|
1807
1825
|
* authenticated GitHub user. API-key requests record no user.
|
|
@@ -1819,6 +1837,11 @@ var EllipsisSessions = class {
|
|
|
1819
1837
|
* take messages again. 409 `session_superseded` when a newer session
|
|
1820
1838
|
* now answers the same thread.
|
|
1821
1839
|
*
|
|
1840
|
+
* Set summary to name the session. The summary's source becomes
|
|
1841
|
+
* `user`, and Ellipsis never replaces it with a generated one. With
|
|
1842
|
+
* both fields, the archive change applies first, and a refused
|
|
1843
|
+
* archive change leaves the summary as it was.
|
|
1844
|
+
*
|
|
1822
1845
|
* Changes are delivered to session and session-list streams.
|
|
1823
1846
|
*
|
|
1824
1847
|
* Required permissions: write:sessions.
|
|
@@ -1828,9 +1851,9 @@ var EllipsisSessions = class {
|
|
|
1828
1851
|
* Higher permission levels include lower levels: read < write < delete.
|
|
1829
1852
|
* Grant match patterns can further restrict access to individual resources.
|
|
1830
1853
|
*/
|
|
1831
|
-
async update(id, options) {
|
|
1854
|
+
async update(id, options = {}) {
|
|
1832
1855
|
const path = `/v1/sessions/${enc(id)}`;
|
|
1833
|
-
const body = buildBody({ archived: options.archived });
|
|
1856
|
+
const body = buildBody({ archived: options.archived, summary: options.summary });
|
|
1834
1857
|
return await this.transport.request("PUT", path, { body });
|
|
1835
1858
|
}
|
|
1836
1859
|
// ---- lifecycle sugar (hand-written layer over the generated core) ----
|
|
@@ -1845,6 +1868,45 @@ var EllipsisSessions = class {
|
|
|
1845
1868
|
return new SessionHandle(this, response.session);
|
|
1846
1869
|
}
|
|
1847
1870
|
};
|
|
1871
|
+
var EllipsisUserSettings = class {
|
|
1872
|
+
constructor(transport) {
|
|
1873
|
+
this.transport = transport;
|
|
1874
|
+
}
|
|
1875
|
+
transport;
|
|
1876
|
+
/**
|
|
1877
|
+
* Get User Settings
|
|
1878
|
+
*
|
|
1879
|
+
* Get the signed in user's own settings.
|
|
1880
|
+
*
|
|
1881
|
+
* Required permissions: read:user.
|
|
1882
|
+
* API key: Requires a CLI user token.
|
|
1883
|
+
* CLI user token: Supported.
|
|
1884
|
+
* Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
|
|
1885
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1886
|
+
*/
|
|
1887
|
+
async get() {
|
|
1888
|
+
const path = "/v1/user/settings";
|
|
1889
|
+
return await this.transport.request("GET", path);
|
|
1890
|
+
}
|
|
1891
|
+
/**
|
|
1892
|
+
* Patch User Settings
|
|
1893
|
+
*
|
|
1894
|
+
* Change the signed in user's own settings.
|
|
1895
|
+
*
|
|
1896
|
+
* Only the keys sent change, and the response is every setting.
|
|
1897
|
+
*
|
|
1898
|
+
* Required permissions: write:user.
|
|
1899
|
+
* API key: Requires a CLI user token.
|
|
1900
|
+
* CLI user token: Supported.
|
|
1901
|
+
* Session token: Not supported by session tokens, even with permissions.ellipsis enabled.
|
|
1902
|
+
* Higher permission levels include lower levels: read < write < delete.
|
|
1903
|
+
*/
|
|
1904
|
+
async update(options = {}) {
|
|
1905
|
+
const path = "/v1/user/settings";
|
|
1906
|
+
const body = buildBody({ web: options.web });
|
|
1907
|
+
return await this.transport.request("PATCH", path, { body });
|
|
1908
|
+
}
|
|
1909
|
+
};
|
|
1848
1910
|
var EllipsisUserTokens = class {
|
|
1849
1911
|
constructor(transport) {
|
|
1850
1912
|
this.transport = transport;
|
|
@@ -1880,9 +1942,11 @@ var EllipsisUserTokens = class {
|
|
|
1880
1942
|
var EllipsisUser = class {
|
|
1881
1943
|
constructor(transport) {
|
|
1882
1944
|
this.transport = transport;
|
|
1945
|
+
this.settings = new EllipsisUserSettings(transport);
|
|
1883
1946
|
this.tokens = new EllipsisUserTokens(transport);
|
|
1884
1947
|
}
|
|
1885
1948
|
transport;
|
|
1949
|
+
settings;
|
|
1886
1950
|
tokens;
|
|
1887
1951
|
};
|
|
1888
1952
|
var EllipsisVmExecutions = class {
|
package/dist/store/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as CodexAgentMessage, cT as SessionRecord, N as CodexFileChangeItem, L as CodexEvent, _ as CodexMcpToolCallItem, ch as SdkRecord, cu as Session, d6 as StreamFrame } from '../types-
|
|
1
|
+
import { s as CodexAgentMessage, cT as SessionRecord, N as CodexFileChangeItem, L as CodexEvent, _ as CodexMcpToolCallItem, ch as SdkRecord, cu as Session, d6 as StreamFrame } from '../types-BAJ82SH6.js';
|
|
2
2
|
|
|
3
3
|
type WorkPhase = 'queued' | 'preparing' | 'starting' | 'working';
|
|
4
4
|
interface MessageTiming {
|
|
@@ -192,11 +192,17 @@ type EntryBody = {
|
|
|
192
192
|
};
|
|
193
193
|
declare function isWorkFold(item: TranscriptItem): boolean;
|
|
194
194
|
declare function reasoningSummaryTitle(summary: string): string;
|
|
195
|
-
declare function
|
|
195
|
+
declare function harnessName(session: {
|
|
196
|
+
claude_code?: unknown;
|
|
197
|
+
codex?: unknown;
|
|
198
|
+
gemini?: unknown;
|
|
199
|
+
}): string | null;
|
|
200
|
+
declare function entryBody(entry: LedgerEntry, { live, now, liveText, liveSummary, harness, }: {
|
|
196
201
|
live: boolean;
|
|
197
202
|
now: number;
|
|
198
203
|
liveText?: string;
|
|
199
204
|
liveSummary?: string;
|
|
205
|
+
harness?: string | null;
|
|
200
206
|
}): EntryBody;
|
|
201
207
|
|
|
202
208
|
interface ToolActivity {
|
|
@@ -252,4 +258,4 @@ declare class SessionTranscriptStore {
|
|
|
252
258
|
ingest: (rawFrame: StreamFrame) => void;
|
|
253
259
|
}
|
|
254
260
|
|
|
255
|
-
export { BRANCH_GLYPH, type ChatNode, type ChatToolNode, type ChatTurn, type EntryBody, type EnvironmentLogKind, type EnvironmentLogLine, type EnvironmentState, type EventToItemsOptions, type ItemKind, LIVE_GLYPH, type LedgerEntry, type MessageProgress, type MessageTiming, type PlacedItem, type RecordSlice, type SessionTranscriptSnapshot, SessionTranscriptStore, StreamFrame, type ToolActivity, type TranscriptItem, USER_BAR, type WorkPhase, activitySummary, awaitingAgentPhase, cacheTierLabel, chatTurnsToItems, clampLines, claudePayload, codexChangedPaths, codexEventToItems, codexMcpToolName, codexSubagentThreads, collapseToolRuns, deliveredUnechoedSends, deriveEnvironmentState, emptySessionTranscriptSnapshot, entryBody, entrySeconds, environmentOutputLine, environmentOutputLines, environmentOutputStep, environmentPhaseLabel, environmentSummary, eventToItems, foldCosts, foldGutter, foldRun, formatDuration, groupRecordsToChatTurns, gutterFor, hookPhrase, humanDuration, isCodexSubagentRecord, isConnectVisibleRecord, isConversationOver, isFoldable, isToolActivity, isToolFold, isWorkFold, lastLines, layOutItems, lifecycleText, messageEndedText, oneLine, pendingToolCalls, reasoningSummaryTitle, recordSlice, recordToItems, resultCostUsd, seedTranscriptStore, sessionLogText, splitLedger, startupHeadline, startupSettled, statusActivityText, summarizeToolInput, tailLines, toolActivities, toolResultText, toolRunMembers };
|
|
261
|
+
export { BRANCH_GLYPH, type ChatNode, type ChatToolNode, type ChatTurn, type EntryBody, type EnvironmentLogKind, type EnvironmentLogLine, type EnvironmentState, type EventToItemsOptions, type ItemKind, LIVE_GLYPH, type LedgerEntry, type MessageProgress, type MessageTiming, type PlacedItem, type RecordSlice, type SessionTranscriptSnapshot, SessionTranscriptStore, StreamFrame, type ToolActivity, type TranscriptItem, USER_BAR, type WorkPhase, activitySummary, awaitingAgentPhase, cacheTierLabel, chatTurnsToItems, clampLines, claudePayload, codexChangedPaths, codexEventToItems, codexMcpToolName, codexSubagentThreads, collapseToolRuns, deliveredUnechoedSends, deriveEnvironmentState, emptySessionTranscriptSnapshot, entryBody, entrySeconds, environmentOutputLine, environmentOutputLines, environmentOutputStep, environmentPhaseLabel, environmentSummary, eventToItems, foldCosts, foldGutter, foldRun, formatDuration, groupRecordsToChatTurns, gutterFor, harnessName, hookPhrase, humanDuration, isCodexSubagentRecord, isConnectVisibleRecord, isConversationOver, isFoldable, isToolActivity, isToolFold, isWorkFold, lastLines, layOutItems, lifecycleText, messageEndedText, oneLine, pendingToolCalls, reasoningSummaryTitle, recordSlice, recordToItems, resultCostUsd, seedTranscriptStore, sessionLogText, splitLedger, startupHeadline, startupSettled, statusActivityText, summarizeToolInput, tailLines, toolActivities, toolResultText, toolRunMembers };
|
package/dist/store/index.js
CHANGED
|
@@ -1829,11 +1829,18 @@ function reasoningSummaryTitle(summary) {
|
|
|
1829
1829
|
const title = line.replace(/^#{1,6}\s+/, "").replace(/^[*_`]+|[*_`]+$/g, "").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").trim();
|
|
1830
1830
|
return title.length > 120 ? `${title.slice(0, 119).trimEnd()}\u2026` : title;
|
|
1831
1831
|
}
|
|
1832
|
+
function harnessName(session) {
|
|
1833
|
+
if (session.claude_code) return "Claude Code";
|
|
1834
|
+
if (session.codex) return "Codex";
|
|
1835
|
+
if (session.gemini) return "Gemini CLI";
|
|
1836
|
+
return null;
|
|
1837
|
+
}
|
|
1832
1838
|
function entryBody(entry, {
|
|
1833
1839
|
live,
|
|
1834
1840
|
now,
|
|
1835
1841
|
liveText = "",
|
|
1836
|
-
liveSummary = ""
|
|
1842
|
+
liveSummary = "",
|
|
1843
|
+
harness = null
|
|
1837
1844
|
}) {
|
|
1838
1845
|
live = live && (entry.progress === void 0 || entry.progress.phase !== null);
|
|
1839
1846
|
const raw = chatTurnsToItems(entry.turns);
|
|
@@ -1847,7 +1854,7 @@ function entryBody(entry, {
|
|
|
1847
1854
|
const header = {
|
|
1848
1855
|
key,
|
|
1849
1856
|
kind: "summary",
|
|
1850
|
-
text: live ? phase === "preparing" ? "Preparing environment" : phase === "starting" ?
|
|
1857
|
+
text: live ? phase === "preparing" ? "Preparing environment" : phase === "starting" ? `Starting ${harness ?? "agent"}` : phase === "queued" ? "Queued" : reasoningSummaryTitle(liveSummary) || "Working" : seconds == null ? "Session startup" : `Worked for ${humanDuration(seconds)}`,
|
|
1851
1858
|
spaceBefore: true,
|
|
1852
1859
|
...entry.cancelled || entry.turns.some((turn) => turn.isError) ? { isError: true } : {},
|
|
1853
1860
|
...live ? { loading: true } : {}
|
|
@@ -2173,6 +2180,7 @@ export {
|
|
|
2173
2180
|
formatDuration,
|
|
2174
2181
|
groupRecordsToChatTurns,
|
|
2175
2182
|
gutterFor,
|
|
2183
|
+
harnessName,
|
|
2176
2184
|
hookPhrase,
|
|
2177
2185
|
humanDuration,
|
|
2178
2186
|
isCodexSubagentRecord,
|
package/dist/stream/index.d.ts
CHANGED