@opencode/client 0.0.0-dev-20488 → 0.0.0-dev-20495

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 (53) hide show
  1. package/dist/chunks/{service-contender-m3fvvqgs.js → service-timing-1cypz8nb.js} +14 -21
  2. package/dist/chunks/{service-contender-1y4a697q.js → service-timing-1y4a697q.js} +1 -1
  3. package/dist/chunks/{service-contender-5yf5aaev.js → service-timing-5yf5aaev.js} +3 -3
  4. package/dist/chunks/{service-contender-pfs23t85.js → service-timing-70zgee0f.js} +5 -5
  5. package/dist/chunks/{service-contender-cqfz2qxq.js → service-timing-9n602qx4.js} +4 -4
  6. package/dist/chunks/{service-contender-e5ea35j7.js → service-timing-e5ea35j7.js} +1 -1
  7. package/dist/chunks/{service-contender-frbwqjmf.js → service-timing-frbwqjmf.js} +1 -1
  8. package/dist/chunks/{service-contender-qzsnm4q8.js → service-timing-qzsnm4q8.js} +2 -2
  9. package/dist/chunks/{service-contender-t1xa31vm.js → service-timing-t1xa31vm.js} +1 -1
  10. package/dist/chunks/{service-contender-w1w809zr.js → service-timing-w1w809zr.js} +2 -2
  11. package/dist/contract.js +1 -1
  12. package/dist/effect/client.js +8 -8
  13. package/dist/effect/generated/client-error.js +1 -1
  14. package/dist/effect/generated/client.js +3 -3
  15. package/dist/effect/generated/index.js +4 -4
  16. package/dist/effect/index.js +8 -8
  17. package/dist/effect/rpc.js +2 -2
  18. package/dist/effect/service.js +6 -9
  19. package/dist/promise/client.js +7 -7
  20. package/dist/promise/generated/client-error.js +1 -1
  21. package/dist/promise/generated/client.js +2 -2
  22. package/dist/promise/generated/index.js +6 -6
  23. package/dist/promise/generated/types.js +1 -1
  24. package/dist/promise/index.js +10 -10
  25. package/dist/promise/rpc.js +2 -2
  26. package/dist/promise/service.js +6 -9
  27. package/dist/pty-handoff.d.ts +4 -1
  28. package/dist/pty-handoff.js +1 -1
  29. package/dist/rpc-runtime.js +1 -1
  30. package/dist/service-contender.js +1 -1
  31. package/dist/service-timing.js +1 -1
  32. package/dist/service-version.js +1 -1
  33. package/dist/service.js +1 -1
  34. package/dist/shared-events.js +1 -1
  35. package/dist/solid/connection.js +1 -1
  36. package/dist/solid/data.js +9 -9
  37. package/dist/solid/index.js +11 -11
  38. package/dist/solid/pty.js +1 -1
  39. package/package.json +4 -4
  40. /package/dist/chunks/{service-contender-6mptkzbc.js → service-timing-6mptkzbc.js} +0 -0
  41. /package/dist/chunks/{service-contender-7f0py9js.js → service-timing-7f0py9js.js} +0 -0
  42. /package/dist/chunks/{service-contender-9rqn6x4v.js → service-timing-9rqn6x4v.js} +0 -0
  43. /package/dist/chunks/{service-contender-gne7h7mq.js → service-timing-gne7h7mq.js} +0 -0
  44. /package/dist/chunks/{service-contender-js54wxgp.js → service-timing-js54wxgp.js} +0 -0
  45. /package/dist/chunks/{service-contender-m2eywc8w.js → service-timing-m2eywc8w.js} +0 -0
  46. /package/dist/chunks/{service-contender-qav6mfdz.js → service-timing-qav6mfdz.js} +0 -0
  47. /package/dist/chunks/{service-contender-sxt88q69.js → service-timing-sxt88q69.js} +0 -0
  48. /package/dist/chunks/{service-contender-txckps9j.js → service-timing-txckps9j.js} +0 -0
  49. /package/dist/chunks/{service-contender-vmytr4q8.js → service-timing-vmytr4q8.js} +0 -0
  50. /package/dist/chunks/{service-contender-vt9jbch8.js → service-timing-vt9jbch8.js} +0 -0
  51. /package/dist/chunks/{service-contender-vyas3vgt.js → service-timing-vyas3vgt.js} +0 -0
  52. /package/dist/chunks/{service-contender-xgnj2w4v.js → service-timing-xgnj2w4v.js} +0 -0
  53. /package/dist/chunks/{service-contender-ydhz1zrh.js → service-timing-ydhz1zrh.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./service-contender-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/pty-handoff.ts
6
6
  var exports_pty_handoff = {};
@@ -16,38 +16,31 @@ async function prepare2(file, info, timeout) {
16
16
  const existing = await read(file);
17
17
  if (existing !== undefined && existing.expiresAt > Date.now() && same(existing.source, info))
18
18
  return;
19
- const { ClientError, OpenCode } = await import("../promise/index.js");
19
+ const { OpenCode } = await import("../promise/index.js");
20
20
  const client = OpenCode.make({
21
21
  baseUrl: info.url,
22
22
  headers: info.password === undefined ? undefined : { authorization: "Basic " + Buffer.from(`opencode:${info.password}`).toString("base64") }
23
23
  });
24
- const missing = (error) => error instanceof ClientError && error.reason === "UnexpectedStatus" && typeof error.cause === "object" && error.cause !== null && ("status" in error.cause) && error.cause.status === 404;
25
- const result = await client.experimental.persistentPty.handoff({ signal: AbortSignal.timeout(timeout) }).then((value) => ({ value }), (cause) => ({ cause }));
26
- if ("cause" in result) {
24
+ const handoff = await client.experimental.persistentPty.handoff({ signal: AbortSignal.timeout(timeout) }).then(parse).catch(async (cause) => {
27
25
  const concurrent = await read(file);
28
26
  if (concurrent !== undefined && concurrent.expiresAt > Date.now() && same(concurrent.source, info))
29
27
  return;
30
- if (!missing(result.cause))
31
- throw new Error("Failed to prepare persistent terminals for service replacement", { cause: result.cause });
32
- console.warn("Background service cannot hand off persistent terminals; shutting them down before replacement");
33
- await client.experimental.persistentPty.shutdown({ signal: AbortSignal.timeout(timeout) }).catch((cause) => {
34
- if (missing(cause))
35
- return;
36
- throw new Error("Failed to shut down persistent terminals before service replacement", { cause });
37
- });
38
- await publish(file, info, null);
28
+ console.warn("Background service cannot hand off persistent terminals; shutting them down before replacement", cause);
29
+ await client.experimental.persistentPty.shutdown({ signal: AbortSignal.timeout(timeout) }).catch(() => {});
30
+ return null;
31
+ });
32
+ if (handoff === undefined)
39
33
  return;
40
- }
41
- const body = result.value;
34
+ await publish(file, info, handoff).catch((cause) => console.warn("Failed to publish persistent terminal handoff", cause));
35
+ }
36
+ function parse(body) {
42
37
  if (typeof body !== "object" || body === null || !("handoff" in body))
43
38
  throw new Error("Invalid persistent terminal handoff response");
44
- if (body.handoff === null) {
45
- await publish(file, info, null);
46
- return;
47
- }
39
+ if (body.handoff === null)
40
+ return null;
48
41
  if (!isHandoff(body.handoff) || body.handoff.expiresAt <= Date.now())
49
42
  throw new Error("Invalid or expired persistent terminal handoff");
50
- await publish(file, info, body.handoff);
43
+ return body.handoff;
51
44
  }
52
45
  async function publish(file, info, handoff) {
53
46
  const temporary = `${file}.pty-handoff.${crypto.randomUUID()}.tmp`;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isRpcError2,
3
3
  isRpcInternalError2
4
- } from "./service-contender-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 "./service-contender-vmytr4q8.js";
3
+ } from "./service-timing-vmytr4q8.js";
4
4
  import {
5
5
  ClientError3
6
- } from "./service-contender-7f0py9js.js";
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
8
  __export
