@usine/agents 0.3.0 → 0.5.0

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 (114) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +100 -30
  3. package/dist/child-host/child-host.d.ts +90 -0
  4. package/dist/child-host/child-host.d.ts.map +1 -0
  5. package/dist/child-host/child-host.js +119 -0
  6. package/dist/child-host/child-host.js.map +1 -0
  7. package/dist/child-host/command.d.ts +22 -0
  8. package/dist/child-host/command.d.ts.map +1 -0
  9. package/dist/child-host/command.js +43 -0
  10. package/dist/child-host/command.js.map +1 -0
  11. package/dist/openai-prices.d.ts +8 -0
  12. package/dist/openai-prices.d.ts.map +1 -0
  13. package/dist/openai-prices.js +28 -0
  14. package/dist/openai-prices.js.map +1 -0
  15. package/dist/pi/authentication.d.ts +11 -2
  16. package/dist/pi/authentication.d.ts.map +1 -1
  17. package/dist/pi/authentication.js +15 -2
  18. package/dist/pi/authentication.js.map +1 -1
  19. package/dist/pi/children.d.ts +1 -4
  20. package/dist/pi/children.d.ts.map +1 -1
  21. package/dist/pi/children.js +1 -4
  22. package/dist/pi/children.js.map +1 -1
  23. package/dist/pi/claude/claude.d.ts +10 -0
  24. package/dist/pi/claude/claude.d.ts.map +1 -0
  25. package/dist/pi/claude/claude.js +610 -0
  26. package/dist/pi/claude/claude.js.map +1 -0
  27. package/dist/pi/claude/codec.d.ts +67 -0
  28. package/dist/pi/claude/codec.d.ts.map +1 -0
  29. package/dist/pi/claude/codec.js +140 -0
  30. package/dist/pi/claude/codec.js.map +1 -0
  31. package/dist/pi/{claude.d.ts → claude/sdk.d.ts} +11 -10
  32. package/dist/pi/claude/sdk.d.ts.map +1 -0
  33. package/dist/pi/claude/sdk.js +63 -0
  34. package/dist/pi/claude/sdk.js.map +1 -0
  35. package/dist/pi/codex/account.d.ts +11 -5
  36. package/dist/pi/codex/account.d.ts.map +1 -1
  37. package/dist/pi/codex/account.js +23 -6
  38. package/dist/pi/codex/account.js.map +1 -1
  39. package/dist/pi/codex/app-server.d.ts +19 -7
  40. package/dist/pi/codex/app-server.d.ts.map +1 -1
  41. package/dist/pi/codex/app-server.js +41 -36
  42. package/dist/pi/codex/app-server.js.map +1 -1
  43. package/dist/pi/codex/codec.d.ts +10 -84
  44. package/dist/pi/codex/codec.d.ts.map +1 -1
  45. package/dist/pi/codex/codec.js +18 -80
  46. package/dist/pi/codex/codec.js.map +1 -1
  47. package/dist/pi/codex/codex.d.ts +0 -1
  48. package/dist/pi/codex/codex.d.ts.map +1 -1
  49. package/dist/pi/codex/codex.js +89 -18
  50. package/dist/pi/codex/codex.js.map +1 -1
  51. package/dist/pi/conversation.d.ts +33 -12
  52. package/dist/pi/conversation.d.ts.map +1 -1
  53. package/dist/pi/conversation.js +58 -18
  54. package/dist/pi/conversation.js.map +1 -1
  55. package/dist/pi/pi.d.ts +1 -4
  56. package/dist/pi/pi.d.ts.map +1 -1
  57. package/dist/pi/pi.js +29 -175
  58. package/dist/pi/pi.js.map +1 -1
  59. package/dist/pi/sdk.d.ts +18 -15
  60. package/dist/pi/sdk.d.ts.map +1 -1
  61. package/dist/pi/sdk.js +45 -55
  62. package/dist/pi/sdk.js.map +1 -1
  63. package/dist/pi/session.d.ts +13 -14
  64. package/dist/pi/session.d.ts.map +1 -1
  65. package/dist/pi/session.js +63 -24
  66. package/dist/pi/session.js.map +1 -1
  67. package/dist/pi/turns.d.ts +7 -7
  68. package/dist/pi/turns.d.ts.map +1 -1
  69. package/dist/pi/turns.js +22 -9
  70. package/dist/pi/turns.js.map +1 -1
  71. package/dist/pi/usage.d.ts +36 -22
  72. package/dist/pi/usage.d.ts.map +1 -1
  73. package/dist/pi/usage.js +79 -33
  74. package/dist/pi/usage.js.map +1 -1
  75. package/dist/preflight/command.d.ts +16 -4
  76. package/dist/preflight/command.d.ts.map +1 -1
  77. package/dist/preflight/command.js +29 -27
  78. package/dist/preflight/command.js.map +1 -1
  79. package/dist/preflight/preflight.d.ts +19 -7
  80. package/dist/preflight/preflight.d.ts.map +1 -1
  81. package/dist/preflight/preflight.js +73 -32
  82. package/dist/preflight/preflight.js.map +1 -1
  83. package/dist/prompt.d.ts +12 -9
  84. package/dist/prompt.d.ts.map +1 -1
  85. package/dist/prompt.js +33 -4
  86. package/dist/prompt.js.map +1 -1
  87. package/dist/protocol/codex.d.ts +122 -7
  88. package/dist/protocol/codex.d.ts.map +1 -1
  89. package/dist/protocol/codex.js +109 -1
  90. package/dist/protocol/codex.js.map +1 -1
  91. package/dist/protocol/count.d.ts +4 -0
  92. package/dist/protocol/count.d.ts.map +1 -0
  93. package/dist/protocol/count.js +4 -0
  94. package/dist/protocol/count.js.map +1 -0
  95. package/dist/runtime.d.ts +110 -55
  96. package/dist/runtime.d.ts.map +1 -1
  97. package/dist/runtime.js +114 -27
  98. package/dist/runtime.js.map +1 -1
  99. package/package.json +35 -19
  100. package/dist/pi/claude.d.ts.map +0 -1
  101. package/dist/pi/claude.js +0 -302
  102. package/dist/pi/claude.js.map +0 -1
  103. package/dist/pi/live.d.ts +0 -4
  104. package/dist/pi/live.d.ts.map +0 -1
  105. package/dist/pi/live.js +0 -11
  106. package/dist/pi/live.js.map +0 -1
  107. package/dist/pi/subagents.d.ts +0 -29
  108. package/dist/pi/subagents.d.ts.map +0 -1
  109. package/dist/pi/subagents.js +0 -120
  110. package/dist/pi/subagents.js.map +0 -1
  111. package/dist/pi/thinking.d.ts +0 -8
  112. package/dist/pi/thinking.d.ts.map +0 -1
  113. package/dist/pi/thinking.js +0 -15
  114. package/dist/pi/thinking.js.map +0 -1
