@claude-flow/cli 3.7.0-alpha.81 → 3.7.0-alpha.82
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/.claude/agents/core/coder.md +453 -0
- package/.claude/agents/core/researcher.md +369 -0
- package/.claude/agents/core/reviewer.md +520 -0
- package/.claude/agents/core/tester.md +512 -0
- package/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/release-swarm.md +1 -1
- package/.claude/agents/github/repo-architect.md +2 -2
- package/.claude/agents/github/swarm-pr.md +1 -1
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude/agents/v3/adr-architect.md +184 -0
- package/.claude/agents/v3/memory-specialist.md +995 -0
- package/.claude/agents/v3/security-auditor.md +771 -0
- package/.claude/agents/v3/sparc-orchestrator.md +182 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/code-review-swarm.md +1 -1
- package/.claude/commands/github/issue-tracker.md +3 -3
- package/.claude/commands/github/release-manager.md +3 -5
- package/.claude/commands/github/release-swarm.md +1 -1
- package/.claude/commands/github/repo-architect.md +2 -2
- package/.claude/commands/github/swarm-issue.md +1 -4
- package/.claude/commands/github/swarm-pr.md +3 -6
- package/.claude/commands/github/sync-coordinator.md +1 -3
- package/.claude/commands/github/workflow-automation.md +2 -2
- package/.claude/helpers/github-safe.js +60 -95
- package/.claude/helpers/github-setup.sh +9 -26
- package/.claude/helpers/hook-handler.cjs +4 -12
- package/.claude/helpers/statusline.cjs +2 -31
- package/.claude/settings.json +1 -1
- package/README.md +38 -55
- package/dist/src/commands/daemon.d.ts +0 -20
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +5 -82
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +6 -17
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.d.ts.map +1 -1
- package/dist/src/commands/embeddings.js +9 -18
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/index.d.ts +26 -26
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +1 -21
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +5 -43
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/start.js +1 -1
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/swarm.js +1 -1
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +0 -1
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +0 -41
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +0 -1
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +2 -19
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +15 -74
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +31 -75
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +0 -23
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +5 -18
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +0 -12
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +5 -38
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +74 -141
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +4 -112
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.js +2 -13
- package/dist/src/mcp-tools/browser-session-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +0 -44
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts +0 -2
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +6 -100
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +7 -332
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +1 -17
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +1 -125
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +0 -28
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +2 -4
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +0 -48
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +0 -48
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +0 -108
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +0 -4
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +8 -49
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +0 -4
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +6 -24
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +4 -15
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +18 -40
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/prompt.d.ts +3 -3
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +6 -6
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/vector-db.d.ts.map +1 -1
- package/dist/src/ruvector/vector-db.js +12 -3
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +1 -14
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
- package/dist/src/services/headless-worker-executor.js +10 -54
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +0 -12
- package/dist/src/services/worker-daemon.d.ts.map +1 -1
- package/dist/src/services/worker-daemon.js +14 -68
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -10
- package/.claude/skills/agentdb-advanced/SKILL.md +0 -550
- package/.claude/skills/agentdb-learning/SKILL.md +0 -545
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -339
- package/.claude/skills/agentdb-optimization/SKILL.md +0 -509
- package/.claude/skills/agentdb-vector-search/SKILL.md +0 -339
- package/.claude/skills/browser/SKILL.md +0 -204
- package/.claude/skills/dual-mode/README.md +0 -71
- package/.claude/skills/dual-mode/dual-collect.md +0 -103
- package/.claude/skills/dual-mode/dual-coordinate.md +0 -85
- package/.claude/skills/dual-mode/dual-spawn.md +0 -81
- package/.claude/skills/flow-nexus-neural/SKILL.md +0 -727
- package/.claude/skills/flow-nexus-platform/SKILL.md +0 -1154
- package/.claude/skills/flow-nexus-swarm/SKILL.md +0 -604
- package/.claude/skills/github-code-review/SKILL.md +0 -1125
- package/.claude/skills/github-multi-repo/SKILL.md +0 -862
- package/.claude/skills/github-project-management/SKILL.md +0 -1262
- package/.claude/skills/github-release-management/SKILL.md +0 -1064
- package/.claude/skills/github-workflow-automation/SKILL.md +0 -1047
- package/.claude/skills/hooks-automation/SKILL.md +0 -1201
- package/.claude/skills/pair-programming/SKILL.md +0 -1202
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -446
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -201
- package/.claude/skills/skill-builder/SKILL.md +0 -910
- package/.claude/skills/sparc-methodology/SKILL.md +0 -1106
- package/.claude/skills/stream-chain/SKILL.md +0 -560
- package/.claude/skills/swarm-advanced/SKILL.md +0 -970
- package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
- package/.claude/skills/v3-cli-modernization/SKILL.md +0 -872
- package/.claude/skills/v3-core-implementation/SKILL.md +0 -797
- package/.claude/skills/v3-ddd-architecture/SKILL.md +0 -442
- package/.claude/skills/v3-integration-deep/SKILL.md +0 -241
- package/.claude/skills/v3-mcp-optimization/SKILL.md +0 -777
- package/.claude/skills/v3-memory-unification/SKILL.md +0 -174
- package/.claude/skills/v3-performance-optimization/SKILL.md +0 -390
- package/.claude/skills/v3-security-overhaul/SKILL.md +0 -82
- package/.claude/skills/v3-swarm-coordination/SKILL.md +0 -340
- package/.claude/skills/verification-quality/SKILL.md +0 -691
- package/dist/src/__probe.d.ts +0 -2
- package/dist/src/__probe.d.ts.map +0 -1
- package/dist/src/__probe.js +0 -5
- package/dist/src/__probe.js.map +0 -1
- package/dist/src/commands/benchmark-cosign.d.ts +0 -29
- package/dist/src/commands/benchmark-cosign.d.ts.map +0 -1
- package/dist/src/commands/benchmark-cosign.js +0 -222
- package/dist/src/commands/benchmark-cosign.js.map +0 -1
- package/dist/src/commands/benchmark-verify.d.ts +0 -21
- package/dist/src/commands/benchmark-verify.d.ts.map +0 -1
- package/dist/src/commands/benchmark-verify.js +0 -202
- package/dist/src/commands/benchmark-verify.js.map +0 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts +0 -149
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts.map +0 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.js +0 -296
- package/dist/src/mcp-tools/hive-consensus-runtime.js.map +0 -1
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
- package/dist/src/mcp-tools/managed-agent-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/managed-agent-tools.js +0 -357
- package/dist/src/mcp-tools/managed-agent-tools.js.map +0 -1
- package/dist/src/memory/ann-router-registry.d.ts +0 -61
- package/dist/src/memory/ann-router-registry.d.ts.map +0 -1
- package/dist/src/memory/ann-router-registry.js +0 -72
- package/dist/src/memory/ann-router-registry.js.map +0 -1
- package/dist/src/memory/diskann-registry.d.ts +0 -56
- package/dist/src/memory/diskann-registry.d.ts.map +0 -1
- package/dist/src/memory/diskann-registry.js +0 -88
- package/dist/src/memory/diskann-registry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA8O1C,eAAO,MAAM,WAAW,EAAE,OAAO,EAouBhC,CAAC"}
|
|
@@ -70,37 +70,6 @@ function sanitizeMemoryKey(key) {
|
|
|
70
70
|
const safe = key.replace(DANGEROUS_KEY_CHARS, '_');
|
|
71
71
|
return safe.length > MAX_KEY_LENGTH ? safe.slice(0, MAX_KEY_LENGTH) : safe;
|
|
72
72
|
}
|
|
73
|
-
// #1937 — minimal glob → RegExp helper for memory_import_claude exclusion
|
|
74
|
-
// patterns. Anchored. Supports the three operators the issue's voice-fidelity
|
|
75
|
-
// workflow needs:
|
|
76
|
-
// `**` — any chars including path separators
|
|
77
|
-
// `*` — any chars except path separators
|
|
78
|
-
// `?` — exactly one char except a path separator
|
|
79
|
-
// Everything else is regex-escaped. Used to match absolute file paths.
|
|
80
|
-
function globToRegex(pattern) {
|
|
81
|
-
// Tokenize so we can replace `**` before `*` without overlap.
|
|
82
|
-
let out = '';
|
|
83
|
-
for (let i = 0; i < pattern.length; i++) {
|
|
84
|
-
const c = pattern[i];
|
|
85
|
-
if (c === '*' && pattern[i + 1] === '*') {
|
|
86
|
-
out += '.*';
|
|
87
|
-
i++;
|
|
88
|
-
}
|
|
89
|
-
else if (c === '*') {
|
|
90
|
-
out += '[^/\\\\]*';
|
|
91
|
-
}
|
|
92
|
-
else if (c === '?') {
|
|
93
|
-
out += '[^/\\\\]';
|
|
94
|
-
}
|
|
95
|
-
else if (/[.+^$|(){}\[\]\\]/.test(c)) {
|
|
96
|
-
out += '\\' + c;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
out += c;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return new RegExp('^' + out + '$');
|
|
103
|
-
}
|
|
104
73
|
// #1883 — resolve the Claude-Code project memory directory for the *current*
|
|
105
74
|
// project. Claude Code hashes the project path differently per host OS, and
|
|
106
75
|
// our previous logic only POSIX-slash-replaced cwd, which breaks for:
|
|
@@ -135,15 +104,6 @@ function resolveProjectMemoryDir(claudeProjectsDir, projectPathOverride) {
|
|
|
135
104
|
candidates.add(stripped);
|
|
136
105
|
// Candidate 4: spaces replaced with dashes (Claude Code's space rule)
|
|
137
106
|
candidates.add(source.replace(/\//g, '-').replace(/ /g, '-'));
|
|
138
|
-
// Candidate 5 (#1939): native Win32 path on a Win32 Claude Code install.
|
|
139
|
-
// `C:\Users\tobia\OneDrive\Desktop\Claude Stuff` →
|
|
140
|
-
// `C--Users-tobia-OneDrive-Desktop-Claude-Stuff`. Claude Code's on-disk
|
|
141
|
-
// slug replaces drive-colon AND backslashes AND whitespace with `-`.
|
|
142
|
-
// The earlier candidates only handled forward slashes, so a Win32+Win32
|
|
143
|
-
// setup never matched.
|
|
144
|
-
if (/^[A-Za-z]:[\\/]/.test(source)) {
|
|
145
|
-
candidates.add(source.replace(/[:\\/]/g, '-').replace(/\s+/g, '-'));
|
|
146
|
-
}
|
|
147
107
|
}
|
|
148
108
|
for (const projectHash of candidates) {
|
|
149
109
|
const memDir = join(claudeProjectsDir, projectHash, 'memory');
|
|
@@ -708,7 +668,7 @@ export const memoryTools = [
|
|
|
708
668
|
// ===== Claude Code Memory Bridge Tools =====
|
|
709
669
|
{
|
|
710
670
|
name: 'memory_import_claude',
|
|
711
|
-
description: 'Import Claude Code auto-memory files into AgentDB with ONNX vector embeddings. Reads ~/.claude/projects/*/memory/*.md files, parses YAML frontmatter, splits into sections, and stores with 384-dim embeddings for semantic search. Use allProjects=true to import from ALL Claude projects. Pass projectPath to override cwd-based detection (#1883 — required when Ruflo runs in WSL but Claude Code is on Windows).
|
|
671
|
+
description: 'Import Claude Code auto-memory files into AgentDB with ONNX vector embeddings. Reads ~/.claude/projects/*/memory/*.md files, parses YAML frontmatter, splits into sections, and stores with 384-dim embeddings for semantic search. Use allProjects=true to import from ALL Claude projects. Pass projectPath to override cwd-based detection (#1883 — required when Ruflo runs in WSL but Claude Code is on Windows). Use when native Read/Write is wrong because you need (a) cross-session retrieval by semantic similarity (vector embeddings) not by file path, (b) namespacing across projects without managing directory layout, or (c) the .swarm/memory.db audit trail. For one-shot file I/O, native Read/Write is fine.',
|
|
712
672
|
category: 'memory',
|
|
713
673
|
inputSchema: {
|
|
714
674
|
type: 'object',
|
|
@@ -716,16 +676,6 @@ export const memoryTools = [
|
|
|
716
676
|
allProjects: { type: 'boolean', description: 'Import from all Claude projects (default: current project only)' },
|
|
717
677
|
namespace: { type: 'string', description: 'Target namespace (default: "claude-memories")' },
|
|
718
678
|
projectPath: { type: 'string', description: '#1883 — explicit project path to hash, used when cwd does not match Claude Code\'s view (e.g. WSL bridge to Windows host). Pass the canonical project root as Claude Code sees it.' },
|
|
719
|
-
excludeFilePatterns: {
|
|
720
|
-
type: 'array',
|
|
721
|
-
items: { type: 'string' },
|
|
722
|
-
description: '#1937 — glob patterns matched against the absolute file path. Files matching ANY pattern are skipped. Supports `*` (any chars within a path segment), `**` (any chars including separators), and `?` (single char). Examples: `**/voice-*.md`, `**/persona-*.md`. Combine with excludeFiles for explicit paths.',
|
|
723
|
-
},
|
|
724
|
-
excludeFiles: {
|
|
725
|
-
type: 'array',
|
|
726
|
-
items: { type: 'string' },
|
|
727
|
-
description: '#1937 — absolute file paths to skip verbatim. Faster than a pattern when the list is known ahead of time (operator captured baselines). Combine with excludeFilePatterns.',
|
|
728
|
-
},
|
|
729
679
|
},
|
|
730
680
|
},
|
|
731
681
|
handler: async (input) => {
|
|
@@ -740,18 +690,8 @@ export const memoryTools = [
|
|
|
740
690
|
const allProjects = input.allProjects;
|
|
741
691
|
const projectPathOverride = input.projectPath;
|
|
742
692
|
const claudeProjectsDir = join(homedir(), '.claude', 'projects');
|
|
743
|
-
// #1937 — voice-fidelity / persona-restricted exclusion.
|
|
744
|
-
const excludeFilePatterns = Array.isArray(input.excludeFilePatterns) ? input.excludeFilePatterns : [];
|
|
745
|
-
const excludeFilesList = Array.isArray(input.excludeFiles) ? new Set(input.excludeFiles) : new Set();
|
|
746
|
-
const excludeRegexes = excludeFilePatterns.map(globToRegex);
|
|
747
|
-
const isExcluded = (absPath) => {
|
|
748
|
-
if (excludeFilesList.has(absPath))
|
|
749
|
-
return true;
|
|
750
|
-
return excludeRegexes.some(re => re.test(absPath));
|
|
751
|
-
};
|
|
752
693
|
// Find memory files
|
|
753
694
|
const memoryFiles = [];
|
|
754
|
-
let excludedByPattern = 0;
|
|
755
695
|
if (allProjects) {
|
|
756
696
|
// Scan all projects
|
|
757
697
|
if (existsSync(claudeProjectsDir)) {
|
|
@@ -763,12 +703,7 @@ export const memoryTools = [
|
|
|
763
703
|
if (!existsSync(memDir))
|
|
764
704
|
continue;
|
|
765
705
|
for (const file of readdirSync(memDir).filter((f) => f.endsWith('.md'))) {
|
|
766
|
-
|
|
767
|
-
if (isExcluded(absPath)) {
|
|
768
|
-
excludedByPattern++;
|
|
769
|
-
continue;
|
|
770
|
-
}
|
|
771
|
-
memoryFiles.push({ path: absPath, project: project.name, file });
|
|
706
|
+
memoryFiles.push({ path: join(memDir, file), project: project.name, file });
|
|
772
707
|
}
|
|
773
708
|
}
|
|
774
709
|
}
|
|
@@ -782,12 +717,7 @@ export const memoryTools = [
|
|
|
782
717
|
if (resolved) {
|
|
783
718
|
try {
|
|
784
719
|
for (const file of readdirSync(resolved.memDir).filter((f) => f.endsWith('.md'))) {
|
|
785
|
-
|
|
786
|
-
if (isExcluded(absPath)) {
|
|
787
|
-
excludedByPattern++;
|
|
788
|
-
continue;
|
|
789
|
-
}
|
|
790
|
-
memoryFiles.push({ path: absPath, project: resolved.projectHash, file });
|
|
720
|
+
memoryFiles.push({ path: join(resolved.memDir, file), project: resolved.projectHash, file });
|
|
791
721
|
}
|
|
792
722
|
}
|
|
793
723
|
catch { /* scan error */ }
|
|
@@ -863,7 +793,6 @@ export const memoryTools = [
|
|
|
863
793
|
imported,
|
|
864
794
|
skipped,
|
|
865
795
|
duplicatesSkipped,
|
|
866
|
-
excludedByPattern,
|
|
867
796
|
files: memoryFiles.length,
|
|
868
797
|
projects: projects.size,
|
|
869
798
|
namespace: ns,
|
|
@@ -900,34 +829,14 @@ export const memoryTools = [
|
|
|
900
829
|
catch { /* ignore */ }
|
|
901
830
|
}
|
|
902
831
|
// AgentDB status
|
|
903
|
-
// #1940: previously used `allEntries.entries.length` for the totals,
|
|
904
|
-
// but `listEntries({})` returns the first 20 entries with a separate
|
|
905
|
-
// `total` field for the full row count. So `memory_bridge_status`
|
|
906
|
-
// reported `totalEntries: 0`...20 even when the DB had hundreds of
|
|
907
|
-
// rows. Use `.total` for the count, and surface the namespaces with
|
|
908
|
-
// entries so the report matches what's actually in the store.
|
|
909
832
|
let agentdbEntries = 0;
|
|
910
833
|
let claudeMemoryEntries = 0;
|
|
911
|
-
const namespaceCounts = {};
|
|
912
834
|
try {
|
|
913
835
|
const { listEntries } = await getMemoryFunctions();
|
|
914
836
|
const allEntries = await listEntries({});
|
|
915
|
-
agentdbEntries = allEntries?.
|
|
916
|
-
?? allEntries?.entries?.length ?? 0;
|
|
837
|
+
agentdbEntries = allEntries?.entries?.length ?? 0;
|
|
917
838
|
const claudeEntries = await listEntries({ namespace: 'claude-memories' });
|
|
918
|
-
claudeMemoryEntries = claudeEntries?.
|
|
919
|
-
?? claudeEntries?.entries?.length ?? 0;
|
|
920
|
-
// Per-namespace counts for the namespaces the reporter referenced
|
|
921
|
-
// (#1940). Best-effort — a namespace with 0 entries is omitted.
|
|
922
|
-
for (const ns of ['default', 'patterns', 'claude-memories', 'auto-memory', 'tasks', 'feedback', 'pretrain']) {
|
|
923
|
-
try {
|
|
924
|
-
const r = await listEntries({ namespace: ns });
|
|
925
|
-
const t = r?.total ?? r?.entries?.length ?? 0;
|
|
926
|
-
if (t > 0)
|
|
927
|
-
namespaceCounts[ns] = t;
|
|
928
|
-
}
|
|
929
|
-
catch { /* skip per-namespace failure */ }
|
|
930
|
-
}
|
|
839
|
+
claudeMemoryEntries = claudeEntries?.entries?.length ?? 0;
|
|
931
840
|
}
|
|
932
841
|
catch { /* ignore */ }
|
|
933
842
|
// Intelligence status
|
|
@@ -941,12 +850,9 @@ export const memoryTools = [
|
|
|
941
850
|
catch { /* not initialized */ }
|
|
942
851
|
return {
|
|
943
852
|
claudeCode: { memoryFiles: claudeFiles, projects: claudeProjects },
|
|
944
|
-
agentdb: { totalEntries: agentdbEntries, claudeMemoryEntries,
|
|
853
|
+
agentdb: { totalEntries: agentdbEntries, claudeMemoryEntries, backend: 'sql.js + ONNX' },
|
|
945
854
|
intelligence,
|
|
946
|
-
|
|
947
|
-
// content, not just `claude-memories` — the bridge can be in active
|
|
948
|
-
// use from other import paths (e.g. plugin namespaces, task memory).
|
|
949
|
-
bridge: { status: agentdbEntries > 0 ? 'connected' : 'not-synced', embedding: 'all-MiniLM-L6-v2 (384-dim)' },
|
|
855
|
+
bridge: { status: claudeMemoryEntries > 0 ? 'connected' : 'not-synced', embedding: 'all-MiniLM-L6-v2 (384-dim)' },
|
|
950
856
|
};
|
|
951
857
|
},
|
|
952
858
|
},
|
|
@@ -1014,236 +920,5 @@ export const memoryTools = [
|
|
|
1014
920
|
};
|
|
1015
921
|
},
|
|
1016
922
|
},
|
|
1017
|
-
{
|
|
1018
|
-
// #1916: `ruflo status memory` (the detailed view) referenced an
|
|
1019
|
-
// unregistered `memory_detailed-stats` tool. memory_stats returns a
|
|
1020
|
-
// different shape; this returns what the CLI renders.
|
|
1021
|
-
name: 'memory_detailed-stats',
|
|
1022
|
-
description: 'Detailed memory-store report — backend, entry count, total bytes, per-namespace counts, and (placeholder) perf metrics. Use when native Read/Glob is wrong because the data lives in .swarm/memory.db, not files, and you want an aggregate health view. For a quick count use memory_stats; for "what is in memory" use memory_list.',
|
|
1023
|
-
category: 'memory',
|
|
1024
|
-
inputSchema: { type: 'object', properties: {} },
|
|
1025
|
-
handler: async () => {
|
|
1026
|
-
await ensureInitialized();
|
|
1027
|
-
const { listEntries } = await getMemoryFunctions();
|
|
1028
|
-
const all = await listEntries({ limit: 100000 });
|
|
1029
|
-
const nsCounts = {};
|
|
1030
|
-
let bytes = 0;
|
|
1031
|
-
for (const e of all.entries) {
|
|
1032
|
-
nsCounts[e.namespace] = (nsCounts[e.namespace] || 0) + 1;
|
|
1033
|
-
bytes += e.size || 0;
|
|
1034
|
-
}
|
|
1035
|
-
return {
|
|
1036
|
-
backend: 'sql.js + HNSW',
|
|
1037
|
-
entries: all.total ?? all.entries.length,
|
|
1038
|
-
size: bytes,
|
|
1039
|
-
namespaces: Object.entries(nsCounts).map(([name, entries]) => ({ name, entries })),
|
|
1040
|
-
performance: { avgSearchTime: 0, avgWriteTime: 0, cacheHitRate: 0, hnswEnabled: true },
|
|
1041
|
-
note: 'perf metrics are placeholders; HNSW is always enabled in the sql.js backend',
|
|
1042
|
-
};
|
|
1043
|
-
},
|
|
1044
|
-
},
|
|
1045
|
-
{
|
|
1046
|
-
// #1916: `ruflo memory cleanup` referenced an unregistered `memory_cleanup`
|
|
1047
|
-
// tool. Removes entries whose TTL has expired. Defaults to a dry run —
|
|
1048
|
-
// pass dryRun:false to actually delete.
|
|
1049
|
-
name: 'memory_cleanup',
|
|
1050
|
-
description: 'Prune memory entries whose TTL has expired (dry run by default; pass dryRun:false to delete). Use when native rm is wrong because the entries are rows in .swarm/memory.db, not files. For removing a specific known key use memory_delete. Stale/low-quality pruning is delegated to the agentdb consolidation curator (#1916 follow-up).',
|
|
1051
|
-
category: 'memory',
|
|
1052
|
-
inputSchema: {
|
|
1053
|
-
type: 'object',
|
|
1054
|
-
properties: {
|
|
1055
|
-
dryRun: { type: 'boolean', description: 'Only report candidates, do not delete (default true)' },
|
|
1056
|
-
namespace: { type: 'string', description: 'Limit cleanup to one namespace' },
|
|
1057
|
-
},
|
|
1058
|
-
},
|
|
1059
|
-
handler: async (input) => {
|
|
1060
|
-
await ensureInitialized();
|
|
1061
|
-
const { listEntries, deleteEntry } = await getMemoryFunctions();
|
|
1062
|
-
const dryRun = input.dryRun !== false; // default true
|
|
1063
|
-
const namespace = input.namespace ? String(input.namespace) : undefined;
|
|
1064
|
-
if (namespace) {
|
|
1065
|
-
const v = validateIdentifier(namespace, 'namespace');
|
|
1066
|
-
if (!v.valid)
|
|
1067
|
-
throw new Error(v.error);
|
|
1068
|
-
}
|
|
1069
|
-
const all = await listEntries({ limit: 100000, namespace });
|
|
1070
|
-
const now = Date.now();
|
|
1071
|
-
const expired = all.entries.filter(e => {
|
|
1072
|
-
const exp = e.expiresAt;
|
|
1073
|
-
if (!exp)
|
|
1074
|
-
return false;
|
|
1075
|
-
const t = typeof exp === 'number' ? exp : Date.parse(String(exp));
|
|
1076
|
-
return Number.isFinite(t) && t < now;
|
|
1077
|
-
});
|
|
1078
|
-
let freedBytes = 0;
|
|
1079
|
-
let deleted = 0;
|
|
1080
|
-
if (!dryRun) {
|
|
1081
|
-
for (const e of expired) {
|
|
1082
|
-
try {
|
|
1083
|
-
await deleteEntry({ key: e.key, namespace: e.namespace });
|
|
1084
|
-
freedBytes += e.size || 0;
|
|
1085
|
-
deleted++;
|
|
1086
|
-
}
|
|
1087
|
-
catch { /* ignore individual delete errors */ }
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1090
|
-
else {
|
|
1091
|
-
freedBytes = expired.reduce((s, e) => s + (e.size || 0), 0);
|
|
1092
|
-
}
|
|
1093
|
-
return {
|
|
1094
|
-
dryRun,
|
|
1095
|
-
candidates: { expired: expired.length, stale: 0, lowQuality: 0, total: expired.length },
|
|
1096
|
-
deleted: { entries: dryRun ? 0 : deleted, vectors: 0, patterns: 0 },
|
|
1097
|
-
freed: { bytes: freedBytes },
|
|
1098
|
-
note: dryRun ? 'dry run — re-run with dryRun:false to delete' : undefined,
|
|
1099
|
-
};
|
|
1100
|
-
},
|
|
1101
|
-
},
|
|
1102
|
-
{
|
|
1103
|
-
// #1916: `ruflo memory compress` referenced an unregistered tool. The
|
|
1104
|
-
// sql.js backend has no on-disk compression; this reports current sizes.
|
|
1105
|
-
name: 'memory_compress',
|
|
1106
|
-
description: 'Report memory-store size breakdown (the sql.js backend has no on-disk compression — entries are already stored compactly; quantized embeddings via RaBitQ are configured elsewhere). Use when native du is wrong because the data is in .swarm/memory.db. For pruning expired entries use memory_cleanup.',
|
|
1107
|
-
category: 'memory',
|
|
1108
|
-
inputSchema: { type: 'object', properties: {} },
|
|
1109
|
-
handler: async () => {
|
|
1110
|
-
await ensureInitialized();
|
|
1111
|
-
const { listEntries } = await getMemoryFunctions();
|
|
1112
|
-
const all = await listEntries({ limit: 100000 });
|
|
1113
|
-
const bytes = all.entries.reduce((s, e) => s + (e.size || 0), 0);
|
|
1114
|
-
const human = `${bytes}B`;
|
|
1115
|
-
const sizes = { totalSize: human, vectorsSize: 'n/a', textSize: human, patternsSize: 'n/a', indexSize: 'n/a' };
|
|
1116
|
-
return {
|
|
1117
|
-
before: sizes,
|
|
1118
|
-
after: sizes,
|
|
1119
|
-
compression: { ratio: 1, savedBytes: 0, method: 'none' },
|
|
1120
|
-
note: 'sql.js backend has no on-disk compression; nothing to compress. (RaBitQ embedding quantization is a separate feature.)',
|
|
1121
|
-
};
|
|
1122
|
-
},
|
|
1123
|
-
},
|
|
1124
|
-
{
|
|
1125
|
-
// #1916: `ruflo memory export -o <file>` referenced an unregistered tool.
|
|
1126
|
-
// Dumps entry metadata (and values when the backend returns them) to JSON.
|
|
1127
|
-
name: 'memory_export',
|
|
1128
|
-
description: 'Export memory entries to a JSON file (keys, namespaces, timestamps, and values when available). Use when native Write is wrong because the data is rows in .swarm/memory.db, not a file you can copy. For ingesting an export elsewhere use memory_import. (CSV output and embedding-vector export are follow-ups.)',
|
|
1129
|
-
category: 'memory',
|
|
1130
|
-
inputSchema: {
|
|
1131
|
-
type: 'object',
|
|
1132
|
-
properties: {
|
|
1133
|
-
outputPath: { type: 'string', description: 'File path to write the JSON export to' },
|
|
1134
|
-
format: { type: 'string', enum: ['json', 'csv'], description: 'Export format (csv falls back to json today)' },
|
|
1135
|
-
namespace: { type: 'string', description: 'Limit export to one namespace' },
|
|
1136
|
-
includeVectors: { type: 'boolean', description: 'Include embedding vectors (advisory — not exported yet)' },
|
|
1137
|
-
},
|
|
1138
|
-
required: ['outputPath'],
|
|
1139
|
-
},
|
|
1140
|
-
handler: async (input) => {
|
|
1141
|
-
await ensureInitialized();
|
|
1142
|
-
const { listEntries } = await getMemoryFunctions();
|
|
1143
|
-
const outputPath = String(input.outputPath ?? '');
|
|
1144
|
-
if (!outputPath)
|
|
1145
|
-
return { error: 'outputPath is required' };
|
|
1146
|
-
const namespace = input.namespace ? String(input.namespace) : undefined;
|
|
1147
|
-
if (namespace) {
|
|
1148
|
-
const v = validateIdentifier(namespace, 'namespace');
|
|
1149
|
-
if (!v.valid)
|
|
1150
|
-
throw new Error(v.error);
|
|
1151
|
-
}
|
|
1152
|
-
// #2073: pass includeContent so the value field carries the actual
|
|
1153
|
-
// entry body. Without this, `value` is always null because listEntries
|
|
1154
|
-
// strips content by default (callers pay for the JSON parse only when
|
|
1155
|
-
// they need it).
|
|
1156
|
-
const all = await listEntries({ limit: 100000, namespace, includeContent: true });
|
|
1157
|
-
const payload = {
|
|
1158
|
-
schema: 'ruflo-memory-export/v1',
|
|
1159
|
-
exportedAt: new Date().toISOString(),
|
|
1160
|
-
namespace: namespace ?? null,
|
|
1161
|
-
count: all.entries.length,
|
|
1162
|
-
entries: all.entries.map(e => ({
|
|
1163
|
-
key: e.key,
|
|
1164
|
-
namespace: e.namespace,
|
|
1165
|
-
// #2073: `e.content` is the stored value string; `e.value` was a
|
|
1166
|
-
// never-populated alias. Fall back to null only if content is
|
|
1167
|
-
// missing for backward-compat with the schema.
|
|
1168
|
-
value: typeof e.content === 'string' ? e.content : (e.value ?? null),
|
|
1169
|
-
createdAt: e.createdAt, updatedAt: e.updatedAt, accessCount: e.accessCount, hasEmbedding: e.hasEmbedding, size: e.size,
|
|
1170
|
-
})),
|
|
1171
|
-
};
|
|
1172
|
-
try {
|
|
1173
|
-
writeFileSync(outputPath, JSON.stringify(payload, null, 2), 'utf-8');
|
|
1174
|
-
}
|
|
1175
|
-
catch (e) {
|
|
1176
|
-
return { error: `Could not write ${outputPath}: ${e.message}` };
|
|
1177
|
-
}
|
|
1178
|
-
const vectorsWithEmb = all.entries.filter(e => e.hasEmbedding).length;
|
|
1179
|
-
return {
|
|
1180
|
-
outputPath,
|
|
1181
|
-
format: input.format || 'json',
|
|
1182
|
-
exported: { entries: all.entries.length, vectors: vectorsWithEmb, patterns: 0 },
|
|
1183
|
-
fileSize: `${Buffer.byteLength(JSON.stringify(payload))}B`,
|
|
1184
|
-
note: input.format === 'csv' ? 'CSV not implemented yet — wrote JSON' : undefined,
|
|
1185
|
-
};
|
|
1186
|
-
},
|
|
1187
|
-
},
|
|
1188
|
-
{
|
|
1189
|
-
// #1916: `ruflo memory import <file>` referenced an unregistered tool.
|
|
1190
|
-
// Reads a ruflo-memory-export JSON and re-stores each entry.
|
|
1191
|
-
name: 'memory_import',
|
|
1192
|
-
description: 'Import memory entries from a JSON export file (produced by memory_export) into .swarm/memory.db, re-embedding values. Use when native Read is wrong because the data must be re-stored as memory rows (with new embeddings), not just read. For importing Claude Code\'s own memory files use memory_import_claude. Pair with memory_export on the source.',
|
|
1193
|
-
category: 'memory',
|
|
1194
|
-
inputSchema: {
|
|
1195
|
-
type: 'object',
|
|
1196
|
-
properties: {
|
|
1197
|
-
inputPath: { type: 'string', description: 'Path to the JSON export file' },
|
|
1198
|
-
merge: { type: 'boolean', description: 'Merge into existing entries (upsert) vs. fail on conflict (default true)' },
|
|
1199
|
-
namespace: { type: 'string', description: 'Override the namespace for all imported entries' },
|
|
1200
|
-
},
|
|
1201
|
-
required: ['inputPath'],
|
|
1202
|
-
},
|
|
1203
|
-
handler: async (input) => {
|
|
1204
|
-
await ensureInitialized();
|
|
1205
|
-
const { storeEntry } = await getMemoryFunctions();
|
|
1206
|
-
const t0 = Date.now();
|
|
1207
|
-
const inputPath = String(input.inputPath ?? '');
|
|
1208
|
-
if (!inputPath || !existsSync(inputPath))
|
|
1209
|
-
return { error: `File not found: ${inputPath || '(empty)'}` };
|
|
1210
|
-
let doc;
|
|
1211
|
-
try {
|
|
1212
|
-
doc = JSON.parse(readFileSync(inputPath, 'utf-8'));
|
|
1213
|
-
}
|
|
1214
|
-
catch (e) {
|
|
1215
|
-
return { error: `Invalid export JSON: ${e.message}` };
|
|
1216
|
-
}
|
|
1217
|
-
const entries = Array.isArray(doc.entries) ? doc.entries : [];
|
|
1218
|
-
const nsOverride = input.namespace ? String(input.namespace) : undefined;
|
|
1219
|
-
if (nsOverride) {
|
|
1220
|
-
const v = validateIdentifier(nsOverride, 'namespace');
|
|
1221
|
-
if (!v.valid)
|
|
1222
|
-
throw new Error(v.error);
|
|
1223
|
-
}
|
|
1224
|
-
let imported = 0;
|
|
1225
|
-
let skipped = 0;
|
|
1226
|
-
for (const e of entries) {
|
|
1227
|
-
if (!e || typeof e.key !== 'string') {
|
|
1228
|
-
skipped++;
|
|
1229
|
-
continue;
|
|
1230
|
-
}
|
|
1231
|
-
const value = typeof e.value === 'string' ? e.value : JSON.stringify(e.value ?? null);
|
|
1232
|
-
try {
|
|
1233
|
-
await storeEntry({ key: e.key, value, namespace: nsOverride ?? e.namespace ?? 'default', upsert: input.merge !== false });
|
|
1234
|
-
imported++;
|
|
1235
|
-
}
|
|
1236
|
-
catch {
|
|
1237
|
-
skipped++;
|
|
1238
|
-
}
|
|
1239
|
-
}
|
|
1240
|
-
return {
|
|
1241
|
-
inputPath,
|
|
1242
|
-
imported: { entries: imported, vectors: 0, patterns: 0 },
|
|
1243
|
-
skipped,
|
|
1244
|
-
duration: Date.now() - t0,
|
|
1245
|
-
};
|
|
1246
|
-
},
|
|
1247
|
-
},
|
|
1248
923
|
];
|
|
1249
924
|
//# sourceMappingURL=memory-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAiBzD,uFAAuF;AACvF,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAChD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AAChE,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAEjE,SAAS,mBAAmB,CAAC,GAAY,EAAE,KAAc,EAAE,KAAc,EAAE,SAAkB;IAC3F,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,cAAc,aAAa,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,iCAAiC,cAAc,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,aAAa,CAAC,CAAC;IACpF,CAAC;IACD,4EAA4E;IAC5E,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,sEAAsE;AACtE,gFAAgF;AAChF,wEAAwE;AACxE,yDAAyD;AACzD,yEAAyE;AACzE,2EAA2E;AAC3E,mEAAmE;AACnE,SAAS,uBAAuB,CAAC,iBAAyB,EAAE,mBAA4B;IACtF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,6DAA6D;QAC7D,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3C,6EAA6E;QAC7E,iEAAiE;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACrD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnE,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,kFAAkF;QAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/D,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzB,sEAAsE;QACtE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3E,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;QAC/E,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,OAAO,EAAE,OAAO;KACjB,CAAC,EAAE,OAAO,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,MAAM,EACJ,UAAU,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,yBAAyB,GAC1B,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAEpD,OAAO;QACL,UAAU;QACV,aAAa;QACb,WAAW;QACX,QAAQ;QACR,WAAW;QACX,wBAAwB;QACxB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEvG,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,yBAAyB,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,wBAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,8EAA8E;QAC9E,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACvE,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAEjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC1F,MAAM,UAAU,CAAC;4BACf,GAAG;4BACH,KAAK;4BACL,SAAS,EAAE,SAAS;4BACpB,qBAAqB,EAAE,IAAI;yBAC5B,CAAC,CAAC;wBACH,QAAQ,EAAE,CAAC;oBACb,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;gBACtG,qBAAqB,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qYAAqY;QAClZ,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC5E,KAAK,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;gBAC7F,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kEAAkE,EAAE;aAC7G;YACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;SAC3B;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAElD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAa,CAAC;YAChC,MAAM,SAAS,GAAI,KAAK,CAAC,SAAoB,IAAI,SAAS,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjH,MAAM,IAAI,GAAI,KAAK,CAAC,IAAiB,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAyB,CAAC;YAC5C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAkB,IAAI,KAAK,CAAC;YAElD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,GAAG;oBACH,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,uCAAuC;iBAC/C,CAAC;YACJ,CAAC;YAED,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,GAAG;oBACH,KAAK;oBACL,SAAS;oBACT,qBAAqB,EAAE,IAAI;oBAC3B,IAAI;oBACJ,GAAG;oBACH,MAAM;iBACP,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE/C,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG;oBACH,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;oBAChC,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI;oBACzD,OAAO,EAAE,eAAe;oBACxB,SAAS,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACrC,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,GAAG;oBACH,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6SAA6S;QAC1T,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBAClD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC7E;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAEhD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAa,CAAC;YAChC,MAAM,SAAS,GAAI,KAAK,CAAC,SAAoB,IAAI,SAAS,CAAC;YAE3D,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAElD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjC,0BAA0B;oBAC1B,IAAI,KAAK,GAAY,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC1C,IAAI,CAAC;wBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3C,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;oBAED,OAAO;wBACL,GAAG;wBACH,SAAS;wBACT,KAAK;wBACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;wBAChC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;wBACjC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;wBACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;wBACvC,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,eAAe;qBACzB,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,GAAG;oBACH,SAAS;oBACT,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;iBACb,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,GAAG;oBACH,SAAS;oBACT,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,+ZAA+Z;QAC5a,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBAC5E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACtF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACvE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;gBAC7F,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6GAA6G,EAAE;aACvJ;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAErD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;YACpC,MAAM,SAAS,GAAI,KAAK,CAAC,SAAoB,IAAI,SAAS,CAAC;YAC3D,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAI,KAAK,CAAC,SAAoB,IAAI,GAAG,CAAC;YAErD,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAEjD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAEpC,IAAI,CAAC;gBACH,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,oEAAoE;gBACpE,kEAAkE;gBAClE,yCAAyC;gBACzC,IAAI,mBAAuC,CAAC;gBAC5C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,8DAA8D;oBAC9D,IAAI,MAAW,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBAC/C,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,mBAAmB,GAAG,uCAAwC,GAAa,CAAC,OAAO,EAAE,CAAC;oBACxF,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU;wBACpE,CAAC,CAAC,MAAM,CAAC,WAAW;wBACpB,CAAC,CAAC,SAAS,CAAC;oBAEd,IAAI,WAAW,EAAE,CAAC;wBAChB,oCAAoC;wBACpC,MAAM,SAAS,GAAG,KAAK,EAAE,GAA8E,EAAE,EAAE;4BACzG,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC;gCAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;gCAChB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;gCACrC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC;gCAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;6BACtC,CAAC,CAAC;4BACH,OAAO;gCACL,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;oCACR,GAAG,EAAE,CAAC,CAAC,GAAG;oCACV,OAAO,EAAE,CAAC,CAAC,OAAO;oCAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oCACd,SAAS,EAAE,CAAC,CAAC,SAAS;iCACvB,CAAC,CAAC;6BACJ,CAAC;wBACJ,CAAC,CAAC;wBAEF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE;4BAC/C,KAAK;4BACL,SAAS;4BACT,KAAK;4BACL,SAAS;yBACV,CAAC,CAAC;wBAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAE/C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAqE,EAAE,EAAE;4BAChH,IAAI,KAAK,GAAY,CAAC,CAAC,OAAO,CAAC;4BAC/B,IAAI,CAAC;gCAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;4BAAC,CAAC;4BAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;4BACrE,OAAO;gCACL,GAAG,EAAE,CAAC,CAAC,GAAG;gCACV,SAAS,EAAE,CAAC,CAAC,SAAS;gCACtB,KAAK;gCACL,UAAU,EAAE,CAAC,CAAC,KAAK;6BACpB,CAAC;wBACJ,CAAC,CAAC,CAAC;wBAEH,OAAO;4BACL,KAAK;4BACL,OAAO;4BACP,KAAK,EAAE,OAAO,CAAC,MAAM;4BACrB,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;4BACtC,OAAO,EAAE,sCAAsC;4BAC/C,KAAK,EAAE,WAAW,CAAC,KAAK;yBACzB,CAAC;oBACJ,CAAC;oBAED,+DAA+D;oBAC/D,yDAAyD;oBACzD,mBAAmB,GAAG,mBAAmB;2BACpC,sJAAsJ,CAAC;gBAC9J,CAAC;gBAED,oEAAoE;gBACpE,8DAA8D;gBAC9D,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;oBACjC,KAAK;oBACL,SAAS;oBACT,KAAK;oBACL,SAAS;iBACV,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE/C,+BAA+B;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACrC,IAAI,KAAK,GAAY,CAAC,CAAC,OAAO,CAAC;oBAC/B,IAAI,CAAC;wBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;oBAED,OAAO;wBACL,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,KAAK;wBACL,UAAU,EAAE,CAAC,CAAC,KAAK;qBACpB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,KAAK;oBACL,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACtC,OAAO,EAAE,eAAe;oBACxB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvE,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,KAAK;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gOAAgO;QAC7O,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBAClD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC7E;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAEnD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAa,CAAC;YAChC,MAAM,SAAS,GAAI,KAAK,CAAC,SAAoB,IAAI,SAAS,CAAC;YAE3D,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAErD,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG;oBACH,SAAS;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,oBAAoB,EAAE,MAAM,CAAC,OAAO;oBACpC,OAAO,EAAE,eAAe;iBACzB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,GAAG;oBACH,SAAS;oBACT,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uSAAuS;QACpT,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACvE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;aAC9E;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAEnD,MAAM,SAAS,GAAG,KAAK,CAAC,SAA+B,CAAC;YACxD,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAiB,IAAI,CAAC,CAAC;YAE7C,IAAI,SAAS,EAAE,CAAC;gBAAC,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAEtH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;oBAC/B,SAAS;oBACT,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,QAAQ,EAAE,CAAC,CAAC,SAAS;oBACrB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,OAAO;oBACP,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK;oBACL,MAAM;oBACN,OAAO,EAAE,eAAe;iBACzB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC;oBACR,KAAK;oBACL,MAAM;oBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uWAAuW;QACpX,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAE9E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAExD,qBAAqB;gBACrB,MAAM,UAAU,GAA2B,EAAE,CAAC;gBAC9C,IAAI,cAAc,GAAG,CAAC,CAAC;gBAEvB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,IAAI,KAAK,CAAC,YAAY;wBAAE,cAAc,EAAE,CAAC;gBAC3C,CAAC;gBAED,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,UAAU,CAAC,KAAK;oBAC9B,qBAAqB,EAAE,cAAc;oBACrC,iBAAiB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;wBACrC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;wBAC9D,CAAC,CAAC,IAAI;oBACR,UAAU;oBACV,OAAO,EAAE,eAAe;oBACxB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;oBAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI;wBAC3B,gBAAgB,EAAE,IAAI;wBACtB,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,IAAI;qBACrB;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,yWAAyW;QACtX,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;aACnF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAgB,CAAC;YAErC,qCAAqC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;gBAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,2BAA2B;oBACpC,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,MAAM,iBAAiB,EAAE,CAAC;YAE1B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM;gBACjD,OAAO,EAAE,eAAe;aACzB,CAAC;QACJ,CAAC;KACF;IAED,8CAA8C;IAE9C;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,osBAAosB;QACjtB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iEAAiE,EAAE;gBAChH,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBAC3F,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oLAAoL,EAAE;aACnO;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAElD,MAAM,EAAE,GAAI,KAAK,CAAC,SAAoB,IAAI,iBAAiB,CAAC;YAC5D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAC,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YACnJ,MAAM,WAAW,GAAG,KAAK,CAAC,WAAsB,CAAC;YACjD,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAiC,CAAC;YACpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAEjE,oBAAoB;YACpB,MAAM,WAAW,GAA2D,EAAE,CAAC;YAE/E,IAAI,WAAW,EAAE,CAAC;gBAChB,oBAAoB;gBACpB,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC;wBACH,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;4BAC9E,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gCAAE,SAAS;4BACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;4BAC/D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gCAAE,SAAS;4BAClC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gCAChF,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC9E,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,iFAAiF;gBACjF,mFAAmF;gBACnF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;gBACjF,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;4BACzF,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/F,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;YACjF,CAAC;YAED,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,uEAAuE;YACvE,iEAAiE;YACjE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,mEAAmE;YACnE,6CAA6C;YAC7C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEpD,oEAAoE;oBACpE,oCAAoC;oBACpC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpF,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBACvC,iBAAiB,EAAE,CAAC;wBACpB,SAAS;oBACX,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAEnC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAC5E,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,IAAI,GAAG,OAAO,CAAC;oBAEnB,IAAI,gBAAgB,EAAE,CAAC;wBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACjC,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBAChD,IAAI,SAAS;4BAAE,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC5C,CAAC;oBAED,0CAA0C;oBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;oBAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBAC9C,qEAAqE;wBACrE,gEAAgE;wBAChE,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;wBACnE,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClG,QAAQ,EAAE,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;4BAC7D,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE;gCAAE,SAAS;4BACtC,+DAA+D;4BAC/D,0CAA0C;4BAC1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;4BAChG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;4BACzG,QAAQ,EAAE,CAAC;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ;gBACR,OAAO;gBACP,iBAAiB;gBACjB,KAAK,EAAE,WAAW,CAAC,MAAM;gBACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,iCAAiC;aAC7C,CAAC;QACJ,CAAC;KACF;IAED;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,maAAma;QAChb,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,iBAAiB,EAAE,CAAC;YAE1B,4BAA4B;YAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC9E,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;4BAAE,SAAS;wBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAC/D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;4BAAE,SAAS;wBAClC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAAC,cAAc,EAAE,CAAC;4BAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;wBAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;YAED,iBAAiB;YACjB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;gBACzC,cAAc,GAAG,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC1E,mBAAmB,GAAG,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAExB,sBAAsB;YACtB,IAAI,YAAY,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAC3C,IAAI,KAAK;oBAAE,YAAY,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACzJ,CAAC;YAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAEjC,OAAO;gBACL,UAAU,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAClE,OAAO,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE;gBACxF,YAAY;gBACZ,MAAM,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,4BAA4B,EAAE;aAClH,CAAC;QACJ,CAAC;KACF;IAED;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qcAAqc;QACld,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACnE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACjF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACrD,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,KAAe,CAAC,CAAC;YAEjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;YACpC,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,SAA+B,CAAC;YAEjD,IAAI,EAAE,EAAE,CAAC;gBAAC,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAEvJ,wCAAwC;YACxC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9G,MAAM,UAAU,GAA8F,EAAE,CAAC;YAEjH,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;wBACf,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;4BAC9B,UAAU,CAAC,IAAI,CAAC;gCACd,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;gCAChC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAK,KAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gCAC/E,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;gCACvB,SAAS,EAAE,QAAQ;gCACnB,MAAM,EAAE,QAAQ,KAAK,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;6BAChH,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAC3C,CAAC;YAED,gDAAgD;YAChD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACzC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAEnB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,YAAY,CAAC,MAAM;gBAC1B,kBAAkB,EAAE,UAAU;gBAC9B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruvllm-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/ruvllm-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ruvllm-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/ruvllm-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ1C,eAAO,MAAM,eAAe,EAAE,OAAO,EAoSpC,CAAC"}
|
|
@@ -5,23 +5,7 @@
|
|
|
5
5
|
* All tools gracefully degrade when the WASM package is not installed.
|
|
6
6
|
*/
|
|
7
7
|
import { validateIdentifier, validateText } from './validate-input.js';
|
|
8
|
-
// #2086 — every ruvllm_* MCP handler that touches the WASM runtime calls
|
|
9
|
-
// this. The downstream `createSonaInstant`/`createMicroLora`/`createHnswRouter`
|
|
10
|
-
// helpers all need `initSync({ module: wasmBytes })` to have run, otherwise
|
|
11
|
-
// the WASM exports throw. Doing it here makes the bootstrap invisible to
|
|
12
|
-
// MCP callers — they don't need a separate `ruvllm_init` tool. `_wasmReady`
|
|
13
|
-
// inside `initRuvllmWasm` short-circuits on the second+ call, so the cost
|
|
14
|
-
// after the first invocation is one boolean check.
|
|
15
|
-
//
|
|
16
|
-
// `ruvllm_status` deliberately uses `loadRuvllmWasmModule()` (no init) so a
|
|
17
|
-
// caller diagnosing why nothing works gets `initialized=false` instead of
|
|
18
|
-
// an error from a failed init.
|
|
19
8
|
async function loadRuvllmWasm() {
|
|
20
|
-
const mod = await loadRuvllmWasmModule();
|
|
21
|
-
await mod.initRuvllmWasm();
|
|
22
|
-
return mod;
|
|
23
|
-
}
|
|
24
|
-
async function loadRuvllmWasmModule() {
|
|
25
9
|
return import('../ruvector/ruvllm-wasm.js');
|
|
26
10
|
}
|
|
27
11
|
export const ruvllmWasmTools = [
|
|
@@ -31,7 +15,7 @@ export const ruvllmWasmTools = [
|
|
|
31
15
|
inputSchema: { type: 'object', properties: {} },
|
|
32
16
|
handler: async () => {
|
|
33
17
|
try {
|
|
34
|
-
const mod = await
|
|
18
|
+
const mod = await loadRuvllmWasm();
|
|
35
19
|
const wasmStatus = await mod.getRuvllmStatus();
|
|
36
20
|
// Also include native ruvllm CJS backend status (ADR-086)
|
|
37
21
|
let nativeBackend = { available: false };
|