9
- } from "./service-contender-9rqn6x4v.js";
9
+ } from "./service-timing-9rqn6x4v.js";
10
10
 
11
11
  // src/effect/generated/client.ts
12
12
  var exports_client4 = {};
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  make7
3
- } from "./service-contender-frbwqjmf.js";
3
+ } from "./service-timing-frbwqjmf.js";
4
4
  import {
5
5
  ClientError3
6
- } from "./service-contender-7f0py9js.js";
6
+ } from "./service-timing-7f0py9js.js";
7
7
  import {
8
8
  make5
9
- } from "./service-contender-5yf5aaev.js";
9
+ } from "./service-timing-5yf5aaev.js";
10
10
  import {
11
11
  make6,
12
12
  aborted2
13
- } from "./service-contender-w1w809zr.js";
13
+ } from "./service-timing-w1w809zr.js";
14
14
  import {
15
15
  __export
16
- } from "./service-contender-9rqn6x4v.js";
16
+ } from "./service-timing-9rqn6x4v.js";
17
17
 
18
18
  // src/effect/client.ts
19
19
  var exports_client3 = {};
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  make7
3
- } from "./service-contender-frbwqjmf.js";
3
+ } from "./service-timing-frbwqjmf.js";
4
4
  import {
5
5
  make3
6
- } from "./service-contender-qzsnm4q8.js";
6
+ } from "./service-timing-qzsnm4q8.js";
7
7
  import {
8
8
  makeRpc2
9
- } from "./service-contender-1y4a697q.js";
9
+ } from "./service-timing-1y4a697q.js";
10
10
  import {
11
11
  __export
12
- } from "./service-contender-9rqn6x4v.js";
12
+ } from "./service-timing-9rqn6x4v.js";
13
13
 
