monomind 1.18.13 → 1.19.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/.claude/agents/core/researcher.md +29 -24
- package/.claude/agents/github/code-review-swarm.md +1 -1
- package/.claude/agents/github/github-modes.md +1 -1
- package/.claude/agents/github/issue-tracker.md +1 -1
- package/.claude/agents/github/multi-repo-swarm.md +1 -1
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/project-board-sync.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/github/repo-architect.md +1 -1
- package/.claude/agents/github/swarm-issue.md +1 -1
- package/.claude/agents/github/swarm-pr.md +1 -1
- package/.claude/agents/github/sync-coordinator.md +1 -1
- package/.claude/agents/github/workflow-automation.md +1 -1
- package/.claude/agents/goal/goal-planner.md +1 -1
- package/.claude/agents/specialized/specialized-workflow-architect.md +11 -14
- package/.claude/agents/testing/production-validator.md +8 -7
- package/.claude/agents/testing/testing-evidence-collector.md +3 -1
- package/.claude/commands/mastermind/_repeat.md +22 -3
- package/.claude/commands/mastermind/architect.md +1 -1
- package/.claude/commands/mastermind/autodev.md +1 -1
- package/.claude/commands/mastermind/build.md +1 -1
- package/.claude/commands/mastermind/code-review.md +5 -5
- package/.claude/commands/mastermind/debug.md +1 -1
- package/.claude/commands/mastermind/help.md +2 -2
- package/.claude/commands/mastermind/idea.md +1 -1
- package/.claude/commands/mastermind/improve.md +1 -1
- package/.claude/commands/mastermind/okf-export.md +14 -0
- package/.claude/commands/mastermind/okf-import.md +15 -0
- package/.claude/commands/mastermind/plan.md +1 -1
- package/.claude/commands/mastermind/research.md +1 -1
- package/.claude/commands/mastermind/review.md +12 -1
- package/.claude/commands/mastermind/runorg.md +1 -1
- package/.claude/commands/mastermind/taskdev.md +1 -1
- package/.claude/commands/mastermind/tdd.md +1 -1
- package/.claude/commands/mastermind/verify.md +1 -1
- package/.claude/helpers/graphify-freshen.cjs +16 -20
- package/.claude/helpers/handlers/agent-start-handler.cjs +11 -36
- package/.claude/helpers/handlers/capture-handler.cjs +110 -0
- package/.claude/helpers/handlers/route-handler.cjs +180 -256
- package/.claude/helpers/handlers/session-handler.cjs +139 -142
- package/.claude/helpers/handlers/session-restore-handler.cjs +15 -10
- package/.claude/helpers/handlers/task-handler.cjs +8 -155
- package/.claude/helpers/hook-handler.cjs +89 -5
- package/.claude/helpers/intelligence.cjs +164 -15
- package/.claude/helpers/learning-service.mjs +1 -0
- package/.claude/helpers/mastermind-activate.cjs +33 -51
- package/.claude/helpers/monolean-activate.cjs +13 -3
- package/.claude/helpers/monolean-propagate.cjs +7 -3
- package/.claude/helpers/router.cjs +47 -9
- package/.claude/helpers/utils/monograph.cjs +37 -20
- package/.claude/settings.json +0 -20
- package/.claude/skills/mastermind-skills/_repeat.md +29 -4
- package/.claude/skills/mastermind-skills/architect.md +5 -6
- package/.claude/skills/mastermind-skills/autodev.md +8 -5
- package/.claude/skills/mastermind-skills/review.md +25 -11
- package/.claude/skills/mastermind-skills/techport.md +37 -3
- package/.claude/skills/monodesign/document.md +9 -6
- package/.claude/skills/monodesign/extract.md +1 -1
- package/.claude/skills/monodesign/reference/document.md +1 -1
- package/.claude/skills/monodesign/reference/live.md +1 -1
- package/.claude/skills/monolean/SKILL.md +1 -1
- package/package.json +1 -1
- package/packages/@monomind/cli/.claude/agents/core/researcher.md +29 -24
- package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/github-modes.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/release-manager.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +1 -1
- package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +1 -1
- package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +1 -1
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +11 -14
- package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +8 -7
- package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +3 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +22 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/build.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/help.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/okf-export.md +14 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/okf-import.md +15 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/research.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/review.md +12 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +1 -1
- package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +1 -1
- package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +16 -20
- package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +11 -36
- package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +110 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +180 -256
- package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +139 -142
- package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +15 -10
- package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +8 -155
- package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +89 -5
- package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +164 -15
- package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +1 -0
- package/packages/@monomind/cli/.claude/helpers/mastermind-activate.cjs +33 -51
- package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +13 -3
- package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +7 -3
- package/packages/@monomind/cli/.claude/helpers/router.cjs +47 -9
- package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +37 -20
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/_repeat.md +29 -4
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/architect.md +5 -6
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/autodev.md +8 -5
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/review.md +25 -11
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/techport.md +37 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/document.md +9 -6
- package/packages/@monomind/cli/.claude/skills/monodesign/extract.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +1 -1
- package/packages/@monomind/cli/bin/mcp-server.js +11 -1
- package/packages/@monomind/cli/dist/src/commands/agent-ops.d.ts +1 -2
- package/packages/@monomind/cli/dist/src/commands/agent-ops.js +1 -59
- package/packages/@monomind/cli/dist/src/commands/agent.js +2 -3
- package/packages/@monomind/cli/dist/src/commands/analyze-diff.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/browse-action.js +94 -2
- package/packages/@monomind/cli/dist/src/commands/completions.js +11 -56
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/hive-mind-helpers.js +2 -2
- package/packages/@monomind/cli/dist/src/commands/hive-mind-ops.d.ts +1 -3
- package/packages/@monomind/cli/dist/src/commands/hive-mind-ops.js +2 -116
- package/packages/@monomind/cli/dist/src/commands/hive-mind.js +2 -5
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.js +8 -7
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-gaps.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-routing.js +2 -2
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.js +0 -307
- package/packages/@monomind/cli/dist/src/commands/hooks.js +1 -12
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +3 -51
- package/packages/@monomind/cli/dist/src/commands/index.js +36 -184
- package/packages/@monomind/cli/dist/src/commands/init-wizard.js +2 -4
- package/packages/@monomind/cli/dist/src/commands/mcp.js +32 -4
- package/packages/@monomind/cli/dist/src/commands/memory-admin.d.ts +1 -2
- package/packages/@monomind/cli/dist/src/commands/memory-admin.js +1 -118
- package/packages/@monomind/cli/dist/src/commands/memory-transfer.d.ts +1 -2
- package/packages/@monomind/cli/dist/src/commands/memory-transfer.js +5 -171
- package/packages/@monomind/cli/dist/src/commands/memory.js +3 -6
- package/packages/@monomind/cli/dist/src/commands/neural-core.d.ts +3 -1
- package/packages/@monomind/cli/dist/src/commands/neural-core.js +145 -6
- package/packages/@monomind/cli/dist/src/commands/neural-optimize.js +4 -4
- package/packages/@monomind/cli/dist/src/commands/neural-registry.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/neural-registry.js +4 -4
- package/packages/@monomind/cli/dist/src/commands/neural.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/neural.js +6 -6
- package/packages/@monomind/cli/dist/src/commands/performance.js +68 -58
- package/packages/@monomind/cli/dist/src/commands/providers.js +2 -131
- package/packages/@monomind/cli/dist/src/commands/security-misc.d.ts +0 -1
- package/packages/@monomind/cli/dist/src/commands/security-misc.js +69 -45
- package/packages/@monomind/cli/dist/src/commands/security.js +2 -4
- package/packages/@monomind/cli/dist/src/commands/session.js +1 -285
- package/packages/@monomind/cli/dist/src/commands/start.js +2 -41
- package/packages/@monomind/cli/dist/src/commands/status.js +18 -29
- package/packages/@monomind/cli/dist/src/commands/swarm.js +1 -1
- package/packages/@monomind/cli/dist/src/commands/task.js +2 -49
- package/packages/@monomind/cli/dist/src/commands/workflow.js +2 -104
- package/packages/@monomind/cli/dist/src/index.js +7 -0
- package/packages/@monomind/cli/dist/src/init/executor.js +3 -14
- package/packages/@monomind/cli/dist/src/init/helpers-generator.js +2 -22
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +0 -1
- package/packages/@monomind/cli/dist/src/init/types.d.ts +1 -3
- package/packages/@monomind/cli/dist/src/init/types.js +0 -2
- package/packages/@monomind/cli/dist/src/mcp-client.js +0 -6
- package/packages/@monomind/cli/dist/src/mcp-server.js +16 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +0 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/causal-infer.d.ts +5 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/causal-infer.js +32 -46
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/consensus-verify.d.ts +2 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/consensus-verify.js +22 -20
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/memory-gate.d.ts +3 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/memory-gate.js +32 -19
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/quantum-topology.d.ts +4 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/quantum-topology.js +11 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/spectral-analyze.d.ts +2 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/spectral-analyze.js +51 -32
- package/packages/@monomind/cli/dist/src/mcp-tools/coherence/types.d.ts +5 -9
- package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +2 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +25 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +0 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +45 -159
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +1 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +0 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/index.js +0 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +24 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +452 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +4 -10
- package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +28 -54
- package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +5 -17
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +2 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +4 -4
- package/packages/@monomind/cli/dist/src/mcp-tools/quality-tools.d.ts +7 -2
- package/packages/@monomind/cli/dist/src/mcp-tools/quality-tools.js +7 -257
- package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +7 -8
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +15 -16
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +37 -0
- package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +3 -21
- package/packages/@monomind/cli/dist/src/services/worker-daemon.js +13 -80
- package/packages/@monomind/cli/dist/src/suggest.js +0 -5
- package/packages/@monomind/cli/package.json +1 -1
- package/packages/@monomind/guidance/README.md +49 -1153
- package/packages/@monomind/guidance/package.json +1 -74
- package/.claude/helpers/auto-memory-hook.mjs +0 -503
- package/packages/@monomind/cli/.claude/helpers/auto-memory-hook.mjs +0 -503
- package/packages/@monomind/cli/dist/src/commands/deployment.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/commands/deployment.js +0 -706
|
@@ -1,128 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Memory Transfer Commands
|
|
3
|
-
*
|
|
3
|
+
* exportCommand, importCommand
|
|
4
4
|
*/
|
|
5
5
|
import { output } from '../output.js';
|
|
6
|
-
import { callMCPTool, MCPClientError } from '../mcp-client.js';
|
|
7
|
-
// Compress command
|
|
8
|
-
export const compressCommand = {
|
|
9
|
-
name: 'compress',
|
|
10
|
-
description: 'Compress and optimize memory storage',
|
|
11
|
-
options: [
|
|
12
|
-
{
|
|
13
|
-
name: 'level',
|
|
14
|
-
short: 'l',
|
|
15
|
-
description: 'Compression level (fast, balanced, max)',
|
|
16
|
-
type: 'string',
|
|
17
|
-
choices: ['fast', 'balanced', 'max'],
|
|
18
|
-
default: 'balanced'
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: 'target',
|
|
22
|
-
short: 't',
|
|
23
|
-
description: 'Target (vectors, text, patterns, all)',
|
|
24
|
-
type: 'string',
|
|
25
|
-
choices: ['vectors', 'text', 'patterns', 'all'],
|
|
26
|
-
default: 'all'
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'quantize',
|
|
30
|
-
short: 'z',
|
|
31
|
-
description: 'Enable vector quantization (reduces memory 4-32x)',
|
|
32
|
-
type: 'boolean',
|
|
33
|
-
default: false
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'bits',
|
|
37
|
-
description: 'Quantization bits (4, 8, 16)',
|
|
38
|
-
type: 'number',
|
|
39
|
-
default: 8
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'rebuild-index',
|
|
43
|
-
short: 'r',
|
|
44
|
-
description: 'Rebuild HNSW index after compression',
|
|
45
|
-
type: 'boolean',
|
|
46
|
-
default: true
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
examples: [
|
|
50
|
-
{ command: 'monomind memory compress', description: 'Balanced compression' },
|
|
51
|
-
{ command: 'monomind memory compress --quantize --bits 4', description: '4-bit quantization (32x reduction)' },
|
|
52
|
-
{ command: 'monomind memory compress -l max -t vectors', description: 'Max compression on vectors' }
|
|
53
|
-
],
|
|
54
|
-
action: async (ctx) => {
|
|
55
|
-
const level = ctx.flags.level || 'balanced';
|
|
56
|
-
const target = ctx.flags.target || 'all';
|
|
57
|
-
const quantize = ctx.flags.quantize;
|
|
58
|
-
const bits = ctx.flags.bits || 8;
|
|
59
|
-
const rebuildIndex = ctx.flags.rebuildIndex ?? true;
|
|
60
|
-
output.writeln();
|
|
61
|
-
output.writeln(output.bold('Memory Compression'));
|
|
62
|
-
output.writeln(output.dim(`Level: ${level}, Target: ${target}, Quantize: ${quantize ? `${bits}-bit` : 'no'}`));
|
|
63
|
-
output.writeln();
|
|
64
|
-
const spinner = output.createSpinner({ text: 'Analyzing current storage...', spinner: 'dots' });
|
|
65
|
-
spinner.start();
|
|
66
|
-
try {
|
|
67
|
-
const result = await callMCPTool('memory_compress', {
|
|
68
|
-
level,
|
|
69
|
-
target,
|
|
70
|
-
quantize,
|
|
71
|
-
bits,
|
|
72
|
-
rebuildIndex,
|
|
73
|
-
});
|
|
74
|
-
spinner.succeed('Compression complete');
|
|
75
|
-
if (ctx.flags.format === 'json') {
|
|
76
|
-
output.printJson(result);
|
|
77
|
-
return { success: true, data: result };
|
|
78
|
-
}
|
|
79
|
-
output.writeln();
|
|
80
|
-
output.writeln(output.bold('Storage Comparison'));
|
|
81
|
-
output.printTable({
|
|
82
|
-
columns: [
|
|
83
|
-
{ key: 'category', header: 'Category', width: 15 },
|
|
84
|
-
{ key: 'before', header: 'Before', width: 12, align: 'right' },
|
|
85
|
-
{ key: 'after', header: 'After', width: 12, align: 'right' },
|
|
86
|
-
{ key: 'saved', header: 'Saved', width: 12, align: 'right' }
|
|
87
|
-
],
|
|
88
|
-
data: [
|
|
89
|
-
{ category: 'Vectors', before: result.before.vectorsSize, after: result.after.vectorsSize, saved: '-' },
|
|
90
|
-
{ category: 'Text', before: result.before.textSize, after: result.after.textSize, saved: '-' },
|
|
91
|
-
{ category: 'Patterns', before: result.before.patternsSize, after: result.after.patternsSize, saved: '-' },
|
|
92
|
-
{ category: 'Index', before: result.before.indexSize, after: result.after.indexSize, saved: '-' },
|
|
93
|
-
{ category: output.bold('Total'), before: result.before.totalSize, after: result.after.totalSize, saved: output.success(result.compression.formattedSaved) }
|
|
94
|
-
]
|
|
95
|
-
});
|
|
96
|
-
output.writeln();
|
|
97
|
-
output.printBox([
|
|
98
|
-
`Compression Ratio: ${result.compression.ratio.toFixed(2)}x`,
|
|
99
|
-
`Space Saved: ${result.compression.formattedSaved}`,
|
|
100
|
-
`Quantization: ${result.compression.quantizationApplied ? `Yes (${bits}-bit)` : 'No'}`,
|
|
101
|
-
`Index Rebuilt: ${result.compression.indexRebuilt ? 'Yes' : 'No'}`,
|
|
102
|
-
`Duration: ${(result.duration / 1000).toFixed(1)}s`
|
|
103
|
-
].join('\n'), 'Results');
|
|
104
|
-
if (result.performance) {
|
|
105
|
-
output.writeln();
|
|
106
|
-
output.writeln(output.bold('Performance Impact'));
|
|
107
|
-
output.printList([
|
|
108
|
-
`Search latency: ${result.performance.searchLatencyBefore.toFixed(2)}ms → ${result.performance.searchLatencyAfter.toFixed(2)}ms`,
|
|
109
|
-
`Speedup: ${output.success(result.performance.searchSpeedup)}`
|
|
110
|
-
]);
|
|
111
|
-
}
|
|
112
|
-
return { success: true, data: result };
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
spinner.fail('Compression failed');
|
|
116
|
-
if (error instanceof MCPClientError) {
|
|
117
|
-
output.printError(`Compression error: ${error.message}`);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
121
|
-
}
|
|
122
|
-
return { success: false, exitCode: 1 };
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
6
|
// Export command
|
|
127
7
|
export const exportCommand = {
|
|
128
8
|
name: 'export',
|
|
@@ -207,31 +87,8 @@ export const exportCommand = {
|
|
|
207
87
|
return { success: false, exitCode: 1 };
|
|
208
88
|
}
|
|
209
89
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
outputPath,
|
|
213
|
-
format,
|
|
214
|
-
namespace: ctx.flags.namespace,
|
|
215
|
-
includeVectors: ctx.flags.includeVectors ?? true,
|
|
216
|
-
});
|
|
217
|
-
output.printSuccess(`Exported to ${result.outputPath}`);
|
|
218
|
-
output.printList([
|
|
219
|
-
`Entries: ${result.exported.entries}`,
|
|
220
|
-
`Vectors: ${result.exported.vectors}`,
|
|
221
|
-
`Patterns: ${result.exported.patterns}`,
|
|
222
|
-
`File size: ${result.fileSize}`
|
|
223
|
-
]);
|
|
224
|
-
return { success: true, data: result };
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
if (error instanceof MCPClientError) {
|
|
228
|
-
output.printError(`Export error: ${error.message}`);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
232
|
-
}
|
|
233
|
-
return { success: false, exitCode: 1 };
|
|
234
|
-
}
|
|
90
|
+
output.printError(`Unsupported export format: ${format}. Use --format okf for file-based export.`);
|
|
91
|
+
return { success: false, exitCode: 1 };
|
|
235
92
|
}
|
|
236
93
|
};
|
|
237
94
|
// Import command
|
|
@@ -342,31 +199,8 @@ export const importCommand = {
|
|
|
342
199
|
return { success: false, exitCode: 1 };
|
|
343
200
|
}
|
|
344
201
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
inputPath,
|
|
348
|
-
merge: ctx.flags.merge ?? true,
|
|
349
|
-
namespace: ctx.flags.namespace,
|
|
350
|
-
});
|
|
351
|
-
output.printSuccess(`Imported from ${result.inputPath}`);
|
|
352
|
-
output.printList([
|
|
353
|
-
`Entries: ${result.imported.entries}`,
|
|
354
|
-
`Vectors: ${result.imported.vectors}`,
|
|
355
|
-
`Patterns: ${result.imported.patterns}`,
|
|
356
|
-
`Skipped (duplicates): ${result.skipped}`,
|
|
357
|
-
`Duration: ${result.duration}ms`
|
|
358
|
-
]);
|
|
359
|
-
return { success: true, data: result };
|
|
360
|
-
}
|
|
361
|
-
catch (error) {
|
|
362
|
-
if (error instanceof MCPClientError) {
|
|
363
|
-
output.printError(`Import error: ${error.message}`);
|
|
364
|
-
}
|
|
365
|
-
else {
|
|
366
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
367
|
-
}
|
|
368
|
-
return { success: false, exitCode: 1 };
|
|
369
|
-
}
|
|
202
|
+
output.printError(`Unsupported import format. Provide a directory of .md files (OKF bundle) for file-based import.`);
|
|
203
|
+
return { success: false, exitCode: 1 };
|
|
370
204
|
}
|
|
371
205
|
};
|
|
372
206
|
//# sourceMappingURL=memory-transfer.js.map
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import { output } from '../output.js';
|
|
12
12
|
import { storeCommand, retrieveCommand, searchCommand } from './memory-crud.js';
|
|
13
13
|
import { listCommand, editCommand, templatesCommand } from './memory-list.js';
|
|
14
|
-
import { deleteCommand, statsCommand, configureCommand
|
|
15
|
-
import {
|
|
14
|
+
import { deleteCommand, statsCommand, configureCommand } from './memory-admin.js';
|
|
15
|
+
import { exportCommand, importCommand } from './memory-transfer.js';
|
|
16
16
|
// Init subcommand - initialize memory database using sql.js
|
|
17
17
|
const initMemoryCommand = {
|
|
18
18
|
name: 'init',
|
|
@@ -209,7 +209,6 @@ const initMemoryCommand = {
|
|
|
209
209
|
output.printList([
|
|
210
210
|
`Store data: ${output.highlight('monomind memory store -k "key" --value "data"')}`,
|
|
211
211
|
`Search: ${output.highlight('monomind memory search -q "query"')}`,
|
|
212
|
-
`Train patterns: ${output.highlight('monomind neural train -p coordination')}`,
|
|
213
212
|
`View stats: ${output.highlight('monomind memory stats')}`
|
|
214
213
|
]);
|
|
215
214
|
// Also sync to .claude directory
|
|
@@ -248,7 +247,7 @@ const initMemoryCommand = {
|
|
|
248
247
|
export const memoryCommand = {
|
|
249
248
|
name: 'memory',
|
|
250
249
|
description: 'Memory management commands',
|
|
251
|
-
subcommands: [initMemoryCommand, storeCommand, editCommand, retrieveCommand, searchCommand, listCommand, deleteCommand, templatesCommand, statsCommand, configureCommand,
|
|
250
|
+
subcommands: [initMemoryCommand, storeCommand, editCommand, retrieveCommand, searchCommand, listCommand, deleteCommand, templatesCommand, statsCommand, configureCommand, exportCommand, importCommand],
|
|
252
251
|
options: [],
|
|
253
252
|
examples: [
|
|
254
253
|
{ command: 'monomind memory store -k "key" -v "value"', description: 'Store data' },
|
|
@@ -273,8 +272,6 @@ export const memoryCommand = {
|
|
|
273
272
|
`${output.highlight('templates')} - Show best-practice entry templates`,
|
|
274
273
|
`${output.highlight('stats')} - Show statistics`,
|
|
275
274
|
`${output.highlight('configure')} - Configure backend`,
|
|
276
|
-
`${output.highlight('cleanup')} - Clean expired entries`,
|
|
277
|
-
`${output.highlight('compress')} - Compress database`,
|
|
278
275
|
`${output.highlight('export')} - Export memory to file`,
|
|
279
276
|
`${output.highlight('import')} - Import from file`
|
|
280
277
|
]);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Neural core commands — status, patterns, predict
|
|
2
|
+
* Neural core commands — train, status, patterns, predict
|
|
3
|
+
* Pattern storage and similarity search (no ML/neural-network training)
|
|
3
4
|
*/
|
|
4
5
|
import type { Command } from '../types.js';
|
|
5
6
|
export declare const statusCommand: Command;
|
|
6
7
|
export declare const patternsCommand: Command;
|
|
8
|
+
export declare const trainCommand: Command;
|
|
7
9
|
export declare const predictCommand: Command;
|
|
8
10
|
//# sourceMappingURL=neural-core.d.ts.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Neural core commands — status, patterns, predict
|
|
2
|
+
* Neural core commands — train, status, patterns, predict
|
|
3
|
+
* Pattern storage and similarity search (no ML/neural-network training)
|
|
3
4
|
*/
|
|
4
5
|
import { output } from '../output.js';
|
|
5
6
|
// ─── status subcommand ───────────────────────────────────────────────────────
|
|
6
7
|
export const statusCommand = {
|
|
7
8
|
name: 'status',
|
|
8
|
-
description: 'Check pattern
|
|
9
|
+
description: 'Check pattern storage and similarity search status',
|
|
9
10
|
options: [
|
|
10
11
|
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Show detailed metrics' },
|
|
11
12
|
],
|
|
@@ -96,7 +97,7 @@ export const statusCommand = {
|
|
|
96
97
|
// ─── patterns subcommand ─────────────────────────────────────────────────────
|
|
97
98
|
export const patternsCommand = {
|
|
98
99
|
name: 'patterns',
|
|
99
|
-
description: '
|
|
100
|
+
description: 'List and search stored patterns',
|
|
100
101
|
options: [
|
|
101
102
|
{ name: 'action', short: 'a', type: 'string', description: 'Action: analyze, learn, predict, list', default: 'list' },
|
|
102
103
|
{ name: 'query', short: 'q', type: 'string', description: 'Pattern query for search' },
|
|
@@ -188,10 +189,148 @@ export const patternsCommand = {
|
|
|
188
189
|
}
|
|
189
190
|
},
|
|
190
191
|
};
|
|
192
|
+
// ─── train subcommand ───────────────────────────────────────────────────────
|
|
193
|
+
export const trainCommand = {
|
|
194
|
+
name: 'train',
|
|
195
|
+
description: 'Ingest outcome and edit history into the pattern store for routing optimization',
|
|
196
|
+
options: [
|
|
197
|
+
{ name: 'pattern-type', short: 't', type: 'string', description: 'Pattern type label (e.g. general, security, refactor)', default: 'general' },
|
|
198
|
+
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Show each ingested pattern' },
|
|
199
|
+
],
|
|
200
|
+
examples: [
|
|
201
|
+
{ command: 'monomind neural train', description: 'Ingest outcomes and edits into pattern store' },
|
|
202
|
+
{ command: 'monomind neural train -t security -v', description: 'Ingest with type label, verbose' },
|
|
203
|
+
],
|
|
204
|
+
action: async (ctx) => {
|
|
205
|
+
const patternType = ctx.flags['pattern-type'] || 'general';
|
|
206
|
+
const verbose = ctx.flags.verbose === true;
|
|
207
|
+
output.writeln();
|
|
208
|
+
output.writeln(output.bold('Pattern Store — Train'));
|
|
209
|
+
output.writeln(output.dim('Reads outcome/edit history and stores patterns for routing'));
|
|
210
|
+
output.writeln(output.dim('─'.repeat(50)));
|
|
211
|
+
const spinner = output.createSpinner({ text: 'Initializing intelligence layer...', spinner: 'dots' });
|
|
212
|
+
spinner.start();
|
|
213
|
+
try {
|
|
214
|
+
const fs = await import('fs');
|
|
215
|
+
const path = await import('path');
|
|
216
|
+
const crypto = await import('crypto');
|
|
217
|
+
const { initializeIntelligence, getReasoningBank, flushPatterns, getIntelligenceStats } = await import('../memory/intelligence.js');
|
|
218
|
+
await initializeIntelligence();
|
|
219
|
+
const bank = getReasoningBank();
|
|
220
|
+
if (!bank) {
|
|
221
|
+
spinner.fail('ReasoningBank not available');
|
|
222
|
+
return { success: false, exitCode: 1 };
|
|
223
|
+
}
|
|
224
|
+
const dataDir = path.join(process.cwd(), '.monomind', 'data');
|
|
225
|
+
const outcomesFile = path.join(dataDir, 'intelligence-outcomes.jsonl');
|
|
226
|
+
const editsFile = path.join(dataDir, 'recent-edits.jsonl');
|
|
227
|
+
let stored = 0;
|
|
228
|
+
const MAX_FILE_BYTES = 50 * 1024 * 1024;
|
|
229
|
+
// Helper: read a JSONL file safely, return parsed lines
|
|
230
|
+
const readJsonl = (filePath) => {
|
|
231
|
+
if (!fs.existsSync(filePath))
|
|
232
|
+
return [];
|
|
233
|
+
const stat = fs.statSync(filePath);
|
|
234
|
+
if (stat.size > MAX_FILE_BYTES) {
|
|
235
|
+
output.writeln(output.warning(`Skipping ${path.basename(filePath)}: too large (${stat.size} bytes)`));
|
|
236
|
+
return [];
|
|
237
|
+
}
|
|
238
|
+
const lines = fs.readFileSync(filePath, 'utf-8').split('\n').filter(l => l.trim());
|
|
239
|
+
const results = [];
|
|
240
|
+
for (const line of lines) {
|
|
241
|
+
try {
|
|
242
|
+
const obj = JSON.parse(line);
|
|
243
|
+
if (obj && typeof obj === 'object' && !('__proto__' in obj)) {
|
|
244
|
+
results.push(obj);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
// skip malformed lines
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return results;
|
|
252
|
+
};
|
|
253
|
+
// --- 1. Ingest intelligence-outcomes.jsonl (successful outcomes) ---
|
|
254
|
+
spinner.setText('Reading intelligence outcomes...');
|
|
255
|
+
const outcomes = readJsonl(outcomesFile);
|
|
256
|
+
const successOutcomes = outcomes.filter(o => o.success === true || o.verdict === 'success');
|
|
257
|
+
for (const outcome of successOutcomes) {
|
|
258
|
+
const content = (outcome.description || outcome.task || outcome.content || outcome.command || '');
|
|
259
|
+
if (!content || typeof content !== 'string' || content.length > 4096)
|
|
260
|
+
continue;
|
|
261
|
+
const id = `outcome_${crypto.createHash('sha256').update(content).digest('hex').substring(0, 16)}`;
|
|
262
|
+
bank.store({
|
|
263
|
+
id,
|
|
264
|
+
type: patternType,
|
|
265
|
+
content,
|
|
266
|
+
confidence: typeof outcome.confidence === 'number' ? outcome.confidence : 0.8,
|
|
267
|
+
embedding: [],
|
|
268
|
+
metadata: { source: 'intelligence-outcomes', originalType: outcome.type },
|
|
269
|
+
});
|
|
270
|
+
stored++;
|
|
271
|
+
if (verbose)
|
|
272
|
+
output.writeln(output.dim(` + ${id}: ${content.substring(0, 60)}`));
|
|
273
|
+
}
|
|
274
|
+
// --- 2. Ingest recent-edits.jsonl (edit history) ---
|
|
275
|
+
spinner.setText('Reading edit history...');
|
|
276
|
+
const edits = readJsonl(editsFile);
|
|
277
|
+
for (const edit of edits) {
|
|
278
|
+
const file = (edit.file || edit.path || '');
|
|
279
|
+
const operation = (edit.operation || edit.action || 'edit');
|
|
280
|
+
if (!file || typeof file !== 'string')
|
|
281
|
+
continue;
|
|
282
|
+
const content = `${operation}: ${file}`;
|
|
283
|
+
const id = `edit_${crypto.createHash('sha256').update(content + String(edit.timestamp || '')).digest('hex').substring(0, 16)}`;
|
|
284
|
+
bank.store({
|
|
285
|
+
id,
|
|
286
|
+
type: patternType,
|
|
287
|
+
content,
|
|
288
|
+
confidence: 0.7,
|
|
289
|
+
embedding: [],
|
|
290
|
+
metadata: { source: 'recent-edits', file, operation },
|
|
291
|
+
});
|
|
292
|
+
stored++;
|
|
293
|
+
if (verbose)
|
|
294
|
+
output.writeln(output.dim(` + ${id}: ${content.substring(0, 60)}`));
|
|
295
|
+
}
|
|
296
|
+
// --- 3. Flush to disk ---
|
|
297
|
+
spinner.setText('Persisting patterns...');
|
|
298
|
+
flushPatterns();
|
|
299
|
+
const stats = getIntelligenceStats();
|
|
300
|
+
spinner.succeed(`Stored ${stored} patterns from outcome/edit history`);
|
|
301
|
+
output.writeln();
|
|
302
|
+
output.printTable({
|
|
303
|
+
columns: [
|
|
304
|
+
{ key: 'metric', header: 'Metric', width: 28 },
|
|
305
|
+
{ key: 'value', header: 'Value', width: 20 },
|
|
306
|
+
],
|
|
307
|
+
data: [
|
|
308
|
+
{ metric: 'Outcomes Ingested', value: String(successOutcomes.length) },
|
|
309
|
+
{ metric: 'Edits Ingested', value: String(edits.length) },
|
|
310
|
+
{ metric: 'Patterns Stored', value: String(stored) },
|
|
311
|
+
{ metric: 'Total Patterns (bank)', value: String(stats.patternsLearned) },
|
|
312
|
+
{ metric: 'Pattern Type', value: patternType },
|
|
313
|
+
],
|
|
314
|
+
});
|
|
315
|
+
if (stored === 0) {
|
|
316
|
+
output.writeln();
|
|
317
|
+
output.writeln(output.dim('No data found to ingest. Patterns are stored as you work:'));
|
|
318
|
+
output.writeln(output.dim(' - Outcomes: .monomind/data/intelligence-outcomes.jsonl'));
|
|
319
|
+
output.writeln(output.dim(' - Edits: .monomind/data/recent-edits.jsonl'));
|
|
320
|
+
}
|
|
321
|
+
return { success: true, data: { stored, outcomes: successOutcomes.length, edits: edits.length } };
|
|
322
|
+
}
|
|
323
|
+
catch (error) {
|
|
324
|
+
spinner.fail('Training failed');
|
|
325
|
+
output.printError(error instanceof Error ? error.message : String(error));
|
|
326
|
+
return { success: false, exitCode: 1 };
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
};
|
|
191
330
|
// ─── predict subcommand ──────────────────────────────────────────────────────
|
|
192
331
|
export const predictCommand = {
|
|
193
332
|
name: 'predict',
|
|
194
|
-
description: '
|
|
333
|
+
description: 'Find similar patterns by similarity search',
|
|
195
334
|
options: [
|
|
196
335
|
{ name: 'input', short: 'i', type: 'string', description: 'Input text to predict routing for', required: true },
|
|
197
336
|
{ name: 'k', short: 'k', type: 'number', description: 'Number of top predictions', default: '5' },
|
|
@@ -210,9 +349,9 @@ export const predictCommand = {
|
|
|
210
349
|
return { success: false, exitCode: 1 };
|
|
211
350
|
}
|
|
212
351
|
output.writeln();
|
|
213
|
-
output.writeln(output.bold('
|
|
352
|
+
output.writeln(output.bold('Pattern Similarity Search'));
|
|
214
353
|
output.writeln(output.dim('─'.repeat(50)));
|
|
215
|
-
const spinner = output.createSpinner({ text: '
|
|
354
|
+
const spinner = output.createSpinner({ text: 'Searching patterns...', spinner: 'dots' });
|
|
216
355
|
spinner.start();
|
|
217
356
|
try {
|
|
218
357
|
const { initializeIntelligence, findSimilarPatterns } = await import('../memory/intelligence.js');
|
|
@@ -5,7 +5,7 @@ import { output } from '../output.js';
|
|
|
5
5
|
// ─── optimize subcommand ─────────────────────────────────────────────────────
|
|
6
6
|
export const optimizeCommand = {
|
|
7
7
|
name: 'optimize',
|
|
8
|
-
description: 'Optimize
|
|
8
|
+
description: 'Optimize pattern storage (Int8 quantization, memory compression)',
|
|
9
9
|
options: [
|
|
10
10
|
{ name: 'method', type: 'string', description: 'Method: quantize, analyze, compact', default: 'quantize' },
|
|
11
11
|
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Show detailed metrics' },
|
|
@@ -138,7 +138,7 @@ export const optimizeCommand = {
|
|
|
138
138
|
// ─── export subcommand ───────────────────────────────────────────────────────
|
|
139
139
|
export const exportCommand = {
|
|
140
140
|
name: 'export',
|
|
141
|
-
description: 'Export
|
|
141
|
+
description: 'Export stored patterns to IPFS for sharing (Ed25519 signed)',
|
|
142
142
|
options: [
|
|
143
143
|
{ name: 'model', short: 'm', type: 'string', description: 'Model ID or category to export' },
|
|
144
144
|
{ name: 'output', short: 'o', type: 'string', description: 'Output file path (optional)' },
|
|
@@ -159,7 +159,7 @@ export const exportCommand = {
|
|
|
159
159
|
const stripPii = ctx.flags['strip-pii'] !== false;
|
|
160
160
|
const customName = ctx.flags.name;
|
|
161
161
|
output.writeln();
|
|
162
|
-
output.writeln(output.bold('Secure
|
|
162
|
+
output.writeln(output.bold('Secure Pattern Export'));
|
|
163
163
|
output.writeln(output.dim('─'.repeat(50)));
|
|
164
164
|
const spinner = output.createSpinner({ text: 'Preparing export...', spinner: 'dots' });
|
|
165
165
|
spinner.start();
|
|
@@ -167,7 +167,7 @@ export const exportCommand = {
|
|
|
167
167
|
const fs = await import('fs');
|
|
168
168
|
const path = await import('path');
|
|
169
169
|
const crypto = await import('crypto');
|
|
170
|
-
spinner.setText('Collecting
|
|
170
|
+
spinner.setText('Collecting stored patterns...');
|
|
171
171
|
const { getIntelligenceStats, flushPatterns } = await import('../memory/intelligence.js');
|
|
172
172
|
await flushPatterns();
|
|
173
173
|
const stats = await getIntelligenceStats();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Neural registry commands — list and import
|
|
2
|
+
* Neural registry commands — list and import pattern sets from IPFS
|
|
3
3
|
*/
|
|
4
4
|
import { output } from '../output.js';
|
|
5
5
|
// ─── list subcommand ─────────────────────────────────────────────────────────
|
|
6
6
|
export const listCommand = {
|
|
7
7
|
name: 'list',
|
|
8
|
-
description: 'List available
|
|
8
|
+
description: 'List available pattern sets from the official registry',
|
|
9
9
|
options: [
|
|
10
10
|
{ name: 'category', type: 'string', description: 'Filter by category (security, quality, performance, etc.)' },
|
|
11
11
|
{ name: 'format', short: 'f', type: 'string', description: 'Output format: table, json, simple', default: 'table' },
|
|
@@ -115,7 +115,7 @@ export const listCommand = {
|
|
|
115
115
|
// ─── import subcommand ───────────────────────────────────────────────────────
|
|
116
116
|
export const importCommand = {
|
|
117
117
|
name: 'import',
|
|
118
|
-
description: 'Import
|
|
118
|
+
description: 'Import pattern sets from IPFS with signature verification',
|
|
119
119
|
options: [
|
|
120
120
|
{ name: 'cid', short: 'c', type: 'string', description: 'IPFS CID to import from' },
|
|
121
121
|
{ name: 'file', short: 'f', type: 'string', description: 'Local file to import' },
|
|
@@ -139,7 +139,7 @@ export const importCommand = {
|
|
|
139
139
|
return { success: false, exitCode: 1 };
|
|
140
140
|
}
|
|
141
141
|
output.writeln();
|
|
142
|
-
output.writeln(output.bold('Secure
|
|
142
|
+
output.writeln(output.bold('Secure Pattern Import'));
|
|
143
143
|
output.writeln(output.dim('─'.repeat(50)));
|
|
144
144
|
const spinner = output.createSpinner({ text: 'Fetching model...', spinner: 'dots' });
|
|
145
145
|
spinner.start();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI Neural Command
|
|
3
|
-
* Pattern
|
|
3
|
+
* Pattern storage and similarity search for routing optimization
|
|
4
4
|
*
|
|
5
5
|
* github.com/monoes/monomind
|
|
6
6
|
*/
|
|
7
7
|
import { output } from '../output.js';
|
|
8
|
-
import { statusCommand, patternsCommand, predictCommand } from './neural-core.js';
|
|
8
|
+
import { statusCommand, patternsCommand, trainCommand, predictCommand } from './neural-core.js';
|
|
9
9
|
import { optimizeCommand, exportCommand } from './neural-optimize.js';
|
|
10
10
|
import { listCommand, importCommand } from './neural-registry.js';
|
|
11
11
|
export const neuralCommand = {
|
|
12
12
|
name: 'neural',
|
|
13
|
-
description: '
|
|
14
|
-
subcommands: [statusCommand, patternsCommand, predictCommand, optimizeCommand, listCommand, exportCommand, importCommand],
|
|
13
|
+
description: 'Store and query edit patterns for routing optimization',
|
|
14
|
+
subcommands: [trainCommand, statusCommand, patternsCommand, predictCommand, optimizeCommand, listCommand, exportCommand, importCommand],
|
|
15
15
|
examples: [
|
|
16
16
|
{ command: 'monomind neural status', description: 'Check pattern-learning system status' },
|
|
17
17
|
{ command: 'monomind neural patterns --action list', description: 'List learned patterns' },
|
|
@@ -19,8 +19,8 @@ export const neuralCommand = {
|
|
|
19
19
|
],
|
|
20
20
|
action: async () => {
|
|
21
21
|
output.writeln();
|
|
22
|
-
output.writeln(output.bold('MonoMind Pattern
|
|
23
|
-
output.writeln(output.dim('
|
|
22
|
+
output.writeln(output.bold('MonoMind Pattern Storage'));
|
|
23
|
+
output.writeln(output.dim('Store and query edit patterns for routing optimization'));
|
|
24
24
|
output.writeln();
|
|
25
25
|
output.writeln('Use --help with subcommands for more info');
|
|
26
26
|
output.writeln();
|