@opencode/client 2.0.8 → 2.0.10

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 (56) hide show
  1. package/dist/chunks/service-contender-1tbj6z39.js +81 -0
  2. package/dist/chunks/service-contender-4tveyqeh.js +34 -0
  3. package/dist/chunks/service-contender-6mptkzbc.js +0 -0
  4. package/dist/chunks/service-contender-7p1wryha.js +30 -0
  5. package/dist/chunks/service-contender-9rqn6x4v.js +16 -0
  6. package/dist/chunks/service-contender-atpwm825.js +1638 -0
  7. package/dist/chunks/service-contender-baxqtw51.js +52 -0
  8. package/dist/chunks/service-contender-frbwqjmf.js +145 -0
  9. package/dist/chunks/service-contender-hv5bnxzg.js +594 -0
  10. package/dist/chunks/service-contender-m2eywc8w.js +0 -0
  11. package/dist/chunks/service-contender-n3c99vt5.js +11 -0
  12. package/dist/chunks/service-contender-pgjv2t62.js +112 -0
  13. package/dist/chunks/service-contender-qav6mfdz.js +0 -0
  14. package/dist/chunks/service-contender-radw39tv.js +1402 -0
  15. package/dist/chunks/service-contender-sxt88q69.js +12 -0
  16. package/dist/chunks/service-contender-t1xa31vm.js +39 -0
  17. package/dist/chunks/service-contender-txckps9j.js +57 -0
  18. package/dist/chunks/service-contender-vmytr4q8.js +4 -0
  19. package/dist/chunks/service-contender-vyas3vgt.js +0 -0
  20. package/dist/chunks/service-contender-xgnj2w4v.js +20 -0
  21. package/dist/chunks/service-contender-y2etg5bs.js +9 -0
  22. package/dist/chunks/service-contender-ydhz1zrh.js +238 -0
  23. package/dist/chunks/service-contender-yepdgb80.js +44 -0
  24. package/dist/chunks/service-contender-z6qdwcsf.js +62 -0
  25. package/dist/contract.js +12 -1
  26. package/dist/effect/client.d.ts +4 -4
  27. package/dist/effect/client.js +15 -29
  28. package/dist/effect/generated/client-error.js +6 -5
  29. package/dist/effect/generated/client.d.ts +4 -4
  30. package/dist/effect/generated/client.js +8 -582
  31. package/dist/effect/generated/index.js +12 -2
  32. package/dist/effect/index.js +75 -30
  33. package/dist/effect/rpc.js +11 -49
  34. package/dist/effect/service.js +238 -245
  35. package/dist/promise/client.js +14 -13
  36. package/dist/promise/generated/client-error.js +6 -8
  37. package/dist/promise/generated/client.js +7 -1396
  38. package/dist/promise/generated/index.js +75 -3
  39. package/dist/promise/generated/types.d.ts +90 -88
  40. package/dist/promise/generated/types.js +66 -34
  41. package/dist/promise/index.js +79 -2
  42. package/dist/promise/rpc.js +7 -86
  43. package/dist/promise/service.js +230 -227
  44. package/dist/pty-handoff.js +14 -121
  45. package/dist/rpc-runtime.js +14 -32
  46. package/dist/service-contender.js +10 -56
  47. package/dist/service-timing.d.ts +0 -1
  48. package/dist/service-timing.js +9 -18
  49. package/dist/service-version.js +6 -9
  50. package/dist/service.js +1 -0
  51. package/dist/shared-events.js +8 -137
  52. package/dist/solid/connection.js +10 -246
  53. package/dist/solid/data.js +18 -1774
  54. package/dist/solid/index.js +32 -3
  55. package/dist/solid/pty.js +8 -41
  56. package/package.json +4 -4
