monomind 1.16.7 → 1.16.9
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/package.json +1 -1
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +6 -13
- package/packages/@monomind/cli/dist/src/commands/browse-action.js +3 -2
- package/packages/@monomind/cli/dist/src/commands/doctor.js +17 -2
- package/packages/@monomind/cli/dist/src/init/executor.js +6 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +1 -1
- package/packages/@monomind/cli/package.json +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monomind",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.9",
|
|
4
4
|
"description": "Monomind - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { writeFile, mkdir } from 'fs/promises';
|
|
2
2
|
import { join } from 'path';
|
|
3
|
+
import { createClaudeLLMCaller } from '../../routing/llm-caller.js';
|
|
3
4
|
const SYSTEM_PROMPT = `You are a browser automation expert. Given a DOM snippet and a task description, generate a JSON action definition that automates the task.
|
|
4
5
|
|
|
5
6
|
Rules:
|
|
@@ -47,19 +48,11 @@ export async function analyzeAndBuild(options) {
|
|
|
47
48
|
.replace(/<style[\s\S]*?<\/style>/gi, '')
|
|
48
49
|
.replace(/\s{2,}/g, ' ')
|
|
49
50
|
.slice(0, 12000);
|
|
50
|
-
// Call Claude API
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
max_tokens: 2048,
|
|
56
|
-
system: SYSTEM_PROMPT,
|
|
57
|
-
messages: [{ role: 'user', content: buildPrompt(task, cleanDom) }],
|
|
58
|
-
});
|
|
59
|
-
const responseText = message.content
|
|
60
|
-
.filter(c => c.type === 'text')
|
|
61
|
-
.map(c => c.text)
|
|
62
|
-
.join('');
|
|
51
|
+
// Call Claude via the CLI (reuses Claude Code's auth — no API key needed)
|
|
52
|
+
const caller = createClaudeLLMCaller({ model: 'sonnet' });
|
|
53
|
+
if (!caller)
|
|
54
|
+
throw new Error('Claude Code CLI not found. Install with: npm install -g @anthropic-ai/claude-code');
|
|
55
|
+
const responseText = await caller(`${SYSTEM_PROMPT}\n\n${buildPrompt(task, cleanDom)}`);
|
|
63
56
|
const action = parseActionResponse(responseText);
|
|
64
57
|
// Write to output directory
|
|
65
58
|
await mkdir(outputDir, { recursive: true });
|
|
@@ -19,8 +19,9 @@ const buildSubcommand = {
|
|
|
19
19
|
output.printError('--url and --task are required');
|
|
20
20
|
return { success: false, exitCode: 1 };
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
const { isClaudeCodeAvailable } = await import('../routing/llm-caller.js');
|
|
23
|
+
if (!isClaudeCodeAvailable()) {
|
|
24
|
+
output.printError('Claude Code CLI not found. Install with: npm install -g @anthropic-ai/claude-code');
|
|
24
25
|
return { success: false, exitCode: 1 };
|
|
25
26
|
}
|
|
26
27
|
const spinner = output.createSpinner({ text: `Opening ${url}...`, spinner: 'dots' });
|
|
@@ -148,17 +148,32 @@ async function checkApiKeys() {
|
|
|
148
148
|
}
|
|
149
149
|
// Detect Claude Code environment — API keys are managed internally
|
|
150
150
|
const inClaudeCode = !!(process.env.CLAUDE_CODE || process.env.CLAUDE_PROJECT_DIR || process.env.MCP_SESSION_ID);
|
|
151
|
+
// Detect claude CLI on PATH — monomind uses claude --print, no direct API key needed
|
|
152
|
+
let claudeCliAvailable = false;
|
|
153
|
+
try {
|
|
154
|
+
execSync('claude --version', { encoding: 'utf-8', stdio: 'pipe', timeout: 5000, windowsHide: true });
|
|
155
|
+
claudeCliAvailable = true;
|
|
156
|
+
}
|
|
157
|
+
catch { /* not on PATH */ }
|
|
151
158
|
if (found.includes('ANTHROPIC_API_KEY') || found.includes('CLAUDE_API_KEY')) {
|
|
152
159
|
return { name: 'API Keys', status: 'pass', message: `Found: ${found.join(', ')}` };
|
|
153
160
|
}
|
|
154
161
|
else if (inClaudeCode) {
|
|
155
|
-
return { name: 'API Keys', status: 'pass', message: 'Claude Code (
|
|
162
|
+
return { name: 'API Keys', status: 'pass', message: 'Claude Code manages auth (no direct API key needed)' };
|
|
163
|
+
}
|
|
164
|
+
else if (claudeCliAvailable) {
|
|
165
|
+
return { name: 'API Keys', status: 'pass', message: 'Using Claude Code CLI auth (no direct API key needed)' };
|
|
156
166
|
}
|
|
157
167
|
else if (found.length > 0) {
|
|
158
168
|
return { name: 'API Keys', status: 'warn', message: `Found: ${found.join(', ')} (no Claude key)`, fix: 'export ANTHROPIC_API_KEY=your_key' };
|
|
159
169
|
}
|
|
160
170
|
else {
|
|
161
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
name: 'API Keys',
|
|
173
|
+
status: 'warn',
|
|
174
|
+
message: 'Claude Code CLI not found — monomind works best on top of Claude Code',
|
|
175
|
+
fix: 'npm install -g @anthropic-ai/claude-code # then: claude login',
|
|
176
|
+
};
|
|
162
177
|
}
|
|
163
178
|
}
|
|
164
179
|
// Check git (async with proper env inheritance)
|
|
@@ -1487,18 +1487,20 @@ mcp:
|
|
|
1487
1487
|
path.join(__dirname, '..', '..', 'package.json'), // src/init/ in dev
|
|
1488
1488
|
path.join(__dirname, '..', '..', '..', 'package.json'), // dist/src/init/ in prod
|
|
1489
1489
|
];
|
|
1490
|
-
let cliVersion =
|
|
1490
|
+
let cliVersion = null;
|
|
1491
1491
|
for (const p of pkgCandidates) {
|
|
1492
1492
|
if (fs.existsSync(p)) {
|
|
1493
1493
|
const pkg = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
1494
|
-
if (typeof pkg.version === 'string') {
|
|
1494
|
+
if (typeof pkg.version === 'string' && pkg.version) {
|
|
1495
1495
|
cliVersion = pkg.version;
|
|
1496
1496
|
break;
|
|
1497
1497
|
}
|
|
1498
1498
|
}
|
|
1499
1499
|
}
|
|
1500
|
-
|
|
1501
|
-
|
|
1500
|
+
if (cliVersion) {
|
|
1501
|
+
atomicWriteFile(versionPath, cliVersion);
|
|
1502
|
+
result.created.files.push('.monomind/version');
|
|
1503
|
+
}
|
|
1502
1504
|
}
|
|
1503
1505
|
catch { /* non-fatal — sync check will degrade gracefully */ }
|
|
1504
1506
|
// Write .monomind/.gitignore — commit config/knowledge/metrics, exclude sensitive data
|
|
@@ -1296,7 +1296,7 @@ const monographWikiTool = {
|
|
|
1296
1296
|
// ── monograph_wiki_build ──────────────────────────────────────────────────────
|
|
1297
1297
|
const monographWikiBuildTool = {
|
|
1298
1298
|
name: 'monograph_wiki_build',
|
|
1299
|
-
description: 'Generate
|
|
1299
|
+
description: 'Generate wiki pages for code communities using Claude Code CLI (no API key needed — reuses Claude Code auth).',
|
|
1300
1300
|
inputSchema: {
|
|
1301
1301
|
type: 'object',
|
|
1302
1302
|
properties: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monoes/monomindcli",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"dependencies": {
|
|
88
88
|
"ws": "^8.21.0",
|
|
89
89
|
"@noble/ed25519": "^2.1.0",
|
|
90
|
-
"@monoes/monograph": "^1.2.
|
|
90
|
+
"@monoes/monograph": "^1.2.3",
|
|
91
91
|
"@monoes/monobrowse": "^1.0.1",
|
|
92
92
|
"@monomind/security": "workspace:*"
|
|
93
93
|
},
|