@opencode/client 2.0.24 → 2.0.26

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 (63) hide show
  1. package/dist/chunks/{pty-handoff-71wkqa80.js → service-timing-0rcx1gca.js} +1 -1
  2. package/dist/chunks/{pty-handoff-1y4a697q.js → service-timing-1y4a697q.js} +1 -1
  3. package/dist/chunks/{pty-handoff-5yf5aaev.js → service-timing-546yv4kj.js} +9 -4
  4. package/dist/chunks/{pty-handoff-ank0d71z.js → service-timing-8ye1ye6f.js} +19 -2
  5. package/dist/chunks/{pty-handoff-cqfz2qxq.js → service-timing-e4sc9kq6.js} +4 -4
  6. package/dist/chunks/{pty-handoff-frbwqjmf.js → service-timing-frbwqjmf.js} +1 -1
  7. package/dist/chunks/{pty-handoff-myyn5x39.js → service-timing-p7x80kzg.js} +5 -5
  8. package/dist/chunks/{pty-handoff-t1xa31vm.js → service-timing-t1xa31vm.js} +1 -1
  9. package/dist/chunks/{pty-handoff-qzsnm4q8.js → service-timing-tbh3h57v.js} +11 -2
  10. package/dist/chunks/{pty-handoff-src6by76.js → service-timing-trz7kcxd.js} +14 -1
  11. package/dist/chunks/{pty-handoff-w1w809zr.js → service-timing-w1w809zr.js} +2 -2
  12. package/dist/contract.js +1 -1
  13. package/dist/effect/api/api.d.ts +12 -0
  14. package/dist/effect/client.d.ts +1 -0
  15. package/dist/effect/client.js +8 -8
  16. package/dist/effect/generated/client-error.js +1 -1
  17. package/dist/effect/generated/client.d.ts +2 -1
  18. package/dist/effect/generated/client.js +3 -3
  19. package/dist/effect/generated/index.js +4 -4
  20. package/dist/effect/index.js +8 -8
  21. package/dist/effect/rpc.js +2 -2
  22. package/dist/effect/service.d.ts +16 -2
  23. package/dist/effect/service.js +18 -23
  24. package/dist/promise/client.d.ts +1 -0
  25. package/dist/promise/client.js +7 -7
  26. package/dist/promise/generated/client-error.js +1 -1
  27. package/dist/promise/generated/client.d.ts +2 -1
  28. package/dist/promise/generated/client.js +2 -2
  29. package/dist/promise/generated/index.js +4 -4
  30. package/dist/promise/generated/types.d.ts +81 -4
  31. package/dist/promise/generated/types.js +1 -1
  32. package/dist/promise/index.js +8 -8
  33. package/dist/promise/rpc.js +2 -2
  34. package/dist/promise/service.js +13 -18
  35. package/dist/pty-handoff.js +1 -1
  36. package/dist/rpc-runtime.js +1 -1
  37. package/dist/service-contender.js +1 -1
  38. package/dist/service-probe.d.ts +18 -1
  39. package/dist/service-probe.js +5 -2
  40. package/dist/service-timing.js +1 -1
  41. package/dist/service-version.js +1 -1
  42. package/dist/service.js +1 -1
  43. package/dist/shared-events.js +1 -1
  44. package/dist/solid/connection.js +1 -1
  45. package/dist/solid/data.d.ts +7 -0
  46. package/dist/solid/data.js +9 -9
  47. package/dist/solid/index.js +11 -11
  48. package/dist/solid/pty.js +1 -1
  49. package/package.json +5 -6
  50. /package/dist/chunks/{pty-handoff-6mptkzbc.js → service-timing-6mptkzbc.js} +0 -0
  51. /package/dist/chunks/{pty-handoff-7f0py9js.js → service-timing-7f0py9js.js} +0 -0
  52. /package/dist/chunks/{pty-handoff-9rqn6x4v.js → service-timing-9rqn6x4v.js} +0 -0
  53. /package/dist/chunks/{pty-handoff-gne7h7mq.js → service-timing-gne7h7mq.js} +0 -0
  54. /package/dist/chunks/{pty-handoff-js54wxgp.js → service-timing-js54wxgp.js} +0 -0
  55. /package/dist/chunks/{pty-handoff-m2eywc8w.js → service-timing-m2eywc8w.js} +0 -0
  56. /package/dist/chunks/{pty-handoff-qav6mfdz.js → service-timing-qav6mfdz.js} +0 -0
  57. /package/dist/chunks/{pty-handoff-sxt88q69.js → service-timing-sxt88q69.js} +0 -0
  58. /package/dist/chunks/{pty-handoff-ve4aws36.js → service-timing-ve4aws36.js} +0 -0
  59. /package/dist/chunks/{pty-handoff-vmytr4q8.js → service-timing-vmytr4q8.js} +0 -0
  60. /package/dist/chunks/{pty-handoff-vt9jbch8.js → service-timing-vt9jbch8.js} +0 -0
  61. /package/dist/chunks/{pty-handoff-vyas3vgt.js → service-timing-vyas3vgt.js} +0 -0
  62. /package/dist/chunks/{pty-handoff-xgnj2w4v.js → service-timing-xgnj2w4v.js} +0 -0
  63. /package/dist/chunks/{pty-handoff-ydhz1zrh.js → service-timing-ydhz1zrh.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./pty-handoff-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/pty-handoff.ts
6
6
  var exports_pty_handoff = {};
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isRpcError2,
3
3
  isRpcInternalError2
4
- } from "./pty-handoff-vt9jbch8.js";
4
+ } from "./service-timing-vt9jbch8.js";
5
5
 
