@opencode/client 0.0.0-dev-21599 → 0.0.0-dev-21612

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.
Files changed (38) hide show
  1. package/dist/chunks/{service-timing-y2etg5bs.js → service-timing-7f0py9js.js} +2 -2
  2. package/dist/chunks/{service-timing-ezt8t3fk.js → service-timing-c46qzyff.js} +2 -2
  3. package/dist/chunks/{service-timing-61wt4y9h.js → service-timing-g9ajxfy0.js} +1 -1
  4. package/dist/chunks/{service-timing-7j6qs0tw.js → service-timing-g9wej58t.js} +15 -15
  5. package/dist/chunks/{service-timing-nwcpakzx.js → service-timing-js54wxgp.js} +2 -2
  6. package/dist/chunks/{service-timing-bd9wd9zc.js → service-timing-ka0wmgdp.js} +10 -10
  7. package/dist/chunks/{service-timing-15p82y03.js → service-timing-myz4ngx9.js} +3 -3
  8. package/dist/chunks/{service-timing-g22sa7qz.js → service-timing-q4a98k9r.js} +29 -18
  9. package/dist/chunks/{service-timing-6vp15eh6.js → service-timing-skhp7hxc.js} +1 -1
  10. package/dist/chunks/{service-timing-f0mehgdh.js → service-timing-wwnmjcfr.js} +14 -9
  11. package/dist/effect/api/api.d.ts +16 -1
  12. package/dist/effect/client.d.ts +673 -670
  13. package/dist/effect/client.js +9 -9
  14. package/dist/effect/generated/client-error.js +3 -3
  15. package/dist/effect/generated/client.d.ts +452 -449
  16. package/dist/effect/generated/client.js +4 -4
  17. package/dist/effect/generated/index.js +6 -6
  18. package/dist/effect/index.js +8 -8
  19. package/dist/effect/rpc.js +3 -3
  20. package/dist/effect/service.js +1 -1
  21. package/dist/mcp.d.ts +44 -0
  22. package/dist/mcp.js +110 -0
  23. package/dist/promise/client.d.ts +3 -0
  24. package/dist/promise/client.js +9 -9
  25. package/dist/promise/generated/client-error.js +3 -3
  26. package/dist/promise/generated/client.d.ts +4 -1
  27. package/dist/promise/generated/client.js +4 -4
  28. package/dist/promise/generated/index.js +8 -8
  29. package/dist/promise/generated/types.d.ts +30 -9
  30. package/dist/promise/generated/types.js +2 -2
  31. package/dist/promise/index.js +10 -10
  32. package/dist/promise/rpc.js +2 -2
  33. package/dist/promise/service.js +1 -1
  34. package/dist/pty-handoff.js +1 -1
  35. package/dist/solid/data.js +6 -6
  36. package/dist/solid/index.js +6 -6
  37. package/package.json +9 -4
  38. /package/dist/chunks/{service-timing-b6wmvv71.js → service-timing-5g2t7szy.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  // src/effect/generated/client-error.ts
2
2
  import { Schema } from "effect";
3
3
 
4
- class ClientError2 extends Schema.TaggedError()("ClientError", {
4
+ class ClientError3 extends Schema.TaggedError()("ClientError", {
5
5
  cause: Schema.Defect()
6
6
  }) {
7
7
  }
8
8
 
9
- export { ClientError2 };
9
+ export { ClientError3 };
@@ -22,6 +22,7 @@ var isIntegrationNotFoundError2 = (value) => typeof value === "object" && value
22
22
  var isIntegrationAttemptNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "IntegrationAttemptNotFoundError";
23
23
  var isIntegrationMethodNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "IntegrationMethodNotFoundError";
24
24
  var isMcpServerNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "McpServerNotFoundError";
25
+ var isForbiddenError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "ForbiddenError";
25
26
  var isProjectNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "ProjectNotFoundError";
26
27
  var isPermissionSavedNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "PermissionSavedNotFoundError";
27
28
  var isPermissionNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "PermissionNotFoundError";
@@ -29,9 +30,8 @@ var isFileNotFoundError2 = (value) => typeof value === "object" && value !== nul
29
30
  var isRpcError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "RpcError";
30
31
  var isRpcInternalError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "RpcInternalError";
31
32
  var isPtyNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "PtyNotFoundError";
32
- var isForbiddenError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "ForbiddenError";
33
33
  var isShellNotFoundError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "ShellNotFoundError";
34
34
  var isWorktreeError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "WorktreeError";
35
35
  var isVcsInitNotSupportedError2 = (value) => typeof value === "object" && value !== null && ("_tag" in value) && value["_tag"] === "VcsInitNotSupportedError";
36
36
 
37
- export { isInvalidRequestError2, isUnauthorizedError2, isLocationNotFoundError2, isServiceUnavailableError2, isAgentNotFoundError2, isInvalidCursorError2, isSessionNotFoundError2, isConflictError2, isUnknownError2, isMessageNotFoundError2, isCommandNotFoundError2, isCommandExecutionError2, isSkillNotFoundError2, isSessionBusyError2, isInstructionEntryValueTooLargeError2, isFormNotFoundError2, isFormInvalidAnswerError2, isFormAlreadySettledError2, isProviderNotFoundError2, isIntegrationNotFoundError2, isIntegrationAttemptNotFoundError2, isIntegrationMethodNotFoundError2, isMcpServerNotFoundError2, isProjectNotFoundError2, isPermissionSavedNotFoundError2, isPermissionNotFoundError2, isFileNotFoundError2, isRpcError2, isRpcInternalError2, isPtyNotFoundError2, isForbiddenError2, isShellNotFoundError2, isWorktreeError2, isVcsInitNotSupportedError2 };
37
+ export { isInvalidRequestError2, isUnauthorizedError2, isLocationNotFoundError2, isServiceUnavailableError2, isAgentNotFoundError2, isInvalidCursorError2, isSessionNotFoundError2, isConflictError2, isUnknownError2, isMessageNotFoundError2, isCommandNotFoundError2, isCommandExecutionError2, isSkillNotFoundError2, isSessionBusyError2, isInstructionEntryValueTooLargeError2, isFormNotFoundError2, isFormInvalidAnswerError2, isFormAlreadySettledError2, isProviderNotFoundError2, isIntegrationNotFoundError2, isIntegrationAttemptNotFoundError2, isIntegrationMethodNotFoundError2, isMcpServerNotFoundError2, isForbiddenError2, isProjectNotFoundError2, isPermissionSavedNotFoundError2, isPermissionNotFoundError2, isFileNotFoundError2, isRpcError2, isRpcInternalError2, isPtyNotFoundError2, isShellNotFoundError2, isWorktreeError2, isVcsInitNotSupportedError2 };
@@ -2,7 +2,7 @@ import {
2
2
  isFormNotFoundError2,
3
3
  isFormAlreadySettledError2,
4
4
  isPermissionNotFoundError2
5
- } from "./service-timing-ezt8t3fk.js";
5
+ } from "./service-timing-c46qzyff.js";
6
6
 
7
7
  // src/solid/data.ts
8
8
  import { Worktree } from "@opencode/schema/worktree";
@@ -2,24 +2,24 @@ import {
2
2
  make7
3
3
  } from "./service-timing-8bbb028w.js";
4
4
  import {
5
- ClientError2
6
- } from "./service-timing-y2etg5bs.js";
5
+ ClientError3
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
- make4
9
- } from "./service-timing-f0mehgdh.js";
8
+ make5
9
+ } from "./service-timing-wwnmjcfr.js";
10
10
  import {
11
- make3,
11
+ make6,
12
12
  aborted2
13
- } from "./service-timing-15p82y03.js";
13
+ } from "./service-timing-myz4ngx9.js";
14
14
  import {
15
15
  __export
16
16
  } from "./service-timing-9rqn6x4v.js";
