@songsid/agend 2.3.5-alpha.2 → 2.3.5-alpha.3
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/agend-home.d.ts +13 -0
- package/dist/agend-home.js +42 -0
- package/dist/agend-home.js.map +1 -1
- package/dist/auth-api.d.ts +21 -0
- package/dist/auth-api.js +91 -4
- package/dist/auth-api.js.map +1 -1
- package/dist/authority/web-authority.d.ts +12 -2
- package/dist/authority/web-authority.js +25 -4
- package/dist/authority/web-authority.js.map +1 -1
- package/dist/backend/claude-code.js +16 -1
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex.js +11 -1
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/kiro-identity.d.ts +2 -0
- package/dist/backend/kiro-identity.js +13 -6
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro.js +18 -3
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend-availability.d.ts +6 -0
- package/dist/backend-availability.js +13 -5
- package/dist/backend-availability.js.map +1 -1
- package/dist/channel/mcp-tools.js +1 -1
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/cli.js +6 -9
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +12 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/daemon.d.ts +5 -0
- package/dist/daemon.js +107 -30
- package/dist/daemon.js.map +1 -1
- package/dist/fleet-manager.d.ts +143 -8
- package/dist/fleet-manager.js +874 -166
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-windows-runtime.js +7 -0
- package/dist/fleet-windows-runtime.js.map +1 -1
- package/dist/fleet-yaml-patch.d.ts +3 -0
- package/dist/fleet-yaml-patch.js +103 -0
- package/dist/fleet-yaml-patch.js.map +1 -0
- package/dist/general-binding.d.ts +85 -0
- package/dist/general-binding.js +298 -0
- package/dist/general-binding.js.map +1 -0
- package/dist/general-host-owner.d.ts +8 -0
- package/dist/general-host-owner.js +26 -0
- package/dist/general-host-owner.js.map +1 -0
- package/dist/general-instance.d.ts +7 -0
- package/dist/general-instance.js +20 -3
- package/dist/general-instance.js.map +1 -1
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +2 -0
- package/dist/general-role.d.ts +5 -0
- package/dist/general-role.js +26 -0
- package/dist/general-role.js.map +1 -0
- package/dist/instance-lifecycle.d.ts +1 -0
- package/dist/instance-lifecycle.js +26 -4
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instructions.d.ts +2 -0
- package/dist/instructions.js +6 -0
- package/dist/instructions.js.map +1 -1
- package/dist/kiro-resume-summary.d.ts +37 -0
- package/dist/kiro-resume-summary.js +85 -0
- package/dist/kiro-resume-summary.js.map +1 -0
- package/dist/locale.js +59 -0
- package/dist/locale.js.map +1 -1
- package/dist/login-controller.js +9 -1
- package/dist/login-controller.js.map +1 -1
- package/dist/native-pane-lifecycle.js +4 -1
- package/dist/native-pane-lifecycle.js.map +1 -1
- package/dist/native-pane-manager.d.ts +1 -0
- package/dist/native-pane-manager.js +23 -2
- package/dist/native-pane-manager.js.map +1 -1
- package/dist/needs-you-hub.js +1 -1
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you.d.ts +8 -1
- package/dist/needs-you.js +5 -2
- package/dist/needs-you.js.map +1 -1
- package/dist/package-preimage.js +27 -2
- package/dist/package-preimage.js.map +1 -1
- package/dist/pane-port.d.ts +11 -0
- package/dist/public-web-gateway.js +9 -0
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/public-web-link.d.ts +5 -0
- package/dist/public-web-link.js +4 -0
- package/dist/public-web-link.js.map +1 -1
- package/dist/quickstart-api.js +9 -5
- package/dist/quickstart-api.js.map +1 -1
- package/dist/quickstart.d.ts +1 -0
- package/dist/quickstart.js +4 -1
- package/dist/quickstart.js.map +1 -1
- package/dist/reply-buttons-controller.js +10 -0
- package/dist/reply-buttons-controller.js.map +1 -1
- package/dist/runtime-bundle.js +3 -0
- package/dist/runtime-bundle.js.map +1 -1
- package/dist/runtime-general-protocol.d.ts +22 -0
- package/dist/runtime-general-protocol.js +57 -0
- package/dist/runtime-general-protocol.js.map +1 -0
- package/dist/runtime-general-workspace.d.ts +17 -0
- package/dist/runtime-general-workspace.js +213 -0
- package/dist/runtime-general-workspace.js.map +1 -0
- package/dist/runtime-pane-assets.d.ts +1 -1
- package/dist/runtime-pane-assets.js +1 -1
- package/dist/runtime-pane-assets.js.map +1 -1
- package/dist/runtime-pane-host.d.ts +1 -0
- package/dist/runtime-pane-host.js +22 -1
- package/dist/runtime-pane-host.js.map +1 -1
- package/dist/runtime-pane-mcp.d.ts +8 -0
- package/dist/runtime-pane-mcp.js +15 -2
- package/dist/runtime-pane-mcp.js.map +1 -1
- package/dist/runtime-pane-port.d.ts +6 -1
- package/dist/runtime-pane-port.js +21 -0
- package/dist/runtime-pane-port.js.map +1 -1
- package/dist/runtime-pane-protocol.d.ts +4 -1
- package/dist/runtime-pane-protocol.js +7 -1
- package/dist/runtime-pane-protocol.js.map +1 -1
- package/dist/settings-api.d.ts +5 -0
- package/dist/settings-api.js +37 -1
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-baseline.d.ts +1 -0
- package/dist/settings-baseline.js +1 -1
- package/dist/settings-baseline.js.map +1 -1
- package/dist/settings-confirmation.d.ts +1 -0
- package/dist/settings-confirmation.js +1 -0
- package/dist/settings-confirmation.js.map +1 -1
- package/dist/settings-effect.d.ts +4 -0
- package/dist/settings-effect.js +35 -0
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.d.ts +1 -0
- package/dist/settings-http-confirmation.js +4 -0
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/settings-request-capability.d.ts +2 -0
- package/dist/settings-request-capability.js +4 -0
- package/dist/settings-request-capability.js.map +1 -1
- package/dist/settings-route-lifetime.d.ts +14 -0
- package/dist/settings-route-lifetime.js +48 -0
- package/dist/settings-route-lifetime.js.map +1 -0
- package/dist/settings-transaction.d.ts +4 -0
- package/dist/settings-transaction.js +9 -0
- package/dist/settings-transaction.js.map +1 -1
- package/dist/setup-form.js +6 -3
- package/dist/setup-form.js.map +1 -1
- package/dist/setup-i18n.js +3 -0
- package/dist/setup-i18n.js.map +1 -1
- package/dist/stall-reporter.d.ts +21 -0
- package/dist/stall-reporter.js +82 -0
- package/dist/stall-reporter.js.map +1 -0
- package/dist/tmux-control.d.ts +2 -2
- package/dist/tmux-control.js +4 -2
- package/dist/tmux-control.js.map +1 -1
- package/dist/tmux-exec-helper.d.ts +6 -3
- package/dist/tmux-exec-helper.js +115 -53
- package/dist/tmux-exec-helper.js.map +1 -1
- package/dist/tool-permissions.js +2 -1
- package/dist/tool-permissions.js.map +1 -1
- package/dist/tunnel/cloudflared-install.d.ts +4 -0
- package/dist/tunnel/cloudflared-install.js +20 -1
- package/dist/tunnel/cloudflared-install.js.map +1 -1
- package/dist/tunnel/cloudflared.d.ts +8 -1
- package/dist/tunnel/cloudflared.js +34 -6
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/tunnel/lease.d.ts +3 -3
- package/dist/tunnel/lease.js +23 -19
- package/dist/tunnel/lease.js.map +1 -1
- package/dist/tunnel/manager.js +6 -7
- package/dist/tunnel/manager.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/ui/agent-proposals.js +2 -2
- package/dist/ui/general-location.js +71 -0
- package/dist/ui/native-pane-recovery.js +1 -1
- package/dist/ui/panel-chat.js +2 -0
- package/dist/ui/panel-needs.js +2 -0
- package/dist/ui/panel-settings.js +5 -1
- package/dist/ui/settings-dialogs.js +8 -2
- package/dist/ui/settings-model.js +2 -1
- package/dist/ui/settings-outside.js +176 -0
- package/dist/ui/settings-registry.js +1 -0
- package/dist/ui/settings-strings.js +2 -0
- package/dist/ui/shared/app-i18n.js +2 -2
- package/dist/ui/shared/app.css +16 -1
- package/dist/ui/shared/instance-nav.js +13 -3
- package/dist/ui/shared/panel-view.js +266 -17
- package/dist/ui/shared/qrcode.module.js +2237 -0
- package/dist/ui/shared/signin.js +39 -5
- package/dist/ui/shared/vendor/qrcode-generator.LICENSE +27 -0
- package/dist/ui/shared/vendor/vendor.json +19 -2
- package/dist/ui/shared/view-strings.js +28 -0
- package/dist/unattended-install.d.ts +1 -1
- package/dist/unattended-install.js +19 -5
- package/dist/unattended-install.js.map +1 -1
- package/dist/update-check.d.ts +2 -8
- package/dist/update-check.js +2 -5
- package/dist/update-check.js.map +1 -1
- package/dist/view-api.d.ts +15 -0
- package/dist/view-api.js +94 -33
- package/dist/view-api.js.map +1 -1
- package/dist/web-api.d.ts +12 -0
- package/dist/web-api.js +77 -0
- package/dist/web-api.js.map +1 -1
- package/dist/web-login.d.ts +4 -3
- package/dist/web-login.js +23 -14
- package/dist/web-login.js.map +1 -1
- package/dist/web-only-fleet.d.ts +20 -0
- package/dist/web-only-fleet.js +21 -0
- package/dist/web-only-fleet.js.map +1 -1
- package/dist/web-remote-access.d.ts +152 -0
- package/dist/web-remote-access.js +368 -0
- package/dist/web-remote-access.js.map +1 -0
- package/dist/web-session.d.ts +12 -0
- package/dist/web-session.js +22 -8
- package/dist/web-session.js.map +1 -1
- package/dist/windows-agents.d.ts +12 -0
- package/dist/windows-agents.js +24 -0
- package/dist/windows-agents.js.map +1 -1
- package/launcher/agend-install.cjs +16 -2
- package/package.json +1 -1
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/** Runner-owned General knowledge. Only fixed installed assets enter a dedicated, receipt-owned workspace. */
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { constants, closeSync, fstatSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, unlinkSync } from "node:fs";
|
|
4
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { atomicWriteFileSync } from "./atomic-write.js";
|
|
7
|
+
import { GENERAL_KNOWLEDGE_FILES, GENERAL_ROLE_INSTRUCTIONS } from "./general-role.js";
|
|
8
|
+
import { GeneralManagedFileError, validateGeneralWorkspaceRequest } from "./runtime-general-protocol.js";
|
|
9
|
+
const hash = (text) => createHash("sha256").update(text).digest("hex");
|
|
10
|
+
const missing = (error) => error.code === "ENOENT";
|
|
11
|
+
function directory(path) {
|
|
12
|
+
const stat = lstatSync(path);
|
|
13
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
14
|
+
throw Error("General workspace directory is unsafe");
|
|
15
|
+
if (resolve(realpathSync(path)).toLowerCase() !== resolve(path).toLowerCase())
|
|
16
|
+
throw Error("General workspace directory leads elsewhere");
|
|
17
|
+
}
|
|
18
|
+
function text(path, limit) {
|
|
19
|
+
const before = lstatSync(path);
|
|
20
|
+
if (!before.isFile() || before.isSymbolicLink() || before.size > limit)
|
|
21
|
+
throw Error("General program or workspace file is unsafe");
|
|
22
|
+
const fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
|
|
23
|
+
try {
|
|
24
|
+
const opened = fstatSync(fd);
|
|
25
|
+
if (!opened.isFile() || opened.size > limit || opened.dev !== before.dev || opened.ino !== before.ino)
|
|
26
|
+
throw Error("General file changed while opening");
|
|
27
|
+
const bytes = readFileSync(fd), after = fstatSync(fd);
|
|
28
|
+
if (bytes.length > limit || after.size !== opened.size || after.mtimeMs !== opened.mtimeMs || bytes.includes(0))
|
|
29
|
+
throw Error("General file changed or contains invalid text");
|
|
30
|
+
const value = bytes.toString("utf8");
|
|
31
|
+
if (!Buffer.from(value, "utf8").equals(bytes))
|
|
32
|
+
throw Error("General asset is not valid UTF-8");
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
closeSync(fd);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function child(root, name, create = false) {
|
|
40
|
+
if (!name || name.includes("\\") || name.split("/").some(part => !part || part === "." || part === ".."))
|
|
41
|
+
throw Error("Invalid General asset path");
|
|
42
|
+
directory(root);
|
|
43
|
+
const parts = name.split("/");
|
|
44
|
+
let path = root;
|
|
45
|
+
for (const part of parts.slice(0, -1)) {
|
|
46
|
+
path = join(path, part);
|
|
47
|
+
if (create) {
|
|
48
|
+
try {
|
|
49
|
+
mkdirSync(path, { mode: 0o700 });
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error.code !== "EEXIST")
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
directory(path);
|
|
57
|
+
}
|
|
58
|
+
const target = join(root, ...parts), within = relative(root, target);
|
|
59
|
+
if (!within || within.startsWith(".." + sep) || within === "..")
|
|
60
|
+
throw Error("General asset escaped its workspace");
|
|
61
|
+
return target;
|
|
62
|
+
}
|
|
63
|
+
export function loadGeneralKnowledge(cli, moduleDirectory = dirname(fileURLToPath(import.meta.url))) {
|
|
64
|
+
const root = join(moduleDirectory, "general-knowledge");
|
|
65
|
+
directory(root);
|
|
66
|
+
const files = {}, skills = cli === "codex" ? ".agents" : ".claude";
|
|
67
|
+
let total = 0;
|
|
68
|
+
for (const name of GENERAL_KNOWLEDGE_FILES) {
|
|
69
|
+
const value = text(child(root, name), 128 * 1024);
|
|
70
|
+
total += Buffer.byteLength(value);
|
|
71
|
+
if (total > 512 * 1024)
|
|
72
|
+
throw Error("General knowledge pack is too large");
|
|
73
|
+
if (name.startsWith("skills/"))
|
|
74
|
+
files[`${skills}/${name}`] = value;
|
|
75
|
+
else
|
|
76
|
+
files[cli === "codex" ? "AGENTS.md" : "CLAUDE.md"] = `${GENERAL_ROLE_INSTRUCTIONS}\n\n${value}`;
|
|
77
|
+
}
|
|
78
|
+
return { hash: hash(JSON.stringify(files)), files };
|
|
79
|
+
}
|
|
80
|
+
/** The caller serializes publication against live/unknown panes using this cwd. File access is bounded and synchronous. */
|
|
81
|
+
export class RuntimeGeneralWorkspace {
|
|
82
|
+
root;
|
|
83
|
+
moduleDirectory;
|
|
84
|
+
constructor(root, moduleDirectory = dirname(fileURLToPath(import.meta.url))) {
|
|
85
|
+
this.root = root;
|
|
86
|
+
this.moduleDirectory = moduleDirectory;
|
|
87
|
+
}
|
|
88
|
+
path(request, create) {
|
|
89
|
+
directory(this.root);
|
|
90
|
+
const root = join(this.root, "general-workspaces");
|
|
91
|
+
if (create) {
|
|
92
|
+
try {
|
|
93
|
+
mkdirSync(root, { mode: 0o700 });
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (error.code !== "EEXIST")
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
directory(root);
|
|
101
|
+
const cwd = join(root, request.bindingId);
|
|
102
|
+
if (create) {
|
|
103
|
+
try {
|
|
104
|
+
mkdirSync(cwd, { mode: 0o700 });
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error.code !== "EEXIST")
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
directory(cwd);
|
|
112
|
+
return cwd;
|
|
113
|
+
}
|
|
114
|
+
manifest(cwd, request) {
|
|
115
|
+
let raw;
|
|
116
|
+
try {
|
|
117
|
+
raw = JSON.parse(text(join(cwd, ".agend-general.json"), 64 * 1024));
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (missing(error))
|
|
121
|
+
return null;
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
if (raw?.version !== 1 || raw.bindingId !== request.bindingId || raw.instance !== request.instance || raw.cli !== request.cli
|
|
125
|
+
|| Object.keys(raw).some(key => !["version", "bindingId", "instance", "cli", "packHash", "files", "previous"].includes(key))
|
|
126
|
+
|| typeof raw.packHash !== "string" || !/^[a-f0-9]{64}$/.test(raw.packHash))
|
|
127
|
+
throw Error("General workspace publication scope differs");
|
|
128
|
+
for (const map of [raw.files, ...(raw.previous !== undefined ? [raw.previous] : [])]) {
|
|
129
|
+
if (!map || typeof map !== "object" || Array.isArray(map) || Object.keys(map).length > 64
|
|
130
|
+
|| Object.entries(map).some(([name, digest]) => !(name === (request.cli === "codex" ? "AGENTS.md" : "CLAUDE.md")
|
|
131
|
+
|| new RegExp(`^${request.cli === "codex" ? "\\.agents" : "\\.claude"}/skills/[a-z0-9][a-z0-9-]{0,63}/SKILL\\.md$`).test(name))
|
|
132
|
+
|| typeof digest !== "string" || !/^[a-f0-9]{64}$/.test(digest)))
|
|
133
|
+
throw Error("Invalid General owned-file manifest");
|
|
134
|
+
}
|
|
135
|
+
return raw;
|
|
136
|
+
}
|
|
137
|
+
existing(cwd, name) {
|
|
138
|
+
try {
|
|
139
|
+
return hash(text(child(cwd, name), 128 * 1024));
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (missing(error))
|
|
143
|
+
return null;
|
|
144
|
+
throw new GeneralManagedFileError(name, "General managed file cannot be verified");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
verify(raw, expectedCwd) {
|
|
148
|
+
const request = validateGeneralWorkspaceRequest(raw), cwd = this.path(request, false), pack = loadGeneralKnowledge(request.cli, this.moduleDirectory);
|
|
149
|
+
if (request.packHash !== pack.hash || expectedCwd !== undefined && resolve(expectedCwd).toLowerCase() !== resolve(cwd).toLowerCase())
|
|
150
|
+
throw Error("General workspace pack or directory differs");
|
|
151
|
+
const manifest = this.manifest(cwd, request);
|
|
152
|
+
if (!manifest || manifest.previous || manifest.packHash !== pack.hash || JSON.stringify(manifest.files) !== JSON.stringify(Object.fromEntries(Object.entries(pack.files).map(([name, value]) => [name, hash(value)]))))
|
|
153
|
+
throw new GeneralManagedFileError(".agend-general.json");
|
|
154
|
+
for (const [name, value] of Object.entries(pack.files)) {
|
|
155
|
+
if (this.existing(cwd, name) !== hash(value))
|
|
156
|
+
throw new GeneralManagedFileError(name);
|
|
157
|
+
}
|
|
158
|
+
return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: pack.hash, cwd };
|
|
159
|
+
}
|
|
160
|
+
prepare(raw, current, mayWrite) {
|
|
161
|
+
const request = validateGeneralWorkspaceRequest(raw), pack = loadGeneralKnowledge(request.cli, this.moduleDirectory);
|
|
162
|
+
if (pack.hash !== request.packHash || !current())
|
|
163
|
+
throw Error("General workspace pack or lease differs");
|
|
164
|
+
const cwd = this.path(request, true), previous = this.manifest(cwd, request);
|
|
165
|
+
try {
|
|
166
|
+
return this.verify(request);
|
|
167
|
+
}
|
|
168
|
+
catch { /* A partial, owned publication is completed only below. */ }
|
|
169
|
+
if (!mayWrite(cwd) || !current())
|
|
170
|
+
throw Error("General workspace has a live or unconfirmed pane");
|
|
171
|
+
if (!previous && readdirSync(cwd).length)
|
|
172
|
+
throw Error("General workspace contains unowned files");
|
|
173
|
+
const next = Object.fromEntries(Object.entries(pack.files).map(([name, value]) => [name, hash(value)]));
|
|
174
|
+
const known = new Set([...Object.keys(previous?.files ?? {}), ...Object.keys(previous?.previous ?? {}), ...Object.keys(next)]);
|
|
175
|
+
const old = {};
|
|
176
|
+
for (const name of known) {
|
|
177
|
+
const digest = this.existing(cwd, name);
|
|
178
|
+
if (digest !== null && digest !== previous?.files[name] && digest !== previous?.previous?.[name])
|
|
179
|
+
throw new GeneralManagedFileError(name, "General workspace file is not an unchanged owned copy");
|
|
180
|
+
if (digest !== null)
|
|
181
|
+
old[name] = digest;
|
|
182
|
+
}
|
|
183
|
+
// Before any content write, retain both possible hashes so an interrupted update never adopts unknown bytes.
|
|
184
|
+
const pending = { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: pack.hash, files: next, previous: old };
|
|
185
|
+
const save = (value) => { if (!current())
|
|
186
|
+
throw Error("General workspace lease expired"); directory(cwd); atomicWriteFileSync(join(cwd, ".agend-general.json"), JSON.stringify(value), { mode: 0o600 }); };
|
|
187
|
+
save(pending);
|
|
188
|
+
for (const [name, value] of Object.entries(pack.files)) {
|
|
189
|
+
if (!current())
|
|
190
|
+
throw Error("General workspace lease expired");
|
|
191
|
+
const digest = this.existing(cwd, name);
|
|
192
|
+
if (digest !== null && digest !== next[name] && digest !== old[name])
|
|
193
|
+
throw new GeneralManagedFileError(name, "General workspace changed during publication");
|
|
194
|
+
const file = child(cwd, name, true);
|
|
195
|
+
if (digest !== next[name])
|
|
196
|
+
atomicWriteFileSync(file, value, { mode: 0o600 });
|
|
197
|
+
}
|
|
198
|
+
for (const name of Object.keys(old))
|
|
199
|
+
if (!Object.hasOwn(next, name)) {
|
|
200
|
+
if (!current())
|
|
201
|
+
throw Error("General workspace lease expired");
|
|
202
|
+
const digest = this.existing(cwd, name);
|
|
203
|
+
if (digest !== null && digest !== old[name])
|
|
204
|
+
throw new GeneralManagedFileError(name, "Retired General skill changed");
|
|
205
|
+
if (digest !== null)
|
|
206
|
+
unlinkSync(child(cwd, name));
|
|
207
|
+
}
|
|
208
|
+
const { previous: _old, ...committed } = pending;
|
|
209
|
+
save(committed);
|
|
210
|
+
return this.verify(request);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=runtime-general-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-general-workspace.js","sourceRoot":"","sources":["../src/runtime-general-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,6 @@ export declare const RUNTIME_PANE_ASSETS: readonly [{
|
|
|
12
12
|
readonly version: "1.1.0";
|
|
13
13
|
readonly files: readonly ["package.json", "LICENSE", "CONPTY-LICENSE", "CONPTY-NOTICE.md", "lib/index.js", "lib/windowsConoutConnection.js", "lib/eventEmitter2.js", "lib/types.js", "lib/windowsTerminal.js", "lib/utils.js", "lib/worker/conoutSocketWorker.js", "lib/conpty_console_list_agent.js", "lib/interfaces.js", "lib/windowsPtyAgent.js", "lib/shared/conout.js", "lib/terminal.js", "lib/unixTerminal.js", ...string[]];
|
|
14
14
|
}];
|
|
15
|
-
export declare const RUNTIME_PANE_MODULES: readonly ["runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
|
|
15
|
+
export declare const RUNTIME_PANE_MODULES: readonly ["general-role.js", "runtime-general-protocol.js", "runtime-general-workspace.js", "runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
|
|
16
16
|
/** node-pty@1.1.0 npm prebuilds (lockfile integrity), bundled ConPTY 1.23.251008001. */
|
|
17
17
|
export declare const PANE_NATIVE_SHA256: Readonly<Record<string, string>>;
|
|
@@ -8,7 +8,7 @@ export const RUNTIME_PANE_ASSETS = [
|
|
|
8
8
|
...["win32-x64", "win32-arm64"].flatMap(platform => ["conpty.node", "conpty_console_list.node", "conpty/OpenConsole.exe", "conpty/conpty.dll"].map(file => `prebuilds/${platform}/${file}`)),
|
|
9
9
|
] },
|
|
10
10
|
];
|
|
11
|
-
export const RUNTIME_PANE_MODULES = ["runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
|
|
11
|
+
export const RUNTIME_PANE_MODULES = ["general-role.js", "runtime-general-protocol.js", "runtime-general-workspace.js", "runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
|
|
12
12
|
/** node-pty@1.1.0 npm prebuilds (lockfile integrity), bundled ConPTY 1.23.251008001. */
|
|
13
13
|
export const PANE_NATIVE_SHA256 = {
|
|
14
14
|
"prebuilds/win32-x64/conpty.node": "ee8f4e6f4dad71939eecfda11de249400e34bfefe4c8b48af13f3b5476f4035b",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-pane-assets.js","sourceRoot":"","sources":["../src/runtime-pane-assets.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,gCAAgC,EAAE,iCAAiC,CAAC,EAAE;IACtJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,wBAAwB,EAAE,yBAAyB,CAAC,EAAE;IAC9I,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3C,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;YACnM,kCAAkC,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB;YACvL,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;SAC7L,EAAE;CACK,CAAC;AACX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,sBAAsB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-pane-assets.js","sourceRoot":"","sources":["../src/runtime-pane-assets.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,gCAAgC,EAAE,iCAAiC,CAAC,EAAE;IACtJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,wBAAwB,EAAE,yBAAyB,CAAC,EAAE;IAC9I,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3C,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;YACnM,kCAAkC,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB;YACvL,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;SAC7L,EAAE;CACK,CAAC;AACX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,sBAAsB,CAAU,CAAC;AAE/4B,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,iCAAiC,EAAE,kEAAkE;IACrG,8CAA8C,EAAE,kEAAkE;IAClH,uCAAuC,EAAE,kEAAkE;IAC3G,4CAA4C,EAAE,kEAAkE;IAChH,mCAAmC,EAAE,kEAAkE;IACvG,gDAAgD,EAAE,kEAAkE;IACpH,yCAAyC,EAAE,kEAAkE;IAC7G,8CAA8C,EAAE,kEAAkE;CACnH,CAAC"}
|
|
@@ -30,6 +30,7 @@ export declare class RuntimePaneHost {
|
|
|
30
30
|
private readonly live;
|
|
31
31
|
private readonly queues;
|
|
32
32
|
private closing;
|
|
33
|
+
private readonly general;
|
|
33
34
|
constructor(options: RuntimePaneHostOptions);
|
|
34
35
|
list(): RuntimePaneSnapshot[];
|
|
35
36
|
/** Exact live reservation; no PID adoption or scans of other panes. */
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { RuntimePaneOutputBuffer } from "./runtime-pane-output.js";
|
|
2
|
+
import { RuntimeGeneralWorkspace, loadGeneralKnowledge } from "./runtime-general-workspace.js";
|
|
3
|
+
import { GeneralManagedFileError } from "./runtime-general-protocol.js";
|
|
2
4
|
/** Runner-owned, persistent CLI panes. A coordinator reconnect neither launches nor replays anything. */
|
|
3
5
|
import { randomUUID } from "node:crypto";
|
|
4
6
|
import { RuntimePaneStore } from "./runtime-pane-store.js";
|
|
@@ -14,8 +16,10 @@ export class RuntimePaneHost {
|
|
|
14
16
|
live = new Map();
|
|
15
17
|
queues = new Map();
|
|
16
18
|
closing = false;
|
|
19
|
+
general;
|
|
17
20
|
constructor(options) {
|
|
18
21
|
this.options = options;
|
|
22
|
+
this.general = new RuntimeGeneralWorkspace(options.store.directory);
|
|
19
23
|
}
|
|
20
24
|
list() {
|
|
21
25
|
for (const row of this.options.store.list())
|
|
@@ -39,9 +43,24 @@ export class RuntimePaneHost {
|
|
|
39
43
|
async request(raw, current = () => true) {
|
|
40
44
|
const request = validateRuntimePaneRequest(raw);
|
|
41
45
|
if (request.action === "list")
|
|
42
|
-
return { hostBootId: this.options.bootId, capabilities: { openDisposition: true, recovery: true, claudeSessionProof: true, codexSessionProof: true }, panes: this.list() };
|
|
46
|
+
return { hostBootId: this.options.bootId, capabilities: { openDisposition: true, recovery: true, claudeSessionProof: true, codexSessionProof: true, generalWorkspace: true }, panes: this.list() };
|
|
43
47
|
if (this.closing || !this.options.online() || !current())
|
|
44
48
|
throw Error("Pane runtime is disconnected");
|
|
49
|
+
if (request.action === "general-workspace") {
|
|
50
|
+
const installed = loadGeneralKnowledge(request.cli).hash;
|
|
51
|
+
if (installed !== request.packHash)
|
|
52
|
+
return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: installed, upgradeRequired: true };
|
|
53
|
+
try {
|
|
54
|
+
return this.general.prepare(request, current, cwd => !this.list().some(row => row.state !== "exited"
|
|
55
|
+
&& this.options.store.get(row.paneId)?.launch.cwd.toLowerCase() === cwd.toLowerCase()));
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
// Closed, fixed-asset diagnostics cross the transport; raw errors, paths and file contents never do.
|
|
59
|
+
if (!(err instanceof GeneralManagedFileError))
|
|
60
|
+
throw err;
|
|
61
|
+
return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: request.packHash, managedFile: err.file };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
45
64
|
if (request.action === "shutdown") {
|
|
46
65
|
// No await between the inventory, admission fence and reply. An accepted/queued launch or an unknown
|
|
47
66
|
// reservation prevents shutdown; disconnect/lease loss alone never tears down a persistent host.
|
|
@@ -107,6 +126,8 @@ export class RuntimePaneHost {
|
|
|
107
126
|
this.options.store.put(record);
|
|
108
127
|
return { ...structuredClone(record.snapshot), reattached: false };
|
|
109
128
|
}
|
|
129
|
+
if (launch.generalWorkspace)
|
|
130
|
+
this.general.verify({ action: "general-workspace", ...launch.generalWorkspace, instance: launch.instance, cli: launch.cli }, launch.cwd);
|
|
110
131
|
// Synchronous reservation before the first await: parallel opens cannot oversubscribe the machine.
|
|
111
132
|
this.options.store.put(record);
|
|
112
133
|
let process;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-pane-host.js","sourceRoot":"","sources":["../src/runtime-pane-host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-pane-host.js","sourceRoot":"","sources":["../src/runtime-pane-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,yGAAyG;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAyG,MAAM,4BAA4B,CAAC;AAC/L,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAAiC,MAAM,8BAA8B,CAAC;AAC5J,OAAO,EAAE,8BAA8B,EAA+B,+BAA+B,EAA2D,MAAM,uCAAuC,CAAC;AAC9M,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AA6BrE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAW,CAAC;AAEnJ,MAAM,OAAO,eAAe;IAKG,OAAO;IAJnB,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACnC,MAAM,GAAG,IAAI,GAAG,EAAqD,CAAC;IAC/E,OAAO,GAAG,KAAK,CAAC;IACP,OAAO,CAA0B;IAClD,YAA6B,OAA+B;uBAA/B,OAAO;QAA4B,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC;IACtI,IAAI;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClI,CAAC;IACD,uEAAuE;IACvE,IAAI,CAAC,KAAmB;QACtB,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;YAC5G,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;mBACtH,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACnG,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,OAAO,GAAkB,GAAG,EAAE,CAAC,IAAI;QAC7D,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClO,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtG,IAAI,OAAO,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACzD,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;YAClL,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ;uBAC/F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qGAAqG;gBACrG,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC;oBAAE,MAAM,GAAG,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACvJ,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClC,qGAAqG;YACrG,iGAAiG;YACjG,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACrL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3E,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnE,KAAK,CAAC,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC3D,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;gBAAE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACtG,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YAAC,OAAO,MAAM,SAAS,CAAC;QAAC,CAAC;gBACvB,CAAC;YAAC,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IAC/F,CAAC;IACO,KAAK,CAAC,IAAI,CAAC,OAAwD;QACzE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,eAAe,KAAK,WAAW,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM;gBAAE,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACzI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC7H,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;YAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACnG,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;YAAE,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACxJ,MAAM,MAAM,GAAsB;YAChC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YACrF,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI;gBAC3M,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;SAC/D,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5G,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;eACzF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzE,gHAAgH;YAChH,sGAAsG;YACtG,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;YAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,gBAAgB;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtK,mGAAmG;QACnG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,KAAK,GAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/G,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;oBAAE,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC7F,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9M,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAmB,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACvE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS;oBAAE,OAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnH,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,GAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACrI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACzB,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;YAClC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE;gBACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBAAE,OAAO;gBAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;oBAAE,OAAO;gBAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,qGAAqG;gBACrG,mGAAmG;gBACnG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACzC,IAAI,CAAC;wBAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,2DAA2D,CAAC,CAAC;gBACxI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC;wBAAC,OAAQ,CAAC,KAAK,EAAE,CAAC;wBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;gBACzG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC9B,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACtE,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;gBACpG,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iDAAiD,CAAC,CAAC;gBAC5H,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;gBAC9F,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;oBACrE,KAAK,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC7C,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAAC,CAAC;YACrF,OAAO,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAAC,CAAC;YACrF,mGAAmG;YACnG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACO,OAAO,CAAC,OAA2D;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACjM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtO,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAChF,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,OAAgH,EAAE,OAAsB;QAC5J,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC3G,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,OAAO,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC;YACpD,IAAI,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC9L,IAAI,OAAO,GAAG,KAAK,EAAE,KAAgD,CAAC;YACtE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;gBACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC9D,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzH,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAY,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/H,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACvI,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAAC,CAAC;oBACrE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACjJ,IAAI,CAAC,IAAI;YAAE,MAAM,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC7G,MAAM,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,IAAI,GAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtE,IAAG,GAAG,KAAG,MAAM,CAAC,QAAQ,CAAC,GAAG;gBAAC,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC1F,OAAO,EAAC,QAAQ,EAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtJ,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,SAAS;gBAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACtH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBACjH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,iFAAiF,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,SAAS;oBAAE,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5G,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC9C,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAC,MAAM,KAAK,CAAC;gBAAC,CAAC;YAC1G,CAAC;YACD,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAC,CAAC;QACrL,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,KAAK,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,OAAO,CAAC,WAAW;mBACrG,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAChJ,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC1J,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAClH,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACvH,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAClI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC5H,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnD,MAAM,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpC,IAAG,CAAC,OAAO,CAAC,MAAM,KAAG,OAAO,IAAE,OAAO,CAAC,MAAM,KAAG,KAAK,IAAE,OAAO,CAAC,MAAM,KAAG,MAAM,CAAC,IAAE,OAAO,CAAC,WAAW,KAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC;YACzH,wGAAwG;YACxG,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAC,IAAI,CAAC;YAAA,MAAM,CAAC,WAAW,CAAC,KAAK,GAAC,SAAS,CAAC;YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAAA,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9I,CAAC;QACD,mFAAmF;QACnF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAClI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;aACrI,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5G,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,KAAgD,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAQ,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzJ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACO,KAAK,CAAC,cAAc,CAAC,IAAc,EAAE,MAA4B,EAAE,OAAsB,EAAE,QAAQ,GAAG,KAAK;QACjH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAAE,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzH,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,0BAA0B,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxJ,IAAI,OAAO,GAAG,KAAK,EAAE,KAAgD,CAAC;QACtE,MAAM,KAAK,GAAG,GAAY,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrN,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjL,IAAI,CAAC,KAAK,EAAE;gBAAE,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAChE,IAAI,QAAQ;gBAAE,OAAO,8BAA8B,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/E,OAAO,+BAA+B,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvK,CAAC;gBAAS,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAAC,CAAC;IAC/E,CAAC;IACD,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnF,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;gBAAC,CAAC;YAChF,CAAC;QACD,0FAA0F;QAC1F,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,kHAAkH;QAClH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAClG,IAAI,KAAgD,CAAC;QACrD,IAAI,SAAS,CAAC,MAAM;YAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,OAAO,CAAO,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9J,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;YACpF,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;oBAAS,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,KAAK,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAC,CAAC;QAChI,CAAC;IACH,CAAC;CACF"}
|
|
@@ -3,6 +3,12 @@ interface ToolMenu {
|
|
|
3
3
|
name: string;
|
|
4
4
|
[key: string]: unknown;
|
|
5
5
|
}
|
|
6
|
+
export interface PaneToolFailure {
|
|
7
|
+
tool: string;
|
|
8
|
+
operationId: string;
|
|
9
|
+
reason: string;
|
|
10
|
+
code: string | number | null;
|
|
11
|
+
}
|
|
6
12
|
export interface PaneMcpAuthority {
|
|
7
13
|
machineId: string;
|
|
8
14
|
owner: PaneMcpOwner;
|
|
@@ -17,7 +23,9 @@ export interface PaneMcpAuthority {
|
|
|
17
23
|
}, current: () => boolean): Promise<{
|
|
18
24
|
result: unknown;
|
|
19
25
|
error?: string;
|
|
26
|
+
errorCode?: string | number;
|
|
20
27
|
}>;
|
|
28
|
+
toolFailed?(details: PaneToolFailure): void;
|
|
21
29
|
responseWritten(operationId: string): void;
|
|
22
30
|
/** Stable authenticated connection generation, distinct from one RPC's short-lived current() fence. */
|
|
23
31
|
transportEpoch?(): string | null;
|
package/dist/runtime-pane-mcp.js
CHANGED
|
@@ -5,6 +5,7 @@ import { atomicWriteFileSync } from "./atomic-write.js";
|
|
|
5
5
|
import { runtimeJobDigest } from "./runtime-client-store.js";
|
|
6
6
|
import { validatePaneMcpBody, validatePaneMcpOwner, samePaneMcpOwner } from "./runtime-pane-mcp-protocol.js";
|
|
7
7
|
import { OUTBOUND_TOOL_SCHEMAS } from "./channel/mcp-tools.js";
|
|
8
|
+
import { redactDiagnostics } from "./diagnostic-redaction.js";
|
|
8
9
|
const errorResult = (text) => ({ content: [{ type: "text", text }], isError: true });
|
|
9
10
|
/** One ledger per exact pane launch; no plaintext arguments, result, provider credential or user input is persisted. */
|
|
10
11
|
export class PaneMcpAuthorityLease {
|
|
@@ -111,8 +112,20 @@ export class PaneMcpAuthorityLease {
|
|
|
111
112
|
let response;
|
|
112
113
|
try {
|
|
113
114
|
const value = await this.authority.invoke({ tool, args: checked, operationId: call.operationId }, allowed);
|
|
114
|
-
if (value.error)
|
|
115
|
-
|
|
115
|
+
if (value.error) {
|
|
116
|
+
// No args, reply bodies or raw provider errors in diagnostics. Redact BEFORE truncating so a
|
|
117
|
+
// credential cannot survive as a partial token. An absent lower-level code stays explicitly unknown.
|
|
118
|
+
const reason = value.error.length > 65_536 ? "Tool failure reason exceeded the diagnostic limit"
|
|
119
|
+
: redactDiagnostics(value.error).replace(/[\r\n]+/g, " ").slice(0, 1000);
|
|
120
|
+
const code = typeof value.errorCode === "number" && Number.isSafeInteger(value.errorCode) ? value.errorCode
|
|
121
|
+
: typeof value.errorCode === "string" ? (value.errorCode.length > 4096 ? "[REDACTED]" : redactDiagnostics(value.errorCode)).slice(0, 80) : null;
|
|
122
|
+
try {
|
|
123
|
+
this.authority.toolFailed?.({ tool, operationId: call.operationId, reason, code });
|
|
124
|
+
}
|
|
125
|
+
catch { /* Logging cannot change a settled tool outcome. */ }
|
|
126
|
+
response = errorResult(`AgEnD tool operation failed: ${reason}${code === null ? "" : ` (code: ${code})`}. Inspect operation ${call.operationId} before retrying.`);
|
|
127
|
+
response.structuredContent = { error: { reason, code, operationId: call.operationId } };
|
|
128
|
+
}
|
|
116
129
|
else {
|
|
117
130
|
const text = typeof value.result === "string" ? value.result : JSON.stringify(value.result);
|
|
118
131
|
response = text === undefined ? errorResult("AgEnD returned no tool result") : { content: [{ type: "text", text }] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-pane-mcp.js","sourceRoot":"","sources":["../src/runtime-pane-mcp.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAuC,MAAM,gCAAgC,CAAC;AAClJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-pane-mcp.js","sourceRoot":"","sources":["../src/runtime-pane-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Coordinator-side pane handle. Remote PIDs are never exposed as local supervision targets. */
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
import { type RuntimePaneLaunch, type RuntimePaneRequest, type RuntimePaneSnapshot } from "./runtime-pane-protocol.js";
|
|
4
|
-
import type { Pane, PaneHost, PaneInputProof, PaneKey, PaneObservation, PaneSize, PaneStatus } from "./pane-port.js";
|
|
4
|
+
import type { Pane, PaneHost, PaneInputProof, PaneInputDiagnostic, PaneKey, PaneObservation, PaneSize, PaneStatus } from "./pane-port.js";
|
|
5
5
|
import type { RuntimeCoordinatorEvent } from "./runtime-coordinator.js";
|
|
6
6
|
import { type PaneTranscriptBaseline, type PaneTranscriptCursor, type PaneTranscriptWireBatch, type RuntimeTranscriptReference } from "./runtime-pane-transcript-protocol.js";
|
|
7
7
|
export interface PaneEndpoint {
|
|
@@ -22,6 +22,11 @@ export declare class RuntimePanePort implements Pane {
|
|
|
22
22
|
private lastObservation;
|
|
23
23
|
private inputCapture;
|
|
24
24
|
private inputNotSent;
|
|
25
|
+
private inputDiagnostic;
|
|
26
|
+
private consecutiveRefusals;
|
|
27
|
+
private refusalLogger?;
|
|
28
|
+
setInputRefusalLogger(log: (details: PaneInputDiagnostic) => void): void;
|
|
29
|
+
getLastInputDiagnostic(): PaneInputDiagnostic | null;
|
|
25
30
|
constructor(endpoint: PaneEndpoint, file: string, launch: RuntimePaneLaunch, inputIsComposer?: (screen: string) => boolean);
|
|
26
31
|
private save;
|
|
27
32
|
private serialize;
|
|
@@ -20,6 +20,11 @@ export class RuntimePanePort {
|
|
|
20
20
|
lastObservation;
|
|
21
21
|
inputCapture;
|
|
22
22
|
inputNotSent = false;
|
|
23
|
+
inputDiagnostic = null;
|
|
24
|
+
consecutiveRefusals = 0;
|
|
25
|
+
refusalLogger;
|
|
26
|
+
setInputRefusalLogger(log) { this.refusalLogger = log; }
|
|
27
|
+
getLastInputDiagnostic() { return this.inputDiagnostic ? { ...this.inputDiagnostic } : null; }
|
|
23
28
|
constructor(endpoint, file, launch, inputIsComposer = () => false) {
|
|
24
29
|
this.endpoint = endpoint;
|
|
25
30
|
this.file = file;
|
|
@@ -234,16 +239,32 @@ export class RuntimePanePort {
|
|
|
234
239
|
this.record.pending = { action: "reconcile", paneId: request.paneId, launchId: request.launchId,
|
|
235
240
|
operationId: request.operationId, sequence: request.sequence, digest: runtimeJobDigest(request) };
|
|
236
241
|
this.save();
|
|
242
|
+
if (request.action === "input" || request.action === "key" || request.action === "edit") {
|
|
243
|
+
this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: null, operationId: request.operationId,
|
|
244
|
+
commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
|
|
245
|
+
}
|
|
237
246
|
const snapshot = this.accept(await this.endpoint.call(request));
|
|
238
247
|
this.record.snapshot = snapshot;
|
|
239
248
|
delete this.record.pending;
|
|
240
249
|
this.save();
|
|
241
250
|
this.error = null;
|
|
251
|
+
if (this.inputDiagnostic?.operationId === request.operationId)
|
|
252
|
+
this.inputDiagnostic.observedSeq = snapshot.seq;
|
|
242
253
|
if (snapshot.inputRefused) {
|
|
243
254
|
this.inputNotSent = true;
|
|
244
255
|
this.error = "Pane changed after observation; input was not sent";
|
|
256
|
+
if (request.action === "input" || request.action === "key" || request.action === "edit") {
|
|
257
|
+
this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: snapshot.seq, operationId: request.operationId,
|
|
258
|
+
commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
|
|
259
|
+
this.consecutiveRefusals++;
|
|
260
|
+
try {
|
|
261
|
+
this.refusalLogger?.({ ...this.inputDiagnostic });
|
|
262
|
+
}
|
|
263
|
+
catch { /* Diagnostics never change a positive zero-input ACK. */ }
|
|
264
|
+
}
|
|
245
265
|
return false;
|
|
246
266
|
}
|
|
267
|
+
this.consecutiveRefusals = 0;
|
|
247
268
|
return true;
|
|
248
269
|
}
|
|
249
270
|
catch {
|