@interf/compiler 0.1.9 → 0.1.11
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/README.md +37 -28
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +1 -8
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create-workflow-wizard.d.ts +65 -0
- package/dist/commands/create-workflow-wizard.d.ts.map +1 -0
- package/dist/commands/create-workflow-wizard.js +299 -0
- package/dist/commands/create-workflow-wizard.js.map +1 -0
- package/dist/commands/create.d.ts +1 -37
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +11 -313
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reset.js +3 -3
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +9 -0
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-skills.d.ts +21 -0
- package/dist/lib/agent-skills.d.ts.map +1 -0
- package/dist/lib/agent-skills.js +215 -0
- package/dist/lib/agent-skills.js.map +1 -0
- package/dist/lib/agents.d.ts +11 -13
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +12 -212
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/filesystem.d.ts +0 -1
- package/dist/lib/filesystem.d.ts.map +1 -1
- package/dist/lib/filesystem.js +0 -5
- package/dist/lib/filesystem.js.map +1 -1
- package/dist/lib/interf-bootstrap.d.ts +13 -0
- package/dist/lib/interf-bootstrap.d.ts.map +1 -0
- package/dist/lib/interf-bootstrap.js +215 -0
- package/dist/lib/interf-bootstrap.js.map +1 -0
- package/dist/lib/interf-detect.d.ts +31 -0
- package/dist/lib/interf-detect.d.ts.map +1 -0
- package/dist/lib/interf-detect.js +146 -0
- package/dist/lib/interf-detect.js.map +1 -0
- package/dist/lib/interf-scaffold.d.ts +15 -0
- package/dist/lib/interf-scaffold.d.ts.map +1 -0
- package/dist/lib/interf-scaffold.js +592 -0
- package/dist/lib/interf-scaffold.js.map +1 -0
- package/dist/lib/interf.d.ts +4 -36
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +5 -1103
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts +7 -0
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +83 -10
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/obsidian.d.ts +6 -0
- package/dist/lib/obsidian.d.ts.map +1 -0
- package/dist/lib/obsidian.js +166 -0
- package/dist/lib/obsidian.js.map +1 -0
- package/dist/lib/runtime.d.ts.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/schema.d.ts +1 -0
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +1 -1
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/state.d.ts +2 -4
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +1 -1
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/util.d.ts +4 -0
- package/dist/lib/util.d.ts.map +1 -0
- package/dist/lib/util.js +14 -0
- package/dist/lib/util.js.map +1 -0
- package/dist/lib/validate.js +5 -8
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +8 -0
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts +41 -0
- package/dist/lib/workflow-helpers.d.ts.map +1 -0
- package/dist/lib/workflow-helpers.js +189 -0
- package/dist/lib/workflow-helpers.js.map +1 -0
- package/dist/lib/workflows-interface.d.ts +79 -0
- package/dist/lib/workflows-interface.d.ts.map +1 -0
- package/dist/lib/workflows-interface.js +625 -0
- package/dist/lib/workflows-interface.js.map +1 -0
- package/dist/lib/workflows-kb.d.ts +50 -0
- package/dist/lib/workflows-kb.d.ts.map +1 -0
- package/dist/lib/workflows-kb.js +282 -0
- package/dist/lib/workflows-kb.js.map +1 -0
- package/dist/lib/workflows.d.ts +10 -114
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +14 -1072
- package/dist/lib/workflows.js.map +1 -1
- package/package.json +8 -3
- package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
- package/templates/knowledge-base/README.md +1 -1
package/dist/lib/agents.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { appendFileSync, existsSync, mkdirSync,
|
|
1
|
+
import { appendFileSync, existsSync, mkdirSync, mkdtempSync, rmSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { homedir, tmpdir } from "node:os";
|
|
4
4
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
5
|
-
import { SKILLS_DIR } from "./config.js";
|
|
6
5
|
import { loadUserConfig } from "./user-config.js";
|
|
6
|
+
import { ensureRequiredSkill, extractRequiredSkill, installSkills as installSkillsCore, } from "./agent-skills.js";
|
|
7
7
|
import chalk from "chalk";
|
|
8
|
+
// Re-export skill functions so existing imports from "./agents.js" still resolve.
|
|
9
|
+
export { refreshInterfSkills, inspectInterfSkills, ensureRequiredSkill, extractRequiredSkill, } from "./agent-skills.js";
|
|
10
|
+
/**
|
|
11
|
+
* Install bundled Interf skills to the given agents (or all detected agents).
|
|
12
|
+
* Wrapper preserves the optional-agents API from the original single-module surface.
|
|
13
|
+
*/
|
|
14
|
+
export function installSkills(agents) {
|
|
15
|
+
return installSkillsCore(agents ?? detectAgents());
|
|
16
|
+
}
|
|
8
17
|
const SHOW_AGENT_TOOL_EVENTS = process.env.INTERF_DEBUG_AGENT_TOOLS === "1";
|
|
9
18
|
const AGENTS = [
|
|
10
19
|
{
|
|
@@ -30,10 +39,7 @@ const CODEX_NOISE_PATTERNS = [
|
|
|
30
39
|
/codex_core_skills::loader: failed to stat skills entry .*\/(interf-[^ ]+|knowledge-base\/[^ ]+|interface\/[^ ]+) \(symlink\): No such file or directory/,
|
|
31
40
|
/codex_core::codex: failed to load skill .*\/gstack\/SKILL\.md: invalid description: exceeds maximum length of 1024 characters/,
|
|
32
41
|
];
|
|
33
|
-
const SKILLS_LIST_ARGS = ["-y", "skills", "list", "-g", "--json"];
|
|
34
42
|
const VISIBLE_STATUS_PREFIXES = ["STATUS:", "DONE:", "BLOCKED:", "ERROR:"];
|
|
35
|
-
let installedSkillsCache = null;
|
|
36
|
-
const autoRefreshAttemptedAgents = new Set();
|
|
37
43
|
const successfulPreflightAgents = new Set();
|
|
38
44
|
export function detectAgents() {
|
|
39
45
|
return AGENTS.filter((a) => {
|
|
@@ -41,7 +47,7 @@ export function detectAgents() {
|
|
|
41
47
|
return existsSync(dir);
|
|
42
48
|
});
|
|
43
49
|
}
|
|
44
|
-
|
|
50
|
+
function commandExists(command) {
|
|
45
51
|
try {
|
|
46
52
|
execFileSync("which", [command], { stdio: "ignore" });
|
|
47
53
|
return true;
|
|
@@ -94,84 +100,6 @@ export function resolveAgent() {
|
|
|
94
100
|
}
|
|
95
101
|
return { agent: detected[0] };
|
|
96
102
|
}
|
|
97
|
-
export function installSkills(agents) {
|
|
98
|
-
const targets = agents ?? detectAgents();
|
|
99
|
-
const results = [];
|
|
100
|
-
if (!existsSync(SKILLS_DIR))
|
|
101
|
-
return results;
|
|
102
|
-
installedSkillsCache = null;
|
|
103
|
-
const skills = listBundledInterfSkills();
|
|
104
|
-
for (const skill of skills) {
|
|
105
|
-
for (const agent of targets) {
|
|
106
|
-
try {
|
|
107
|
-
const target = join(agent.skillsDir, skill);
|
|
108
|
-
mkdirSync(dirname(target), { recursive: true });
|
|
109
|
-
cpSync(join(SKILLS_DIR, skill), target, { recursive: true });
|
|
110
|
-
results.push({ agent: agent.displayName, skill, success: true });
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
results.push({ agent: agent.displayName, skill, success: false });
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return results;
|
|
118
|
-
}
|
|
119
|
-
export function refreshInterfSkills(agent) {
|
|
120
|
-
installedSkillsCache = null;
|
|
121
|
-
try {
|
|
122
|
-
execFileSync("npx", ["-y", "skills", "add", "--global", "--yes", SKILLS_DIR], { stdio: "ignore" });
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// Ignore and fall back to direct installation below.
|
|
126
|
-
}
|
|
127
|
-
installSkills([agent]);
|
|
128
|
-
installedSkillsCache = null;
|
|
129
|
-
const health = inspectInterfSkills(agent);
|
|
130
|
-
return health.missing.length === 0 && health.stale.length === 0 && health.wrongAgent.length === 0;
|
|
131
|
-
}
|
|
132
|
-
export function inspectInterfSkills(agent) {
|
|
133
|
-
const health = { missing: [], stale: [], wrongAgent: [] };
|
|
134
|
-
const bundledSkills = listBundledInterfSkills();
|
|
135
|
-
if (bundledSkills.length === 0)
|
|
136
|
-
return health;
|
|
137
|
-
const installed = listInstalledSkills();
|
|
138
|
-
for (const skillName of bundledSkills) {
|
|
139
|
-
const localStatus = getAgentLocalSkillStatus(agent, skillName);
|
|
140
|
-
if (localStatus.current) {
|
|
141
|
-
continue;
|
|
142
|
-
}
|
|
143
|
-
if (localStatus.present) {
|
|
144
|
-
health.stale.push(skillName);
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
if (installed) {
|
|
148
|
-
const entry = installed.find((item) => item.name === skillName);
|
|
149
|
-
if (!entry) {
|
|
150
|
-
health.missing.push(skillName);
|
|
151
|
-
continue;
|
|
152
|
-
}
|
|
153
|
-
const agents = entry.agents ?? [];
|
|
154
|
-
if (agents.length > 0 && !agents.includes(agent.displayName)) {
|
|
155
|
-
health.wrongAgent.push(skillName);
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
if (!entry.path || !bundledSkillMatchesInstalledPath(skillName, join(entry.path, "SKILL.md"))) {
|
|
159
|
-
health.stale.push(skillName);
|
|
160
|
-
}
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
const candidatePaths = installedSkillCandidatePaths(agent, skillName);
|
|
164
|
-
if (candidatePaths.length === 0) {
|
|
165
|
-
health.missing.push(skillName);
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
|
-
const hasCurrentCopy = candidatePaths.some((path) => bundledSkillMatchesInstalledPath(skillName, path));
|
|
169
|
-
if (!hasCurrentCopy) {
|
|
170
|
-
health.stale.push(skillName);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return health;
|
|
174
|
-
}
|
|
175
103
|
function appendAgentEventLog(eventLogPath, event) {
|
|
176
104
|
if (!eventLogPath)
|
|
177
105
|
return;
|
|
@@ -629,132 +557,4 @@ function sanitizeAgentStderr(stderr) {
|
|
|
629
557
|
.join("\n")
|
|
630
558
|
.trim();
|
|
631
559
|
}
|
|
632
|
-
function validateInstalledSkill(agent, skillName) {
|
|
633
|
-
if (!skillName)
|
|
634
|
-
return null;
|
|
635
|
-
const localStatus = getAgentLocalSkillStatus(agent, skillName);
|
|
636
|
-
if (localStatus.current)
|
|
637
|
-
return null;
|
|
638
|
-
if (localStatus.present) {
|
|
639
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
640
|
-
}
|
|
641
|
-
const installed = listInstalledSkills();
|
|
642
|
-
const bundledPath = join(SKILLS_DIR, skillName, "SKILL.md");
|
|
643
|
-
if (installed) {
|
|
644
|
-
const entry = installed.find((item) => item.name === skillName);
|
|
645
|
-
if (!entry) {
|
|
646
|
-
return `Skill "${skillName}" is not installed. Run \`interf init\` to install current Interf skills before syncing.`;
|
|
647
|
-
}
|
|
648
|
-
const agents = entry.agents ?? [];
|
|
649
|
-
if (agents.length > 0 && !agents.includes(agent.displayName)) {
|
|
650
|
-
return `Skill "${skillName}" is installed, but not for ${agent.displayName}. Run \`interf init\` and install skills for that agent before syncing.`;
|
|
651
|
-
}
|
|
652
|
-
if (existsSync(bundledPath)) {
|
|
653
|
-
const installedPath = entry.path ? join(entry.path, "SKILL.md") : null;
|
|
654
|
-
if (!installedPath || !bundledSkillMatchesInstalledPath(skillName, installedPath)) {
|
|
655
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
return null;
|
|
659
|
-
}
|
|
660
|
-
const fallbackPaths = installedSkillCandidatePaths(agent, skillName);
|
|
661
|
-
if (fallbackPaths.length === 0) {
|
|
662
|
-
return `Skill "${skillName}" is not installed for ${agent.displayName}. Run \`interf init\` to install current Interf skills before syncing.`;
|
|
663
|
-
}
|
|
664
|
-
if (existsSync(bundledPath)) {
|
|
665
|
-
const hasCurrentCopy = fallbackPaths.some((path) => bundledSkillMatchesInstalledPath(skillName, path));
|
|
666
|
-
if (!hasCurrentCopy) {
|
|
667
|
-
return `Skill "${skillName}" is installed, but outdated. Run \`interf init\` and refresh Interf skills before syncing.`;
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
return null;
|
|
671
|
-
}
|
|
672
|
-
function ensureRequiredSkill(agent, skillName) {
|
|
673
|
-
const initialError = validateInstalledSkill(agent, skillName);
|
|
674
|
-
if (!initialError || !skillName)
|
|
675
|
-
return initialError;
|
|
676
|
-
if (autoRefreshAttemptedAgents.has(agent.name)) {
|
|
677
|
-
return initialError;
|
|
678
|
-
}
|
|
679
|
-
autoRefreshAttemptedAgents.add(agent.name);
|
|
680
|
-
console.log(chalk.dim(` Refreshing Interf skills for ${agent.displayName}...`));
|
|
681
|
-
if (!refreshInterfSkills(agent)) {
|
|
682
|
-
return validateInstalledSkill(agent, skillName) ?? initialError;
|
|
683
|
-
}
|
|
684
|
-
const finalError = validateInstalledSkill(agent, skillName);
|
|
685
|
-
if (!finalError) {
|
|
686
|
-
console.log(chalk.dim(" Interf skills refreshed."));
|
|
687
|
-
}
|
|
688
|
-
return finalError;
|
|
689
|
-
}
|
|
690
|
-
function listInstalledSkills() {
|
|
691
|
-
if (installedSkillsCache)
|
|
692
|
-
return installedSkillsCache;
|
|
693
|
-
try {
|
|
694
|
-
const output = execFileSync("npx", SKILLS_LIST_ARGS, { encoding: "utf-8" });
|
|
695
|
-
installedSkillsCache = JSON.parse(output);
|
|
696
|
-
return installedSkillsCache;
|
|
697
|
-
}
|
|
698
|
-
catch {
|
|
699
|
-
return null;
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
function extractRequiredSkill(prompt) {
|
|
703
|
-
for (const line of prompt.split("\n")) {
|
|
704
|
-
const trimmed = line.trim();
|
|
705
|
-
if (!trimmed)
|
|
706
|
-
continue;
|
|
707
|
-
if (!trimmed.startsWith("/"))
|
|
708
|
-
return null;
|
|
709
|
-
return trimmed.slice(1);
|
|
710
|
-
}
|
|
711
|
-
return null;
|
|
712
|
-
}
|
|
713
|
-
function listBundledInterfSkills() {
|
|
714
|
-
if (!existsSync(SKILLS_DIR))
|
|
715
|
-
return [];
|
|
716
|
-
return walkBundledInterfSkills(SKILLS_DIR);
|
|
717
|
-
}
|
|
718
|
-
function walkBundledInterfSkills(rootPath, prefix = "") {
|
|
719
|
-
const skills = [];
|
|
720
|
-
for (const entry of readdirSync(rootPath)) {
|
|
721
|
-
const dirPath = join(rootPath, entry);
|
|
722
|
-
if (!statSync(dirPath).isDirectory())
|
|
723
|
-
continue;
|
|
724
|
-
const skillName = prefix ? `${prefix}/${entry}` : entry;
|
|
725
|
-
if (existsSync(join(dirPath, "SKILL.md"))) {
|
|
726
|
-
skills.push(skillName);
|
|
727
|
-
continue;
|
|
728
|
-
}
|
|
729
|
-
skills.push(...walkBundledInterfSkills(dirPath, skillName));
|
|
730
|
-
}
|
|
731
|
-
return skills.sort();
|
|
732
|
-
}
|
|
733
|
-
function installedSkillCandidatePaths(agent, skillName) {
|
|
734
|
-
const candidates = new Set();
|
|
735
|
-
candidates.add(join(agent.skillsDir, skillName, "SKILL.md"));
|
|
736
|
-
candidates.add(join(homedir(), ".agents", "skills", skillName, "SKILL.md"));
|
|
737
|
-
return Array.from(candidates).filter((path) => existsSync(path));
|
|
738
|
-
}
|
|
739
|
-
function bundledSkillMatchesInstalledPath(skillName, installedSkillPath) {
|
|
740
|
-
const bundledSkillPath = join(SKILLS_DIR, skillName, "SKILL.md");
|
|
741
|
-
if (!existsSync(bundledSkillPath) || !existsSync(installedSkillPath))
|
|
742
|
-
return false;
|
|
743
|
-
const bundled = normalizeSkillDoc(readFileSync(bundledSkillPath, "utf-8"));
|
|
744
|
-
const installed = normalizeSkillDoc(readFileSync(installedSkillPath, "utf-8"));
|
|
745
|
-
return bundled === installed;
|
|
746
|
-
}
|
|
747
|
-
function normalizeSkillDoc(content) {
|
|
748
|
-
return content.replace(/\r\n/g, "\n").trim();
|
|
749
|
-
}
|
|
750
|
-
function getAgentLocalSkillStatus(agent, skillName) {
|
|
751
|
-
const localSkillPath = join(agent.skillsDir, skillName, "SKILL.md");
|
|
752
|
-
if (!existsSync(localSkillPath)) {
|
|
753
|
-
return { present: false, current: false };
|
|
754
|
-
}
|
|
755
|
-
return {
|
|
756
|
-
present: true,
|
|
757
|
-
current: bundledSkillMatchesInstalledPath(skillName, localSkillPath),
|
|
758
|
-
};
|
|
759
|
-
}
|
|
760
560
|
//# sourceMappingURL=agents.js.map
|
package/dist/lib/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAE5E,MAAM,MAAM,GAAY;IACtB;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/C,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC9C,OAAO,EAAE,OAAO;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC/C,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,yJAAyJ;IACzJ,+HAA+H;CAChI,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClE,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAwC3E,IAAI,oBAAoB,GAA4B,IAAI,CAAC;AACzD,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;AACrD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpD,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAY;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,MAAM,CAAC,KAAK,2FAA2F;aACpI,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,UAAU,CAAC,WAAW,iEAAiE;aACpH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,qBAAqB,UAAU,CAAC,WAAW,kIAAkI;aACrL,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,yDAAyD;SACjE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,oIAAoI;SAC5I,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAgB;IAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,OAAO,GAAyD,EAAE,CAAC;IAEzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5C,oBAAoB,GAAG,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,oBAAoB,GAAG,IAAI,CAAC;IAE5B,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvB,oBAAoB,GAAG,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7E,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9C,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC9F,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAuC,EACvC,KAA8B;IAE9B,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,cAAc,CACZ,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,IAAI,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAwC,EACxC,IAAY;IAEZ,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,cAAc,CACZ,aAAa,EACb,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CACxC,CAAC;AACJ,CAAC;AAOD,SAAS,oBAAoB,CAC3B,IAAY,EACZ,aAAwC,EACxC,eAAkC;IAElC,IAAI,eAAe,EAAE,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACpC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,OAAe,EACf,MAAc,EACd,UAA6B,EAAE;IAE/B,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACrE,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI;YACJ,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,KAAK,CAAC,WAAW,KAAK,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACtC,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI,CAAC;QAE9D,kDAAkD;QAClD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,MAAM,eAAe,GAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,IAAI,GAAG,GAAG,mBAAmB,GAAG,UAAU;gBAAE,OAAO;YACnD,IAAI,GAAG,GAAG,eAAe,GAAG,iBAAiB;gBAAE,OAAO;YAEtD,eAAe,GAAG,GAAG,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,eAAe;gBAC3B,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,yBAAyB,OAAO,sBAAsB;gBAC5E,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,4DAA4D,OAAO,IAAI;oBAC7F,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,0DAA0D,OAAO,IAAI,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe;YAC5C,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,QAAQ,IAAI,mBAAmB;oBAAE,OAAO;gBAC5C,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE;wBAAE,OAAO;oBACzC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;wBACxC,IAAI,EAAE,4BAA4B;qBACnC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,+DAA+D;gBACjE,CAAC;YACH,CAAC,EAAE,IAAI,CAAC;YACV,CAAC,CAAC,IAAI,CAAC;QAET,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,aAAa,KAAK,yBAAyB,CAAC,KAAK,CAAC,CAAC;oBACnD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;wBAChE,eAAe,GAAG,IAAI,CAAC;wBACvB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;wBACvE,eAAe,GAAG,IAAI,CAAC;wBACvB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,QAAQ;oBACd,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACzE,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC;gBACpB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAClC,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC7F,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,cAAc,EAAE,aAAa;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChD,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,mBAAmB,KAAK,CAAC,WAAW,EAAE;aAChD,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAY,EACZ,MAAc,EACd,mBAA6C,EAAE;IAE/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,gBAAgB;YAChB,sCAAsC;SACvC,CAAC;QACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG;YACX,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,iBAAiB;YACjB,uBAAuB;SACxB,CAAC;QACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,WAAW,oDAAoD,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,0BAA0B;QAC1B,wDAAwD;QACxD,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,UAAiC,EAAE;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC,EAAE;YAC9F,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9F,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBAC9D,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;aAC5B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YACvB,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC9D,QAAQ,EAAE,KAAK;YACf,MAAM;YACN,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE;SACrF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAY,EACZ,UAGI,EAAE;IAEN,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,+EAA+E,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACzI,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACnB,KAA8B,EAC9B,aAAwC,EACxC,eAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;IAClC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,0CAA0C;IAC1C,IAAI,IAAI,KAAK,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,IAAI,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAA4C,CAAC;QACjE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,CAAC;YACV,0CAA0C;YAC1C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;YAC/F,IAAI,IAAI;gBAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAChD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,mCAAmC;IAEnC,iDAAiD;IACjD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAA8C,CAAC;QACjE,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,OAAyC,EAAE,CAAC;gBAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAI,KAAK,CAAC,IAAe,CAAC,IAAI,EAAE,CAAC;oBAC3C,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;gBACtF,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,sBAAsB,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;oBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAA4C,CAAC;oBACjE,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;wBAC/F,IAAI,IAAI;4BAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxD,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;oBAChD,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2C,CAAC;QAC/D,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;QACxF,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6B,CAAC;QACpD,IAAI,MAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GACX,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE5B,IAAI,OAAO,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,SAAS,CAAC;IACtF,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5F,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,IAA6B,EAC7B,aAAwC,EACxC,eAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAA0B,CAAC;IAEjD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,GAAI,IAAI,CAAC,IAA2B,EAAE,IAAI,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,gBAAgB,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;IAC/F,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA8B;IACtE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,aAAa,GACjB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,aAAa;QAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAE,IAAgC,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,MAAM;SACV,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAY,EAAE,SAAwB;IACpE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,WAAW,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,UAAU,SAAS,6FAA6F,CAAC;IAC1H,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,UAAU,SAAS,0FAA0F,CAAC;QACvH,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7D,OAAO,UAAU,SAAS,+BAA+B,KAAK,CAAC,WAAW,yEAAyE,CAAC;QACtJ,CAAC;QAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,CAAC,aAAa,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClF,OAAO,UAAU,SAAS,6FAA6F,CAAC;YAC1H,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,UAAU,SAAS,0BAA0B,KAAK,CAAC,WAAW,wEAAwE,CAAC;IAChJ,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,UAAU,SAAS,6FAA6F,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,SAAwB;IACjE,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,YAAY,CAAC;IAErD,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,oBAAoB;QAAE,OAAO,oBAAoB,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;QAC9D,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB,EAAE,MAAM,GAAG,EAAE;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAY,EAAE,SAAiB;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAiB,EAAE,kBAA0B;IACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnF,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,KAAK,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAY,EAAE,SAAiB;IAI/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,gCAAgC,CAAC,SAAS,EAAE,cAAc,CAAC;KACrE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/filesystem.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare function countImmediateFiles(dirPath: string): number;
|
|
2
1
|
export declare function countFilesRecursive(dirPath: string): number;
|
|
3
2
|
export declare function listFilesRecursive(dirPath: string, predicate?: (filePath: string) => boolean): string[];
|
|
4
3
|
//# sourceMappingURL=filesystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GACxC,MAAM,EAAE,CAWV"}
|
package/dist/lib/filesystem.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
export function countImmediateFiles(dirPath) {
|
|
4
|
-
if (!existsSync(dirPath))
|
|
5
|
-
return 0;
|
|
6
|
-
return readdirSync(dirPath).filter((entry) => statSync(join(dirPath, entry)).isFile()).length;
|
|
7
|
-
}
|
|
8
3
|
export function countFilesRecursive(dirPath) {
|
|
9
4
|
if (!existsSync(dirPath))
|
|
10
5
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC/B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,SAAyC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,kBAAkB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QACvC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAe,EACf,MAAkC,EAClC,cAAc,IAAI,GAAG,EAAU;IAE/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IACjC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAe,EACf,MAAkC,EAClC,WAAwB;IAExB,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO;IACzC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function syncClaudeBootstrap(dirPath: string): void;
|
|
2
|
+
export declare function refreshWorkspaceBootstrapGuidance(dirPath: string): boolean;
|
|
3
|
+
export declare function refreshLegacyAgentsBootstrap(content: string): string;
|
|
4
|
+
export declare function refreshLegacyKnowledgeBaseQuerySkill(content: string): string;
|
|
5
|
+
export declare function refreshLegacyInterfaceQuerySkill(content: string): string;
|
|
6
|
+
export declare function insertLineAfterFirstMatch(content: string, predicate: (line: string) => boolean, insertedLine: string): string;
|
|
7
|
+
export declare function insertBlockBeforeFirstMatch(content: string, predicate: (line: string) => boolean, blockLines: string[]): string;
|
|
8
|
+
export declare function renderClaudeBootstrap(content: string): string;
|
|
9
|
+
export declare function topKnowledgeBaseManualPreflightBlock(): string[];
|
|
10
|
+
export declare function topInterfaceManualPreflightBlock(): string[];
|
|
11
|
+
export declare function buildWorkspaceRuntimeControlLines(workspaceLabel: string): string[];
|
|
12
|
+
export declare function buildWorkspaceAgentLayerLines(stageFolders: string, workspaceLabel: string): string[];
|
|
13
|
+
//# sourceMappingURL=interf-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interf-bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/interf-bootstrap.ts"],"names":[],"mappings":"AAQA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiC1E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAqBpE;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgD5E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgDxE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACpC,YAAY,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACpC,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,CAQR;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,oCAAoC,IAAI,MAAM,EAAE,CAa/D;AAED,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAc3D;AAED,wBAAgB,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CASlF;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpG"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { readInterfConfig } from "./interf-detect.js";
|
|
4
|
+
export function syncClaudeBootstrap(dirPath) {
|
|
5
|
+
const agentsPath = join(dirPath, "AGENTS.md");
|
|
6
|
+
if (!existsSync(agentsPath))
|
|
7
|
+
return;
|
|
8
|
+
writeFileSync(join(dirPath, "CLAUDE.md"), renderClaudeBootstrap(readFileSync(agentsPath, "utf8")));
|
|
9
|
+
}
|
|
10
|
+
export function refreshWorkspaceBootstrapGuidance(dirPath) {
|
|
11
|
+
const config = readInterfConfig(dirPath);
|
|
12
|
+
if (!config)
|
|
13
|
+
return false;
|
|
14
|
+
let changed = false;
|
|
15
|
+
const agentsPath = join(dirPath, "AGENTS.md");
|
|
16
|
+
if (existsSync(agentsPath)) {
|
|
17
|
+
const current = readFileSync(agentsPath, "utf8");
|
|
18
|
+
const refreshed = refreshLegacyAgentsBootstrap(current);
|
|
19
|
+
if (refreshed !== current) {
|
|
20
|
+
writeFileSync(agentsPath, refreshed);
|
|
21
|
+
changed = true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const querySkillPath = join(dirPath, "workflow", "use", "query", "SKILL.md");
|
|
25
|
+
if (existsSync(querySkillPath)) {
|
|
26
|
+
const current = readFileSync(querySkillPath, "utf8");
|
|
27
|
+
const refreshed = config.type === "interface"
|
|
28
|
+
? refreshLegacyInterfaceQuerySkill(current)
|
|
29
|
+
: refreshLegacyKnowledgeBaseQuerySkill(current);
|
|
30
|
+
if (refreshed !== current) {
|
|
31
|
+
writeFileSync(querySkillPath, refreshed);
|
|
32
|
+
changed = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (changed || existsSync(agentsPath)) {
|
|
36
|
+
syncClaudeBootstrap(dirPath);
|
|
37
|
+
}
|
|
38
|
+
return changed;
|
|
39
|
+
}
|
|
40
|
+
export function refreshLegacyAgentsBootstrap(content) {
|
|
41
|
+
const legacyLine = "On the first substantive reply in a manual session, make the raw-access status explicit: confirmed, unverified, or unavailable. Do not trigger a permission prompt just to greet the user; verify raw access only when the user asks about raw files or the answer depends on raw verification.";
|
|
42
|
+
const previousLine = "On the first substantive reply in a manual session, start with exactly one line: `Raw access: unverified`, `Raw access: confirmed`, or `Raw access: unavailable`. Use `unverified` until you actually run the raw-source gate, `confirmed` only after a suggested raw path is readable, and `unavailable` only after a raw check fails or permission is denied. Do not trigger a permission prompt just to greet the user; verify raw access only when the user asks about raw files or the answer depends on raw verification.";
|
|
43
|
+
const currentLine = "On the first substantive manual question, run the raw-source gate immediately. For interfaces, verify parent knowledge-base reachability first, then check raw reachability. If the environment asks for permission, request it immediately instead of guessing. After that check, start the answer with exactly one line: `Raw access: confirmed` or `Raw access: unavailable`. `confirmed` means a suggested raw path was actually readable; `unavailable` means the raw check failed or permission was denied.";
|
|
44
|
+
let replaced = content;
|
|
45
|
+
if (replaced.includes(legacyLine))
|
|
46
|
+
replaced = replaced.replace(legacyLine, currentLine);
|
|
47
|
+
if (replaced.includes(previousLine))
|
|
48
|
+
replaced = replaced.replace(previousLine, currentLine);
|
|
49
|
+
let refreshed = insertLineAfterFirstMatch(replaced, (line) => line.startsWith("If `workflow/use/query/` exists, read it before answering manual questions"), currentLine);
|
|
50
|
+
const block = refreshed.includes("../../.interf/source-access.json")
|
|
51
|
+
? topInterfaceManualPreflightBlock()
|
|
52
|
+
: topKnowledgeBaseManualPreflightBlock();
|
|
53
|
+
refreshed = insertBlockBeforeFirstMatch(refreshed, (line) => line.startsWith("## How this "), block);
|
|
54
|
+
return refreshed;
|
|
55
|
+
}
|
|
56
|
+
export function refreshLegacyKnowledgeBaseQuerySkill(content) {
|
|
57
|
+
const legacyBlock = [
|
|
58
|
+
"First-reply rule:",
|
|
59
|
+
"- on your first substantive reply, say whether raw access is confirmed, unverified, or unavailable",
|
|
60
|
+
"- do not trigger a permission prompt just to introduce the workspace",
|
|
61
|
+
"- if the user asks whether raw files are reachable, perform the raw-source gate immediately and report the result clearly",
|
|
62
|
+
"",
|
|
63
|
+
].join("\n");
|
|
64
|
+
const currentBlock = [
|
|
65
|
+
"First-reply rule:",
|
|
66
|
+
"- on the first substantive manual question, inspect `.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
67
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
68
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
69
|
+
"- use `Raw access: confirmed` only after a suggested raw path is readable from this session",
|
|
70
|
+
"- use `Raw access: unavailable` only after a raw check fails or permission is denied",
|
|
71
|
+
"- after the preflight, still prefer compiled knowledge unless the user asks for direct quotes or raw verification",
|
|
72
|
+
"",
|
|
73
|
+
].join("\n");
|
|
74
|
+
const topBlock = [
|
|
75
|
+
"## First question: required preflight",
|
|
76
|
+
"",
|
|
77
|
+
"Before browsing notes on your own or answering from compiled knowledge:",
|
|
78
|
+
"",
|
|
79
|
+
"- inspect `.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
80
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
81
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
82
|
+
"",
|
|
83
|
+
];
|
|
84
|
+
let normalized = content.includes(legacyBlock) ? content.replace(legacyBlock, currentBlock) : content;
|
|
85
|
+
normalized = insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Default loop:"), topBlock);
|
|
86
|
+
return insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("You can edit this file to bias manual question-answering behavior"), [
|
|
87
|
+
"First-reply rule:",
|
|
88
|
+
"- on the first substantive manual question, inspect `.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
89
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
90
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
91
|
+
"- use `Raw access: confirmed` only after a suggested raw path is readable from this session",
|
|
92
|
+
"- use `Raw access: unavailable` only after a raw check fails or permission is denied",
|
|
93
|
+
"- after the preflight, still prefer compiled knowledge unless the user asks for direct quotes or raw verification",
|
|
94
|
+
"",
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
export function refreshLegacyInterfaceQuerySkill(content) {
|
|
98
|
+
const legacyBlock = [
|
|
99
|
+
"First-reply rule:",
|
|
100
|
+
"- on your first substantive reply, say whether raw access is confirmed, unverified, or unavailable",
|
|
101
|
+
"- do not trigger a permission prompt just to introduce the workspace",
|
|
102
|
+
"- if the user asks whether raw files are reachable, perform the raw-source gate immediately and report the result clearly",
|
|
103
|
+
"",
|
|
104
|
+
].join("\n");
|
|
105
|
+
const currentBlock = [
|
|
106
|
+
"First-reply rule:",
|
|
107
|
+
"- on the first substantive manual question, verify parent KB reachability first, then inspect `../../.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
108
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
109
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
110
|
+
"- use `Raw access: confirmed` only after a suggested raw path is readable from this session",
|
|
111
|
+
"- use `Raw access: unavailable` only after a raw check fails or permission is denied",
|
|
112
|
+
"- after the preflight, use local interface artifacts first, then the parent KB loop, and raw files mainly for quotes or verification",
|
|
113
|
+
"",
|
|
114
|
+
].join("\n");
|
|
115
|
+
const topBlock = [
|
|
116
|
+
"## First question: required preflight",
|
|
117
|
+
"",
|
|
118
|
+
"Before browsing notes on your own or answering from compiled interface outputs:",
|
|
119
|
+
"",
|
|
120
|
+
"- verify parent KB reachability first, then inspect `../../.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
121
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
122
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
123
|
+
"",
|
|
124
|
+
];
|
|
125
|
+
let normalized = content.includes(legacyBlock) ? content.replace(legacyBlock, currentBlock) : content;
|
|
126
|
+
normalized = insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Default loop:"), topBlock);
|
|
127
|
+
return insertBlockBeforeFirstMatch(normalized, (line) => line.startsWith("Keep the interface-specific behavior here."), [
|
|
128
|
+
"First-reply rule:",
|
|
129
|
+
"- on the first substantive manual question, verify parent KB reachability first, then inspect `../../.interf/source-access.json` immediately and try one `suggested_checks` path",
|
|
130
|
+
"- if the environment asks for permission, request it immediately instead of answering as though raw were missing",
|
|
131
|
+
"- the first line of the answer must be exactly `Raw access: confirmed` or `Raw access: unavailable`",
|
|
132
|
+
"- use `Raw access: confirmed` only after a suggested raw path is readable from this session",
|
|
133
|
+
"- use `Raw access: unavailable` only after a raw check fails or permission is denied",
|
|
134
|
+
"- after the preflight, use local interface artifacts first, then the parent KB loop, and raw files mainly for quotes or verification",
|
|
135
|
+
"",
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
export function insertLineAfterFirstMatch(content, predicate, insertedLine) {
|
|
139
|
+
if (content.includes(insertedLine))
|
|
140
|
+
return content;
|
|
141
|
+
const lines = content.split("\n");
|
|
142
|
+
const index = lines.findIndex(predicate);
|
|
143
|
+
if (index === -1)
|
|
144
|
+
return content;
|
|
145
|
+
lines.splice(index + 1, 0, insertedLine);
|
|
146
|
+
return lines.join("\n");
|
|
147
|
+
}
|
|
148
|
+
export function insertBlockBeforeFirstMatch(content, predicate, blockLines) {
|
|
149
|
+
const marker = blockLines.find((line) => line.trim().length > 0);
|
|
150
|
+
if (marker && content.includes(marker))
|
|
151
|
+
return content;
|
|
152
|
+
const lines = content.split("\n");
|
|
153
|
+
const index = lines.findIndex(predicate);
|
|
154
|
+
if (index === -1)
|
|
155
|
+
return content;
|
|
156
|
+
lines.splice(index, 0, ...blockLines);
|
|
157
|
+
return lines.join("\n");
|
|
158
|
+
}
|
|
159
|
+
export function renderClaudeBootstrap(content) {
|
|
160
|
+
return [
|
|
161
|
+
"<!-- Generated from AGENTS.md. Edit AGENTS.md; Interf will rewrite this file. -->",
|
|
162
|
+
"",
|
|
163
|
+
content.trimEnd(),
|
|
164
|
+
"",
|
|
165
|
+
].join("\n");
|
|
166
|
+
}
|
|
167
|
+
export function topKnowledgeBaseManualPreflightBlock() {
|
|
168
|
+
return [
|
|
169
|
+
"## First question: required preflight",
|
|
170
|
+
"",
|
|
171
|
+
"Before describing this workspace or answering from compiled notes:",
|
|
172
|
+
"",
|
|
173
|
+
"1. Read `workflow/use/query/SKILL.md` now.",
|
|
174
|
+
"2. Confirm `home.md`, `knowledge/`, and `summaries/` are reachable.",
|
|
175
|
+
"3. Inspect `.interf/source-access.json` and try one `suggested_checks` path immediately.",
|
|
176
|
+
"4. If the environment asks for permission, request it right away instead of guessing.",
|
|
177
|
+
"5. Start the answer with exactly `Raw access: confirmed` or `Raw access: unavailable`.",
|
|
178
|
+
"",
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
export function topInterfaceManualPreflightBlock() {
|
|
182
|
+
return [
|
|
183
|
+
"## First question: required preflight",
|
|
184
|
+
"",
|
|
185
|
+
"Before describing this workspace or answering from compiled notes:",
|
|
186
|
+
"",
|
|
187
|
+
"1. Read local `workflow/use/query/SKILL.md` now.",
|
|
188
|
+
"2. Confirm local interface artifacts are reachable: `home.md`, `knowledge/`, `briefs/`, and local `summaries/`.",
|
|
189
|
+
"3. Confirm parent KB reachability via `../../AGENTS.md`, `../../home.md`, or `../../summaries/`.",
|
|
190
|
+
"4. Inspect `../../.interf/source-access.json` and try one `suggested_checks` path immediately.",
|
|
191
|
+
"5. If the environment asks for permission, request it right away instead of guessing.",
|
|
192
|
+
"6. Start the answer with exactly `Raw access: confirmed` or `Raw access: unavailable`.",
|
|
193
|
+
"",
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
export function buildWorkspaceRuntimeControlLines(workspaceLabel) {
|
|
197
|
+
return [
|
|
198
|
+
`- Source folder = CLI control plane and real files. This ${workspaceLabel} = generated workspace.`,
|
|
199
|
+
`- The source folder normally has no generated \`AGENTS.md\` or \`CLAUDE.md\`. For agents, this ${workspaceLabel} workspace is the bootstrap entrypoint.`,
|
|
200
|
+
`- \`.interf/run.json\` — current/last deterministic stage run, including executor and timestamps.`,
|
|
201
|
+
`- \`.interf/stage-contract.json\` — machine-readable contract for the active stage.`,
|
|
202
|
+
`- Stage instructions are flexible. Interf cares about contract compliance: reads, writes, verifiers, and state transitions.`,
|
|
203
|
+
`- Local workflow docs customize stage implementation. They do not replace the workflow's stage order, proof rules, or state flow.`,
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
export function buildWorkspaceAgentLayerLines(stageFolders, workspaceLabel) {
|
|
207
|
+
return [
|
|
208
|
+
`Treat \`AGENTS.md\` as the directory-level router for navigation, path rules, command usage, and which local workflow docs to read next.`,
|
|
209
|
+
`Treat local \`workflow/.../SKILL.md\` files as workspace instruction docs. Do not assume they are globally installed slash-command skills; load them because \`AGENTS.md\` or the stage contract points to them.`,
|
|
210
|
+
`If \`workflow/use/query/\` exists, read it before answering manual questions from this ${workspaceLabel}. For interfaces, that local query doc may send you to the parent knowledge-base \`../../workflow/use/query/SKILL.md\` loop.`,
|
|
211
|
+
`On the first substantive manual question, run the raw-source gate immediately. For interfaces, verify parent knowledge-base reachability first, then check raw reachability. If the environment asks for permission, request it immediately instead of guessing. After that check, start the answer with exactly one line: \`Raw access: confirmed\` or \`Raw access: unavailable\`. \`confirmed\` means a suggested raw path was actually readable; \`unavailable\` means the raw check failed or permission was denied.`,
|
|
212
|
+
`If local workflow docs exist under \`workflow/compile/stages/\` (${stageFolders}), read them before running a stage. A doc can declare \`mode: extend\` or \`mode: override\` in JSON frontmatter. Override replaces the bundled workflow instructions for that stage, but Interf still enforces the same proof, schema, verifier, and state-machine rules.`,
|
|
213
|
+
];
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=interf-bootstrap.js.map
|