6
6
  // src/promise/rpc.ts
7
7
  function makeRpc2(raw, events) {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ClientApi2
3
- } from "./pty-handoff-vmytr4q8.js";
3
+ } from "./service-timing-vmytr4q8.js";
4
4
  import {
5
5
  ClientError3
6
- } from "./pty-handoff-7f0py9js.js";
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
8
  __export
9
- } from "./pty-handoff-9rqn6x4v.js";
9
+ } from "./service-timing-9rqn6x4v.js";
10
10
 
11
11
  // src/effect/generated/client.ts
12
12
  var exports_client4 = {};
@@ -282,6 +282,11 @@ var EndpointIntegrationConnectKey = (raw) => (input) => preserveEffect()(raw["in
282
282
  query: { location: input["location"] },
283
283
  payload: { key: input["key"], answer: input["answer"], label: input["label"] }
284
284
  }).pipe(Effect.mapError(mapClientError)));
285
+ var EndpointIntegrationConnectExternal = (raw) => (input) => preserveEffect()(raw["integration.connect.external"]({
286
+ params: { integrationID: input["integrationID"] },
287
+ query: { location: input["location"] },
288
+ payload: { methodID: input["methodID"], answer: input["answer"], label: input["label"] }
289
+ }).pipe(Effect.mapError(mapClientError)));
285
290
  var EndpointIntegrationOauthConnect = (raw) => (input) => preserveEffect()(raw["integration.oauth.connect"]({
286
291
  params: { integrationID: input["integrationID"] },
287
292
  query: { location: input["location"] },
@@ -317,7 +322,7 @@ var adaptGroupIntegration = (raw) => ({
317
322
  list: EndpointIntegrationList(raw),
318
323
  get: EndpointIntegrationGet(raw),
319
324
  wellknown: { add: EndpointIntegrationWellknownAdd(raw) },
320
- connect: { key: EndpointIntegrationConnectKey(raw) },
325
+ connect: { key: EndpointIntegrationConnectKey(raw), external: EndpointIntegrationConnectExternal(raw) },
321
326
  oauth: {
322
327
  connect: EndpointIntegrationOauthConnect(raw),
323
328
  status: EndpointIntegrationOauthStatus(raw),
@@ -1,10 +1,27 @@
1
1
  import {
2
2
  defaultEnsureTiming2
3
- } from "./pty-handoff-xgnj2w4v.js";
3
+ } from "./service-timing-xgnj2w4v.js";
4
+ import {
5
+ matchesVersion2
6
+ } from "./service-timing-sxt88q69.js";
4
7
 
5
8
  // src/service-probe.ts
6
9
  import { homedir } from "node:os";
7
10
  import { join } from "node:path";
11
+ function decide2(service, options) {
12
+ if (!matchesVersion2(service.version, options))
13
+ return { _tag: "replace", pty: service.state === "ready" ? "handoff" : "clear" };
14
+ if (!service.compatible)
15
+ return fail("Background service uses an incompatible health protocol. Update this client or explicitly restart the service.");
16
+ if (service.state === "ready")
17
+ return { _tag: "reuse" };
18
+ if (service.state === "failed")
19
+ return fail("Background service failed to start");
20
+ return { _tag: "wait" };
21
+ }
22
+ function fail(message) {
23
+ return { _tag: "fail", error: new Error(message) };
24
+ }
8
25
  function fallback2() {
9
26
  return join(process.env["XDG_STATE_HOME"] ?? join(homedir(), ".local", "state"), "opencode", "service.json");
10
27
  }
@@ -72,4 +89,4 @@ function decodeInfo(input) {
72
89
  return { version: input.version, pid: input.pid };
73
90
  }
74
91
 
75
- export { fallback2, same2, probeResult2, headers2 };
92
+ export { decide2, fallback2, same2, probeResult2, headers2 };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  make7
3
- } from "./pty-handoff-frbwqjmf.js";
3
+ } from "./service-timing-frbwqjmf.js";
4
4
  import {
5
5
  make3
6
- } from "./pty-handoff-qzsnm4q8.js";
6
+ } from "./service-timing-tbh3h57v.js";
7
7
  import {
8
8
  makeRpc2
9
- } from "./pty-handoff-1y4a697q.js";
9
+ } from "./service-timing-1y4a697q.js";
10
10
  import {
11
11
  __export
12
- } from "./pty-handoff-9rqn6x4v.js";
12
+ } from "./service-timing-9rqn6x4v.js";
13
13
 
