@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/pi/claude/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { type AgentSessionEvent, type ChildSession } from "@usine/core/agent/session";
2
+ import { Schema } from "effect";
3
+ export declare const decodeClaudeInit: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Option").Option<{
4
+ readonly type: "system";
5
+ readonly subtype: "init";
6
+ readonly session_id: string & import("effect/Brand").Brand<"HarnessSessionId">;
7
+ }>;
8
+ export declare const ClaudeResultMessage: Schema.Struct<{
9
+ readonly type: Schema.Literal<"result">;
10
+ readonly subtype: Schema.String;
11
+ readonly result: Schema.optionalKey<Schema.String>;
12
+ readonly errors: Schema.optionalKey<Schema.$Array<Schema.String>>;
13
+ readonly queued_turn_count: Schema.optionalKey<Schema.Number>;
14
+ }>;
15
+ export declare const ClaudeCompletionHeader: Schema.Struct<{
16
+ readonly type: Schema.Literal<"system">;
17
+ readonly subtype: Schema.Literals<readonly ["background_tasks_changed", "session_state_changed"]>;
18
+ }>;
19
+ export declare const decodeCompletionUpdate: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{
20
+ readonly type: "system";
21
+ readonly subtype: "background_tasks_changed";
22
+ readonly tasks: readonly {
23
+ readonly task_id: string;
24
+ readonly ambient?: boolean;
25
+ }[];
26
+ } | {
27
+ readonly type: "system";
28
+ readonly subtype: "session_state_changed";
29
+ readonly state: "idle" | "requires_action" | "running";
30
+ }, Schema.SchemaError, never>;
31
+ /** Claude Code's report of a failed API request that it retries; a `null` status means no response was received. */
32
+ export declare const ClaudeApiRetry: Schema.Struct<{
33
+ readonly type: Schema.Literal<"system">;
34
+ readonly subtype: Schema.Literal<"api_retry">;
35
+ readonly attempt: Schema.Number;
36
+ readonly max_retries: Schema.Number;
37
+ readonly retry_delay_ms: Schema.Number;
38
+ readonly error_status: Schema.NullOr<Schema.Number>;
39
+ readonly error: Schema.String;
40
+ }>;
41
+ export declare const decodeApiRetry: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Option").Option<{
42
+ readonly type: "system";
43
+ readonly subtype: "api_retry";
44
+ readonly attempt: number;
45
+ readonly max_retries: number;
46
+ readonly retry_delay_ms: number;
47
+ readonly error_status: number | null;
48
+ readonly error: string;
49
+ }>;
50
+ export declare const isAssistantMessage: <I>(input: I) => input is I & {
51
+ readonly type: "assistant";
52
+ };
53
+ /** Returns an API retry's fields as one sentence, because Claude Code includes no message. */
54
+ export declare const apiRetryMessage: (retry: typeof ClaudeApiRetry.Type) => string;
55
+ /** The login state shown by a launch's messages so far. */
56
+ export type LoginCheck = "waiting" | "loggedIn" | "contended";
57
+ /**
58
+ * Returns the login state shown by one of a launch's first messages. `init` and other session
59
+ * notices can arrive before the first API request, where Claude refreshes an expired login, so they
60
+ * return `waiting`. A model answer, rate-limit or thinking update, API retry, or result returns
61
+ * `loggedIn`, except a result with the refresh lock error and no tokens used, which returns
62
+ * `contended`. The synthetic answer with the same error returns `waiting` until that result.
63
+ */
64
+ export declare const loginCheck: (message: Schema.Json, spentTokens: boolean) => LoginCheck;
65
+ /** Returns the transcript events in `message`; `tools` names the open tool calls by ID. */
66
+ export declare const sessionEventsFrom: (message: Schema.Json, session: ChildSession, tools: Map<string, string>) => ReadonlyArray<AgentSessionEvent>;
67
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/pi/claude/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAKlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,gBAAgB;;;;EAM5B,CAAC;AAsBF,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAC;AAiBH,eAAO,MAAM,sBAAsB;;;EAGjC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;6BAElC,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,cAAc;;;;;;;;EAQzB,CAAC;AACH,eAAO,MAAM,cAAc;;;;;;;;EAA6C,CAAC;AACzE,eAAO,MAAM,kBAAkB;;CAAkE,CAAC;AAElG,8FAA8F;AAC9F,eAAO,MAAM,eAAe,UAAW,OAAO,cAAc,CAAC,IAAI,KAAG,MAQnE,CAAC;AAmBF,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM,CAAC,IAAI,eAAe,OAAO,KAAG,UAevE,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,YACnB,MAAM,CAAC,IAAI,WACX,YAAY,SACd,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,aAAa,CAAC,iBAAiB,CA+BjC,CAAC"}
@@ -0,0 +1,140 @@
1
+ import { HarnessSessionId, TextOutput, ToolFinished, ToolStarted, } from "@usine/core/agent/session";
2
+ import { Schema } from "effect";
3
+ export const decodeClaudeInit = Schema.decodeUnknownOption(Schema.Struct({
4
+ type: Schema.Literal("system"),
5
+ subtype: Schema.Literal("init"),
6
+ session_id: HarnessSessionId,
7
+ }));
8
+ const ClaudeTextBlock = Schema.Struct({
9
+ type: Schema.Literal("text"),
10
+ text: Schema.NonEmptyString,
11
+ });
12
+ const ClaudeContentMessage = Schema.Struct({
13
+ type: Schema.Literals(["assistant", "user"]),
14
+ message: Schema.Struct({ content: Schema.Array(Schema.Json) }),
15
+ });
16
+ const ClaudeToolUseBlock = Schema.Struct({
17
+ type: Schema.Literal("tool_use"),
18
+ id: Schema.NonEmptyString,
19
+ name: Schema.NonEmptyString,
20
+ input: Schema.Json,
21
+ });
22
+ const ClaudeToolResultBlock = Schema.Struct({
23
+ type: Schema.Literal("tool_result"),
24
+ tool_use_id: Schema.NonEmptyString,
25
+ content: Schema.Json,
26
+ is_error: Schema.optionalKey(Schema.Boolean),
27
+ });
28
+ export const ClaudeResultMessage = Schema.Struct({
29
+ type: Schema.Literal("result"),
30
+ subtype: Schema.String,
31
+ result: Schema.optionalKey(Schema.String),
32
+ errors: Schema.optionalKey(Schema.Array(Schema.String)),
33
+ queued_turn_count: Schema.optionalKey(Schema.Number),
34
+ });
35
+ const ClaudeBackgroundTasks = Schema.Struct({
36
+ type: Schema.Literal("system"),
37
+ subtype: Schema.Literal("background_tasks_changed"),
38
+ tasks: Schema.Array(Schema.Struct({
39
+ task_id: Schema.NonEmptyString,
40
+ ambient: Schema.optionalKey(Schema.Boolean),
41
+ })),
42
+ });
43
+ const ClaudeSessionState = Schema.Struct({
44
+ type: Schema.Literal("system"),
45
+ subtype: Schema.Literal("session_state_changed"),
46
+ state: Schema.Literals(["idle", "running", "requires_action"]),
47
+ });
48
+ export const ClaudeCompletionHeader = Schema.Struct({
49
+ type: Schema.Literal("system"),
50
+ subtype: Schema.Literals(["background_tasks_changed", "session_state_changed"]),
51
+ });
52
+ export const decodeCompletionUpdate = Schema.decodeUnknownEffect(Schema.Union([ClaudeBackgroundTasks, ClaudeSessionState]));
53
+ /** Claude Code's report of a failed API request that it retries; a `null` status means no response was received. */
54
+ export const ClaudeApiRetry = Schema.Struct({
55
+ type: Schema.Literal("system"),
56
+ subtype: Schema.Literal("api_retry"),
57
+ attempt: Schema.Number,
58
+ max_retries: Schema.Number,
59
+ retry_delay_ms: Schema.Number,
60
+ error_status: Schema.NullOr(Schema.Number),
61
+ error: Schema.String,
62
+ });
63
+ export const decodeApiRetry = Schema.decodeUnknownOption(ClaudeApiRetry);
64
+ export const isAssistantMessage = Schema.is(Schema.Struct({ type: Schema.Literal("assistant") }));
65
+ /** Returns an API retry's fields as one sentence, because Claude Code includes no message. */
66
+ export const apiRetryMessage = (retry) => {
67
+ const failure = retry.error_status === null ? "without a response" : `with HTTP ${retry.error_status}`;
68
+ const delay = retry.retry_delay_ms < 1_000
69
+ ? `${retry.retry_delay_ms}ms`
70
+ : `${Math.round(retry.retry_delay_ms / 1_000)}s`;
71
+ return `API request failed ${failure} (${retry.error}); retry ${retry.attempt} of ${retry.max_retries} in ${delay}`;
72
+ };
73
+ /**
74
+ * The text Claude Code ends a turn with if another Claude process has the login refresh lock, or
75
+ * exited while it had the lock.
76
+ */
77
+ const LOGIN_CONTENDED = "Failed to refresh OAuth token: another Claude Code process";
78
+ /** Messages that arrive only after an API request was sent with a working login. */
79
+ const ClaudeLoginEvidence = Schema.Union([
80
+ Schema.Struct({ type: Schema.Literals(["rate_limit_event", "stream_event"]) }),
81
+ Schema.Struct({
82
+ type: Schema.Literal("system"),
83
+ subtype: Schema.Literals(["api_retry", "thinking_tokens"]),
84
+ }),
85
+ ]);
86
+ const mentionsLoginContention = (text) => text.includes(LOGIN_CONTENDED);
87
+ /**
88
+ * Returns the login state shown by one of a launch's first messages. `init` and other session
89
+ * notices can arrive before the first API request, where Claude refreshes an expired login, so they
90
+ * return `waiting`. A model answer, rate-limit or thinking update, API retry, or result returns
91
+ * `loggedIn`, except a result with the refresh lock error and no tokens used, which returns
92
+ * `contended`. The synthetic answer with the same error returns `waiting` until that result.
93
+ */
94
+ export const loginCheck = (message, spentTokens) => {
95
+ if (Schema.is(ClaudeResultMessage)(message)) {
96
+ const reported = [
97
+ ...(message.result === undefined ? [] : [message.result]),
98
+ ...(message.errors ?? []),
99
+ ];
100
+ return !spentTokens && reported.some(mentionsLoginContention) ? "contended" : "loggedIn";
101
+ }
102
+ if (Schema.is(ClaudeContentMessage)(message) && message.type === "assistant") {
103
+ const contended = message.message.content.some((block) => Schema.is(ClaudeTextBlock)(block) && mentionsLoginContention(block.text));
104
+ return contended && !spentTokens ? "waiting" : "loggedIn";
105
+ }
106
+ return Schema.is(ClaudeLoginEvidence)(message) ? "loggedIn" : "waiting";
107
+ };
108
+ /** Returns the transcript events in `message`; `tools` names the open tool calls by ID. */
109
+ export const sessionEventsFrom = (message, session, tools) => {
110
+ if (!Schema.is(ClaudeContentMessage)(message))
111
+ return [];
112
+ const events = [];
113
+ for (const block of message.message.content) {
114
+ // Emits only text blocks of completed assistant messages; streaming deltas are not recorded.
115
+ if (message.type === "assistant" && Schema.is(ClaudeTextBlock)(block)) {
116
+ events.push(new TextOutput({ session, text: block.text }));
117
+ }
118
+ else if (Schema.is(ClaudeToolUseBlock)(block)) {
119
+ tools.set(block.id, block.name);
120
+ events.push(new ToolStarted({
121
+ session,
122
+ callId: block.id,
123
+ tool: block.name,
124
+ input: block.input,
125
+ }));
126
+ }
127
+ else if (Schema.is(ClaudeToolResultBlock)(block)) {
128
+ events.push(new ToolFinished({
129
+ session,
130
+ callId: block.tool_use_id,
131
+ tool: tools.get(block.tool_use_id) ?? "unknown",
132
+ output: block.content,
133
+ isError: block.is_error === true,
134
+ }));
135
+ tools.delete(block.tool_use_id);
136
+ }
137
+ }
138
+ return events;
139
+ };
140
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/pi/claude/codec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { type Options } from "@anthropic-ai/claude-agent-sdk";
2
2
  import { Context, Layer, Schema } from "effect";