14
14
  // src/promise/client.ts
15
15
  var exports_client = {};
@@ -2,7 +2,7 @@ import {
2
2
  isFormNotFoundError2,
3
3
  isFormAlreadySettledError2,
4
4
  isPermissionNotFoundError2
5
- } from "./service-contender-vt9jbch8.js";
5
+ } from "./service-timing-vt9jbch8.js";
6
6
 
7
7
  // src/solid/data.ts
8
8
  import { Worktree } from "@opencode/schema/worktree";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./service-contender-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/shared-events.ts
6
6
  var exports_shared_events = {};
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ClientError2
3
- } from "./service-contender-js54wxgp.js";
3
+ } from "./service-timing-js54wxgp.js";
4
4
  import {
5
5
  __export
6
- } from "./service-contender-9rqn6x4v.js";
6
+ } from "./service-timing-9rqn6x4v.js";
7
7
 
8
8
  // src/promise/generated/client.ts
9
9
  var exports_client2 = {};
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./service-contender-9rqn6x4v.js";
3
+ } from "./service-timing-9rqn6x4v.js";
4
4
 
5
5
  // src/rpc-runtime.ts
6
6
  var exports_rpc_runtime = {};
@@ -3,10 +3,10 @@ import {
3
3
  readError2,
4
4
  event2,
5
5
  eventType2
6
- } from "./service-contender-t1xa31vm.js";
6
+ } from "./service-timing-t1xa31vm.js";
7
7
  import {
8
8
  __export
9
- } from "./service-contender-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/service-contender-vmytr4q8.js";
6
+ } from "./chunks/service-timing-vmytr4q8.js";
7
7
  export {
8
8
  ClientApi2 as ClientApi,
9
9
  effectOmitEndpoints2 as effectOmitEndpoints,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  make4,
3
3
  exports_client3
4
- } from "../chunks/service-contender-pfs23t85.js";
5
- import"../chunks/service-contender-6mptkzbc.js";
6
- import"../chunks/service-contender-5yf5aaev.js";
7
- import"../chunks/service-contender-7f0py9js.js";
8
- import"../chunks/service-contender-w1w809zr.js";
9
- import"../chunks/service-contender-frbwqjmf.js";
10
- import"../chunks/service-contender-t1xa31vm.js";
11
- import"../chunks/service-contender-vmytr4q8.js";
4
+ } from "../chunks/service-timing-70zgee0f.js";
5
+ import"../chunks/service-timing-6mptkzbc.js";
6
+ import"../chunks/service-timing-5yf5aaev.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/service-contender-7f0py9js.js";
3
+ } from "../../chunks/service-timing-7f0py9js.js";
4
4
  export {
5
5
  ClientError3 as ClientError
6
6
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  make5
3
- } from "../../chunks/service-contender-5yf5aaev.js";
4
- import"../../chunks/service-contender-7f0py9js.js";
5
- import"../../chunks/service-contender-vmytr4q8.js";
3
+ } from "../../chunks/service-timing-5yf5aaev.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/service-contender-6mptkzbc.js";
1
+ import"../../chunks/service-timing-6mptkzbc.js";
2
2
  import {
3
3
  exports_client4
4
- } from "../../chunks/service-contender-5yf5aaev.js";
4
+ } from "../../chunks/service-timing-5yf5aaev.js";
5
5
  import {
6
6
  ClientError3
7
- } from "../../chunks/service-contender-7f0py9js.js";
8
- import"../../chunks/service-contender-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/service-contender-7f0py9js.js";
4
- import"../chunks/service-contender-vmytr4q8.js";
5
- import"../chunks/service-contender-5yf5aaev.js";
6
- import"../chunks/service-contender-6mptkzbc.js";
7
- import"../chunks/service-contender-frbwqjmf.js";
8
- import"../chunks/service-contender-t1xa31vm.js";
9
- import"../chunks/service-contender-w1w809zr.js";
3
+ } from "../chunks/service-timing-7f0py9js.js";
4
+ import"../chunks/service-timing-vmytr4q8.js";
5
+ import"../chunks/service-timing-5yf5aaev.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/service-contender-pfs23t85.js";
12
+ } from "../chunks/service-timing-70zgee0f.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/service-contender-w1w809zr.js";
6
- import"../chunks/service-contender-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,
@@ -2,21 +2,21 @@ import {
2
2
  spawnServiceContender2,
3
3
  contenderFailure2,
4
4
  contenderFinished2
5
- } from "../chunks/service-contender-txckps9j.js";
5
+ } from "../chunks/service-timing-txckps9j.js";
6
6
  import {
7
7
  defaultEnsureTiming2,
8
8
  ensureTiming2
9
- } from "../chunks/service-contender-xgnj2w4v.js";
9
+ } from "../chunks/service-timing-xgnj2w4v.js";
10
10
  import {
11
11
  matchesVersion2
12
- } from "../chunks/service-contender-sxt88q69.js";
12
+ } from "../chunks/service-timing-sxt88q69.js";
13
13
  import {
14
14
  prepare2,
15
15
  environment2,
16
16
  complete2,
17
17
  clear2
18
- } from "../chunks/service-contender-m3fvvqgs.js";
19
- import"../chunks/service-contender-qav6mfdz.js";
18
+ } from "../chunks/service-timing-1cypz8nb.js";
19
+ import"../chunks/service-timing-qav6mfdz.js";
20
20
 
