@opencode-ai/client 0.0.0-next-17428 → 0.0.0-next-17430

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.
@@ -33,7 +33,7 @@ import type { OpenCodeEvent } from "@opencode-ai/protocol/groups/event";
33
33
  import type { Pty } from "@opencode-ai/schema/pty";
34
34
  import type { Question } from "@opencode-ai/schema/question";
35
35
  import type { Reference } from "@opencode-ai/schema/reference";
36
- import type { ProjectCopy } from "@opencode-ai/schema/project-copy";
36
+ import type { Worktree } from "@opencode-ai/schema/worktree";
37
37
  import type { Vcs } from "@opencode-ai/schema/vcs";
38
38
  import type { FileDiff } from "@opencode-ai/schema/file-diff";
39
39
  import type { WebSearch } from "@opencode-ai/schema/websearch";
@@ -1603,19 +1603,9 @@ export type Endpoint13_1Input = {
1603
1603
  };
1604
1604
  export type Endpoint13_1Output = Project.Current;
1605
1605
  export type ProjectCurrentOperation<E = never> = (input?: Endpoint13_1Input) => Effect.Effect<Endpoint13_1Output, E>;
1606
- export type Endpoint13_2Input = {
1607
- readonly projectID: Project.ID;
1608
- readonly location?: {
1609
- readonly directory?: string | undefined;
1610
- readonly workspace?: string | undefined;
1611
- } | undefined;
1612
- };
1613
- export type Endpoint13_2Output = Project.Directories;
1614
- export type ProjectDirectoriesOperation<E = never> = (input: Endpoint13_2Input) => Effect.Effect<Endpoint13_2Output, E>;
1615
1606
  export interface ProjectApi<E = never> {
1616
1607
  readonly list: ProjectListOperation<E>;
1617
1608
  readonly current: ProjectCurrentOperation<E>;
1618
- readonly directories: ProjectDirectoriesOperation<E>;
1619
1609
  }
