@usine/agents 0.1.0 → 0.3.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 (93) hide show
  1. package/README.md +35 -6
  2. package/dist/pi/authentication.d.ts +4 -4
  3. package/dist/pi/authentication.d.ts.map +1 -1
  4. package/dist/pi/authentication.js +2 -2
  5. package/dist/pi/authentication.js.map +1 -1
  6. package/dist/pi/children.d.ts +4 -1
  7. package/dist/pi/children.d.ts.map +1 -1
  8. package/dist/pi/children.js +4 -1
  9. package/dist/pi/children.js.map +1 -1
  10. package/dist/pi/claude.d.ts +6 -2
  11. package/dist/pi/claude.d.ts.map +1 -1
  12. package/dist/pi/claude.js +80 -15
  13. package/dist/pi/claude.js.map +1 -1
  14. package/dist/pi/codex/account.d.ts +11 -0
  15. package/dist/pi/codex/account.d.ts.map +1 -0
  16. package/dist/pi/codex/account.js +43 -0
  17. package/dist/pi/codex/account.js.map +1 -0
  18. package/dist/pi/codex/app-server.d.ts +15 -6
  19. package/dist/pi/codex/app-server.d.ts.map +1 -1
  20. package/dist/pi/codex/app-server.js +61 -22
  21. package/dist/pi/codex/app-server.js.map +1 -1
  22. package/dist/pi/codex/codec.d.ts +96 -0
  23. package/dist/pi/codex/codec.d.ts.map +1 -0
  24. package/dist/pi/codex/codec.js +110 -0
  25. package/dist/pi/codex/codec.js.map +1 -0
  26. package/dist/pi/codex/codex.d.ts +2 -0
  27. package/dist/pi/codex/codex.d.ts.map +1 -1
  28. package/dist/pi/codex/codex.js +143 -148
  29. package/dist/pi/codex/codex.js.map +1 -1
  30. package/dist/pi/conversation.d.ts +26 -0
  31. package/dist/pi/conversation.d.ts.map +1 -0
  32. package/dist/pi/conversation.js +93 -0
  33. package/dist/pi/conversation.js.map +1 -0
  34. package/dist/pi/live.d.ts +4 -0
  35. package/dist/pi/live.d.ts.map +1 -0
  36. package/dist/pi/{index.js → live.js} +2 -9
  37. package/dist/pi/live.js.map +1 -0
  38. package/dist/pi/pi.d.ts +3 -1
  39. package/dist/pi/pi.d.ts.map +1 -1
  40. package/dist/pi/pi.js +90 -64
  41. package/dist/pi/pi.js.map +1 -1
  42. package/dist/pi/sdk.d.ts +18 -13
  43. package/dist/pi/sdk.d.ts.map +1 -1
  44. package/dist/pi/sdk.js +15 -10
  45. package/dist/pi/sdk.js.map +1 -1
  46. package/dist/pi/session.d.ts +20 -21
  47. package/dist/pi/session.d.ts.map +1 -1
  48. package/dist/pi/session.js +23 -11
  49. package/dist/pi/session.js.map +1 -1
  50. package/dist/pi/subagents.d.ts +17 -11
  51. package/dist/pi/subagents.d.ts.map +1 -1
  52. package/dist/pi/subagents.js +81 -44
  53. package/dist/pi/subagents.js.map +1 -1
  54. package/dist/pi/thinking.d.ts +8 -0
  55. package/dist/pi/thinking.d.ts.map +1 -0
  56. package/dist/pi/thinking.js +15 -0
  57. package/dist/pi/thinking.js.map +1 -0
  58. package/dist/pi/turns.d.ts +28 -0
  59. package/dist/pi/turns.d.ts.map +1 -0
  60. package/dist/pi/turns.js +54 -0
  61. package/dist/pi/turns.js.map +1 -0
  62. package/dist/pi/usage.d.ts +25 -0
  63. package/dist/pi/usage.d.ts.map +1 -0
  64. package/dist/pi/usage.js +72 -0
  65. package/dist/pi/usage.js.map +1 -0
  66. package/dist/preflight/command.d.ts +7 -0
  67. package/dist/preflight/command.d.ts.map +1 -0
  68. package/dist/preflight/command.js +42 -0
  69. package/dist/preflight/command.js.map +1 -0
  70. package/dist/preflight/preflight.d.ts +13 -0
  71. package/dist/preflight/preflight.d.ts.map +1 -0
  72. package/dist/preflight/preflight.js +100 -0
  73. package/dist/preflight/preflight.js.map +1 -0
  74. package/dist/prompt.d.ts +15 -11
  75. package/dist/prompt.d.ts.map +1 -1
  76. package/dist/prompt.js +14 -11
  77. package/dist/prompt.js.map +1 -1
  78. package/dist/protocol/codex.d.ts +20 -6
  79. package/dist/protocol/codex.d.ts.map +1 -1
  80. package/dist/protocol/codex.js +7 -1
  81. package/dist/protocol/codex.js.map +1 -1
  82. package/dist/runtime.d.ts +59 -25
  83. package/dist/runtime.d.ts.map +1 -1
  84. package/dist/runtime.js +47 -34
  85. package/dist/runtime.js.map +1 -1
  86. package/package.json +34 -10
  87. package/dist/index.d.ts +0 -4
  88. package/dist/index.d.ts.map +0 -1
  89. package/dist/index.js +0 -4
  90. package/dist/index.js.map +0 -1
  91. package/dist/pi/index.d.ts +0 -11
  92. package/dist/pi/index.d.ts.map +0 -1
  93. package/dist/pi/index.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { Cause, Context, Deferred, Effect, Layer, Option, Queue, Ref, Schema, Scope, Stream, } from "effect";
