authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-05 01:38:51-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-05 01:38:51-07:00
log62e4ae400555e62a42d5cb401d744ba6dd0b401b
tree2470a90d38de9de3824f52bb157589befdfa22ce
parenta98dad77e15ef37d7fd6fc21e73434527a1fb21d
signature Signed by PGP key B5690EEEBB952194

refactor(codex): keep app-server client internals private (#10035)


3 files changed, 10 insertions(+), 16 deletions(-)

packages/effect-codex-app-server/src/_internal/shared.ts+1-1
...@@ -5,7 +5,7 @@ import * as CodexError from "../errors.ts";...@@ -5,7 +5,7 @@ import * as CodexError from "../errors.ts";
55
6export const JsonRpcId = Schema.Union([Schema.Number, Schema.String]);6export const JsonRpcId = Schema.Union([Schema.Number, Schema.String]);
77
8export const JsonRpcError = Schema.Struct({8const JsonRpcError = Schema.Struct({
9 code: Schema.Number,9 code: Schema.Number,
10 message: Schema.String,10 message: Schema.String,
11 data: Schema.optional(Schema.Unknown),11 data: Schema.optional(Schema.Unknown),
packages/effect-codex-app-server/src/client.ts+1-6
...@@ -84,7 +84,7 @@ type ServerNotificationHandler = (...@@ -84,7 +84,7 @@ type ServerNotificationHandler = (
84 payload: unknown,84 payload: unknown,
85) => Effect.Effect<void, CodexError.CodexAppServerError>;85) => Effect.Effect<void, CodexError.CodexAppServerError>;
8686
87export const make = Effect.fn("effect-codex-app-server/CodexAppServerClient.make")(function* (87const make = Effect.fn("effect-codex-app-server/CodexAppServerClient.make")(function* (
88 stdio: Stdio.Stdio,88 stdio: Stdio.Stdio,
89 options: CodexAppServerClientOptions = {},89 options: CodexAppServerClientOptions = {},
90 terminationError?: Effect.Effect<CodexError.CodexAppServerError>,90 terminationError?: Effect.Effect<CodexError.CodexAppServerError>,
...@@ -250,11 +250,6 @@ export const make = Effect.fn("effect-codex-app-server/CodexAppServerClient.make...@@ -250,11 +250,6 @@ export const make = Effect.fn("effect-codex-app-server/CodexAppServerClient.make
250 });250 });
251});251});
252252
253export const layer = (
254 stdio: Stdio.Stdio,
255 options: CodexAppServerClientOptions = {},
256): Layer.Layer<CodexAppServerClient> => Layer.effect(CodexAppServerClient, make(stdio, options));
257
258export const layerChildProcess = (253export const layerChildProcess = (
259 handle: ChildProcessSpawner.ChildProcessHandle,254 handle: ChildProcessSpawner.ChildProcessHandle,
260 options: CodexAppServerClientOptions = {},255 options: CodexAppServerClientOptions = {},
packages/effect-codex-app-server/src/errors.ts+8-9
...@@ -1,15 +1,15 @@...@@ -1,15 +1,15 @@
1import * as Schema from "effect/Schema";1import * as Schema from "effect/Schema";
2import type * as SchemaIssue from "effect/SchemaIssue";2import type * as SchemaIssue from "effect/SchemaIssue";
33
4export const CodexAppServerRequestOperation = Schema.Literals([4const CodexAppServerRequestOperation = Schema.Literals([
5 "decode-payload",5 "decode-payload",
6 "encode-payload",6 "encode-payload",
7 "handle-request",7 "handle-request",
8 "receive-response",8 "receive-response",
9]);9]);
10export type CodexAppServerRequestOperation = typeof CodexAppServerRequestOperation.Type;10type CodexAppServerRequestOperation = typeof CodexAppServerRequestOperation.Type;
1111
12export const CodexAppServerSchemaIssueKind = Schema.Literals([12const CodexAppServerSchemaIssueKind = Schema.Literals([
13 "Filter",13 "Filter",
14 "Encoding",14 "Encoding",
15 "Pointer",15 "Pointer",
...@@ -22,9 +22,9 @@ export const CodexAppServerSchemaIssueKind = Schema.Literals([...@@ -22,9 +22,9 @@ export const CodexAppServerSchemaIssueKind = Schema.Literals([
22 "Forbidden",22 "Forbidden",
23 "OneOf",23 "OneOf",
24]);24]);
25export type CodexAppServerSchemaIssueKind = typeof CodexAppServerSchemaIssueKind.Type;25type CodexAppServerSchemaIssueKind = typeof CodexAppServerSchemaIssueKind.Type;
2626
27export interface CodexAppServerSchemaIssueDiagnostics {27interface CodexAppServerSchemaIssueDiagnostics {
28 readonly issueCount: number;28 readonly issueCount: number;
29 readonly issueKinds: ReadonlyArray<CodexAppServerSchemaIssueKind>;29 readonly issueKinds: ReadonlyArray<CodexAppServerSchemaIssueKind>;
30 readonly maximumPathDepth: number;30 readonly maximumPathDepth: number;
...@@ -62,7 +62,7 @@ const schemaIssueDiagnostics = (root: SchemaIssue.Issue): CodexAppServerSchemaIs...@@ -62,7 +62,7 @@ const schemaIssueDiagnostics = (root: SchemaIssue.Issue): CodexAppServerSchemaIs
62 };62 };
63};63};
6464
65export const CodexAppServerPayloadKind = Schema.Literals([65const CodexAppServerPayloadKind = Schema.Literals([
66 "null",66 "null",
67 "array",67 "array",
68 "string",68 "string",
...@@ -74,7 +74,7 @@ export const CodexAppServerPayloadKind = Schema.Literals([...@@ -74,7 +74,7 @@ export const CodexAppServerPayloadKind = Schema.Literals([
74 "function",74 "function",
75 "undefined",75 "undefined",
76]);76]);
77export type CodexAppServerPayloadKind = typeof CodexAppServerPayloadKind.Type;77type CodexAppServerPayloadKind = typeof CodexAppServerPayloadKind.Type;
7878
79const payloadKind = (payload: unknown): CodexAppServerPayloadKind => {79const payloadKind = (payload: unknown): CodexAppServerPayloadKind => {
80 if (payload === null) return "null";80 if (payload === null) return "null";
...@@ -84,8 +84,7 @@ const payloadKind = (payload: unknown): CodexAppServerPayloadKind => {...@@ -84,8 +84,7 @@ const payloadKind = (payload: unknown): CodexAppServerPayloadKind => {
8484
85const protocolMessageFields = ["id", "method", "params", "result", "error"] as const;85const protocolMessageFields = ["id", "method", "params", "result", "error"] as const;
8686
87export const CodexAppServerProtocolMessageField = Schema.Literals(protocolMessageFields);87const CodexAppServerProtocolMessageField = Schema.Literals(protocolMessageFields);
88export type CodexAppServerProtocolMessageField = typeof CodexAppServerProtocolMessageField.Type;
8988
90export interface CodexAppServerRequestDiagnostics {89export interface CodexAppServerRequestDiagnostics {
91 readonly method?: string;90 readonly method?: string;