monomind 1.15.6 → 1.15.7

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.
Files changed (96) hide show
  1. package/.claude/agents/github/repo-architect.md +1 -1
  2. package/.claude/agents/specialists/integration-architect.md +6 -6
  3. package/.claude/commands/hive-mind/hive-mind-init.md +1 -1
  4. package/.claude/commands/hive-mind/hive-mind-memory.md +1 -1
  5. package/.claude/commands/mastermind/brain.md +11 -11
  6. package/.claude/commands/mastermind/master.md +4 -4
  7. package/.claude/commands/mastermind/memory.md +6 -6
  8. package/.claude/commands/memory/README.md +4 -4
  9. package/.claude/commands/truth/start.md +3 -3
  10. package/.claude/helpers/extras-registry.json +2 -2
  11. package/.claude/helpers/skill-registry.json +26 -26
  12. package/.claude/helpers/statusline.cjs +8 -8
  13. package/.claude/skills/agentic-jujutsu/SKILL.md +3 -3
  14. package/.claude/skills/mastermind/_protocol.md +8 -8
  15. package/README.md +6 -6
  16. package/package.json +2 -2
  17. package/packages/@monomind/cli/README.md +6 -6
  18. package/packages/@monomind/cli/dist/src/__tests__/browse-analyzer.test.js +18 -1
  19. package/packages/@monomind/cli/dist/src/commands/agent.js +2 -2
  20. package/packages/@monomind/cli/dist/src/commands/autopilot.js +1 -1
  21. package/packages/@monomind/cli/dist/src/commands/completions.js +2 -21
  22. package/packages/@monomind/cli/dist/src/commands/config.js +1 -1
  23. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +1 -1
  24. package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.js +31 -31
  25. package/packages/@monomind/cli/dist/src/commands/hooks-routing-commands.js +1 -1
  26. package/packages/@monomind/cli/dist/src/commands/hooks.js +1 -1
  27. package/packages/@monomind/cli/dist/src/commands/index.d.ts +0 -1
  28. package/packages/@monomind/cli/dist/src/commands/index.js +0 -4
  29. package/packages/@monomind/cli/dist/src/commands/init.js +8 -8
  30. package/packages/@monomind/cli/dist/src/commands/memory.d.ts +1 -1
  31. package/packages/@monomind/cli/dist/src/commands/memory.js +25 -25
  32. package/packages/@monomind/cli/dist/src/commands/migrate.js +2 -2
  33. package/packages/@monomind/cli/dist/src/commands/neural.js +1 -1
  34. package/packages/@monomind/cli/dist/src/commands/swarm.js +1 -1
  35. package/packages/@monomind/cli/dist/src/config-adapter.js +8 -8
  36. package/packages/@monomind/cli/dist/src/index.js +1 -1
  37. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +2 -2
  38. package/packages/@monomind/cli/dist/src/init/executor.js +16 -16
  39. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.d.ts +1 -1
  40. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +1 -1
  41. package/packages/@monomind/cli/dist/src/init/statusline-generator.d.ts +1 -1
  42. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +8 -8
  43. package/packages/@monomind/cli/dist/src/init/types.d.ts +3 -3
  44. package/packages/@monomind/cli/dist/src/init/types.js +3 -3
  45. package/packages/@monomind/cli/dist/src/mcp-client.js +1 -8
  46. package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +3 -3
  47. package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +13 -13
  48. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +4 -4
  49. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +4 -4
  50. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +1 -0
  51. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +23 -23
  52. package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -1
  53. package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -2
  54. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +22 -6
  55. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +553 -505
  56. package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +1 -1
  57. package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +5 -5
  58. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.d.ts +1 -1
  59. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +1 -156
  60. package/packages/@monomind/cli/dist/src/memory/embedding-operations.js +3 -3
  61. package/packages/@monomind/cli/dist/src/memory/hnsw-operations.js +5 -5
  62. package/packages/@monomind/cli/dist/src/memory/intelligence.js +2 -2
  63. package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +86 -234
  64. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +455 -1702
  65. package/packages/@monomind/cli/dist/src/memory/memory-crud.js +3 -3
  66. package/packages/@monomind/cli/dist/src/memory/memory-initializer.d.ts +1 -1
  67. package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +5 -5
  68. package/packages/@monomind/cli/dist/src/memory/memory-read.js +4 -4
  69. package/packages/@monomind/cli/dist/src/suggest.js +0 -1
  70. package/packages/@monomind/cli/dist/src/types.d.ts +1 -1
  71. package/packages/@monomind/cli/dist/src/ui/dashboard.html +41 -5
  72. package/packages/@monomind/cli/dist/src/ui/orgs.html +91 -5
  73. package/packages/@monomind/cli/dist/src/ui/server.mjs +44 -0
  74. package/packages/@monomind/cli/dist/src/update/validator.js +1 -3
  75. package/packages/@monomind/cli/package.json +4 -4
  76. package/scripts/verify-appliance.sh +1 -1
  77. package/packages/@monomind/cli/dist/src/commands/plugins.d.ts +0 -11
  78. package/packages/@monomind/cli/dist/src/commands/plugins.js +0 -799
  79. package/packages/@monomind/cli/dist/src/plugins/manager.d.ts +0 -133
  80. package/packages/@monomind/cli/dist/src/plugins/manager.js +0 -498
  81. package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +0 -88
  82. package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +0 -650
  83. package/packages/@monomind/cli/dist/src/plugins/store/index.d.ts +0 -76
  84. package/packages/@monomind/cli/dist/src/plugins/store/index.js +0 -141
  85. package/packages/@monomind/cli/dist/src/plugins/store/search.d.ts +0 -46
  86. package/packages/@monomind/cli/dist/src/plugins/store/search.js +0 -231
  87. package/packages/@monomind/cli/dist/src/plugins/store/types.d.ts +0 -274
  88. package/packages/@monomind/cli/dist/src/plugins/store/types.js +0 -7
  89. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  90. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  91. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  92. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +0 -188
  93. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  94. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
  95. package/packages/@monomind/cli/dist/src/services/registry-api.d.ts +0 -58
  96. package/packages/@monomind/cli/dist/src/services/registry-api.js +0 -199