14
14
  // src/promise/client.ts
15
15
  var exports_client = {};
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./pty-handoff-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/shared-events.ts
6
6
  var exports_shared_events = {};
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  make7
3
- } from "./pty-handoff-frbwqjmf.js";
3
+ } from "./service-timing-frbwqjmf.js";
4
4
  import {
5
5
  ClientError3
6
- } from "./pty-handoff-7f0py9js.js";
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
8
  make5
9
- } from "./pty-handoff-5yf5aaev.js";
9
+ } from "./service-timing-546yv4kj.js";
10
10
  import {
11
11
  make6,
12
12
  aborted2
13
- } from "./pty-handoff-w1w809zr.js";
13
+ } from "./service-timing-w1w809zr.js";
14
14
  import {
15
15
  __export
16
- } from "./pty-handoff-9rqn6x4v.js";
16
+ } from "./service-timing-9rqn6x4v.js";
17
17
 
18
18
  // src/effect/client.ts
19
19
  var exports_client3 = {};
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./pty-handoff-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/rpc-runtime.ts
6
6
  var exports_rpc_runtime = {};
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ClientError2
3
- } from "./pty-handoff-js54wxgp.js";
3
+ } from "./service-timing-js54wxgp.js";
4
4
  import {
5
5
  __export
6
- } from "./pty-handoff-9rqn6x4v.js";
6
+ } from "./service-timing-9rqn6x4v.js";
7
7
 
8
8
  // src/promise/generated/client.ts
9
9
  var exports_client2 = {};