3
- import { ClaudeChildBackend, ChildBackend } from "../runtime.ts";
4
3
  export interface ClaudeUserMessage {
5
4
  readonly type: "user";
6
5
  readonly message: {
@@ -9,12 +8,12 @@ export interface ClaudeUserMessage {
9
8
  };
10
9
  readonly parent_tool_use_id: null;
11
10
  }
12
- export type ClaudeQueryOptions = Pick<Options, "allowDangerouslySkipPermissions" | "cwd" | "effort" | "model" | "pathToClaudeCodeExecutable" | "permissionMode" | "persistSession" | "settingSources" | "thinking" | "hooks">;
11
+ export type ClaudeQueryOptions = Pick<Options, "allowDangerouslySkipPermissions" | "cwd" | "effort" | "env" | "model" | "pathToClaudeCodeExecutable" | "permissionMode" | "persistSession" | "resume" | "settingSources" | "spawnClaudeCodeProcess" | "thinking" | "hooks">;
13
12
  export interface ClaudeModelInfo {
14
13
  readonly value: string;
15
14
  readonly resolvedModel?: string;
16
15
  }
17
- /** A live Claude Code session with its messages, model discovery, and stop controls. */
16
+ /** A running Claude Code session: its message stream, model list, and stop controls. */
18
17
  export interface ClaudeQuery extends AsyncIterable<Schema.Json> {
19
18
  readonly close: () => void;
20
19
  readonly interrupt: () => Promise<void>;
@@ -23,14 +22,16 @@ export interface ClaudeQuery extends AsyncIterable<Schema.Json> {
23
22
  declare const ClaudeSdk_base: Context.ServiceClass<ClaudeSdk, "@usine/agents/pi/ClaudeSdk", {
24
23
  readonly open: (input: AsyncIterable<ClaudeUserMessage>, options: ClaudeQueryOptions) => ClaudeQuery;
25
24
  }>;
26
- /** Opens Claude Code sessions with the supplied task input and session settings. */
25
+ /** The service that opens Claude Code sessions. */
27
26
  export declare class ClaudeSdk extends ClaudeSdk_base {
28
27
  }
29
- /** Provides Claude Code's session creation and model discovery. */
30
28
  export declare const claudeSdkLive: Layer.Layer<ClaudeSdk, never, never>;
31
- /** Uses Claude Code for every task delegated through `ChildBackend`. */
32
- export declare const claudeChildLayer: Layer.Layer<ChildBackend, never, ClaudeSdk>;
33
- /** Provides the Claude Code backend for direct use or harness-based dispatch. */
34
- export declare const claudeChildBackendLayer: Layer.Layer<ClaudeChildBackend, never, ClaudeSdk>;
29
+ export declare class AsyncInput implements AsyncIterable<ClaudeUserMessage> {
30
+ #private;
31
+ offer(message: ClaudeUserMessage): void;
32
+ end(): void;
33
+ [Symbol.asyncIterator](): AsyncIterator<ClaudeUserMessage>;
34
+ }
35
+ export declare const userMessage: (content: string) => ClaudeUserMessage;
35
36
  export {};
36
- //# sourceMappingURL=claude.d.ts.map
37
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/pi/claude/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAGb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,OAAO,EACL,iCAAiC,GACjC,KAAK,GACL,QAAQ,GACR,KAAK,GACL,OAAO,GACP,4BAA4B,GAC5B,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,wBAAwB,GACxB,UAAU,GACV,OAAO,CACV,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAY,SAAQ,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;CACzE;;mBAMkB,CACb,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACvC,OAAO,EAAE,kBAAkB,KACxB,WAAW;;AAPpB,mDAAmD;AACnD,qBAAa,SAAU,SAAQ,cAQE;CAAG;AAOpC,eAAO,MAAM,aAAa,sCAexB,CAAC;AAEH,qBAAa,UAAW,YAAW,aAAa,CAAC,iBAAiB,CAAC;;IAKjE,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAKtC;IAED,GAAG,IAAI,IAAI,CAIV;IAED,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,iBAAiB,CAAC,CASzD;CACF;AAED,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,iBAI5C,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { query as openClaudeQuery, } from "@anthropic-ai/claude-agent-sdk";
2
+ import { Context, Layer, Schema } from "effect";
3
+ /** The service that opens Claude Code sessions. */
4
+ export class ClaudeSdk extends Context.Service()("@usine/agents/pi/ClaudeSdk") {
5
+ }
6
+ const decodeVendorMessage = Schema.decodeUnknownSync(Schema.fromJsonString(Schema.Json));
7
+ const vendorMessageJson = (message) => decodeVendorMessage(JSON.stringify(message));
8
+ export const claudeSdkLive = Layer.succeed(ClaudeSdk)({
9
+ open: (input, options) => {
10
+ // SAFETY: ClaudeUserMessage is the streaming-input subset of SDKUserMessage.
11
+ const query = openClaudeQuery({ prompt: input, options });
12
+ return {
13
+ close: () => query.close(),
14
+ interrupt: async () => {
15
+ await query.interrupt();
16
+ },
17
+ supportedModels: () => query.supportedModels(),
18
+ async *[Symbol.asyncIterator]() {
19
+ for await (const message of query)
20
+ yield vendorMessageJson(message);
21
+ },
22
+ };
23
+ },
24
+ });
25
+ export class AsyncInput {
26
+ #buffer = [];
27
+ #waiters = [];
28
+ #ended = false;
29
+ offer(message) {
30
+ if (this.#ended)
31
+ throw new Error("Claude input is closed");
32
+ const waiter = this.#waiters.shift();
33
+ if (waiter === undefined)
34
+ this.#buffer.push(message);
35
+ else
36
+ waiter({ done: false, value: message });
37
+ }
38
+ end() {
39
+ if (this.#ended)
40
+ return;
41
+ this.#ended = true;
42
+ for (const waiter of this.#waiters.splice(0))
43
+ waiter({ done: true, value: undefined });
44
+ }
45
+ [Symbol.asyncIterator]() {
46
+ return {
47
+ next: () => {
48
+ const value = this.#buffer.shift();
49
+ if (value !== undefined)
50
+ return Promise.resolve({ done: false, value });
51
+ if (this.#ended)
52
+ return Promise.resolve({ done: true, value: undefined });
53
+ return new Promise((resolve) => this.#waiters.push(resolve));
54
+ },
55
+ };
56
+ }
57
+ }
58
+ export const userMessage = (content) => ({
59
+ type: "user",
60
+ message: { role: "user", content },
61
+ parent_tool_use_id: null,
62
+ });
63
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/pi/claude/sdk.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
- import type { ModelId } from "@usine/core/agent/brain";
2
- import { Effect } from "effect";
1
+ import type { BrainSpec, ModelId } from "@usine/core/agent/brain";
2
+ import { Effect, Option } from "effect";
3
3
  import { PoolUnavailableError } from "../../runtime.ts";
4
4
  import type { CodexConnection } from "./app-server.ts";
5
- /** Negotiates the app-server connection before account inspection or child creation. */
5
+ /** Sends `initialize` and `initialized` to the app server; must run before account checks or creating a child. */
6
6
  export declare const initializeCodex: (connection: CodexConnection) => Effect.Effect<void, import("../../runtime.ts").SessionOperationError, never>;
7
- /** Operator-facing refusal when Codex cannot prove it uses the ChatGPT pool. */
7
+ /** Returns the error for when Codex cannot confirm that it uses the ChatGPT pool. */
8
8
  export declare const codexPoolUnavailable: (model: ModelId) => PoolUnavailableError;
9
- /** Refuses unknown, absent, or API-key authentication before any model request (ADR 0013). */
9
+ /** Verifies the Codex account before any model request. Fails with `PoolUnavailableError` for unknown, missing, or API-key authentication (ADR 0013). */
10
10
  export declare const verifyCodexAccount: (connection: CodexConnection, model: string & import("effect/Brand").Brand<"ModelId">) => Effect.Effect<"chatgptPlan", PoolUnavailableError | import("../../runtime.ts").SessionOperationError, never>;
11
+ /**
12
+ * Returns a Codex child's billing pool. If the Gateway holds the OpenAI credential, Codex has no
13
+ * login of its own, so the pool follows the Gateway's credential kind (ADR 0027); otherwise the
14
+ * machine's ChatGPT login is verified with `verifyCodexAccount`.
15
+ */
16
+ export declare const codexChildPool: (connection: CodexConnection, brain: BrainSpec, gatewayCredential: Option.Option<"api-key" | "subscription">) => Effect.Effect<"apiKeys" | "chatgptPlan" | "claudePlan", PoolUnavailableError | import("../../runtime.ts").SessionOperationError, never>;
11
17
  //# sourceMappingURL=account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,wFAAwF;AACxF,eAAO,MAAM,eAAe,+GAS1B,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,UAAW,OAAO,yBAM/C,CAAC;AAEL,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,wMAgC7B,CAAC"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,kHAAkH;AAClH,eAAO,MAAM,eAAe,+GAS1B,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,UAAW,OAAO,yBAM/C,CAAC;AAEL,yJAAyJ;AACzJ,eAAO,MAAM,kBAAkB,wMAgC7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,0PAazB,CAAC"}
@@ -1,7 +1,8 @@
1
- import { Effect, Schema } from "effect";
1
+ import { brainPool } from "@usine/core/agent/session";
2
+ import { Effect, Option, Schema } from "effect";
2
3
  import { PoolUnavailableError } from "../../runtime.js";
3
4
  import { AccountResponse, } from "../../protocol/codex.js";
4
- /** Negotiates the app-server connection before account inspection or child creation. */
5
+ /** Sends `initialize` and `initialized` to the app server; must run before account checks or creating a child. */
5
6
  export const initializeCodex = Effect.fn("Codex.initialize")(function* (connection) {
6
7
  const params = {
7
8
  clientInfo: { name: "usine", title: "usine", version: "0.0.1" },
@@ -10,20 +11,20 @@ export const initializeCodex = Effect.fn("Codex.initialize")(function* (connecti
10
11
  yield* connection.request("launch", "initialize", Schema.decodeUnknownSync(Schema.Json)(params));
11
12
  yield* connection.notify("launch", "initialized", {});
12
13
  });
13
- /** Operator-facing refusal when Codex cannot prove it uses the ChatGPT pool. */
14
+ /** Returns the error for when Codex cannot confirm that it uses the ChatGPT pool. */
14
15
  export const codexPoolUnavailable = (model) => new PoolUnavailableError({
15
16
  harness: "codex",
16
17
  model,
17
18
  pool: "chatgptPlan",
18
- message: "Codex children require a ChatGPT login; run codex login on the Worker",
19
+ message: "Codex children need a ChatGPT login. Run codex login on the worker.",
19
20
  });
20
- /** Refuses unknown, absent, or API-key authentication before any model request (ADR 0013). */
21
+ /** Verifies the Codex account before any model request. Fails with `PoolUnavailableError` for unknown, missing, or API-key authentication (ADR 0013). */
21
22
  export const verifyCodexAccount = Effect.fn("Codex.verifyAccount")(function* (connection, model) {
22
23
  yield* Effect.annotateCurrentSpan({ harness: "codex", model });
23
24
  const params = { refreshToken: false };
24
25
  const response = yield* connection.request("launch", "account/read", Schema.decodeUnknownSync(Schema.Json)(params));
25
26
  const account = yield* Schema.decodeUnknownEffect(AccountResponse)(response).pipe(Effect.tapError(() => Effect.logError("Codex returned an unrecognized account status", { model })),
26
- // An unrecognized auth response is not evidence of a supported billing pool.
27
+ // An auth response that does not decode is treated as an unsupported billing pool.
27
28
  Effect.mapError(() => codexPoolUnavailable(model)));
28
29
  if (account.account?.type !== "chatgpt" || !account.requiresOpenaiAuth) {
29
30
  yield* Effect.logError("Codex rejected an unavailable billing pool", {
@@ -40,4 +41,20 @@ export const verifyCodexAccount = Effect.fn("Codex.verifyAccount")(function* (co
40
41
  });
41
42
  return "chatgptPlan";
42
43
  });
44
+ /**
45
+ * Returns a Codex child's billing pool. If the Gateway holds the OpenAI credential, Codex has no
46
+ * login of its own, so the pool follows the Gateway's credential kind (ADR 0027); otherwise the
47
+ * machine's ChatGPT login is verified with `verifyCodexAccount`.
48
+ */
49
+ export const codexChildPool = Effect.fn("Codex.childPool")(function* (connection, brain, gatewayCredential) {
50
+ if (Option.isNone(gatewayCredential))
51
+ return yield* verifyCodexAccount(connection, brain.model);
52
+ const pool = brainPool(brain, gatewayCredential);
53
+ yield* Effect.logInfo("Codex uses the Gateway's OpenAI credential; skipped the login check", {
54
+ model: brain.model,
55
+ credential: gatewayCredential.value,
56
+ pool,
57
+ });
58
+ return pool;
59
+ });
43
60
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/pi/codex/account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,eAAe,GAGhB,MAAM,yBAAyB,CAAC;AAGjC,wFAAwF;AACxF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EACpE,UAA2B;IAE3B,MAAM,MAAM,GAAqB;QAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;QAC/D,YAAY,EAAE,IAAI;KACnB,CAAC;IACF,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,EAAE,CACrD,IAAI,oBAAoB,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,KAAK;IACL,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,uEAAuE;CACjF,CAAC,CAAC;AAEL,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAC1E,UAA2B,EAC3B,KAAc;IAEd,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAqB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CACxC,QAAQ,EACR,cAAc,EACd,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAC9C,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/E,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CACnB,MAAM,CAAC,QAAQ,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,CAAC,CAC5E;IACD,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CACnD,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACvE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE;YACnE,KAAK;YACL,YAAY,EAAE,aAAa;YAC3B,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,YAAY;SACtD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;QACnD,KAAK;QACL,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QACpC,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IACH,OAAO,aAAsB,CAAC;AAChC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/pi/codex/account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,eAAe,GAGhB,MAAM,yBAAyB,CAAC;AAGjC,kHAAkH;AAClH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EACpE,UAA2B;IAE3B,MAAM,MAAM,GAAqB;QAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;QAC/D,YAAY,EAAE,IAAI;KACnB,CAAC;IACF,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,EAAE,CACrD,IAAI,oBAAoB,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,KAAK;IACL,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,qEAAqE;CAC/E,CAAC,CAAC;AAEL,yJAAyJ;AACzJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAC1E,UAA2B,EAC3B,KAAc;IAEd,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAqB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CACxC,QAAQ,EACR,cAAc,EACd,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAC9C,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/E,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CACnB,MAAM,CAAC,QAAQ,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,CAAC,CAC5E;IACD,mFAAmF;IACnF,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CACnD,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACvE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE;YACnE,KAAK;YACL,YAAY,EAAE,aAAa;YAC3B,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,YAAY;SACtD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;QACnD,KAAK;QACL,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QACpC,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IACH,OAAO,aAAsB,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAClE,UAA2B,EAC3B,KAAgB,EAChB,iBAAuD;IAEvD,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAChG,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACjD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,qEAAqE,EAAE;QAC3F,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,iBAAiB,CAAC,KAAK;QACnC,IAAI;KACL,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
@@ -1,20 +1,28 @@
1
1
  import { Context, Effect, Layer, Option, Schema, Scope, Stream } from "effect";
2
- import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
2
+ import { type ChildProcess, ChildProcessSpawner } from "effect/process";
3
3
  import type { AgentSessionId } from "@usine/core/agent/session";
4
+ import { type ChildHost } from "../../child-host/child-host.ts";
4
5
  import { type WorkingDirectory, SessionOperationError } from "../../runtime.ts";
5
- /** Worker directory and optional session identity for a scoped app-server connection. */
6
+ /** The settings of one app-server connection. */
6
7
  export interface CodexClient {
8
+ /** The checkout directory on `host`. */
7
9
  readonly cwd: WorkingDirectory;
8
- /** None during preflight, before a child Session exists. */
10
+ /** `None` during preflight, before a child session exists. */
9
11
  readonly sessionId: Option.Option<AgentSessionId>;
12
+ /**
13
+ * The complete environment of the app server and its commands on a local host, or the variables
14
+ * exported on top of a remote host's environment.
15
+ */
16
+ readonly environment: Readonly<Record<string, string>>;
17
+ readonly host: ChildHost;
10
18
  }
11
19
  export interface CodexNotification {
12
20
  readonly method: string;
13
21
  readonly params: Schema.Json;
14
22
  }
15
- /** One JSON-RPC connection to the app server, scoped to its process. */
23
+ /** A JSON-RPC connection to the app server, scoped to its process. */
16
24
  export interface CodexConnection {
17
- /** Closes stdin and waits for the app server to release its threads and commands. */
25
+ /** Closes stdin and waits for the app server to shut down its threads and commands. */
18
26
  readonly close: Effect.Effect<void, SessionOperationError>;
19
27
  readonly notifications: Stream.Stream<CodexNotification, SessionOperationError>;
20
28
  readonly request: (operation: SessionOperationError["operation"], method: string, params: Schema.Json) => Effect.Effect<Schema.Json, SessionOperationError>;
@@ -23,11 +31,15 @@ export interface CodexConnection {
23
31
  declare const CodexAppServer_base: Context.ServiceClass<CodexAppServer, "@usine/agents/pi/CodexAppServer", {
24
32
  readonly open: (request: CodexClient) => Effect.Effect<CodexConnection, SessionOperationError, Scope.Scope>;
25
33
  }>;
26
- /** Spawns the Codex app-server process and exposes its JSON-RPC connection. */
34
+ /** The service that spawns the Codex app-server process and provides its JSON-RPC connection. */
27
35
  export declare class CodexAppServer extends CodexAppServer_base {
28
36
  }
29
37
  export declare const operationError: (operation: SessionOperationError["operation"], request: CodexClient, message: string, cause: unknown) => SessionOperationError;
30
- export declare const codexAppServerCommand: (cwd: string, stdin?: ChildProcess.CommandOptions["stdin"]) => ChildProcess.Command;
38
+ /**
39
+ * Returns the app-server command for `client` on its host. The process starts in the home directory,
40
+ * not the worktree, so startup cannot read repository config before thread trust is set.
41
+ */
42
+ export declare const codexAppServerCommand: (client: CodexClient, stdin?: ChildProcess.CommandOptions["stdin"]) => ChildProcess.Command;
31
43
  export declare const codexAppServerLive: Layer.Layer<CodexAppServer, never, ChildProcessSpawner.ChildProcessSpawner>;
32
44
  export {};
33
45
  //# sourceMappingURL=app-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-server.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/app-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,MAAM,EAEN,KAAK,EACL,MAAM,EAGN,MAAM,EACN,KAAK,EACL,MAAM,EACP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;CAC9B;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,CAChB,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,IAAI,KAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,CACf,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,IAAI,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;CACjD;;mBAMkB,CACb,OAAO,EAAE,WAAW,KACjB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC;;AAN3E,+EAA+E;AAC/E,qBAAa,cAAe,SAAQ,mBAOE;CAAG;AA2BzC,eAAO,MAAM,cAAc,cACd,qBAAqB,CAAC,WAAW,CAAC,WACpC,WAAW,WACX,MAAM,SACR,OAAO,KACb,qBAMC,CAAC;AAWL,eAAO,MAAM,qBAAqB,QAC3B,MAAM,UACH,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,KAC3C,YAAY,CAAC,OAuBf,CAAC;AA0VF,eAAO,MAAM,kBAAkB,6EAAmD,CAAC"}
1
+ {"version":3,"file":"app-server.d.ts","sourceRoot":"","sources":["../../../src/pi/codex/app-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,MAAM,EAEN,KAAK,EACL,MAAM,EAGN,MAAM,EACN,KAAK,EACL,MAAM,EACP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,KAAK,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;CAC9B;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,CAChB,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,IAAI,KAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,CACf,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,IAAI,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;CACjD;;mBAMkB,CACb,OAAO,EAAE,WAAW,KACjB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC;;AAN3E,iGAAiG;AACjG,qBAAa,cAAe,SAAQ,mBAOE;CAAG;AA2BzC,eAAO,MAAM,cAAc,cACd,qBAAqB,CAAC,WAAW,CAAC,WACpC,WAAW,WACX,MAAM,SACR,OAAO,KACb,qBAMC,CAAC;AAWL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,WACxB,WAAW,UACX,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,KAC3C,YAAY,CAAC,OA0Bf,CAAC;AAyVF,eAAO,MAAM,kBAAkB,6EAAmD,CAAC"}