@opencode/client 0.0.0-dev-19533 → 0.0.0-dev-19537
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/dist/effect/api/api.d.ts +10 -1
- package/dist/effect/client.d.ts +1 -0
- package/dist/effect/generated/client.d.ts +2 -1
- package/dist/effect/generated/client.js +5 -0
- package/dist/promise/client.d.ts +2 -1
- package/dist/promise/generated/client.d.ts +3 -2
- package/dist/promise/generated/client.js +8 -0
- package/dist/promise/generated/types.d.ts +68 -4
- package/dist/solid/data.js +11 -0
- package/package.json +4 -4
package/dist/effect/api/api.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type { PromptInput } from "@opencode/schema/prompt-input";
|
|
|
17
17
|
import type { AgentAttachment } from "@opencode/schema/prompt";
|
|
18
18
|
import type { Skill } from "@opencode/schema/skill";
|
|
19
19
|
import type { Event } from "@opencode/schema/event";
|
|
20
|
+
import type { FileDiff } from "@opencode/schema/file-diff";
|
|
20
21
|
import type { InstructionEntry } from "@opencode/schema/instruction-entry";
|
|
21
22
|
import type { Schema } from "effect";
|
|
22
23
|
import type { EventLog } from "@opencode/schema/event-log";
|
|
@@ -35,7 +36,6 @@ import type { PtyTicket } from "@opencode/schema/pty-ticket";
|
|
|
35
36
|
import type { Reference } from "@opencode/schema/reference";
|
|
36
37
|
import type { Worktree } from "@opencode/schema/worktree";
|
|
37
38
|
import type { Vcs } from "@opencode/schema/vcs";
|
|
38
|
-
import type { FileDiff } from "@opencode/schema/file-diff";
|
|
39
39
|
import type { WebSearch } from "@opencode/schema/websearch";
|
|
40
40
|
import type { Config } from "@opencode/schema/config";
|
|
41
41
|
export type HealthGetOutput = {
|
|
@@ -395,6 +395,14 @@ export type SessionContextInput = {
|
|
|
395
395
|
};
|
|
396
396
|
export type SessionContextOutput = ReadonlyArray<SessionMessage.Info>;
|
|
397
397
|
export type SessionContextOperation<E = never> = (input: SessionContextInput) => Effect.Effect<SessionContextOutput, E>;
|
|
398
|
+
export type SessionDiffInput = {
|
|
399
|
+
readonly sessionID: Session.ID;
|
|
400
|
+
readonly from?: SessionMessage.ID | undefined;
|
|
401
|
+
readonly to?: SessionMessage.ID | undefined;
|
|
402
|
+
readonly context?: number | undefined;
|
|
403
|
+
};
|
|
404
|
+
export type SessionDiffOutput = ReadonlyArray<FileDiff.Info>;
|
|
405
|
+
export type SessionDiffOperation<E = never> = (input: SessionDiffInput) => Effect.Effect<SessionDiffOutput, E>;
|
|
398
406
|
export type SessionInboxListInput = {
|
|
399
407
|
readonly sessionID: Session.ID;
|
|
400
408
|
};
|
|
@@ -1471,6 +1479,7 @@ export interface SessionApi<E = never> {
|
|
|
1471
1479
|
readonly commit: SessionRevertCommitOperation<E>;
|
|
1472
1480
|
};
|
|
1473
1481
|
readonly context: SessionContextOperation<E>;
|
|
1482
|
+
readonly diff: SessionDiffOperation<E>;
|
|
1474
1483
|
readonly inbox: {
|
|
1475
1484
|
readonly list: SessionInboxListOperation<E>;
|
|
1476
1485
|
readonly cancel: SessionInboxCancelOperation<E>;
|
package/dist/effect/client.d.ts
CHANGED
|
@@ -2268,6 +2268,7 @@ export declare const make: (options?: {
|
|
|
2268
2268
|
commit: (input: import("./api.js").SessionRevertCommitInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
|
|
2269
2269
|
};
|
|
2270
2270
|
context: (input: import("./api.js").SessionContextInput) => Effect.Effect<import("./api.js").SessionContextOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
|
|
2271
|
+
diff: (input: import("./api.js").SessionDiffInput) => Effect.Effect<import("./api.js").SessionDiffOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
|
|
2271
2272
|
inbox: {
|
|
2272
2273
|
list: (input: import("./api.js").SessionInboxListInput) => Effect.Effect<import("./api.js").SessionInboxListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
|
|
2273
2274
|
cancel: (input: import("./api.js").SessionInboxCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Stream, Schema } from "effect";
|
|
2
2
|
import { Sse } from "effect/unstable/encoding";
|
|
3
3
|
import { HttpClientError } from "effect/unstable/http";
|
|
4
|
-
import type { HealthGetOutput, ServerGetOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormListOutput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, PermissionRulesInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigUpdatePreferencesInput, ConfigShellsOutput } from "../api/api.js";
|
|
4
|
+
import type { HealthGetOutput, ServerGetOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormListOutput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, PermissionRulesInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigUpdatePreferencesInput, ConfigShellsOutput } from "../api/api.js";
|
|
5
5
|
import { ClientError } from "./client-error.js";
|
|
6
6
|
export declare const make: (options?: {
|
|
7
7
|
readonly baseUrl?: URL | string;
|
|
@@ -52,6 +52,7 @@ export declare const make: (options?: {
|
|
|
52
52
|
commit: (input: SessionRevertCommitInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
|
|
53
53
|
};
|
|
54
54
|
context: (input: SessionContextInput) => Effect.Effect<SessionContextOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
|
|
55
|
+
diff: (input: SessionDiffInput) => Effect.Effect<SessionDiffOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
|
|
55
56
|
inbox: {
|
|
56
57
|
list: (input: SessionInboxListInput) => Effect.Effect<SessionInboxListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
|
|
57
58
|
cancel: (input: SessionInboxCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
|
|
@@ -135,6 +135,10 @@ const EndpointSessionRevertStage = (raw) => (input) => preserveEffect()(raw["ses
|
|
|
135
135
|
const EndpointSessionRevertClear = (raw) => (input) => preserveEffect()(raw["session.revert.clear"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapClientError)));
|
|
136
136
|
const EndpointSessionRevertCommit = (raw) => (input) => preserveEffect()(raw["session.revert.commit"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapClientError)));
|
|
137
137
|
const EndpointSessionContext = (raw) => (input) => preserveEffect()(raw["session.context"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapClientError), Effect.map((value) => value.data)));
|
|
138
|
+
const EndpointSessionDiff = (raw) => (input) => preserveEffect()(raw["session.diff"]({
|
|
139
|
+
params: { sessionID: input["sessionID"] },
|
|
140
|
+
query: { from: input["from"], to: input["to"], context: input["context"] },
|
|
141
|
+
}).pipe(Effect.mapError(mapClientError), Effect.map((value) => value.data)));
|
|
138
142
|
const EndpointSessionInboxList = (raw) => (input) => preserveEffect()(raw["session.inbox.list"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapClientError), Effect.map((value) => value.data)));
|
|
139
143
|
const EndpointSessionInboxCancel = (raw) => (input) => preserveEffect()(raw["session.inbox.cancel"]({ params: { sessionID: input["sessionID"], inboxID: input["inboxID"] } }).pipe(Effect.mapError(mapClientError)));
|
|
140
144
|
const EndpointSessionInboxSteer = (raw) => (input) => preserveEffect()(raw["session.inbox.steer"]({ params: { sessionID: input["sessionID"], inboxID: input["inboxID"] } }).pipe(Effect.mapError(mapClientError)));
|
|
@@ -188,6 +192,7 @@ const adaptGroupSession = (raw) => ({
|
|
|
188
192
|
commit: EndpointSessionRevertCommit(raw),
|
|
189
193
|
},
|
|
190
194
|
context: EndpointSessionContext(raw),
|
|
195
|
+
diff: EndpointSessionDiff(raw),
|
|
191
196
|
inbox: {
|
|
192
197
|
list: EndpointSessionInboxList(raw),
|
|
193
198
|
cancel: EndpointSessionInboxCancel(raw),
|
package/dist/promise/client.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ export declare function make(options: ClientOptions): {
|
|
|
58
58
|
commit: (input: import("./index.js").SessionRevertCommitInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
|
|
59
59
|
};
|
|
60
60
|
context: (input: import("./index.js").SessionContextInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").SessionMessageInfo[]>;
|
|
61
|
+
diff: (input: import("./index.js").SessionDiffInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").FileDiffInfo[]>;
|
|
61
62
|
inbox: {
|
|
62
63
|
list: (input: import("./index.js").SessionInboxListInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").SessionInboxInfo[]>;
|
|
63
64
|
cancel: (input: import("./index.js").SessionInboxCancelInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
|
|
@@ -77,7 +78,7 @@ export declare function make(options: ClientOptions): {
|
|
|
77
78
|
log: (input: import("./index.js").SessionLogInput, requestOptions?: OpenCode.RequestOptions) => AsyncIterable<import("./index.js").SessionLogOutput>;
|
|
78
79
|
interrupt: (input: import("./index.js").SessionInterruptInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").SessionInterruptResponse>;
|
|
79
80
|
background: (input: import("./index.js").SessionBackgroundInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
|
|
80
|
-
message: (input: import("./index.js").SessionMessageInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").SessionMessageAgentSelected | import("./index.js").SessionMessageSynthetic | import("./index.js").SessionMessageSystem | import("./index.js").SessionMessageSkill | import("./index.js").SessionMessageShell | import("./index.js").SessionMessageCompactionRunning | import("./index.js").SessionMessageLocationSwitched | import("./index.js").SessionMessageModelSelected | import("./index.js").SessionMessageCompactionFailed | import("./index.js").SessionMessageUser | import("./index.js").SessionMessageCompactionCompleted | import("./index.js").SessionMessageAssistant>;
|
|
81
|
+
message: (input: import("./index.js").SessionMessageInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").SessionMessageAgentSelected | import("./index.js").SessionMessageSynthetic | import("./index.js").SessionMessageSystem | import("./index.js").SessionMessageSkill | import("./index.js").SessionMessageShell | import("./index.js").SessionMessageCompactionRunning | import("./index.js").SessionMessageIdle | import("./index.js").SessionMessageLocationSwitched | import("./index.js").SessionMessageModelSelected | import("./index.js").SessionMessageCompactionFailed | import("./index.js").SessionMessageUser | import("./index.js").SessionMessageCompactionCompleted | import("./index.js").SessionMessageAssistant>;
|
|
81
82
|
environment: (input: import("./index.js").SessionEnvironmentInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
|
|
82
83
|
view: (input: import("./index.js").SessionViewInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
|
|
83
84
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, PermissionRulesInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigUpdatePreferencesInput, ConfigShellsOutput } from "./types.js";
|
|
1
|
+
import type { ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginAwaitActivationInput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionDiffInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxSteerInput, SessionInboxQueueInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, PermissionRulesInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, WorkspaceCreateInput, WorkspaceDestroyInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchesInput, VcsBranchesOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigUpdatePreferencesInput, ConfigShellsOutput } from "./types.js";
|
|
2
2
|
export interface ClientOptions {
|
|
3
3
|
readonly baseUrl: string;
|
|
4
4
|
readonly fetch?: typeof globalThis.fetch;
|
|
@@ -59,6 +59,7 @@ export declare function make(options: ClientOptions): {
|
|
|
59
59
|
commit: (input: SessionRevertCommitInput, requestOptions?: RequestOptions) => Promise<void>;
|
|
60
60
|
};
|
|
61
61
|
context: (input: SessionContextInput, requestOptions?: RequestOptions) => Promise<import("./types.js").SessionMessageInfo[]>;
|
|
62
|
+
diff: (input: SessionDiffInput, requestOptions?: RequestOptions) => Promise<import("./types.js").FileDiffInfo[]>;
|
|
62
63
|
inbox: {
|
|
63
64
|
list: (input: SessionInboxListInput, requestOptions?: RequestOptions) => Promise<import("./types.js").SessionInboxInfo[]>;
|
|
64
65
|
cancel: (input: SessionInboxCancelInput, requestOptions?: RequestOptions) => Promise<void>;
|
|
@@ -78,7 +79,7 @@ export declare function make(options: ClientOptions): {
|
|
|
78
79
|
log: (input: SessionLogInput, requestOptions?: RequestOptions) => AsyncIterable<SessionLogOutput>;
|
|
79
80
|
interrupt: (input: SessionInterruptInput, requestOptions?: RequestOptions) => Promise<import("./types.js").SessionInterruptResponse>;
|
|
80
81
|
background: (input: SessionBackgroundInput, requestOptions?: RequestOptions) => Promise<void>;
|
|
81
|
-
message: (input: SessionMessageInput, requestOptions?: RequestOptions) => Promise<import("./types.js").SessionMessageAgentSelected | import("./types.js").SessionMessageSynthetic | import("./types.js").SessionMessageSystem | import("./types.js").SessionMessageSkill | import("./types.js").SessionMessageShell | import("./types.js").SessionMessageCompactionRunning | import("./types.js").SessionMessageLocationSwitched | import("./types.js").SessionMessageModelSelected | import("./types.js").SessionMessageCompactionFailed | import("./types.js").SessionMessageUser | import("./types.js").SessionMessageCompactionCompleted | import("./types.js").SessionMessageAssistant>;
|
|
82
|
+
message: (input: SessionMessageInput, requestOptions?: RequestOptions) => Promise<import("./types.js").SessionMessageAgentSelected | import("./types.js").SessionMessageSynthetic | import("./types.js").SessionMessageSystem | import("./types.js").SessionMessageSkill | import("./types.js").SessionMessageShell | import("./types.js").SessionMessageCompactionRunning | import("./types.js").SessionMessageIdle | import("./types.js").SessionMessageLocationSwitched | import("./types.js").SessionMessageModelSelected | import("./types.js").SessionMessageCompactionFailed | import("./types.js").SessionMessageUser | import("./types.js").SessionMessageCompactionCompleted | import("./types.js").SessionMessageAssistant>;
|
|
82
83
|
environment: (input: SessionEnvironmentInput, requestOptions?: RequestOptions) => Promise<void>;
|
|
83
84
|
view: (input: SessionViewInput, requestOptions?: RequestOptions) => Promise<void>;
|
|
84
85
|
};
|
|
@@ -434,6 +434,14 @@ export function make(options) {
|
|
|
434
434
|
declaredStatuses: [400, 401, 404, 500],
|
|
435
435
|
empty: false,
|
|
436
436
|
}, requestOptions).then((value) => value.data),
|
|
437
|
+
diff: (input, requestOptions) => request({
|
|
438
|
+
method: "GET",
|
|
439
|
+
path: `/api/session/${encodeURIComponent(input.sessionID)}/diff`,
|
|
440
|
+
query: { from: input["from"], to: input["to"], context: input["context"] },
|
|
441
|
+
successStatus: 200,
|
|
442
|
+
declaredStatuses: [400, 401, 404, 500],
|
|
443
|
+
empty: false,
|
|
444
|
+
}, requestOptions).then((value) => value.data),
|
|
437
445
|
inbox: {
|
|
438
446
|
list: (input, requestOptions) => request({
|
|
439
447
|
method: "GET",
|
|
@@ -226,6 +226,17 @@ export type SessionProviderContextProvenance = {
|
|
|
226
226
|
protocol: string;
|
|
227
227
|
endpoint: string;
|
|
228
228
|
};
|
|
229
|
+
export type SessionMessageIdle = {
|
|
230
|
+
id: string;
|
|
231
|
+
metadata?: {
|
|
232
|
+
[x: string]: JsonValue;
|
|
233
|
+
};
|
|
234
|
+
time: {
|
|
235
|
+
created: number;
|
|
236
|
+
};
|
|
237
|
+
type: "idle";
|
|
238
|
+
outcome: "succeeded" | "failed" | "interrupted";
|
|
239
|
+
};
|
|
229
240
|
export type SessionActive = {
|
|
230
241
|
type: "running";
|
|
231
242
|
};
|
|
@@ -3143,7 +3154,7 @@ export type FormInfo1 = {
|
|
|
3143
3154
|
metadata?: FormMetadata1;
|
|
3144
3155
|
fields: FormFields2;
|
|
3145
3156
|
};
|
|
3146
|
-
export type SessionMessageInfo = SessionMessageAgentSelected | SessionMessageModelSelected | SessionMessageLocationSwitched | SessionMessageUser | SessionMessageSynthetic | SessionMessageSystem | SessionMessageSkill | SessionMessageShell | SessionMessageAssistant | SessionMessageCompaction;
|
|
3157
|
+
export type SessionMessageInfo = SessionMessageAgentSelected | SessionMessageModelSelected | SessionMessageLocationSwitched | SessionMessageUser | SessionMessageSynthetic | SessionMessageSystem | SessionMessageSkill | SessionMessageShell | SessionMessageAssistant | SessionMessageCompaction | SessionMessageIdle;
|
|
3147
3158
|
export type SessionMessageContentUpdated = {
|
|
3148
3159
|
id: string;
|
|
3149
3160
|
created: number;
|
|
@@ -4258,7 +4269,17 @@ export type SessionImportInput = {
|
|
|
4258
4269
|
readonly write: number;
|
|
4259
4270
|
};
|
|
4260
4271
|
};
|
|
4261
|
-
})
|
|
4272
|
+
}) | {
|
|
4273
|
+
readonly id: string;
|
|
4274
|
+
readonly metadata?: {
|
|
4275
|
+
readonly [x: string]: JsonValue;
|
|
4276
|
+
};
|
|
4277
|
+
readonly time: {
|
|
4278
|
+
readonly created: number;
|
|
4279
|
+
};
|
|
4280
|
+
readonly type: "idle";
|
|
4281
|
+
readonly outcome: "succeeded" | "failed" | "interrupted";
|
|
4282
|
+
}>;
|
|
4262
4283
|
readonly location?: {
|
|
4263
4284
|
readonly directory: string;
|
|
4264
4285
|
readonly workspaceID?: string;
|
|
@@ -4721,7 +4742,17 @@ export type SessionImportInput = {
|
|
|
4721
4742
|
readonly write: number;
|
|
4722
4743
|
};
|
|
4723
4744
|
};
|
|
4724
|
-
})
|
|
4745
|
+
}) | {
|
|
4746
|
+
readonly id: string;
|
|
4747
|
+
readonly metadata?: {
|
|
4748
|
+
readonly [x: string]: JsonValue;
|
|
4749
|
+
};
|
|
4750
|
+
readonly time: {
|
|
4751
|
+
readonly created: number;
|
|
4752
|
+
};
|
|
4753
|
+
readonly type: "idle";
|
|
4754
|
+
readonly outcome: "succeeded" | "failed" | "interrupted";
|
|
4755
|
+
}>;
|
|
4725
4756
|
readonly location?: {
|
|
4726
4757
|
readonly directory: string;
|
|
4727
4758
|
readonly workspaceID?: string;
|
|
@@ -5184,7 +5215,17 @@ export type SessionImportInput = {
|
|
|
5184
5215
|
readonly write: number;
|
|
5185
5216
|
};
|
|
5186
5217
|
};
|
|
5187
|
-
})
|
|
5218
|
+
}) | {
|
|
5219
|
+
readonly id: string;
|
|
5220
|
+
readonly metadata?: {
|
|
5221
|
+
readonly [x: string]: JsonValue;
|
|
5222
|
+
};
|
|
5223
|
+
readonly time: {
|
|
5224
|
+
readonly created: number;
|
|
5225
|
+
};
|
|
5226
|
+
readonly type: "idle";
|
|
5227
|
+
readonly outcome: "succeeded" | "failed" | "interrupted";
|
|
5228
|
+
}>;
|
|
5188
5229
|
readonly location?: {
|
|
5189
5230
|
readonly directory: string;
|
|
5190
5231
|
readonly workspaceID?: string;
|
|
@@ -5933,6 +5974,29 @@ export type SessionContextInput = {
|
|
|
5933
5974
|
export type SessionContextOutput = {
|
|
5934
5975
|
data: Array<SessionMessageInfo>;
|
|
5935
5976
|
}["data"];
|
|
5977
|
+
export type SessionDiffInput = {
|
|
5978
|
+
readonly sessionID: {
|
|
5979
|
+
readonly sessionID: string;
|
|
5980
|
+
}["sessionID"];
|
|
5981
|
+
readonly from?: {
|
|
5982
|
+
readonly from?: string | undefined;
|
|
5983
|
+
readonly to?: string | undefined;
|
|
5984
|
+
readonly context?: number | undefined;
|
|
5985
|
+
}["from"];
|
|
5986
|
+
readonly to?: {
|
|
5987
|
+
readonly from?: string | undefined;
|
|
5988
|
+
readonly to?: string | undefined;
|
|
5989
|
+
readonly context?: number | undefined;
|
|
5990
|
+
}["to"];
|
|
5991
|
+
readonly context?: {
|
|
5992
|
+
readonly from?: string | undefined;
|
|
5993
|
+
readonly to?: string | undefined;
|
|
5994
|
+
readonly context?: number | undefined;
|
|
5995
|
+
}["context"];
|
|
5996
|
+
};
|
|
5997
|
+
export type SessionDiffOutput = {
|
|
5998
|
+
data: Array<FileDiffInfo>;
|
|
5999
|
+
}["data"];
|
|
5936
6000
|
export type SessionInboxListInput = {
|
|
5937
6001
|
readonly sessionID: {
|
|
5938
6002
|
readonly sessionID: string;
|
package/dist/solid/data.js
CHANGED
|
@@ -898,6 +898,17 @@ export function createData(config) {
|
|
|
898
898
|
});
|
|
899
899
|
if (event.type === "session.execution.interrupted" && event.data.reason === "shutdown")
|
|
900
900
|
return;
|
|
901
|
+
// Mirror the projected idle marker so turn boundaries match before the next message read.
|
|
902
|
+
message.insert(event.data.sessionID, {
|
|
903
|
+
id: messageIDFromEvent(event.id),
|
|
904
|
+
type: "idle",
|
|
905
|
+
outcome: event.type === "session.execution.succeeded"
|
|
906
|
+
? "succeeded"
|
|
907
|
+
: event.type === "session.execution.failed"
|
|
908
|
+
? "failed"
|
|
909
|
+
: "interrupted",
|
|
910
|
+
time: { created: event.created },
|
|
911
|
+
});
|
|
901
912
|
// An event can overtake the first read; queue a revalidation when that read is still active.
|
|
902
913
|
if (!store.session.info[event.data.sessionID] && !sync.has(`session:${event.data.sessionID}`))
|
|
903
914
|
return;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@opencode/client",
|
|
4
|
-
"version": "0.0.0-dev-
|
|
4
|
+
"version": "0.0.0-dev-19537",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"typecheck": "tsgo --noEmit"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@opencode/schema": "0.0.0-dev-
|
|
61
|
-
"@opencode/protocol": "0.0.0-dev-
|
|
60
|
+
"@opencode/schema": "0.0.0-dev-19537",
|
|
61
|
+
"@opencode/protocol": "0.0.0-dev-19537"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"effect": "4.0.0-rc.112",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@effect/platform-node": "4.0.0-rc.112",
|
|
77
|
-
"@opencode/httpapi-codegen": "0.0.0-dev-
|
|
77
|
+
"@opencode/httpapi-codegen": "0.0.0-dev-19537",
|
|
78
78
|
"@tsconfig/bun": "1.0.9",
|
|
79
79
|
"@types/bun": "1.4.0",
|
|
80
80
|
"@typescript/native-preview": "7.0.0-dev.20251207.1",
|