21
21
  // src/effect/service.ts
22
22
  import { Effect, FileSystem, Option, Schedule, Schema } from "effect";
@@ -133,10 +133,7 @@ var ensure = Effect.fn("service.ensure")(function* (options = {}) {
133
133
  });
134
134
  var stop = Effect.fn("service.stop")(function* (options = {}) {
135
135
  const info = yield* read(options.file);
136
- if (options.pty === "handoff" && info !== undefined)
137
- yield* Effect.tryPromise(() => prepare2(options.file ?? fallback(), info, defaultEnsureTiming2.requestTimeout));
138
- else
139
- yield* Effect.tryPromise(() => clear2(options.file ?? fallback()));
136
+ yield* Effect.tryPromise(() => options.pty === "handoff" && info !== undefined ? prepare2(options.file ?? fallback(), info, defaultEnsureTiming2.requestTimeout) : clear2(options.file ?? fallback())).pipe(Effect.catch((cause) => Effect.logWarning("Failed to prepare persistent terminals for replacement", cause)));
140
137
  if (info !== undefined)
141
138
  yield* terminate(info, options, defaultEnsureTiming2);
142
139
  });
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  make2,
3
3
  exports_client
4
- } from "../chunks/service-contender-cqfz2qxq.js";
5
- import"../chunks/service-contender-vyas3vgt.js";
6
- import"../chunks/service-contender-qzsnm4q8.js";
7
- import"../chunks/service-contender-js54wxgp.js";
8
- import"../chunks/service-contender-1y4a697q.js";
9
- import"../chunks/service-contender-vt9jbch8.js";
10
- import"../chunks/service-contender-frbwqjmf.js";
4
+ } from "../chunks/service-timing-9n602qx4.js";
5
+ import"../chunks/service-timing-1y4a697q.js";
6
+ import"../chunks/service-timing-vyas3vgt.js";
7
+ import"../chunks/service-timing-qzsnm4q8.js";
8
+ import"../chunks/service-timing-vt9jbch8.js";
9
+ import"../chunks/service-timing-js54wxgp.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/service-contender-js54wxgp.js";
3
+ } from "../../chunks/service-timing-js54wxgp.js";
4
4
  export {
5
5
  ClientError2 as ClientError
6
6
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  make3
3
- } from "../../chunks/service-contender-qzsnm4q8.js";
4
- import"../../chunks/service-contender-js54wxgp.js";
3
+ } from "../../chunks/service-timing-qzsnm4q8.js";
4
+ import"../../chunks/service-timing-js54wxgp.js";
5
5
  export {
6
6
  make3 as make
7
7
  };