@@ -700,6 +700,15 @@ function make3(options) {
700
700
  successStatus: 204,
701
701
  declaredStatuses: [400, 401, 404],
702
702
  empty: true
703
+ }, requestOptions),
704
+ external: (input, requestOptions) => request({
705
+ method: "POST",
706
+ path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/external`,
707
+ query: { location: input["location"] },
708
+ body: { methodID: input["methodID"], answer: input["answer"], label: input["label"] },
709
+ successStatus: 204,
710
+ declaredStatuses: [400, 401, 404],
711
+ empty: true
703
712
  }, requestOptions)
704
713
  },
705
714
  oauth: {
@@ -2,7 +2,7 @@ import {
2
2
  isFormNotFoundError2,
3
3
  isFormAlreadySettledError2,
4
4
  isPermissionNotFoundError2
5
- } from "./pty-handoff-vt9jbch8.js";
5
+ } from "./service-timing-vt9jbch8.js";
6
6
 
7
7
  // src/solid/data.ts
8
8
  import { Worktree } from "@opencode/schema/worktree";
@@ -1177,6 +1177,19 @@ function createData2(config) {
1177
1177
  list(sessionID) {
1178
1178
  return store.session.pending[sessionID] ?? [];
1179
1179
  },
1180
+ status(sessionID, inboxID) {
1181
+ const pending = store.session.pending[sessionID] ?? [];
1182
+ const item = pending.find((entry) => entry.id === inboxID && entry.type === "user");
1183
+ if (!item)
1184
+ return;
1185
+ if (item.delivery === "queue")
1186
+ return "queued";
1187
+ const messages = store.session.message[sessionID] ?? [];
1188
+ const boundary = messages.findLastIndex((entry) => entry.type === "idle");
1189
+ if ((store.session.active[sessionID] ?? "idle") === "idle")
1190
+ return boundary >= 0 && item.time.created <= messages[boundary].time.created ? "stranded" : "starting";
1191
+ return messages.slice(boundary + 1).some((entry) => entry.type === "user" && !pending.some((other) => other.id === entry.id)) ? "steering" : "starting";
1192
+ },
1180
1193
  sync(sessionID) {
1181
1194
  return sync.run(`session.pending:${sessionID}`, async () => {
1182
1195
  const updates = new Map;
@@ -3,10 +3,10 @@ import {
3
3
  readError2,
4
4
  event2,
5
5
  eventType2
6
- } from "./pty-handoff-t1xa31vm.js";
6
+ } from "./service-timing-t1xa31vm.js";
7
7
  import {
8
8
  __export
9
- } from "./pty-handoff-9rqn6x4v.js";
9
+ } from "./service-timing-9rqn6x4v.js";
10
10
 
11
11
  // src/effect/rpc.ts
12
12
  var exports_rpc = {};
package/dist/contract.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  effectOmitEndpoints2,
4
4
  groupNames2,
5
5
  promiseOmitEndpoints2
6
- } from "./chunks/pty-handoff-vmytr4q8.js";
6
+ } from "./chunks/service-timing-vmytr4q8.js";
7
7
  export {
8
8
  ClientApi2 as ClientApi,
9
9
  effectOmitEndpoints2 as effectOmitEndpoints,
@@ -1830,6 +1830,17 @@ export type IntegrationConnectKeyInput = {
1830
1830
  };
1831
1831
  export type IntegrationConnectKeyOutput = void;
1832
1832
  export type IntegrationConnectKeyOperation<E = never> = (input: IntegrationConnectKeyInput) => Effect.Effect<IntegrationConnectKeyOutput, E>;
1833
+ export type IntegrationConnectExternalInput = {
1834
+ readonly integrationID: Integration.ID;
1835
+ readonly location?: {
1836
+ readonly directory?: string | undefined;
1837
+ } | undefined;
1838
+ readonly methodID: Integration.MethodID;
1839
+ readonly answer?: Form.Answer | undefined;
1840
+ readonly label?: string | undefined;
1841
+ };
1842
+ export type IntegrationConnectExternalOutput = void;
1843
+ export type IntegrationConnectExternalOperation<E = never> = (input: IntegrationConnectExternalInput) => Effect.Effect<IntegrationConnectExternalOutput, E>;
1833
1844
  export type IntegrationOauthConnectInput = {
1834
1845
  readonly integrationID: Integration.ID;
1835
1846
  readonly location?: {
@@ -1917,6 +1928,7 @@ export interface IntegrationApi<E = never> {
1917
1928
  };
1918
1929
  readonly connect: {
1919
1930
  readonly key: IntegrationConnectKeyOperation<E>;
1931
+ readonly external: IntegrationConnectExternalOperation<E>;
1920
1932
  };
1921
1933
  readonly oauth: {
1922
1934
  readonly connect: IntegrationOauthConnectOperation<E>;
@@ -2392,6 +2392,7 @@ export declare const make: (options?: {
2392
2392
  };
2393
2393
  connect: {
2394
2394
  key: (input: import("./api.js").IntegrationConnectKeyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2395
+ external: (input: import("./api.js").IntegrationConnectExternalInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
2395
2396
  };
2396
2397
  oauth: {
2397
2398
  connect: (input: import("./api.js").IntegrationOauthConnectInput) => Effect.Effect<import("./api.js").IntegrationOauthConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  make4,
3
3
  exports_client3
4
- } from "../chunks/pty-handoff-myyn5x39.js";
5
- import"../chunks/pty-handoff-6mptkzbc.js";
6
- import"../chunks/pty-handoff-5yf5aaev.js";
7
- import"../chunks/pty-handoff-7f0py9js.js";
8
- import"../chunks/pty-handoff-w1w809zr.js";
9
- import"../chunks/pty-handoff-vmytr4q8.js";
10
- import"../chunks/pty-handoff-frbwqjmf.js";
11
- import"../chunks/pty-handoff-t1xa31vm.js";
4
+ } from "../chunks/service-timing-p7x80kzg.js";
5
+ import"../chunks/service-timing-6mptkzbc.js";
6
+ import"../chunks/service-timing-546yv4kj.js";
7
+ import"../chunks/service-timing-7f0py9js.js";
8
+ import"../chunks/service-timing-w1w809zr.js";
9
+ import"../chunks/service-timing-frbwqjmf.js";
10
+ import"../chunks/service-timing-vmytr4q8.js";
11
+ import"../chunks/service-timing-t1xa31vm.js";
12
12
  export {
13
13
  exports_client3 as OpenCode,
14
14
  make4 as make
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientError3
3
- } from "../../chunks/pty-handoff-7f0py9js.js";
3
+ } from "../../chunks/service-timing-7f0py9js.js";
4
4
  export {
5
5
  ClientError3 as ClientError
6
6
  };
@@ -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 { ServerInfoOutput, ServerPairOutput, ServerConnectInput, ServerConnectOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormListOutput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialListOutput, CredentialCreateInput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsInitInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "../api/api.js";
4
+ import type { ServerInfoOutput, ServerPairOutput, ServerConnectInput, ServerConnectOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormListOutput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationConnectExternalInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialListOutput, CredentialCreateInput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsInitInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "../api/api.js";
5
5
  import { ClientError } from "./client-error.js";
6
6
  export declare const make: (options?: {
7
7
  readonly baseUrl?: URL | string;
@@ -103,6 +103,7 @@ export declare const make: (options?: {
103
103
  };
104
104
  connect: {
105
105
  key: (input: IntegrationConnectKeyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
106
+ external: (input: IntegrationConnectExternalInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
106
107
  };
107
108
  oauth: {
108
109
  connect: (input: IntegrationOauthConnectInput) => Effect.Effect<IntegrationOauthConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  make5
3
- } from "../../chunks/pty-handoff-5yf5aaev.js";
4
- import"../../chunks/pty-handoff-7f0py9js.js";
5
- import"../../chunks/pty-handoff-vmytr4q8.js";
3
+ } from "../../chunks/service-timing-546yv4kj.js";
4
+ import"../../chunks/service-timing-7f0py9js.js";
5
+ import"../../chunks/service-timing-vmytr4q8.js";
6
6
  export {
7
7
  make5 as make
8
8
  };
@@ -1,11 +1,11 @@
1
- import"../../chunks/pty-handoff-6mptkzbc.js";
1
+ import"../../chunks/service-timing-6mptkzbc.js";
2
2
  import {
3
3
  exports_client4
4
- } from "../../chunks/pty-handoff-5yf5aaev.js";
4
+ } from "../../chunks/service-timing-546yv4kj.js";
5
5
  import {
6
6
  ClientError3
7
- } from "../../chunks/pty-handoff-7f0py9js.js";
8
- import"../../chunks/pty-handoff-vmytr4q8.js";
7
+ } from "../../chunks/service-timing-7f0py9js.js";
8
+ import"../../chunks/service-timing-vmytr4q8.js";
9
9
  export {
10
10
  ClientError3 as ClientError,
11
11
  exports_client4 as OpenCode
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ClientError3
3
- } from "../chunks/pty-handoff-7f0py9js.js";
4
- import"../chunks/pty-handoff-vmytr4q8.js";
5
- import"../chunks/pty-handoff-5yf5aaev.js";
6
- import"../chunks/pty-handoff-6mptkzbc.js";
7
- import"../chunks/pty-handoff-frbwqjmf.js";
8
- import"../chunks/pty-handoff-t1xa31vm.js";
9
- import"../chunks/pty-handoff-w1w809zr.js";
3
+ } from "../chunks/service-timing-7f0py9js.js";
4
+ import"../chunks/service-timing-vmytr4q8.js";
5
+ import"../chunks/service-timing-546yv4kj.js";
6
+ import"../chunks/service-timing-6mptkzbc.js";
7
+ import"../chunks/service-timing-frbwqjmf.js";
8
+ import"../chunks/service-timing-t1xa31vm.js";
9
+ import"../chunks/service-timing-w1w809zr.js";
10
10
  import {
11
11
  exports_client3
12
- } from "../chunks/pty-handoff-myyn5x39.js";
12
+ } from "../chunks/service-timing-p7x80kzg.js";
13
13
 
14
14
  // src/effect/index.ts
15
15
  import { Agent } from "@opencode/schema/agent";
@@ -2,8 +2,8 @@ import {
2
2
  make6,
3
3
  aborted2,
4
4
  exports_rpc
5
- } from "../chunks/pty-handoff-w1w809zr.js";
6
- import"../chunks/pty-handoff-t1xa31vm.js";
5
+ } from "../chunks/service-timing-w1w809zr.js";
6
+ import"../chunks/service-timing-t1xa31vm.js";
7
7
  export {
8
8
  exports_rpc as RpcClientRuntime,
9
9
  aborted2 as aborted,
@@ -29,7 +29,14 @@ export declare const incumbent: (options: DiscoverOptions & {
29
29
  state: "failed" | "ready" | "waiting";
30
30
  } | undefined, never, FileSystem.FileSystem>;
31
31
  /** Ensure a healthy, compatible local service is running. */
32
- export declare const ensure: (options?: EnsureOptions | undefined) => Effect.Effect<import("./service.js").Endpoint, Error, FileSystem.FileSystem>;
32
+ export declare const ensure: (options?: EnsureOptions | undefined) => Effect.Effect<{
33
+ url: string;
34
+ auth: {
35
+ type: "basic";
36
+ username: string;
37
+ password: string;
38
+ } | undefined;
39
+ }, Error, FileSystem.FileSystem>;
33
40
  /** Stop the registered local service. */
34
41
  export declare const stop: (options?: StopOptions | undefined) => Effect.Effect<void, Error, FileSystem.FileSystem>;
35
42
  /** Schema for the local service registration file. */
@@ -63,7 +70,14 @@ export declare const Service: {
63
70
  };
64
71
  state: "failed" | "ready" | "waiting";
65
72
  } | undefined, never, FileSystem.FileSystem>;
66
- ensure: (options?: EnsureOptions | undefined) => Effect.Effect<import("./service.js").Endpoint, Error, FileSystem.FileSystem>;
73
+ ensure: (options?: EnsureOptions | undefined) => Effect.Effect<{
74
+ url: string;
75
+ auth: {
76
+ type: "basic";
77
+ username: string;
78
+ password: string;
79
+ } | undefined;
80
+ }, Error, FileSystem.FileSystem>;
67
81
  stop: (options?: StopOptions | undefined) => Effect.Effect<void, Error, FileSystem.FileSystem>;
68
82
  headers: typeof headers;
69
83
  Info: Schema.Struct<{
@@ -1,27 +1,28 @@
1
1
  import {
2
2
  spawnServiceContender2,
3
3
  contenderPool2
4
- } from "../chunks/pty-handoff-ve4aws36.js";
4
+ } from "../chunks/service-timing-ve4aws36.js";
5
5
  import {
6
6
  defaultEnsureTiming2,
7
7
  ensureTiming2
8
- } from "../chunks/pty-handoff-xgnj2w4v.js";
8
+ } from "../chunks/service-timing-xgnj2w4v.js";
9
9
  import {
10
10
  matchesVersion2
11
- } from "../chunks/pty-handoff-sxt88q69.js";
11
+ } from "../chunks/service-timing-sxt88q69.js";
12
12
  import {
13
13
  prepare2,
14
14
  environment2,
15
15
  complete2,
16
16
  clear2
17
- } from "../chunks/pty-handoff-71wkqa80.js";
17
+ } from "../chunks/service-timing-0rcx1gca.js";
18
18
  import {
19
+ decide2,
19
20
  fallback2,
20
21
  same2,
21
22
  probeResult2,
22
23
  headers2
23
- } from "../chunks/pty-handoff-ank0d71z.js";
24
- import"../chunks/pty-handoff-qav6mfdz.js";
24
+ } from "../chunks/service-timing-8ye1ye6f.js";
25
+ import"../chunks/service-timing-qav6mfdz.js";
25
26
 
26
27
  // src/effect/service.ts
27
28
  import { Effect, FileSystem, Option, Schedule, Schema } from "effect";
@@ -91,26 +92,20 @@ var ensure = Effect.fn("service.ensure")(function* (options = {}) {
91
92
  timeouts = undefined;
92
93
  if (service2 !== undefined) {
93
94
  pool.serviceAnswered();
94
- const versionMatches = matchesVersion2(service2.version, options);
95
- const compatible = service2.compatible && versionMatches;
96
- if (!service2.compatible && versionMatches)
97
- return yield* Effect.fail(new Error("Background service uses an incompatible health protocol. Update this client or explicitly restart the service."));
98
- if (compatible && service2.state === "ready") {
95
+ const decision = decide2(service2, options);
96
+ if (decision._tag === "fail")
97
+ return yield* Effect.fail(decision.error);
98
+ if (decision._tag === "reuse") {
99
99
  yield* Effect.tryPromise(() => complete2(options.file ?? fallback2(), service2.info));
100
100
  return Option.some(service2);
101
101
  }
102
- if (compatible && service2.state === "failed")
103
- return yield* Effect.fail(new Error("Background service failed to start"));
104
- if (compatible)
105
- return Option.none();
106
- yield* announce("version-mismatch", service2.version);
107
- if (service2.state !== "ready")
108
- yield* Effect.logWarning("Background service is not ready; replacement cannot preserve persistent terminals");
109
- yield* stop({
110
- file: options.file,
111
- pty: service2.state === "ready" ? "handoff" : "clear"
112
- }).pipe(Effect.ignore);
113
- pool.evict(service2.info.pid);
102
+ if (decision._tag === "replace") {
103
+ yield* announce("version-mismatch", service2.version);
104
+ if (service2.state !== "ready")
105
+ yield* Effect.logWarning("Background service is not ready; replacement cannot preserve persistent terminals");
106
+ yield* stop({ file: options.file, pty: decision.pty }).pipe(Effect.ignore);
107
+ pool.evict(service2.info.pid);
108
+ }
114
109
  return Option.none();
115
110
  }
116
111
  const failed = pool.reap();
@@ -113,6 +113,7 @@ export declare function make(options: ClientOptions): {
113
113
  };
114
114
  connect: {
115
115
  key: (input: import("./index.js").IntegrationConnectKeyInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
116
+ external: (input: import("./index.js").IntegrationConnectExternalInput, requestOptions?: OpenCode.RequestOptions) => Promise<void>;
116
117
  };
117
118
  oauth: {
118
119
  connect: (input: import("./index.js").IntegrationOauthConnectInput, requestOptions?: OpenCode.RequestOptions) => Promise<import("./index.js").IntegrationOauthConnectOutput>;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  make2,
3
3
  exports_client
4
- } from "../chunks/pty-handoff-cqfz2qxq.js";
5
- import"../chunks/pty-handoff-vyas3vgt.js";
6
- import"../chunks/pty-handoff-qzsnm4q8.js";
7
- import"../chunks/pty-handoff-js54wxgp.js";
8
- import"../chunks/pty-handoff-1y4a697q.js";
9
- import"../chunks/pty-handoff-vt9jbch8.js";
10
- import"../chunks/pty-handoff-frbwqjmf.js";
4
+ } from "../chunks/service-timing-e4sc9kq6.js";
5
+ import"../chunks/service-timing-vyas3vgt.js";
6
+ import"../chunks/service-timing-tbh3h57v.js";
7
+ import"../chunks/service-timing-js54wxgp.js";
8
+ import"../chunks/service-timing-1y4a697q.js";
9
+ import"../chunks/service-timing-vt9jbch8.js";
10
+ import"../chunks/service-timing-frbwqjmf.js";
11
11
  export {
12
12
  exports_client as OpenCode,
13
13
  make2 as make
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientError2
3
- } from "../../chunks/pty-handoff-js54wxgp.js";
3
+ } from "../../chunks/service-timing-js54wxgp.js";
4
4
  export {
5
5
  ClientError2 as ClientError
6
6
  };
@@ -1,4 +1,4 @@
1
- import type { ServerConnectInput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionDiffInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialCreateInput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, FileWriteInput, FileWriteOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsInitInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "./types.js";
1
+ import type { ServerConnectInput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionStatsInput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionDiffInput, SessionInboxListInput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationConnectExternalInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialCreateInput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, FileWriteInput, FileWriteOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsInitInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "./types.js";
2
2
  export interface ClientOptions {
3
3
  readonly baseUrl: string;
4
4
  readonly fetch?: typeof globalThis.fetch;
@@ -114,6 +114,7 @@ export declare function make(options: ClientOptions): {
114
114
  };
115
115
  connect: {
116
116
  key: (input: IntegrationConnectKeyInput, requestOptions?: RequestOptions) => Promise<void>;
117
+ external: (input: IntegrationConnectExternalInput, requestOptions?: RequestOptions) => Promise<void>;
117
118
  };
118
119
  oauth: {
119
120
  connect: (input: IntegrationOauthConnectInput, requestOptions?: RequestOptions) => Promise<IntegrationOauthConnectOutput>;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  make3
3
- } from "../../chunks/pty-handoff-qzsnm4q8.js";
4
- import"../../chunks/pty-handoff-js54wxgp.js";
3
+ } from "../../chunks/service-timing-tbh3h57v.js";
4
+ import"../../chunks/service-timing-js54wxgp.js";
5
5
  export {
6
6
  make3 as make
7
7
  };
@@ -1,10 +1,10 @@
1
- import"../../chunks/pty-handoff-vyas3vgt.js";
1
+ import"../../chunks/service-timing-vyas3vgt.js";
2
2
  import {
3
3
  exports_client2
4
- } from "../../chunks/pty-handoff-qzsnm4q8.js";
4
+ } from "../../chunks/service-timing-tbh3h57v.js";
5
5
  import {
6
6
  ClientError2
7
- } from "../../chunks/pty-handoff-js54wxgp.js";
7
+ } from "../../chunks/service-timing-js54wxgp.js";
8
8
  import {
9
9
  isInvalidRequestError2,
10
10
  isUnauthorizedError2,
@@ -39,7 +39,7 @@ import {
39
39
  isShellNotFoundError2,
40
40
  isWorktreeError2,
41
41
  isVcsInitNotSupportedError2
42
- } from "../../chunks/pty-handoff-vt9jbch8.js";
42
+ } from "../../chunks/service-timing-vt9jbch8.js";
43
43
  export {
44
44
  ClientError2 as ClientError,
45
45
  exports_client2 as OpenCode,