@@ -1,8 +1,9 @@
1
1
  import { Cause, Context, Deferred, Effect, Fiber, Layer, Option, Queue, Ref, Schema, Scope, Stream, } from "effect";
2
- import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
3
- import { homedir } from "node:os";
2
+ import { ChildProcessSpawner } from "effect/process";
3
+ import { childPidFile } from "../../child-host/child-host.js";
4
+ import { hostCommand } from "../../child-host/command.js";
4
5
  import { SessionOperationError } from "../../runtime.js";
5
- /** Spawns the Codex app-server process and exposes its JSON-RPC connection. */
6
+ /** The service that spawns the Codex app-server process and provides its JSON-RPC connection. */
6
7
  export class CodexAppServer extends Context.Service()("@usine/agents/pi/CodexAppServer") {
7
8
  }
8
9
  const RpcSuccessResponse = Schema.Struct({
@@ -36,25 +37,30 @@ export const operationError = (operation, request, message, cause) => new Sessio
36
37
  });
37
38
  const repositoryTrustOverride = (cwd) => `projects.${JSON.stringify(cwd)}.trust_level="untrusted"`;
38
39
  const disableRecursiveAgentsOverride = "features.multi_agent=false";
39
- export const codexAppServerCommand = (cwd, stdin) => {
40
- const options = {
41
- // Start outside the worktree so process startup cannot read
42
- // repository-owned config before thread trust is set.
43
- cwd: homedir(),
44
- // Stay in the run host's process group so the executor's hard kill reaps
45
- // the app server too; the bounded SIGTERM window is the grace-then-force
46
- // stop (ADR 0006).
40
+ /**
41
+ * Returns the app-server command for `client` on its host. The process starts in the home directory,
42
+ * not the worktree, so startup cannot read repository config before thread trust is set.
43
+ */
44
+ export const codexAppServerCommand = (client, stdin) => {
45
+ const lifetime = {
46
+ // Not detached, so killing the launching process group also kills the app server; SIGTERM is
47
+ // followed by SIGKILL after 5 seconds (ADR 0006).
47
48
  detached: false,
48
49
  forceKillAfter: "5 seconds",
49
50
  };
50
- return ChildProcess.make("codex", [
51
- "app-server",
52
- "--stdio",
53
- "-c",
54
- repositoryTrustOverride(cwd),
55
- "-c",
56
- disableRecursiveAgentsOverride,
57
- ], stdin === undefined ? options : { ...options, stdin });
51
+ return hostCommand(client.host, {
52
+ environment: client.environment,
53
+ pidFile: Option.getOrUndefined(Option.map(client.sessionId, (sessionId) => childPidFile(client.cwd, sessionId))),
54
+ command: "codex",
55
+ args: [
56
+ "app-server",
57
+ "--stdio",
58
+ "-c",
59
+ repositoryTrustOverride(client.cwd),
60
+ "-c",
61
+ disableRecursiveAgentsOverride,
62
+ ],
63
+ }, stdin === undefined ? lifetime : { ...lifetime, stdin });
58
64
  };
59
65
  const makeCodexAppServer = Effect.gen(function* () {
60
66
  const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
@@ -71,7 +77,7 @@ const makeCodexAppServer = Effect.gen(function* () {
71
77
  const failure = yield* Ref.make(Option.none());
72
78
  const stderrTail = yield* Ref.make([]);
73
79
  const handle = yield* spawner
74
- .spawn(codexAppServerCommand(request.cwd, {
80
+ .spawn(codexAppServerCommand(request, {
75
81
  stream: Stream.fromQueue(input),
76
82
  endOnDone: true,
77
83
  }))
@@ -80,7 +86,7 @@ const makeCodexAppServer = Effect.gen(function* () {
80
86
  ? Effect.void
81
87
  : Effect.fail(operationError(operation, request, "Codex app-server input is closed", new Error("input queue closed")))), Effect.mapError((cause) => cause instanceof SessionOperationError
82
88
  ? cause
83
- : operationError(operation, request, "Could not write to Codex app-server", cause)));
89
+ : operationError(operation, request, "Can't write to Codex app-server", cause)));
84
90
  const failAll = Effect.fn("CodexAppServer.failAll")(function* (error) {
85
91
  yield* Ref.update(failure, Option.orElseSome(() => error));
86
92
  const waiting = yield* Ref.getAndSet(pending, new Map());
@@ -88,9 +94,8 @@ const makeCodexAppServer = Effect.gen(function* () {
88
94
  yield* Deferred.fail(entry.response, error);
89
95
  yield* Queue.fail(notifications, error);
90
96
  });
91
- // One effect per stdout line, without a span: a line is not an
92
- // operation. Unrecognized input is logged and skipped so a stray frame
93
- // cannot fail the session and trigger an infra retry (ADR 0002).
97
+ // Handles one stdout line, without a span. Unrecognized input is logged and skipped, so a
98
+ // stray frame does not fail the session and cause an infra retry (ADR 0002).
94
99
  const routeLine = (line) => Effect.gen(function* () {
95
100
  if (line.trim().length === 0)
96
101
  return;
@@ -117,7 +122,7 @@ const makeCodexAppServer = Effect.gen(function* () {
117
122
  });
118
123
  }
119
124
  if (Schema.is(RpcErrorResponse)(decoded)) {
120
- return yield* Deferred.fail(found.value.response, operationError(found.value.operation, request, `Codex app-server rejected ${decoded.error.message}`, decoded.error));
125
+ return yield* Deferred.fail(found.value.response, operationError(found.value.operation, request, `Codex app-server returned an error: ${decoded.error.message}`, decoded.error));
121
126
  }
122
127
  return yield* Deferred.succeed(found.value.response, decoded.result);
123
128
  }
@@ -145,30 +150,30 @@ const makeCodexAppServer = Effect.gen(function* () {
145
150
  const stdoutReader = yield* handle.stdout.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach(routeLine), Effect.flatMap(() => Ref.get(closing).pipe(Effect.flatMap((closed) => closed
146
151
  ? Effect.void
147
152
  : handle.exitCode.pipe(
148
- // On process exit, its monitor owns the richer diagnostic.
149
- // A live process that closes stdout still fails promptly.
153
+ // If the process exits within 5 seconds, its exit monitor reports the error;
154
+ // otherwise a running process that closed stdout fails here.
150
155
  Effect.timeout("5 seconds"), Effect.matchEffect({
151
156
  onSuccess: () => Effect.void,
152
157
  onFailure: (cause) => failAll(operationError("stream", request, "Codex app-server output closed unexpectedly", cause)),
153
158
  }))))), Effect.catch((error) => failAll(error instanceof SessionOperationError
154
159
  ? error
155
- : operationError("stream", request, "Could not read Codex app-server output", error))), Effect.forkScoped);
160
+ : operationError("stream", request, "Can't read Codex app-server output", error))), Effect.forkScoped);
156
161
  const stderrReader = yield* handle.stderr.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach((line) => line.trim().length === 0
157
162
  ? Effect.void
158
163
  : Effect.logDebug("Codex app-server stderr", {
159
164
  line: preview(line),
160
165
  sessionId: Option.getOrUndefined(request.sessionId),
161
- }).pipe(Effect.andThen(Ref.update(stderrTail, (tail) => [...tail, line].slice(-STDERR_TAIL_LINES))))), Effect.catch((cause) => failAll(operationError("stream", request, "Could not read Codex app-server diagnostics", cause))), Effect.forkScoped);
166
+ }).pipe(Effect.andThen(Ref.update(stderrTail, (tail) => [...tail, line].slice(-STDERR_TAIL_LINES))))), Effect.catch((cause) => failAll(operationError("stream", request, "Can't read Codex app-server diagnostics", cause))), Effect.forkScoped);
162
167
  yield* handle.exitCode.pipe(Effect.flatMap((exitCode) => Effect.all([Ref.get(closing), Ref.get(stderrTail)]).pipe(Effect.flatMap(([closed, stderr]) => closed
163
168
  ? Effect.void
164
- : failAll(operationError("stream", request, `Codex app-server exited with code ${String(exitCode)}`, { exitCode, stderr }))))), Effect.catch((cause) => failAll(operationError("stream", request, "Could not monitor Codex app-server", cause))), Effect.forkScoped);
165
- // Stdio EOF runs Codex's thread shutdown, including background commands.
166
- // SIGTERM bypasses that cleanup in stdio mode. Share one bounded shutdown
167
- // across terminal delivery and scope release, even if the caller is canceled.
169
+ : failAll(operationError("stream", request, `Codex app-server exited with code ${String(exitCode)}`, { exitCode, stderr }))))), Effect.catch((cause) => failAll(operationError("stream", request, "Can't monitor Codex app-server", cause))), Effect.forkScoped);
170
+ // Closing stdin runs Codex's thread shutdown, including background commands; SIGTERM skips it
171
+ // in stdio mode. One bounded shutdown is shared by terminal delivery and scope release, and
172
+ // it runs even if the caller is interrupted.
168
173
  const rejectPending = (cause) => Effect.gen(function* () {
169
174
  const waiting = yield* Ref.getAndSet(pending, new Map());
170
175
  for (const entry of waiting.values())
171
- yield* Deferred.fail(entry.response, operationError(entry.operation, request, "Codex app-server closed before answering the request", cause));
176
+ yield* Deferred.fail(entry.response, operationError(entry.operation, request, "Codex app-server closed before it responded to the request", cause));
172
177
  });