@@ -1,10 +1,7 @@
1
- import"../../chunks/service-contender-vyas3vgt.js";
1
+ import"../../chunks/service-timing-vyas3vgt.js";
2
2
  import {
3
3
  exports_client2
4
- } from "../../chunks/service-contender-qzsnm4q8.js";
5
- import {
6
- ClientError2
7
- } from "../../chunks/service-contender-js54wxgp.js";
4
+ } from "../../chunks/service-timing-qzsnm4q8.js";
8
5
  import {
9
6
  isInvalidRequestError2,
10
7
  isUnauthorizedError2,
@@ -39,7 +36,10 @@ import {
39
36
  isShellNotFoundError2,
40
37
  isWorktreeError2,
41
38
  isVcsInitNotSupportedError2
42
- } from "../../chunks/service-contender-vt9jbch8.js";
39
+ } from "../../chunks/service-timing-vt9jbch8.js";
40
+ import {
41
+ ClientError2
42
+ } from "../../chunks/service-timing-js54wxgp.js";
43
43
  export {
44
44
  ClientError2 as ClientError,
45
45
  exports_client2 as OpenCode,
@@ -32,7 +32,7 @@ import {
32
32
  isShellNotFoundError2,
33
33
  isWorktreeError2,
34
34
  isVcsInitNotSupportedError2
35
- } from "../../chunks/service-contender-vt9jbch8.js";
35
+ } from "../../chunks/service-timing-vt9jbch8.js";
36
36
  export {
37
37
  isAgentNotFoundError2 as isAgentNotFoundError,
38
38
  isCommandExecutionError2 as isCommandExecutionError,
@@ -1,13 +1,10 @@
1
- import"../chunks/service-contender-m2eywc8w.js";
1
+ import"../chunks/service-timing-m2eywc8w.js";
2
2
  import {
3
3
  exports_client
4
- } from "../chunks/service-contender-cqfz2qxq.js";
5
- import"../chunks/service-contender-vyas3vgt.js";
6
- import"../chunks/service-contender-qzsnm4q8.js";
7
- import {
8
- ClientError2
9
- } from "../chunks/service-contender-js54wxgp.js";
10
- import"../chunks/service-contender-1y4a697q.js";
4
+ } from "../chunks/service-timing-9n602qx4.js";
5
+ import"../chunks/service-timing-1y4a697q.js";
6
+ import"../chunks/service-timing-vyas3vgt.js";
7
+ import"../chunks/service-timing-qzsnm4q8.js";
11
8
  import {
12
9
  isInvalidRequestError2,
13
10
  isUnauthorizedError2,
@@ -42,8 +39,11 @@ import {
42
39
  isShellNotFoundError2,
43
40
  isWorktreeError2,
44
41
  isVcsInitNotSupportedError2
45
- } from "../chunks/service-contender-vt9jbch8.js";
46
- import"../chunks/service-contender-frbwqjmf.js";
42
+ } from "../chunks/service-timing-vt9jbch8.js";
43
+ import {
44
+ ClientError2
45
+ } from "../chunks/service-timing-js54wxgp.js";
46
+ import"../chunks/service-timing-frbwqjmf.js";
47
47
  export {
48
48
  ClientError2 as ClientError,
49
49
  exports_client as OpenCode,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  makeRpc2
3
- } from "../chunks/service-contender-1y4a697q.js";
4
- import"../chunks/service-contender-vt9jbch8.js";
3
+ } from "../chunks/service-timing-1y4a697q.js";
4
+ import"../chunks/service-timing-vt9jbch8.js";
5
5
  export {
6
6
  makeRpc2 as makeRpc
7
7
  };
