monomind 1.18.2 → 1.18.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monomind",
3
- "version": "1.18.2",
3
+ "version": "1.18.4",
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",
@@ -50,7 +50,7 @@
50
50
  "semver": "^7.6.0",
51
51
  "zod": "^3.22.0",
52
52
  "@monoes/monobrowse": "^1.0.0",
53
- "@monoes/monograph": "1.2.8"
53
+ "@monoes/monograph": "1.2.9"
54
54
  },
55
55
  "overrides": {
56
56
  "hono": ">=4.12.21",
@@ -60,7 +60,8 @@
60
60
  "esbuild": ">=0.28.1",
61
61
  "protobufjs": ">=7.5.8",
62
62
  "@protobufjs/utf8": ">=1.1.1",
63
- "@grpc/grpc-js": ">=1.14.4"
63
+ "@grpc/grpc-js": ">=1.14.4",
64
+ "onnxruntime-node": ">=1.27.0"
64
65
  },
65
66
  "devDependencies": {
66
67
  "@types/node": "^20.0.0",
@@ -1,5 +1,5 @@
1
1
  import { output } from '../output.js';
2
- import { existsSync, unlinkSync, rmSync, readdirSync } from 'fs';
2
+ import { existsSync, unlinkSync, rmSync, readdirSync, readFileSync } from 'fs';
3
3
  import { join, resolve } from 'path';
4
4
  const orgCommand = {
5
5
  name: 'org',
@@ -8,6 +8,7 @@ const orgCommand = {
8
8
  { command: 'monomind org list', description: 'List all orgs in the project' },
9
9
  { command: 'monomind org delete my-org', description: 'Delete an org (with confirmation)' },
10
10
  { command: 'monomind org delete my-org --yes', description: 'Delete without confirmation' },
11
+ { command: 'monomind org mark-complete my-org', description: 'Manually close a STALE run (crashed boss recovery)' },
11
12
  ],
12
13
  action: async (context) => {
13
14
  const args = context.args ?? [];
@@ -16,10 +17,40 @@ const orgCommand = {
16
17
  output.info('Usage: monomind org <subcommand>');
17
18
  output.info('');
18
19
  output.info('Subcommands:');
19
- output.info(' list List all orgs in the current project');
20
- output.info(' delete <name> Delete an org and all its data');
20
+ output.info(' list List all orgs in the current project');
21
+ output.info(' delete <name> Delete an org and all its data');
22
+ output.info(' mark-complete <name> Manually close a stale/crashed run');
21
23
  return { success: true };
22
24
  }
25
+ if (sub === 'mark-complete') {
26
+ const orgName = args[1];
27
+ if (!orgName || !/^[a-z0-9][a-z0-9_-]*$/i.test(orgName)) {
28
+ output.error('Usage: monomind org mark-complete <name>');
29
+ return { success: false, message: 'valid org name required' };
30
+ }
31
+ const cwd = resolve(context.cwd || process.cwd());
32
+ let ctrlUrl = 'http://localhost:4242';
33
+ try {
34
+ const ctl = JSON.parse(readFileSync(join(cwd, '.monomind', 'control.json'), 'utf8'));
35
+ if (ctl.url)
36
+ ctrlUrl = ctl.url;
37
+ }
38
+ catch { /* default */ }
39
+ try {
40
+ const res = await fetch(`${ctrlUrl}/api/orgs/${encodeURIComponent(orgName)}/mark-complete`, { method: 'POST' });
41
+ const body = await res.json().catch(() => ({}));
42
+ if (!res.ok) {
43
+ output.error(`mark-complete failed (${res.status}): ${body.error || 'unknown error'}`);
44
+ return { success: false, message: 'server rejected mark-complete' };
45
+ }
46
+ output.success(`Run marked complete for org "${orgName}"${body.runId ? ` (run ${body.runId})` : ''}.`);
47
+ return { success: true };
48
+ }
49
+ catch (err) {
50
+ output.error(`Dashboard server unreachable at ${ctrlUrl} — is it running? (${err instanceof Error ? err.message : 'error'})`);
51
+ return { success: false, message: 'server unreachable' };
52
+ }
53
+ }
23
54
  if (sub === 'list') {
24
55
  const cwd = context.cwd || process.cwd();
25
56
  const orgsDir = join(cwd, '.monomind', 'orgs');
@@ -1139,29 +1139,16 @@ const monographApiImpactTool = {
1139
1139
  // ── monograph_embed ───────────────────────────────────────────────────────────
1140
1140
  const monographEmbedTool = {
1141
1141
  name: 'monograph_embed',
1142
- description: 'Embed all symbol nodes using Snowflake/snowflake-arctic-embed-xs (384D). Requires @huggingface/transformers. Enables hybrid BM25+vector search via MONOGRAPH_EMBEDDINGS=true.',
1142
+ description: 'DEPRECATED embeddings are disabled; monograph uses BM25 (FTS5) search. This tool is a no-op kept for backward compatibility.',
1143
1143
  inputSchema: {
1144
1144
  type: 'object',
1145
1145
  properties: {
1146
- codeOnly: { type: 'boolean', description: 'Only embed code symbol nodes (Functions, Classes, Methods), skip Document/Route/Tool nodes (default: false)' },
1147
- force: { type: 'boolean', description: 'Re-embed all nodes even if embeddings already exist (default: false)' },
1146
+ codeOnly: { type: 'boolean', description: 'Ignored (embeddings are disabled)' },
1147
+ force: { type: 'boolean', description: 'Ignored (embeddings are disabled)' },
1148
1148
  },
1149
1149
  },
1150
- handler: async (input) => {
1151
- const { openDb, closeDb } = await import('@monoes/monograph');
1152
- const { runEmbed } = await import('@monoes/monograph');
1153
- const db = openDb(getDbPath());
1154
- try {
1155
- const result = await runEmbed(db, { codeOnly: input.codeOnly ?? false, force: input.force ?? false });
1156
- return text(`Embedding complete.\n model: ${result.model}\n embedded: ${result.embedded}\n skipped: ${result.skipped}`);
1157
- }
1158
- catch (err) {
1159
- const msg = err instanceof Error ? err.message : String(err);
1160
- return text(`Embedding failed: ${msg}`);
1161
- }
1162
- finally {
1163
- closeDb(db);
1164
- }
1150
+ handler: async () => {
1151
+ return text('Embeddings are disabled monograph uses BM25 (FTS5) search; this tool is deprecated and does nothing. Use monograph_query instead.');
1165
1152
  },
1166
1153
  };
1167
1154
  // ── monograph_cypher ──────────────────────────────────────────────────────────
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monoes/monomindcli",
3
- "version": "1.18.2",
3
+ "version": "1.18.4",
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",
@@ -103,5 +103,8 @@
103
103
  "publishConfig": {
104
104
  "access": "public",
105
105
  "tag": "latest"
106
+ },
107
+ "overrides": {
108
+ "onnxruntime-node": ">=1.27.0"
106
109
  }
107
- }
110
+ }