17
17
 
18
18
  // src/effect/client.ts
19
- var exports_client = {};
20
- __export(exports_client, {
21
- OpenCode: () => exports_client,
22
- make: () => make2
19
+ var exports_client3 = {};
20
+ __export(exports_client3, {
21
+ OpenCode: () => exports_client3,
22
+ make: () => make4
23
23
  });
24
24
  import { Cause, Context, Effect, Stream } from "effect";
25
25
  import { HttpClient, HttpClientRequest } from "effect/http";
@@ -28,9 +28,9 @@ var CurrentHeaders = Context.Reference("@opencode/client/effect/rpc/headers", {
28
28
  return;
29
29
  }
30
30
  });
31
- var make2 = Effect.fn("OpenCode.make")(function* (options) {
31
+ var make4 = Effect.fn("OpenCode.make")(function* (options) {
32
32
  const httpClient = yield* HttpClient.HttpClient;
33
- const raw = yield* make4(options).pipe(Effect.provideService(HttpClient.HttpClient, HttpClient.mapRequestEffect(httpClient, (request) => Effect.map(CurrentHeaders, (headers) => headers ? HttpClientRequest.setHeaders(request, new Headers(headers)) : request))));
33
+ const raw = yield* make5(options).pipe(Effect.provideService(HttpClient.HttpClient, HttpClient.mapRequestEffect(httpClient, (request) => Effect.map(CurrentHeaders, (headers) => headers ? HttpClientRequest.setHeaders(request, new Headers(headers)) : request))));
34
34
  const context = yield* Effect.context();
35
35
  const native = raw.event.subscribe();
36
36
 
@@ -41,12 +41,12 @@ var make2 = Effect.fn("OpenCode.make")(function* (options) {
41
41
  }
42
42
  }
43
43
  const shared = make7((signal) => Stream.toAsyncIterableWith(native.pipe(Stream.interruptWhen(aborted2(signal)), Stream.catchCause((cause) => Stream.fail(new EventFailure(cause)))), context));
44
- const subscribe = () => Stream.fromAsyncIterable(shared.subscribe(), (error) => error).pipe(Stream.catch((error) => Stream.failCause(error instanceof EventFailure ? error.cause : Cause.fail(new ClientError2({ cause: error })))));
44
+ const subscribe = () => Stream.fromAsyncIterable(shared.subscribe(), (error) => error).pipe(Stream.catch((error) => Stream.failCause(error instanceof EventFailure ? error.cause : Cause.fail(new ClientError3({ cause: error })))));
45
45
  return {
46
46
  ...raw,
47
47
  event: { ...raw.event, subscribe },
48
- rpc: Object.assign(make3((input, options) => raw.rpc.call(input).pipe(Effect.provideService(CurrentHeaders, options?.headers)), subscribe), raw.rpc)
48
+ rpc: Object.assign(make6((input, options) => raw.rpc.call(input).pipe(Effect.provideService(CurrentHeaders, options?.headers)), subscribe), raw.rpc)
49
49
  };
50
50
  });
51
51
 
52
- export { make2, exports_client };
52
+ export { make4, exports_client3 };
@@ -1,5 +1,5 @@
1
1
  // src/promise/generated/client-error.ts
2
- class ClientError3 extends Error {
2
+ class ClientError2 extends Error {
3
3
  reason;
4
4
  name = "ClientError";
5
5
  constructor(reason, options) {
@@ -9,4 +9,4 @@ class ClientError3 extends Error {
9
9
  }
10
10
  }
11
11
 
12
- export { ClientError3 };
12
+ export { ClientError2 };
@@ -2,23 +2,23 @@ import {
2
2
  make7
3
3
  } from "./service-timing-8bbb028w.js";
4
4
  import {
5
- make6
6
- } from "./service-timing-g22sa7qz.js";
5
+ make3
6
+ } from "./service-timing-q4a98k9r.js";
7
7
  import {
8
8
  makeRpc2
9
- } from "./service-timing-6vp15eh6.js";
9
+ } from "./service-timing-skhp7hxc.js";
10
10
  import {
11
11
  __export
12
12
  } from "./service-timing-9rqn6x4v.js";
13
13
 
14
14
  // src/promise/client.ts
15
- var exports_client3 = {};
16
- __export(exports_client3, {
17
- OpenCode: () => exports_client3,
18
- make: () => make5
15
+ var exports_client = {};
16
+ __export(exports_client, {
17
+ OpenCode: () => exports_client,
18
+ make: () => make2
19
19
  });
20
- function make5(options) {
21
- const raw = make6(options);
20
+ function make2(options) {
21
+ const raw = make3(options);
22
22
  const events = make7((signal, onActivity) => raw.event.subscribe({ signal, onActivity }));
23
23
  return {
24
24
  ...raw,
@@ -27,4 +27,4 @@ function make5(options) {
27
27
  };
28
28
  }
29
29
 
30
- export { make5, exports_client3 };
30
+ export { make2, exports_client };
@@ -13,10 +13,10 @@ var exports_rpc = {};
13
13
  __export(exports_rpc, {
14
14
  RpcClientRuntime: () => exports_rpc,
15
15
  aborted: () => aborted2,
16
- make: () => make3
16
+ make: () => make6
17
17
  });
18
18
  import { Effect, Stream } from "effect";
19
- function make3(call, subscribe) {
19
+ function make6(call, subscribe) {
20
20
  return (definition) => {
21
21
  const methods = Object.fromEntries(Object.entries(definition.methods).map(([name, method]) => [
22
22
  name,
@@ -59,4 +59,4 @@ function aborted2(signal) {
59
59
  });
60
60
  }
61
61
 
62
- export { make3, aborted2, exports_rpc };
62
+ export { make6, aborted2, exports_rpc };
@@ -1,17 +1,17 @@
1
1
  import {
2
- ClientError3
3
- } from "./service-timing-nwcpakzx.js";
2
+ ClientError2
3
+ } from "./service-timing-js54wxgp.js";
4
4
  import {
5
5
  __export
6
6
  } from "./service-timing-9rqn6x4v.js";
7
7
 
8
8
  // src/promise/generated/client.ts
9
- var exports_client4 = {};
10
- __export(exports_client4, {
11
- make: () => make6
9
+ var exports_client2 = {};
10
+ __export(exports_client2, {
11
+ make: () => make3
12
12
  });
13
13
  var maxSseEventBytes = 16 * 1024 * 1024;
14
- function make6(options) {
14
+ function make3(options) {
15
15
  const fetch = options.fetch ?? globalThis.fetch;
16
16
  const prepare = (descriptor, requestOptions) => {
17
17
  const baseUrl = new URL(options.baseUrl);
@@ -44,7 +44,7 @@ function make6(options) {
44
44
  const prepared = prepare(descriptor, requestOptions);
45
45
  return await fetch(prepared.url, prepared.init);
46
46
  } catch (cause) {
47
- throw new ClientError3("Transport", { cause });
47
+ throw new ClientError2("Transport", { cause });
48
48
  }
49
49
  };
50
50
  const responseError = async (response, descriptor) => {
@@ -53,7 +53,7 @@ function make6(options) {
53
53
  try {
54
54
  await response.body?.cancel();
55
55
  } catch {}
56
- throw new ClientError3("UnexpectedStatus", { cause: { status: response.status }, detail: String(response.status) });
56
+ throw new ClientError2("UnexpectedStatus", { cause: { status: response.status }, detail: String(response.status) });
57
57
  };
58
58
  const request = async (descriptor, requestOptions) => {
59
59
  const response = await execute(descriptor, requestOptions);
@@ -78,10 +78,10 @@ function make6(options) {
78
78
  try {
79
79
  await response.body?.cancel();
80
80
  } catch {}
81
- throw new ClientError3("UnsupportedContentType", { detail: response.headers.get("content-type") });
81
+ throw new ClientError2("UnsupportedContentType", { detail: response.headers.get("content-type") });
82
82
  }
83
83
  if (response.body === null)
84
- throw new ClientError3("MalformedResponse");
84
+ throw new ClientError2("MalformedResponse");
85
85
  const reader = response.body.getReader();
86
86
  const decoder = new TextDecoder;
87
87
  let buffer = "";
@@ -91,13 +91,13 @@ function make6(options) {
91
91
  try {
92
92
  next = await reader.read();
93
93
  } catch (cause) {
94
- throw new ClientError3("Transport", { cause });
94
+ throw new ClientError2("Transport", { cause });
95
95
  }
96
96
  if (!next.done)
97
97
  requestOptions?.onActivity?.();
98
98
  buffer += decoder.decode(next.value, { stream: !next.done });
99
99
  if (buffer.length > maxSseEventBytes)
100
- throw new ClientError3("SseEventTooLarge");
100
+ throw new ClientError2("SseEventTooLarge");
101
101
  const trailingCarriageReturn = !next.done && buffer.endsWith("\r");
102
102
  if (trailingCarriageReturn)
103
103
  buffer = buffer.slice(0, -1);
@@ -124,7 +124,7 @@ function make6(options) {
124
124
  try {
125
125
  yield JSON.parse(data);
126
126
  } catch (cause) {
127
- throw new ClientError3("MalformedResponse", { cause });
127
+ throw new ClientError2("MalformedResponse", { cause });
128
128
  }
129
129
  }
130
130
  boundary = buffer.indexOf(`
@@ -857,6 +857,17 @@ function make6(options) {
857
857
  declaredStatuses: [400, 401, 404],
858
858
  empty: false
859
859
  }, requestOptions)
860
+ },
861
+ client: {
862
+ token: (input, requestOptions) => request({
863
+ method: "POST",
864
+ path: `/api/experimental/client-mcp/token`,
865
+ query: { location: input["location"], name: input["name"] },
866
+ headers: { "x-opencode-ticket": input["x-opencode-ticket"] },
867
+ successStatus: 200,
868
+ declaredStatuses: [400, 401, 403, 404],
869
+ empty: false
870
+ }, requestOptions)
860
871
  }
861
872
  },
862
873
  credential: {
@@ -1476,20 +1487,20 @@ async function json(response) {
1476
1487
  try {
1477
1488
  await response.body?.cancel();
1478
1489
  } catch {}
1479
- throw new ClientError3("UnsupportedContentType", { detail: response.headers.get("content-type") });
1490
+ throw new ClientError2("UnsupportedContentType", { detail: response.headers.get("content-type") });
1480
1491
  }
1481
1492
  let text;
1482
1493
  try {
1483
1494
  text = await response.text();
1484
1495
  } catch (cause) {
1485
- throw new ClientError3("Transport", { cause });
1496
+ throw new ClientError2("Transport", { cause });
1486
1497
  }
1487
1498
  if (text === "")
1488
- throw new ClientError3("MalformedResponse");
1499
+ throw new ClientError2("MalformedResponse");
1489
1500
  try {
1490
1501
  return JSON.parse(text);
1491
1502
  } catch (cause) {
1492
- throw new ClientError3("MalformedResponse", { cause });
1503
+ throw new ClientError2("MalformedResponse", { cause });
1493
1504
  }
1494
1505
  }
1495
1506
  function declared(body) {
@@ -1502,4 +1513,4 @@ function isContentType(response, expected) {
1502
1513
  return response.headers.get("content-type")?.split(";", 1)[0]?.trim().toLowerCase() === expected;
1503
1514
  }
1504
1515
 
1505
- export { make6, exports_client4 };
1516
+ export { make3, exports_client2 };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isRpcError2,
3
3
  isRpcInternalError2
4
- } from "./service-timing-ezt8t3fk.js";
4
+ } from "./service-timing-c46qzyff.js";
5
5
 
6
6
  // src/promise/rpc.ts
7
7
  function makeRpc2(raw, events) {
@@ -2,22 +2,22 @@ import {
2
2
  ClientApi2
3
3
  } from "./service-timing-vmytr4q8.js";
4
4
  import {
5
- ClientError2
6
- } from "./service-timing-y2etg5bs.js";
5
+ ClientError3
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
8
  __export
9
9
  } from "./service-timing-9rqn6x4v.js";
10
10
 
11
11
  // src/effect/generated/client.ts
12
- var exports_client2 = {};
13
- __export(exports_client2, {
14
- make: () => make4
12
+ var exports_client4 = {};
13
+ __export(exports_client4, {
14
+ make: () => make5
15
15
  });
16
16
  import { Effect, Stream, Schema } from "effect";
17
17
  import { Sse } from "effect/encoding";
18
18
  import { HttpClientError } from "effect/http";
19
19
  import { HttpApiClient } from "effect/http-api";
20
- var mapClientError = (error) => HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error) ? new ClientError2({ cause: error }) : error;
20
+ var mapClientError = (error) => HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error) ? new ClientError3({ cause: error }) : error;
21
21
  var preserveEffect = () => (effect) => effect;
22
22
  var preserveStream = () => (stream) => stream;
23
23
  var EndpointServerInfo = (raw) => () => preserveEffect()(raw["server.info"]({}).pipe(Effect.mapError(mapClientError)));
@@ -364,13 +364,18 @@ var EndpointMcpRemove = (raw) => (input) => preserveEffect()(raw["mcp.remove"]({
364
364
  var EndpointMcpConnect = (raw) => (input) => preserveEffect()(raw["mcp.connect"]({ params: { server: input["server"] }, query: { location: input["location"] } }).pipe(Effect.mapError(mapClientError)));
365
365
  var EndpointMcpDisconnect = (raw) => (input) => preserveEffect()(raw["mcp.disconnect"]({ params: { server: input["server"] }, query: { location: input["location"] } }).pipe(Effect.mapError(mapClientError)));
366
366
  var EndpointMcpResourceCatalog = (raw) => (input) => preserveEffect()(raw["mcp.resource.catalog"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)));
367
+ var EndpointMcpClientToken = (raw) => (input) => preserveEffect()(raw["mcp.clientToken"]({
368
+ query: { location: input["location"], name: input["name"] },
369
+ headers: { "x-opencode-ticket": input["x-opencode-ticket"] }
370
+ }).pipe(Effect.mapError(mapClientError)));
367
371
  var adaptGroupMcp = (raw) => ({
368
372
  list: EndpointMcpList(raw),
369
373
  add: EndpointMcpAdd(raw),
370
374
  remove: EndpointMcpRemove(raw),
371
375
  connect: EndpointMcpConnect(raw),
372
376
  disconnect: EndpointMcpDisconnect(raw),
373
- resource: { catalog: EndpointMcpResourceCatalog(raw) }
377
+ resource: { catalog: EndpointMcpResourceCatalog(raw) },
378
+ client: { token: EndpointMcpClientToken(raw) }
374
379
  });
375
380
  var EndpointCredentialList = (raw) => () => preserveEffect()(raw["credential.list"]({}).pipe(Effect.mapError(mapClientError), Effect.map((value) => value.data)));
376
381
  var EndpointCredentialCreate = (raw) => (input) => preserveEffect()(raw["credential.create"]({
@@ -646,6 +651,6 @@ var adaptClient = (raw) => ({
646
651
  websearch: adaptGroupWebsearch(raw["server.websearch"]),
647
652
  config: adaptGroupConfig(raw["server.config"])
648
653
  });
649
- var make4 = (options) => HttpApiClient.make(ClientApi2, options).pipe(Effect.map(adaptClient));
654
+ var make5 = (options) => HttpApiClient.make(ClientApi2, options).pipe(Effect.map(adaptClient));
650
655
 
651
- export { make4, exports_client2 };
656
+ export { make5, exports_client4 };
@@ -28,13 +28,13 @@ import type { Form } from "@opencode/schema/form";
28
28
  import type { Provider } from "@opencode/schema/provider";
29
29
  import type { Integration } from "@opencode/schema/integration";
30
30
  import type { Mcp } from "@opencode/schema/mcp";
31
+ import type { PtyTicket } from "@opencode/schema/pty-ticket";
31
32
  import type { Credential } from "@opencode/schema/credential";
32
33
  import type { PermissionSaved } from "@opencode/schema/permission-saved";
33
34
  import type { FileSystem } from "@opencode/schema/filesystem";
34
35
  import type { Command } from "@opencode/schema/command";
35
36
  import type { OpenCodeEvent } from "@opencode/protocol/groups/event";
36
37
  import type { Pty } from "@opencode/schema/pty";
37
- import type { PtyTicket } from "@opencode/schema/pty-ticket";
38
38
  import type { Reference } from "@opencode/schema/reference";
39
39
  import type { Worktree } from "@opencode/schema/worktree";
40
40
  import type { Vcs } from "@opencode/schema/vcs";
@@ -2080,6 +2080,18 @@ export type McpResourceCatalogOutput = {
2080
2080
  readonly data: Mcp.ResourceCatalog;
2081
2081
  };
2082
2082
  export type McpResourceCatalogOperation<E = never> = (input?: McpResourceCatalogInput) => Effect.Effect<McpResourceCatalogOutput, E>;
2083
+ export type McpClientTokenInput = {
2084
+ readonly location?: {
2085
+ readonly directory?: string | undefined;
2086
+ } | undefined;
2087
+ readonly name: string;
2088
+ readonly "x-opencode-ticket"?: string | undefined;
2089
+ };
2090
+ export type McpClientTokenOutput = {
2091
+ readonly location: Location.PublicRef;
2092
+ readonly data: PtyTicket.ConnectToken;
2093
+ };
2094
+ export type McpClientTokenOperation<E = never> = (input: McpClientTokenInput) => Effect.Effect<McpClientTokenOutput, E>;
2083
2095
  export interface McpApi<E = never> {
2084
2096
  readonly list: McpListOperation<E>;
2085
2097
  readonly add: McpAddOperation<E>;
@@ -2089,6 +2101,9 @@ export interface McpApi<E = never> {
2089
2101
  readonly resource: {
2090
2102
  readonly catalog: McpResourceCatalogOperation<E>;
2091
2103
  };
2104
+ readonly client: {
2105
+ readonly token: McpClientTokenOperation<E>;
2106
+ };
2092
2107
  }
2093
2108
  export type CredentialListOutput = ReadonlyArray<Credential.Entry>;
2094
2109
  export type CredentialListOperation<E = never> = () => Effect.Effect<CredentialListOutput, E>;