openryoko 2026.5.8 → 2026.5.13
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/dist/package.json +1 -1
- package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/agents-canvas.test.js +191 -0
- package/dist/src/connectors/slack/__tests__/agents-canvas.test.js.map +1 -0
- package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts +2 -0
- package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts.map +1 -0
- package/dist/src/connectors/slack/__tests__/goal-extractor.test.js +129 -0
- package/dist/src/connectors/slack/__tests__/goal-extractor.test.js.map +1 -0
- package/dist/src/connectors/slack/agents-canvas.d.ts +59 -0
- package/dist/src/connectors/slack/agents-canvas.d.ts.map +1 -0
- package/dist/src/connectors/slack/agents-canvas.js +372 -0
- package/dist/src/connectors/slack/agents-canvas.js.map +1 -0
- package/dist/src/connectors/slack/goal-extractor.d.ts +67 -0
- package/dist/src/connectors/slack/goal-extractor.d.ts.map +1 -0
- package/dist/src/connectors/slack/goal-extractor.js +302 -0
- package/dist/src/connectors/slack/goal-extractor.js.map +1 -0
- package/dist/src/connectors/slack/index.d.ts +15 -0
- package/dist/src/connectors/slack/index.d.ts.map +1 -1
- package/dist/src/connectors/slack/index.js +78 -0
- package/dist/src/connectors/slack/index.js.map +1 -1
- package/dist/src/engines/claude.d.ts +11 -0
- package/dist/src/engines/claude.d.ts.map +1 -1
- package/dist/src/engines/claude.js +75 -13
- package/dist/src/engines/claude.js.map +1 -1
- package/dist/src/gateway/api.d.ts.map +1 -1
- package/dist/src/gateway/api.js +20 -0
- package/dist/src/gateway/api.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +61 -2
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/sessions/context.js +20 -2
- package/dist/src/sessions/context.js.map +1 -1
- package/dist/src/sessions/manager.d.ts.map +1 -1
- package/dist/src/sessions/manager.js +15 -1
- package/dist/src/sessions/manager.js.map +1 -1
- package/dist/src/shared/types.d.ts +21 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +2 -2
- package/dist/web/__next._full.txt +3 -3
- package/dist/web/__next._head.txt +1 -1
- package/dist/web/__next._index.txt +2 -2
- package/dist/web/__next._tree.txt +2 -2
- package/dist/web/_next/static/chunks/{0y3uv64m1qh.k.js → 012aakl34ff5a.js} +2 -2
- package/dist/web/_next/static/chunks/{0j4uz-g9x1_~s.js → 0a2uy1kw.~j~c.js} +1 -1
- package/dist/web/_next/static/chunks/{0v51a3blij~j6.js → 0agxgztb0b~.7.js} +2 -2
- package/dist/web/_next/static/chunks/{1645~4k0qcst0.js → 0g6xt.91k~0bc.js} +2 -2
- package/dist/web/_next/static/chunks/{16zc7-yv7supr.js → 0jzw1gpuag8bc.js} +2 -2
- package/dist/web/_next/static/chunks/0kceasmxfr3s1.js +1 -0
- package/dist/web/_next/static/chunks/{0wv0qjh9tuqx~.js → 0lkp92-ovteta.js} +2 -2
- package/dist/web/_next/static/chunks/{1621s_jgljr1_.js → 0msmlzd_~uk0y.js} +2 -2
- package/dist/web/_next/static/chunks/{00yn.jp4tr9l6.js → 0z5lzlvft9.4o.js} +2 -2
- package/dist/web/_next/static/chunks/103zsy0q9psfj.css +1 -0
- package/dist/web/_next/static/chunks/{0ma0h4_2c8y9y.js → 12m97bwrg1tuu.js} +2 -2
- package/dist/web/_not-found/__next._full.txt +2 -2
- package/dist/web/_not-found/__next._head.txt +1 -1
- package/dist/web/_not-found/__next._index.txt +2 -2
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/web/_not-found/__next._not-found.txt +1 -1
- package/dist/web/_not-found/__next._tree.txt +2 -2
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +2 -2
- package/dist/web/chat/__next._full.txt +3 -3
- package/dist/web/chat/__next._head.txt +1 -1
- package/dist/web/chat/__next._index.txt +2 -2
- package/dist/web/chat/__next._tree.txt +2 -2
- package/dist/web/chat/__next.chat.__PAGE__.txt +2 -2
- package/dist/web/chat/__next.chat.txt +1 -1
- package/dist/web/chat.html +1 -1
- package/dist/web/chat.txt +3 -3
- package/dist/web/cron/__next._full.txt +3 -3
- package/dist/web/cron/__next._head.txt +1 -1
- package/dist/web/cron/__next._index.txt +2 -2
- package/dist/web/cron/__next._tree.txt +2 -2
- package/dist/web/cron/__next.cron.__PAGE__.txt +2 -2
- package/dist/web/cron/__next.cron.txt +1 -1
- package/dist/web/cron.html +1 -1
- package/dist/web/cron.txt +3 -3
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +3 -3
- package/dist/web/kanban/__next._full.txt +3 -3
- package/dist/web/kanban/__next._head.txt +1 -1
- package/dist/web/kanban/__next._index.txt +2 -2
- package/dist/web/kanban/__next._tree.txt +2 -2
- package/dist/web/kanban/__next.kanban.__PAGE__.txt +2 -2
- package/dist/web/kanban/__next.kanban.txt +1 -1
- package/dist/web/kanban.html +1 -1
- package/dist/web/kanban.txt +3 -3
- package/dist/web/logs/__next._full.txt +3 -3
- package/dist/web/logs/__next._head.txt +1 -1
- package/dist/web/logs/__next._index.txt +2 -2
- package/dist/web/logs/__next._tree.txt +2 -2
- package/dist/web/logs/__next.logs.__PAGE__.txt +2 -2
- package/dist/web/logs/__next.logs.txt +1 -1
- package/dist/web/logs.html +2 -2
- package/dist/web/logs.txt +3 -3
- package/dist/web/org/__next._full.txt +3 -3
- package/dist/web/org/__next._head.txt +1 -1
- package/dist/web/org/__next._index.txt +2 -2
- package/dist/web/org/__next._tree.txt +2 -2
- package/dist/web/org/__next.org.__PAGE__.txt +2 -2
- package/dist/web/org/__next.org.txt +1 -1
- package/dist/web/org.html +1 -1
- package/dist/web/org.txt +3 -3
- package/dist/web/sessions/__next._full.txt +2 -2
- package/dist/web/sessions/__next._head.txt +1 -1
- package/dist/web/sessions/__next._index.txt +2 -2
- package/dist/web/sessions/__next._tree.txt +2 -2
- package/dist/web/sessions/__next.sessions.__PAGE__.txt +1 -1
- package/dist/web/sessions/__next.sessions.txt +1 -1
- package/dist/web/sessions.html +1 -1
- package/dist/web/sessions.txt +2 -2
- package/dist/web/settings/__next._full.txt +3 -3
- package/dist/web/settings/__next._head.txt +1 -1
- package/dist/web/settings/__next._index.txt +2 -2
- package/dist/web/settings/__next._tree.txt +2 -2
- package/dist/web/settings/__next.settings.__PAGE__.txt +2 -2
- package/dist/web/settings/__next.settings.txt +1 -1
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +3 -3
- package/dist/web/skills/__next._full.txt +3 -3
- package/dist/web/skills/__next._head.txt +1 -1
- package/dist/web/skills/__next._index.txt +2 -2
- package/dist/web/skills/__next._tree.txt +2 -2
- package/dist/web/skills/__next.skills.__PAGE__.txt +2 -2
- package/dist/web/skills/__next.skills.txt +1 -1
- package/dist/web/skills.html +1 -1
- package/dist/web/skills.txt +3 -3
- package/package.json +1 -1
- package/dist/web/_next/static/chunks/05uy~i7wsbsn3.js +0 -1
- package/dist/web/_next/static/chunks/0bj62gv2pext..css +0 -1
- package/dist/web/dev/logs/next-development.log +0 -5
- /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Natural-language `/goal` extraction for Slack messages.
|
|
3
|
+
*
|
|
4
|
+
* Lives outside the triage path on purpose: triage = "should we respond at
|
|
5
|
+
* all" (only meaningful when ambient noise might NOT be for us). When the
|
|
6
|
+
* message clearly IS for us (DM / @-mention / DM-equivalent / triage→reply),
|
|
7
|
+
* triage is bypassed but we still want to recognise autonomous-completion
|
|
8
|
+
* intent and prefix `/goal <cond>` to the engine prompt so Claude Code's
|
|
9
|
+
* v2.1.139 Stop hook keeps the session working until the goal holds.
|
|
10
|
+
*
|
|
11
|
+
* Two stages keep latency and cost down:
|
|
12
|
+
*
|
|
13
|
+
* 1. `hasGoalIntent` — deterministic keyword gate. Burns no LLM credits.
|
|
14
|
+
* Catches the common JP / EN "keep going until done" phrasings.
|
|
15
|
+
* 2. `extractGoalCondition` — only fires when (1) matches. Spawns Haiku
|
|
16
|
+
* via the Claude Code CLI with a tight prompt and a hard timeout.
|
|
17
|
+
* On any failure (timeout, unparseable output, slash-prefix rejection)
|
|
18
|
+
* it returns `null` and the caller pretends nothing happened.
|
|
19
|
+
*
|
|
20
|
+
* All sanitisation lives in `parseGoalExtractionResult` so it is unit-
|
|
21
|
+
* testable without spawning a subprocess.
|
|
22
|
+
*/
|
|
23
|
+
import { spawn } from "node:child_process";
|
|
24
|
+
import { logger } from "../../shared/logger.js";
|
|
25
|
+
import { resolveBin, formatSpawnError } from "../../shared/resolveBin.js";
|
|
26
|
+
import { buildChildEnv } from "../../shared/childEnv.js";
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Cheap pre-gate
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* The smallest message length we bother extracting from. Anything shorter
|
|
32
|
+
* than this is almost certainly an ack ("ok", "thanks", emoji) or single-
|
|
33
|
+
* sentence quick question and very unlikely to contain a multi-turn goal.
|
|
34
|
+
* Cuts Haiku traffic on trivial messages without losing real cases.
|
|
35
|
+
*/
|
|
36
|
+
const MIN_MESSAGE_CHARS_FOR_EXTRACTION = 12;
|
|
37
|
+
/**
|
|
38
|
+
* Cheap, deterministic gate. Returns false for messages that obviously do
|
|
39
|
+
* not warrant a goal-extraction LLM call (too short, already prefixed with
|
|
40
|
+
* `/goal`, etc.). Returns true otherwise — the Haiku call is the source of
|
|
41
|
+
* truth on whether a condition can actually be distilled, and its parser
|
|
42
|
+
* (`parseGoalExtractionResult`) rejects sentinels / vague output.
|
|
43
|
+
*
|
|
44
|
+
* Replaced an earlier keyword regex approach that missed natural phrasings
|
|
45
|
+
* like "数字1から3までを別々のターンで出して完了と書いたら止まる" — keyword
|
|
46
|
+
* matching is fundamentally fragile for free-form Japanese.
|
|
47
|
+
*/
|
|
48
|
+
export function shouldExtractGoal(text) {
|
|
49
|
+
if (!text)
|
|
50
|
+
return false;
|
|
51
|
+
if (text.startsWith("/goal "))
|
|
52
|
+
return false;
|
|
53
|
+
if (text.trim().length < MIN_MESSAGE_CHARS_FOR_EXTRACTION)
|
|
54
|
+
return false;
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Retained for back-compat in case external callers imported
|
|
59
|
+
* the keyword-gate API. Now an alias for {@link shouldExtractGoal}.
|
|
60
|
+
*/
|
|
61
|
+
export function hasGoalIntent(text) {
|
|
62
|
+
return shouldExtractGoal(text);
|
|
63
|
+
}
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
// Prompt builder (pure)
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
const MAX_MESSAGE_CHARS = 2000;
|
|
68
|
+
export function buildGoalExtractionPrompt(messageText) {
|
|
69
|
+
const truncated = messageText.length > MAX_MESSAGE_CHARS
|
|
70
|
+
? messageText.slice(0, MAX_MESSAGE_CHARS) + "\n…(truncated)"
|
|
71
|
+
: messageText;
|
|
72
|
+
return `You decide, for a user's message to an AI assistant, whether the
|
|
73
|
+
work it asks for should run AUTONOMOUSLY ACROSS MANY TURNS until a specific
|
|
74
|
+
outcome holds — and if so, you distill that completion condition into one
|
|
75
|
+
self-checkable sentence.
|
|
76
|
+
|
|
77
|
+
You are the sole gate. Most messages are NOT autonomous-completion tasks;
|
|
78
|
+
return {"condition": null} for them. Only flag the cases where the user has
|
|
79
|
+
clearly described a state to reach OR is explicitly asking for keep-going
|
|
80
|
+
behaviour.
|
|
81
|
+
|
|
82
|
+
# Input
|
|
83
|
+
The user's message:
|
|
84
|
+
"""
|
|
85
|
+
${truncated}
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
# Output (STRICT)
|
|
89
|
+
Output EXACTLY ONE JSON object, nothing else. No markdown, no prose, no code
|
|
90
|
+
fences. One of:
|
|
91
|
+
|
|
92
|
+
{"condition": "<one short sentence stating the final state>"}
|
|
93
|
+
{"condition": null}
|
|
94
|
+
|
|
95
|
+
# When to set "condition" (be conservative — when in doubt, null)
|
|
96
|
+
Set a condition when ANY of these hold:
|
|
97
|
+
(a) Explicit keep-going language: "完成するまで止まらないで", "最後まで
|
|
98
|
+
やって", "終わるまで動いて", "keep going until done", etc.
|
|
99
|
+
(b) Explicit completion notice: "終わったらSlackで教えて", "完成したら
|
|
100
|
+
報告して", "report when done", etc.
|
|
101
|
+
(c) An embedded stop / iteration condition that implies many turns:
|
|
102
|
+
"完了と書いたら止まる", "Xになるまで何度でも", "一個ずつ", "別々の
|
|
103
|
+
ターンで", "one at a time", "stop once …", etc.
|
|
104
|
+
(d) Multi-step pipeline language with explicit ordering and a clear end
|
|
105
|
+
state: "AしてからBしてCに投稿するまで". (Be strict — a casual "Aして
|
|
106
|
+
Bして" without a clear end state is NOT enough.)
|
|
107
|
+
|
|
108
|
+
Otherwise return {"condition": null}. Examples that should be null:
|
|
109
|
+
- Single-shot questions or requests ("〜について教えて", "〜のコード書いて")
|
|
110
|
+
- Casual chat / acknowledgements
|
|
111
|
+
- Vague requests where no checkable end state exists
|
|
112
|
+
- Messages addressed to other people
|
|
113
|
+
|
|
114
|
+
# Rules for "condition" (when not null)
|
|
115
|
+
- ONE sentence describing the final STATE that, once true, means the task
|
|
116
|
+
is done. NOT the steps to get there.
|
|
117
|
+
- Self-checkable from the assistant's own work or its tool outputs. AVOID
|
|
118
|
+
conditions that require human judgement (e.g. "the user is satisfied").
|
|
119
|
+
- Concrete and specific. Echo concrete nouns/numbers from the user's
|
|
120
|
+
message (counts, target docs, channels, file names) when present.
|
|
121
|
+
- One sentence, English or Japanese, <= 200 characters. No newlines, no
|
|
122
|
+
bullet lists.
|
|
123
|
+
- MUST NOT start with a slash.
|
|
124
|
+
|
|
125
|
+
# Examples
|
|
126
|
+
|
|
127
|
+
User: "5社の人事SaaSの料金/機能を比較した表をこのスレッドに投げて、完成するまで止まらないで"
|
|
128
|
+
→ {"condition": "Posted a Markdown table comparing the pricing and features of five HR SaaS products to this Slack thread."}
|
|
129
|
+
|
|
130
|
+
User: "数字1から3までを別々のターンで出して完了と書いたら止まる 最初に"
|
|
131
|
+
→ {"condition": "Output the numbers 1, 2 and 3 each in a separate assistant turn, then write 完了."}
|
|
132
|
+
|
|
133
|
+
User: "プロジェクトAの全タスクをLinearで close するまで動いて、終わったら教えて"
|
|
134
|
+
→ {"condition": "Closed every open task under project A in Linear."}
|
|
135
|
+
|
|
136
|
+
User: "ちょっと聞きたいんだけど、Tailscale って何?"
|
|
137
|
+
→ {"condition": null}
|
|
138
|
+
|
|
139
|
+
User: "ありがとう、助かった"
|
|
140
|
+
→ {"condition": null}
|
|
141
|
+
|
|
142
|
+
User: "ブログ記事のドラフト書いて"
|
|
143
|
+
→ {"condition": null}
|
|
144
|
+
|
|
145
|
+
# Output
|
|
146
|
+
Produce the JSON object now. JSON only.`;
|
|
147
|
+
}
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
// Result parser (pure)
|
|
150
|
+
// ---------------------------------------------------------------------------
|
|
151
|
+
const MAX_CONDITION_CHARS = 400;
|
|
152
|
+
// Built via new RegExp so the source text is plain ASCII — embedding raw
|
|
153
|
+
// control bytes in a regex literal trips some editor / tool pipelines.
|
|
154
|
+
const CONTROL_CHARS_RE = new RegExp("[\\u0000-\\u001f\\u007f]", "g");
|
|
155
|
+
/**
|
|
156
|
+
* Parse Haiku's response into a sanitised condition, or null if no usable
|
|
157
|
+
* condition was returned. Sanitisation:
|
|
158
|
+
* - strip control characters, collapse whitespace
|
|
159
|
+
* - reject leading `/` (would smuggle a second slash command)
|
|
160
|
+
* - reject obviously vague placeholders
|
|
161
|
+
* - hard cap on length
|
|
162
|
+
*/
|
|
163
|
+
export function parseGoalExtractionResult(raw) {
|
|
164
|
+
if (!raw)
|
|
165
|
+
return null;
|
|
166
|
+
const fenced = raw.match(/```(?:json)?\s*([\s\S]*?)```/i);
|
|
167
|
+
const candidate = fenced ? fenced[1] : raw;
|
|
168
|
+
const jsonMatch = candidate.match(/\{[\s\S]*\}/);
|
|
169
|
+
if (!jsonMatch)
|
|
170
|
+
return null;
|
|
171
|
+
let parsed;
|
|
172
|
+
try {
|
|
173
|
+
parsed = JSON.parse(jsonMatch[0]);
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
if (!parsed || typeof parsed !== "object")
|
|
179
|
+
return null;
|
|
180
|
+
const value = parsed.condition;
|
|
181
|
+
if (typeof value !== "string")
|
|
182
|
+
return null;
|
|
183
|
+
const flat = value.replace(CONTROL_CHARS_RE, " ").replace(/\s+/g, " ").trim();
|
|
184
|
+
if (!flat)
|
|
185
|
+
return null;
|
|
186
|
+
if (flat.startsWith("/"))
|
|
187
|
+
return null;
|
|
188
|
+
// Reject obvious sentinels that the LLM might still produce despite
|
|
189
|
+
// being asked for null.
|
|
190
|
+
const lower = flat.toLowerCase();
|
|
191
|
+
if (lower === "none" ||
|
|
192
|
+
lower === "n/a" ||
|
|
193
|
+
lower === "null" ||
|
|
194
|
+
lower === "unknown" ||
|
|
195
|
+
lower === "tbd" ||
|
|
196
|
+
lower.startsWith("the user is")) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
return flat.slice(0, MAX_CONDITION_CHARS);
|
|
200
|
+
}
|
|
201
|
+
// The Haiku CLI startup overhead on the production VPS is 5-10s even
|
|
202
|
+
// before the model call begins. 15s left no slack and routinely tripped.
|
|
203
|
+
// 30s matches triage's headroom while keeping the user-perceived added
|
|
204
|
+
// latency bounded.
|
|
205
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
206
|
+
const DEFAULT_MODEL = "claude-haiku-4-5";
|
|
207
|
+
const DEFAULT_BIN = "claude";
|
|
208
|
+
/**
|
|
209
|
+
* Extract a `/goal` condition from a user's message. Returns null on any
|
|
210
|
+
* failure — the caller should treat this as "don't inject /goal" and move
|
|
211
|
+
* on. Never throws.
|
|
212
|
+
*/
|
|
213
|
+
export async function extractGoalCondition(messageText, options = {}) {
|
|
214
|
+
if (!shouldExtractGoal(messageText))
|
|
215
|
+
return null;
|
|
216
|
+
const bin = options.bin || DEFAULT_BIN;
|
|
217
|
+
const model = options.model || DEFAULT_MODEL;
|
|
218
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
219
|
+
const spawnFn = options.spawnImpl || spawn;
|
|
220
|
+
const prompt = buildGoalExtractionPrompt(messageText);
|
|
221
|
+
try {
|
|
222
|
+
const output = await invokeClaude(prompt, { bin, model, timeoutMs, spawnFn });
|
|
223
|
+
return parseGoalExtractionResult(output);
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
logger.warn(`[goal-extractor] extraction failed, skipping /goal: ${err}`);
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
function invokeClaude(prompt, opts) {
|
|
231
|
+
return new Promise((resolve, reject) => {
|
|
232
|
+
const args = [
|
|
233
|
+
"-p",
|
|
234
|
+
"--output-format",
|
|
235
|
+
"json",
|
|
236
|
+
"--model",
|
|
237
|
+
opts.model,
|
|
238
|
+
"--dangerously-skip-permissions",
|
|
239
|
+
prompt,
|
|
240
|
+
];
|
|
241
|
+
const resolvedBin = resolveBin(opts.bin);
|
|
242
|
+
const proc = opts.spawnFn(resolvedBin, args, {
|
|
243
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
244
|
+
env: buildChildEnv(),
|
|
245
|
+
});
|
|
246
|
+
let stdout = "";
|
|
247
|
+
let stderr = "";
|
|
248
|
+
let settled = false;
|
|
249
|
+
const timer = setTimeout(() => {
|
|
250
|
+
if (settled)
|
|
251
|
+
return;
|
|
252
|
+
settled = true;
|
|
253
|
+
try {
|
|
254
|
+
proc.kill("SIGTERM");
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
/* ignore */
|
|
258
|
+
}
|
|
259
|
+
reject(new Error(`goal-extractor timed out after ${opts.timeoutMs}ms`));
|
|
260
|
+
}, opts.timeoutMs);
|
|
261
|
+
proc.stdout?.on("data", (chunk) => {
|
|
262
|
+
stdout += chunk.toString("utf8");
|
|
263
|
+
});
|
|
264
|
+
proc.stderr?.on("data", (chunk) => {
|
|
265
|
+
stderr += chunk.toString("utf8");
|
|
266
|
+
});
|
|
267
|
+
proc.on("error", (err) => {
|
|
268
|
+
if (settled)
|
|
269
|
+
return;
|
|
270
|
+
settled = true;
|
|
271
|
+
clearTimeout(timer);
|
|
272
|
+
reject(new Error(formatSpawnError("goal-extractor CLI", opts.bin, err)));
|
|
273
|
+
});
|
|
274
|
+
proc.on("close", (code) => {
|
|
275
|
+
if (settled)
|
|
276
|
+
return;
|
|
277
|
+
settled = true;
|
|
278
|
+
clearTimeout(timer);
|
|
279
|
+
if (code !== 0) {
|
|
280
|
+
reject(new Error(`claude exited ${code}: ${stderr.slice(0, 500)}`));
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
resolve(extractClaudeResult(stdout));
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
function extractClaudeResult(stdout) {
|
|
288
|
+
const trimmed = stdout.trim();
|
|
289
|
+
if (!trimmed)
|
|
290
|
+
return "";
|
|
291
|
+
try {
|
|
292
|
+
const parsed = JSON.parse(trimmed);
|
|
293
|
+
if (parsed && typeof parsed === "object" && typeof parsed.result === "string") {
|
|
294
|
+
return parsed.result;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
/* fall through */
|
|
299
|
+
}
|
|
300
|
+
return trimmed;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=goal-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal-extractor.js","sourceRoot":"","sources":["../../../../src/connectors/slack/goal-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export declare class SlackConnector implements Connector {
|
|
|
22
22
|
private readonly portalName;
|
|
23
23
|
private readonly operatorName;
|
|
24
24
|
private readonly conversations;
|
|
25
|
+
private readonly agentsCanvas;
|
|
25
26
|
private static CHANNEL_CACHE_TTL_MS;
|
|
26
27
|
private static USER_CACHE_TTL_MS;
|
|
27
28
|
private readonly capabilities;
|
|
@@ -42,6 +43,20 @@ export declare class SlackConnector implements Connector {
|
|
|
42
43
|
stop(): Promise<void>;
|
|
43
44
|
getCapabilities(): ConnectorCapabilities;
|
|
44
45
|
getHealth(): ConnectorHealth;
|
|
46
|
+
/**
|
|
47
|
+
* Enumerate channels the bot is a member of. Used by the settings UI to
|
|
48
|
+
* populate the Agents View canvas channel picker.
|
|
49
|
+
*
|
|
50
|
+
* Public channels and private groups the bot has been invited to are both
|
|
51
|
+
* included; DMs/MPIMs are filtered out (canvases live in channels, not
|
|
52
|
+
* direct messages).
|
|
53
|
+
*/
|
|
54
|
+
listChannels(): Promise<Array<{
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
isPrivate: boolean;
|
|
58
|
+
isMember: boolean;
|
|
59
|
+
}>>;
|
|
45
60
|
reconstructTarget(replyContext: ReplyContext): Target;
|
|
46
61
|
sendMessage(target: Target, text: string): Promise<string | undefined>;
|
|
47
62
|
replyMessage(target: Target, text: string): Promise<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACP,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACP,MAAM,uBAAuB,CAAC;AAY/B,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,IAAI,SAAW;IACf,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAyD;IACjF,OAAO,CAAC,aAAa,CAA8D;IACnF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAqD;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAY;IAC/C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAY;IAE5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAK3B;IAEF,OAAO,CAAC,gBAAgB;YAUV,gBAAgB;IAkB9B;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBAoBzF,MAAM,EAAE,oBAAoB,EAAE,OAAO,GAAE,qBAA0B;YAsB/D,kBAAkB;IAiBhC,OAAO,CAAC,sBAAsB;YAYhB,cAAc;YAuDd,0BAA0B;YA0C1B,kBAAkB;IAkB1B,KAAK;IAoVL,IAAI;IAWV,eAAe,IAAI,qBAAqB;IAIxC,SAAS,IAAI,eAAe;IAQ5B;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAgCzG,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoBtE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAuBvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAoBzC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAa5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU9C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI;CAGlD"}
|
|
@@ -4,6 +4,8 @@ import { formatResponse, downloadAttachment } from "./format.js";
|
|
|
4
4
|
import { normalizeSpeakerInfo } from "./speaker.js";
|
|
5
5
|
import { runTriage } from "./triage.js";
|
|
6
6
|
import { ConversationTracker } from "./conversation-tracker.js";
|
|
7
|
+
import { AgentsCanvasUpdater } from "./agents-canvas.js";
|
|
8
|
+
import { extractGoalCondition, shouldExtractGoal } from "./goal-extractor.js";
|
|
7
9
|
import { TMP_DIR } from "../../shared/paths.js";
|
|
8
10
|
import { logger } from "../../shared/logger.js";
|
|
9
11
|
export class SlackConnector {
|
|
@@ -23,6 +25,7 @@ export class SlackConnector {
|
|
|
23
25
|
portalName;
|
|
24
26
|
operatorName;
|
|
25
27
|
conversations;
|
|
28
|
+
agentsCanvas;
|
|
26
29
|
static CHANNEL_CACHE_TTL_MS = 3600_000; // 1 hour
|
|
27
30
|
static USER_CACHE_TTL_MS = 3600_000; // 1 hour
|
|
28
31
|
capabilities = {
|
|
@@ -99,6 +102,9 @@ export class SlackConnector {
|
|
|
99
102
|
this.portalName = context.portalName;
|
|
100
103
|
this.operatorName = context.operatorName;
|
|
101
104
|
this.conversations = new ConversationTracker();
|
|
105
|
+
this.agentsCanvas = config.agentsCanvas?.enabled
|
|
106
|
+
? new AgentsCanvasUpdater(this.app, config.agentsCanvas)
|
|
107
|
+
: null;
|
|
102
108
|
}
|
|
103
109
|
async resolveSpeakerInfo(userId) {
|
|
104
110
|
if (!userId)
|
|
@@ -390,6 +396,34 @@ export class SlackConnector {
|
|
|
390
396
|
if (triageEnabled) {
|
|
391
397
|
this.conversations.recordBotEngaged(conversationKey);
|
|
392
398
|
}
|
|
399
|
+
// Natural-language `/goal` injection.
|
|
400
|
+
//
|
|
401
|
+
// This is intentionally OUTSIDE the triage path. Triage decides
|
|
402
|
+
// "should we even respond"; goal extraction decides "if we respond,
|
|
403
|
+
// should the session run autonomously until a condition holds".
|
|
404
|
+
// The two questions are independent — DM / @-mention / DM-equivalent
|
|
405
|
+
// messages skip triage but still benefit from /goal — so we apply
|
|
406
|
+
// the extractor here, at the single point every reply-bound message
|
|
407
|
+
// passes through.
|
|
408
|
+
//
|
|
409
|
+
// The earlier keyword-regex approach missed natural Japanese phrasings
|
|
410
|
+
// ("完了と書いたら止まる" without "最後までやって" etc.) so we now
|
|
411
|
+
// always defer to a Haiku call gated only by a cheap length check.
|
|
412
|
+
// Haiku returns null fast for non-goal messages; sanitisation in the
|
|
413
|
+
// parser blocks slash-prefix injection and sentinel placeholders.
|
|
414
|
+
if (shouldExtractGoal(msg.text)) {
|
|
415
|
+
try {
|
|
416
|
+
const condition = await extractGoalCondition(msg.text);
|
|
417
|
+
if (condition) {
|
|
418
|
+
logger.info(`[slack] /goal injected: ${condition.slice(0, 100)}`);
|
|
419
|
+
msg.text = `/goal ${condition}\n\n${msg.text}`;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
catch (err) {
|
|
423
|
+
// extractGoalCondition already catches its own errors; defensive.
|
|
424
|
+
logger.debug(`[slack] goal-extractor unexpected error: ${err}`);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
393
427
|
this.handler(msg);
|
|
394
428
|
});
|
|
395
429
|
// Fetch bot's own user ID for filtering self-reactions
|
|
@@ -495,8 +529,10 @@ export class SlackConnector {
|
|
|
495
529
|
this.started = true;
|
|
496
530
|
this.lastError = null;
|
|
497
531
|
logger.info("Slack connector started (socket mode)");
|
|
532
|
+
this.agentsCanvas?.start();
|
|
498
533
|
}
|
|
499
534
|
async stop() {
|
|
535
|
+
this.agentsCanvas?.stop();
|
|
500
536
|
for (const interval of this.typingIntervals.values()) {
|
|
501
537
|
clearInterval(interval);
|
|
502
538
|
}
|
|
@@ -515,6 +551,48 @@ export class SlackConnector {
|
|
|
515
551
|
capabilities: this.capabilities,
|
|
516
552
|
};
|
|
517
553
|
}
|
|
554
|
+
/**
|
|
555
|
+
* Enumerate channels the bot is a member of. Used by the settings UI to
|
|
556
|
+
* populate the Agents View canvas channel picker.
|
|
557
|
+
*
|
|
558
|
+
* Public channels and private groups the bot has been invited to are both
|
|
559
|
+
* included; DMs/MPIMs are filtered out (canvases live in channels, not
|
|
560
|
+
* direct messages).
|
|
561
|
+
*/
|
|
562
|
+
async listChannels() {
|
|
563
|
+
const out = [];
|
|
564
|
+
let cursor;
|
|
565
|
+
// Bound the loop so a misbehaving workspace can't make us iterate forever.
|
|
566
|
+
for (let page = 0; page < 20; page++) {
|
|
567
|
+
const res = await this.app.client.conversations.list({
|
|
568
|
+
types: "public_channel,private_channel",
|
|
569
|
+
exclude_archived: true,
|
|
570
|
+
limit: 200,
|
|
571
|
+
cursor,
|
|
572
|
+
});
|
|
573
|
+
const channels = (res.channels ?? []);
|
|
574
|
+
for (const c of channels) {
|
|
575
|
+
const id = typeof c.id === "string" ? c.id : undefined;
|
|
576
|
+
const name = typeof c.name === "string" ? c.name : undefined;
|
|
577
|
+
if (!id || !name)
|
|
578
|
+
continue;
|
|
579
|
+
// bot must be a member to post a canvas in the channel
|
|
580
|
+
if (c.is_member !== true)
|
|
581
|
+
continue;
|
|
582
|
+
out.push({
|
|
583
|
+
id,
|
|
584
|
+
name,
|
|
585
|
+
isPrivate: c.is_private === true,
|
|
586
|
+
isMember: true,
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
cursor = res.response_metadata?.next_cursor || undefined;
|
|
590
|
+
if (!cursor)
|
|
591
|
+
break;
|
|
592
|
+
}
|
|
593
|
+
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
594
|
+
return out;
|
|
595
|
+
}
|
|
518
596
|
reconstructTarget(replyContext) {
|
|
519
597
|
return {
|
|
520
598
|
channel: typeof replyContext.channel === "string" ? replyContext.channel : "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAUlC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAoB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAShD,MAAM,OAAO,cAAc;IACzB,IAAI,GAAG,OAAO,CAAC;IACP,GAAG,CAAM;IACT,OAAO,GAA4C,IAAI,CAAC;IAC/C,YAAY,CAAqB;IACjC,uBAAuB,CAAU;IACjC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAkB,IAAI,CAAC;IAChC,gBAAgB,GAAG,IAAI,GAAG,EAA8C,CAAC;IACzE,aAAa,GAAG,IAAI,GAAG,EAAmD,CAAC;IAC3E,SAAS,GAAkB,IAAI,CAAC;IAChC,eAAe,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC3D,YAAY,CAAgC;IAC5C,UAAU,CAAqB;IAC/B,YAAY,CAAqB;IACjC,aAAa,CAAsB;IACnC,YAAY,CAA6B;IAClD,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC,SAAS;IACjD,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC,SAAS;IAErC,YAAY,GAA0B;QACrD,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;KAClB,CAAC;IAEM,gBAAgB,CAAC,GAAY;QACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,QAAgB,EAAE,MAAc;QAChF,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,QAAQ;YACnB,MAAM;SACP,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAa,CAAC;YACtC,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACzC,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,QAA4B,EAAE,MAAc;QACnF,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrE,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,MAA4B,EAAE,UAAiC,EAAE;QAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,KAAK,KAAK,CAAC;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;gBACpC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO;YAC9C,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAA0B;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAW,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAA2B,EAAE,MAAc;QACxE,OAAO;YACL,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;YAClC,eAAe,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;YAC1C,kBAAkB,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;YAChD,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YACtC,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YACpC,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;SAC/B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAA2D,EAC3D,GAMC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,IAAI,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CACxD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,EAAE,EACR,WAAW,CACZ,CAAC;QAEF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;QACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI;YAChE,GAAG,CAAC,OAAO,CAAC,IAAI;YAChB,GAAG,CAAC,OAAO,CAAC,QAAQ;YACpB,GAAG,CAAC,OAAO,CAAC,WAAW;YACvB,GAAG,CAAC,OAAO,CAAC,MAAM;SACnB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9D,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAEnF,OAAO,SAAS,CACd;YACE,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO;YACnC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,kBAAkB;YAClB,WAAW;YACX,iBAAiB;YACjB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY;YACZ,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,EACD;YACE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG;YAC3B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK;YAC/B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS;YACvC,oEAAoE;YACpE,qEAAqE;YACrE,kEAAkE;YAClE,gEAAgE;YAChE,0CAA0C;YAC1C,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;SACpD,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,SAAiB,EACjB,QAA4B,EAC5B,SAA6B,EAC7B,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;oBAC3C,OAAO,EAAE,SAAS;oBAClB,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;iBAC1B,CAAC,CAAC,CAAC,QAAQ;gBACd,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;oBAC3C,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;oBACzB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEjB,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,MAAM,GAA6C,EAAE,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAI,CAAS,CAAC,IAA0B,CAAC;gBACnD,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,MAAM,GAAI,CAAS,CAAC,IAA0B,CAAC;gBACrD,MAAM,KAAK,GAAI,CAAS,CAAC,MAA4B,CAAC;gBACtD,MAAM,YAAY,GAAG,MAAM;oBACzB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM;oBACzD,CAAC,CAAC,KAAK;wBACL,CAAC,CAAC,OAAO,KAAK,EAAE;wBAChB,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,oBAAoB,EAAE,CAAC;YACjF,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,sCAAsC,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,wCAAyC,KAAa,CAAC,IAAI,YAAa,KAAa,CAAC,OAAO,UAAU,CAAE,KAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAChK,0BAA0B;YAC1B,IAAK,KAAa,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,+DAA+D;YAC/D,IAAI,CAAE,KAAa,CAAC,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,uBAAuB,IAAI,iBAAiB,CAAE,KAAa,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1F,MAAM,CAAC,KAAK,CAAC,8BAA+B,KAAa,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAE,KAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,iDAAkD,KAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAY,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAY,CAAC,CAAC;YAErD,0EAA0E;YAC1E,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,CAAC;YAC1C,IAAI,QAAQ,IAAI,QAAQ,KAAM,KAAa,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBAC/D,OAAO,EAAG,KAAa,CAAC,OAAO;wBAC/B,EAAE,EAAE,QAAQ;wBACZ,KAAK,EAAE,CAAC;wBACR,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7C,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;wBACpB,aAAa,GAAG,sCAAsC,SAAS,CAAC,IAAI,QAAQ,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,IAAK,KAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAK,KAAa,CAAC,KAAK,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACxC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAM,EACtB,OAAO,CACR,CAAC;wBACF,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,GAAG,EAAE,IAAI,CAAC,WAAW;4BACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAI,KAAa,CAAC,IAAc,CAAC;YAClD,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAE,KAAa,CAAC,OAAO,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAK,KAAa,CAAC,YAAuB,IAAI,SAAS,CAAC;YACzE,MAAM,OAAO,GAAG,CAAE,KAAa,CAAC,IAAI,IAAI,EAAE,CAAW,CAAC;YACtD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAElF,sEAAsE;YACtE,uEAAuE;YACvE,oEAAoE;YACpE,mEAAmE;YACnE,uEAAuE;YACvE,wDAAwD;YACxD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACZ,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1E,MAAM,CAAC,IAAI,CACT,8BAA8B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAsC,KAAa,CAAC,EAAE,EAAE,CAC/G,CAAC;oBACF,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAoB;gBAC3B,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,MAAM,EAAE,OAAO;gBACf,UAAU;gBACV,YAAY;gBACZ,SAAS,EAAG,KAAa,CAAC,EAAE;gBAC5B,OAAO,EAAG,KAAa,CAAC,OAAO;gBAC/B,MAAM,EAAG,KAAa,CAAC,SAAS;gBAChC,IAAI,EAAG,KAAa,CAAC,IAAI;gBACzB,MAAM,EAAG,KAAa,CAAC,IAAI;gBAC3B,IAAI,EAAE,aAAa,GAAG,OAAO;gBAC7B,WAAW;gBACX,GAAG,EAAE,KAAK;gBACV,aAAa,EAAE;oBACb,WAAW;oBACX,IAAI,EAAI,KAAa,CAAC,IAAe,IAAI,IAAI;oBAC7C,WAAW,EAAE,WAAW,IAAI,IAAI;oBAChC,YAAY;oBACZ,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC;iBACrD;aACF,CAAC;YAEF,2BAA2B;YAC3B,kDAAkD;YAClD,0DAA0D;YAC1D,uCAAuC;YACvC,yEAAyE;YACzE,2EAA2E;YAC3E,iCAAiC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;YAC1D,MAAM,eAAe,GAAG;gBACtB,OAAO,EAAG,KAAa,CAAC,OAAiB;gBACzC,QAAQ,EAAG,KAAa,CAAC,SAA+B;gBACxD,EAAE,EAAG,KAAa,CAAC,EAAwB;gBAC3C,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,mEAAmE;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,mCAAmC;YACnC,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,cAAc,GAClB,aAAa,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,YAAY;gBACpD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC;gBACpD,CAAC,CAAC,KAAK,CAAC;YACZ,MAAM,UAAU,GACd,CAAC,aAAa;gBACd,WAAW,KAAK,IAAI;gBACpB,YAAY;gBACZ,cAAc,CAAC;YAEjB,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,2DAA4D,KAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAY,EAAE;oBACvD,OAAO;oBACP,WAAW;oBACX,WAAW,EAAE,WAAW,IAAI,SAAS;oBACrC,YAAY;oBACZ,WAAW,EAAE,OAAO;iBACrB,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,MAAM,IAAI,WAAW,YAAa,KAAa,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvG,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,MAAM,QAAQ,CAAC,MAAM,IAAI,WAAW,YAAa,KAAa,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjH,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;4BAClC,OAAO,EAAG,KAAa,CAAC,OAAO;4BAC/B,SAAS,EAAG,KAAa,CAAC,EAAE;4BAC5B,IAAI,EAAE,KAAK;yBACZ,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,WAAW,YAAa,KAAa,CAAC,EAAE,EAAE,CAAC,CAAC;YACxG,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACvD,CAAC;YAED,sCAAsC;YACtC,EAAE;YACF,gEAAgE;YAChE,oEAAoE;YACpE,gEAAgE;YAChE,qEAAqE;YACrE,kEAAkE;YAClE,oEAAoE;YACpE,kBAAkB;YAClB,EAAE;YACF,uEAAuE;YACvE,kDAAkD;YAClD,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvD,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBAClE,GAAG,CAAC,IAAI,GAAG,SAAS,SAAS,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,kEAAkE;oBAClE,MAAM,CAAC,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACnD,sDAAsD;YACtD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO;YAE1C,2BAA2B;YAC3B,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;gBAAE,OAAO;YAE5D,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAE1B,sBAAsB;YACtB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,4CAA4C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE7B,sCAAsC;YACtC,IAAI,IAAI,CAAC,uBAAuB,IAAI,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClF,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,QAAQ,KAAK,CAAC,IAAI,OAAO,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;YAEzF,oCAAoC;YACpC,6DAA6D;YAC7D,6DAA6D;YAC7D,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;oBAC7D,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;gBACH,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBAEnD,mDAAmD;gBACnD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBAC9D,OAAO,EAAE,SAAS;wBAClB,EAAE,EAAE,SAAS;wBACb,KAAK,EAAE,CAAC;wBACR,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnE,yCAAyC;YACzC,MAAM,MAAM,GAAG,cAAc,KAAK,mBAAmB,cAAc,4BAA4B,WAAW,+BAA+B,KAAK,uDAAuD,CAAC;YAEtM,MAAM,UAAU,GAAG,kBAAkB,SAAS,IAAI,SAAS,EAAE,CAAC;YAE9D,MAAM,GAAG,GAAoB;gBAC3B,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,MAAM,EAAE,OAAO;gBACf,UAAU;gBACV,YAAY,EAAE;oBACZ,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,SAAS;oBACjB,SAAS;iBACV;gBACD,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,EAAE;gBACf,GAAG,EAAE,KAAK;gBACV,aAAa,EAAE;oBACb,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,WAAW,IAAI,IAAI;oBAChC,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;iBACpD;aACF,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvE,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAA+E,EAAE,CAAC;QAC3F,IAAI,MAA0B,CAAC;QAC/B,2EAA2E;QAC3E,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACnD,KAAK,EAAE,gCAAgC;gBACvC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,GAAG;gBACV,MAAM;aACP,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA8C,CAAC;YACnF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7D,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAC3B,uDAAuD;gBACvD,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;oBAAE,SAAS;gBACnC,GAAG,CAAC,IAAI,CAAC;oBACP,EAAE;oBACF,IAAI;oBACJ,SAAS,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI;oBAChC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,WAAW,IAAI,SAAS,CAAC;YACzD,IAAI,CAAC,MAAM;gBAAE,MAAM;QACrB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,YAA0B;QAC1C,OAAO;YACL,OAAO,EAAE,OAAO,YAAY,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7E,MAAM,EAAE,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACjF,SAAS,EAAE,OAAO,YAAY,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC1F,YAAY;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAA0B,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAClB,CAAC;QACD,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,IAAY;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC;QACnD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAA0B,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAClB,CAAC;QACD,wEAAwE;QACxE,wEAAwE;QACxE,mCAAmC;QACnC,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,KAAa;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;gBAClC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC;QACjD,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAClC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,EAAE,EAAE,MAAM,CAAC,SAAS;YACpB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAAuC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC"}
|
|
@@ -7,6 +7,17 @@ export declare class ClaudeEngine implements InterruptibleEngine {
|
|
|
7
7
|
isAlive(sessionId: string): boolean;
|
|
8
8
|
run(opts: EngineRunOpts): Promise<EngineResult>;
|
|
9
9
|
private runOnce;
|
|
10
|
+
/**
|
|
11
|
+
* Inspect a raw stream-json line and, if it is an `assistant` event,
|
|
12
|
+
* record the latest text snapshot for that turn (keyed by message.id).
|
|
13
|
+
*
|
|
14
|
+
* Stream-json with `--include-partial-messages` emits multiple snapshots
|
|
15
|
+
* per turn as text accumulates; the LAST snapshot per id is the turn's
|
|
16
|
+
* final text. For multi-turn `/goal` sessions each turn produces its own
|
|
17
|
+
* message.id, so iterating `turnTextById` in insertion order yields the
|
|
18
|
+
* chronological turn outputs.
|
|
19
|
+
*/
|
|
20
|
+
private captureTurnText;
|
|
10
21
|
private processStreamLine;
|
|
11
22
|
private formatClaudeError;
|
|
12
23
|
private buildEngineResultFromResultEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/engines/claude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAgC7H,qBAAa,YAAa,YAAW,mBAAmB;IACtD,IAAI,EAAG,QAAQ,CAAU;IACzB,OAAO,CAAC,aAAa,CAAkC;IAEvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,IAAI;IAcrD,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK7B,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YA6CvC,OAAO;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/engines/claude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAgC7H,qBAAa,YAAa,YAAW,mBAAmB;IACtD,IAAI,EAAG,QAAQ,CAAU;IACzB,OAAO,CAAC,aAAa,CAAkC;IAEvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,IAAI;IAcrD,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK7B,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YA6CvC,OAAO;IA0QrB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,aAAa;CAYtB"}
|