@@ -2,21 +2,21 @@ import {
2
2
  spawnServiceContender2,
3
3
  contenderFailure2,
4
4
  contenderFinished2
5
- } from "../chunks/service-contender-txckps9j.js";
5
+ } from "../chunks/service-timing-txckps9j.js";
6
6
  import {
7
7
  defaultEnsureTiming2,
8
8
  ensureTiming2
9
- } from "../chunks/service-contender-xgnj2w4v.js";
9
+ } from "../chunks/service-timing-xgnj2w4v.js";
10
10
  import {
11
11
  matchesVersion2
12
- } from "../chunks/service-contender-sxt88q69.js";
12
+ } from "../chunks/service-timing-sxt88q69.js";
13
13
  import {
14
14
  prepare2,
15
15
  environment2,
16
16
  complete2,
17
17
  clear2
18
- } from "../chunks/service-contender-m3fvvqgs.js";
19
- import"../chunks/service-contender-qav6mfdz.js";
18
+ } from "../chunks/service-timing-1cypz8nb.js";
19
+ import"../chunks/service-timing-qav6mfdz.js";
20
20
 
21
21
  // src/promise/service.ts
22
22
  import { readFile, rm } from "node:fs/promises";
@@ -123,10 +123,7 @@ async function ensure(options = {}) {
123
123
  }
124
124
  async function stop(options = {}) {
125
125
  const info = await read(options.file);
126
- if (options.pty === "handoff" && info !== undefined)
127
- await prepare2(options.file ?? fallback(), info, defaultEnsureTiming2.requestTimeout);
128
- else
129
- await clear2(options.file ?? fallback());
126
+ await (options.pty === "handoff" && info !== undefined ? prepare2(options.file ?? fallback(), info, defaultEnsureTiming2.requestTimeout) : clear2(options.file ?? fallback())).catch((cause) => console.warn("Failed to prepare persistent terminals for replacement", cause));
130
127
  if (info !== undefined)
131
128
  await terminate(info, options, defaultEnsureTiming2);
132
129
  }
@@ -1,6 +1,9 @@
1
1
  export * as PtyHandoff from "./pty-handoff.js";
2
2
  import type { Info } from "./service.js";
3
- /** Publish the ticket before stopping its owner so every replacement contender can adopt it. */
3
+ /**
4
+ * Publish the ticket before stopping its owner so every replacement contender can adopt it.
5
+ * Never throws: terminals are best-effort, so any failure replaces the service without a handoff.
6
+ */
4
7
  export declare function prepare(file: string, info: Info, timeout: number): Promise<void>;