@@ -20,7 +20,7 @@ const PROJECT_ROOT = join(PACKAGES_DIR, '..');
20
20
  // Utility/service packages follow DDD differently - their services ARE the application layer
21
21
  const UTILITY_PACKAGES = new Set([
22
22
  'cli', 'hooks', 'mcp', 'shared', 'testing', 'agents', 'integration',
23
- 'embeddings', 'deployment', 'performance', 'plugins', 'providers'
23
+ 'embeddings', 'deployment', 'performance', 'providers'
24
24
  ]);
25
25
  // Target metrics for 100% completion
26
26
  const TARGETS = {
@@ -138,11 +138,11 @@ export const systemTools = [
138
138
  const cpus = os.cpus();
139
139
  const totalMem = os.totalmem();
140
140
  const freeMem = os.freemem();
141
- // Read real agent/task counts — try AgentDB first, fallback to JSON stores
141
+ // Read real agent/task counts — try memory backend first, fallback to JSON stores
142
142
  let agentCounts = { active: 0, total: 0 };
143
143
  let taskCounts = { pending: 0, completed: 0, failed: 0 };
144
144
  let _metricsSource = 'none';
145
- // Primary: AgentDB (sql.js + HNSW)
145
+ // Primary: LanceDB bridge
146
146
  try {
147
147
  const bridge = await import('../memory/memory-bridge.js');
148
148
  const agentResults = await bridge.bridgeListEntries({ namespace: 'agents', limit: 10000 });
@@ -158,7 +158,7 @@ export const systemTools = [
158
158
  catch { /* skip unparseable */ }
159
159
  }
160
160
  agentCounts = { total: agentEntries.length, active };
161
- _metricsSource = 'agentdb';
161
+ _metricsSource = 'lancedb';
162
162
  }
163
163
  const taskResults = await bridge.bridgeListEntries({ namespace: 'tasks', limit: 10000 });
164
164
  const taskEntries = taskResults?.entries;
@@ -177,10 +177,10 @@ export const systemTools = [
177
177
  catch { /* skip */ }
178
178
  }
179
179
  taskCounts = { pending, completed, failed };
180
- _metricsSource = 'agentdb';
180
+ _metricsSource = 'lancedb';
181
181
  }
182
182
  }