1620
1610
  export type Endpoint14_0Input = {
1621
1611
  readonly location?: {
@@ -2028,40 +2018,35 @@ export interface ReferenceApi<E = never> {
2028
2018
  }
2029
2019
  export type Endpoint24_0Input = {
2030
2020
  readonly projectID: Project.ID;
2031
- readonly location?: {
2032
- readonly directory?: string | undefined;
2033
- readonly workspace?: string | undefined;
2034
- } | undefined;
2035
- readonly strategy: ProjectCopy.StrategyID;
2036
- readonly directory: AbsolutePath;
2037
- readonly name?: string | undefined;
2038
2021
  };
2039
- export type Endpoint24_0Output = ProjectCopy.Copy;
2040
- export type ProjectCopyCreateOperation<E = never> = (input: Endpoint24_0Input) => Effect.Effect<Endpoint24_0Output, E>;
2022
+ export type Endpoint24_0Output = Worktree.List;
2023
+ export type WorktreeListOperation<E = never> = (input: Endpoint24_0Input) => Effect.Effect<Endpoint24_0Output, E>;
2041
2024
  export type Endpoint24_1Input = {
2042
2025
  readonly projectID: Project.ID;
2043
- readonly location?: {
2044
- readonly directory?: string | undefined;
2045
- readonly workspace?: string | undefined;
2046
- } | undefined;
2026
+ readonly strategy: Worktree.StrategyID;
2027
+ readonly from?: AbsolutePath | undefined;
2047
2028
  readonly directory: AbsolutePath;
2048
- readonly force: boolean;
2029
+ readonly name?: string | undefined;
2049
2030
  };
2050
- export type Endpoint24_1Output = void;
2051
- export type ProjectCopyRemoveOperation<E = never> = (input: Endpoint24_1Input) => Effect.Effect<Endpoint24_1Output, E>;
2031
+ export type Endpoint24_1Output = Worktree.Info;
2032
+ export type WorktreeCreateOperation<E = never> = (input: Endpoint24_1Input) => Effect.Effect<Endpoint24_1Output, E>;
2052
2033
  export type Endpoint24_2Input = {
2053
2034
  readonly projectID: Project.ID;
2054
- readonly location?: {
2055
- readonly directory?: string | undefined;
2056
- readonly workspace?: string | undefined;
2057
- } | undefined;
2035
+ readonly directory: AbsolutePath;
2036
+ readonly force: boolean;
2058
2037
  };
2059
2038
  export type Endpoint24_2Output = void;
2060
- export type ProjectCopyRefreshOperation<E = never> = (input: Endpoint24_2Input) => Effect.Effect<Endpoint24_2Output, E>;
2061
- export interface ProjectCopyApi<E = never> {
2062
- readonly create: ProjectCopyCreateOperation<E>;
2063
- readonly remove: ProjectCopyRemoveOperation<E>;
2064
- readonly refresh: ProjectCopyRefreshOperation<E>;
2039
+ export type WorktreeRemoveOperation<E = never> = (input: Endpoint24_2Input) => Effect.Effect<Endpoint24_2Output, E>;
2040
+ export type Endpoint24_3Input = {
2041
+ readonly projectID: Project.ID;
2042
+ };
2043
+ export type Endpoint24_3Output = void;
2044
+ export type WorktreeRefreshOperation<E = never> = (input: Endpoint24_3Input) => Effect.Effect<Endpoint24_3Output, E>;
2045
+ export interface WorktreeApi<E = never> {
2046
+ readonly list: WorktreeListOperation<E>;
2047
+ readonly create: WorktreeCreateOperation<E>;
2048
+ readonly remove: WorktreeRemoveOperation<E>;
2049
+ readonly refresh: WorktreeRefreshOperation<E>;
2065
2050
  }
2066
2051
  export type Endpoint25_0Input = {
2067
2052
  readonly location?: {
@@ -2202,7 +2187,7 @@ export interface AppApi<E = never> {
2202
2187
  readonly shell: ShellApi<E>;
2203
2188
  readonly question: QuestionApi<E>;
2204
2189
  readonly reference: ReferenceApi<E>;
2205
- readonly projectCopy: ProjectCopyApi<E>;
2190
+ readonly worktree: WorktreeApi<E>;
2206
2191
  readonly vcs: VcsApi<E>;
2207
2192
  readonly debug: DebugApi<E>;
2208
2193
  readonly migration: MigrationApi<E>;
@@ -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 { Endpoint0_0Output, Endpoint0_1Input, Endpoint0_1Output, Endpoint1_0Output, Endpoint2_0Input, Endpoint3_0Input, Endpoint3_0Output, Endpoint3_1Input, Endpoint3_1Output, Endpoint4_0Input, Endpoint4_0Output, Endpoint5_0Input, Endpoint5_0Output, Endpoint5_1Input, Endpoint5_2Input, Endpoint5_3Input, Endpoint5_3Output, Endpoint5_4Output, Endpoint5_5Input, Endpoint5_6Input, Endpoint5_7Input, Endpoint5_8Input, Endpoint5_9Input, Endpoint5_10Input, Endpoint5_11Input, Endpoint5_12Input, Endpoint5_13Input, Endpoint5_14Input, Endpoint5_15Input, Endpoint5_16Input, Endpoint5_17Input, Endpoint5_18Input, Endpoint5_19Input, Endpoint5_20Input, Endpoint5_21Input, Endpoint5_22Input, Endpoint5_22Output, Endpoint5_23Input, Endpoint5_23Output, Endpoint5_24Input, Endpoint5_25Input, Endpoint5_26Input, Endpoint5_27Input, Endpoint5_27Output, Endpoint5_28Input, Endpoint5_29Input, Endpoint5_30Input, Endpoint5_30Output, Endpoint5_31Input, Endpoint5_31Output, Endpoint5_32Input, Endpoint5_33Input, Endpoint5_34Input, Endpoint6_0Input, Endpoint6_0Output, Endpoint7_0Input, Endpoint7_0Output, Endpoint7_1Input, Endpoint7_1Output, Endpoint8_0Input, Endpoint8_0Output, Endpoint9_0Input, Endpoint9_0Output, Endpoint9_1Input, Endpoint9_1Output, Endpoint10_0Input, Endpoint10_0Output, Endpoint10_1Input, Endpoint10_1Output, Endpoint10_2Input, Endpoint10_3Input, Endpoint10_4Input, Endpoint10_4Output, Endpoint10_5Input, Endpoint10_5Output, Endpoint10_6Input, Endpoint10_7Input, Endpoint10_8Input, Endpoint10_8Output, Endpoint10_9Input, Endpoint10_9Output, Endpoint10_10Input, Endpoint11_0Input, Endpoint11_0Output, Endpoint11_1Input, Endpoint11_2Input, Endpoint11_3Input, Endpoint11_4Input, Endpoint11_5Input, Endpoint11_5Output, Endpoint12_0Input, Endpoint12_1Input, Endpoint13_0Output, Endpoint13_1Input, Endpoint13_2Input, Endpoint14_0Input, Endpoint14_0Output, Endpoint14_1Input, Endpoint14_1Output, Endpoint14_2Input, Endpoint14_3Input, Endpoint14_4Input, Endpoint14_5Input, Endpoint14_6Input, Endpoint15_0Input, Endpoint15_0Output, Endpoint15_1Input, Endpoint15_1Output, Endpoint15_2Input, Endpoint15_3Input, Endpoint15_3Output, Endpoint15_4Input, Endpoint15_4Output, Endpoint15_5Input, Endpoint15_6Input, Endpoint16_0Input, Endpoint16_0Output, Endpoint16_1Input, Endpoint16_1Output, Endpoint17_0Input, Endpoint17_0Output, Endpoint18_0Input, Endpoint18_0Output, Endpoint20_0Input, Endpoint20_0Output, Endpoint20_1Input, Endpoint20_1Output, Endpoint20_2Input, Endpoint20_2Output, Endpoint20_3Input, Endpoint20_3Output, Endpoint20_4Input, Endpoint21_0Input, Endpoint21_0Output, Endpoint21_1Input, Endpoint21_1Output, Endpoint21_2Input, Endpoint21_2Output, Endpoint21_3Input, Endpoint21_3Output, Endpoint21_4Input, Endpoint21_4Output, Endpoint21_5Input, Endpoint22_0Input, Endpoint22_0Output, Endpoint22_1Input, Endpoint22_1Output, Endpoint22_2Input, Endpoint22_3Input, Endpoint23_0Input, Endpoint23_0Output, Endpoint24_0Input, Endpoint24_1Input, Endpoint24_2Input, Endpoint25_0Input, Endpoint25_0Output, Endpoint25_1Input, Endpoint25_1Output, Endpoint25_2Input, Endpoint25_2Output, Endpoint26_0Output, Endpoint26_1Input, Endpoint27_0Output, Endpoint28_0Input, Endpoint28_0Output, Endpoint28_1Input, Endpoint28_1Output, Endpoint29_0Input, Endpoint29_0Output } from "../api/api.js";
4
+ import type { Endpoint0_0Output, Endpoint0_1Input, Endpoint0_1Output, Endpoint1_0Output, Endpoint2_0Input, Endpoint3_0Input, Endpoint3_0Output, Endpoint3_1Input, Endpoint3_1Output, Endpoint4_0Input, Endpoint4_0Output, Endpoint5_0Input, Endpoint5_0Output, Endpoint5_1Input, Endpoint5_2Input, Endpoint5_3Input, Endpoint5_3Output, Endpoint5_4Output, Endpoint5_5Input, Endpoint5_6Input, Endpoint5_7Input, Endpoint5_8Input, Endpoint5_9Input, Endpoint5_10Input, Endpoint5_11Input, Endpoint5_12Input, Endpoint5_13Input, Endpoint5_14Input, Endpoint5_15Input, Endpoint5_16Input, Endpoint5_17Input, Endpoint5_18Input, Endpoint5_19Input, Endpoint5_20Input, Endpoint5_21Input, Endpoint5_22Input, Endpoint5_22Output, Endpoint5_23Input, Endpoint5_23Output, Endpoint5_24Input, Endpoint5_25Input, Endpoint5_26Input, Endpoint5_27Input, Endpoint5_27Output, Endpoint5_28Input, Endpoint5_29Input, Endpoint5_30Input, Endpoint5_30Output, Endpoint5_31Input, Endpoint5_31Output, Endpoint5_32Input, Endpoint5_33Input, Endpoint5_34Input, Endpoint6_0Input, Endpoint6_0Output, Endpoint7_0Input, Endpoint7_0Output, Endpoint7_1Input, Endpoint7_1Output, Endpoint8_0Input, Endpoint8_0Output, Endpoint9_0Input, Endpoint9_0Output, Endpoint9_1Input, Endpoint9_1Output, Endpoint10_0Input, Endpoint10_0Output, Endpoint10_1Input, Endpoint10_1Output, Endpoint10_2Input, Endpoint10_3Input, Endpoint10_4Input, Endpoint10_4Output, Endpoint10_5Input, Endpoint10_5Output, Endpoint10_6Input, Endpoint10_7Input, Endpoint10_8Input, Endpoint10_8Output, Endpoint10_9Input, Endpoint10_9Output, Endpoint10_10Input, Endpoint11_0Input, Endpoint11_0Output, Endpoint11_1Input, Endpoint11_2Input, Endpoint11_3Input, Endpoint11_4Input, Endpoint11_5Input, Endpoint11_5Output, Endpoint12_0Input, Endpoint12_1Input, Endpoint13_0Output, Endpoint13_1Input, Endpoint14_0Input, Endpoint14_0Output, Endpoint14_1Input, Endpoint14_1Output, Endpoint14_2Input, Endpoint14_3Input, Endpoint14_4Input, Endpoint14_5Input, Endpoint14_6Input, Endpoint15_0Input, Endpoint15_0Output, Endpoint15_1Input, Endpoint15_1Output, Endpoint15_2Input, Endpoint15_3Input, Endpoint15_3Output, Endpoint15_4Input, Endpoint15_4Output, Endpoint15_5Input, Endpoint15_6Input, Endpoint16_0Input, Endpoint16_0Output, Endpoint16_1Input, Endpoint16_1Output, Endpoint17_0Input, Endpoint17_0Output, Endpoint18_0Input, Endpoint18_0Output, Endpoint20_0Input, Endpoint20_0Output, Endpoint20_1Input, Endpoint20_1Output, Endpoint20_2Input, Endpoint20_2Output, Endpoint20_3Input, Endpoint20_3Output, Endpoint20_4Input, Endpoint21_0Input, Endpoint21_0Output, Endpoint21_1Input, Endpoint21_1Output, Endpoint21_2Input, Endpoint21_2Output, Endpoint21_3Input, Endpoint21_3Output, Endpoint21_4Input, Endpoint21_4Output, Endpoint21_5Input, Endpoint22_0Input, Endpoint22_0Output, Endpoint22_1Input, Endpoint22_1Output, Endpoint22_2Input, Endpoint22_3Input, Endpoint23_0Input, Endpoint23_0Output, Endpoint24_0Input, Endpoint24_1Input, Endpoint24_2Input, Endpoint24_3Input, Endpoint25_0Input, Endpoint25_0Output, Endpoint25_1Input, Endpoint25_1Output, Endpoint25_2Input, Endpoint25_2Output, Endpoint26_0Output, Endpoint26_1Input, Endpoint27_0Output, Endpoint28_0Input, Endpoint28_0Output, Endpoint28_1Input, Endpoint28_1Output, Endpoint29_0Input, Endpoint29_0Output } 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;
@@ -120,10 +120,6 @@ export declare const make: (options?: {
120
120
  project: {
121
121
  list: () => Effect.Effect<Endpoint13_0Output, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
122
122
  current: (input?: Endpoint13_1Input) => Effect.Effect<import("@opencode-ai/schema/project").Current, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
123
- directories: (input: Endpoint13_2Input) => Effect.Effect<readonly {
124
- readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
125
- readonly strategy?: string | undefined;
126
- }[], Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
127
123
  };
128
124
  form: {
129
125
  request: {
@@ -1817,7 +1813,7 @@ export declare const make: (options?: {
1817
1813
  readonly data: {
1818
1814
  readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
1819
1815
  };
1820
- readonly type: "project.directories.updated";
1816
+ readonly type: "worktree.updated";
1821
1817
  readonly created: import("effect/DateTime").Utc;
1822
1818
  readonly location?: {
1823
1819
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -1838,7 +1834,7 @@ export declare const make: (options?: {
1838
1834
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
1839
1835
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
1840
1836
  };
1841
- readonly type: "project.directory.resolved";
1837
+ readonly type: "worktree.resolved";
1842
1838
  readonly created: import("effect/DateTime").Utc;
1843
1839
  readonly location?: {
1844
1840
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -2246,10 +2242,14 @@ export declare const make: (options?: {
2246
2242
  reference: {
2247
2243
  list: (input?: Endpoint23_0Input) => Effect.Effect<Endpoint23_0Output, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
2248
2244
  };
2249
- projectCopy: {
2250
- create: (input: Endpoint24_0Input) => Effect.Effect<import("@opencode-ai/schema/project-copy").Copy, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/project-copy").ProjectCopyError | ClientError | HttpClientError.HttpClientError, never>;
2251
- remove: (input: Endpoint24_1Input) => Effect.Effect<void, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/project-copy").ProjectCopyError | ClientError | HttpClientError.HttpClientError, never>;
2252
- refresh: (input: Endpoint24_2Input) => Effect.Effect<void, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/project-copy").ProjectCopyError | ClientError | HttpClientError.HttpClientError, never>;
2245
+ worktree: {
2246
+ list: (input: Endpoint24_0Input) => Effect.Effect<readonly {
2247
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
2248
+ readonly strategy?: string | undefined;
2249
+ }[], Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
2250
+ create: (input: Endpoint24_1Input) => Effect.Effect<import("@opencode-ai/schema/worktree").Info, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/worktree").WorktreeError | ClientError | HttpClientError.HttpClientError, never>;
2251
+ remove: (input: Endpoint24_2Input) => Effect.Effect<void, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/worktree").WorktreeError | ClientError | HttpClientError.HttpClientError, never>;
2252
+ refresh: (input: Endpoint24_3Input) => Effect.Effect<void, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | import("@opencode-ai/protocol/groups/worktree").WorktreeError | ClientError | HttpClientError.HttpClientError, never>;
2253
2253
  };
2254
2254
  vcs: {
2255
2255
  get: (input?: Endpoint25_0Input) => Effect.Effect<Endpoint25_0Output, Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
@@ -270,15 +270,7 @@ const Endpoint12_1 = (raw) => (input) => preserveEffect()(raw["credential.remove
270
270
  const adaptGroup12 = (raw) => ({ update: Endpoint12_0(raw), remove: Endpoint12_1(raw) });
271
271
  const Endpoint13_0 = (raw) => () => preserveEffect()(raw["project.list"]({}).pipe(Effect.mapError(mapClientError)));
272
272
  const Endpoint13_1 = (raw) => (input) => preserveEffect()(raw["project.current"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
273
- const Endpoint13_2 = (raw) => (input) => preserveEffect()(raw["project.directories"]({
274
- params: { projectID: input["projectID"] },
275
- query: { location: input["location"] },
276
- }).pipe(Effect.mapError(mapClientError)));
277
- const adaptGroup13 = (raw) => ({
278
- list: Endpoint13_0(raw),
279
- current: Endpoint13_1(raw),
280
- directories: Endpoint13_2(raw),
281
- });
273
+ const adaptGroup13 = (raw) => ({ list: Endpoint13_0(raw), current: Endpoint13_1(raw) });
282
274
  const Endpoint14_0 = (raw) => (input) => preserveEffect()(raw["form.request.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
283
275
  const Endpoint14_1 = (raw) => (input) => preserveEffect()(raw["session.form.list"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapClientError), Effect.map((value) => value.data)));
284
276
  const Endpoint14_2 = (raw) => (input) => preserveEffect()(raw["session.form.create"]({
@@ -406,24 +398,21 @@ const adaptGroup22 = (raw) => ({
406
398
  });
407
399
  const Endpoint23_0 = (raw) => (input) => preserveEffect()(raw["reference.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
408
400
  const adaptGroup23 = (raw) => ({ list: Endpoint23_0(raw) });
409
- const Endpoint24_0 = (raw) => (input) => preserveEffect()(raw["projectCopy.create"]({
401
+ const Endpoint24_0 = (raw) => (input) => preserveEffect()(raw["worktree.list"]({ params: { projectID: input["projectID"] } }).pipe(Effect.mapError(mapClientError)));
402
+ const Endpoint24_1 = (raw) => (input) => preserveEffect()(raw["worktree.create"]({
410
403
  params: { projectID: input["projectID"] },
411
- query: { location: input["location"] },
412
- payload: { strategy: input["strategy"], directory: input["directory"], name: input["name"] },
404
+ payload: { strategy: input["strategy"], from: input["from"], directory: input["directory"], name: input["name"] },
413
405
  }).pipe(Effect.mapError(mapClientError)));
414
- const Endpoint24_1 = (raw) => (input) => preserveEffect()(raw["projectCopy.remove"]({
406
+ const Endpoint24_2 = (raw) => (input) => preserveEffect()(raw["worktree.remove"]({
415
407
  params: { projectID: input["projectID"] },
416
- query: { location: input["location"] },
417
408
  payload: { directory: input["directory"], force: input["force"] },
418
409
  }).pipe(Effect.mapError(mapClientError)));
419
- const Endpoint24_2 = (raw) => (input) => preserveEffect()(raw["projectCopy.refresh"]({
420
- params: { projectID: input["projectID"] },
421
- query: { location: input["location"] },
422
- }).pipe(Effect.mapError(mapClientError)));
410
+ const Endpoint24_3 = (raw) => (input) => preserveEffect()(raw["worktree.refresh"]({ params: { projectID: input["projectID"] } }).pipe(Effect.mapError(mapClientError)));
423
411
  const adaptGroup24 = (raw) => ({
424
- create: Endpoint24_0(raw),
425
- remove: Endpoint24_1(raw),
426
- refresh: Endpoint24_2(raw),
412
+ list: Endpoint24_0(raw),
413
+ create: Endpoint24_1(raw),
414
+ remove: Endpoint24_2(raw),
415
+ refresh: Endpoint24_3(raw),
427
416
  });
428
417
  const Endpoint25_0 = (raw) => (input) => preserveEffect()(raw["vcs.get"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
429
418
  const Endpoint25_1 = (raw) => (input) => preserveEffect()(raw["vcs.status"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
@@ -476,7 +465,7 @@ const adaptClient = (raw) => ({
476
465
  shell: adaptGroup21(raw["server.shell"]),
477
466
  question: adaptGroup22(raw["server.question"]),
478
467
  reference: adaptGroup23(raw["server.reference"]),
479
- projectCopy: adaptGroup24(raw["server.projectCopy"]),
468
+ worktree: adaptGroup24(raw["server.worktree"]),
480
469
  vcs: adaptGroup25(raw["server.vcs"]),
481
470
  debug: adaptGroup26(raw["server.debug"]),
482
471
  migration: adaptGroup27(raw["server.migration"]),
@@ -15,7 +15,7 @@ export { Model } from "@opencode-ai/schema/model";
15
15
  export { Permission } from "@opencode-ai/schema/permission";
16
16
  export { PermissionSaved } from "@opencode-ai/schema/permission-saved";
17
17
  export { Project } from "@opencode-ai/schema/project";
18
- export { ProjectCopy } from "@opencode-ai/schema/project-copy";
18
+ export { Worktree } from "@opencode-ai/schema/worktree";
19
19
  export { Provider } from "@opencode-ai/schema/provider";
20
20
  export { Pty } from "@opencode-ai/schema/pty";
21
21
  export { Question } from "@opencode-ai/schema/question";
@@ -13,7 +13,7 @@ export { Model } from "@opencode-ai/schema/model";
13
13
  export { Permission } from "@opencode-ai/schema/permission";
14
14
  export { PermissionSaved } from "@opencode-ai/schema/permission-saved";
15
15
  export { Project } from "@opencode-ai/schema/project";
16
- export { ProjectCopy } from "@opencode-ai/schema/project-copy";
16
+ export { Worktree } from "@opencode-ai/schema/worktree";
17
17
  export { Provider } from "@opencode-ai/schema/provider";
18
18
  export { Pty } from "@opencode-ai/schema/pty";
19
19
  export { Question } from "@opencode-ai/schema/question";
@@ -1,4 +1,4 @@
1
- import type { HealthStopInput, ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, SessionListInput, 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, 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, CredentialRemoveInput, ProjectListOutput, ProjectCurrentInput, ProjectDirectoriesInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, QuestionRequestListInput, QuestionRequestListOutput, QuestionListInput, QuestionReplyInput, QuestionRejectInput, ReferenceListInput, ReferenceListOutput, ProjectCopyCreateInput, ProjectCopyRemoveInput, ProjectCopyRefreshInput, VcsGetInput, VcsGetOutput, VcsStatusInput, VcsStatusOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput } from "./types.js";
1
+ import type { HealthStopInput, ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, SessionListInput, 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, 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, CredentialRemoveInput, ProjectListOutput, ProjectCurrentInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, QuestionRequestListInput, QuestionRequestListOutput, QuestionListInput, QuestionReplyInput, QuestionRejectInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsGetInput, VcsGetOutput, VcsStatusInput, VcsStatusOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput } from "./types.js";
2
2
  export interface ClientOptions {
3
3
  readonly baseUrl: string;
4
4
  readonly fetch?: typeof globalThis.fetch;
@@ -129,7 +129,6 @@ export declare function make(options: ClientOptions): {
129
129
  project: {
130
130
  list: (requestOptions?: RequestOptions) => Promise<ProjectListOutput>;
131
131
  current: (input?: ProjectCurrentInput, requestOptions?: RequestOptions) => Promise<import("./types.js").ProjectCurrent>;
132
- directories: (input: ProjectDirectoriesInput, requestOptions?: RequestOptions) => Promise<import("./types.js").ProjectDirectories>;
133
132
  };
134
133
  form: {
135
134
  request: {
@@ -205,10 +204,11 @@ export declare function make(options: ClientOptions): {
205
204
  reference: {
206
205
  list: (input?: ReferenceListInput, requestOptions?: RequestOptions) => Promise<ReferenceListOutput>;
207
206
  };
208
- projectCopy: {
209
- create: (input: ProjectCopyCreateInput, requestOptions?: RequestOptions) => Promise<import("./types.js").ProjectCopyCopy>;
210
- remove: (input: ProjectCopyRemoveInput, requestOptions?: RequestOptions) => Promise<void>;
211
- refresh: (input: ProjectCopyRefreshInput, requestOptions?: RequestOptions) => Promise<void>;
207
+ worktree: {
208
+ list: (input: WorktreeListInput, requestOptions?: RequestOptions) => Promise<import("./types.js").WorktreeList>;
209
+ create: (input: WorktreeCreateInput, requestOptions?: RequestOptions) => Promise<import("./types.js").WorktreeInfo>;
210
+ remove: (input: WorktreeRemoveInput, requestOptions?: RequestOptions) => Promise<void>;
211
+ refresh: (input: WorktreeRefreshInput, requestOptions?: RequestOptions) => Promise<void>;
212
212
  };
213
213
  vcs: {
214
214
  get: (input?: VcsGetInput, requestOptions?: RequestOptions) => Promise<VcsGetOutput>;
@@ -739,14 +739,6 @@ export function make(options) {
739
739
  declaredStatuses: [401, 400],
740
740
  empty: false,
741
741
  }, requestOptions),
742
- directories: (input, requestOptions) => request({
743
- method: "GET",
744
- path: `/api/project/${encodeURIComponent(input.projectID)}/directories`,
745
- query: { location: input["location"] },
746
- successStatus: 200,
747
- declaredStatuses: [401, 400],
748
- empty: false,
749
- }, requestOptions),
750
742
  },
751
743
  form: {
752
744
  request: {
@@ -1073,20 +1065,30 @@ export function make(options) {
1073
1065
  empty: false,
1074
1066
  }, requestOptions),
1075
1067
  },
1076
- projectCopy: {
1068
+ worktree: {
1069
+ list: (input, requestOptions) => request({
1070
+ method: "GET",
1071
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1072
+ successStatus: 200,
1073
+ declaredStatuses: [401, 400],
1074
+ empty: false,
1075
+ }, requestOptions),
1077
1076
  create: (input, requestOptions) => request({
1078
1077
  method: "POST",
1079
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy`,
1080
- query: { location: input["location"] },
1081
- body: { strategy: input["strategy"], directory: input["directory"], name: input["name"] },
1078
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1079
+ body: {
1080
+ strategy: input["strategy"],
1081
+ from: input["from"],
1082
+ directory: input["directory"],
1083
+ name: input["name"],
1084
+ },
1082
1085
  successStatus: 200,
1083
1086
  declaredStatuses: [400, 401],
1084
1087
  empty: false,
1085
1088
  }, requestOptions),
1086
1089
  remove: (input, requestOptions) => request({
1087
1090
  method: "DELETE",
1088
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy`,
1089
- query: { location: input["location"] },
1091
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1090
1092
  body: { directory: input["directory"], force: input["force"] },
1091
1093
  successStatus: 204,
1092
1094
  declaredStatuses: [400, 401],
@@ -1094,8 +1096,7 @@ export function make(options) {
1094
1096
  }, requestOptions),
1095
1097
  refresh: (input, requestOptions) => request({
1096
1098
  method: "POST",
1097
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy/refresh`,
1098
- query: { location: input["location"] },
1099
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree/refresh`,
1099
1100
  successStatus: 204,
1100
1101
  declaredStatuses: [400, 401],
1101
1102
  empty: true,
@@ -448,10 +448,6 @@ export type ProjectCurrent = {
448
448
  directory: string;
449
449
  canonical: string;
450
450
  };
451
- export type ProjectDirectory = {
452
- directory: string;
453
- strategy?: string;
454
- };
455
451
  export type FormMetadata = {
456
452
  [x: string]: JsonValue;
457
453
  };
@@ -556,7 +552,11 @@ export type ReferenceGitSource = {
556
552
  description?: string;
557
553
  hidden?: boolean;
558
554
  };
559
- export type ProjectCopyCopy = {
555
+ export type WorktreeDirectory = {
556
+ directory: string;
557
+ strategy?: string;
558
+ };
559
+ export type WorktreeInfo = {
560
560
  directory: string;
561
561
  };
562
562
  export type VcsBranch = {
@@ -1314,25 +1314,25 @@ export type PluginUpdated = {
1314
1314
  location?: LocationRef;
1315
1315
  data: {};
1316
1316
  };
1317
- export type ProjectDirectoriesUpdated = {
1317
+ export type WorktreeUpdated = {
1318
1318
  id: string;
1319
1319
  created: number;
1320
1320
  metadata?: {
1321
1321
  [x: string]: any;
1322
1322
  };
1323
- type: "project.directories.updated";
1323
+ type: "worktree.updated";
1324
1324
  location?: LocationRef;
1325
1325
  data: {
1326
1326
  projectID: string;
1327
1327
  };
1328
1328
  };
1329
- export type ProjectDirectoryResolved = {
1329
+ export type WorktreeResolved = {
1330
1330
  id: string;
1331
1331
  created: number;
1332
1332
  metadata?: {
1333
1333
  [x: string]: any;
1334
1334
  };
1335
- type: "project.directory.resolved";
1335
+ type: "worktree.resolved";
1336
1336
  durable: {
1337
1337
  aggregateID: string;
1338
1338
  seq: number;
@@ -2010,7 +2010,6 @@ export type Project = {
2010
2010
  time: ProjectTime;
2011
2011
  sandboxes: Array<string>;
2012
2012
  };
2013
- export type ProjectDirectories = Array<ProjectDirectory>;
2014
2013
  export type FormAnswer = {
2015
2014
  [x: string]: FormValue;
2016
2015
  };
@@ -2180,6 +2179,7 @@ export type SessionStatus2 = {
2180
2179
  };
2181
2180
  };
2182
2181
  export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource;
2182
+ export type WorktreeList = Array<WorktreeDirectory>;
2183
2183
  export type VcsInfo = {
2184
2184
  branch: VcsBranch;
2185
2185
  };
@@ -2858,7 +2858,7 @@ export type IntegrationInfo = {
2858
2858
  methods: Array<IntegrationMethod>;
2859
2859
  connections: Array<ConnectionInfo>;
2860
2860
  };
2861
- export type V2Event = ModelsDevRefreshed | IntegrationUpdated | IntegrationConnectionUpdated | CatalogUpdated | AgentUpdated | SessionCreated | SessionAgentSelected | SessionModelSelected | SessionMoved | SessionRenamed | SessionUsageUpdated | SessionDeleted | SessionForked | SessionInboxDelivered | SessionInboxEnqueued | SessionInboxCancelled | SessionInboxDeliveryChanged | SessionExecutionStarted | SessionExecutionSucceeded | SessionExecutionFailed | SessionExecutionInterrupted | SessionInstructionsUpdated | SessionSynthetic | SessionSkillActivated | SessionShellStarted | SessionShellEnded | SessionStepStarted | 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 | PluginAdded | PluginUpdated | ProjectDirectoriesUpdated | ProjectDirectoryResolved | CommandUpdated | ConfigUpdated | SkillUpdated | PtyCreated | PtyUpdated | PtyExited | PtyDeleted | ShellCreated | ShellExited | ShellDeleted | QuestionAsked | QuestionReplied | QuestionRejected | FormCreated | FormReplied | FormCancelled | WebsearchUpdated | SessionStatus2 | SessionIdle | TuiPromptAppend | TuiCommandExecute | TuiToastShow | TuiSessionSelect | InstallationUpdated | InstallationUpdateAvailable | VcsBranchUpdated | McpStatusChanged | McpResourcesChanged | V2EventServerConnected;
2861
+ export type V2Event = ModelsDevRefreshed | IntegrationUpdated | IntegrationConnectionUpdated | CatalogUpdated | AgentUpdated | SessionCreated | SessionAgentSelected | SessionModelSelected | SessionMoved | SessionRenamed | SessionUsageUpdated | SessionDeleted | SessionForked | SessionInboxDelivered | SessionInboxEnqueued | SessionInboxCancelled | SessionInboxDeliveryChanged | SessionExecutionStarted | SessionExecutionSucceeded | SessionExecutionFailed | SessionExecutionInterrupted | SessionInstructionsUpdated | SessionSynthetic | SessionSkillActivated | SessionShellStarted | SessionShellEnded | SessionStepStarted | 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 | PluginAdded | PluginUpdated | WorktreeUpdated | WorktreeResolved | CommandUpdated | ConfigUpdated | SkillUpdated | PtyCreated | PtyUpdated | PtyExited | PtyDeleted | ShellCreated | ShellExited | ShellDeleted | QuestionAsked | QuestionReplied | QuestionRejected | FormCreated | FormReplied | FormCancelled | WebsearchUpdated | SessionStatus2 | SessionIdle | TuiPromptAppend | TuiCommandExecute | TuiToastShow | TuiSessionSelect | InstallationUpdated | InstallationUpdateAvailable | VcsBranchUpdated | McpStatusChanged | McpResourcesChanged | V2EventServerConnected;
2862
2862
  export type UnauthorizedError = {
2863
2863
  readonly _tag: "UnauthorizedError";
2864
2864
  readonly message: string;
@@ -2998,14 +2998,14 @@ export type QuestionNotFoundError = {
2998
2998
  readonly message: string;
2999
2999
  };
3000
3000
  export declare const isQuestionNotFoundError: (value: unknown) => value is QuestionNotFoundError;
3001
- export type ProjectCopyError = {
3002
- readonly name: "ProjectCopyError";
3001
+ export type WorktreeError = {
3002
+ readonly name: "WorktreeError";
3003
3003
  readonly data: {
3004
3004
  readonly message: string;
3005
3005
  readonly forceRequired?: boolean | undefined;
3006
3006
  };
3007
3007
  };
3008
- export declare const isProjectCopyError: (value: unknown) => value is ProjectCopyError;
3008
+ export declare const isWorktreeError: (value: unknown) => value is WorktreeError;
3009
3009
  export type HealthGetOutput = ServiceHealth;
3010
3010
  export type HealthStopInput = {
3011
3011
  readonly instanceID: {
@@ -6142,18 +6142,6 @@ export type ProjectCurrentInput = {
6142
6142
  }["location"];
6143
6143
  };
6144
6144
  export type ProjectCurrentOutput = ProjectCurrent;
6145
- export type ProjectDirectoriesInput = {
6146
- readonly projectID: {
6147
- readonly projectID: string;
6148
- }["projectID"];
6149
- readonly location?: {
6150
- readonly location?: {
6151
- readonly directory?: string | undefined;
6152
- readonly workspace?: string | undefined;
6153
- } | undefined;
6154
- }["location"];
6155
- };
6156
- export type ProjectDirectoriesOutput = ProjectDirectories;
6157
6145
  export type FormRequestListInput = {
6158
6146
  readonly location?: {
6159
6147
  readonly location?: {
@@ -7750,43 +7738,46 @@ export type ReferenceListOutput = {
7750
7738
  };
7751
7739
  data: Array<ReferenceInfo>;
7752
7740
  };
7753
- export type ProjectCopyCreateInput = {
7741
+ export type WorktreeListInput = {
7742
+ readonly projectID: {
7743
+ readonly projectID: string;
7744
+ }["projectID"];
7745
+ };
7746
+ export type WorktreeListOutput = WorktreeList;
7747
+ export type WorktreeCreateInput = {
7754
7748
  readonly projectID: {
7755
7749
  readonly projectID: string;
7756
7750
  }["projectID"];
7757
- readonly location?: {
7758
- readonly location?: {
7759
- readonly directory?: string | undefined;
7760
- readonly workspace?: string | undefined;
7761
- } | undefined;
7762
- }["location"];
7763
7751
  readonly strategy: {
7764
7752
  readonly strategy: string;
7753
+ readonly from?: string;
7765
7754
  readonly directory: string;
7766
7755
  readonly name?: string;
7767
7756
  }["strategy"];
7757
+ readonly from?: {
7758
+ readonly strategy: string;
7759
+ readonly from?: string;
7760
+ readonly directory: string;
7761
+ readonly name?: string;
7762
+ }["from"];
7768
7763
  readonly directory: {
7769
7764
  readonly strategy: string;
7765
+ readonly from?: string;
7770
7766
  readonly directory: string;
7771
7767
  readonly name?: string;
7772
7768
  }["directory"];
7773
7769
  readonly name?: {
7774
7770
  readonly strategy: string;
7771
+ readonly from?: string;
7775
7772
  readonly directory: string;
7776
7773
  readonly name?: string;
7777
7774
  }["name"];
7778
7775
  };
7779
- export type ProjectCopyCreateOutput = ProjectCopyCopy;
7780
- export type ProjectCopyRemoveInput = {
7776
+ export type WorktreeCreateOutput = WorktreeInfo;
7777
+ export type WorktreeRemoveInput = {
7781
7778
  readonly projectID: {
7782
7779
  readonly projectID: string;
7783
7780
  }["projectID"];
7784
- readonly location?: {
7785
- readonly location?: {
7786
- readonly directory?: string | undefined;
7787
- readonly workspace?: string | undefined;
7788
- } | undefined;
7789
- }["location"];
7790
7781
  readonly directory: {
7791
7782
  readonly directory: string;
7792
7783
  readonly force: boolean;
@@ -7796,19 +7787,13 @@ export type ProjectCopyRemoveInput = {
7796
7787
  readonly force: boolean;
7797
7788
  }["force"];
7798
7789
  };
7799
- export type ProjectCopyRemoveOutput = void;
7800
- export type ProjectCopyRefreshInput = {
7790
+ export type WorktreeRemoveOutput = void;
7791
+ export type WorktreeRefreshInput = {
7801
7792
  readonly projectID: {
7802
7793
  readonly projectID: string;
7803
7794
  }["projectID"];
7804
- readonly location?: {
7805
- readonly location?: {
7806
- readonly directory?: string | undefined;
7807
- readonly workspace?: string | undefined;
7808
- } | undefined;
7809
- }["location"];
7810
7795
  };
7811
- export type ProjectCopyRefreshOutput = void;
7796
+ export type WorktreeRefreshOutput = void;
7812
7797
  export type VcsGetInput = {
7813
7798
  readonly location?: {
7814
7799
  readonly location?: {
@@ -24,4 +24,4 @@ export const isPermissionNotFoundError = (value) => typeof value === "object" &&
24
24
  export const isPtyNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "PtyNotFoundError";
25
25
  export const isShellNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "ShellNotFoundError";
26
26
  export const isQuestionNotFoundError = (value) => typeof value === "object" && value !== null && "_tag" in value && value["_tag"] === "QuestionNotFoundError";
27
- export const isProjectCopyError = (value) => typeof value === "object" && value !== null && "name" in value && value["name"] === "ProjectCopyError";
27
+ export const isWorktreeError = (value) => typeof value === "object" && value !== null && "name" in value && value["name"] === "WorktreeError";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/client",
4
- "version": "0.0.0-next-17428",
4
+ "version": "0.0.0-next-17430",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -53,8 +53,8 @@
53
53
  "typecheck": "tsgo --noEmit"
54
54
  },
55
55
  "dependencies": {
56
- "@opencode-ai/schema": "0.0.0-next-17428",
57
- "@opencode-ai/protocol": "0.0.0-next-17428"
56
+ "@opencode-ai/schema": "0.0.0-next-17430",
57
+ "@opencode-ai/protocol": "0.0.0-next-17430"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "effect": "4.0.0-beta.101"
@@ -66,7 +66,7 @@
66
66
  },
67
67
  "devDependencies": {
68
68
  "@effect/platform-node": "4.0.0-beta.101",
69
- "@opencode-ai/httpapi-codegen": "0.0.0-next-17428",
69
+ "@opencode-ai/httpapi-codegen": "0.0.0-next-17430",
70
70
  "@tsconfig/bun": "1.0.9",
71
71
  "@types/bun": "1.3.13",
72
72
  "@typescript/native-preview": "7.0.0-dev.20251207.1",