5
8
  export declare function environment(file: string, env?: Readonly<Record<string, string>>): Promise<{
6
9
  OPENCODE_PTY_HANDOFF: string | undefined;
@@ -4,7 +4,7 @@ import {
4
4
  complete2,
5
5
  clear2,
6
6
  exports_pty_handoff
7
- } from "./chunks/service-contender-m3fvvqgs.js";
7
+ } from "./chunks/service-timing-1cypz8nb.js";
8
8
  export {
9
9
  exports_pty_handoff as PtyHandoff,
10
10
  clear2 as clear,
@@ -4,7 +4,7 @@ import {
4
4
  event2,
5
5
  eventType2,
6
6
  exports_rpc_runtime
7
- } from "./chunks/service-contender-t1xa31vm.js";
7
+ } from "./chunks/service-timing-t1xa31vm.js";
8
8
  export {
9
9
  exports_rpc_runtime as RpcRuntime,
10
10
  event2 as event,
@@ -2,7 +2,7 @@ import {
2
2
  spawnServiceContender2,
3
3
  contenderFailure2,
4
4
  contenderFinished2
5
- } from "./chunks/service-contender-txckps9j.js";
5
+ } from "./chunks/service-timing-txckps9j.js";
6
6
  export {
7
7
  contenderFailure2 as contenderFailure,
8
8
  contenderFinished2 as contenderFinished,
@@ -2,7 +2,7 @@ import {
2
2
  defaultEnsureTiming2,
3
3
  ensureTiming2,
4
4
  withEnsureTiming2
5
- } from "./chunks/service-contender-xgnj2w4v.js";
5
+ } from "./chunks/service-timing-xgnj2w4v.js";
6
6
  export {
7
7
  defaultEnsureTiming2 as defaultEnsureTiming,
8
8
  ensureTiming2 as ensureTiming,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  matchesVersion2
3
- } from "./chunks/service-contender-sxt88q69.js";
3
+ } from "./chunks/service-timing-sxt88q69.js";
4
4
  export {
5
5
  matchesVersion2 as matchesVersion
6
6
  };
package/dist/service.js CHANGED
@@ -1 +1 @@
1
- import"./chunks/service-contender-qav6mfdz.js";
1
+ import"./chunks/service-timing-qav6mfdz.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  make7,
3
3
  exports_shared_events
