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

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?: {
@@ -1705,7 +1695,6 @@ export type Endpoint15_3Input = {
1705
1695
  readonly action: string;
1706
1696
  readonly resources: ReadonlyArray<string>;
1707
1697
  readonly save?: ReadonlyArray<string> | undefined;
1708
- readonly opaque?: boolean | undefined;
1709
1698
  readonly metadata?: {
1710
1699
  readonly [x: string]: unknown;
1711
1700
  } | undefined;
@@ -2028,40 +2017,35 @@ export interface ReferenceApi<E = never> {
2028
2017
  }
2029
2018
  export type Endpoint24_0Input = {
2030
2019
  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
2020
  };
2039
- export type Endpoint24_0Output = ProjectCopy.Copy;
2040
- export type ProjectCopyCreateOperation<E = never> = (input: Endpoint24_0Input) => Effect.Effect<Endpoint24_0Output, E>;
2021
+ export type Endpoint24_0Output = Worktree.List;
2022
+ export type WorktreeListOperation<E = never> = (input: Endpoint24_0Input) => Effect.Effect<Endpoint24_0Output, E>;
2041
2023
  export type Endpoint24_1Input = {
2042
2024
  readonly projectID: Project.ID;
2043
- readonly location?: {
2044
- readonly directory?: string | undefined;
2045
- readonly workspace?: string | undefined;
2046
- } | undefined;
2025
+ readonly strategy: Worktree.StrategyID;
2026
+ readonly from?: AbsolutePath | undefined;
2047
2027
  readonly directory: AbsolutePath;
2048
- readonly force: boolean;
2028
+ readonly name?: string | undefined;
2049
2029
  };
2050
- export type Endpoint24_1Output = void;
2051
- export type ProjectCopyRemoveOperation<E = never> = (input: Endpoint24_1Input) => Effect.Effect<Endpoint24_1Output, E>;
2030
+ export type Endpoint24_1Output = Worktree.Info;
2031
+ export type WorktreeCreateOperation<E = never> = (input: Endpoint24_1Input) => Effect.Effect<Endpoint24_1Output, E>;
2052
2032
  export type Endpoint24_2Input = {
2053
2033
  readonly projectID: Project.ID;
2054
- readonly location?: {
2055
- readonly directory?: string | undefined;
2056
- readonly workspace?: string | undefined;
2057
- } | undefined;
2034
+ readonly directory: AbsolutePath;
2035
+ readonly force: boolean;
2058
2036
  };
2059
2037
  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>;
2038
+ export type WorktreeRemoveOperation<E = never> = (input: Endpoint24_2Input) => Effect.Effect<Endpoint24_2Output, E>;
2039
+ export type Endpoint24_3Input = {
2040
+ readonly projectID: Project.ID;
2041
+ };
2042
+ export type Endpoint24_3Output = void;
2043
+ export type WorktreeRefreshOperation<E = never> = (input: Endpoint24_3Input) => Effect.Effect<Endpoint24_3Output, E>;
2044
+ export interface WorktreeApi<E = never> {
2045
+ readonly list: WorktreeListOperation<E>;
2046
+ readonly create: WorktreeCreateOperation<E>;
2047
+ readonly remove: WorktreeRemoveOperation<E>;
2048
+ readonly refresh: WorktreeRefreshOperation<E>;
2065
2049
  }
2066
2050
  export type Endpoint25_0Input = {
2067
2051
  readonly location?: {
@@ -2202,7 +2186,7 @@ export interface AppApi<E = never> {
2202
2186
  readonly shell: ShellApi<E>;
2203
2187
  readonly question: QuestionApi<E>;
2204
2188
  readonly reference: ReferenceApi<E>;
2205
- readonly projectCopy: ProjectCopyApi<E>;
2189
+ readonly worktree: WorktreeApi<E>;
2206
2190
  readonly vcs: VcsApi<E>;
2207
2191
  readonly debug: DebugApi<E>;
2208
2192
  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: {
@@ -451,7 +447,6 @@ export declare const make: (options?: {
451
447
  readonly [x: string]: unknown;
452
448
  } | undefined;
453
449
  readonly save?: readonly string[] | undefined;
454
- readonly opaque?: boolean | undefined;
455
450
  readonly source?: {
456
451
  readonly type: "tool";
457
452
  readonly messageID: string;
@@ -1817,7 +1812,7 @@ export declare const make: (options?: {
1817
1812
  readonly data: {
1818
1813
  readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
1819
1814
  };
1820
- readonly type: "project.directories.updated";
1815
+ readonly type: "worktree.updated";
1821
1816
  readonly created: import("effect/DateTime").Utc;
1822
1817
  readonly location?: {
1823
1818
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -1838,7 +1833,7 @@ export declare const make: (options?: {
1838
1833
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
1839
1834
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
1840
1835
  };
1841
- readonly type: "project.directory.resolved";
1836
+ readonly type: "worktree.resolved";
1842
1837
  readonly created: import("effect/DateTime").Utc;
1843
1838
  readonly location?: {
1844
1839
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -2246,10 +2241,14 @@ export declare const make: (options?: {
2246
2241
  reference: {
2247
2242
  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
2243
  };
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>;
2244
+ worktree: {
2245
+ list: (input: Endpoint24_0Input) => Effect.Effect<readonly {
2246
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
2247
+ readonly strategy?: string | undefined;
2248
+ }[], Schema.SchemaError | import("@opencode-ai/protocol/errors").InvalidRequestError | import("@opencode-ai/protocol/errors").UnauthorizedError | ClientError | HttpClientError.HttpClientError, never>;
2249
+ 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>;
2250
+ 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>;
2251
+ 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
2252
  };
2254
2253
  vcs: {
2255
2254
  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"]({
@@ -311,7 +303,6 @@ const Endpoint15_3 = (raw) => (input) => preserveEffect()(raw["session.permissio
311
303
  action: input["action"],
312
304
  resources: input["resources"],
313
305
  save: input["save"],
314
- opaque: input["opaque"],
315
306
  metadata: input["metadata"],
316
307
  source: input["source"],
317
308
  agent: input["agent"],
@@ -406,24 +397,21 @@ const adaptGroup22 = (raw) => ({
406
397
  });
407
398
  const Endpoint23_0 = (raw) => (input) => preserveEffect()(raw["reference.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
408
399
  const adaptGroup23 = (raw) => ({ list: Endpoint23_0(raw) });
409
- const Endpoint24_0 = (raw) => (input) => preserveEffect()(raw["projectCopy.create"]({
400
+ const Endpoint24_0 = (raw) => (input) => preserveEffect()(raw["worktree.list"]({ params: { projectID: input["projectID"] } }).pipe(Effect.mapError(mapClientError)));
401
+ const Endpoint24_1 = (raw) => (input) => preserveEffect()(raw["worktree.create"]({
410
402
  params: { projectID: input["projectID"] },
411
- query: { location: input["location"] },
412
- payload: { strategy: input["strategy"], directory: input["directory"], name: input["name"] },
403
+ payload: { strategy: input["strategy"], from: input["from"], directory: input["directory"], name: input["name"] },
413
404
  }).pipe(Effect.mapError(mapClientError)));
414
- const Endpoint24_1 = (raw) => (input) => preserveEffect()(raw["projectCopy.remove"]({
405
+ const Endpoint24_2 = (raw) => (input) => preserveEffect()(raw["worktree.remove"]({
415
406
  params: { projectID: input["projectID"] },
416
- query: { location: input["location"] },
417
407
  payload: { directory: input["directory"], force: input["force"] },
418
408
  }).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)));
409
+ const Endpoint24_3 = (raw) => (input) => preserveEffect()(raw["worktree.refresh"]({ params: { projectID: input["projectID"] } }).pipe(Effect.mapError(mapClientError)));
423
410
  const adaptGroup24 = (raw) => ({
424
- create: Endpoint24_0(raw),
425
- remove: Endpoint24_1(raw),
426
- refresh: Endpoint24_2(raw),
411
+ list: Endpoint24_0(raw),
412
+ create: Endpoint24_1(raw),
413
+ remove: Endpoint24_2(raw),
414
+ refresh: Endpoint24_3(raw),
427
415
  });
428
416
  const Endpoint25_0 = (raw) => (input) => preserveEffect()(raw["vcs.get"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
429
417
  const Endpoint25_1 = (raw) => (input) => preserveEffect()(raw["vcs.status"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
@@ -476,7 +464,7 @@ const adaptClient = (raw) => ({
476
464
  shell: adaptGroup21(raw["server.shell"]),
477
465
  question: adaptGroup22(raw["server.question"]),
478
466
  reference: adaptGroup23(raw["server.reference"]),
479
- projectCopy: adaptGroup24(raw["server.projectCopy"]),
467
+ worktree: adaptGroup24(raw["server.worktree"]),
480
468
  vcs: adaptGroup25(raw["server.vcs"]),
481
469
  debug: adaptGroup26(raw["server.debug"]),
482
470
  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: {
@@ -840,7 +832,6 @@ export function make(options) {
840
832
  action: input["action"],
841
833
  resources: input["resources"],
842
834
  save: input["save"],
843
- opaque: input["opaque"],
844
835
  metadata: input["metadata"],
845
836
  source: input["source"],
846
837
  agent: input["agent"],
@@ -1073,20 +1064,30 @@ export function make(options) {
1073
1064
  empty: false,
1074
1065
  }, requestOptions),
1075
1066
  },
1076
- projectCopy: {
1067
+ worktree: {
1068
+ list: (input, requestOptions) => request({
1069
+ method: "GET",
1070
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1071
+ successStatus: 200,
1072
+ declaredStatuses: [401, 400],
1073
+ empty: false,
1074
+ }, requestOptions),
1077
1075
  create: (input, requestOptions) => request({
1078
1076
  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"] },
1077
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1078
+ body: {
1079
+ strategy: input["strategy"],
1080
+ from: input["from"],
1081
+ directory: input["directory"],
1082
+ name: input["name"],
1083
+ },
1082
1084
  successStatus: 200,
1083
1085
  declaredStatuses: [400, 401],
1084
1086
  empty: false,
1085
1087
  }, requestOptions),
1086
1088
  remove: (input, requestOptions) => request({
1087
1089
  method: "DELETE",
1088
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy`,
1089
- query: { location: input["location"] },
1090
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1090
1091
  body: { directory: input["directory"], force: input["force"] },
1091
1092
  successStatus: 204,
1092
1093
  declaredStatuses: [400, 401],
@@ -1094,8 +1095,7 @@ export function make(options) {
1094
1095
  }, requestOptions),
1095
1096
  refresh: (input, requestOptions) => request({
1096
1097
  method: "POST",
1097
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy/refresh`,
1098
- query: { location: input["location"] },
1098
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree/refresh`,
1099
1099
  successStatus: 204,
1100
1100
  declaredStatuses: [400, 401],
1101
1101
  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
  };
@@ -2020,7 +2019,6 @@ export type PermissionRequest = {
2020
2019
  action: string;
2021
2020
  resources: Array<string>;
2022
2021
  save?: Array<string>;
2023
- opaque?: boolean;
2024
2022
  metadata?: {
2025
2023
  [x: string]: JsonValue;
2026
2024
  };
@@ -2040,7 +2038,6 @@ export type PermissionAsked = {
2040
2038
  action: string;
2041
2039
  resources: Array<string>;
2042
2040
  save?: Array<string>;
2043
- opaque?: boolean;
2044
2041
  metadata?: {
2045
2042
  [x: string]: any;
2046
2043
  };
@@ -2180,6 +2177,7 @@ export type SessionStatus2 = {
2180
2177
  };
2181
2178
  };
2182
2179
  export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource;
2180
+ export type WorktreeList = Array<WorktreeDirectory>;
2183
2181
  export type VcsInfo = {
2184
2182
  branch: VcsBranch;
2185
2183
  };
@@ -2858,7 +2856,7 @@ export type IntegrationInfo = {
2858
2856
  methods: Array<IntegrationMethod>;
2859
2857
  connections: Array<ConnectionInfo>;
2860
2858
  };
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;
2859
+ 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
2860
  export type UnauthorizedError = {
2863
2861
  readonly _tag: "UnauthorizedError";
2864
2862
  readonly message: string;
@@ -2998,14 +2996,14 @@ export type QuestionNotFoundError = {
2998
2996
  readonly message: string;
2999
2997
  };
3000
2998
  export declare const isQuestionNotFoundError: (value: unknown) => value is QuestionNotFoundError;
3001
- export type ProjectCopyError = {
3002
- readonly name: "ProjectCopyError";
2999
+ export type WorktreeError = {
3000
+ readonly name: "WorktreeError";
3003
3001
  readonly data: {
3004
3002
  readonly message: string;
3005
3003
  readonly forceRequired?: boolean | undefined;
3006
3004
  };
3007
3005
  };
3008
- export declare const isProjectCopyError: (value: unknown) => value is ProjectCopyError;
3006
+ export declare const isWorktreeError: (value: unknown) => value is WorktreeError;
3009
3007
  export type HealthGetOutput = ServiceHealth;
3010
3008
  export type HealthStopInput = {
3011
3009
  readonly instanceID: {
@@ -6142,18 +6140,6 @@ export type ProjectCurrentInput = {
6142
6140
  }["location"];
6143
6141
  };
6144
6142
  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
6143
  export type FormRequestListInput = {
6158
6144
  readonly location?: {
6159
6145
  readonly location?: {
@@ -7042,7 +7028,6 @@ export type PermissionCreateInput = {
7042
7028
  readonly action: string;
7043
7029
  readonly resources: ReadonlyArray<string>;
7044
7030
  readonly save?: ReadonlyArray<string>;
7045
- readonly opaque?: boolean;
7046
7031
  readonly metadata?: {
7047
7032
  readonly [x: string]: JsonValue;
7048
7033
  };
@@ -7058,7 +7043,6 @@ export type PermissionCreateInput = {
7058
7043
  readonly action: string;
7059
7044
  readonly resources: ReadonlyArray<string>;
7060
7045
  readonly save?: ReadonlyArray<string>;
7061
- readonly opaque?: boolean;
7062
7046
  readonly metadata?: {
7063
7047
  readonly [x: string]: JsonValue;
7064
7048
  };
@@ -7074,7 +7058,6 @@ export type PermissionCreateInput = {
7074
7058
  readonly action: string;
7075
7059
  readonly resources: ReadonlyArray<string>;
7076
7060
  readonly save?: ReadonlyArray<string>;
7077
- readonly opaque?: boolean;
7078
7061
  readonly metadata?: {
7079
7062
  readonly [x: string]: JsonValue;
7080
7063
  };
@@ -7090,7 +7073,6 @@ export type PermissionCreateInput = {
7090
7073
  readonly action: string;
7091
7074
  readonly resources: ReadonlyArray<string>;
7092
7075
  readonly save?: ReadonlyArray<string>;
7093
- readonly opaque?: boolean;
7094
7076
  readonly metadata?: {
7095
7077
  readonly [x: string]: JsonValue;
7096
7078
  };
@@ -7101,28 +7083,11 @@ export type PermissionCreateInput = {
7101
7083
  };
7102
7084
  readonly agent?: string | null;
7103
7085
  }["save"];
7104
- readonly opaque?: {
7105
- readonly id?: string | null;
7106
- readonly action: string;
7107
- readonly resources: ReadonlyArray<string>;
7108
- readonly save?: ReadonlyArray<string>;
7109
- readonly opaque?: boolean;
7110
- readonly metadata?: {
7111
- readonly [x: string]: JsonValue;
7112
- };
7113
- readonly source?: {
7114
- readonly type: "tool";
7115
- readonly messageID: string;
7116
- readonly id: string;
7117
- };
7118
- readonly agent?: string | null;
7119
- }["opaque"];
7120
7086
  readonly metadata?: {
7121
7087
  readonly id?: string | null;
7122
7088
  readonly action: string;
7123
7089
  readonly resources: ReadonlyArray<string>;
7124
7090
  readonly save?: ReadonlyArray<string>;
7125
- readonly opaque?: boolean;
7126
7091
  readonly metadata?: {
7127
7092
  readonly [x: string]: JsonValue;
7128
7093
  };
@@ -7138,7 +7103,6 @@ export type PermissionCreateInput = {
7138
7103
  readonly action: string;
7139
7104
  readonly resources: ReadonlyArray<string>;
7140
7105
  readonly save?: ReadonlyArray<string>;
7141
- readonly opaque?: boolean;
7142
7106
  readonly metadata?: {
7143
7107
  readonly [x: string]: JsonValue;
7144
7108
  };
@@ -7154,7 +7118,6 @@ export type PermissionCreateInput = {
7154
7118
  readonly action: string;
7155
7119
  readonly resources: ReadonlyArray<string>;
7156
7120
  readonly save?: ReadonlyArray<string>;
7157
- readonly opaque?: boolean;
7158
7121
  readonly metadata?: {
7159
7122
  readonly [x: string]: JsonValue;
7160
7123
  };
@@ -7750,43 +7713,46 @@ export type ReferenceListOutput = {
7750
7713
  };
7751
7714
  data: Array<ReferenceInfo>;
7752
7715
  };
7753
- export type ProjectCopyCreateInput = {
7716
+ export type WorktreeListInput = {
7717
+ readonly projectID: {
7718
+ readonly projectID: string;
7719
+ }["projectID"];
7720
+ };
7721
+ export type WorktreeListOutput = WorktreeList;
7722
+ export type WorktreeCreateInput = {
7754
7723
  readonly projectID: {
7755
7724
  readonly projectID: string;
7756
7725
  }["projectID"];
7757
- readonly location?: {
7758
- readonly location?: {
7759
- readonly directory?: string | undefined;
7760
- readonly workspace?: string | undefined;
7761
- } | undefined;
7762
- }["location"];
7763
7726
  readonly strategy: {
7764
7727
  readonly strategy: string;
7728
+ readonly from?: string;
7765
7729
  readonly directory: string;
7766
7730
  readonly name?: string;
7767
7731
  }["strategy"];
7732
+ readonly from?: {
7733
+ readonly strategy: string;
7734
+ readonly from?: string;
7735
+ readonly directory: string;
7736
+ readonly name?: string;
7737
+ }["from"];
7768
7738
  readonly directory: {
7769
7739
  readonly strategy: string;
7740
+ readonly from?: string;
7770
7741
  readonly directory: string;
7771
7742
  readonly name?: string;
7772
7743
  }["directory"];
7773
7744
  readonly name?: {
7774
7745
  readonly strategy: string;
7746
+ readonly from?: string;
7775
7747
  readonly directory: string;
7776
7748
  readonly name?: string;
7777
7749
  }["name"];
7778
7750
  };
7779
- export type ProjectCopyCreateOutput = ProjectCopyCopy;
7780
- export type ProjectCopyRemoveInput = {
7751
+ export type WorktreeCreateOutput = WorktreeInfo;
7752
+ export type WorktreeRemoveInput = {
7781
7753
  readonly projectID: {
7782
7754
  readonly projectID: string;
7783
7755
  }["projectID"];
7784
- readonly location?: {
7785
- readonly location?: {
7786
- readonly directory?: string | undefined;
7787
- readonly workspace?: string | undefined;
7788
- } | undefined;
7789
- }["location"];
7790
7756
  readonly directory: {
7791
7757
  readonly directory: string;
7792
7758
  readonly force: boolean;
@@ -7796,19 +7762,13 @@ export type ProjectCopyRemoveInput = {
7796
7762
  readonly force: boolean;
7797
7763
  }["force"];
7798
7764
  };
7799
- export type ProjectCopyRemoveOutput = void;
7800
- export type ProjectCopyRefreshInput = {
7765
+ export type WorktreeRemoveOutput = void;
7766
+ export type WorktreeRefreshInput = {
7801
7767
  readonly projectID: {
7802
7768
  readonly projectID: string;
7803
7769
  }["projectID"];
7804
- readonly location?: {
7805
- readonly location?: {
7806
- readonly directory?: string | undefined;
7807
- readonly workspace?: string | undefined;
7808
- } | undefined;
7809
- }["location"];
7810
7770
  };
7811
- export type ProjectCopyRefreshOutput = void;
7771
+ export type WorktreeRefreshOutput = void;
7812
7772
  export type VcsGetInput = {
7813
7773
  readonly location?: {
7814
7774
  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-17444",
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-17444",
57
+ "@opencode-ai/protocol": "0.0.0-next-17444"
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-17444",
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",