@zhijiewang/openharness 0.5.0 → 0.6.0
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 +1 -5
- package/dist/commands/cybergotchi.d.ts.map +1 -1
- package/dist/commands/cybergotchi.js +22 -19
- package/dist/commands/cybergotchi.js.map +1 -1
- package/dist/components/App.d.ts +1 -1
- package/dist/components/App.d.ts.map +1 -1
- package/dist/components/App.js +58 -2
- package/dist/components/App.js.map +1 -1
- package/dist/components/CompanionFooter.d.ts +9 -0
- package/dist/components/CompanionFooter.d.ts.map +1 -0
- package/dist/components/CompanionFooter.js +13 -0
- package/dist/components/CompanionFooter.js.map +1 -0
- package/dist/components/CybergotchiBubble.d.ts +2 -1
- package/dist/components/CybergotchiBubble.d.ts.map +1 -1
- package/dist/components/CybergotchiBubble.js +4 -5
- package/dist/components/CybergotchiBubble.js.map +1 -1
- package/dist/components/CybergotchiPanel.d.ts +5 -4
- package/dist/components/CybergotchiPanel.d.ts.map +1 -1
- package/dist/components/CybergotchiPanel.js +4 -2
- package/dist/components/CybergotchiPanel.js.map +1 -1
- package/dist/components/CybergotchiPanelConnected.js +4 -4
- package/dist/components/CybergotchiPanelConnected.js.map +1 -1
- package/dist/components/CybergotchiSetup.d.ts.map +1 -1
- package/dist/components/CybergotchiSetup.js +25 -61
- package/dist/components/CybergotchiSetup.js.map +1 -1
- package/dist/components/CybergotchiSprite.d.ts +5 -4
- package/dist/components/CybergotchiSprite.d.ts.map +1 -1
- package/dist/components/CybergotchiSprite.js +16 -9
- package/dist/components/CybergotchiSprite.js.map +1 -1
- package/dist/components/DiffView.d.ts +27 -0
- package/dist/components/DiffView.d.ts.map +1 -0
- package/dist/components/DiffView.js +74 -0
- package/dist/components/DiffView.js.map +1 -0
- package/dist/components/Messages.js +1 -1
- package/dist/components/Messages.js.map +1 -1
- package/dist/components/PermissionPrompt.d.ts.map +1 -1
- package/dist/components/PermissionPrompt.js +61 -8
- package/dist/components/PermissionPrompt.js.map +1 -1
- package/dist/components/REPL.d.ts.map +1 -1
- package/dist/components/REPL.js +75 -21
- package/dist/components/REPL.js.map +1 -1
- package/dist/components/TextInput.d.ts +2 -1
- package/dist/components/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput.js +110 -6
- package/dist/components/TextInput.js.map +1 -1
- package/dist/cybergotchi/bones.d.ts +12 -0
- package/dist/cybergotchi/bones.d.ts.map +1 -0
- package/dist/cybergotchi/bones.js +89 -0
- package/dist/cybergotchi/bones.js.map +1 -0
- package/dist/cybergotchi/config.d.ts +14 -4
- package/dist/cybergotchi/config.d.ts.map +1 -1
- package/dist/cybergotchi/config.js +62 -9
- package/dist/cybergotchi/config.js.map +1 -1
- package/dist/cybergotchi/needs.d.ts +4 -4
- package/dist/cybergotchi/needs.d.ts.map +1 -1
- package/dist/cybergotchi/needs.js.map +1 -1
- package/dist/cybergotchi/personality.d.ts +11 -0
- package/dist/cybergotchi/personality.d.ts.map +1 -0
- package/dist/cybergotchi/personality.js +26 -0
- package/dist/cybergotchi/personality.js.map +1 -0
- package/dist/cybergotchi/species.d.ts +0 -1
- package/dist/cybergotchi/species.d.ts.map +1 -1
- package/dist/cybergotchi/species.js +253 -229
- package/dist/cybergotchi/species.js.map +1 -1
- package/dist/cybergotchi/types.d.ts +45 -7
- package/dist/cybergotchi/types.d.ts.map +1 -1
- package/dist/cybergotchi/types.js +36 -5
- package/dist/cybergotchi/types.js.map +1 -1
- package/dist/cybergotchi/useCybergotchi.d.ts +7 -5
- package/dist/cybergotchi/useCybergotchi.d.ts.map +1 -1
- package/dist/cybergotchi/useCybergotchi.js +27 -16
- package/dist/cybergotchi/useCybergotchi.js.map +1 -1
- package/dist/git/index.d.ts +9 -0
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +31 -0
- package/dist/git/index.js.map +1 -1
- package/dist/harness/config.d.ts +5 -0
- package/dist/harness/config.d.ts.map +1 -1
- package/dist/harness/config.js.map +1 -1
- package/dist/harness/credentials.d.ts +24 -0
- package/dist/harness/credentials.d.ts.map +1 -0
- package/dist/harness/credentials.js +104 -0
- package/dist/harness/credentials.js.map +1 -0
- package/dist/harness/hooks.d.ts +8 -0
- package/dist/harness/hooks.d.ts.map +1 -1
- package/dist/harness/hooks.js +98 -22
- package/dist/harness/hooks.js.map +1 -1
- package/dist/harness/keybindings.d.ts +37 -0
- package/dist/harness/keybindings.d.ts.map +1 -0
- package/dist/harness/keybindings.js +134 -0
- package/dist/harness/keybindings.js.map +1 -0
- package/dist/harness/memory.d.ts +35 -0
- package/dist/harness/memory.d.ts.map +1 -0
- package/dist/harness/memory.js +115 -0
- package/dist/harness/memory.js.map +1 -0
- package/dist/harness/plugins.d.ts +57 -0
- package/dist/harness/plugins.d.ts.map +1 -0
- package/dist/harness/plugins.js +142 -0
- package/dist/harness/plugins.js.map +1 -0
- package/dist/harness/session.d.ts +5 -0
- package/dist/harness/session.d.ts.map +1 -1
- package/dist/harness/session.js +39 -1
- package/dist/harness/session.js.map +1 -1
- package/dist/lsp/client.d.ts +58 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +174 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/main.js +161 -1
- package/dist/main.js.map +1 -1
- package/dist/mcp/DeferredMcpTool.d.ts +30 -0
- package/dist/mcp/DeferredMcpTool.d.ts.map +1 -0
- package/dist/mcp/DeferredMcpTool.js +75 -0
- package/dist/mcp/DeferredMcpTool.js.map +1 -0
- package/dist/mcp/client.d.ts +7 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +56 -8
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/loader.d.ts +9 -0
- package/dist/mcp/loader.d.ts.map +1 -1
- package/dist/mcp/loader.js +43 -2
- package/dist/mcp/loader.js.map +1 -1
- package/dist/mcp/schema.d.ts +7 -0
- package/dist/mcp/schema.d.ts.map +1 -0
- package/dist/mcp/schema.js +41 -0
- package/dist/mcp/schema.js.map +1 -0
- package/dist/mcp/server.d.ts +16 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +94 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/base.d.ts +15 -0
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js +13 -1
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +91 -14
- package/dist/query.js.map +1 -1
- package/dist/remote/server.d.ts +31 -0
- package/dist/remote/server.d.ts.map +1 -0
- package/dist/remote/server.js +163 -0
- package/dist/remote/server.js.map +1 -0
- package/dist/services/AgentDispatcher.d.ts +42 -0
- package/dist/services/AgentDispatcher.d.ts.map +1 -0
- package/dist/services/AgentDispatcher.js +181 -0
- package/dist/services/AgentDispatcher.js.map +1 -0
- package/dist/services/StreamingToolExecutor.d.ts +2 -1
- package/dist/services/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/services/StreamingToolExecutor.js +11 -2
- package/dist/services/StreamingToolExecutor.js.map +1 -1
- package/dist/tools/AgentTool/index.d.ts +3 -0
- package/dist/tools/AgentTool/index.d.ts.map +1 -1
- package/dist/tools/AgentTool/index.js +54 -16
- package/dist/tools/AgentTool/index.js.map +1 -1
- package/dist/tools/DiagnosticsTool/index.d.ts +21 -0
- package/dist/tools/DiagnosticsTool/index.d.ts.map +1 -0
- package/dist/tools/DiagnosticsTool/index.js +108 -0
- package/dist/tools/DiagnosticsTool/index.js.map +1 -0
- package/dist/tools/GrepTool/index.d.ts +2 -2
- package/dist/tools/ParallelAgentTool/index.d.ts +37 -0
- package/dist/tools/ParallelAgentTool/index.d.ts.map +1 -0
- package/dist/tools/ParallelAgentTool/index.js +53 -0
- package/dist/tools/ParallelAgentTool/index.js.map +1 -0
- package/dist/tools/SkillTool/index.d.ts.map +1 -1
- package/dist/tools/SkillTool/index.js +22 -27
- package/dist/tools/SkillTool/index.js.map +1 -1
- package/dist/tools/ToolSearchTool/index.d.ts +15 -0
- package/dist/tools/ToolSearchTool/index.d.ts.map +1 -0
- package/dist/tools/ToolSearchTool/index.js +50 -0
- package/dist/tools/ToolSearchTool/index.js.map +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +9 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/message.d.ts +2 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js +3 -0
- package/dist/types/message.js.map +1 -1
- package/dist/types/permissions.d.ts +2 -0
- package/dist/types/permissions.d.ts.map +1 -1
- package/dist/types/permissions.js +30 -0
- package/dist/types/permissions.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -13,7 +13,7 @@ import { emitHook } from "./harness/hooks.js";
|
|
|
13
13
|
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
14
14
|
import { homedir } from "node:os";
|
|
15
15
|
import { join } from "node:path";
|
|
16
|
-
const VERSION = "0.5.
|
|
16
|
+
const VERSION = "0.5.1";
|
|
17
17
|
const BANNER = ` ___
|
|
18
18
|
/ \\
|
|
19
19
|
( ) ___ ___ ___ _ _ _ _ _ ___ _ _ ___ ___ ___
|
|
@@ -427,6 +427,166 @@ program
|
|
|
427
427
|
}
|
|
428
428
|
console.log();
|
|
429
429
|
});
|
|
430
|
+
// ── remote ──
|
|
431
|
+
program
|
|
432
|
+
.command("remote")
|
|
433
|
+
.description("Start a remote agent server (HTTP + WebSocket for dispatch and channels)")
|
|
434
|
+
.option("-p, --port <port>", "Port to listen on", "3141")
|
|
435
|
+
.option("-m, --model <model>", "Model to use")
|
|
436
|
+
.action(async (opts) => {
|
|
437
|
+
const port = parseInt(opts.port);
|
|
438
|
+
const savedConfig = readOhConfig();
|
|
439
|
+
const { createProvider } = await import("./providers/index.js");
|
|
440
|
+
const effectiveModel = opts.model ?? savedConfig?.model;
|
|
441
|
+
const overrides = {};
|
|
442
|
+
if (savedConfig?.apiKey)
|
|
443
|
+
overrides.apiKey = savedConfig.apiKey;
|
|
444
|
+
if (savedConfig?.baseUrl)
|
|
445
|
+
overrides.baseUrl = savedConfig.baseUrl;
|
|
446
|
+
const { provider, model } = await createProvider(effectiveModel, Object.keys(overrides).length ? overrides : undefined);
|
|
447
|
+
const tools = getAllTools();
|
|
448
|
+
const systemPrompt = buildSystemPrompt();
|
|
449
|
+
const { RemoteServer } = await import("./remote/server.js");
|
|
450
|
+
const server = new RemoteServer({
|
|
451
|
+
port,
|
|
452
|
+
provider,
|
|
453
|
+
tools,
|
|
454
|
+
systemPrompt,
|
|
455
|
+
permissionMode: "trust",
|
|
456
|
+
model,
|
|
457
|
+
});
|
|
458
|
+
await server.start();
|
|
459
|
+
// Keep alive
|
|
460
|
+
process.on('SIGINT', () => { server.stop(); process.exit(0); });
|
|
461
|
+
});
|
|
462
|
+
// ── auth ──
|
|
463
|
+
program
|
|
464
|
+
.command("auth")
|
|
465
|
+
.description("Manage API key credentials")
|
|
466
|
+
.argument("<action>", "login | logout | status")
|
|
467
|
+
.argument("[provider]", "Provider name (anthropic, openai, openrouter)")
|
|
468
|
+
.action(async (action, providerName) => {
|
|
469
|
+
const { setCredential, deleteCredential, listCredentials, getCredential } = await import("./harness/credentials.js");
|
|
470
|
+
if (action === "status") {
|
|
471
|
+
const keys = listCredentials();
|
|
472
|
+
if (keys.length === 0) {
|
|
473
|
+
console.log(" No stored credentials. API keys come from environment variables or config.yaml.");
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
console.log("\n Stored credentials:");
|
|
477
|
+
for (const k of keys) {
|
|
478
|
+
const val = getCredential(k);
|
|
479
|
+
console.log(` ${k}: ${val ? '****' + val.slice(-4) : '(empty)'}`);
|
|
480
|
+
}
|
|
481
|
+
console.log();
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
if (action === "login") {
|
|
485
|
+
if (!providerName) {
|
|
486
|
+
console.error(" Usage: oh auth login <provider>");
|
|
487
|
+
process.exit(1);
|
|
488
|
+
}
|
|
489
|
+
// Read key from stdin
|
|
490
|
+
process.stdout.write(` Enter API key for ${providerName}: `);
|
|
491
|
+
const chunks = [];
|
|
492
|
+
for await (const chunk of process.stdin) {
|
|
493
|
+
chunks.push(chunk);
|
|
494
|
+
break;
|
|
495
|
+
}
|
|
496
|
+
const key = Buffer.concat(chunks).toString("utf-8").trim();
|
|
497
|
+
if (!key) {
|
|
498
|
+
console.error(" No key provided.");
|
|
499
|
+
process.exit(1);
|
|
500
|
+
}
|
|
501
|
+
setCredential(`${providerName}-api-key`, key);
|
|
502
|
+
console.log(` ✓ API key saved securely for ${providerName}`);
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
if (action === "logout") {
|
|
506
|
+
if (!providerName) {
|
|
507
|
+
console.error(" Usage: oh auth logout <provider>");
|
|
508
|
+
process.exit(1);
|
|
509
|
+
}
|
|
510
|
+
deleteCredential(`${providerName}-api-key`);
|
|
511
|
+
console.log(` ✓ API key removed for ${providerName}`);
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
console.error(` Unknown action: ${action}. Use: login, logout, status`);
|
|
515
|
+
});
|
|
516
|
+
// ── serve (MCP server) ──
|
|
517
|
+
program
|
|
518
|
+
.command("serve")
|
|
519
|
+
.description("Run as an MCP server over stdio (other tools can connect to use openHarness tools)")
|
|
520
|
+
.action(async () => {
|
|
521
|
+
const { McpServer } = await import("./mcp/server.js");
|
|
522
|
+
const tools = getAllTools();
|
|
523
|
+
const context = { workingDir: process.cwd() };
|
|
524
|
+
const server = new McpServer(tools, context);
|
|
525
|
+
server.start();
|
|
526
|
+
});
|
|
527
|
+
// ── schedule ──
|
|
528
|
+
program
|
|
529
|
+
.command("schedule")
|
|
530
|
+
.description("Run a prompt on a recurring interval (e.g., every 5 minutes)")
|
|
531
|
+
.argument("<prompt>", "The prompt to execute each interval")
|
|
532
|
+
.option("-m, --model <model>", "Model to use")
|
|
533
|
+
.option("--interval <minutes>", "Interval in minutes", "10")
|
|
534
|
+
.option("--max-runs <n>", "Maximum number of runs (0 = unlimited)", "0")
|
|
535
|
+
.option("--json", "Output as JSON")
|
|
536
|
+
.action(async (prompt, opts) => {
|
|
537
|
+
const intervalMs = parseInt(opts.interval) * 60_000;
|
|
538
|
+
const maxRuns = parseInt(opts.maxRuns);
|
|
539
|
+
let runCount = 0;
|
|
540
|
+
const savedConfig = readOhConfig();
|
|
541
|
+
const { createProvider } = await import("./providers/index.js");
|
|
542
|
+
const effectiveModel = opts.model ?? savedConfig?.model;
|
|
543
|
+
const overrides = {};
|
|
544
|
+
if (savedConfig?.apiKey)
|
|
545
|
+
overrides.apiKey = savedConfig.apiKey;
|
|
546
|
+
if (savedConfig?.baseUrl)
|
|
547
|
+
overrides.baseUrl = savedConfig.baseUrl;
|
|
548
|
+
const { provider, model } = await createProvider(effectiveModel, Object.keys(overrides).length ? overrides : undefined);
|
|
549
|
+
const { query: runQuery } = await import("./query.js");
|
|
550
|
+
const tools = getAllTools();
|
|
551
|
+
const systemPrompt = buildSystemPrompt();
|
|
552
|
+
const runOnce = async () => {
|
|
553
|
+
runCount++;
|
|
554
|
+
const timestamp = new Date().toISOString();
|
|
555
|
+
process.stderr.write(`\n[schedule] Run #${runCount} at ${timestamp}\n`);
|
|
556
|
+
const config = {
|
|
557
|
+
provider,
|
|
558
|
+
tools,
|
|
559
|
+
systemPrompt,
|
|
560
|
+
permissionMode: "trust",
|
|
561
|
+
maxTurns: 20,
|
|
562
|
+
model,
|
|
563
|
+
};
|
|
564
|
+
let output = "";
|
|
565
|
+
for await (const event of runQuery(prompt, config)) {
|
|
566
|
+
if (event.type === "text_delta") {
|
|
567
|
+
output += event.content;
|
|
568
|
+
if (!opts.json)
|
|
569
|
+
process.stdout.write(event.content);
|
|
570
|
+
}
|
|
571
|
+
else if (event.type === "error") {
|
|
572
|
+
process.stderr.write(`[error] ${event.message}\n`);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
if (!opts.json)
|
|
576
|
+
process.stdout.write("\n");
|
|
577
|
+
if (opts.json) {
|
|
578
|
+
console.log(JSON.stringify({ run: runCount, timestamp, output }));
|
|
579
|
+
}
|
|
580
|
+
if (maxRuns > 0 && runCount >= maxRuns) {
|
|
581
|
+
process.stderr.write(`[schedule] Completed ${maxRuns} runs. Exiting.\n`);
|
|
582
|
+
process.exit(0);
|
|
583
|
+
}
|
|
584
|
+
};
|
|
585
|
+
// Run immediately, then on interval
|
|
586
|
+
await runOnce();
|
|
587
|
+
setInterval(() => { runOnce().catch(e => process.stderr.write(`[schedule] Error: ${e}\n`)); }, intervalMs);
|
|
588
|
+
process.stderr.write(`[schedule] Running every ${opts.interval} minutes. Ctrl+C to stop.\n`);
|
|
589
|
+
});
|
|
430
590
|
program.parseAsync(process.argv).catch((err) => {
|
|
431
591
|
console.error(err instanceof Error ? err.message : String(err));
|
|
432
592
|
process.exitCode = 1;
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":";;AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,MAAM,GAAG;;;;;;;eAOA,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,6BAA6B;AAE7B,MAAM,qBAAqB,GAAG;;2DAE6B,CAAC;AAE5D,SAAS,iBAAiB;IACxB,MAAM,KAAK,GAAa,CAAC,qBAAqB,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,yEAAyE,CAAC;KACtF,QAAQ,CAAC,UAAU,EAAE,iDAAiD,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,cAAc,CAAC;KAC7C,SAAS,CACR,IAAI,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;KACtD,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACjC,OAAO,CAAC,OAAO,CAAC,CACpB;KACA,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;KAC5C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,iBAAiB,EAAE,eAAe,EAAE,IAAI,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAA6B,EAAE,EAAE;IAC7E,qEAAqE;IACrE,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,GAAG,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,cAAc,GAAmB,CAAC,IAAI,CAAC,KAAK;QAChD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;gBACvD,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,IAAI,OAAO,CAAC,CAAmB,CAAC;IAElE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAI,IAAI,CAAC,KAA4B,IAAI,WAAW,EAAE,KAAK,CAAC;IAChF,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,WAAW,EAAE,MAAM;QAAE,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAC/D,IAAI,WAAW,EAAE,OAAO;QAAE,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IAClE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAC9C,cAAc,EACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,KAAK;QACL,YAAY;QACZ,cAAc;QACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAkB,CAAC;QAC3C,KAAK;KACN,CAAC;IAEF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,WAAW,GAAwE,EAAE,CAAC;IAC5F,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC5C,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;gBAC7D,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kEAAkE;AAClE,OAAO;KACJ,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACpC,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,SAAS,CACR,IAAI,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;KACtD,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACjC,OAAO,CAAC,KAAK,CAAC,CAClB;KACA,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACtD,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,gEAAgE;IAChE,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE,KAAK,CAAC;IACxD,MAAM,iBAAiB,GAAmB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QACjF,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAgC;YACvE,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC;IAE3C,2CAA2C;IAC3C,IAAI,QAAkB,CAAC;IACvB,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAChE,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,WAAW,EAAE,MAAM;YAAE,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/D,IAAI,WAAW,EAAE,OAAO;YAAE,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3G,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uCAAuC;QACvC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE9C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,OAAO,mBAAmB,aAAa,mBAAmB,iBAAiB,YAAY,CAAC,CAAC;IACpJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;IAEjE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,mBAAmB;IACnB,IAAI,eAAe,GAAuB,IAAI,CAAC,MAA4B,CAAC;IAC5E,IAAI,eAAsC,CAAC;IAE3C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,eAAe,GAAG,MAAM,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;YAChD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAC,GAAG,IACF,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,iBAAiB,EACjC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,aAAa,IAAI,QAAQ,IAAI,OAAQ,QAAgB,CAAC,WAAW,KAAK,UAAU;gBAC7F,CAAC,CAAC,MAAO,QAAgB,CAAC,WAAW,EAAE;gBACvC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAI,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAU,CAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,MAAM,KAAK,GAAI,CAAS,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,WAAY,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO;QAClC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,GAAG;QAC1C,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAC5B,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,2BAA2B;YAC/C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACrD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO;YAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM;YAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,aAAa,IAAI,QAAQ,IAAI,OAAQ,QAAgB,CAAC,WAAW,KAAK,UAAU;YAC7F,CAAC,CAAC,MAAO,QAAgB,CAAC,WAAW,EAAE;YACvC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAI,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAU,CAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,KAAK,GAAI,CAAS,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,WAAY,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,aAAa;AACb,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAC,UAAU,IAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC;IAChF,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qBAAqB,CAAC;KAClC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACvC,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;IACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,cAAc,eAAe,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACvD,IAAI,GAAG,CAAC,OAAO;QAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM;QAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;KACjC,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAElE,MAAM,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Tool, ToolResult, ToolContext } from '../Tool.js';
|
|
3
|
+
import type { McpClient } from './client.js';
|
|
4
|
+
import { McpTool } from './McpTool.js';
|
|
5
|
+
/**
|
|
6
|
+
* A deferred MCP tool that only stores its name at startup.
|
|
7
|
+
* The full schema is fetched on first use, avoiding context bloat
|
|
8
|
+
* when hundreds of MCP tools are available.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeferredMcpTool implements Tool<z.ZodType> {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly description: string;
|
|
13
|
+
readonly inputSchema: z.ZodType;
|
|
14
|
+
readonly riskLevel: "low" | "medium" | "high";
|
|
15
|
+
private client;
|
|
16
|
+
private toolName;
|
|
17
|
+
private resolved;
|
|
18
|
+
private resolvePromise;
|
|
19
|
+
private _riskLevel;
|
|
20
|
+
constructor(client: McpClient, toolName: string, description: string, riskLevel?: "low" | "medium" | "high");
|
|
21
|
+
isReadOnly(_input: unknown): boolean;
|
|
22
|
+
isConcurrencySafe(_input: unknown): boolean;
|
|
23
|
+
/** Resolve the full tool definition from the MCP server */
|
|
24
|
+
private resolve;
|
|
25
|
+
call(input: Record<string, unknown>, context: ToolContext): Promise<ToolResult>;
|
|
26
|
+
prompt(): string;
|
|
27
|
+
/** Get the full resolved tool definition (for ToolSearch) */
|
|
28
|
+
getResolved(): Promise<McpTool | null>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=DeferredMcpTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeferredMcpTool.d.ts","sourceRoot":"","sources":["../../src/mcp/DeferredMcpTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAE9C,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,UAAU,CAA4B;gBAG5C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAiB;IAYjD,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IACpC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAE3C,2DAA2D;YAC7C,OAAO;IAqBf,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAerF,MAAM,IAAI,MAAM;IAIhB,6DAA6D;IACvD,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAG7C"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { McpTool } from './McpTool.js';
|
|
3
|
+
/**
|
|
4
|
+
* A deferred MCP tool that only stores its name at startup.
|
|
5
|
+
* The full schema is fetched on first use, avoiding context bloat
|
|
6
|
+
* when hundreds of MCP tools are available.
|
|
7
|
+
*/
|
|
8
|
+
export class DeferredMcpTool {
|
|
9
|
+
name;
|
|
10
|
+
description;
|
|
11
|
+
inputSchema;
|
|
12
|
+
riskLevel;
|
|
13
|
+
client;
|
|
14
|
+
toolName; // original MCP tool name
|
|
15
|
+
resolved = null;
|
|
16
|
+
resolvePromise = null;
|
|
17
|
+
_riskLevel;
|
|
18
|
+
constructor(client, toolName, description, riskLevel = "medium") {
|
|
19
|
+
this.client = client;
|
|
20
|
+
this.toolName = toolName;
|
|
21
|
+
this._riskLevel = riskLevel;
|
|
22
|
+
this.riskLevel = riskLevel;
|
|
23
|
+
this.name = `${client.name}__${toolName}`;
|
|
24
|
+
this.description = description || toolName;
|
|
25
|
+
// Permissive schema — accepts anything until resolved
|
|
26
|
+
this.inputSchema = z.record(z.unknown());
|
|
27
|
+
}
|
|
28
|
+
isReadOnly(_input) { return false; }
|
|
29
|
+
isConcurrencySafe(_input) { return false; }
|
|
30
|
+
/** Resolve the full tool definition from the MCP server */
|
|
31
|
+
async resolve() {
|
|
32
|
+
if (this.resolved)
|
|
33
|
+
return this.resolved;
|
|
34
|
+
if (this.resolvePromise)
|
|
35
|
+
return this.resolvePromise;
|
|
36
|
+
this.resolvePromise = (async () => {
|
|
37
|
+
try {
|
|
38
|
+
const defs = await this.client.listTools();
|
|
39
|
+
const def = defs.find(d => d.name === this.toolName);
|
|
40
|
+
if (def) {
|
|
41
|
+
this.resolved = new McpTool(this.client, def, this._riskLevel);
|
|
42
|
+
return this.resolved;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
})();
|
|
50
|
+
return this.resolvePromise;
|
|
51
|
+
}
|
|
52
|
+
async call(input, context) {
|
|
53
|
+
// Resolve on first call
|
|
54
|
+
const resolved = await this.resolve();
|
|
55
|
+
if (resolved) {
|
|
56
|
+
return resolved.call(input, context);
|
|
57
|
+
}
|
|
58
|
+
// Fallback: call directly without schema validation
|
|
59
|
+
try {
|
|
60
|
+
const output = await this.client.callTool(this.toolName, input);
|
|
61
|
+
return { output, isError: false };
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
return { output: String(err), isError: true };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
prompt() {
|
|
68
|
+
return `[mcp:${this.client.name}] ${this.description} (deferred — schema loaded on use)`;
|
|
69
|
+
}
|
|
70
|
+
/** Get the full resolved tool definition (for ToolSearch) */
|
|
71
|
+
async getResolved() {
|
|
72
|
+
return this.resolve();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=DeferredMcpTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeferredMcpTool.js","sourceRoot":"","sources":["../../src/mcp/DeferredMcpTool.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/client.d.ts
CHANGED
|
@@ -12,7 +12,14 @@ export declare class McpClient {
|
|
|
12
12
|
private constructor();
|
|
13
13
|
static connect(cfg: McpServerConfig, timeoutMs?: number): Promise<McpClient>;
|
|
14
14
|
listTools(): Promise<McpToolDef[]>;
|
|
15
|
+
listResources(): Promise<Array<{
|
|
16
|
+
uri: string;
|
|
17
|
+
name: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
}>>;
|
|
20
|
+
readResource(uri: string): Promise<string>;
|
|
15
21
|
callTool(name: string, args: Record<string, unknown>): Promise<string>;
|
|
22
|
+
private callWithTimeout;
|
|
16
23
|
private call;
|
|
17
24
|
disconnect(): void;
|
|
18
25
|
}
|
package/dist/mcp/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA4F;IAC3G,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO;WA6BM,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,SAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;IAyB1F,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAKlC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA4F;IAC3G,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO;WA6BM,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,SAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;IAyB1F,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAKlC,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IASpF,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAwC5E,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,IAAI;IASZ,UAAU,IAAI,IAAI;CAGnB"}
|
package/dist/mcp/client.js
CHANGED
|
@@ -59,6 +59,25 @@ export class McpClient {
|
|
|
59
59
|
const res = await this.call('tools/list', {});
|
|
60
60
|
return (res.result?.tools ?? []);
|
|
61
61
|
}
|
|
62
|
+
async listResources() {
|
|
63
|
+
try {
|
|
64
|
+
const res = await this.callWithTimeout('resources/list', {});
|
|
65
|
+
return (res.result?.resources ?? []);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return []; // Server may not support resources
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async readResource(uri) {
|
|
72
|
+
const res = await this.callWithTimeout('resources/read', { uri });
|
|
73
|
+
if (res.error)
|
|
74
|
+
throw new Error(res.error.message);
|
|
75
|
+
const contents = res.result?.contents ?? [];
|
|
76
|
+
return contents
|
|
77
|
+
.filter((c) => c.text)
|
|
78
|
+
.map((c) => c.text)
|
|
79
|
+
.join('\n');
|
|
80
|
+
}
|
|
62
81
|
async callTool(name, args) {
|
|
63
82
|
if (this.dead) {
|
|
64
83
|
try {
|
|
@@ -69,14 +88,43 @@ export class McpClient {
|
|
|
69
88
|
throw new Error(`MCP server '${this.name}' died and restart failed`);
|
|
70
89
|
}
|
|
71
90
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
// Retry up to 2 times for transient failures
|
|
92
|
+
let lastError = null;
|
|
93
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
94
|
+
try {
|
|
95
|
+
const res = await this.callWithTimeout('tools/call', { name, arguments: args });
|
|
96
|
+
if (res.error)
|
|
97
|
+
throw new Error(res.error.message);
|
|
98
|
+
const content = res.result?.content ?? [];
|
|
99
|
+
return content
|
|
100
|
+
.filter((c) => c.type === 'text')
|
|
101
|
+
.map((c) => c.text)
|
|
102
|
+
.join('\n');
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
106
|
+
// Only retry on timeout or server death — not on application errors
|
|
107
|
+
if (!lastError.message.includes('timeout') && !lastError.message.includes('exited')) {
|
|
108
|
+
throw lastError;
|
|
109
|
+
}
|
|
110
|
+
if (this.dead && attempt < 2) {
|
|
111
|
+
try {
|
|
112
|
+
const fresh = await McpClient.connect(this.cfg, this.timeoutMs);
|
|
113
|
+
Object.assign(this, { proc: fresh.proc, dead: false, ready: true, nextId: 1, pending: new Map() });
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
throw new Error(`MCP server '${this.name}' died and restart failed`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
throw lastError ?? new Error(`MCP '${this.name}' call failed after retries`);
|
|
122
|
+
}
|
|
123
|
+
callWithTimeout(method, params) {
|
|
124
|
+
return Promise.race([
|
|
125
|
+
this.call(method, params),
|
|
126
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`MCP '${this.name}' call timeout (${this.timeoutMs}ms)`)), this.timeoutMs)),
|
|
127
|
+
]);
|
|
80
128
|
}
|
|
81
129
|
call(method, params) {
|
|
82
130
|
return new Promise((resolve, reject) => {
|
package/dist/mcp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,OAAO,SAAS;IACX,IAAI,CAAS;IACd,IAAI,CAAe;IACnB,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,IAAI,GAAG,EAAiF,CAAC;IACnG,KAAK,GAAG,KAAK,CAAC;IACd,IAAI,GAAG,KAAK,CAAC;IACb,GAAG,CAAkB;IACrB,SAAS,CAAS;IAE1B,YAAoB,IAAY,EAAE,IAAkB,EAAE,GAAoB,EAAE,SAAiB;QAC3F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC,CAAC;QACpD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;gBAChD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAoB,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,KAAK;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE;YAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;SAC5C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7D,uBAAuB;QACvB,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE;gBACxB,eAAe,EAAE,YAAY;gBAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;gBACrD,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CACjF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAE,GAAG,CAAC,MAAc,EAAE,KAAK,IAAI,EAAE,CAAiB,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA6B;QACxD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/loader.d.ts
CHANGED
|
@@ -5,4 +5,13 @@ export declare function loadMcpTools(): Promise<Tool[]>;
|
|
|
5
5
|
export declare function disconnectMcpClients(): void;
|
|
6
6
|
/** Names of connected MCP servers */
|
|
7
7
|
export declare function connectedMcpServers(): string[];
|
|
8
|
+
/** List all available resources across connected MCP servers */
|
|
9
|
+
export declare function listMcpResources(): Promise<Array<{
|
|
10
|
+
server: string;
|
|
11
|
+
uri: string;
|
|
12
|
+
name: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}>>;
|
|
15
|
+
/** Resolve a @mention to MCP resource content. Returns content or null. */
|
|
16
|
+
export declare function resolveMcpMention(mention: string): Promise<string | null>;
|
|
8
17
|
//# sourceMappingURL=loader.d.ts.map
|
package/dist/mcp/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/mcp/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/mcp/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAWvC,mGAAmG;AACnG,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CA8BpD;AAED,gDAAgD;AAChD,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,gEAAgE;AAChE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAW5H;AAED,2EAA2E;AAC3E,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAc/E"}
|
package/dist/mcp/loader.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { McpClient } from './client.js';
|
|
2
2
|
import { McpTool } from './McpTool.js';
|
|
3
|
+
import { DeferredMcpTool } from './DeferredMcpTool.js';
|
|
3
4
|
import { readOhConfig } from '../harness/config.js';
|
|
4
5
|
const connectedClients = [];
|
|
6
|
+
/** Threshold: servers with more tools than this use deferred loading */
|
|
7
|
+
const DEFERRED_THRESHOLD = 10;
|
|
5
8
|
/** Load MCP tools from .oh/config.yaml mcpServers list. Returns empty array if none configured. */
|
|
6
9
|
export async function loadMcpTools() {
|
|
7
10
|
const cfg = readOhConfig();
|
|
@@ -14,8 +17,17 @@ export async function loadMcpTools() {
|
|
|
14
17
|
const client = await McpClient.connect(server);
|
|
15
18
|
connectedClients.push(client);
|
|
16
19
|
const defs = await client.listTools();
|
|
17
|
-
|
|
18
|
-
tools
|
|
20
|
+
if (defs.length > DEFERRED_THRESHOLD) {
|
|
21
|
+
// Many tools → use deferred loading (name + description only, schema on demand)
|
|
22
|
+
for (const def of defs) {
|
|
23
|
+
tools.push(new DeferredMcpTool(client, def.name, def.description ?? '', server.riskLevel));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Few tools → load eagerly (full schema)
|
|
28
|
+
for (const def of defs) {
|
|
29
|
+
tools.push(new McpTool(client, def, server.riskLevel));
|
|
30
|
+
}
|
|
19
31
|
}
|
|
20
32
|
}
|
|
21
33
|
catch (err) {
|
|
@@ -38,4 +50,33 @@ export function disconnectMcpClients() {
|
|
|
38
50
|
export function connectedMcpServers() {
|
|
39
51
|
return connectedClients.map(c => c.name);
|
|
40
52
|
}
|
|
53
|
+
/** List all available resources across connected MCP servers */
|
|
54
|
+
export async function listMcpResources() {
|
|
55
|
+
const resources = [];
|
|
56
|
+
for (const client of connectedClients) {
|
|
57
|
+
try {
|
|
58
|
+
const serverResources = await client.listResources();
|
|
59
|
+
for (const r of serverResources) {
|
|
60
|
+
resources.push({ server: client.name, ...r });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch { /* ignore */ }
|
|
64
|
+
}
|
|
65
|
+
return resources;
|
|
66
|
+
}
|
|
67
|
+
/** Resolve a @mention to MCP resource content. Returns content or null. */
|
|
68
|
+
export async function resolveMcpMention(mention) {
|
|
69
|
+
for (const client of connectedClients) {
|
|
70
|
+
try {
|
|
71
|
+
const resources = await client.listResources();
|
|
72
|
+
const match = resources.find(r => r.name.toLowerCase() === mention.toLowerCase() ||
|
|
73
|
+
r.uri.toLowerCase().includes(mention.toLowerCase()));
|
|
74
|
+
if (match) {
|
|
75
|
+
return await client.readResource(match.uri);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch { /* ignore */ }
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
41
82
|
//# sourceMappingURL=loader.js.map
|
package/dist/mcp/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/mcp/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,gBAAgB,GAAgB,EAAE,CAAC;AAEzC,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/mcp/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Simple Zod-to-JSON-Schema converter for MCP tool definitions.
|
|
4
|
+
* Handles common cases: object, string, number, boolean, array, optional.
|
|
5
|
+
*/
|
|
6
|
+
export declare function zodToJsonSchemaSimple(schema: z.ZodType): unknown;
|
|
7
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/mcp/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAmChE"}
|