@opencode/client 0.0.0-reserved → 2.0.1
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.
- package/README.md +24 -2
- package/dist/contract.d.ts +1 -0
- package/dist/contract.js +1 -0
- package/dist/effect/api/api.d.ts +2698 -0
- package/dist/effect/api/api.js +0 -0
- package/dist/effect/api.d.ts +8 -0
- package/dist/effect/api.js +0 -0
- package/dist/effect/client.d.ts +2464 -0
- package/dist/effect/client.js +29 -0
- package/dist/effect/generated/client-error.d.ts +7 -0
- package/dist/effect/generated/client-error.js +5 -0
- package/dist/effect/generated/client.d.ts +2463 -0
- package/dist/effect/generated/client.js +603 -0
- package/dist/effect/generated/index.d.ts +2 -0
- package/dist/effect/generated/index.js +2 -0
- package/dist/effect/index.d.ts +35 -0
- package/dist/effect/index.js +30 -0
- package/dist/effect/rpc.d.ts +20 -0
- package/dist/effect/rpc.js +49 -0
- package/dist/effect/service.d.ts +78 -0
- package/dist/effect/service.js +259 -0
- package/dist/promise/api.d.ts +24 -0
- package/dist/promise/api.js +0 -0
- package/dist/promise/client.d.ts +257 -0
- package/dist/promise/client.js +13 -0
- package/dist/promise/generated/client-error.d.ts +6 -0
- package/dist/promise/generated/client-error.js +8 -0
- package/dist/promise/generated/client.d.ts +264 -0
- package/dist/promise/generated/client.js +1426 -0
- package/dist/promise/generated/index.d.ts +3 -0
- package/dist/promise/generated/index.js +3 -0
- package/dist/promise/generated/types.d.ts +8777 -0
- package/dist/promise/generated/types.js +30 -0
- package/dist/promise/index.d.ts +6 -0
- package/dist/promise/index.js +2 -0
- package/dist/promise/rpc.d.ts +32 -0
- package/dist/promise/rpc.js +86 -0
- package/dist/promise/service.d.ts +26 -0
- package/dist/promise/service.js +247 -0
- package/dist/pty-handoff.d.ts +9 -0
- package/dist/pty-handoff.js +121 -0
- package/dist/rpc-runtime.d.ts +21 -0
- package/dist/rpc-runtime.js +32 -0
- package/dist/service-contender.d.ts +11 -0
- package/dist/service-contender.js +56 -0
- package/dist/service-timing.d.ts +13 -0
- package/dist/service-timing.js +19 -0
- package/dist/service-version.d.ts +2 -0
- package/dist/service-version.js +9 -0
- package/dist/service.d.ts +52 -0
- package/dist/service.js +0 -0
- package/dist/shared-events.d.ts +11 -0
- package/dist/shared-events.js +137 -0
- package/dist/solid/connection.d.ts +37 -0
- package/dist/solid/connection.js +246 -0
- package/dist/solid/data.d.ts +201 -0
- package/dist/solid/data.js +1731 -0
- package/dist/solid/index.d.ts +3 -0
- package/dist/solid/index.js +3 -0
- package/dist/solid/pty.d.ts +22 -0
- package/dist/solid/pty.js +43 -0
- package/package.json +76 -6
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * as OpenCode from "./client.js";
|
|
2
|
+
import { Cause, Context, Effect, Stream } from "effect";
|
|
3
|
+
import { HttpClient, HttpClientRequest } from "effect/unstable/http";
|
|
4
|
+
import { SharedEvents } from "../shared-events.js";
|
|
5
|
+
import { ClientError, OpenCode } from "./generated/index.js";
|
|
6
|
+
import { RpcClientRuntime } from "./rpc.js";
|
|
7
|
+
const CurrentHeaders = Context.Reference("@opencode/client/effect/rpc/headers", {
|
|
8
|
+
defaultValue: () => undefined,
|
|
9
|
+
});
|
|
10
|
+
export const make = Effect.fn("OpenCode.make")(function* (options) {
|
|
11
|
+
const httpClient = yield* HttpClient.HttpClient;
|
|
12
|
+
const raw = yield* OpenCode.make(options).pipe(Effect.provideService(HttpClient.HttpClient, HttpClient.mapRequestEffect(httpClient, (request) => Effect.map(CurrentHeaders, (headers) => headers ? HttpClientRequest.setHeaders(request, new Headers(headers)) : request))));
|
|
13
|
+
const context = yield* Effect.context();
|
|
14
|
+
const native = raw.event.subscribe();
|
|
15
|
+
// Async iterators throw a squashed cause; retain the native typed failures and defects intact.
|
|
16
|
+
class EventFailure {
|
|
17
|
+
cause;
|
|
18
|
+
constructor(cause) {
|
|
19
|
+
this.cause = cause;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const shared = SharedEvents.make((signal) => Stream.toAsyncIterableWith(native.pipe(Stream.interruptWhen(RpcClientRuntime.aborted(signal)), Stream.catchCause((cause) => Stream.fail(new EventFailure(cause)))), context));
|
|
23
|
+
const subscribe = () => Stream.fromAsyncIterable(shared.subscribe(), (error) => error).pipe(Stream.catch((error) => Stream.failCause(error instanceof EventFailure ? error.cause : Cause.fail(new ClientError({ cause: error })))));
|
|
24
|
+
return {
|
|
25
|
+
...raw,
|
|
26
|
+
event: { ...raw.event, subscribe },
|
|
27
|
+
rpc: Object.assign(RpcClientRuntime.make((input, options) => raw.rpc.call(input).pipe(Effect.provideService(CurrentHeaders, options?.headers)), subscribe), raw.rpc),
|
|
28
|
+
};
|
|
29
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const ClientError_base: Schema.Class<ClientError, Schema.TaggedStruct<"ClientError", {
|
|
3
|
+
readonly cause: Schema.Defect;
|
|
4
|
+
}>, import("effect/Cause").YieldableError>;
|
|
5
|
+
export declare class ClientError extends ClientError_base {
|
|
6
|
+
}
|
|
7
|
+
export {};
|