183
- catch { /* AgentDB not available, try JSON fallback */ }
183
+ catch { /* memory backend unavailable, try JSON fallback */ }
184
184
  // Fallback: JSON store files (backward compatibility)
185
185
  if (_metricsSource === 'none') {
186
186
  try {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Transfer MCP Tools
3
- * Pattern and plugin sharing via IPFS-based decentralized registry
3
+ * Pattern sharing via IPFS-based decentralized registry
4
4
  *
5
5
  * @module @monomind/cli/mcp-tools/transfer-tools
6
6
  * @version 3.0.0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Transfer MCP Tools
3
- * Pattern and plugin sharing via IPFS-based decentralized registry
3
+ * Pattern sharing via IPFS-based decentralized registry
4
4
  *
5
5
  * @module @monomind/cli/mcp-tools/transfer-tools
6
6
  * @version 3.0.0
@@ -274,161 +274,6 @@ export const transferTools = [
274
274
  }
275
275
  },
276
276
  },
277
- // ═══════════════════════════════════════════════════════════════
278
- // PLUGIN STORE TOOLS
279
- // ═══════════════════════════════════════════════════════════════
280
- {
281
- name: 'transfer_plugin-search',
282
- description: 'Search the plugin store',
283
- category: 'transfer',
284
- version: '1.0.0',
285
- inputSchema: {
286
- type: 'object',
287
- properties: {
288
- query: {
289
- type: 'string',
290
- description: 'Search query',
291
- },
292
- category: {
293
- type: 'string',
294
- description: 'Filter by category',
295
- },
296
- type: {
297
- type: 'string',
298
- description: 'Filter by plugin type',
299
- },
300
- verified: {
301
- type: 'boolean',
302
- description: 'Only show verified plugins',
303
- },
304
- minRating: {
305
- type: 'number',
306
- description: 'Minimum rating',
307
- },
308
- limit: {
309
- type: 'number',
310
- description: 'Maximum results',
311
- },
312
- },
313
- },
314
- handler: async (input) => {
315
- try {
316
- const { createPluginDiscoveryService, searchPlugins } = await import('../plugins/store/index.js');
317
- const discovery = createPluginDiscoveryService();
318
- const result = await discovery.discoverRegistry();
319
- if (!result.success || !result.registry) {
320
- return createResult({ error: result.error || 'Failed to discover registry' }, true);
321
- }
322
- // Cap query and limit before forwarding to searchPlugins.
323
- const MAX_PLUGIN_QUERY_LEN = 4 * 1024;
324
- const MAX_PLUGIN_LIMIT = 500;
325
- const rawOpts = input;
326
- const opts = {
327
- ...rawOpts,
328
- query: typeof rawOpts.query === 'string' && rawOpts.query.length > MAX_PLUGIN_QUERY_LEN
329
- ? rawOpts.query.slice(0, MAX_PLUGIN_QUERY_LEN) : rawOpts.query,
330
- limit: typeof rawOpts.limit === 'number' && Number.isFinite(rawOpts.limit)
331
- ? Math.min(Math.floor(Math.max(rawOpts.limit, 1)), MAX_PLUGIN_LIMIT) : rawOpts.limit,
332
- };
333
- const searchResult = searchPlugins(result.registry, opts);
334
- return createResult(searchResult);
335
- }
336
- catch (error) {
337
- return createResult({ error: error.message }, true);
338
- }
339
- },
340
- },
341
- {
342
- name: 'transfer_plugin-info',
343
- description: 'Get detailed info about a plugin',
344
- category: 'transfer',
345
- version: '1.0.0',
346
- inputSchema: {
347
- type: 'object',
348
- properties: {
349
- name: {
350
- type: 'string',
351
- description: 'Plugin name or ID',
352
- },
353
- },
354
- required: ['name'],
355
- },
356
- handler: async (input) => {
357
- try {
358
- const { createPluginDiscoveryService } = await import('../plugins/store/index.js');
359
- const discovery = createPluginDiscoveryService();
360
- const result = await discovery.discoverRegistry();
361
- if (!result.success || !result.registry) {
362
- return createResult({ error: result.error || 'Failed to discover registry' }, true);
363
- }
364
- const name = input.name;
365
- const plugin = result.registry.plugins.find((p) => p.id === name || p.name === name);
366
- if (!plugin) {
367
- return createResult({ error: 'Plugin not found' }, true);
368
- }
369
- return createResult(plugin);
370
- }
371
- catch (error) {
372
- return createResult({ error: error.message }, true);
373
- }
374
- },
375
- },
376
- {
377
- name: 'transfer_plugin-featured',
378
- description: 'Get featured plugins from the store',
379
- category: 'transfer',
380
- version: '1.0.0',
381
- inputSchema: {
382
- type: 'object',
383
- properties: {
384
- limit: {
385
- type: 'number',
386
- description: 'Maximum results',
387
- },
388
- },
389
- },
390
- handler: async (input) => {
391
- try {
392
- const { createPluginDiscoveryService, getFeaturedPlugins } = await import('../plugins/store/index.js');
393
- const discovery = createPluginDiscoveryService();
394
- const result = await discovery.discoverRegistry();
395
- if (!result.success || !result.registry) {
396
- return createResult({ error: result.error || 'Failed to discover registry' }, true);
397
- }
398
- const featured = getFeaturedPlugins(result.registry);
399
- const limit = input.limit || 10;
400
- return createResult(featured.slice(0, limit));
401
- }
402
- catch (error) {
403
- return createResult({ error: error.message }, true);
404
- }
405
- },
406
- },
407
- {
408
- name: 'transfer_plugin-official',
409
- description: 'Get official plugins from the store',
410
- category: 'transfer',
411
- version: '1.0.0',
412
- inputSchema: {
413
- type: 'object',
414
- properties: {},
415
- },
416
- handler: async () => {
417
- try {
418
- const { createPluginDiscoveryService, getOfficialPlugins } = await import('../plugins/store/index.js');
419
- const discovery = createPluginDiscoveryService();
420
- const result = await discovery.discoverRegistry();
421
- if (!result.success || !result.registry) {
422
- return createResult({ error: result.error || 'Failed to discover registry' }, true);
423
- }
424
- const official = getOfficialPlugins(result.registry);
425
- return createResult(official);
426
- }
427
- catch (error) {
428
- return createResult({ error: error.message }, true);
429
- }
430
- },
431
- },
432
277
  ];
