@esso0428/pi-subagents 0.15.5 → 0.15.7
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/CHANGELOG.md +10 -19
- package/README.md +5 -5
- package/dist/agent-history-list.d.ts +19 -0
- package/dist/agent-history-list.d.ts.map +1 -0
- package/dist/agent-history-list.js +69 -0
- package/dist/agent-history-list.js.map +1 -0
- package/dist/agent-history.d.ts +2 -1
- package/dist/agent-history.d.ts.map +1 -0
- package/dist/agent-history.js +32 -34
- package/dist/agent-history.js.map +1 -0
- package/dist/agent-manager.d.ts +24 -8
- package/dist/agent-manager.d.ts.map +1 -0
- package/dist/agent-manager.js +171 -93
- package/dist/agent-manager.js.map +1 -0
- package/dist/agent-runner.d.ts +1 -0
- package/dist/agent-runner.d.ts.map +1 -0
- package/dist/agent-runner.js +75 -86
- package/dist/agent-runner.js.map +1 -0
- package/dist/agent-types.d.ts +1 -0
- package/dist/agent-types.d.ts.map +1 -0
- package/dist/agent-types.js +28 -45
- package/dist/agent-types.js.map +1 -0
- package/dist/context.d.ts +1 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +3 -6
- package/dist/context.js.map +1 -0
- package/dist/cross-extension-rpc.d.ts +1 -0
- package/dist/cross-extension-rpc.d.ts.map +1 -0
- package/dist/cross-extension-rpc.js +6 -9
- package/dist/cross-extension-rpc.js.map +1 -0
- package/dist/custom-agents.d.ts +1 -0
- package/dist/custom-agents.d.ts.map +1 -0
- package/dist/custom-agents.js +16 -18
- package/dist/custom-agents.js.map +1 -0
- package/dist/default-agents.d.ts +1 -0
- package/dist/default-agents.d.ts.map +1 -0
- package/dist/default-agents.js +2 -4
- package/dist/default-agents.js.map +1 -0
- package/dist/enabled-models.d.ts +1 -0
- package/dist/enabled-models.d.ts.map +1 -0
- package/dist/enabled-models.js +12 -16
- package/dist/enabled-models.js.map +1 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +2 -4
- package/dist/env.js.map +1 -0
- package/dist/group-join.d.ts +1 -0
- package/dist/group-join.d.ts.map +1 -0
- package/dist/group-join.js +2 -5
- package/dist/group-join.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +306 -292
- package/dist/index.js.map +1 -0
- package/dist/invocation-config.d.ts +1 -0
- package/dist/invocation-config.d.ts.map +1 -0
- package/dist/invocation-config.js +3 -6
- package/dist/invocation-config.js.map +1 -0
- package/dist/memory.d.ts +1 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +25 -34
- package/dist/memory.js.map +1 -0
- package/dist/model-resolver.d.ts +1 -0
- package/dist/model-resolver.d.ts.map +1 -0
- package/dist/model-resolver.js +2 -4
- package/dist/model-resolver.js.map +1 -0
- package/dist/nico-overrides.d.ts +1 -0
- package/dist/nico-overrides.d.ts.map +1 -0
- package/dist/nico-overrides.js +15 -20
- package/dist/nico-overrides.js.map +1 -0
- package/dist/output-file.d.ts +1 -0
- package/dist/output-file.d.ts.map +1 -0
- package/dist/output-file.js +17 -22
- package/dist/output-file.js.map +1 -0
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +2 -4
- package/dist/prompts.js.map +1 -0
- package/dist/schedule-store.d.ts +1 -0
- package/dist/schedule-store.d.ts.map +1 -0
- package/dist/schedule-store.js +17 -21
- package/dist/schedule-store.js.map +1 -0
- package/dist/schedule.d.ts +1 -0
- package/dist/schedule.d.ts.map +1 -0
- package/dist/schedule.js +9 -12
- package/dist/schedule.js.map +1 -0
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +16 -23
- package/dist/settings.js.map +1 -0
- package/dist/skill-loader.d.ts +1 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +21 -23
- package/dist/skill-loader.js.map +1 -0
- package/dist/status-note.d.ts +1 -0
- package/dist/status-note.d.ts.map +1 -0
- package/dist/status-note.js +2 -4
- package/dist/status-note.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -4
- package/dist/types.js.map +1 -0
- package/dist/ui/agent-widget.d.ts +2 -5
- package/dist/ui/agent-widget.d.ts.map +1 -0
- package/dist/ui/agent-widget.js +29 -51
- package/dist/ui/agent-widget.js.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts +11 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js +145 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts +12 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js +49 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts +46 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js +2044 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts +12 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js +59 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts +6 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.js +25 -0
- package/dist/ui/ccstyle/diff/render-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/types.d.ts +22 -0
- package/dist/ui/ccstyle/diff/types.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/types.js +10 -0
- package/dist/ui/ccstyle/diff/types.js.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts +2 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js +12 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts +17 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.js +58 -0
- package/dist/ui/ccstyle/tool-renderer.js.map +1 -0
- package/dist/ui/ccstyle/tool-result.d.ts +24 -0
- package/dist/ui/ccstyle/tool-result.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-result.js +193 -0
- package/dist/ui/ccstyle/tool-result.js.map +1 -0
- package/dist/ui/conversation-blocks.d.ts +46 -0
- package/dist/ui/conversation-blocks.d.ts.map +1 -0
- package/dist/ui/conversation-blocks.js +306 -0
- package/dist/ui/conversation-blocks.js.map +1 -0
- package/dist/ui/conversation-nvim.d.ts +8 -0
- package/dist/ui/conversation-nvim.d.ts.map +1 -0
- package/dist/ui/conversation-nvim.js +117 -0
- package/dist/ui/conversation-nvim.js.map +1 -0
- package/dist/ui/conversation-role.d.ts +13 -0
- package/dist/ui/conversation-role.d.ts.map +1 -0
- package/dist/ui/conversation-role.js +39 -0
- package/dist/ui/conversation-role.js.map +1 -0
- package/dist/ui/conversation-search.d.ts +39 -0
- package/dist/ui/conversation-search.d.ts.map +1 -0
- package/dist/ui/conversation-search.js +124 -0
- package/dist/ui/conversation-search.js.map +1 -0
- package/dist/ui/conversation-timeline.d.ts +62 -0
- package/dist/ui/conversation-timeline.d.ts.map +1 -0
- package/dist/ui/conversation-timeline.js +263 -0
- package/dist/ui/conversation-timeline.js.map +1 -0
- package/dist/ui/conversation-viewer.d.ts +62 -20
- package/dist/ui/conversation-viewer.d.ts.map +1 -0
- package/dist/ui/conversation-viewer.js +449 -224
- package/dist/ui/conversation-viewer.js.map +1 -0
- package/dist/ui/fleet-list.d.ts +24 -11
- package/dist/ui/fleet-list.d.ts.map +1 -0
- package/dist/ui/fleet-list.js +86 -78
- package/dist/ui/fleet-list.js.map +1 -0
- package/dist/ui/schedule-menu.d.ts +1 -0
- package/dist/ui/schedule-menu.d.ts.map +1 -0
- package/dist/ui/schedule-menu.js +2 -4
- package/dist/ui/schedule-menu.js.map +1 -0
- package/dist/ui/viewer-keys.d.ts +1 -0
- package/dist/ui/viewer-keys.d.ts.map +1 -0
- package/dist/ui/viewer-keys.js +8 -10
- package/dist/ui/viewer-keys.js.map +1 -0
- package/dist/usage.d.ts +1 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +5 -10
- package/dist/usage.js.map +1 -0
- package/dist/worktree.d.ts +1 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +27 -31
- package/dist/worktree.js.map +1 -0
- package/dist/write-execution.d.ts +42 -0
- package/dist/write-execution.d.ts.map +1 -0
- package/dist/write-execution.js +138 -0
- package/dist/write-execution.js.map +1 -0
- package/package.json +1 -1
- package/src/agent-history-list.ts +91 -0
- package/src/agent-history.ts +12 -17
- package/src/agent-manager.ts +169 -81
- package/src/agent-runner.ts +12 -13
- package/src/index.ts +117 -98
- package/src/output-file.ts +1 -1
- package/src/types.ts +4 -1
- package/src/ui/agent-widget.ts +3 -9
- package/src/ui/ccstyle/ATTRIBUTION.md +37 -0
- package/src/ui/ccstyle/diff/ansi-utils.ts +168 -0
- package/src/ui/ccstyle/diff/diff-presentation.ts +70 -0
- package/src/ui/ccstyle/diff/diff-renderer.ts +3148 -0
- package/src/ui/ccstyle/diff/line-width-safety.ts +92 -0
- package/src/ui/ccstyle/diff/render-utils.ts +32 -0
- package/src/ui/ccstyle/diff/types.ts +33 -0
- package/src/ui/ccstyle/diff/write-display-utils.ts +12 -0
- package/src/ui/ccstyle/tool-renderer.ts +71 -0
- package/src/ui/ccstyle/tool-result.ts +238 -0
- package/src/ui/conversation-blocks.ts +404 -0
- package/src/ui/conversation-nvim.ts +127 -0
- package/src/ui/conversation-role.ts +45 -0
- package/src/ui/conversation-search.ts +161 -0
- package/src/ui/conversation-timeline.ts +315 -0
- package/src/ui/conversation-viewer.ts +418 -210
- package/src/ui/fleet-list.ts +73 -52
- package/src/write-execution.ts +180 -0
- package/test/agent-history-list.test.ts +121 -0
- package/test/agent-manager-history.test.ts +59 -58
- package/test/agent-menu-history-navigation.test.ts +86 -0
- package/test/output-file-history.test.ts +50 -0
- package/test/ui/conversation-blocks.test.ts +103 -0
- package/test/ui/conversation-diff.test.ts +91 -0
- package/test/ui/conversation-search.test.ts +55 -0
- package/test/ui/conversation-viewer.test.ts +182 -0
- package/test/ui/fleet-list.test.ts +131 -0
- package/test/write-execution.test.ts +83 -0
- package/tsconfig.json +16 -0
- package/vitest.temp.config.mts +6 -0
- package/dist/ui/markdown-result.d.ts +0 -3
- package/dist/ui/markdown-result.js +0 -53
- package/src/ui/markdown-result.ts +0 -56
- package/test/agent-history.test.ts +0 -63
- package/test/ui/markdown-result.test.ts +0 -45
package/dist/agent-runner.js
CHANGED
|
@@ -1,47 +1,31 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* agent-runner.ts — Core execution engine: creates sessions, runs agents, collects results.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
exports.runAgent = runAgent;
|
|
18
|
-
exports.resumeAgent = resumeAgent;
|
|
19
|
-
exports.steerAgent = steerAgent;
|
|
20
|
-
exports.getAgentConversation = getAgentConversation;
|
|
21
|
-
const node_fs_1 = require("node:fs");
|
|
22
|
-
const node_os_1 = require("node:os");
|
|
23
|
-
const node_path_1 = require("node:path");
|
|
24
|
-
const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
|
|
25
|
-
const agent_types_js_1 = require("./agent-types.js");
|
|
26
|
-
const context_js_1 = require("./context.js");
|
|
27
|
-
const default_agents_js_1 = require("./default-agents.js");
|
|
28
|
-
const env_js_1 = require("./env.js");
|
|
29
|
-
const memory_js_1 = require("./memory.js");
|
|
30
|
-
const prompts_js_1 = require("./prompts.js");
|
|
31
|
-
const skill_loader_js_1 = require("./skill-loader.js");
|
|
4
|
+
import { readFileSync } from "node:fs";
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import { basename, dirname, isAbsolute, join, resolve } from "node:path";
|
|
7
|
+
import { createAgentSession, DefaultResourceLoader, getAgentDir, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
|
|
8
|
+
import { BUILTIN_TOOL_NAMES, getAgentConfig, getConfig, getMemoryToolNames, getReadOnlyMemoryToolNames, getToolNamesForType } from "./agent-types.js";
|
|
9
|
+
import { buildParentContext, extractText } from "./context.js";
|
|
10
|
+
import { DEFAULT_AGENTS } from "./default-agents.js";
|
|
11
|
+
import { detectEnv } from "./env.js";
|
|
12
|
+
import { buildMemoryBlock, buildReadOnlyMemoryBlock } from "./memory.js";
|
|
13
|
+
import { buildAgentPrompt } from "./prompts.js";
|
|
14
|
+
import { preloadSkills } from "./skill-loader.js";
|
|
15
|
+
import { createTrackedWriteTool } from "./write-execution.js";
|
|
32
16
|
/**
|
|
33
17
|
* Tool names registered by THIS extension. Single source of truth so the
|
|
34
18
|
* registration sites (index.ts) and the subagent exclusion list below can't
|
|
35
19
|
* drift apart. These are our own tools, not pi built-ins, so they can't be
|
|
36
20
|
* derived from pi — but they only need defining once.
|
|
37
21
|
*/
|
|
38
|
-
|
|
22
|
+
export const SUBAGENT_TOOL_NAMES = {
|
|
39
23
|
AGENT: "Agent",
|
|
40
24
|
GET_RESULT: "get_subagent_result",
|
|
41
25
|
STEER: "steer_subagent",
|
|
42
26
|
};
|
|
43
27
|
/** Names of tools registered by this extension that subagents must NOT inherit. */
|
|
44
|
-
const EXCLUDED_TOOL_NAMES = Object.values(
|
|
28
|
+
const EXCLUDED_TOOL_NAMES = Object.values(SUBAGENT_TOOL_NAMES);
|
|
45
29
|
/**
|
|
46
30
|
* Canonical name of an extension for `extensions: [...]` allowlist matching.
|
|
47
31
|
* Lowercased — extension names match case-insensitively so `extensions: [Mcp]`
|
|
@@ -49,10 +33,10 @@ const EXCLUDED_TOOL_NAMES = Object.values(exports.SUBAGENT_TOOL_NAMES);
|
|
|
49
33
|
* Directory extensions (`foo/index.ts`) resolve to the parent directory name;
|
|
50
34
|
* single-file extensions to the basename minus `.ts`/`.js`.
|
|
51
35
|
*/
|
|
52
|
-
function extensionCanonicalName(extPath) {
|
|
53
|
-
const base =
|
|
36
|
+
export function extensionCanonicalName(extPath) {
|
|
37
|
+
const base = basename(extPath);
|
|
54
38
|
const name = base === "index.ts" || base === "index.js"
|
|
55
|
-
?
|
|
39
|
+
? basename(dirname(extPath))
|
|
56
40
|
: base.replace(/\.(ts|js)$/, "");
|
|
57
41
|
return name.toLowerCase();
|
|
58
42
|
}
|
|
@@ -76,18 +60,18 @@ function extensionCanonicalName(extPath) {
|
|
|
76
60
|
* co-located file to `pi-subagents`.
|
|
77
61
|
*/
|
|
78
62
|
function extensionPackageName(extPath) {
|
|
79
|
-
const entry =
|
|
80
|
-
let dir =
|
|
63
|
+
const entry = resolve(extPath);
|
|
64
|
+
let dir = dirname(extPath);
|
|
81
65
|
for (;;) {
|
|
82
66
|
// Climbing into node_modules means we've left the owning package's tree.
|
|
83
|
-
if (
|
|
67
|
+
if (basename(dir) === "node_modules")
|
|
84
68
|
return undefined;
|
|
85
69
|
let pkg;
|
|
86
70
|
try {
|
|
87
|
-
pkg = JSON.parse(
|
|
71
|
+
pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8"));
|
|
88
72
|
}
|
|
89
73
|
catch {
|
|
90
|
-
const parent =
|
|
74
|
+
const parent = dirname(dir);
|
|
91
75
|
if (parent === dir)
|
|
92
76
|
return undefined; // walked to the filesystem root
|
|
93
77
|
dir = parent;
|
|
@@ -97,7 +81,7 @@ function extensionPackageName(extPath) {
|
|
|
97
81
|
const entries = pkg.pi?.extensions;
|
|
98
82
|
if (typeof pkg.name === "string" &&
|
|
99
83
|
Array.isArray(entries) &&
|
|
100
|
-
entries.some((e) => typeof e === "string" &&
|
|
84
|
+
entries.some((e) => typeof e === "string" && resolve(dir, e) === entry)) {
|
|
101
85
|
const short = pkg.name.startsWith("@") ? pkg.name.slice(pkg.name.indexOf("/") + 1) : pkg.name;
|
|
102
86
|
return short.toLowerCase();
|
|
103
87
|
}
|
|
@@ -112,7 +96,7 @@ function extensionPackageName(extPath) {
|
|
|
112
96
|
* otherwise only ever match as `src` (the source directory), never by its
|
|
113
97
|
* package name. The path-derived name is preserved, so it keeps matching too.
|
|
114
98
|
*/
|
|
115
|
-
function extensionCanonicalNames(extPath) {
|
|
99
|
+
export function extensionCanonicalNames(extPath) {
|
|
116
100
|
const canonical = extensionCanonicalName(extPath);
|
|
117
101
|
const pkg = extensionPackageName(extPath);
|
|
118
102
|
return pkg && pkg !== canonical ? [canonical, pkg] : [canonical];
|
|
@@ -128,7 +112,7 @@ function extensionCanonicalNames(extPath) {
|
|
|
128
112
|
* everything by canonical name, so path-loaded extensions are matched via their name
|
|
129
113
|
* rather than their post-staging `Extension.path`.
|
|
130
114
|
*/
|
|
131
|
-
function parseExtensionsSpec(entries, cwd) {
|
|
115
|
+
export function parseExtensionsSpec(entries, cwd) {
|
|
132
116
|
const names = new Set();
|
|
133
117
|
const paths = [];
|
|
134
118
|
let wildcard = false;
|
|
@@ -146,9 +130,9 @@ function parseExtensionsSpec(entries, cwd) {
|
|
|
146
130
|
}
|
|
147
131
|
let p = entry;
|
|
148
132
|
if (p === "~" || p.startsWith("~/") || p.startsWith("~\\")) {
|
|
149
|
-
p =
|
|
133
|
+
p = homedir() + p.slice(1);
|
|
150
134
|
}
|
|
151
|
-
const abs =
|
|
135
|
+
const abs = isAbsolute(p) ? p : resolve(cwd, p);
|
|
152
136
|
paths.push(abs);
|
|
153
137
|
names.add(extensionCanonicalName(abs));
|
|
154
138
|
}
|
|
@@ -164,7 +148,7 @@ function parseExtensionsSpec(entries, cwd) {
|
|
|
164
148
|
* `ext:foo` alongside `ext:foo/bar` leaves narrowing in effect (narrowing wins).
|
|
165
149
|
* The split is on the first `/`; extension canonical names never contain `/`.
|
|
166
150
|
*/
|
|
167
|
-
function parseExtSelectors(entries) {
|
|
151
|
+
export function parseExtSelectors(entries) {
|
|
168
152
|
const extNames = new Set();
|
|
169
153
|
const narrowing = new Map();
|
|
170
154
|
for (const raw of entries) {
|
|
@@ -218,7 +202,7 @@ function parseExtSelectors(entries) {
|
|
|
218
202
|
* Only meaningful when extensions are loaded — under `noExtensions`/`isolated` the
|
|
219
203
|
* static `allowedToolNames` allowlist already gates the registry itself.
|
|
220
204
|
*/
|
|
221
|
-
function installExtensionToolScope(session, ctx) {
|
|
205
|
+
export function installExtensionToolScope(session, ctx) {
|
|
222
206
|
const { loader, toolNames, disallowedSet, extNames, narrowing } = ctx;
|
|
223
207
|
// The names allowed right now. Mirrors the `ext:` opt-in flip: when any `ext:`
|
|
224
208
|
// selector is present, extension tools become an explicit allowlist — a loaded
|
|
@@ -277,21 +261,21 @@ function installExtensionToolScope(session, ctx) {
|
|
|
277
261
|
/** Default max turns. undefined = unlimited (no turn limit). */
|
|
278
262
|
let defaultMaxTurns;
|
|
279
263
|
/** Normalize max turns. undefined or 0 = unlimited, otherwise minimum 1. */
|
|
280
|
-
function normalizeMaxTurns(n) {
|
|
264
|
+
export function normalizeMaxTurns(n) {
|
|
281
265
|
if (n == null || n === 0)
|
|
282
266
|
return undefined;
|
|
283
267
|
return Math.max(1, n);
|
|
284
268
|
}
|
|
285
269
|
/** Get the default max turns value. undefined = unlimited. */
|
|
286
|
-
function getDefaultMaxTurns() { return defaultMaxTurns; }
|
|
270
|
+
export function getDefaultMaxTurns() { return defaultMaxTurns; }
|
|
287
271
|
/** Set the default max turns value. undefined or 0 = unlimited, otherwise minimum 1. */
|
|
288
|
-
function setDefaultMaxTurns(n) { defaultMaxTurns = normalizeMaxTurns(n); }
|
|
272
|
+
export function setDefaultMaxTurns(n) { defaultMaxTurns = normalizeMaxTurns(n); }
|
|
289
273
|
/** Additional turns allowed after the soft limit steer message. */
|
|
290
274
|
let graceTurns = 5;
|
|
291
275
|
/** Get the grace turns value. */
|
|
292
|
-
function getGraceTurns() { return graceTurns; }
|
|
276
|
+
export function getGraceTurns() { return graceTurns; }
|
|
293
277
|
/** Set the grace turns value (minimum 1). */
|
|
294
|
-
function setGraceTurns(n) { graceTurns = Math.max(1, n); }
|
|
278
|
+
export function setGraceTurns(n) { graceTurns = Math.max(1, n); }
|
|
295
279
|
/**
|
|
296
280
|
* Try to find the right model for an agent type.
|
|
297
281
|
* Priority: explicit option > config.model > parent model.
|
|
@@ -346,7 +330,7 @@ function getLastAssistantText(session, startIndex = 0) {
|
|
|
346
330
|
const msg = session.messages[i];
|
|
347
331
|
if (msg.role !== "assistant")
|
|
348
332
|
continue;
|
|
349
|
-
const text =
|
|
333
|
+
const text = extractText(msg.content).trim();
|
|
350
334
|
if (text)
|
|
351
335
|
return text;
|
|
352
336
|
}
|
|
@@ -374,7 +358,7 @@ function finalTurnError(session, startIndex = 0) {
|
|
|
374
358
|
if (msg.stopReason === "error") {
|
|
375
359
|
return msg.errorMessage?.trim() || "provider error with no output";
|
|
376
360
|
}
|
|
377
|
-
if (msg.stopReason === "length" && !
|
|
361
|
+
if (msg.stopReason === "length" && !extractText(msg.content).trim()) {
|
|
378
362
|
return "run hit the output token limit before producing any text";
|
|
379
363
|
}
|
|
380
364
|
return undefined;
|
|
@@ -396,20 +380,20 @@ function resolveConfiguredSessionDir(sessionDir, cwd) {
|
|
|
396
380
|
if (!sessionDir)
|
|
397
381
|
return undefined;
|
|
398
382
|
if (sessionDir === "~" || sessionDir.startsWith("~/"))
|
|
399
|
-
return
|
|
400
|
-
if (
|
|
383
|
+
return resolve(homedir(), sessionDir.slice(2));
|
|
384
|
+
if (isAbsolute(sessionDir))
|
|
401
385
|
return sessionDir;
|
|
402
|
-
return
|
|
386
|
+
return resolve(cwd, sessionDir);
|
|
403
387
|
}
|
|
404
|
-
async function runAgent(ctx, type, prompt, options) {
|
|
405
|
-
const config =
|
|
406
|
-
const agentConfig =
|
|
388
|
+
export async function runAgent(ctx, type, prompt, options) {
|
|
389
|
+
const config = getConfig(type);
|
|
390
|
+
const agentConfig = getAgentConfig(type);
|
|
407
391
|
// Resolve working directory: worktree override > parent cwd
|
|
408
392
|
const effectiveCwd = options.cwd ?? ctx.cwd;
|
|
409
393
|
// Filesystem work happens in effectiveCwd; config discovery in configCwd.
|
|
410
394
|
// They differ only for SpawnOptions.cwd spawns (config stays with the parent).
|
|
411
395
|
const configCwd = options.configCwd ?? effectiveCwd;
|
|
412
|
-
const env = await
|
|
396
|
+
const env = await detectEnv(options.pi, effectiveCwd);
|
|
413
397
|
// Get parent system prompt for append-mode agents
|
|
414
398
|
const parentSystemPrompt = ctx.getSystemPrompt();
|
|
415
399
|
// Build prompt extras (memory, skill preloading)
|
|
@@ -422,12 +406,12 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
422
406
|
const skills = options.isolated ? false : config.skills;
|
|
423
407
|
// Skill preloading: when skills is string[], preload their content into prompt
|
|
424
408
|
if (Array.isArray(skills)) {
|
|
425
|
-
const loaded =
|
|
409
|
+
const loaded = preloadSkills(skills, configCwd);
|
|
426
410
|
if (loaded.length > 0) {
|
|
427
411
|
extras.skillBlocks = loaded;
|
|
428
412
|
}
|
|
429
413
|
}
|
|
430
|
-
let toolNames =
|
|
414
|
+
let toolNames = getToolNamesForType(type);
|
|
431
415
|
// Persistent memory: detect write capability and branch accordingly.
|
|
432
416
|
// Account for disallowedTools — a tool in the base set but on the denylist is not truly available.
|
|
433
417
|
if (agentConfig?.memory) {
|
|
@@ -437,36 +421,36 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
437
421
|
const hasWriteTools = effectivelyHas("write") || effectivelyHas("edit");
|
|
438
422
|
if (hasWriteTools) {
|
|
439
423
|
// Read-write memory: add any missing memory tool names (read/write/edit)
|
|
440
|
-
const extraNames =
|
|
424
|
+
const extraNames = getMemoryToolNames(existingNames);
|
|
441
425
|
if (extraNames.length > 0)
|
|
442
426
|
toolNames = [...toolNames, ...extraNames];
|
|
443
|
-
extras.memoryBlock =
|
|
427
|
+
extras.memoryBlock = buildMemoryBlock(agentConfig.name, agentConfig.memory, configCwd);
|
|
444
428
|
}
|
|
445
429
|
else {
|
|
446
430
|
// Read-only memory: only add read tool name, use read-only prompt
|
|
447
|
-
const extraNames =
|
|
431
|
+
const extraNames = getReadOnlyMemoryToolNames(existingNames);
|
|
448
432
|
if (extraNames.length > 0)
|
|
449
433
|
toolNames = [...toolNames, ...extraNames];
|
|
450
|
-
extras.memoryBlock =
|
|
434
|
+
extras.memoryBlock = buildReadOnlyMemoryBlock(agentConfig.name, agentConfig.memory, configCwd);
|
|
451
435
|
}
|
|
452
436
|
}
|
|
453
437
|
// Build system prompt from agent config
|
|
454
438
|
let systemPrompt;
|
|
455
439
|
if (agentConfig) {
|
|
456
|
-
systemPrompt =
|
|
440
|
+
systemPrompt = buildAgentPrompt(agentConfig, effectiveCwd, env, parentSystemPrompt, extras);
|
|
457
441
|
}
|
|
458
442
|
else {
|
|
459
443
|
// Unknown type fallback: spread the canonical general-purpose config (defensive —
|
|
460
444
|
// unreachable in practice since index.ts resolves unknown types before calling runAgent).
|
|
461
|
-
const fallback =
|
|
445
|
+
const fallback = DEFAULT_AGENTS.get("general-purpose");
|
|
462
446
|
if (!fallback)
|
|
463
447
|
throw new Error(`No fallback config available for unknown type "${type}"`);
|
|
464
|
-
systemPrompt =
|
|
448
|
+
systemPrompt = buildAgentPrompt({ ...fallback, name: type }, effectiveCwd, env, parentSystemPrompt, extras);
|
|
465
449
|
}
|
|
466
450
|
// When skills is string[], we've already preloaded them into the prompt.
|
|
467
451
|
// Still pass noSkills: true since we don't need the skill loader to load them again.
|
|
468
452
|
const noSkills = skills === false || Array.isArray(skills);
|
|
469
|
-
const agentDir =
|
|
453
|
+
const agentDir = getAgentDir();
|
|
470
454
|
// Extension loading:
|
|
471
455
|
// - true → all default-discovered extensions
|
|
472
456
|
// - false → none (noExtensions)
|
|
@@ -519,7 +503,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
519
503
|
}),
|
|
520
504
|
};
|
|
521
505
|
};
|
|
522
|
-
const loader = new
|
|
506
|
+
const loader = new DefaultResourceLoader({
|
|
523
507
|
cwd: configCwd,
|
|
524
508
|
agentDir,
|
|
525
509
|
noExtensions,
|
|
@@ -538,7 +522,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
538
522
|
// this produced a silently broken agent (#75) — pi-mono accepted the bogus name
|
|
539
523
|
// into the allowlist, then dropped it at registration with no signal back.
|
|
540
524
|
if (agentConfig?.builtinToolNames?.length) {
|
|
541
|
-
const knownBuiltins = new Set(
|
|
525
|
+
const knownBuiltins = new Set(BUILTIN_TOOL_NAMES);
|
|
542
526
|
for (const name of agentConfig.builtinToolNames) {
|
|
543
527
|
if (!knownBuiltins.has(name)) {
|
|
544
528
|
options.onToolActivity?.({
|
|
@@ -641,7 +625,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
641
625
|
else {
|
|
642
626
|
const denyTools = new Set(EXCLUDED_TOOL_NAMES);
|
|
643
627
|
// Keep only the built-ins the agent asked for — deny the rest.
|
|
644
|
-
for (const name of
|
|
628
|
+
for (const name of BUILTIN_TOOL_NAMES) {
|
|
645
629
|
if (!builtinToolNameSet.has(name))
|
|
646
630
|
denyTools.add(name);
|
|
647
631
|
}
|
|
@@ -651,28 +635,32 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
651
635
|
}
|
|
652
636
|
sessionExcludeTools = [...denyTools];
|
|
653
637
|
}
|
|
654
|
-
const settingsManager =
|
|
638
|
+
const settingsManager = SettingsManager.create(configCwd, agentDir);
|
|
655
639
|
const configuredSessionDir = resolveConfiguredSessionDir(agentConfig?.sessionDir, effectiveCwd);
|
|
656
640
|
const defaultSessionDir = process.env.PI_CODING_AGENT_SESSION_DIR ?? settingsManager.getSessionDir?.();
|
|
657
641
|
const sessionManager = agentConfig?.persistSession
|
|
658
|
-
?
|
|
659
|
-
:
|
|
642
|
+
? SessionManager.create(effectiveCwd, configuredSessionDir ?? defaultSessionDir)
|
|
643
|
+
: SessionManager.inMemory(effectiveCwd);
|
|
644
|
+
// Keep write tracking session-local. The custom definition shadows only this
|
|
645
|
+
// child session's built-in write entry; the parent registry is untouched.
|
|
646
|
+
const trackedWriteTool = toolNames.includes("write")
|
|
647
|
+
? createTrackedWriteTool(effectiveCwd)
|
|
648
|
+
: undefined;
|
|
660
649
|
// Pi 0.80.8 replaced createAgentSession's modelRegistry option with
|
|
661
650
|
// modelRuntime, but ExtensionContext still exposes only the registry facade.
|
|
662
651
|
// Pass both so the full supported Pi range retains the parent's providers.
|
|
663
|
-
const parentModelRuntime = ctx.modelRegistry.runtime;
|
|
652
|
+
const parentModelRuntime = ctx.modelRegistry.runtime ?? undefined;
|
|
664
653
|
const sessionOpts = {
|
|
665
654
|
cwd: effectiveCwd,
|
|
666
655
|
agentDir,
|
|
667
656
|
sessionManager,
|
|
668
657
|
settingsManager,
|
|
669
658
|
modelRegistry: ctx.modelRegistry,
|
|
670
|
-
...(parentModelRuntime
|
|
671
|
-
modelRuntime: parentModelRuntime,
|
|
672
|
-
}),
|
|
659
|
+
...(parentModelRuntime !== undefined && { modelRuntime: parentModelRuntime }),
|
|
673
660
|
model,
|
|
674
661
|
tools: sessionTools,
|
|
675
662
|
resourceLoader: loader,
|
|
663
|
+
...(trackedWriteTool && { customTools: [trackedWriteTool] }),
|
|
676
664
|
};
|
|
677
665
|
if (sessionExcludeTools) {
|
|
678
666
|
sessionOpts.excludeTools = sessionExcludeTools;
|
|
@@ -680,7 +668,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
680
668
|
if (thinkingLevel) {
|
|
681
669
|
sessionOpts.thinkingLevel = thinkingLevel;
|
|
682
670
|
}
|
|
683
|
-
const { session } = await
|
|
671
|
+
const { session } = await createAgentSession(sessionOpts);
|
|
684
672
|
const baseSessionName = agentConfig?.name ?? type;
|
|
685
673
|
session.setSessionName(options.agentId ? `${baseSessionName}#${options.agentId.slice(0, 8)}` : baseSessionName);
|
|
686
674
|
// Bind extensions so that session_start fires and extensions can initialize
|
|
@@ -763,7 +751,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
763
751
|
// Build the effective prompt: optionally prepend parent context
|
|
764
752
|
let effectivePrompt = prompt;
|
|
765
753
|
if (options.inheritContext) {
|
|
766
|
-
const parentContext =
|
|
754
|
+
const parentContext = buildParentContext(ctx);
|
|
767
755
|
if (parentContext) {
|
|
768
756
|
effectivePrompt = parentContext + prompt;
|
|
769
757
|
}
|
|
@@ -785,7 +773,7 @@ async function runAgent(ctx, type, prompt, options) {
|
|
|
785
773
|
/**
|
|
786
774
|
* Send a new prompt to an existing session (resume).
|
|
787
775
|
*/
|
|
788
|
-
async function resumeAgent(session, prompt, options = {}) {
|
|
776
|
+
export async function resumeAgent(session, prompt, options = {}) {
|
|
789
777
|
// Boundary for the history fallback: the session already holds prior turns,
|
|
790
778
|
// so only assistant text produced by THIS resume prompt counts as its output
|
|
791
779
|
// — a failed resume must not surface the previous turn's answer (#144).
|
|
@@ -829,19 +817,19 @@ async function resumeAgent(session, prompt, options = {}) {
|
|
|
829
817
|
* Send a steering message to a running subagent.
|
|
830
818
|
* The message will interrupt the agent after its current tool execution.
|
|
831
819
|
*/
|
|
832
|
-
async function steerAgent(session, message) {
|
|
820
|
+
export async function steerAgent(session, message) {
|
|
833
821
|
await session.steer(message);
|
|
834
822
|
}
|
|
835
823
|
/**
|
|
836
824
|
* Get the subagent's conversation messages as formatted text.
|
|
837
825
|
*/
|
|
838
|
-
function getAgentConversation(session) {
|
|
826
|
+
export function getAgentConversation(session) {
|
|
839
827
|
const parts = [];
|
|
840
828
|
for (const msg of session.messages) {
|
|
841
829
|
if (msg.role === "user") {
|
|
842
830
|
const text = typeof msg.content === "string"
|
|
843
831
|
? msg.content
|
|
844
|
-
:
|
|
832
|
+
: extractText(msg.content);
|
|
845
833
|
if (text.trim())
|
|
846
834
|
parts.push(`[User]: ${text.trim()}`);
|
|
847
835
|
}
|
|
@@ -860,10 +848,11 @@ function getAgentConversation(session) {
|
|
|
860
848
|
parts.push(`[Tool Calls]:\n${toolCalls.join("\n")}`);
|
|
861
849
|
}
|
|
862
850
|
else if (msg.role === "toolResult") {
|
|
863
|
-
const text =
|
|
851
|
+
const text = extractText(msg.content);
|
|
864
852
|
const truncated = text.length > 200 ? text.slice(0, 200) + "..." : text;
|
|
865
853
|
parts.push(`[Tool Result (${msg.toolName})]: ${truncated}`);
|
|
866
854
|
}
|
|
867
855
|
}
|
|
868
856
|
return parts.join("\n\n");
|
|
869
857
|
}
|
|
858
|
+
//# sourceMappingURL=agent-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzE,OAAO,EAGL,kBAAkB,EAClB,qBAAqB,EAErB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtJ,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAqB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,qBAAqB;IACjC,KAAK,EAAE,gBAAgB;CACf,CAAC;AAEX,mFAAmF;AACnF,MAAM,mBAAmB,GAAa,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU;QACrD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,CAAC;QACR,yEAAyE;QACzE,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,cAAc;YAAE,OAAO,SAAS,CAAC;QACvD,IAAI,GAAsD,CAAC;QAC3D,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,SAAS,CAAC,CAAC,gCAAgC;YACtE,GAAG,GAAG,MAAM,CAAC;YACb,SAAS;QACX,CAAC;QACD,gEAAgE;QAChE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC;QACnC,IACE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EACvE,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9F,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAiB,EACjB,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiB;IAIjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,+EAA+E;QAC/E,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAqB,EACrB,GAMC;IAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAEtE,+EAA+E;IAC/E,+EAA+E;IAC/E,kFAAkF;IAClF,iDAAiD;IACjD,MAAM,OAAO,GAAG,GAAgB,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YAClE,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC9C,IAAI,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,mBAAmB;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7C,2EAA2E;QAC3E,wEAAwE;QACxE,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,8EAA8E;IAC9E,oEAAoE;IACpE,QAAQ,EAAE,CAAC;IAEX,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,SAAS,OAAO,CAAC,QAAQ,CAAC,IAAI,sCAAsC;aAC7E,CAAC;QACJ,CAAC;QACD,OAAO,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,IAAI,eAAmC,CAAC;AAExC,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,CAAqB;IACrD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,KAAyB,OAAO,eAAe,CAAC,CAAC,CAAC;AACpF,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,CAAqB,IAAU,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3G,mEAAmE;AACnE,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,iCAAiC;AACjC,MAAM,UAAU,aAAa,KAAa,OAAO,UAAU,CAAC,CAAC,CAAC;AAC9D,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,CAAS,IAAU,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,WAAmC,EACnC,QAA4G,EAC5G,WAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEhD,sDAAsD;YACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE,CAC5C,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AA0ED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,OAAqB;IAChD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;QACjE,2EAA2E;QAC3E,2EAA2E;QAC3E,+EAA+E;QAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACzE,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzF,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAqB,EAAE,UAAU,GAAG,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CAAC,OAAqB,EAAE,UAAU,GAAG,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACvC,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAQ,GAAiC,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,+BAA+B,CAAC;QACpG,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,OAAO,0DAA0D,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,OAAqB,EAAE,MAAoB;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,2BAA2B,CAAC,UAA8B,EAAE,GAAW;IAC9E,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAqB,EACrB,IAAkB,EAClB,MAAc,EACd,OAAmB;IAEnB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzC,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;IAC5C,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;IAEpD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAEtD,kDAAkD;IAClD,MAAM,kBAAkB,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAEjD,iDAAiD;IACjD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,yDAAyD;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAChE,iFAAiF;IACjF,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAExD,+EAA+E;IAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE1C,qEAAqE;IACrE,mGAAmG;IACnG,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,aAAa,EAAE,CAAC;YAClB,yEAAyE;YACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,MAAM,UAAU,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,YAAoB,CAAC;IACzB,IAAI,WAAW,EAAE,CAAC;QAChB,YAAY,GAAG,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,kFAAkF;QAClF,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,GAAG,CAAC,CAAC;QAC1F,YAAY,GAAG,gBAAgB,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED,yEAAyE;IACzE,qFAAqF;IACrF,MAAM,QAAQ,GAAG,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,qBAAqB;IACrB,8CAA8C;IAC9C,gCAAgC;IAChC,oEAAoE;IACpE,0EAA0E;IAC1E,2EAA2E;IAC3E,qEAAqE;IACrE,EAAE;IACF,iEAAiE;IACjE,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,iFAAiF;IACjF,iFAAiF;IACjF,oFAAoF;IACpF,mFAAmF;IACnF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAC/C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC,CAC1D,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,KAAK,KAAK,CAAC;IAE1C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,cAAc,EAAE,KAAK,IAAI,IAAI,GAAG,EAAU,CAAC;IAC7D,oFAAoF;IACpF,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1C,mFAAmF;IACnF,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,IAAI,cAAc,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzE,MAAM,wBAAwB,GAAG,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,iFAAiF;IACjF,8EAA8E;IAC9E,4BAA4B;IAC5B,IAAI,eAAwC,CAAC;IAC7C,MAAM,kBAAkB,GACtB,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;YACP,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO;gBACL,GAAG,IAAI;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAAE,OAAO,KAAK,CAAC,CAAC,eAAe;oBAC1E,OAAO,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC;IAER,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC;QACvC,GAAG,EAAE,SAAS;QACd,QAAQ;QACR,YAAY;QACZ,wBAAwB;QACxB,kBAAkB;QAClB,QAAQ;QACR,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,GAAG,EAAE,CAAC,YAAY;QACxC,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;KACrC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IAEtB,+EAA+E;IAC/E,mFAAmF;IACnF,gFAAgF;IAChF,2EAA2E;IAC3E,IAAI,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,qBAAqB,IAAI,yBAAyB,IAAI,2BAA2B;iBAC5F,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,wDAAwD;IACxD,6EAA6E;IAC7E,6EAA6E;IAC7E,6CAA6C;IAC7C,8EAA8E;IAC9E,4EAA4E;IAC5E,8CAA8C;IAC9C,gFAAgF;IAChF,yCAAyC;IACzC,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,+DAA+D,IAAI,qCAAqC;SACnH,CAAC,CAAC;IACL,CAAC;IACD,kFAAkF;IAClF,+EAA+E;IAC/E,mEAAmE;IACnE,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,wCAAwC,IAAI,gBAAgB,IAAI,0CAA0C;iBACrH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAClF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC9B,CAAC,CAAC,8BAA8B,IAAI,+DAA+D,IAAI,kBAAkB;wBACzH,CAAC,CAAC,8BAA8B,IAAI,yBAAyB,IAAI,kBAAkB;iBACtF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,uBAAuB,IAAI,yBAAyB,IAAI,oBAAoB,IAAI,yDAAyD;iBACpJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAChD,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CACjD,CAAC;IAEF,+EAA+E;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,WAAW,EAAE,QAAQ,CAAC;IAErE,MAAM,aAAa,GAAG,WAAW,EAAE,eAAe;QAChD,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IAEd,2EAA2E;IAC3E,EAAE;IACF,sEAAsE;IACtE,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,mCAAmC;IACnC,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,EAAE;IACF,gDAAgD;IAChD,8EAA8E;IAC9E,qBAAqB;IACrB,oEAAoE;IACpE,mEAAmE;IACnE,yEAAyE;IACzE,wBAAwB;IACxB,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,EAAE;IACF,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9C,IAAI,YAAkC,CAAC;IACvC,IAAI,mBAAyC,CAAC;IAC9C,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,CAAC;QACvD,+DAA+D;QAC/D,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,aAAa;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,mBAAmB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,eAAe,CAAC,aAAa,EAAE,EAAE,CAAC;IACvG,MAAM,cAAc,GAAG,WAAW,EAAE,cAAc;QAChD,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,IAAI,iBAAiB,CAAC;QAChF,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClD,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IAEd,oEAAoE;IACpE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,kBAAkB,GAAI,GAAG,CAAC,aAA8D,CAAC,OAAO,IAAI,SAAS,CAAC;IACpH,MAAM,WAAW,GAGb;QACF,GAAG,EAAE,YAAY;QACjB,QAAQ;QACR,cAAc;QACd,eAAe;QACf,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;QAC7E,KAAK;QACL,KAAK,EAAE,YAAY;QACnB,cAAc,EAAE,MAAM;QACtB,GAAG,CAAC,gBAAgB,IAAI,EAAE,WAAW,EAAE,CAAC,gBAAuB,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,IAAI,mBAAmB,EAAE,CAAC;QACxB,WAAW,CAAC,YAAY,GAAG,mBAAmB,CAAC;IACjD,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAG,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC;IAClD,OAAO,CAAC,cAAc,CACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CACxF,CAAC;IAEF,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,OAAO,CAAC,cAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,OAAO,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,mBAAmB,GAAG,CAAC,aAAa,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,yBAAyB,CAAC,OAAO,EAAE;YACjC,MAAM;YACN,SAAS;YACT,aAAa;YACb,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;IAEpC,iDAAiD;IACjD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,EAAE,QAAQ,IAAI,eAAe,CAAC,CAAC;IACjG,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;oBAC/C,gBAAgB,GAAG,IAAI,CAAC;oBACxB,OAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;gBAC1G,CAAC;qBAAM,IAAI,gBAAgB,IAAI,SAAS,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;oBAClE,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,kBAAkB,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzF,kBAAkB,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC;YACxD,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC1C,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACxC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACvE,MAAM,CAAC,GAAI,KAAK,CAAC,OAAe,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC;gBAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAChC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;oBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;oBACrB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;iBAC9B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACtE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjE,gEAAgE;IAChE,IAAI,eAAe,GAAG,MAAM,CAAC;IAC7B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE,CAAC;YAClB,eAAe,GAAG,aAAa,GAAG,MAAM,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;QACb,SAAS,CAAC,WAAW,EAAE,CAAC;QACxB,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3F,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAqB,EACrB,MAAc,EACd,UAKI,EAAE;IAEN,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;QAC9F,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBAAE,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjH,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;gBAAE,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACvE,MAAM,CAAC,GAAI,KAAK,CAAC,OAAe,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC;oBAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBAChC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;wBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;wBACrB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;qBAC9B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,WAAW,EAAE,CAAC;QACxB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC3E,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAqB,EACrB,OAAe;IAEf,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAqB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC1C,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBACnD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;oBAAE,SAAS,CAAC,IAAI,CAAC,WAAY,CAAS,CAAC,IAAI,IAAK,CAAS,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YACnH,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,QAAQ,OAAO,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
|
package/dist/agent-types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../src/agent-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAQF,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,OAAO,CAA4B;AAEzE,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyB;AAE9E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAczE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAYD,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5D;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAI/C;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjD;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE3E;AAKD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnF;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1D;AAED,+HAA+H;AAC/H,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC,CAsCA"}
|