@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.
- package/LICENSE +661 -21
- package/README.md +100 -30
- package/dist/child-host/child-host.d.ts +90 -0
- package/dist/child-host/child-host.d.ts.map +1 -0
- package/dist/child-host/child-host.js +119 -0
- package/dist/child-host/child-host.js.map +1 -0
- package/dist/child-host/command.d.ts +22 -0
- package/dist/child-host/command.d.ts.map +1 -0
- package/dist/child-host/command.js +43 -0
- package/dist/child-host/command.js.map +1 -0
- package/dist/openai-prices.d.ts +8 -0
- package/dist/openai-prices.d.ts.map +1 -0
- package/dist/openai-prices.js +28 -0
- package/dist/openai-prices.js.map +1 -0
- package/dist/pi/authentication.d.ts +11 -2
- package/dist/pi/authentication.d.ts.map +1 -1
- package/dist/pi/authentication.js +15 -2
- package/dist/pi/authentication.js.map +1 -1
- package/dist/pi/children.d.ts +1 -4
- package/dist/pi/children.d.ts.map +1 -1
- package/dist/pi/children.js +1 -4
- package/dist/pi/children.js.map +1 -1
- package/dist/pi/claude/claude.d.ts +10 -0
- package/dist/pi/claude/claude.d.ts.map +1 -0
- package/dist/pi/claude/claude.js +610 -0
- package/dist/pi/claude/claude.js.map +1 -0
- package/dist/pi/claude/codec.d.ts +67 -0
- package/dist/pi/claude/codec.d.ts.map +1 -0
- package/dist/pi/claude/codec.js +140 -0
- package/dist/pi/claude/codec.js.map +1 -0
- package/dist/pi/{claude.d.ts → claude/sdk.d.ts} +11 -10
- package/dist/pi/claude/sdk.d.ts.map +1 -0
- package/dist/pi/claude/sdk.js +63 -0
- package/dist/pi/claude/sdk.js.map +1 -0
- package/dist/pi/codex/account.d.ts +11 -5
- package/dist/pi/codex/account.d.ts.map +1 -1
- package/dist/pi/codex/account.js +23 -6
- package/dist/pi/codex/account.js.map +1 -1
- package/dist/pi/codex/app-server.d.ts +19 -7
- package/dist/pi/codex/app-server.d.ts.map +1 -1
- package/dist/pi/codex/app-server.js +41 -36
- package/dist/pi/codex/app-server.js.map +1 -1
- package/dist/pi/codex/codec.d.ts +10 -84
- package/dist/pi/codex/codec.d.ts.map +1 -1
- package/dist/pi/codex/codec.js +18 -80
- package/dist/pi/codex/codec.js.map +1 -1
- package/dist/pi/codex/codex.d.ts +0 -1
- package/dist/pi/codex/codex.d.ts.map +1 -1
- package/dist/pi/codex/codex.js +89 -18
- package/dist/pi/codex/codex.js.map +1 -1
- package/dist/pi/conversation.d.ts +33 -12
- package/dist/pi/conversation.d.ts.map +1 -1
- package/dist/pi/conversation.js +58 -18
- package/dist/pi/conversation.js.map +1 -1
- package/dist/pi/pi.d.ts +1 -4
- package/dist/pi/pi.d.ts.map +1 -1
- package/dist/pi/pi.js +29 -175
- package/dist/pi/pi.js.map +1 -1
- package/dist/pi/sdk.d.ts +18 -15
- package/dist/pi/sdk.d.ts.map +1 -1
- package/dist/pi/sdk.js +45 -55
- package/dist/pi/sdk.js.map +1 -1
- package/dist/pi/session.d.ts +13 -14
- package/dist/pi/session.d.ts.map +1 -1
- package/dist/pi/session.js +63 -24
- package/dist/pi/session.js.map +1 -1
- package/dist/pi/turns.d.ts +7 -7
- package/dist/pi/turns.d.ts.map +1 -1
- package/dist/pi/turns.js +22 -9
- package/dist/pi/turns.js.map +1 -1
- package/dist/pi/usage.d.ts +36 -22
- package/dist/pi/usage.d.ts.map +1 -1
- package/dist/pi/usage.js +79 -33
- package/dist/pi/usage.js.map +1 -1
- package/dist/preflight/command.d.ts +16 -4
- package/dist/preflight/command.d.ts.map +1 -1
- package/dist/preflight/command.js +29 -27
- package/dist/preflight/command.js.map +1 -1
- package/dist/preflight/preflight.d.ts +19 -7
- package/dist/preflight/preflight.d.ts.map +1 -1
- package/dist/preflight/preflight.js +73 -32
- package/dist/preflight/preflight.js.map +1 -1
- package/dist/prompt.d.ts +12 -9
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +33 -4
- package/dist/prompt.js.map +1 -1
- package/dist/protocol/codex.d.ts +122 -7
- package/dist/protocol/codex.d.ts.map +1 -1
- package/dist/protocol/codex.js +109 -1
- package/dist/protocol/codex.js.map +1 -1
- package/dist/protocol/count.d.ts +4 -0
- package/dist/protocol/count.d.ts.map +1 -0
- package/dist/protocol/count.js +4 -0
- package/dist/protocol/count.js.map +1 -0
- package/dist/runtime.d.ts +110 -55
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +114 -27
- package/dist/runtime.js.map +1 -1
- package/package.json +35 -19
- package/dist/pi/claude.d.ts.map +0 -1
- package/dist/pi/claude.js +0 -302
- package/dist/pi/claude.js.map +0 -1
- package/dist/pi/live.d.ts +0 -4
- package/dist/pi/live.d.ts.map +0 -1
- package/dist/pi/live.js +0 -11
- package/dist/pi/live.js.map +0 -1
- package/dist/pi/subagents.d.ts +0 -29
- package/dist/pi/subagents.d.ts.map +0 -1
- package/dist/pi/subagents.js +0 -120
- package/dist/pi/subagents.js.map +0 -1
- package/dist/pi/thinking.d.ts +0 -8
- package/dist/pi/thinking.d.ts.map +0 -1
- package/dist/pi/thinking.js +0 -15
- 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
|
|
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
|
-
/**
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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=
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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;
|
|
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"}
|
package/dist/pi/codex/account.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
|
19
|
+
message: "Codex children need a ChatGPT login. Run codex login on the worker.",
|
|
19
20
|
});
|
|
20
|
-
/**
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/pi/codex/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { Context, Effect, Layer, Option, Schema, Scope, Stream } from "effect";
|
|
2
|
-
import { ChildProcess, ChildProcessSpawner } from "effect/
|
|
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
|
-
/**
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
|
|
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,
|
|
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"}
|