433
278
  export default transferTools;
434
279
  //# sourceMappingURL=transfer-tools.js.map
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module v1/cli/embedding-operations
7
7
  */
8
- // ADR-053: Lazy import of AgentDB v1 bridge
8
+ // ADR-053: Lazy import of memory bridge
9
9
  let _bridge;
10
10
  async function getBridge() {
11
11
  if (_bridge === null)
@@ -38,7 +38,7 @@ export async function loadEmbeddingModel(options) {
38
38
  loadTime: 0
39
39
  };
40
40
  }
41
- // ADR-053: Try AgentDB v1 bridge first
41
+ // ADR-053: Try LanceDB bridge first
42
42
  const bridge = await getBridge();
43
43
  if (bridge) {
44
44
  const bridgeResult = await bridge.bridgeLoadEmbeddingModel();
@@ -185,7 +185,7 @@ export async function generateEmbedding(text) {
185
185
  text = String(text ?? '');
186
186
  if (text.length > 16 * 1024)
187
187
  text = text.slice(0, 16 * 1024);
188
- // ADR-053: Try AgentDB v1 bridge first
188
+ // ADR-053: Try LanceDB bridge first
189
189
  const bridge = await getBridge();
190
190
  if (bridge) {
191
191
  const bridgeResult = await bridge.bridgeGenerateEmbedding(text);
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as fs from 'fs';
8
8
  import * as path from 'path';
9
- // ADR-053: Lazy import of AgentDB v1 bridge
9
+ // ADR-053: Lazy import of LanceDB memory bridge
10
10
  let _bridge;
11
11
  async function getBridge() {
12
12
  if (_bridge === null)
@@ -53,7 +53,7 @@ export async function getHNSWIndex(options) {
53
53
  // Native @monoes/core HNSW (WASM VectorDb) was removed in the lean teardown.
54
54
  // This function is kept for callers that check its return value — all callers
55
55
  // already handle null by falling back to the pure-JS / brute-force path.
56
- // The AgentDB bridge (memory-bridge.ts) provides HNSW via agentdb instead.
56
+ // The memory bridge (memory-bridge.ts) provides ANN search via LanceDB.
57
57
  // Native backend removed — return null so callers use the pure-JS fallback.
58
58
  hnswInitializing = false;
59
59
  return null;
@@ -85,7 +85,7 @@ function saveHNSWMetadata() {
85
85
  * Add entry to HNSW index (with automatic persistence)
86
86
  */
87
87
  export async function addToHNSWIndex(id, embedding, entry) {
88
- // ADR-053: Try AgentDB v1 bridge first
88
+ // ADR-053: Try LanceDB memory bridge first
89
89
  const bridge = await getBridge();
90
90
  if (bridge) {
91
91
  const bridgeResult = await bridge.bridgeAddToHNSW(id, embedding, entry);
@@ -115,7 +115,7 @@ export async function addToHNSWIndex(id, embedding, entry) {
115
115
  * Returns results sorted by similarity (highest first)
116
116
  */
117
117
  export async function searchHNSWIndex(queryEmbedding, options) {
118
- // ADR-053: Try AgentDB v1 bridge first
118
+ // ADR-053: Try LanceDB memory bridge first
119
119
  const bridge = await getBridge();
120
120
  if (bridge) {
121
121
  const bridgeResult = await bridge.bridgeSearchHNSW(queryEmbedding, options);
@@ -166,7 +166,7 @@ export async function searchHNSWIndex(queryEmbedding, options) {
166
166
  export function getHNSWStatus() {
167
167
  // ADR-053: If bridge was previously loaded, report availability
168
168
  if (_bridge && _bridge !== null) {
169
- // Bridge is loaded — HNSW-equivalent is available via AgentDB v1
169
+ // Bridge is loaded — HNSW-equivalent is available via LanceDB
170
170
  return {
171
171
  available: true,
172
172
  initialized: true,
@@ -729,7 +729,7 @@ export async function recordStep(step) {
729
729
  }
730
730
  try {
731
731
  // Generate embedding if not provided
732
- // ADR-053: Try AgentDB v1 bridge embedder first
732
+ // ADR-053: Try LanceDB bridge embedder first
733
733
  let embedding = step.embedding;
734
734
  if (!embedding) {
735
735
  try {
@@ -830,7 +830,7 @@ export async function findSimilarPatterns(query, options) {
830
830
  return [];
831
831
  }
832
832
  try {
833
- // ADR-053: Try AgentDB v1 bridge embedder first
833
+ // ADR-053: Try LanceDB bridge embedder first
834
834
  let queryEmbedding = null;
835
835
  try {
836
836
  const bridge = await import('./memory-bridge.js');