173
178
  const close = yield* Effect.cached(Effect.fn("CodexAppServer.close")(function* () {
174
179
  yield* Effect.annotateCurrentSpan({
@@ -178,7 +183,7 @@ const makeCodexAppServer = Effect.gen(function* () {
178
183
  yield* Queue.end(input);
179
184
  const [exitCode] = yield* Effect.all([handle.exitCode, Fiber.join(stdoutReader), Fiber.join(stderrReader)], {
180
185
  concurrency: "unbounded",
181
- }).pipe(Effect.timeout("15 seconds"), Effect.mapError((cause) => operationError("interrupt", request, "Codex app-server did not shut down cleanly", cause)), Effect.tapError(rejectPending));
186
+ }).pipe(Effect.timeout("15 seconds"), Effect.mapError((cause) => operationError("interrupt", request, "Codex app-server didn't shut down cleanly", cause)), Effect.tapError(rejectPending));
182
187
  yield* rejectPending({ exitCode });
183
188
  if (exitCode !== 0)
184
189
  return yield* operationError("interrupt", request, `Codex app-server exited with code ${String(exitCode)} during shutdown`, { exitCode, stderr: yield* Ref.get(stderrTail) });
@@ -210,7 +215,7 @@ const makeCodexAppServer = Effect.gen(function* () {
210
215
  yield* write({ id, method, params }, operation).pipe(Effect.tapError(() => forget));
211
216
  return yield* Deferred.await(response).pipe(Effect.timeoutOrElse({
212
217
  duration: RPC_TIMEOUT,
213
- orElse: () => forget.pipe(Effect.andThen(operationError(operation, request, `Codex app-server did not answer ${method} within ${RPC_TIMEOUT}`, new Error("request timed out")))),
218
+ orElse: () => forget.pipe(Effect.andThen(operationError(operation, request, `Codex app-server didn't respond to ${method} within ${RPC_TIMEOUT}`, new Error("request timed out")))),
214
219
  }));
215
220
  });
216
221
  const notify = (operation, method, params) => write({ method, params }, operation);
@@ -1 +1 @@
1
- {"version":3,"file":"app-server.js","sourceRoot":"","sources":["../../../src/pi/codex/app-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-server.js","sourceRoot":"","sources":["../../../src/pi/codex/app-server.ts"],"names":[],"mappings":"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"}
@@ -1,96 +1,22 @@
1
1
  import { AgentSessionId, RateLimitWindow as CoreRateLimitWindow } from "@usine/core/agent/session";
2
2
  import { Effect, Option, Schema } from "effect";
3
- import type { ModelListParams, ThreadStartParams, TurnInterruptParams, TurnStartParams, TurnSteerParams } from "../../protocol/codex.ts";
3
+ import { type ErrorNotification, type ModelListParams, type RateLimitWindow, type ThreadStartParams, type ToolItem, type TurnInterruptParams, type TurnStartParams, type TurnSteerParams, type UserMessageItem } from "../../protocol/codex.ts";
4
4
  import { SessionOperationError } from "../../runtime.ts";
5
5
  import { type CodexClient } from "./app-server.ts";
6
6
  type CodexRequestPayload = ModelListParams | ThreadStartParams | TurnStartParams | TurnSteerParams | TurnInterruptParams;
7
- /** Encodes typed Codex request parameters for the app-server JSON transport. */
7
+ /** Returns typed Codex request parameters as JSON for the app-server transport. */
8
8
  export declare const json: (value: CodexRequestPayload) => Schema.Json;
9
- /** Model catalog page used to validate the requested model and reasoning effort. */
10
- export declare const ModelListResponse: Schema.Struct<{
11
- readonly data: Schema.$Array<Schema.Struct<{
12
- readonly id: Schema.String;
13
- readonly model: Schema.String;
14
- readonly supportedReasoningEfforts: Schema.optionalKey<Schema.$Array<Schema.Struct<{
15
- readonly reasoningEffort: Schema.String;
16
- }>>>;
17
- }>>;
18
- readonly nextCursor: Schema.NullOr<Schema.String>;
19
- }>;
20
- /** Thread identity and effective model returned when a child conversation opens. */
21
- export declare const ThreadStartResponse: Schema.Struct<{
22
- readonly thread: Schema.Struct<{
23
- readonly id: Schema.brand<Schema.NonEmptyString, "HarnessSessionId">;
24
- }>;
25
- readonly model: Schema.NonEmptyString;
26
- readonly instructionSources: Schema.$Array<Schema.String>;
27
- }>;
28
- /** Turn identity required to address guidance and interruption. */
29
- export declare const TurnStartResponse: Schema.Struct<{
30
- readonly turn: Schema.Struct<{
31
- readonly id: Schema.NonEmptyString;
32
- }>;
33
- }>;
34
- /** Routes a vendor item to its thread and turn while preserving its JSON details. */
35
- export declare const ItemNotification: Schema.Struct<{
36
- readonly item: Schema.Codec<Schema.Json, Schema.Json, never, never>;
37
- readonly threadId: Schema.String;
38
- readonly turnId: Schema.String;
39
- }>;
40
- /** Completed assistant prose; phase distinguishes a final answer from commentary. */
41
- export declare const AgentMessageItem: Schema.Struct<{
42
- readonly type: Schema.Literal<"agentMessage">;
43
- readonly id: Schema.NonEmptyString;
44
- readonly text: Schema.String;
45
- readonly phase: Schema.optionalKey<Schema.NullOr<Schema.String>>;
46
- }>;
47
- /** Recognized tool activity with the fields needed to pair starts and results. */
48
- export declare const ToolItem: Schema.Struct<{
49
- readonly type: Schema.Literals<readonly ["commandExecution", "fileChange", "mcpToolCall", "dynamicToolCall", "webSearch", "imageView", "imageGeneration"]>;
50
- readonly id: Schema.NonEmptyString;
51
- readonly status: Schema.optionalKey<Schema.String>;
52
- readonly success: Schema.optionalKey<Schema.NullOr<Schema.Boolean>>;
53
- }>;
54
- /** Turn outcome used to resume a held conversation or report a session failure. */
55
- export declare const TurnCompleted: Schema.Struct<{
56
- readonly turn: Schema.Struct<{
57
- readonly id: Schema.String;
58
- readonly status: Schema.Literals<readonly ["completed", "interrupted", "failed", "inProgress"]>;
59
- readonly error: Schema.NullOr<Schema.Struct<{
60
- readonly message: Schema.String;
61
- readonly additionalDetails: Schema.NullOr<Schema.String>;
62
- }>>;
63
- }>;
64
- }>;
65
- declare const RateLimitWindow: Schema.Struct<{
66
- readonly usedPercent: Schema.Number;
67
- readonly windowDurationMins: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
68
- readonly resetsAt: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
69
- }>;
70
- /** Sparse account usage update; omitted windows remain absent in the normalized snapshot. */
71
- export declare const RateLimitsUpdated: Schema.Struct<{
72
- readonly rateLimits: Schema.Struct<{
73
- readonly limitId: Schema.optionalKey<Schema.NullOr<Schema.String>>;
74
- readonly limitName: Schema.optionalKey<Schema.NullOr<Schema.String>>;
75
- readonly primary: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
76
- readonly usedPercent: Schema.Number;
77
- readonly windowDurationMins: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
78
- readonly resetsAt: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
79
- }>>>;
80
- readonly secondary: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
81
- readonly usedPercent: Schema.Number;
82
- readonly windowDurationMins: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
83
- readonly resetsAt: Schema.optionalKey<Schema.NullOr<Schema.Number>>;
84
- }>>>;
85
- }>;
86
- }>;
87
- /** Decodes a required response, attributing malformed data to the client operation and response label. */
9
+ /** Returns the text of a recorded user message as the executor sent it. */
10
+ export declare const userMessageText: (item: typeof UserMessageItem.Type) => string;
11
+ /** Returns the retry message followed by its details in parentheses. */
12
+ export declare const providerRetryMessage: (error: (typeof ErrorNotification.Type)["error"]) => string;
13
+ /** Decodes a required response. Fails with `SessionOperationError` for `operation` if the data is malformed. */
88
14
  export declare const decodeResponse: <S extends Schema.Top>(schema: S, operation: SessionOperationError["operation"], client: CodexClient, label: string, value: Schema.Json) => Effect.Effect<S["Type"], SessionOperationError, S["DecodingServices"]>;
89
- /** Decodes one notification payload; an undecodable payload is logged and skipped, never fatal. */
15
+ /** Decodes a notification payload; if it does not decode, logs a warning and returns `None`. */
90
16
  export declare const decodeNotification: <S extends Schema.Top>(schema: S, label: string, sessionId: AgentSessionId, value: Schema.Json) => Effect.Effect<Option.Option<S["Type"]>, never, S["DecodingServices"]>;
91
- /** Maps a recognized vendor tool kind to the stable transcript tool name. */
17
+ /** Returns the transcript tool name for a Codex tool item. */
92
18
  export declare const toolName: (item: typeof ToolItem.Type) => string;
93
- /** Normalizes an account window, converting reset timestamps to UTC and absent values to Options. */
19
+ /** Converts a rate-limit window, with reset timestamps in UTC and absent values as `None`. */
94
20
  export declare const rateLimitWindow: (window: typeof RateLimitWindow.Type) => CoreRateLimitWindow;
95
21
  export {};
96
22
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,IAAI,mBAAmB,EACvC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAY,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAEnE,KAAK,mBAAmB,GACpB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,mBAAmB,CAAC;AAExB,gFAAgF;AAChF,eAAO,MAAM,IAAI,UAAW,mBAAmB,KAAG,MAAM,CAAC,IACiB,CAAC;AAE3E,oFAAoF;AACpF,eAAO,MAAM,iBAAiB;;;;;;;;;EAW5B,CAAC;AACH,oFAAoF;AACpF,eAAO,MAAM,mBAAmB;;;;;;EAI9B,CAAC;AACH,mEAAmE;AACnE,eAAO,MAAM,iBAAiB;;;;EAE5B,CAAC;AACH,qFAAqF;AACrF,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAC;AACH,qFAAqF;AACrF,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AACH,kFAAkF;AAClF,eAAO,MAAM,QAAQ;;;;;EAanB,CAAC;AACH,mFAAmF;AACnF,eAAO,MAAM,aAAa;;;;;;;;;EAWxB,CAAC;AAGH,QAAA,MAAM,eAAe;;;;EAInB,CAAC;AACH,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,0GAA0G;AAC1G,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,UACzC,CAAC,aACE,qBAAqB,CAAC,WAAW,CAAC,UACrC,WAAW,SACZ,MAAM,SACN,MAAM,CAAC,IAAI,KACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAKrE,CAAC;AAEJ,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,UAC7C,CAAC,SACF,MAAM,aACF,cAAc,SAClB,MAAM,CAAC,IAAI,KACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAQpE,CAAC;AAEJ,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,SAAU,OAAO,QAAQ,CAAC,IAAI,KAAG,MAiBrD,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,eAAe,WAAY,OAAO,eAAe,CAAC,IAAI,KAAG,mBAKlE,CAAC"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAEnE,KAAK,mBAAmB,GACpB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,mBAAmB,CAAC;AAExB,mFAAmF;AACnF,eAAO,MAAM,IAAI,UAAW,mBAAmB,KAAG,MAAM,CAAC,IACiB,CAAC;AAE3E,2EAA2E;AAC3E,eAAO,MAAM,eAAe,SAAU,OAAO,eAAe,CAAC,IAAI,KAAG,MAIvD,CAAC;AAEd,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,UAAW,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAG,MAItF,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,UACzC,CAAC,aACE,qBAAqB,CAAC,WAAW,CAAC,UACrC,WAAW,SACZ,MAAM,SACN,MAAM,CAAC,IAAI,KACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAKrE,CAAC;AAEJ,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,UAC7C,CAAC,SACF,MAAM,aACF,cAAc,SAClB,MAAM,CAAC,IAAI,KACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAQpE,CAAC;AAEJ,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,SAAU,OAAO,QAAQ,CAAC,IAAI,KAAG,MAiBrD,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,WAAY,OAAO,eAAe,CAAC,IAAI,KAAG,mBAKlE,CAAC"}
@@ -1,88 +1,26 @@
1
- import { HarnessSessionId, AgentSessionId, RateLimitWindow as CoreRateLimitWindow, } from "@usine/core/agent/session";
1
+ import { AgentSessionId, RateLimitWindow as CoreRateLimitWindow } from "@usine/core/agent/session";
2
2
  import { DateTime, Effect, Option, Schema } from "effect";
3
+ import { UserTextInput, } from "../../protocol/codex.js";
3
4
  import { SessionOperationError } from "../../runtime.js";
4
5
  import { operationError } from "./app-server.js";
5
- /** Encodes typed Codex request parameters for the app-server JSON transport. */
6
+ /** Returns typed Codex request parameters as JSON for the app-server transport. */
6
7
  export const json = (value) => Schema.decodeUnknownSync(Schema.Json)(JSON.parse(JSON.stringify(value)));
7
- /** Model catalog page used to validate the requested model and reasoning effort. */
8
- export const ModelListResponse = Schema.Struct({
9
- data: Schema.Array(Schema.Struct({
10
- id: Schema.String,
11
- model: Schema.String,
12
- supportedReasoningEfforts: Schema.optionalKey(Schema.Array(Schema.Struct({ reasoningEffort: Schema.String }))),
13
- })),
14
- nextCursor: Schema.NullOr(Schema.String),
15
- });
16
- /** Thread identity and effective model returned when a child conversation opens. */
17
- export const ThreadStartResponse = Schema.Struct({
18
- thread: Schema.Struct({ id: HarnessSessionId }),
19
- model: Schema.NonEmptyString,
20
- instructionSources: Schema.Array(Schema.String),
21
- });
22
- /** Turn identity required to address guidance and interruption. */
23
- export const TurnStartResponse = Schema.Struct({
24
- turn: Schema.Struct({ id: Schema.NonEmptyString }),
25
- });
26
- /** Routes a vendor item to its thread and turn while preserving its JSON details. */
27
- export const ItemNotification = Schema.Struct({
28
- item: Schema.Json,
29
- threadId: Schema.String,
30
- turnId: Schema.String,
31
- });
32
- /** Completed assistant prose; phase distinguishes a final answer from commentary. */
33
- export const AgentMessageItem = Schema.Struct({
34
- type: Schema.Literal("agentMessage"),
35
- id: Schema.NonEmptyString,
36
- text: Schema.String,
37
- phase: Schema.optionalKey(Schema.NullOr(Schema.String)),
38
- });
39
- /** Recognized tool activity with the fields needed to pair starts and results. */
40
- export const ToolItem = Schema.Struct({
41
- type: Schema.Literals([
42
- "commandExecution",
43
- "fileChange",
44
- "mcpToolCall",
45
- "dynamicToolCall",
46
- "webSearch",
47
- "imageView",
48
- "imageGeneration",
49
- ]),
50
- id: Schema.NonEmptyString,
51
- status: Schema.optionalKey(Schema.String),
52
- success: Schema.optionalKey(Schema.NullOr(Schema.Boolean)),
53
- });
54
- /** Turn outcome used to resume a held conversation or report a session failure. */
55
- export const TurnCompleted = Schema.Struct({
56
- turn: Schema.Struct({
57
- id: Schema.String,
58
- status: Schema.Literals(["completed", "interrupted", "failed", "inProgress"]),
59
- error: Schema.NullOr(Schema.Struct({
60
- message: Schema.String,
61
- additionalDetails: Schema.NullOr(Schema.String),
62
- })),
63
- }),
64
- });
65
- // Upstream sends this notification as a sparse rolling update: any account
66
- // field may be absent, so only the load figure is required.
67
- const RateLimitWindow = Schema.Struct({
68
- usedPercent: Schema.Number,
69
- windowDurationMins: Schema.optionalKey(Schema.NullOr(Schema.Number)),
70
- resetsAt: Schema.optionalKey(Schema.NullOr(Schema.Number)),
71
- });
72
- /** Sparse account usage update; omitted windows remain absent in the normalized snapshot. */
73
- export const RateLimitsUpdated = Schema.Struct({
74
- rateLimits: Schema.Struct({
75
- limitId: Schema.optionalKey(Schema.NullOr(Schema.String)),
76
- limitName: Schema.optionalKey(Schema.NullOr(Schema.String)),
77
- primary: Schema.optionalKey(Schema.NullOr(RateLimitWindow)),
78
- secondary: Schema.optionalKey(Schema.NullOr(RateLimitWindow)),
79
- }),
80
- });
81
- /** Decodes a required response, attributing malformed data to the client operation and response label. */
8
+ /** Returns the text of a recorded user message as the executor sent it. */
9
+ export const userMessageText = (item) => item.content
10
+ .filter(Schema.is(UserTextInput))
11
+ .map(({ text }) => text)
12
+ .join("");
13
+ /** Returns the retry message followed by its details in parentheses. */
14
+ export const providerRetryMessage = (error) => {
15
+ const message = error.message.trim() || "Codex is retrying its model provider";
16
+ const details = error.additionalDetails?.trim() ?? "";
17
+ return details === "" ? message : `${message} (${details})`;
18
+ };
19
+ /** Decodes a required response. Fails with `SessionOperationError` for `operation` if the data is malformed. */
82
20
  export const decodeResponse = (schema, operation, client, label, value) => Schema.decodeUnknownEffect(schema)(value).pipe(Effect.mapError((cause) => operationError(operation, client, `Codex returned an invalid ${label}`, cause)));
83
- /** Decodes one notification payload; an undecodable payload is logged and skipped, never fatal. */
21
+ /** Decodes a notification payload; if it does not decode, logs a warning and returns `None`. */
84
22
  export const decodeNotification = (schema, label, sessionId, value) => Schema.decodeUnknownEffect(schema)(value).pipe(Effect.map(Option.some), Effect.catch((cause) => Effect.logWarning(`Skipping an undecodable Codex ${label}`, { cause, sessionId }).pipe(Effect.as(Option.none()))));
85
- /** Maps a recognized vendor tool kind to the stable transcript tool name. */
23
+ /** Returns the transcript tool name for a Codex tool item. */
86
24
  export const toolName = (item) => {
87
25
  switch (item.type) {
88
26
  case "commandExecution":
@@ -101,7 +39,7 @@ export const toolName = (item) => {
101
39
  return "image_generation";
102
40
  }
103
41
  };
104
- /** Normalizes an account window, converting reset timestamps to UTC and absent values to Options. */
42
+ /** Converts a rate-limit window, with reset timestamps in UTC and absent values as `None`. */
105
43
  export const rateLimitWindow = (window) => new CoreRateLimitWindow({
106
44
  usedPercent: window.usedPercent,
107
45
  windowDurationMinutes: Option.fromNullishOr(window.windowDurationMins),
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/pi/codex/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/pi/codex/codec.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,5 @@ import { Layer } from "effect";
2
2
  import { CodexChildBackend } from "../../runtime.ts";
3
3
  import { CodexAppServer } from "./app-server.ts";
4
4
  export { CodexAppServer, codexAppServerLive, type CodexConnection } from "./app-server.ts";
5
- /** Provides Codex coding sessions for tasks delegated by a parent. */
6
5
  export declare const codexChildBackendLayer: Layer.Layer<CodexChildBackend, never, CodexAppServer>;
7
6
  //# sourceMappingURL=codex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/codex.ts"],"names":[],"mappings":"AAYA,OAAO,EAAoB,KAAK,EAA0B,MAAM,QAAQ,CAAC;AAkBzE,OAAO,EAGL,iBAAiB,EAIlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAoC,MAAM,iBAAiB,CAAC;AAGnF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA4a3F,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,uDAAkD,CAAC"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/codex.ts"],"names":[],"mappings":"AAeA,OAAO,EAAoB,KAAK,EAA0B,MAAM,QAAQ,CAAC;AA4BzE,OAAO,EAGL,iBAAiB,EAIlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAoC,MAAM,iBAAiB,CAAC;AAGnF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAmgB3F,eAAO,MAAM,sBAAsB,uDAAkD,CAAC"}