@noesis-brain/mcp-server 2.0.1 → 2.1.1
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 +91 -3
- package/dist/agent/runner.d.ts +29 -0
- package/dist/agent/runner.d.ts.map +1 -0
- package/dist/agent/runner.js +306 -0
- package/dist/agent/runner.js.map +1 -0
- package/dist/api/NoesisClient.d.ts +119 -0
- package/dist/api/NoesisClient.d.ts.map +1 -1
- package/dist/api/NoesisClient.js +130 -6
- package/dist/api/NoesisClient.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +409 -35
- package/dist/cli/setup.js.map +1 -1
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/resolve/noteRef.d.ts +101 -0
- package/dist/resolve/noteRef.d.ts.map +1 -0
- package/dist/resolve/noteRef.js +186 -0
- package/dist/resolve/noteRef.js.map +1 -0
- package/dist/resolve/rootsFormat.d.ts +12 -0
- package/dist/resolve/rootsFormat.d.ts.map +1 -0
- package/dist/resolve/rootsFormat.js +63 -0
- package/dist/resolve/rootsFormat.js.map +1 -0
- package/dist/tools/backlog.d.ts +4 -0
- package/dist/tools/backlog.d.ts.map +1 -0
- package/dist/tools/backlog.js +161 -0
- package/dist/tools/backlog.js.map +1 -0
- package/dist/tools/index.d.ts +92 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +529 -207
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/navis.d.ts.map +1 -1
- package/dist/tools/navis.js +4 -0
- package/dist/tools/navis.js.map +1 -1
- package/package.json +8 -3
- package/scripts/agent-e2e.mjs +69 -0
- package/scripts/noesis-capture-session-end.mjs +94 -0
- package/scripts/noesis-capture-watcher.mjs +953 -0
- package/skill-templates/noesis-capture.md +166 -0
- package/skill-templates/noesis-create-study-note.md +149 -0
- package/skill-templates/noesis-find-related.md +89 -0
- package/skill-templates/noesis-investigate.md +90 -0
- package/skill-templates/noesis-manage-news.md +80 -0
- package/skill-templates/noesis-skim-read.md +72 -0
- package/templates/claude-md-block.md +5 -1
- package/templates/claude-md-restructure-on-sync.md +10 -0
package/dist/cli/setup.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import * as fs from 'fs';
|
|
8
8
|
import * as os from 'os';
|
|
9
9
|
import * as path from 'path';
|
|
10
|
+
import * as readline from 'node:readline/promises';
|
|
10
11
|
import { fileURLToPath } from 'url';
|
|
11
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
13
|
const __dirname = path.dirname(__filename);
|
|
@@ -18,60 +19,171 @@ const SCRIPTS_DIR = path.join(PACKAGE_ROOT, 'scripts');
|
|
|
18
19
|
const CLAUDE_DIR = path.join(os.homedir(), '.claude');
|
|
19
20
|
const CLAUDE_MD_PATH = path.join(CLAUDE_DIR, 'CLAUDE.md');
|
|
20
21
|
const COMMANDS_DIR = path.join(CLAUDE_DIR, 'commands');
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
const SETTINGS_PATH = path.join(CLAUDE_DIR, 'settings.json');
|
|
23
|
+
// Copilot targets a per-repo instructions file, not a global profile — VS Code
|
|
24
|
+
// Copilot has no established global-instructions equivalent to ~/.claude/CLAUDE.md.
|
|
25
|
+
const COPILOT_INSTRUCTIONS_PATH = path.join(process.cwd(), '.github', 'copilot-instructions.md');
|
|
26
|
+
// Core conventions — always installed (unless --skills-only).
|
|
27
|
+
const CORE_BLOCK_VERSION = 'v1';
|
|
28
|
+
const CORE_BLOCK = {
|
|
29
|
+
templateFile: 'claude-md-block.md',
|
|
30
|
+
startMarker: `<!-- noesis-mcp-server:start ${CORE_BLOCK_VERSION} -->`,
|
|
31
|
+
endMarker: `<!-- noesis-mcp-server:end -->`,
|
|
32
|
+
startRe: /<!-- noesis-mcp-server:start [^>]*-->/,
|
|
33
|
+
};
|
|
34
|
+
// Optional "restructure notes on sync" rule — opt-in (off by default).
|
|
35
|
+
const RESTRUCTURE_BLOCK_VERSION = 'v1';
|
|
36
|
+
const RESTRUCTURE_BLOCK = {
|
|
37
|
+
templateFile: 'claude-md-restructure-on-sync.md',
|
|
38
|
+
startMarker: `<!-- noesis-mcp-server:restructure-on-sync:start ${RESTRUCTURE_BLOCK_VERSION} -->`,
|
|
39
|
+
endMarker: `<!-- noesis-mcp-server:restructure-on-sync:end -->`,
|
|
40
|
+
startRe: /<!-- noesis-mcp-server:restructure-on-sync:start [^>]*-->/,
|
|
41
|
+
};
|
|
26
42
|
function parseArgs(argv) {
|
|
43
|
+
const clientArg = argv.find((a) => a.startsWith('--client='));
|
|
44
|
+
const client = clientArg ? clientArg.slice('--client='.length) : 'claude';
|
|
45
|
+
if (client !== 'claude' && client !== 'copilot') {
|
|
46
|
+
throw new Error(`Unknown --client "${client}" (expected "claude" or "copilot").`);
|
|
47
|
+
}
|
|
27
48
|
return {
|
|
49
|
+
client,
|
|
28
50
|
claudeMdOnly: argv.includes('--claude-md-only'),
|
|
29
51
|
skillsOnly: argv.includes('--skills-only'),
|
|
30
52
|
dryRun: argv.includes('--dry-run'),
|
|
53
|
+
withRestructure: argv.includes('--with-restructure-rule'),
|
|
54
|
+
noRestructure: argv.includes('--no-restructure-rule'),
|
|
55
|
+
withCapture: argv.includes('--with-capture'),
|
|
56
|
+
noCapture: argv.includes('--no-capture'),
|
|
31
57
|
};
|
|
32
58
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
function readTargetFile(targetPath) {
|
|
60
|
+
return fs.existsSync(targetPath) ? fs.readFileSync(targetPath, 'utf-8') : null;
|
|
61
|
+
}
|
|
62
|
+
/** Whether the given block is currently present in the target file. */
|
|
63
|
+
function blockExists(spec, targetPath) {
|
|
64
|
+
const current = readTargetFile(targetPath);
|
|
65
|
+
return current !== null && spec.startRe.test(current);
|
|
66
|
+
}
|
|
67
|
+
function buildWrappedBlock(spec) {
|
|
68
|
+
const blockContent = fs.readFileSync(path.join(TEMPLATES_DIR, spec.templateFile), 'utf-8').trimEnd();
|
|
69
|
+
return `${spec.startMarker}\n${blockContent}\n${spec.endMarker}`;
|
|
70
|
+
}
|
|
71
|
+
/** Find an existing block's [start, end) byte range, or null. Throws if the start marker has no matching end. */
|
|
72
|
+
function locateBlock(current, spec) {
|
|
73
|
+
const startMatch = current.match(spec.startRe);
|
|
74
|
+
if (!startMatch)
|
|
75
|
+
return null;
|
|
76
|
+
const startIdx = current.indexOf(startMatch[0]);
|
|
77
|
+
const endIdx = current.indexOf(spec.endMarker, startIdx);
|
|
78
|
+
if (endIdx === -1) {
|
|
79
|
+
throw new Error(`Found ${startMatch[0]} but no matching ${spec.endMarker} in ${CLAUDE_MD_PATH}. Fix manually or remove the start marker and re-run.`);
|
|
39
80
|
}
|
|
40
|
-
|
|
81
|
+
return { start: startIdx, end: endIdx + spec.endMarker.length };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Install (install=true) or remove (install=false) a block in the target file, idempotently.
|
|
85
|
+
* User content outside the markers is preserved.
|
|
86
|
+
*/
|
|
87
|
+
function applyBlock(spec, install, dryRun, targetPath) {
|
|
88
|
+
const current = readTargetFile(targetPath);
|
|
89
|
+
// Removal path — strip the marker pair and its content, collapsing the surrounding blank lines.
|
|
90
|
+
if (!install) {
|
|
91
|
+
if (current === null)
|
|
92
|
+
return 'absent';
|
|
93
|
+
const loc = locateBlock(current, spec);
|
|
94
|
+
if (!loc)
|
|
95
|
+
return 'absent';
|
|
96
|
+
const before = current.slice(0, loc.start).replace(/\n+$/, '\n');
|
|
97
|
+
const after = current.slice(loc.end).replace(/^\n+/, '');
|
|
98
|
+
let next = before + after;
|
|
99
|
+
if (next.length > 0 && !next.endsWith('\n'))
|
|
100
|
+
next += '\n';
|
|
41
101
|
if (!dryRun)
|
|
42
|
-
fs.writeFileSync(
|
|
43
|
-
return
|
|
102
|
+
fs.writeFileSync(targetPath, next, 'utf-8');
|
|
103
|
+
return 'removed';
|
|
104
|
+
}
|
|
105
|
+
// Install path.
|
|
106
|
+
const wrappedBlock = buildWrappedBlock(spec);
|
|
107
|
+
if (current === null) {
|
|
108
|
+
if (!dryRun) {
|
|
109
|
+
const targetDir = path.dirname(targetPath);
|
|
110
|
+
if (!fs.existsSync(targetDir))
|
|
111
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
112
|
+
fs.writeFileSync(targetPath, wrappedBlock + '\n', 'utf-8');
|
|
113
|
+
}
|
|
114
|
+
return 'created';
|
|
44
115
|
}
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
if (!startMatch) {
|
|
116
|
+
const loc = locateBlock(current, spec);
|
|
117
|
+
if (!loc) {
|
|
48
118
|
// No existing block — append.
|
|
49
119
|
const sep = current.endsWith('\n') ? '\n' : '\n\n';
|
|
50
120
|
const next = current + sep + wrappedBlock + '\n';
|
|
51
121
|
if (!dryRun)
|
|
52
|
-
fs.writeFileSync(
|
|
53
|
-
return
|
|
54
|
-
}
|
|
55
|
-
const startIdx = current.indexOf(startMatch[0]);
|
|
56
|
-
const endIdx = current.indexOf(BLOCK_END, startIdx);
|
|
57
|
-
if (endIdx === -1) {
|
|
58
|
-
throw new Error(`Found ${startMatch[0]} but no matching ${BLOCK_END} in ${CLAUDE_MD_PATH}. Fix manually or remove the start marker and re-run.`);
|
|
122
|
+
fs.writeFileSync(targetPath, next, 'utf-8');
|
|
123
|
+
return 'inserted';
|
|
59
124
|
}
|
|
60
|
-
const existingBlock = current.substring(
|
|
125
|
+
const existingBlock = current.substring(loc.start, loc.end);
|
|
61
126
|
if (existingBlock === wrappedBlock) {
|
|
62
|
-
return
|
|
127
|
+
return 'unchanged';
|
|
63
128
|
}
|
|
64
|
-
const next = current.substring(0,
|
|
129
|
+
const next = current.substring(0, loc.start) + wrappedBlock + current.substring(loc.end);
|
|
65
130
|
if (!dryRun)
|
|
66
|
-
fs.writeFileSync(
|
|
67
|
-
return
|
|
131
|
+
fs.writeFileSync(targetPath, next, 'utf-8');
|
|
132
|
+
return 'upgraded';
|
|
133
|
+
}
|
|
134
|
+
async function promptYesNo(question, defaultYes) {
|
|
135
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
136
|
+
try {
|
|
137
|
+
const answer = (await rl.question(question)).trim().toLowerCase();
|
|
138
|
+
if (answer === '')
|
|
139
|
+
return defaultYes;
|
|
140
|
+
return answer === 'y' || answer === 'yes';
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
rl.close();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Decide what to do with the optional restructure-on-sync rule.
|
|
148
|
+
* Returns true (install), false (remove/skip), or undefined (leave current state untouched).
|
|
149
|
+
*
|
|
150
|
+
* Precedence: explicit flags > interactive prompt > leave-as-is (non-TTY / dry-run).
|
|
151
|
+
*/
|
|
152
|
+
async function resolveRestructureChoice(options, alreadyInstalled) {
|
|
153
|
+
if (options.noRestructure)
|
|
154
|
+
return false;
|
|
155
|
+
if (options.withRestructure)
|
|
156
|
+
return true;
|
|
157
|
+
if (options.dryRun)
|
|
158
|
+
return undefined;
|
|
159
|
+
if (!process.stdin.isTTY)
|
|
160
|
+
return undefined;
|
|
161
|
+
console.log('');
|
|
162
|
+
console.log('Optional rule — "Restructure notes on sync":');
|
|
163
|
+
console.log(' When you sync a note that grew by accretion (bolt-on sections, duplicated');
|
|
164
|
+
console.log(' passages, a chronological patch-log), Claude first restructures it into one');
|
|
165
|
+
console.log(' coherent narrative led by the root cause — preserving diagrams, inventories,');
|
|
166
|
+
console.log(' and snippets — instead of pushing the sprawl as-is.');
|
|
167
|
+
console.log(' This rewrites note *body* text on sync (broader than /noesis-refine-note).');
|
|
168
|
+
const suffix = alreadyInstalled ? ' [Y/n] ' : ' [y/N] ';
|
|
169
|
+
return promptYesNo(`Install this optional rule?${suffix}`, alreadyInstalled);
|
|
68
170
|
}
|
|
171
|
+
// Commands a prior version installed that have since been renamed or retired.
|
|
172
|
+
// Any stale copy under ~/.claude/commands/ is deleted on setup so users don't
|
|
173
|
+
// end up with both the old and the new command. (installSkills only ever wrote
|
|
174
|
+
// files, so without this a rename orphans the old one.) The `signature` guards
|
|
175
|
+
// against nuking an unrelated user file that happens to share the basename —
|
|
176
|
+
// we only delete a file that still contains a string unique to our old skill.
|
|
177
|
+
const RETIRED_SKILLS = [
|
|
178
|
+
{ name: 'skim-read', signature: 'apply_note_skim_read' },
|
|
179
|
+
];
|
|
69
180
|
function installSkills(dryRun) {
|
|
70
181
|
if (!fs.existsSync(COMMANDS_DIR)) {
|
|
71
182
|
if (!dryRun)
|
|
72
183
|
fs.mkdirSync(COMMANDS_DIR, { recursive: true });
|
|
73
184
|
}
|
|
74
185
|
const scriptPath = path.join(SCRIPTS_DIR, 'noesis-sync.mjs').replace(/\\/g, '/');
|
|
186
|
+
const captureWatcherPath = path.join(SCRIPTS_DIR, 'noesis-capture-watcher.mjs').replace(/\\/g, '/');
|
|
75
187
|
const templates = fs.readdirSync(SKILL_TEMPLATES_DIR).filter((f) => f.endsWith('.md'));
|
|
76
188
|
const results = [];
|
|
77
189
|
for (const filename of templates) {
|
|
@@ -79,6 +191,7 @@ function installSkills(dryRun) {
|
|
|
79
191
|
const targetPath = path.join(COMMANDS_DIR, filename);
|
|
80
192
|
let content = fs.readFileSync(templatePath, 'utf-8');
|
|
81
193
|
content = content.replace(/\{\{NOESIS_MCP_SCRIPT_PATH\}\}/g, scriptPath);
|
|
194
|
+
content = content.replace(/\{\{NOESIS_CAPTURE_WATCHER_PATH\}\}/g, captureWatcherPath);
|
|
82
195
|
let action;
|
|
83
196
|
if (!fs.existsSync(targetPath)) {
|
|
84
197
|
action = 'created';
|
|
@@ -92,8 +205,166 @@ function installSkills(dryRun) {
|
|
|
92
205
|
}
|
|
93
206
|
results.push({ name: filename.replace(/\.md$/, ''), action, path: targetPath });
|
|
94
207
|
}
|
|
208
|
+
// Remove any retired command left behind by an earlier install (only if the
|
|
209
|
+
// file is still recognizably ours — see RETIRED_SKILLS).
|
|
210
|
+
for (const { name, signature } of RETIRED_SKILLS) {
|
|
211
|
+
const stalePath = path.join(COMMANDS_DIR, `${name}.md`);
|
|
212
|
+
if (fs.existsSync(stalePath) && fs.readFileSync(stalePath, 'utf-8').includes(signature)) {
|
|
213
|
+
if (!dryRun)
|
|
214
|
+
fs.unlinkSync(stalePath);
|
|
215
|
+
results.push({ name, action: 'removed', path: stalePath });
|
|
216
|
+
}
|
|
217
|
+
}
|
|
95
218
|
return results;
|
|
96
219
|
}
|
|
220
|
+
// ---------------------------------------------------------------------------
|
|
221
|
+
// Optional /noesis-capture SessionEnd hook (opt-in).
|
|
222
|
+
//
|
|
223
|
+
// Registers a SessionEnd hook in ~/.claude/settings.json so that when a capture
|
|
224
|
+
// controller session ends, its background watchers are marked stopped and killed.
|
|
225
|
+
// The /noesis-capture skill itself is always installed (it's a normal skill
|
|
226
|
+
// template); only this hook — which touches settings.json and runs on every
|
|
227
|
+
// session exit — is gated behind opt-in, mirroring the restructure-on-sync rule.
|
|
228
|
+
// ---------------------------------------------------------------------------
|
|
229
|
+
const CAPTURE_HOOK_MARKER = 'noesis-capture-session-end';
|
|
230
|
+
/** The exact command we register for the SessionEnd hook (packaged script). */
|
|
231
|
+
function captureHookCommand() {
|
|
232
|
+
const script = path.join(SCRIPTS_DIR, 'noesis-capture-session-end.mjs').replace(/\\/g, '/');
|
|
233
|
+
return `node "${script}"`;
|
|
234
|
+
}
|
|
235
|
+
/** A non-null, non-array object. */
|
|
236
|
+
function isPlainObject(v) {
|
|
237
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
238
|
+
}
|
|
239
|
+
/** Parse settings.json, or null if absent. Throws on malformed JSON (never clobber it). */
|
|
240
|
+
function readSettings() {
|
|
241
|
+
if (!fs.existsSync(SETTINGS_PATH))
|
|
242
|
+
return null;
|
|
243
|
+
try {
|
|
244
|
+
return JSON.parse(fs.readFileSync(SETTINGS_PATH, 'utf-8'));
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
throw new Error(`Could not parse ${SETTINGS_PATH} as JSON. Fix it manually and re-run.`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/** Whether any SessionEnd hook command is ours. */
|
|
251
|
+
function settingsHasCaptureHook(settings) {
|
|
252
|
+
const arr = settings?.hooks?.SessionEnd;
|
|
253
|
+
if (!Array.isArray(arr))
|
|
254
|
+
return false;
|
|
255
|
+
return arr.some((e) => Array.isArray(e?.hooks) &&
|
|
256
|
+
e.hooks.some((h) => typeof h?.command === 'string' && h.command.includes(CAPTURE_HOOK_MARKER)));
|
|
257
|
+
}
|
|
258
|
+
/** Tolerant presence check for the interactive prompt default (never throws). */
|
|
259
|
+
function captureHookInstalled() {
|
|
260
|
+
try {
|
|
261
|
+
const s = readSettings();
|
|
262
|
+
return s !== null && settingsHasCaptureHook(s);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Install or remove the capture SessionEnd hook in settings.json, idempotently.
|
|
270
|
+
* Other hooks and settings are preserved. Returns the action taken.
|
|
271
|
+
*/
|
|
272
|
+
function registerCaptureHook(install, dryRun) {
|
|
273
|
+
let settings = readSettings();
|
|
274
|
+
const existed = settings !== null;
|
|
275
|
+
const command = captureHookCommand();
|
|
276
|
+
// Removal path.
|
|
277
|
+
if (!install) {
|
|
278
|
+
if (!settings || !settingsHasCaptureHook(settings))
|
|
279
|
+
return 'absent';
|
|
280
|
+
const arr = settings.hooks.SessionEnd;
|
|
281
|
+
settings.hooks.SessionEnd = arr
|
|
282
|
+
.map((e) => {
|
|
283
|
+
if (Array.isArray(e?.hooks)) {
|
|
284
|
+
e.hooks = e.hooks.filter((h) => !(typeof h?.command === 'string' && h.command.includes(CAPTURE_HOOK_MARKER)));
|
|
285
|
+
}
|
|
286
|
+
return e;
|
|
287
|
+
})
|
|
288
|
+
.filter((e) => !Array.isArray(e?.hooks) || e.hooks.length > 0);
|
|
289
|
+
if (settings.hooks.SessionEnd.length === 0)
|
|
290
|
+
delete settings.hooks.SessionEnd;
|
|
291
|
+
if (settings.hooks && Object.keys(settings.hooks).length === 0)
|
|
292
|
+
delete settings.hooks;
|
|
293
|
+
if (!dryRun)
|
|
294
|
+
fs.writeFileSync(SETTINGS_PATH, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
|
|
295
|
+
return 'removed';
|
|
296
|
+
}
|
|
297
|
+
// Install path. Refuse to touch a settings.json with an unexpected shape rather
|
|
298
|
+
// than silently discarding data or reporting a write that JSON.stringify drops
|
|
299
|
+
// (e.g. a named prop set on an array).
|
|
300
|
+
if (!settings)
|
|
301
|
+
settings = {};
|
|
302
|
+
if (!isPlainObject(settings)) {
|
|
303
|
+
throw new Error(`Unexpected JSON root in ${SETTINGS_PATH} (expected an object). Fix it manually and re-run.`);
|
|
304
|
+
}
|
|
305
|
+
if (settings.hooks == null) {
|
|
306
|
+
settings.hooks = {};
|
|
307
|
+
}
|
|
308
|
+
else if (!isPlainObject(settings.hooks)) {
|
|
309
|
+
throw new Error(`"hooks" in ${SETTINGS_PATH} is not an object. Fix it manually and re-run.`);
|
|
310
|
+
}
|
|
311
|
+
if (settings.hooks.SessionEnd == null) {
|
|
312
|
+
settings.hooks.SessionEnd = [];
|
|
313
|
+
}
|
|
314
|
+
else if (!Array.isArray(settings.hooks.SessionEnd)) {
|
|
315
|
+
throw new Error(`"hooks.SessionEnd" in ${SETTINGS_PATH} is not an array. Fix it manually and re-run.`);
|
|
316
|
+
}
|
|
317
|
+
const arr = settings.hooks.SessionEnd;
|
|
318
|
+
let found = false;
|
|
319
|
+
let changed = false;
|
|
320
|
+
for (const e of arr) {
|
|
321
|
+
if (!Array.isArray(e?.hooks))
|
|
322
|
+
continue;
|
|
323
|
+
for (const h of e.hooks) {
|
|
324
|
+
if (typeof h?.command === 'string' && h.command.includes(CAPTURE_HOOK_MARKER)) {
|
|
325
|
+
found = true;
|
|
326
|
+
if (h.command !== command) {
|
|
327
|
+
h.command = command; // upgrade a stale path (e.g. package moved)
|
|
328
|
+
changed = true;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
if (!found) {
|
|
334
|
+
arr.push({ matcher: '', hooks: [{ type: 'command', command }] });
|
|
335
|
+
}
|
|
336
|
+
if (found && !changed)
|
|
337
|
+
return 'unchanged';
|
|
338
|
+
if (!dryRun) {
|
|
339
|
+
if (!fs.existsSync(CLAUDE_DIR))
|
|
340
|
+
fs.mkdirSync(CLAUDE_DIR, { recursive: true });
|
|
341
|
+
fs.writeFileSync(SETTINGS_PATH, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
|
|
342
|
+
}
|
|
343
|
+
return existed ? (found ? 'upgraded' : 'inserted') : 'created';
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Decide what to do with the optional capture SessionEnd hook.
|
|
347
|
+
* Returns true (install), false (remove/skip), or undefined (leave current state).
|
|
348
|
+
* Precedence: explicit flags > interactive prompt > leave-as-is (non-TTY / dry-run).
|
|
349
|
+
*/
|
|
350
|
+
async function resolveCaptureChoice(options, alreadyInstalled) {
|
|
351
|
+
if (options.noCapture)
|
|
352
|
+
return false;
|
|
353
|
+
if (options.withCapture)
|
|
354
|
+
return true;
|
|
355
|
+
if (options.dryRun)
|
|
356
|
+
return undefined;
|
|
357
|
+
if (!process.stdin.isTTY)
|
|
358
|
+
return undefined;
|
|
359
|
+
console.log('');
|
|
360
|
+
console.log('Optional feature — "/noesis-capture" session-capture auto-cleanup:');
|
|
361
|
+
console.log(' The /noesis-capture skill mirrors live Claude Code sessions into Noesis notes.');
|
|
362
|
+
console.log(' This optional SessionEnd hook auto-stops a capture\'s background watchers when');
|
|
363
|
+
console.log(' the controller session ends (otherwise you run "/noesis-capture stop" yourself).');
|
|
364
|
+
console.log(' It adds a fast, fail-safe hook to ~/.claude/settings.json that runs on session exit.');
|
|
365
|
+
const suffix = alreadyInstalled ? ' [Y/n] ' : ' [y/N] ';
|
|
366
|
+
return promptYesNo(`Install this optional hook?${suffix}`, alreadyInstalled);
|
|
367
|
+
}
|
|
97
368
|
function printMcpRegistrationHint() {
|
|
98
369
|
// Resolve the absolute path to the running MCP server entry.
|
|
99
370
|
const entry = path.join(PACKAGE_ROOT, 'dist', 'index.js').replace(/\\/g, '/');
|
|
@@ -114,16 +385,60 @@ function printMcpRegistrationHint() {
|
|
|
114
385
|
console.log('After that, restart Claude Code so the new system prompt and MCP server load.');
|
|
115
386
|
console.log('');
|
|
116
387
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
388
|
+
/**
|
|
389
|
+
* Registration hint for VS Code Copilot. Unlike `claude mcp add`, Copilot has no
|
|
390
|
+
* CLI for this — it's a JSON file edited via the Command Palette. The root key is
|
|
391
|
+
* "servers" (not "mcpServers" like Claude/Cursor), and secrets go through an
|
|
392
|
+
* "inputs" promptString reference rather than a literal value in the file.
|
|
393
|
+
*/
|
|
394
|
+
function printCopilotMcpRegistrationHint() {
|
|
395
|
+
const entry = path.join(PACKAGE_ROOT, 'dist', 'index.js').replace(/\\/g, '/');
|
|
396
|
+
console.log('');
|
|
397
|
+
console.log('───────────────────────────────────────────────────────────────');
|
|
398
|
+
console.log('Final step: register the Noesis MCP server with Copilot.');
|
|
399
|
+
console.log('───────────────────────────────────────────────────────────────');
|
|
400
|
+
console.log('');
|
|
401
|
+
console.log('In VS Code, open the Command Palette → "MCP: Open User Configuration"');
|
|
402
|
+
console.log('(or "MCP: Add Server" for a guided flow), and add:');
|
|
403
|
+
console.log('');
|
|
404
|
+
console.log(' {');
|
|
405
|
+
console.log(' "inputs": [');
|
|
406
|
+
console.log(' { "type": "promptString", "id": "noesis-token", "description": "Noesis API Token", "password": true }');
|
|
407
|
+
console.log(' ],');
|
|
408
|
+
console.log(' "servers": {');
|
|
409
|
+
console.log(' "noesis": {');
|
|
410
|
+
console.log(' "type": "stdio",');
|
|
411
|
+
console.log(' "command": "node",');
|
|
412
|
+
console.log(` "args": ["${entry}"],`);
|
|
413
|
+
console.log(' "env": {');
|
|
414
|
+
console.log(' "NOESIS_API_TOKEN": "${input:noesis-token}",');
|
|
415
|
+
console.log(' "NOESIS_API_URL": "https://noesisbrain.com"');
|
|
416
|
+
console.log(' }');
|
|
417
|
+
console.log(' }');
|
|
418
|
+
console.log(' }');
|
|
419
|
+
console.log(' }');
|
|
420
|
+
console.log('');
|
|
421
|
+
console.log('VS Code will prompt for the token on first use and store it securely.');
|
|
422
|
+
console.log('');
|
|
423
|
+
}
|
|
424
|
+
async function runClaudeSetup(options) {
|
|
121
425
|
console.log(` CLAUDE.md target: ${CLAUDE_MD_PATH}`);
|
|
122
426
|
console.log(` Commands target: ${COMMANDS_DIR}`);
|
|
123
427
|
console.log('');
|
|
124
428
|
if (!options.skillsOnly) {
|
|
125
|
-
const
|
|
126
|
-
console.log(` CLAUDE.md: ${
|
|
429
|
+
const coreAction = applyBlock(CORE_BLOCK, true, options.dryRun, CLAUDE_MD_PATH);
|
|
430
|
+
console.log(` CLAUDE.md: ${coreAction}`);
|
|
431
|
+
// Optional opt-in rule. State is persisted as the block's presence in CLAUDE.md,
|
|
432
|
+
// so re-runs default the prompt to the current state and never lose the user's choice.
|
|
433
|
+
const alreadyInstalled = blockExists(RESTRUCTURE_BLOCK, CLAUDE_MD_PATH);
|
|
434
|
+
const choice = await resolveRestructureChoice(options, alreadyInstalled);
|
|
435
|
+
if (choice === undefined) {
|
|
436
|
+
console.log(` Restructure-on-sync rule: ${alreadyInstalled ? 'kept (installed)' : 'not installed'}`);
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
const action = applyBlock(RESTRUCTURE_BLOCK, choice, options.dryRun, CLAUDE_MD_PATH);
|
|
440
|
+
console.log(` Restructure-on-sync rule: ${action}`);
|
|
441
|
+
}
|
|
127
442
|
}
|
|
128
443
|
else {
|
|
129
444
|
console.log(' CLAUDE.md: skipped (--skills-only)');
|
|
@@ -133,6 +448,18 @@ export async function runSetup(argv) {
|
|
|
133
448
|
for (const r of skillResults) {
|
|
134
449
|
console.log(` Skill /${r.name}: ${r.action}`);
|
|
135
450
|
}
|
|
451
|
+
// Optional opt-in SessionEnd hook for /noesis-capture. State is persisted as
|
|
452
|
+
// the hook's presence in settings.json, so re-runs default the prompt to the
|
|
453
|
+
// current state and never lose the user's choice.
|
|
454
|
+
const captureAlready = captureHookInstalled();
|
|
455
|
+
const captureChoice = await resolveCaptureChoice(options, captureAlready);
|
|
456
|
+
if (captureChoice === undefined) {
|
|
457
|
+
console.log(` Capture SessionEnd hook: ${captureAlready ? 'kept (installed)' : 'not installed'}`);
|
|
458
|
+
}
|
|
459
|
+
else {
|
|
460
|
+
const action = registerCaptureHook(captureChoice, options.dryRun);
|
|
461
|
+
console.log(` Capture SessionEnd hook: ${action}`);
|
|
462
|
+
}
|
|
136
463
|
}
|
|
137
464
|
else {
|
|
138
465
|
console.log(' Skills: skipped (--claude-md-only)');
|
|
@@ -145,4 +472,51 @@ export async function runSetup(argv) {
|
|
|
145
472
|
console.log('Dry-run complete. Re-run without --dry-run to apply.');
|
|
146
473
|
}
|
|
147
474
|
}
|
|
475
|
+
/**
|
|
476
|
+
* Copilot support is instructions-only: it installs the same portable conventions
|
|
477
|
+
* blocks into a per-repo .github/copilot-instructions.md instead of the global
|
|
478
|
+
* ~/.claude/CLAUDE.md. Skills (slash-commands) and the capture SessionEnd hook are
|
|
479
|
+
* Claude-Code-specific mechanisms with no Copilot analog, so they're not offered here.
|
|
480
|
+
*/
|
|
481
|
+
async function runCopilotSetup(options) {
|
|
482
|
+
if (options.skillsOnly || options.claudeMdOnly) {
|
|
483
|
+
throw new Error('--skills-only and --claude-md-only are not applicable with --client=copilot: ' +
|
|
484
|
+
'Copilot setup only installs the conventions blocks (no skills/commands exist for Copilot yet).');
|
|
485
|
+
}
|
|
486
|
+
console.log(` Instructions target: ${COPILOT_INSTRUCTIONS_PATH}`);
|
|
487
|
+
console.log('');
|
|
488
|
+
const coreAction = applyBlock(CORE_BLOCK, true, options.dryRun, COPILOT_INSTRUCTIONS_PATH);
|
|
489
|
+
console.log(` copilot-instructions.md: ${coreAction}`);
|
|
490
|
+
const alreadyInstalled = blockExists(RESTRUCTURE_BLOCK, COPILOT_INSTRUCTIONS_PATH);
|
|
491
|
+
const choice = await resolveRestructureChoice(options, alreadyInstalled);
|
|
492
|
+
if (choice === undefined) {
|
|
493
|
+
console.log(` Restructure-on-sync rule: ${alreadyInstalled ? 'kept (installed)' : 'not installed'}`);
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
const action = applyBlock(RESTRUCTURE_BLOCK, choice, options.dryRun, COPILOT_INSTRUCTIONS_PATH);
|
|
497
|
+
console.log(` Restructure-on-sync rule: ${action}`);
|
|
498
|
+
}
|
|
499
|
+
console.log('');
|
|
500
|
+
console.log('Note: .github/copilot-instructions.md is typically committed to the repo so');
|
|
501
|
+
console.log('teammates share these conventions in Copilot Chat — unlike the personal, global');
|
|
502
|
+
console.log('~/.claude/CLAUDE.md used for Claude Code.');
|
|
503
|
+
if (!options.dryRun) {
|
|
504
|
+
printCopilotMcpRegistrationHint();
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
console.log('');
|
|
508
|
+
console.log('Dry-run complete. Re-run without --dry-run to apply.');
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
export async function runSetup(argv) {
|
|
512
|
+
const options = parseArgs(argv);
|
|
513
|
+
const note = options.dryRun ? ' (dry-run)' : '';
|
|
514
|
+
console.log(`noesis-mcp setup${note} [--client=${options.client}]`);
|
|
515
|
+
if (options.client === 'copilot') {
|
|
516
|
+
await runCopilotSetup(options);
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
await runClaudeSetup(options);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
148
522
|
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,2DAA2D;AAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AACvE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACvD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAE7D,+EAA+E;AAC/E,oFAAoF;AACpF,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAkBjG,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,UAAU,GAAc;IAC5B,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,gCAAgC,kBAAkB,MAAM;IACrE,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,uCAAuC;CACjD,CAAC;AAEF,uEAAuE;AACvE,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAc;IACnC,YAAY,EAAE,kCAAkC;IAChD,WAAW,EAAE,oDAAoD,yBAAyB,MAAM;IAChG,SAAS,EAAE,oDAAoD;IAC/D,OAAO,EAAE,2DAA2D;CACrE,CAAC;AAeF,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,qCAAqC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO;QACL,MAAM;QACN,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC1C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACzD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACrD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;KACzC,CAAC;AACJ,CAAC;AAID,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,IAAe,EAAE,UAAkB;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAe;IACxC,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACrG,OAAO,GAAG,IAAI,CAAC,WAAW,KAAK,YAAY,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;AACnE,CAAC;AAED,iHAAiH;AACjH,SAAS,WAAW,CAAC,OAAe,EAAE,IAAe;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,SAAS,OAAO,cAAc,uDAAuD,CAAC,CAAC;IACxJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAe,EAAE,OAAgB,EAAE,MAAe,EAAE,UAAkB;IACxF,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3C,gGAAgG;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC;QACtC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,8BAA8B;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzF,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAmB;IAC9D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,UAAU,CAAC;QACrC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CAAC,OAAqB,EAAE,gBAAyB;IACtF,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,OAAO,WAAW,CAAC,8BAA8B,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,cAAc,GAA+C;IACjE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE;CACzD,CAAC;AAQF,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;QACzE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,kBAAkB,CAAC,CAAC;QAEtF,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,4EAA4E;IAC5E,yDAAyD;IACzD,KAAK,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,MAAM;gBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,4EAA4E;AAC5E,4EAA4E;AAC5E,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEzD,+EAA+E;AAC/E,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5F,OAAO,SAAS,MAAM,GAAG,CAAC;AAC5B,CAAC;AAED,oCAAoC;AACpC,SAAS,aAAa,CAAC,CAAM;IAC3B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,2FAA2F;AAC3F,SAAS,YAAY;IACnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,aAAa,uCAAuC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,SAAS,sBAAsB,CAAC,QAAa;IAC3C,MAAM,GAAG,GAAG,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,GAAG,CAAC,IAAI,CACb,CAAC,CAAM,EAAE,EAAE,CACT,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CACtG,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,IAAI,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,OAAgB,EAAE,MAAe;IAC5D,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,gBAAgB;IAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAmB,CAAC;QAC/C,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CACzF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7E,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gFAAgF;IAChF,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,oDAAoD,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,cAAc,aAAa,gDAAgD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;IACjC,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,yBAAyB,aAAa,+CAA+C,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAmB,CAAC;IAE/C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS;QACvC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC9E,KAAK,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC1B,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,4CAA4C;oBACjE,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAqB,EAAE,gBAAyB;IAClF,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,OAAO,WAAW,CAAC,8BAA8B,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,wBAAwB;IAC/B,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,+BAA+B;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,6GAA6G,CAAC,CAAC;IAC3H,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAqB;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAE1C,iFAAiF;QACjF,uFAAuF;QACvF,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,wBAAwB,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,OAAqB;IAClD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,+EAA+E;YAC7E,gGAAgG,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,yBAAyB,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAExD,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACxG,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAEzD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,+BAA+B,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,cAAc,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -79,7 +79,31 @@ async function main() {
|
|
|
79
79
|
const subcommand = process.argv[2];
|
|
80
80
|
if (subcommand === 'setup' || subcommand === 'upgrade') {
|
|
81
81
|
const { runSetup } = await import('./cli/setup.js');
|
|
82
|
-
|
|
82
|
+
try {
|
|
83
|
+
await runSetup(process.argv.slice(3));
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
console.error(`\nnoesis-mcp setup failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// `noesis-mcp agent` runs the Local Agent daemon (ai_mode = claude-subscription):
|
|
92
|
+
// it polls the Noesis agent-job queue and runs jobs on your own Claude subscription.
|
|
93
|
+
if (subcommand === 'agent') {
|
|
94
|
+
const { runAgentDaemon, resolveAgentConfig } = await import('./agent/runner.js');
|
|
95
|
+
try {
|
|
96
|
+
const cfg = resolveAgentConfig();
|
|
97
|
+
const controller = new AbortController();
|
|
98
|
+
for (const sig of ['SIGINT', 'SIGTERM']) {
|
|
99
|
+
process.on(sig, () => { console.error(`\n[noesis-agent] ${sig} — shutting down`); controller.abort(); });
|
|
100
|
+
}
|
|
101
|
+
await runAgentDaemon(cfg, controller.signal);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
console.error(`\nnoesis-mcp agent failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
83
107
|
return;
|
|
84
108
|
}
|
|
85
109
|
// Get API configuration
|
|
@@ -96,6 +120,12 @@ async function main() {
|
|
|
96
120
|
}
|
|
97
121
|
// Initialize API client (replaces direct database access)
|
|
98
122
|
const client = new NoesisClient(apiBaseUrl, apiToken);
|
|
123
|
+
// Phase 50: fire-and-forget device-home report. Lets the web UI resolve
|
|
124
|
+
// stored `~/Noesis/...` paths to this machine's absolute form for display.
|
|
125
|
+
// Failures (offline, server down) just leave the cache as-is; next startup retries.
|
|
126
|
+
client.reportDeviceHomeDir().catch((err) => {
|
|
127
|
+
console.error(`[noesis-mcp] reportDeviceHomeDir failed (non-fatal): ${err?.message || err}`);
|
|
128
|
+
});
|
|
99
129
|
// Create MCP server
|
|
100
130
|
const server = new McpServer({
|
|
101
131
|
name: 'noesis',
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oCAAoC;AACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAC5D,0DAA0D;AAC1D,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AAE/D;;GAEG;AACH,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE9C,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,6FAA6F;IAC7F,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|