@opencode-ai/client 0.0.0-next-17403 → 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?: {
@@ -1705,6 +1695,7 @@ export type Endpoint15_3Input = {
1705
1695
  readonly action: string;
1706
1696
  readonly resources: ReadonlyArray<string>;
1707
1697
  readonly save?: ReadonlyArray<string> | undefined;
1698
+ readonly opaque?: boolean | undefined;
1708
1699
  readonly metadata?: {
1709
1700
  readonly [x: string]: unknown;
1710
1701
  } | undefined;
@@ -2027,40 +2018,35 @@ export interface ReferenceApi<E = never> {
2027
2018
  }
2028
2019
  export type Endpoint24_0Input = {
2029
2020
  readonly projectID: Project.ID;
2030
- readonly location?: {
2031
- readonly directory?: string | undefined;
2032
- readonly workspace?: string | undefined;
2033
- } | undefined;
2034
- readonly strategy: ProjectCopy.StrategyID;
2035
- readonly directory: AbsolutePath;
2036
- readonly name?: string | undefined;
2037
2021
  };
2038
- export type Endpoint24_0Output = ProjectCopy.Copy;
2039
- 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>;
2040
2024
  export type Endpoint24_1Input = {
2041
2025
  readonly projectID: Project.ID;
2042
- readonly location?: {
2043
- readonly directory?: string | undefined;
2044
- readonly workspace?: string | undefined;
2045
- } | undefined;
2026
+ readonly strategy: Worktree.StrategyID;
2027
+ readonly from?: AbsolutePath | undefined;
2046
2028
  readonly directory: AbsolutePath;
2047
- readonly force: boolean;
2029
+ readonly name?: string | undefined;
2048
2030
  };
2049
- export type Endpoint24_1Output = void;
2050
- 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>;
2051
2033
  export type Endpoint24_2Input = {
2052
2034
  readonly projectID: Project.ID;
2053
- readonly location?: {
2054
- readonly directory?: string | undefined;
2055
- readonly workspace?: string | undefined;
2056
- } | undefined;
2035
+ readonly directory: AbsolutePath;
2036
+ readonly force: boolean;
2057
2037
  };
2058
2038
  export type Endpoint24_2Output = void;
2059
- export type ProjectCopyRefreshOperation<E = never> = (input: Endpoint24_2Input) => Effect.Effect<Endpoint24_2Output, E>;
2060
- export interface ProjectCopyApi<E = never> {
2061
- readonly create: ProjectCopyCreateOperation<E>;
2062
- readonly remove: ProjectCopyRemoveOperation<E>;
2063
- 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>;
2064
2050
  }
2065
2051
  export type Endpoint25_0Input = {
2066
2052
  readonly location?: {
@@ -2201,7 +2187,7 @@ export interface AppApi<E = never> {
2201
2187
  readonly shell: ShellApi<E>;
2202
2188
  readonly question: QuestionApi<E>;
2203
2189
  readonly reference: ReferenceApi<E>;
2204
- readonly projectCopy: ProjectCopyApi<E>;
2190
+ readonly worktree: WorktreeApi<E>;
2205
2191
  readonly vcs: VcsApi<E>;
2206
2192
  readonly debug: DebugApi<E>;
2207
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: {
@@ -451,6 +447,7 @@ export declare const make: (options?: {
451
447
  readonly [x: string]: unknown;
452
448
  } | undefined;
453
449
  readonly save?: readonly string[] | undefined;
450
+ readonly opaque?: boolean | undefined;
454
451
  readonly source?: {
455
452
  readonly type: "tool";
456
453
  readonly messageID: string;
@@ -1816,7 +1813,7 @@ export declare const make: (options?: {
1816
1813
  readonly data: {
1817
1814
  readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
1818
1815
  };
1819
- readonly type: "project.directories.updated";
1816
+ readonly type: "worktree.updated";
1820
1817
  readonly created: import("effect/DateTime").Utc;
1821
1818
  readonly location?: {
1822
1819
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -1837,7 +1834,7 @@ export declare const make: (options?: {
1837
1834
  readonly seq: number & import("effect/Brand").Brand<"Event.Seq">;
1838
1835
  readonly version: number & import("effect/Brand").Brand<"Event.Version">;
1839
1836
  };
1840
- readonly type: "project.directory.resolved";
1837
+ readonly type: "worktree.resolved";
1841
1838
  readonly created: import("effect/DateTime").Utc;
1842
1839
  readonly location?: {
1843
1840
  readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
@@ -2245,10 +2242,14 @@ export declare const make: (options?: {
2245
2242
  reference: {
2246
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>;
2247
2244
  };
2248
- projectCopy: {
2249
- 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>;
2250
- 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>;
2251
- 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>;
2252
2253
  };
2253
2254
  vcs: {
2254
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"]({
@@ -311,6 +303,7 @@ const Endpoint15_3 = (raw) => (input) => preserveEffect()(raw["session.permissio
311
303
  action: input["action"],
312
304
  resources: input["resources"],
313
305
  save: input["save"],
306
+ opaque: input["opaque"],
314
307
  metadata: input["metadata"],
315
308
  source: input["source"],
316
309
  agent: input["agent"],
@@ -405,24 +398,21 @@ const adaptGroup22 = (raw) => ({
405
398
  });
406
399
  const Endpoint23_0 = (raw) => (input) => preserveEffect()(raw["reference.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
407
400
  const adaptGroup23 = (raw) => ({ list: Endpoint23_0(raw) });
408
- 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"]({
409
403
  params: { projectID: input["projectID"] },
410
- query: { location: input["location"] },
411
- payload: { strategy: input["strategy"], directory: input["directory"], name: input["name"] },
404
+ payload: { strategy: input["strategy"], from: input["from"], directory: input["directory"], name: input["name"] },
412
405
  }).pipe(Effect.mapError(mapClientError)));
413
- const Endpoint24_1 = (raw) => (input) => preserveEffect()(raw["projectCopy.remove"]({
406
+ const Endpoint24_2 = (raw) => (input) => preserveEffect()(raw["worktree.remove"]({
414
407
  params: { projectID: input["projectID"] },
415
- query: { location: input["location"] },
416
408
  payload: { directory: input["directory"], force: input["force"] },
417
409
  }).pipe(Effect.mapError(mapClientError)));
418
- const Endpoint24_2 = (raw) => (input) => preserveEffect()(raw["projectCopy.refresh"]({
419
- params: { projectID: input["projectID"] },
420
- query: { location: input["location"] },
421
- }).pipe(Effect.mapError(mapClientError)));
410
+ const Endpoint24_3 = (raw) => (input) => preserveEffect()(raw["worktree.refresh"]({ params: { projectID: input["projectID"] } }).pipe(Effect.mapError(mapClientError)));
422
411
  const adaptGroup24 = (raw) => ({
423
- create: Endpoint24_0(raw),
424
- remove: Endpoint24_1(raw),
425
- refresh: Endpoint24_2(raw),
412
+ list: Endpoint24_0(raw),
413
+ create: Endpoint24_1(raw),
414
+ remove: Endpoint24_2(raw),
415
+ refresh: Endpoint24_3(raw),
426
416
  });
427
417
  const Endpoint25_0 = (raw) => (input) => preserveEffect()(raw["vcs.get"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
428
418
  const Endpoint25_1 = (raw) => (input) => preserveEffect()(raw["vcs.status"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
@@ -475,7 +465,7 @@ const adaptClient = (raw) => ({
475
465
  shell: adaptGroup21(raw["server.shell"]),
476
466
  question: adaptGroup22(raw["server.question"]),
477
467
  reference: adaptGroup23(raw["server.reference"]),
478
- projectCopy: adaptGroup24(raw["server.projectCopy"]),
468
+ worktree: adaptGroup24(raw["server.worktree"]),
479
469
  vcs: adaptGroup25(raw["server.vcs"]),
480
470
  debug: adaptGroup26(raw["server.debug"]),
481
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: {
@@ -840,6 +832,7 @@ export function make(options) {
840
832
  action: input["action"],
841
833
  resources: input["resources"],
842
834
  save: input["save"],
835
+ opaque: input["opaque"],
843
836
  metadata: input["metadata"],
844
837
  source: input["source"],
845
838
  agent: input["agent"],
@@ -1072,20 +1065,30 @@ export function make(options) {
1072
1065
  empty: false,
1073
1066
  }, requestOptions),
1074
1067
  },
1075
- 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),
1076
1076
  create: (input, requestOptions) => request({
1077
1077
  method: "POST",
1078
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy`,
1079
- query: { location: input["location"] },
1080
- 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
+ },
1081
1085
  successStatus: 200,
1082
1086
  declaredStatuses: [400, 401],
1083
1087
  empty: false,
1084
1088
  }, requestOptions),
1085
1089
  remove: (input, requestOptions) => request({
1086
1090
  method: "DELETE",
1087
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy`,
1088
- query: { location: input["location"] },
1091
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree`,
1089
1092
  body: { directory: input["directory"], force: input["force"] },
1090
1093
  successStatus: 204,
1091
1094
  declaredStatuses: [400, 401],
@@ -1093,8 +1096,7 @@ export function make(options) {
1093
1096
  }, requestOptions),
1094
1097
  refresh: (input, requestOptions) => request({
1095
1098
  method: "POST",
1096
- path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/copy/refresh`,
1097
- query: { location: input["location"] },
1099
+ path: `/api/experimental/project/${encodeURIComponent(input.projectID)}/worktree/refresh`,
1098
1100
  successStatus: 204,
1099
1101
  declaredStatuses: [400, 401],
1100
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
  };
@@ -2020,6 +2019,7 @@ export type PermissionRequest = {
2020
2019
  action: string;
2021
2020
  resources: Array<string>;
2022
2021
  save?: Array<string>;
2022
+ opaque?: boolean;
2023
2023
  metadata?: {
2024
2024
  [x: string]: JsonValue;
2025
2025
  };
@@ -2039,6 +2039,7 @@ export type PermissionAsked = {
2039
2039
  action: string;
2040
2040
  resources: Array<string>;
2041
2041
  save?: Array<string>;
2042
+ opaque?: boolean;
2042
2043
  metadata?: {
2043
2044
  [x: string]: any;
2044
2045
  };
@@ -2178,6 +2179,7 @@ export type SessionStatus2 = {
2178
2179
  };
2179
2180
  };
2180
2181
  export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource;
2182
+ export type WorktreeList = Array<WorktreeDirectory>;
2181
2183
  export type VcsInfo = {
2182
2184
  branch: VcsBranch;
2183
2185
  };
@@ -2856,7 +2858,7 @@ export type IntegrationInfo = {
2856
2858
  methods: Array<IntegrationMethod>;
2857
2859
  connections: Array<ConnectionInfo>;
2858
2860
  };
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 | 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;
2860
2862
  export type UnauthorizedError = {
2861
2863
  readonly _tag: "UnauthorizedError";
2862
2864
  readonly message: string;
@@ -2996,14 +2998,14 @@ export type QuestionNotFoundError = {
2996
2998
  readonly message: string;
2997
2999
  };
2998
3000
  export declare const isQuestionNotFoundError: (value: unknown) => value is QuestionNotFoundError;
2999
- export type ProjectCopyError = {
3000
- readonly name: "ProjectCopyError";
3001
+ export type WorktreeError = {
3002
+ readonly name: "WorktreeError";
3001
3003
  readonly data: {
3002
3004
  readonly message: string;
3003
3005
  readonly forceRequired?: boolean | undefined;
3004
3006
  };
3005
3007
  };
3006
- export declare const isProjectCopyError: (value: unknown) => value is ProjectCopyError;
3008
+ export declare const isWorktreeError: (value: unknown) => value is WorktreeError;
3007
3009
  export type HealthGetOutput = ServiceHealth;
3008
3010
  export type HealthStopInput = {
3009
3011
  readonly instanceID: {
@@ -6140,18 +6142,6 @@ export type ProjectCurrentInput = {
6140
6142
  }["location"];
6141
6143
  };
6142
6144
  export type ProjectCurrentOutput = ProjectCurrent;
6143
- export type ProjectDirectoriesInput = {
6144
- readonly projectID: {
6145
- readonly projectID: string;
6146
- }["projectID"];
6147
- readonly location?: {
6148
- readonly location?: {
6149
- readonly directory?: string | undefined;
6150
- readonly workspace?: string | undefined;
6151
- } | undefined;
6152
- }["location"];
6153
- };
6154
- export type ProjectDirectoriesOutput = ProjectDirectories;
6155
6145
  export type FormRequestListInput = {
6156
6146
  readonly location?: {
6157
6147
  readonly location?: {
@@ -7040,6 +7030,7 @@ export type PermissionCreateInput = {
7040
7030
  readonly action: string;
7041
7031
  readonly resources: ReadonlyArray<string>;
7042
7032
  readonly save?: ReadonlyArray<string>;
7033
+ readonly opaque?: boolean;
7043
7034
  readonly metadata?: {
7044
7035
  readonly [x: string]: JsonValue;
7045
7036
  };
@@ -7055,6 +7046,7 @@ export type PermissionCreateInput = {
7055
7046
  readonly action: string;
7056
7047
  readonly resources: ReadonlyArray<string>;
7057
7048
  readonly save?: ReadonlyArray<string>;
7049
+ readonly opaque?: boolean;
7058
7050
  readonly metadata?: {
7059
7051
  readonly [x: string]: JsonValue;
7060
7052
  };
@@ -7070,6 +7062,7 @@ export type PermissionCreateInput = {
7070
7062
  readonly action: string;
7071
7063
  readonly resources: ReadonlyArray<string>;
7072
7064
  readonly save?: ReadonlyArray<string>;
7065
+ readonly opaque?: boolean;
7073
7066
  readonly metadata?: {
7074
7067
  readonly [x: string]: JsonValue;
7075
7068
  };
@@ -7085,6 +7078,7 @@ export type PermissionCreateInput = {
7085
7078
  readonly action: string;
7086
7079
  readonly resources: ReadonlyArray<string>;
7087
7080
  readonly save?: ReadonlyArray<string>;
7081
+ readonly opaque?: boolean;
7088
7082
  readonly metadata?: {
7089
7083
  readonly [x: string]: JsonValue;
7090
7084
  };
@@ -7095,11 +7089,28 @@ export type PermissionCreateInput = {
7095
7089
  };
7096
7090
  readonly agent?: string | null;
7097
7091
  }["save"];
7092
+ readonly opaque?: {
7093
+ readonly id?: string | null;
7094
+ readonly action: string;
7095
+ readonly resources: ReadonlyArray<string>;
7096
+ readonly save?: ReadonlyArray<string>;
7097
+ readonly opaque?: boolean;
7098
+ readonly metadata?: {
7099
+ readonly [x: string]: JsonValue;
7100
+ };
7101
+ readonly source?: {
7102
+ readonly type: "tool";
7103
+ readonly messageID: string;
7104
+ readonly id: string;
7105
+ };
7106
+ readonly agent?: string | null;
7107
+ }["opaque"];
7098
7108
  readonly metadata?: {
7099
7109
  readonly id?: string | null;
7100
7110
  readonly action: string;
7101
7111
  readonly resources: ReadonlyArray<string>;
7102
7112
  readonly save?: ReadonlyArray<string>;
7113
+ readonly opaque?: boolean;
7103
7114
  readonly metadata?: {
7104
7115
  readonly [x: string]: JsonValue;
7105
7116
  };
@@ -7115,6 +7126,7 @@ export type PermissionCreateInput = {
7115
7126
  readonly action: string;
7116
7127
  readonly resources: ReadonlyArray<string>;
7117
7128
  readonly save?: ReadonlyArray<string>;
7129
+ readonly opaque?: boolean;
7118
7130
  readonly metadata?: {
7119
7131
  readonly [x: string]: JsonValue;
7120
7132
  };
@@ -7130,6 +7142,7 @@ export type PermissionCreateInput = {
7130
7142
  readonly action: string;
7131
7143
  readonly resources: ReadonlyArray<string>;
7132
7144
  readonly save?: ReadonlyArray<string>;
7145
+ readonly opaque?: boolean;
7133
7146
  readonly metadata?: {
7134
7147
  readonly [x: string]: JsonValue;
7135
7148
  };
@@ -7725,43 +7738,46 @@ export type ReferenceListOutput = {
7725
7738
  };
7726
7739
  data: Array<ReferenceInfo>;
7727
7740
  };
7728
- 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 = {
7729
7748
  readonly projectID: {
7730
7749
  readonly projectID: string;
7731
7750
  }["projectID"];
7732
- readonly location?: {
7733
- readonly location?: {
7734
- readonly directory?: string | undefined;
7735
- readonly workspace?: string | undefined;
7736
- } | undefined;
7737
- }["location"];
7738
7751
  readonly strategy: {
7739
7752
  readonly strategy: string;
7753
+ readonly from?: string;
7740
7754
  readonly directory: string;
7741
7755
  readonly name?: string;
7742
7756
  }["strategy"];
7757
+ readonly from?: {
7758
+ readonly strategy: string;
7759
+ readonly from?: string;
7760
+ readonly directory: string;
7761
+ readonly name?: string;
7762
+ }["from"];
7743
7763
  readonly directory: {
7744
7764
  readonly strategy: string;
7765
+ readonly from?: string;
7745
7766
  readonly directory: string;
7746
7767
  readonly name?: string;
7747
7768
  }["directory"];
7748
7769
  readonly name?: {
7749
7770
  readonly strategy: string;
7771
+ readonly from?: string;
7750
7772
  readonly directory: string;
7751
7773
  readonly name?: string;
7752
7774
  }["name"];
7753
7775
  };
7754
- export type ProjectCopyCreateOutput = ProjectCopyCopy;
7755
- export type ProjectCopyRemoveInput = {
7776
+ export type WorktreeCreateOutput = WorktreeInfo;
7777
+ export type WorktreeRemoveInput = {
7756
7778
  readonly projectID: {
7757
7779
  readonly projectID: string;
7758
7780
  }["projectID"];
7759
- readonly location?: {
7760
- readonly location?: {
7761
- readonly directory?: string | undefined;
7762
- readonly workspace?: string | undefined;
7763
- } | undefined;
7764
- }["location"];
7765
7781
  readonly directory: {
7766
7782
  readonly directory: string;
7767
7783
  readonly force: boolean;
@@ -7771,19 +7787,13 @@ export type ProjectCopyRemoveInput = {
7771
7787
  readonly force: boolean;
7772
7788
  }["force"];
7773
7789
  };
7774
- export type ProjectCopyRemoveOutput = void;
7775
- export type ProjectCopyRefreshInput = {
7790
+ export type WorktreeRemoveOutput = void;
7791
+ export type WorktreeRefreshInput = {
7776
7792
  readonly projectID: {
7777
7793
  readonly projectID: string;
7778
7794
  }["projectID"];
7779
- readonly location?: {
7780
- readonly location?: {
7781
- readonly directory?: string | undefined;
7782
- readonly workspace?: string | undefined;
7783
- } | undefined;
7784
- }["location"];
7785
7795
  };
7786
- export type ProjectCopyRefreshOutput = void;
7796
+ export type WorktreeRefreshOutput = void;
7787
7797
  export type VcsGetInput = {
7788
7798
  readonly location?: {
7789
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-17403",
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-17403",
57
- "@opencode-ai/protocol": "0.0.0-next-17403"
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-17403",
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",