4
- } from "./chunks/service-contender-frbwqjmf.js";
4
+ } from "./chunks/service-timing-frbwqjmf.js";
5
5
  export {
6
6
  exports_shared_events as SharedEvents,
7
7
  make7 as make
@@ -2,7 +2,7 @@ import {
2
2
  defaultIdleTimeout2,
3
3
  foregroundIdleThreshold2,
4
4
  createClientConnection2
5
- } from "../chunks/service-contender-ydhz1zrh.js";
5
+ } from "../chunks/service-timing-ydhz1zrh.js";
6
6
  export {
7
7
  createClientConnection2 as createClientConnection,
8
8
  defaultIdleTimeout2 as defaultIdleTimeout,
@@ -2,15 +2,15 @@ import {
2
2
  settleMs2,
3
3
  locationKey2,
4
4
  createData2
5
- } from "../chunks/service-contender-e5ea35j7.js";
6
- import"../chunks/service-contender-m2eywc8w.js";
7
- import"../chunks/service-contender-cqfz2qxq.js";
8
- import"../chunks/service-contender-vyas3vgt.js";
9
- import"../chunks/service-contender-qzsnm4q8.js";
10
- import"../chunks/service-contender-js54wxgp.js";
11
- import"../chunks/service-contender-1y4a697q.js";
12
- import"../chunks/service-contender-vt9jbch8.js";
13
- import"../chunks/service-contender-frbwqjmf.js";
5
+ } from "../chunks/service-timing-e5ea35j7.js";
6
+ import"../chunks/service-timing-m2eywc8w.js";
7
+ import"../chunks/service-timing-9n602qx4.js";
8
+ import"../chunks/service-timing-1y4a697q.js";
9
+ import"../chunks/service-timing-vyas3vgt.js";
10
+ import"../chunks/service-timing-qzsnm4q8.js";
11
+ import"../chunks/service-timing-vt9jbch8.js";
12
+ import"../chunks/service-timing-js54wxgp.js";
13
+ import"../chunks/service-timing-frbwqjmf.js";
14
14
  export {
15
15
  createData2 as createData,
16
16
  locationKey2 as locationKey,
@@ -1,25 +1,25 @@
1
- import"../chunks/service-contender-js54wxgp.js";
2
- import"../chunks/service-contender-qzsnm4q8.js";
3
- import"../chunks/service-contender-vt9jbch8.js";
4
- import"../chunks/service-contender-vyas3vgt.js";
5
- import"../chunks/service-contender-frbwqjmf.js";
6
- import"../chunks/service-contender-1y4a697q.js";
7
- import"../chunks/service-contender-cqfz2qxq.js";
8
- import"../chunks/service-contender-m2eywc8w.js";
1
+ import"../chunks/service-timing-js54wxgp.js";
2
+ import"../chunks/service-timing-qzsnm4q8.js";
3
+ import"../chunks/service-timing-vt9jbch8.js";
4
+ import"../chunks/service-timing-vyas3vgt.js";
5
+ import"../chunks/service-timing-frbwqjmf.js";
6
+ import"../chunks/service-timing-1y4a697q.js";
7
+ import"../chunks/service-timing-9n602qx4.js";
8
+ import"../chunks/service-timing-m2eywc8w.js";
9
9
  import {
10
10
  settleMs2,
11
11
  locationKey2,
12
12
  createData2
13
- } from "../chunks/service-contender-e5ea35j7.js";
13
+ } from "../chunks/service-timing-e5ea35j7.js";
14
14
  import {
15
15
  defaultIdleTimeout2,
16
16
  foregroundIdleThreshold2,
17
17
  createClientConnection2
18
- } from "../chunks/service-contender-ydhz1zrh.js";
18
+ } from "../chunks/service-timing-ydhz1zrh.js";
19
19
  import {
20
20
  createPtyClient2,
21
21
  createPersistentPtyClient2
22
- } from "../chunks/service-contender-gne7h7mq.js";
22
+ } from "../chunks/service-timing-gne7h7mq.js";
23
23
  export {
24
24
  createClientConnection2 as createClientConnection,
25
25
  createData2 as createData,
package/dist/solid/pty.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createPtyClient2,
3
3
  createPersistentPtyClient2
4
- } from "../chunks/service-contender-gne7h7mq.js";
4
+ } from "../chunks/service-timing-gne7h7mq.js";
5
5
  export {
6
6
  createPersistentPtyClient2 as createPersistentPtyClient,
7
7
  createPtyClient2 as createPtyClient
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode/client",
4
- "version": "0.0.0-dev-20488",
4
+ "version": "0.0.0-dev-20495",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -57,8 +57,8 @@
57
57
  "typecheck": "tsgo --noEmit"
58
58
  },
59
59
  "dependencies": {
60
- "@opencode/schema": "0.0.0-dev-20488",
61
- "@opencode/protocol": "0.0.0-dev-20488"
60
+ "@opencode/schema": "0.0.0-dev-20495",
61
+ "@opencode/protocol": "0.0.0-dev-20495"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "effect": "4.0.0-rc.112",
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "devDependencies": {
76
76
  "@effect/platform-node": "4.0.0-rc.112",
77
- "@opencode/httpapi-codegen": "0.0.0-dev-20488",
77
+ "@opencode/httpapi-codegen": "0.0.0-dev-20495",
78
78
  "@tsconfig/bun": "1.0.9",
79
79
  "@types/bun": "1.4.0",
80
80
  "@typescript/native-preview": "7.0.0-dev.20251207.1",