@opencode/client 2.0.5 → 2.0.7

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.
@@ -37,14 +37,17 @@ import type { Worktree } from "@opencode/schema/worktree";
37
37
  import type { Vcs } from "@opencode/schema/vcs";
38
38
  import type { WebSearch } from "@opencode/schema/websearch";
39
39
  import type { Config } from "@opencode/schema/config";
40
- export type ServerStatusOutput = {
40
+ export type ServerInfoOutput = {
41
41
  readonly version: string;
42
42
  readonly pid: number;
43
43
  readonly urls: ReadonlyArray<string>;
44
+ readonly paths: {
45
+ readonly tmp: string;
46
+ };
44
47
  };
45
- export type ServerStatusOperation<E = never> = () => Effect.Effect<ServerStatusOutput, E>;
48
+ export type ServerInfoOperation<E = never> = () => Effect.Effect<ServerInfoOutput, E>;
46
49
  export interface ServerApi<E = never> {
47
- readonly status: ServerStatusOperation<E>;
50
+ readonly info: ServerInfoOperation<E>;
48
51
  }
49
52
  export type LocationGetInput = {
50
53
  readonly location?: {
@@ -53,8 +56,11 @@ export type LocationGetInput = {
53
56
  };
54
57
  export type LocationGetOutput = Location.PublicInfo;
55
58
  export type LocationGetOperation<E = never> = (input?: LocationGetInput) => Effect.Effect<LocationGetOutput, E>;
59
+ export type LocationReloadOutput = void;
60
+ export type LocationReloadOperation<E = never> = () => Effect.Effect<LocationReloadOutput, E>;
56
61
  export interface LocationApi<E = never> {
57
62
  readonly get: LocationGetOperation<E>;
63
+ readonly reload: LocationReloadOperation<E>;
58
64
  }
59
65
  export type AgentListInput = {
60
66
  readonly location?: {
@@ -932,6 +938,7 @@ export type SessionLogOutput = ({
932
938
  readonly agent: Agent.ID;
933
939
  readonly model: Model.Ref;
934
940
  readonly snapshot?: (string & Brand.Brand<"Snapshot.ID">) | undefined;
941
+ readonly started: number;
935
942
  };
936
943
  } | {
937
944
  readonly id: Event.ID;
@@ -43,6 +43,7 @@ export declare const make: (options?: {
43
43
  }[] | undefined;
44
44
  readonly custom?: boolean | undefined;
45
45
  readonly title?: string | undefined;
46
+ readonly hidden?: boolean | undefined;
46
47
  readonly when?: readonly {
47
48
  readonly key: string;
48
49
  readonly op: "eq" | "neq";
@@ -55,6 +56,7 @@ export declare const make: (options?: {
55
56
  readonly description?: string | undefined;
56
57
  readonly default?: number | undefined;
57
58
  readonly title?: string | undefined;
59
+ readonly hidden?: boolean | undefined;
58
60
  readonly when?: readonly {
59
61
  readonly key: string;
60
62
  readonly op: "eq" | "neq";
@@ -69,6 +71,7 @@ export declare const make: (options?: {
69
71
  readonly description?: string | undefined;
70
72
  readonly default?: number | undefined;
71
73
  readonly title?: string | undefined;
74
+ readonly hidden?: boolean | undefined;
72
75
  readonly when?: readonly {
73
76
  readonly key: string;
74
77
  readonly op: "eq" | "neq";
@@ -83,6 +86,7 @@ export declare const make: (options?: {
83
86
  readonly description?: string | undefined;
84
87
  readonly default?: boolean | undefined;
85
88
  readonly title?: string | undefined;
89
+ readonly hidden?: boolean | undefined;
86
90
  readonly when?: readonly {
87
91
  readonly key: string;
88
92
  readonly op: "eq" | "neq";
@@ -101,6 +105,7 @@ export declare const make: (options?: {
101
105
  readonly default?: readonly string[] | undefined;
102
106
  readonly custom?: boolean | undefined;
103
107
  readonly title?: string | undefined;
108
+ readonly hidden?: boolean | undefined;
104
109
  readonly when?: readonly {
105
110
  readonly key: string;
106
111
  readonly op: "eq" | "neq";
@@ -132,6 +137,7 @@ export declare const make: (options?: {
132
137
  }[] | undefined;
133
138
  readonly custom?: boolean | undefined;
134
139
  readonly title?: string | undefined;
140
+ readonly hidden?: boolean | undefined;
135
141
  readonly when?: readonly {
136
142
  readonly key: string;
137
143
  readonly op: "eq" | "neq";
@@ -144,6 +150,7 @@ export declare const make: (options?: {
144
150
  readonly description?: string | undefined;
145
151
  readonly default?: number | undefined;
146
152
  readonly title?: string | undefined;
153
+ readonly hidden?: boolean | undefined;
147
154
  readonly when?: readonly {
148
155
  readonly key: string;
149
156
  readonly op: "eq" | "neq";
@@ -158,6 +165,7 @@ export declare const make: (options?: {
158
165
  readonly description?: string | undefined;
159
166
  readonly default?: number | undefined;
160
167
  readonly title?: string | undefined;
168
+ readonly hidden?: boolean | undefined;
161
169
  readonly when?: readonly {
162
170
  readonly key: string;
163
171
  readonly op: "eq" | "neq";
@@ -172,6 +180,7 @@ export declare const make: (options?: {
172
180
  readonly description?: string | undefined;
173
181
  readonly default?: boolean | undefined;
174
182
  readonly title?: string | undefined;
183
+ readonly hidden?: boolean | undefined;
175
184
  readonly when?: readonly {
176
185
  readonly key: string;
177
186
  readonly op: "eq" | "neq";
@@ -190,6 +199,7 @@ export declare const make: (options?: {
190
199
  readonly default?: readonly string[] | undefined;
191
200
  readonly custom?: boolean | undefined;
192
201
  readonly title?: string | undefined;
202
+ readonly hidden?: boolean | undefined;
193
203
  readonly when?: readonly {
194
204
  readonly key: string;
195
205
  readonly op: "eq" | "neq";
@@ -1110,6 +1120,7 @@ export declare const make: (options?: {
1110
1120
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1111
1121
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1112
1122
  };
1123
+ readonly started: number;
1113
1124
  readonly agent: string & import("effect/Brand").Brand<"Agent.ID">;
1114
1125
  readonly assistantMessageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
1115
1126
  readonly snapshot?: (string & import("effect/Brand").Brand<"Snapshot.ID">) | undefined;
@@ -1896,6 +1907,18 @@ export declare const make: (options?: {
1896
1907
  readonly metadata?: {
1897
1908
  readonly [x: string]: unknown;
1898
1909
  } | undefined;
1910
+ } | {
1911
+ readonly id: string & import("effect/Brand").Brand<"Event.ID">;
1912
+ readonly data: {};
1913
+ readonly type: "location.shutdown";
1914
+ readonly created: number;
1915
+ readonly location?: {
1916
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
1917
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
1918
+ } | undefined;
1919
+ readonly metadata?: {
1920
+ readonly [x: string]: unknown;
1921
+ } | undefined;
1899
1922
  } | {
1900
1923
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
1901
1924
  readonly data: {
@@ -2232,10 +2255,11 @@ export declare const make: (options?: {
2232
2255
  call: (input: import("./api.js").RpcCallInput) => Effect.Effect<import("./api.js").RpcCallOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").RpcError | import("@opencode/protocol/errors").RpcInternalError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2233
2256
  };
2234
2257
  server: {
2235
- status: () => Effect.Effect<import("./api.js").ServerStatusOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2258
+ info: () => Effect.Effect<import("./api.js").ServerInfoOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2236
2259
  };
2237
2260
  location: {
2238
2261
  get: (input?: import("./api.js").LocationGetInput) => Effect.Effect<import("@opencode/schema/location").PublicInfo, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2262
+ reload: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2239
2263
  };
2240
2264
  agent: {
2241
2265
  list: (input?: import("./api.js").AgentListInput) => Effect.Effect<import("./api.js").AgentListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
@@ -1,16 +1,17 @@
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 { ServerStatusOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormListOutput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, 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, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, 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, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "../api/api.js";
4
+ import type { ServerInfoOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormListOutput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, 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, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, 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, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } 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;
8
8
  }) => Effect.Effect<{
9
9
  server: {
10
- status: () => Effect.Effect<ServerStatusOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
10
+ info: () => Effect.Effect<ServerInfoOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
11
11
  };
12
12
  location: {
13
13
  get: (input?: LocationGetInput) => Effect.Effect<import("@opencode/schema/location").PublicInfo, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
14
+ reload: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
14
15
  };
15
16
  agent: {
16
17
  list: (input?: AgentListInput) => Effect.Effect<AgentListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
@@ -197,6 +198,7 @@ export declare const make: (options?: {
197
198
  }[] | undefined;
198
199
  readonly custom?: boolean | undefined;
199
200
  readonly title?: string | undefined;
201
+ readonly hidden?: boolean | undefined;
200
202
  readonly when?: readonly {
201
203
  readonly key: string;
202
204
  readonly op: "eq" | "neq";
@@ -209,6 +211,7 @@ export declare const make: (options?: {
209
211
  readonly description?: string | undefined;
210
212
  readonly default?: number | undefined;
211
213
  readonly title?: string | undefined;
214
+ readonly hidden?: boolean | undefined;
212
215
  readonly when?: readonly {
213
216
  readonly key: string;
214
217
  readonly op: "eq" | "neq";
@@ -223,6 +226,7 @@ export declare const make: (options?: {
223
226
  readonly description?: string | undefined;
224
227
  readonly default?: number | undefined;
225
228
  readonly title?: string | undefined;
229
+ readonly hidden?: boolean | undefined;
226
230
  readonly when?: readonly {
227
231
  readonly key: string;
228
232
  readonly op: "eq" | "neq";
@@ -237,6 +241,7 @@ export declare const make: (options?: {
237
241
  readonly description?: string | undefined;
238
242
  readonly default?: boolean | undefined;
239
243
  readonly title?: string | undefined;
244
+ readonly hidden?: boolean | undefined;
240
245
  readonly when?: readonly {
241
246
  readonly key: string;
242
247
  readonly op: "eq" | "neq";
@@ -255,6 +260,7 @@ export declare const make: (options?: {
255
260
  readonly default?: readonly string[] | undefined;
256
261
  readonly custom?: boolean | undefined;
257
262
  readonly title?: string | undefined;
263
+ readonly hidden?: boolean | undefined;
258
264
  readonly when?: readonly {
259
265
  readonly key: string;
260
266
  readonly op: "eq" | "neq";
@@ -286,6 +292,7 @@ export declare const make: (options?: {
286
292
  }[] | undefined;
287
293
  readonly custom?: boolean | undefined;
288
294
  readonly title?: string | undefined;
295
+ readonly hidden?: boolean | undefined;
289
296
  readonly when?: readonly {
290
297
  readonly key: string;
291
298
  readonly op: "eq" | "neq";
@@ -298,6 +305,7 @@ export declare const make: (options?: {
298
305
  readonly description?: string | undefined;
299
306
  readonly default?: number | undefined;
300
307
  readonly title?: string | undefined;
308
+ readonly hidden?: boolean | undefined;
301
309
  readonly when?: readonly {
302
310
  readonly key: string;
303
311
  readonly op: "eq" | "neq";
@@ -312,6 +320,7 @@ export declare const make: (options?: {
312
320
  readonly description?: string | undefined;
313
321
  readonly default?: number | undefined;
314
322
  readonly title?: string | undefined;
323
+ readonly hidden?: boolean | undefined;
315
324
  readonly when?: readonly {
316
325
  readonly key: string;
317
326
  readonly op: "eq" | "neq";
@@ -326,6 +335,7 @@ export declare const make: (options?: {
326
335
  readonly description?: string | undefined;
327
336
  readonly default?: boolean | undefined;
328
337
  readonly title?: string | undefined;
338
+ readonly hidden?: boolean | undefined;
329
339
  readonly when?: readonly {
330
340
  readonly key: string;
331
341
  readonly op: "eq" | "neq";
@@ -344,6 +354,7 @@ export declare const make: (options?: {
344
354
  readonly default?: readonly string[] | undefined;
345
355
  readonly custom?: boolean | undefined;
346
356
  readonly title?: string | undefined;
357
+ readonly hidden?: boolean | undefined;
347
358
  readonly when?: readonly {
348
359
  readonly key: string;
349
360
  readonly op: "eq" | "neq";
@@ -1264,6 +1275,7 @@ export declare const make: (options?: {
1264
1275
  readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1265
1276
  readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1266
1277
  };
1278
+ readonly started: number;
1267
1279
  readonly agent: string & import("effect/Brand").Brand<"Agent.ID">;
1268
1280
  readonly assistantMessageID: string & import("effect/Brand").Brand<"Session.Message.ID">;
1269
1281
  readonly snapshot?: (string & import("effect/Brand").Brand<"Snapshot.ID">) | undefined;
@@ -2050,6 +2062,18 @@ export declare const make: (options?: {
2050
2062
  readonly metadata?: {
2051
2063
  readonly [x: string]: unknown;
2052
2064
  } | undefined;
2065
+ } | {
2066
+ readonly id: string & import("effect/Brand").Brand<"Event.ID">;
2067
+ readonly data: {};
2068
+ readonly type: "location.shutdown";
2069
+ readonly created: number;
2070
+ readonly location?: {
2071
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
2072
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
2073
+ } | undefined;
2074
+ readonly metadata?: {
2075
+ readonly [x: string]: unknown;
2076
+ } | undefined;
2053
2077
  } | {
2054
2078
  readonly id: string & import("effect/Brand").Brand<"Event.ID">;
2055
2079
  readonly data: {
@@ -10,10 +10,14 @@ const mapClientError = (error) => HttpClientError.isHttpClientError(error) || Sc
10
10
  : error;
11
11
  const preserveEffect = () => (effect) => effect;
12
12
  const preserveStream = () => (stream) => stream;
13
- const EndpointServerStatus = (raw) => () => preserveEffect()(raw["server.status"]({}).pipe(Effect.mapError(mapClientError)));
14
- const adaptGroupServer = (raw) => ({ status: EndpointServerStatus(raw) });
13
+ const EndpointServerInfo = (raw) => () => preserveEffect()(raw["server.info"]({}).pipe(Effect.mapError(mapClientError)));
14
+ const adaptGroupServer = (raw) => ({ info: EndpointServerInfo(raw) });
15
15
  const EndpointLocationGet = (raw) => (input) => preserveEffect()(raw["location.get"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
16
- const adaptGroupLocation = (raw) => ({ get: EndpointLocationGet(raw) });
16
+ const EndpointLocationReload = (raw) => () => preserveEffect()(raw["location.reload"]({}).pipe(Effect.mapError(mapClientError)));
17
+ const adaptGroupLocation = (raw) => ({
18
+ get: EndpointLocationGet(raw),
19
+ reload: EndpointLocationReload(raw),
20
+ });
17
21
  const EndpointAgentList = (raw) => (input) => preserveEffect()(raw["agent.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
18
22
  const EndpointAgentGet = (raw) => (input) => preserveEffect()(raw["agent.get"]({ params: { agentID: input["agentID"] }, query: { location: input["location"] } }).pipe(Effect.mapError(mapClientError)));
19
23
  const adaptGroupAgent = (raw) => ({
@@ -162,7 +162,7 @@ export const Info = Schema.Struct({
162
162
  password: Schema.optional(Schema.String),
163
163
  });
164
164
  const decode = Schema.decodeUnknownEffect(Schema.fromJsonString(Info));
165
- const decodeStatus = Schema.decodeUnknownOption(Schema.Struct({
165
+ const decodeInfo = Schema.decodeUnknownOption(Schema.Struct({
166
166
  version: Schema.String,
167
167
  pid: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
168
168
  }));
@@ -186,7 +186,7 @@ const probeResult = Effect.fnUntraced(function* (info, timeout = defaultEnsureTi
186
186
  : { type: "basic", username: "opencode", password: info.password },
187
187
  };
188
188
  const signal = AbortSignal.timeout(timeout);
189
- const result = yield* Effect.promise(() => fetch(new URL("/api/status", info.url), { headers: headers(endpoint), signal })
189
+ const result = yield* Effect.promise(() => fetch(new URL("/api/info", info.url), { headers: headers(endpoint), signal })
190
190
  .then(async (response) => ({
191
191
  response,
192
192
  body: response.status === 404 ? undefined : (await response.json()),
@@ -195,7 +195,7 @@ const probeResult = Effect.fnUntraced(function* (info, timeout = defaultEnsureTi
195
195
  if ("cause" in result)
196
196
  return { service: undefined, timedOut: signal.aborted };
197
197
  const response = result.value.response;
198
- // The previous V2 service exposes /api/health instead. Its authenticated 404 is enough
198
+ // The previous V2 service exposes /api/status instead. Its authenticated 404 is enough
199
199
  // to recognize the registered daemon as incompatible and route it through replacement.
200
200
  if (response.status === 404)
201
201
  return {
@@ -209,17 +209,17 @@ const probeResult = Effect.fnUntraced(function* (info, timeout = defaultEnsureTi
209
209
  timedOut: false,
210
210
  };
211
211
  const body = result.value.body;
212
- const status = decodeStatus(body);
213
- if (Option.isSome(status)) {
214
- if (status.value.pid !== info.pid)
212
+ const serverInfo = decodeInfo(body);
213
+ if (Option.isSome(serverInfo)) {
214
+ if (serverInfo.value.pid !== info.pid)
215
215
  return { service: undefined, timedOut: false };
216
- if (info.version !== undefined && status.value.version !== info.version)
216
+ if (info.version !== undefined && serverInfo.value.version !== info.version)
217
217
  return { service: undefined, timedOut: false };
218
218
  return {
219
219
  service: {
220
220
  info,
221
221
  endpoint,
222
- version: status.value.version,
222
+ version: serverInfo.value.version,
223
223
  state: response.ok ? "ready" : response.status === 500 ? "failed" : "waiting",
224
224
  compatible: true,
225
225
  },
@@ -11,10 +11,11 @@ export declare function make(options: ClientOptions): {
11
11
  subscribe(options?: SharedEvents.SubscribeOptions): AsyncIterable<import("./index.js").V2Event>;
12
12
  };
13
13
  server: {
14
- status: (requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").ServerStatus>;
14
+ info: (requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").ServerInfo>;
15
15
  };
16
16
  location: {
17
17
  get: (input?: import("./index.js").LocationGetInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").LocationPublicInfo>;
18
+ reload: (requestOptions?: OpenCode.RequestOptions) => Promise<void>;
18
19
  };
19
20
  agent: {
20
21
  list: (input?: import("./index.js").AgentListInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").AgentListOutput>;
@@ -165,6 +166,7 @@ export declare function make(options: ClientOptions): {
165
166
  read: (input: import("./index.js").FileReadInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").FileReadOutput>;
166
167
  list: (input?: import("./index.js").FileListInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").FileListOutput>;
167
168
  find: (input: import("./index.js").FileFindInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").FileFindOutput>;
169
+ write: (input: import("./index.js").FileWriteInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").FileWriteOutput>;
168
170
  };
169
171
  command: {
170
172
  list: (input?: import("./index.js").CommandListInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").CommandListOutput>;
@@ -1,4 +1,4 @@
1
- import type { LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionDiffInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, 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, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, 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, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "./types.js";
1
+ import type { LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionDiffInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, 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, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, FileWriteInput, FileWriteOutput, 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, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "./types.js";
2
2
  export interface ClientOptions {
3
3
  readonly baseUrl: string;
4
4
  readonly fetch?: typeof globalThis.fetch;
@@ -12,10 +12,11 @@ export interface RequestOptions {
12
12
  }
13
13
  export declare function make(options: ClientOptions): {
14
14
  server: {
15
- status: (requestOptions?: RequestOptions) => Promise<import("./types.js").ServerStatus>;
15
+ info: (requestOptions?: RequestOptions) => Promise<import("./types.js").ServerInfo>;
16
16
  };
17
17
  location: {
18
18
  get: (input?: LocationGetInput, requestOptions?: RequestOptions) => Promise<import("./types.js").LocationPublicInfo>;
19
+ reload: (requestOptions?: RequestOptions) => Promise<void>;
19
20
  };
20
21
  agent: {
21
22
  list: (input?: AgentListInput, requestOptions?: RequestOptions) => Promise<AgentListOutput>;
@@ -166,6 +167,7 @@ export declare function make(options: ClientOptions): {
166
167
  read: (input: FileReadInput, requestOptions?: RequestOptions) => Promise<FileReadOutput>;
167
168
  list: (input?: FileListInput, requestOptions?: RequestOptions) => Promise<FileListOutput>;
168
169
  find: (input: FileFindInput, requestOptions?: RequestOptions) => Promise<FileFindOutput>;
170
+ write: (input: FileWriteInput, requestOptions?: RequestOptions) => Promise<FileWriteOutput>;
169
171
  };
170
172
  command: {
171
173
  list: (input?: CommandListInput, requestOptions?: RequestOptions) => Promise<CommandListOutput>;
@@ -14,14 +14,18 @@ export function make(options) {
14
14
  for (const [key, value] of new Headers(requestOptions?.headers))
15
15
  headers.set(key, value);
16
16
  if (descriptor.body !== undefined && !headers.has("content-type"))
17
- headers.set("content-type", "application/json");
17
+ headers.set("content-type", descriptor.binaryBody ? "application/octet-stream" : "application/json");
18
18
  return {
19
19
  url,
20
20
  init: {
21
21
  method: descriptor.method,
22
22
  signal: requestOptions?.signal,
23
23
  headers,
24
- body: descriptor.body === undefined ? undefined : JSON.stringify(descriptor.body),
24
+ body: descriptor.body === undefined
25
+ ? undefined
26
+ : descriptor.binaryBody
27
+ ? descriptor.body
28
+ : JSON.stringify(descriptor.body),
25
29
  },
26
30
  };
27
31
  };
@@ -130,7 +134,7 @@ export function make(options) {
130
134
  });
131
135
  return {
132
136
  server: {
133
- status: (requestOptions) => request({ method: "GET", path: `/api/status`, successStatus: 200, declaredStatuses: [400, 401], empty: false }, requestOptions),
137
+ info: (requestOptions) => request({ method: "GET", path: `/api/info`, successStatus: 200, declaredStatuses: [400, 401], empty: false }, requestOptions),
134
138
  },
135
139
  location: {
136
140
  get: (input, requestOptions) => request({
@@ -141,6 +145,13 @@ export function make(options) {
141
145
  declaredStatuses: [400, 401],
142
146
  empty: false,
143
147
  }, requestOptions),
148
+ reload: (requestOptions) => request({
149
+ method: "POST",
150
+ path: `/api/location/reload`,
151
+ successStatus: 204,
152
+ declaredStatuses: [400, 401, 503],
153
+ empty: true,
154
+ }, requestOptions),
144
155
  },
145
156
  agent: {
146
157
  list: (input, requestOptions) => request({
@@ -931,6 +942,16 @@ export function make(options) {
931
942
  declaredStatuses: [400, 401],
932
943
  empty: false,
933
944
  }, requestOptions),
945
+ write: (input, requestOptions) => request({
946
+ method: "POST",
947
+ path: `/api/experimental/fs/write`,
948
+ query: { location: input["location"], path: input["path"] },
949
+ body: input["payload"],
950
+ successStatus: 200,
951
+ declaredStatuses: [400, 401],
952
+ empty: false,
953
+ binaryBody: true,
954
+ }, requestOptions),
934
955
  },
935
956
  command: {
936
957
  list: (input, requestOptions) => request({
@@ -1,10 +1,13 @@
1
1
  export type JsonValue = null | boolean | number | string | Array<JsonValue> | {
2
2
  [key: string]: JsonValue;
3
3
  };
4
- export type ServerStatus = {
4
+ export type ServerInfo = {
5
5
  version: string;
6
6
  pid: number;
7
7
  urls: Array<string>;
8
+ paths: {
9
+ tmp: string;
10
+ };
8
11
  };
9
12
  export type LocationPublicInfo = {
10
13
  directory: string;
@@ -521,6 +524,9 @@ export type FileSystemEntry = {
521
524
  path: string;
522
525
  type: "file" | "directory";
523
526
  };
527
+ export type FileSystemWrite = {
528
+ path: string;
529
+ };
524
530
  export type CommandInfo = {
525
531
  name: string;
526
532
  description?: string;
@@ -1172,6 +1178,7 @@ export type SessionStepStarted = {
1172
1178
  agent: string;
1173
1179
  model: ModelRef;
1174
1180
  snapshot?: string;
1181
+ started: number;
1175
1182
  };
1176
1183
  };
1177
1184
  export type SessionStepStreamed = {
@@ -1369,6 +1376,16 @@ export type SessionUsageRecorded = {
1369
1376
  tokens: TokenUsageInfo;
1370
1377
  };
1371
1378
  };
1379
+ export type LocationShutdown = {
1380
+ id: string;
1381
+ created: number;
1382
+ metadata?: {
1383
+ [x: string]: any;
1384
+ };
1385
+ type: "location.shutdown";
1386
+ location?: LocationRef;
1387
+ data: {};
1388
+ };
1372
1389
  export type ModelsDevRefreshed = {
1373
1390
  id: string;
1374
1391
  created: number;
@@ -2072,6 +2089,7 @@ export type FormNumberField = {
2072
2089
  title?: string;
2073
2090
  description?: string;
2074
2091
  required?: boolean;
2092
+ hidden?: boolean;
2075
2093
  when?: Array<FormWhen>;
2076
2094
  type: "number";
2077
2095
  minimum?: number | "Infinity" | "-Infinity" | "NaN";
@@ -2083,6 +2101,7 @@ export type FormIntegerField = {
2083
2101
  title?: string;
2084
2102
  description?: string;
2085
2103
  required?: boolean;
2104
+ hidden?: boolean;
2086
2105
  when?: Array<FormWhen>;
2087
2106
  type: "integer";
2088
2107
  minimum?: number | "Infinity" | "-Infinity" | "NaN";
@@ -2094,6 +2113,7 @@ export type FormBooleanField = {
2094
2113
  title?: string;
2095
2114
  description?: string;
2096
2115
  required?: boolean;
2116
+ hidden?: boolean;
2097
2117
  when?: Array<FormWhen>;
2098
2118
  type: "boolean";
2099
2119
  default?: boolean;
@@ -2103,6 +2123,7 @@ export type FormStringField = {
2103
2123
  title?: string;
2104
2124
  description?: string;
2105
2125
  required?: boolean;
2126
+ hidden?: boolean;
2106
2127
  when?: Array<FormWhen>;
2107
2128
  type: "string";
2108
2129
  format?: "email" | "uri" | "date" | "date-time";
@@ -2119,6 +2140,7 @@ export type FormMultiselectField = {
2119
2140
  title?: string;
2120
2141
  description?: string;
2121
2142
  required?: boolean;
2143
+ hidden?: boolean;
2122
2144
  when?: Array<FormWhen>;
2123
2145
  type: "multiselect";
2124
2146
  options: Array<FormOption>;
@@ -2306,6 +2328,7 @@ export type FormStringField1 = {
2306
2328
  title?: string;
2307
2329
  description?: string;
2308
2330
  required?: boolean;
2331
+ hidden?: boolean;
2309
2332
  when?: Array<FormWhen1>;
2310
2333
  type: "string";
2311
2334
  format?: "email" | "uri" | "date" | "date-time";
@@ -2322,6 +2345,7 @@ export type FormNumberField1 = {
2322
2345
  title?: string;
2323
2346
  description?: string;
2324
2347
  required?: boolean;
2348
+ hidden?: boolean;
2325
2349
  when?: Array<FormWhen1>;
2326
2350
  type: "number";
2327
2351
  minimum?: number;
@@ -2333,6 +2357,7 @@ export type FormIntegerField1 = {
2333
2357
  title?: string;
2334
2358
  description?: string;
2335
2359
  required?: boolean;
2360
+ hidden?: boolean;
2336
2361
  when?: Array<FormWhen1>;
2337
2362
  type: "integer";
2338
2363
  minimum?: number;
@@ -2344,6 +2369,7 @@ export type FormBooleanField1 = {
2344
2369
  title?: string;
2345
2370
  description?: string;
2346
2371
  required?: boolean;
2372
+ hidden?: boolean;
2347
2373
  when?: Array<FormWhen1>;
2348
2374
  type: "boolean";
2349
2375
  default?: boolean;
@@ -2353,6 +2379,7 @@ export type FormMultiselectField1 = {
2353
2379
  title?: string;
2354
2380
  description?: string;
2355
2381
  required?: boolean;
2382
+ hidden?: boolean;
2356
2383
  when?: Array<FormWhen1>;
2357
2384
  type: "multiselect";
2358
2385
  options: Array<FormOption>;
@@ -3249,7 +3276,7 @@ export type IntegrationInfo = {
3249
3276
  methods: Array<IntegrationMethod>;
3250
3277
  connections: Array<ConnectionInfo>;
3251
3278
  };
3252
- export type V2Event = ModelsDevRefreshed | CredentialUpdated | CredentialSwitched | IntegrationUpdated | ProviderUpdated | ModelUpdated | AgentUpdated | SessionCreated | SessionAgentSelected | SessionModelSelected | SessionMoved | SessionRenamed | SessionPermissions | SessionViewed | SessionUsageUpdated | SessionDeleted | SessionForked | SessionInboxDelivered | SessionInboxEnqueued | SessionInboxCancelled | SessionInboxDeliveryChanged | SessionExecutionStarted | SessionExecutionSucceeded | SessionExecutionFailed | SessionExecutionInterrupted | SessionInstructionsUpdated | SessionSynthetic | SessionSkillActivated | SessionShellStarted | SessionShellEnded | SessionStepStarted | SessionStepStreamed | SessionStepEnded | SessionStepFailed | SessionTextStarted | SessionTextDelta | SessionTextEnded | SessionReasoningStarted | SessionReasoningDelta | SessionReasoningEnded | SessionToolInputStarted | SessionToolInputDelta | SessionToolInputEnded | SessionToolCalled | SessionToolProgress | SessionToolSuccess | SessionToolFailed | SessionRetryScheduled | SessionCompactionStarted | SessionCompactionDelta | SessionCompactionEnded | SessionCompactionFailed | SessionRevertStaged | SessionRevertCleared | SessionRevertCommitted | FilesystemChanged | ReferenceUpdated | PermissionAsked | PermissionReplied | PluginUpdated | ProjectUpdated | WorktreeUpdated | WorktreeResolved | CommandUpdated | ConfigUpdated | SkillUpdated | PtyCreated | PtyUpdated | PtyExited | PtyDeleted | PersistentPtyAdded | PersistentPtyRemoved | ShellCreated | ShellExited | ShellDeleted | FormCreated | FormReplied | FormCancelled | WebsearchUpdated | SessionStatusUpdated | SessionIdle | TuiPromptAppend | TuiCommandExecute | TuiToastShow | TuiSessionSelect | InstallationUpdated | InstallationUpdateAvailable | VcsBranchUpdated | McpStatusChanged | McpResourcesChanged | V2EventRpc | V2EventServerConnected;
3279
+ export type V2Event = LocationShutdown | ModelsDevRefreshed | CredentialUpdated | CredentialSwitched | IntegrationUpdated | ProviderUpdated | ModelUpdated | AgentUpdated | SessionCreated | SessionAgentSelected | SessionModelSelected | SessionMoved | SessionRenamed | SessionPermissions | SessionViewed | SessionUsageUpdated | SessionDeleted | SessionForked | SessionInboxDelivered | SessionInboxEnqueued | SessionInboxCancelled | SessionInboxDeliveryChanged | SessionExecutionStarted | SessionExecutionSucceeded | SessionExecutionFailed | SessionExecutionInterrupted | SessionInstructionsUpdated | SessionSynthetic | SessionSkillActivated | SessionShellStarted | SessionShellEnded | SessionStepStarted | SessionStepStreamed | SessionStepEnded | SessionStepFailed | SessionTextStarted | SessionTextDelta | SessionTextEnded | SessionReasoningStarted | SessionReasoningDelta | SessionReasoningEnded | SessionToolInputStarted | SessionToolInputDelta | SessionToolInputEnded | SessionToolCalled | SessionToolProgress | SessionToolSuccess | SessionToolFailed | SessionRetryScheduled | SessionCompactionStarted | SessionCompactionDelta | SessionCompactionEnded | SessionCompactionFailed | SessionRevertStaged | SessionRevertCleared | SessionRevertCommitted | FilesystemChanged | ReferenceUpdated | PermissionAsked | PermissionReplied | PluginUpdated | ProjectUpdated | WorktreeUpdated | WorktreeResolved | CommandUpdated | ConfigUpdated | SkillUpdated | PtyCreated | PtyUpdated | PtyExited | PtyDeleted | PersistentPtyAdded | PersistentPtyRemoved | ShellCreated | ShellExited | ShellDeleted | FormCreated | FormReplied | FormCancelled | WebsearchUpdated | SessionStatusUpdated | SessionIdle | TuiPromptAppend | TuiCommandExecute | TuiToastShow | TuiSessionSelect | InstallationUpdated | InstallationUpdateAvailable | VcsBranchUpdated | McpStatusChanged | McpResourcesChanged | V2EventRpc | V2EventServerConnected;
3253
3280
  export type SessionLogItem = SessionEventDurable | EventLogSynced;
3254
3281
  export type InvalidRequestError = {
3255
3282
  readonly _tag: "InvalidRequestError";
@@ -3263,18 +3290,18 @@ export type UnauthorizedError = {
3263
3290
  readonly message: string;
3264
3291
  };
3265
3292
  export declare const isUnauthorizedError: (value: unknown) => value is UnauthorizedError;
3266
- export type AgentNotFoundError = {
3267
- readonly _tag: "AgentNotFoundError";
3268
- readonly agentID: string;
3269
- readonly message: string;
3270
- };
3271
- export declare const isAgentNotFoundError: (value: unknown) => value is AgentNotFoundError;
3272
3293
  export type ServiceUnavailableError = {
3273
3294
  readonly _tag: "ServiceUnavailableError";
3274
3295
  readonly message: string;
3275
3296
  readonly service?: string | undefined;
3276
3297
  };
3277
3298
  export declare const isServiceUnavailableError: (value: unknown) => value is ServiceUnavailableError;
3299
+ export type AgentNotFoundError = {
3300
+ readonly _tag: "AgentNotFoundError";
3301
+ readonly agentID: string;
3302
+ readonly message: string;
3303
+ };
3304
+ export declare const isAgentNotFoundError: (value: unknown) => value is AgentNotFoundError;
3278
3305
  export type InvalidCursorError = {
3279
3306
  readonly _tag: "InvalidCursorError";
3280
3307
  readonly message: string;
@@ -3443,7 +3470,7 @@ export type WorktreeError = {
3443
3470
  };
3444
3471
  };
3445
3472
  export declare const isWorktreeError: (value: unknown) => value is WorktreeError;
3446
- export type ServerStatusOutput = ServerStatus;
3473
+ export type ServerInfoOutput = ServerInfo;
3447
3474
  export type LocationGetInput = {
3448
3475
  readonly location?: {
3449
3476
  readonly location?: {
@@ -3452,6 +3479,7 @@ export type LocationGetInput = {
3452
3479
  }["location"];
3453
3480
  };
3454
3481
  export type LocationGetOutput = LocationPublicInfo;
3482
+ export type LocationReloadOutput = void;
3455
3483
  export type AgentListInput = {
3456
3484
  readonly location?: {
3457
3485
  readonly location?: {
@@ -6097,6 +6125,7 @@ export type SessionFormCreateInput = {
6097
6125
  readonly title?: string;
6098
6126
  readonly description?: string;
6099
6127
  readonly required?: boolean;
6128
+ readonly hidden?: boolean;
6100
6129
  readonly when?: ReadonlyArray<{
6101
6130
  readonly key: string;
6102
6131
  readonly op: "eq" | "neq";
@@ -6120,6 +6149,7 @@ export type SessionFormCreateInput = {
6120
6149
  readonly title?: string;
6121
6150
  readonly description?: string;
6122
6151
  readonly required?: boolean;
6152
+ readonly hidden?: boolean;
6123
6153
  readonly when?: ReadonlyArray<{
6124
6154
  readonly key: string;
6125
6155
  readonly op: "eq" | "neq";
@@ -6134,6 +6164,7 @@ export type SessionFormCreateInput = {
6134
6164
  readonly title?: string;
6135
6165
  readonly description?: string;
6136
6166
  readonly required?: boolean;
6167
+ readonly hidden?: boolean;
6137
6168
  readonly when?: ReadonlyArray<{
6138
6169
  readonly key: string;
6139
6170
  readonly op: "eq" | "neq";
@@ -6148,6 +6179,7 @@ export type SessionFormCreateInput = {
6148
6179
  readonly title?: string;
6149
6180
  readonly description?: string;
6150
6181
  readonly required?: boolean;
6182
+ readonly hidden?: boolean;
6151
6183
  readonly when?: ReadonlyArray<{
6152
6184
  readonly key: string;
6153
6185
  readonly op: "eq" | "neq";
@@ -6160,6 +6192,7 @@ export type SessionFormCreateInput = {
6160
6192
  readonly title?: string;
6161
6193
  readonly description?: string;
6162
6194
  readonly required?: boolean;
6195
+ readonly hidden?: boolean;
6163
6196
  readonly when?: ReadonlyArray<{
6164
6197
  readonly key: string;
6165
6198
  readonly op: "eq" | "neq";
@@ -6187,6 +6220,7 @@ export type SessionFormCreateInput = {
6187
6220
  readonly title?: string;
6188
6221
  readonly description?: string;
6189
6222
  readonly required?: boolean;
6223
+ readonly hidden?: boolean;
6190
6224
  readonly when?: ReadonlyArray<{
6191
6225
  readonly key: string;
6192
6226
  readonly op: "eq" | "neq";
@@ -6210,6 +6244,7 @@ export type SessionFormCreateInput = {
6210
6244
  readonly title?: string;
6211
6245
  readonly description?: string;
6212
6246
  readonly required?: boolean;
6247
+ readonly hidden?: boolean;
6213
6248
  readonly when?: ReadonlyArray<{
6214
6249
  readonly key: string;
6215
6250
  readonly op: "eq" | "neq";
@@ -6224,6 +6259,7 @@ export type SessionFormCreateInput = {
6224
6259
  readonly title?: string;
6225
6260
  readonly description?: string;
6226
6261
  readonly required?: boolean;
6262
+ readonly hidden?: boolean;
6227
6263
  readonly when?: ReadonlyArray<{
6228
6264
  readonly key: string;
6229
6265
  readonly op: "eq" | "neq";
@@ -6238,6 +6274,7 @@ export type SessionFormCreateInput = {
6238
6274
  readonly title?: string;
6239
6275
  readonly description?: string;
6240
6276
  readonly required?: boolean;
6277
+ readonly hidden?: boolean;
6241
6278
  readonly when?: ReadonlyArray<{
6242
6279
  readonly key: string;
6243
6280
  readonly op: "eq" | "neq";
@@ -6250,6 +6287,7 @@ export type SessionFormCreateInput = {
6250
6287
  readonly title?: string;
6251
6288
  readonly description?: string;
6252
6289
  readonly required?: boolean;
6290
+ readonly hidden?: boolean;
6253
6291
  readonly when?: ReadonlyArray<{
6254
6292
  readonly key: string;
6255
6293
  readonly op: "eq" | "neq";
@@ -6286,6 +6324,7 @@ export type SessionFormCreateInput = {
6286
6324
  readonly title?: string;
6287
6325
  readonly description?: string;
6288
6326
  readonly required?: boolean;
6327
+ readonly hidden?: boolean;
6289
6328
  readonly when?: ReadonlyArray<{
6290
6329
  readonly key: string;
6291
6330
  readonly op: "eq" | "neq";
@@ -6309,6 +6348,7 @@ export type SessionFormCreateInput = {
6309
6348
  readonly title?: string;
6310
6349
  readonly description?: string;
6311
6350
  readonly required?: boolean;
6351
+ readonly hidden?: boolean;
6312
6352
  readonly when?: ReadonlyArray<{
6313
6353
  readonly key: string;
6314
6354
  readonly op: "eq" | "neq";
@@ -6323,6 +6363,7 @@ export type SessionFormCreateInput = {
6323
6363
  readonly title?: string;
6324
6364
  readonly description?: string;
6325
6365
  readonly required?: boolean;
6366
+ readonly hidden?: boolean;
6326
6367
  readonly when?: ReadonlyArray<{
6327
6368
  readonly key: string;
6328
6369
  readonly op: "eq" | "neq";
@@ -6337,6 +6378,7 @@ export type SessionFormCreateInput = {
6337
6378
  readonly title?: string;
6338
6379
  readonly description?: string;
6339
6380
  readonly required?: boolean;
6381
+ readonly hidden?: boolean;
6340
6382
  readonly when?: ReadonlyArray<{
6341
6383
  readonly key: string;
6342
6384
  readonly op: "eq" | "neq";
@@ -6349,6 +6391,7 @@ export type SessionFormCreateInput = {
6349
6391
  readonly title?: string;
6350
6392
  readonly description?: string;
6351
6393
  readonly required?: boolean;
6394
+ readonly hidden?: boolean;
6352
6395
  readonly when?: ReadonlyArray<{
6353
6396
  readonly key: string;
6354
6397
  readonly op: "eq" | "neq";
@@ -6376,6 +6419,7 @@ export type SessionFormCreateInput = {
6376
6419
  readonly title?: string;
6377
6420
  readonly description?: string;
6378
6421
  readonly required?: boolean;
6422
+ readonly hidden?: boolean;
6379
6423
  readonly when?: ReadonlyArray<{
6380
6424
  readonly key: string;
6381
6425
  readonly op: "eq" | "neq";
@@ -6399,6 +6443,7 @@ export type SessionFormCreateInput = {
6399
6443
  readonly title?: string;
6400
6444
  readonly description?: string;
6401
6445
  readonly required?: boolean;
6446
+ readonly hidden?: boolean;
6402
6447
  readonly when?: ReadonlyArray<{
6403
6448
  readonly key: string;
6404
6449
  readonly op: "eq" | "neq";
@@ -6413,6 +6458,7 @@ export type SessionFormCreateInput = {
6413
6458
  readonly title?: string;
6414
6459
  readonly description?: string;
6415
6460
  readonly required?: boolean;
6461
+ readonly hidden?: boolean;
6416
6462
  readonly when?: ReadonlyArray<{
6417
6463
  readonly key: string;
6418
6464
  readonly op: "eq" | "neq";
@@ -6427,6 +6473,7 @@ export type SessionFormCreateInput = {
6427
6473
  readonly title?: string;
6428
6474
  readonly description?: string;
6429
6475
  readonly required?: boolean;
6476
+ readonly hidden?: boolean;
6430
6477
  readonly when?: ReadonlyArray<{
6431
6478
  readonly key: string;
6432
6479
  readonly op: "eq" | "neq";
@@ -6439,6 +6486,7 @@ export type SessionFormCreateInput = {
6439
6486
  readonly title?: string;
6440
6487
  readonly description?: string;
6441
6488
  readonly required?: boolean;
6489
+ readonly hidden?: boolean;
6442
6490
  readonly when?: ReadonlyArray<{
6443
6491
  readonly key: string;
6444
6492
  readonly op: "eq" | "neq";
@@ -6475,6 +6523,7 @@ export type SessionFormCreateInput = {
6475
6523
  readonly title?: string;
6476
6524
  readonly description?: string;
6477
6525
  readonly required?: boolean;
6526
+ readonly hidden?: boolean;
6478
6527
  readonly when?: ReadonlyArray<{
6479
6528
  readonly key: string;
6480
6529
  readonly op: "eq" | "neq";
@@ -6498,6 +6547,7 @@ export type SessionFormCreateInput = {
6498
6547
  readonly title?: string;
6499
6548
  readonly description?: string;
6500
6549
  readonly required?: boolean;
6550
+ readonly hidden?: boolean;
6501
6551
  readonly when?: ReadonlyArray<{
6502
6552
  readonly key: string;
6503
6553
  readonly op: "eq" | "neq";
@@ -6512,6 +6562,7 @@ export type SessionFormCreateInput = {
6512
6562
  readonly title?: string;
6513
6563
  readonly description?: string;
6514
6564
  readonly required?: boolean;
6565
+ readonly hidden?: boolean;
6515
6566
  readonly when?: ReadonlyArray<{
6516
6567
  readonly key: string;
6517
6568
  readonly op: "eq" | "neq";
@@ -6526,6 +6577,7 @@ export type SessionFormCreateInput = {
6526
6577
  readonly title?: string;
6527
6578
  readonly description?: string;
6528
6579
  readonly required?: boolean;
6580
+ readonly hidden?: boolean;
6529
6581
  readonly when?: ReadonlyArray<{
6530
6582
  readonly key: string;
6531
6583
  readonly op: "eq" | "neq";
@@ -6538,6 +6590,7 @@ export type SessionFormCreateInput = {
6538
6590
  readonly title?: string;
6539
6591
  readonly description?: string;
6540
6592
  readonly required?: boolean;
6593
+ readonly hidden?: boolean;
6541
6594
  readonly when?: ReadonlyArray<{
6542
6595
  readonly key: string;
6543
6596
  readonly op: "eq" | "neq";
@@ -6565,6 +6618,7 @@ export type SessionFormCreateInput = {
6565
6618
  readonly title?: string;
6566
6619
  readonly description?: string;
6567
6620
  readonly required?: boolean;
6621
+ readonly hidden?: boolean;
6568
6622
  readonly when?: ReadonlyArray<{
6569
6623
  readonly key: string;
6570
6624
  readonly op: "eq" | "neq";
@@ -6588,6 +6642,7 @@ export type SessionFormCreateInput = {
6588
6642
  readonly title?: string;
6589
6643
  readonly description?: string;
6590
6644
  readonly required?: boolean;
6645
+ readonly hidden?: boolean;
6591
6646
  readonly when?: ReadonlyArray<{
6592
6647
  readonly key: string;
6593
6648
  readonly op: "eq" | "neq";
@@ -6602,6 +6657,7 @@ export type SessionFormCreateInput = {
6602
6657
  readonly title?: string;
6603
6658
  readonly description?: string;
6604
6659
  readonly required?: boolean;
6660
+ readonly hidden?: boolean;
6605
6661
  readonly when?: ReadonlyArray<{
6606
6662
  readonly key: string;
6607
6663
  readonly op: "eq" | "neq";
@@ -6616,6 +6672,7 @@ export type SessionFormCreateInput = {
6616
6672
  readonly title?: string;
6617
6673
  readonly description?: string;
6618
6674
  readonly required?: boolean;
6675
+ readonly hidden?: boolean;
6619
6676
  readonly when?: ReadonlyArray<{
6620
6677
  readonly key: string;
6621
6678
  readonly op: "eq" | "neq";
@@ -6628,6 +6685,7 @@ export type SessionFormCreateInput = {
6628
6685
  readonly title?: string;
6629
6686
  readonly description?: string;
6630
6687
  readonly required?: boolean;
6688
+ readonly hidden?: boolean;
6631
6689
  readonly when?: ReadonlyArray<{
6632
6690
  readonly key: string;
6633
6691
  readonly op: "eq" | "neq";
@@ -6664,6 +6722,7 @@ export type SessionFormCreateInput = {
6664
6722
  readonly title?: string;
6665
6723
  readonly description?: string;
6666
6724
  readonly required?: boolean;
6725
+ readonly hidden?: boolean;
6667
6726
  readonly when?: ReadonlyArray<{
6668
6727
  readonly key: string;
6669
6728
  readonly op: "eq" | "neq";
@@ -6687,6 +6746,7 @@ export type SessionFormCreateInput = {
6687
6746
  readonly title?: string;
6688
6747
  readonly description?: string;
6689
6748
  readonly required?: boolean;
6749
+ readonly hidden?: boolean;
6690
6750
  readonly when?: ReadonlyArray<{
6691
6751
  readonly key: string;
6692
6752
  readonly op: "eq" | "neq";
@@ -6701,6 +6761,7 @@ export type SessionFormCreateInput = {
6701
6761
  readonly title?: string;
6702
6762
  readonly description?: string;
6703
6763
  readonly required?: boolean;
6764
+ readonly hidden?: boolean;
6704
6765
  readonly when?: ReadonlyArray<{
6705
6766
  readonly key: string;
6706
6767
  readonly op: "eq" | "neq";
@@ -6715,6 +6776,7 @@ export type SessionFormCreateInput = {
6715
6776
  readonly title?: string;
6716
6777
  readonly description?: string;
6717
6778
  readonly required?: boolean;
6779
+ readonly hidden?: boolean;
6718
6780
  readonly when?: ReadonlyArray<{
6719
6781
  readonly key: string;
6720
6782
  readonly op: "eq" | "neq";
@@ -6727,6 +6789,7 @@ export type SessionFormCreateInput = {
6727
6789
  readonly title?: string;
6728
6790
  readonly description?: string;
6729
6791
  readonly required?: boolean;
6792
+ readonly hidden?: boolean;
6730
6793
  readonly when?: ReadonlyArray<{
6731
6794
  readonly key: string;
6732
6795
  readonly op: "eq" | "neq";
@@ -6754,6 +6817,7 @@ export type SessionFormCreateInput = {
6754
6817
  readonly title?: string;
6755
6818
  readonly description?: string;
6756
6819
  readonly required?: boolean;
6820
+ readonly hidden?: boolean;
6757
6821
  readonly when?: ReadonlyArray<{
6758
6822
  readonly key: string;
6759
6823
  readonly op: "eq" | "neq";
@@ -6777,6 +6841,7 @@ export type SessionFormCreateInput = {
6777
6841
  readonly title?: string;
6778
6842
  readonly description?: string;
6779
6843
  readonly required?: boolean;
6844
+ readonly hidden?: boolean;
6780
6845
  readonly when?: ReadonlyArray<{
6781
6846
  readonly key: string;
6782
6847
  readonly op: "eq" | "neq";
@@ -6791,6 +6856,7 @@ export type SessionFormCreateInput = {
6791
6856
  readonly title?: string;
6792
6857
  readonly description?: string;
6793
6858
  readonly required?: boolean;
6859
+ readonly hidden?: boolean;
6794
6860
  readonly when?: ReadonlyArray<{
6795
6861
  readonly key: string;
6796
6862
  readonly op: "eq" | "neq";
@@ -6805,6 +6871,7 @@ export type SessionFormCreateInput = {
6805
6871
  readonly title?: string;
6806
6872
  readonly description?: string;
6807
6873
  readonly required?: boolean;
6874
+ readonly hidden?: boolean;
6808
6875
  readonly when?: ReadonlyArray<{
6809
6876
  readonly key: string;
6810
6877
  readonly op: "eq" | "neq";
@@ -6817,6 +6884,7 @@ export type SessionFormCreateInput = {
6817
6884
  readonly title?: string;
6818
6885
  readonly description?: string;
6819
6886
  readonly required?: boolean;
6887
+ readonly hidden?: boolean;
6820
6888
  readonly when?: ReadonlyArray<{
6821
6889
  readonly key: string;
6822
6890
  readonly op: "eq" | "neq";
@@ -7654,6 +7722,25 @@ export type FileFindOutput = {
7654
7722
  location: LocationPublicRef;
7655
7723
  data: Array<FileSystemEntry>;
7656
7724
  };
7725
+ export type FileWriteInput = {
7726
+ readonly location?: {
7727
+ readonly location?: {
7728
+ readonly directory?: string | undefined;
7729
+ } | undefined;
7730
+ readonly path: string;
7731
+ }["location"];
7732
+ readonly path: {
7733
+ readonly location?: {
7734
+ readonly directory?: string | undefined;
7735
+ } | undefined;
7736
+ readonly path: string;
7737
+ }["path"];
7738
+ readonly payload: globalThis.Uint8Array;
7739
+ };
7740
+ export type FileWriteOutput = {
7741
+ location: LocationPublicRef;
7742
+ data: FileSystemWrite;
7743
+ };
7657
7744
  export type CommandListInput = {
7658
7745
  readonly location?: {
7659
7746
  readonly location?: {
@@ -1,7 +1,7 @@
1
1
  export const isInvalidRequestError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "InvalidRequestError";
2
2
  export const isUnauthorizedError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "UnauthorizedError";
3
- export const isAgentNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "AgentNotFoundError";
4
3
  export const isServiceUnavailableError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "ServiceUnavailableError";
4
+ export const isAgentNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "AgentNotFoundError";
5
5
  export const isInvalidCursorError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "InvalidCursorError";
6
6
  export const isSessionNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "SessionNotFoundError";
7
7
  export const isConflictError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "ConflictError";
@@ -155,7 +155,7 @@ async function probeResult(info, timeout = defaultEnsureTiming.requestTimeout) {
155
155
  : { type: "basic", username: "opencode", password: info.password },
156
156
  };
157
157
  const signal = AbortSignal.timeout(timeout);
158
- const result = await fetch(new URL("/api/status", info.url), { headers: headers(endpoint), signal })
158
+ const result = await fetch(new URL("/api/info", info.url), { headers: headers(endpoint), signal })
159
159
  .then(async (response) => ({
160
160
  response,
161
161
  body: response.status === 404 ? undefined : (await response.json()),
@@ -164,7 +164,7 @@ async function probeResult(info, timeout = defaultEnsureTiming.requestTimeout) {
164
164
  if ("cause" in result)
165
165
  return { service: undefined, timedOut: signal.aborted };
166
166
  const response = result.value.response;
167
- // The previous V2 service exposes /api/health instead. Its authenticated 404 is enough
167
+ // The previous V2 service exposes /api/status instead. Its authenticated 404 is enough
168
168
  // to recognize the registered daemon as incompatible and route it through replacement.
169
169
  if (response.status === 404)
170
170
  return {
@@ -177,17 +177,17 @@ async function probeResult(info, timeout = defaultEnsureTiming.requestTimeout) {
177
177
  },
178
178
  timedOut: false,
179
179
  };
180
- const status = decodeStatus(result.value.body);
181
- if (status !== undefined) {
182
- if (status.pid !== info.pid)
180
+ const serverInfo = decodeInfo(result.value.body);
181
+ if (serverInfo !== undefined) {
182
+ if (serverInfo.pid !== info.pid)
183
183
  return { service: undefined, timedOut: false };
184
- if (info.version !== undefined && status.version !== info.version)
184
+ if (info.version !== undefined && serverInfo.version !== info.version)
185
185
  return { service: undefined, timedOut: false };
186
186
  return {
187
187
  service: {
188
188
  info,
189
189
  endpoint,
190
- version: status.version,
190
+ version: serverInfo.version,
191
191
  state: response.ok ? "ready" : response.status === 500 ? "failed" : "waiting",
192
192
  compatible: true,
193
193
  },
@@ -196,7 +196,7 @@ async function probeResult(info, timeout = defaultEnsureTiming.requestTimeout) {
196
196
  }
197
197
  return { service: undefined, timedOut: false };
198
198
  }
199
- function decodeStatus(input) {
199
+ function decodeInfo(input) {
200
200
  if (typeof input !== "object" || input === null)
201
201
  return;
202
202
  if (!("version" in input) || typeof input.version !== "string")
@@ -704,6 +704,7 @@ export function createData(config) {
704
704
  existing.finish = undefined;
705
705
  existing.rawFinish = undefined;
706
706
  existing.providerState = undefined;
707
+ existing.time.created = event.data.started;
707
708
  existing.time.streamed = undefined;
708
709
  existing.time.completed = undefined;
709
710
  if (event.data.snapshot)
@@ -723,7 +724,7 @@ export function createData(config) {
723
724
  metadata: event.metadata,
724
725
  content: [],
725
726
  snapshot: event.data.snapshot ? { start: event.data.snapshot } : undefined,
726
- time: { created: event.created },
727
+ time: { created: event.data.started },
727
728
  });
728
729
  });
729
730
  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": "2.0.5",
4
+ "version": "2.0.7",
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": "2.0.5",
61
- "@opencode/protocol": "2.0.5"
60
+ "@opencode/schema": "2.0.7",
61
+ "@opencode/protocol": "2.0.7"
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": "2.0.5",
77
+ "@opencode/httpapi-codegen": "2.0.7",
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",