1
+ import { Cause, Context, Deferred, Effect, Fiber, Layer, Option, Queue, Ref, Schema, Scope, Stream, } from "effect";
2
2
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
3
3
  import { homedir } from "node:os";
4
4
  import { SessionOperationError } from "../../runtime.js";
5
- /** Process seam for the Codex app-server transport. */
5
+ /** Spawns the Codex app-server process and exposes its JSON-RPC connection. */
6
6
  export class CodexAppServer extends Context.Service()("@usine/agents/pi/CodexAppServer") {
7
7
  }
8
8
  const RpcSuccessResponse = Schema.Struct({
@@ -30,7 +30,7 @@ const STDERR_TAIL_LINES = 5;
30
30
  const preview = (line) => (line.length > 200 ? `${line.slice(0, 200)}…` : line);
31
31
  export const operationError = (operation, request, message, cause) => new SessionOperationError({
32
32
  operation,
33
- sessionId: Option.some(request.session.id),
33
+ sessionId: request.sessionId,
34
34
  message,
35
35
  cause,
36
36
  });
@@ -38,12 +38,12 @@ const repositoryTrustOverride = (cwd) => `projects.${JSON.stringify(cwd)}.trust_
38
38
  const disableRecursiveAgentsOverride = "features.multi_agent=false";
39
39
  export const codexAppServerCommand = (cwd, stdin) => {
40
40
  const options = {
41
- // Starting outside the worktree prevents process startup from
42
- // discovering repository-owned config before thread trust is set.
41
+ // Start outside the worktree so process startup cannot read
42
+ // repository-owned config before thread trust is set.
43
43
  cwd: homedir(),
44
- // The app-server must die with the run host: staying in the host's
45
- // process group keeps the executor's hard kill able to reap it, and the
46
- // bounded SIGTERM window implements ADR 0006's grace-then-force stop.
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).
47
47
  detached: false,
48
48
  forceKillAfter: "5 seconds",
49
49
  };
@@ -59,6 +59,10 @@ export const codexAppServerCommand = (cwd, stdin) => {
59
59
  const makeCodexAppServer = Effect.gen(function* () {
60
60
  const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
61
61
  const open = Effect.fn("CodexAppServer.open")(function* (request) {
62
+ yield* Effect.annotateCurrentSpan({
63
+ harness: "codex",
64
+ sessionId: Option.getOrUndefined(request.sessionId),
65
+ });
62
66
  const input = yield* Queue.make();
63
67
  const notifications = yield* Queue.make();
64
68
  const pending = yield* Ref.make(new Map());
@@ -84,16 +88,16 @@ const makeCodexAppServer = Effect.gen(function* () {
84
88
  yield* Deferred.fail(entry.response, error);
85
89
  yield* Queue.fail(notifications, error);
86
90
  });
87
- // One effect per stdout line, deliberately span-free: a line is not an
88
- // operation, and unrecognized input is logged and skipped so a stray
89
- // frame can never fail the session (ADR 0002 would retry it as infra).
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).
90
94
  const routeLine = (line) => Effect.gen(function* () {
91
95
  if (line.trim().length === 0)
92
96
  return;
93
97
  const decoded = yield* decodeLine(line).pipe(Effect.catch((cause) => Effect.logWarning("Skipping a non-JSON Codex app-server line", {
94
98
  cause,
95
99
  line: preview(line),
96
- sessionId: request.session.id,
100
+ sessionId: Option.getOrUndefined(request.sessionId),
97
101
  }).pipe(Effect.as(undefined))));
98
102
  if (decoded === undefined)
99
103
  return;
@@ -109,7 +113,7 @@ const makeCodexAppServer = Effect.gen(function* () {
109
113
  if (Option.isNone(found)) {
110
114
  return yield* Effect.logDebug("Ignoring a Codex response with no waiting request", {
111
115
  id: decoded.id,
112
- sessionId: request.session.id,
116
+ sessionId: Option.getOrUndefined(request.sessionId),
113
117
  });
114
118
  }
115
119
  if (Schema.is(RpcErrorResponse)(decoded)) {
@@ -120,13 +124,13 @@ const makeCodexAppServer = Effect.gen(function* () {
120
124
  if (!Schema.is(RpcMessage)(decoded)) {
121
125
  return yield* Effect.logWarning("Skipping an unknown Codex JSON-RPC shape", {
122
126
  line: preview(line),
123
- sessionId: request.session.id,
127
+ sessionId: Option.getOrUndefined(request.sessionId),
124
128
  });
125
129
  }
126
130
  if (decoded.id !== undefined) {
127
131
  yield* Effect.logWarning("Codex app-server requested unsupported client input", {
128
132
  method: decoded.method,
129
- sessionId: request.session.id,
133
+ sessionId: Option.getOrUndefined(request.sessionId),
130
134
  });
131
135
  return yield* write({
132
136
  id: decoded.id,
@@ -138,25 +142,59 @@ const makeCodexAppServer = Effect.gen(function* () {
138
142
  params: decoded.params ?? null,
139
143
  });
140
144
  });
141
- yield* handle.stdout.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach(routeLine), Effect.flatMap(() => Ref.get(closing).pipe(Effect.flatMap((closed) => closed
145
+ const stdoutReader = yield* handle.stdout.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach(routeLine), Effect.flatMap(() => Ref.get(closing).pipe(Effect.flatMap((closed) => closed
142
146
  ? Effect.void
143
- : failAll(operationError("stream", request, "Codex app-server output closed unexpectedly", new Error("unexpected end of output")))))), Effect.catch((error) => failAll(error instanceof SessionOperationError
147
+ : handle.exitCode.pipe(
148
+ // On process exit, its monitor owns the richer diagnostic.
149
+ // A live process that closes stdout still fails promptly.
150
+ Effect.timeout("5 seconds"), Effect.matchEffect({
151
+ onSuccess: () => Effect.void,
152
+ onFailure: (cause) => failAll(operationError("stream", request, "Codex app-server output closed unexpectedly", cause)),
153
+ }))))), Effect.catch((error) => failAll(error instanceof SessionOperationError
144
154
  ? error
145
155
  : operationError("stream", request, "Could not read Codex app-server output", error))), Effect.forkScoped);
146
- yield* handle.stderr.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach((line) => line.trim().length === 0
156
+ const stderrReader = yield* handle.stderr.pipe(Stream.decodeText(), Stream.splitLines, Stream.runForEach((line) => line.trim().length === 0
147
157
  ? Effect.void
148
158
  : Effect.logDebug("Codex app-server stderr", {
149
159
  line: preview(line),
150
- sessionId: request.session.id,
160
+ sessionId: Option.getOrUndefined(request.sessionId),
151
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);
152
162
  yield* handle.exitCode.pipe(Effect.flatMap((exitCode) => Effect.all([Ref.get(closing), Ref.get(stderrTail)]).pipe(Effect.flatMap(([closed, stderr]) => closed
153
163
  ? Effect.void
154
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);
155
- yield* Effect.addFinalizer(() => Effect.logDebug("Closing Codex app-server", { sessionId: request.session.id }).pipe(Effect.andThen(Ref.set(closing, true)), Effect.andThen(Queue.end(input)), Effect.andThen(handle.kill()), Effect.catch((cause) => Effect.logWarning("Could not stop Codex app-server cleanly", {
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.
168
+ const rejectPending = (cause) => Effect.gen(function* () {
169
+ const waiting = yield* Ref.getAndSet(pending, new Map());
170
+ 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));
172
+ });
173
+ const close = yield* Effect.cached(Effect.fn("CodexAppServer.close")(function* () {
174
+ yield* Effect.annotateCurrentSpan({
175
+ sessionId: Option.getOrUndefined(request.sessionId),
176
+ });
177
+ yield* Ref.set(closing, true);
178
+ yield* Queue.end(input);
179
+ const [exitCode] = yield* Effect.all([handle.exitCode, Fiber.join(stdoutReader), Fiber.join(stderrReader)], {
180
+ 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));
182
+ yield* rejectPending({ exitCode });
183
+ if (exitCode !== 0)
184
+ return yield* operationError("interrupt", request, `Codex app-server exited with code ${String(exitCode)} during shutdown`, { exitCode, stderr: yield* Ref.get(stderrTail) });
185
+ yield* Queue.end(notifications);
186
+ yield* Effect.logDebug("Codex app-server shutdown completed", { exitCode });
187
+ })().pipe(Effect.tapError(failAll), Effect.uninterruptible));
188
+ yield* Effect.addFinalizer(() => close.pipe(Effect.catch((cause) => Effect.logWarning("Forcing Codex app-server to stop after graceful shutdown failed", {
189
+ cause,
190
+ sessionId: Option.getOrUndefined(request.sessionId),
191
+ }).pipe(Effect.andThen(handle.kill({ forceKillAfter: "5 seconds" })), Effect.catch((cause) => Effect.logWarning("Could not force Codex app-server to stop", {
156
192
  cause,
157
- sessionId: request.session.id,
158
- }))));
193
+ sessionId: Option.getOrUndefined(request.sessionId),
194
+ }))))));
159
195
  const requestRpc = (operation, method, params) => Effect.gen(function* () {
196
+ if (yield* Ref.get(closing))
197
+ return yield* operationError(operation, request, "Codex app-server connection is closing", new Error("connection closed"));
160
198
  const failed = yield* Ref.get(failure);
161
199
  if (Option.isSome(failed)) {
162
200
  return yield* operationError(operation, request, "Codex app-server connection already failed", failed.value);
@@ -177,6 +215,7 @@ const makeCodexAppServer = Effect.gen(function* () {
177
215
  });
178
216
  const notify = (operation, method, params) => write({ method, params }, operation);
179
217
  return {
218
+ close,
180
219
  notifications: Stream.fromQueue(notifications),
181
220
  request: requestRpc,
182
221
  notify,
@@ -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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"}
@@ -0,0 +1,96 @@
1
+ import { AgentSessionId, RateLimitWindow as CoreRateLimitWindow } from "@usine/core/agent/session";
2
+ import { Effect, Option, Schema } from "effect";
3
+ import type { ModelListParams, ThreadStartParams, TurnInterruptParams, TurnStartParams, TurnSteerParams } from "../../protocol/codex.ts";
4
+ import { SessionOperationError } from "../../runtime.ts";
5
+ import { type CodexClient } from "./app-server.ts";
6
+ type CodexRequestPayload = ModelListParams | ThreadStartParams | TurnStartParams | TurnSteerParams | TurnInterruptParams;
7
+ /** Encodes typed Codex request parameters for the app-server JSON transport. */
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. */
88
+ 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. */
90
+ 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. */
92
+ export declare const toolName: (item: typeof ToolItem.Type) => string;
93
+ /** Normalizes an account window, converting reset timestamps to UTC and absent values to Options. */
94
+ export declare const rateLimitWindow: (window: typeof RateLimitWindow.Type) => CoreRateLimitWindow;
95
+ export {};
96
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,110 @@
1
+ import { HarnessSessionId, AgentSessionId, RateLimitWindow as CoreRateLimitWindow, } from "@usine/core/agent/session";
2
+ import { DateTime, Effect, Option, Schema } from "effect";
3
+ import { SessionOperationError } from "../../runtime.js";
4
+ import { operationError } from "./app-server.js";
5
+ /** Encodes typed Codex request parameters for the app-server JSON transport. */
6
+ 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. */
82
+ 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. */
84
+ 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. */
86
+ export const toolName = (item) => {
87
+ switch (item.type) {
88
+ case "commandExecution":
89
+ return "command";
90
+ case "fileChange":
91
+ return "file_change";
92
+ case "mcpToolCall":
93
+ return "mcp_tool";
94
+ case "dynamicToolCall":
95
+ return "dynamic_tool";
96
+ case "webSearch":
97
+ return "web_search";
98
+ case "imageView":
99
+ return "image_view";
100
+ case "imageGeneration":
101
+ return "image_generation";
102
+ }
103
+ };
104
+ /** Normalizes an account window, converting reset timestamps to UTC and absent values to Options. */
105
+ export const rateLimitWindow = (window) => new CoreRateLimitWindow({
106
+ usedPercent: window.usedPercent,
107
+ windowDurationMinutes: Option.fromNullishOr(window.windowDurationMins),
108
+ resetsAt: Option.fromNullishOr(window.resetsAt).pipe(Option.map(DateTime.fromEpochSeconds)),
109
+ });
110
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/pi/codex/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,IAAI,mBAAmB,GACvC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQ1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAoB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AASnE,gFAAgF;AAChF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAA0B,EAAe,EAAE,CAC9D,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,KAAK,CAChB,MAAM,CAAC,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC,MAAM;QACjB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,yBAAyB,EAAE,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAChE;KACF,CAAC,CACH;IACD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;CACzC,CAAC,CAAC;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC,cAAc;IAC5B,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;CAChD,CAAC,CAAC;AACH,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;CACnD,CAAC,CAAC;AACH,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAC;AACH,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,EAAE,EAAE,MAAM,CAAC,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACxD,CAAC,CAAC;AACH,kFAAkF;AAClF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpB,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,iBAAiB;KACT,CAAC;IACX,EAAE,EAAE,MAAM,CAAC,cAAc;IACzB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAC3D,CAAC,CAAC;AACH,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC,MAAM;QACjB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;QACtF,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,MAAM,CAAC;YACZ,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SAChD,CAAC,CACH;KACF,CAAC;CACH,CAAC,CAAC;AACH,2EAA2E;AAC3E,4DAA4D;AAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC3D,CAAC,CAAC;AACH,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KAC9D,CAAC;CACH,CAAC,CAAC;AAEH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAS,EACT,SAA6C,EAC7C,MAAmB,EACnB,KAAa,EACb,KAAkB,EACsD,EAAE,CAC1E,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,6BAA6B,KAAK,EAAE,EAAE,KAAK,CAAC,CAC/E,CACF,CAAC;AAEJ,mGAAmG;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAS,EACT,KAAa,EACb,SAAyB,EACzB,KAAkB,EACqD,EAAE,CACzE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,UAAU,CAAC,iCAAiC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CACpF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACzB,CACF,CACF,CAAC;AAEJ,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAA0B,EAAU,EAAE;IAC7D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC;QACpB,KAAK,iBAAiB;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAmC,EAAuB,EAAE,CAC1F,IAAI,mBAAmB,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAC5F,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { Layer } from "effect";
2
2
  import { CodexChildBackend } from "../../runtime.ts";
3
3
  import { CodexAppServer } from "./app-server.ts";
4
+ export { CodexAppServer, codexAppServerLive, type CodexConnection } from "./app-server.ts";
5
+ /** Provides Codex coding sessions for tasks delegated by a parent. */
4
6
  export declare const codexChildBackendLayer: Layer.Layer<CodexChildBackend, never, CodexAppServer>;
5
7
  //# sourceMappingURL=codex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,EAA0B,MAAM,QAAQ,CAAC;AASnF,OAAO,EAEL,iBAAiB,EAMlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAqdjE,eAAO,MAAM,sBAAsB,uDAAkD,CAAC"}
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"}