@@ -0,0 +1,52 @@
1
+ import {
2
+ make7
3
+ } from "./service-contender-frbwqjmf.js";
4
+ import {
5
+ ClientError2
6
+ } from "./service-contender-y2etg5bs.js";
7
+ import {
8
+ make3
9
+ } from "./service-contender-hv5bnxzg.js";
10
+ import {
11
+ make4,
12
+ aborted2
13
+ } from "./service-contender-z6qdwcsf.js";
14
+ import {
15
+ __export
16
+ } from "./service-contender-9rqn6x4v.js";
17
+
18
+ // src/effect/client.ts
19
+ var exports_client = {};
20
+ __export(exports_client, {
21
+ OpenCode: () => exports_client,
22
+ make: () => make2
23
+ });
24
+ import { Cause, Context, Effect, Stream } from "effect";
25
+ import { HttpClient, HttpClientRequest } from "effect/unstable/http";
26
+ var CurrentHeaders = Context.Reference("@opencode/client/effect/rpc/headers", {
27
+ defaultValue: () => {
28
+ return;
29
+ }
30
+ });
31
+ var make2 = Effect.fn("OpenCode.make")(function* (options) {
32
+ const httpClient = yield* HttpClient.HttpClient;
33
+ const raw = yield* make3(options).pipe(Effect.provideService(HttpClient.HttpClient, HttpClient.mapRequestEffect(httpClient, (request) => Effect.map(CurrentHeaders, (headers) => headers ? HttpClientRequest.setHeaders(request, new Headers(headers)) : request))));
34
+ const context = yield* Effect.context();
35
+ const native = raw.event.subscribe();
36
+
37
+ class EventFailure {
38
+ cause;
39
+ constructor(cause) {
40
+ this.cause = cause;
41
+ }
42
+ }
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 })))));
45
+ return {
46
+ ...raw,
47
+ event: { ...raw.event, subscribe },
48
+ rpc: Object.assign(make4((input, options) => raw.rpc.call(input).pipe(Effect.provideService(CurrentHeaders, options?.headers)), subscribe), raw.rpc)
49
+ };
50
+ });
51
+
52
+ export { make2, exports_client };
@@ -0,0 +1,145 @@
1
+ import {
2
+ __export
3
+ } from "./service-contender-9rqn6x4v.js";
4
+
5
+ // src/shared-events.ts
6
+ var exports_shared_events = {};
7
+ __export(exports_shared_events, {
8
+ SharedEvents: () => exports_shared_events,
9
+ make: () => make7
10
+ });
11
+ function make7(connect) {
12
+ let current;
13
+ const capacity = 4096;
14
+ function stop(connection) {
15
+ connection.connected = undefined;
16
+ connection.controller.abort();
17
+ if (current === connection)
18
+ current = undefined;
19
+ }
20
+ async function run(connection) {
21
+ let iterator;
22
+ let completion = {};
23
+ try {
24
+ if (connection.controller.signal.aborted)
25
+ return;
26
+ iterator = connect(connection.controller.signal, () => {
27
+ connection.subscribers.forEach((subscriber) => subscriber.activity?.());
28
+ })[Symbol.asyncIterator]();
29
+ while (!connection.controller.signal.aborted) {
30
+ const item = await iterator.next();
31
+ if (item.done || connection.controller.signal.aborted)
32
+ break;
33
+ if (item.value.type === "server.connected")
34
+ connection.connected = item.value;
35
+ connection.subscribers.forEach((subscriber) => subscriber.push(item.value));
36
+ }
37
+ } catch (error) {
38
+ completion = { error };
39
+ } finally {
40
+ stop(connection);
41
+ try {
42
+ await iterator?.return?.();
43
+ } catch (error) {
44
+ if (!("error" in completion))
45
+ completion = { error };
46
+ }
47
+ connection.subscribers.forEach((subscriber) => subscriber.finish(completion));
48
+ }
49
+ }
50
+ return {
51
+ subscribe(options) {
52
+ return {
53
+ [Symbol.asyncIterator]() {
54
+ const pending = [];
55
+ const queued = [];
56
+ let started = false;
57
+ let completion;
58
+ let connection;
59
+ function finish(result, discard = true) {
60
+ completion = result;
61
+ if (discard)
62
+ queued.length = 0;
63
+ options?.signal?.removeEventListener("abort", abort);
64
+ if (connection?.subscribers.delete(subscriber) && !connection.subscribers.size)
65
+ stop(connection);
66
+ pending.splice(0).forEach((request) => {
67
+ if ("error" in result)
68
+ request.reject(result.error);
69
+ else
70
+ request.resolve({ done: true, value: undefined });
71
+ });
72
+ }
73
+ function abort() {
74
+ finish({});
75
+ }
76
+ const subscriber = {
77
+ activity: options?.onActivity,
78
+ finish(result) {
79
+ finish(result, false);
80
+ },
81
+ push(value) {
82
+ if (completion)
83
+ return;
84
+ const request = pending.shift();
85
+ if (request) {
86
+ request.resolve({ done: false, value });
87
+ return;
88
+ }
89
+ if (queued.length === capacity) {
90
+ finish({ error: new Error(`Event subscriber exceeded its ${capacity}-event capacity`) });
91
+ return;
92
+ }
93
+ queued.push(value);
94
+ }
95
+ };
96
+ function start() {
97
+ if (completion)
98
+ return;
99
+ const fresh = !current;
100
+ connection = current ?? {
101
+ controller: new AbortController,
102
+ subscribers: new Set
103
+ };
104
+ current = connection;
105
+ connection.subscribers.add(subscriber);
106
+ if (connection.connected)
107
+ subscriber.push(connection.connected);
108
+ if (fresh)
109
+ run(connection);
110
+ }
111
+ return {
112
+ next() {
113
+ const value = queued.shift();
114
+ if (value)
115
+ return Promise.resolve({ done: false, value });
116
+ if (completion) {
117
+ if ("error" in completion)
118
+ return Promise.reject(completion.error);
119
+ return Promise.resolve({ done: true, value: undefined });
120
+ }
121
+ if (options?.signal?.aborted) {
122
+ abort();
123
+ return Promise.resolve({ done: true, value: undefined });
124
+ }
125
+ const request = Promise.withResolvers();
126
+ pending.push(request);
127
+ if (!started) {
128
+ started = true;
129
+ options?.signal?.addEventListener("abort", abort, { once: true });
130
+ start();
131
+ }
132
+ return request.promise;
133
+ },
134
+ return() {
135
+ finish({});
136
+ return Promise.resolve({ done: true, value: undefined });
137
+ }
138
+ };
139
+ }
140
+ };
141
+ }
142
+ };
143
+ }
144
+
145
+ export { make7, exports_shared_events };