Nettoyage du dépôt : doublons, code mort, secrets, build
Fichiers hors périmètre ou dupliqués : - suppression des 5 .md dupliqués à la racine (copies md5-identiques de docs/api/ et docs/entities/) - suppression de JANITOR_main.js / JANITOR_entities.json (application Electron sans lien avec le serveur MCP) - suppression de temp/*.json (dumps de workflows versionnés par accident) et ajout de temp/ au .gitignore - suppression de claude_desktop_config_ssh.json : mots de passe en clair et variables ORACLE_* d'une architecture abandonnée - AD_API_TEST_RESULTS.md -> docs/ad-api-validation.md (credentials du snippet remplacés par des variables d'environnement) - suppression d'IMPLEMENTATION_SUMMARY.md, doublon du précédent - queries api.php -> docs/reference-queries-api.php (renommage seul) Code mort : - suppression de src/resources/documentation.js : la resource docs:// n'a jamais été branchée dans src/index.js - suppression de src/config/constants.js : module entièrement inutilisé, requis par wms-query-service.js mais dont aucune constante n'était lue. Emporte RESOURCE_URIS.WORKFLOWS_CATEGORIES, URI déclarée jamais servie. - log-service.js : suppression de findRecentErrors, readFullLog et getLogStats, exportées mais exposées par aucun outil MCP - suppression de LOG_FILE_PATTERN (lue depuis .env, jamais appliquée : le scan filtre sur .log en dur), y compris dans .env.example - log-service.js : préfixe [Logs] sur les messages, comme les autres modules Secrets : - test-ad-api.ps1 -> scripts/test-ad-api.ps1, credentials passés en paramètres ou par WMS_USERNAME / WMS_PASSWORD au lieu d'être en dur Build et test : - @yao-pkg/pkg en devDependency, cible node22-win-x64 : npm run build échouait faute de pkg, et node20 n'a pas de binaire prébuilt (bascule sur une compilation de Node qui échoue sans toolchain MSVC) - index.js : le .env est lu à côté de l'exécutable quand le serveur est packagé. Avec un chemin statique, pkg embarquait le .env dans le snapshot, figeant les credentials dans le binaire. - scripts/test-connection.js : npm test pointait sur un fichier absent. Smoke test en lecture seule (OAuth, QueryExecute, QueryScalarExecute, API AD), par profil ou sur tous. Vérifié après nettoyage : 23 outils et 6 resources répondent au handshake MCP, npm test passe 4/4 contre le WMS. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,83 +0,0 @@
|
||||
/**
|
||||
* Constants for WMS MCP Server
|
||||
*/
|
||||
|
||||
// WMS Entity Types available via Query API
|
||||
// Based on queries api.php reference
|
||||
const WMS_ENTITY_TYPES = [
|
||||
// Master Data
|
||||
'Products',
|
||||
'Containers',
|
||||
'Accounts',
|
||||
'Suppliers',
|
||||
'Kits',
|
||||
'Aliases',
|
||||
|
||||
// Operations
|
||||
'Tasks',
|
||||
'Stocks',
|
||||
'ProductLocations',
|
||||
|
||||
// Inbound
|
||||
'InboundOrders',
|
||||
'Receptions',
|
||||
|
||||
// Outbound
|
||||
'OutboundOrders'
|
||||
];
|
||||
|
||||
// Entity Categories for documentation
|
||||
const ENTITY_CATEGORIES = {
|
||||
'Master Data': ['Products', 'Containers', 'Accounts', 'Suppliers', 'Kits', 'Aliases'],
|
||||
'Operations': ['Tasks', 'Stocks', 'ProductLocations'],
|
||||
'Inbound': ['InboundOrders', 'Receptions'],
|
||||
'Outbound': ['OutboundOrders']
|
||||
};
|
||||
|
||||
// Common WMS Commands
|
||||
// These can be used with call_command_api tool
|
||||
const WMS_COMMANDS = {
|
||||
'ProductRemove': 'Mecalux.ITSW.EasyWMS.Modules.MasterData.Contracts.Commands.ProductRemoveCommand',
|
||||
'ProductUpdate': 'Mecalux.ITSW.EasyWMS.Modules.MasterData.Contracts.Commands.ProductUpdateCommand',
|
||||
'ContainerCreate': 'Mecalux.ITSW.EasyWMS.Modules.MasterData.Contracts.Commands.ContainerCreateCommand',
|
||||
'TaskCancel': 'Mecalux.ITSW.EasyWMS.Modules.Tasks.Contracts.Commands.TaskCancelCommand'
|
||||
// Add more as needed
|
||||
};
|
||||
|
||||
// MCP Resource URIs
|
||||
const RESOURCE_URIS = {
|
||||
WMS_ENTITIES: 'wms://entities',
|
||||
ENTITY_SCHEMAS: 'wms://entity-schemas',
|
||||
QUERY_EXAMPLES: 'wms://query-examples',
|
||||
WORKFLOWS_OVERVIEW: 'workflows://overview',
|
||||
WORKFLOWS_CATEGORIES: 'workflows://categories',
|
||||
API_CATALOG: 'api://catalog',
|
||||
LOGS_GUIDE: 'logs://guide'
|
||||
};
|
||||
|
||||
// Log patterns for error detection
|
||||
const LOG_ERROR_PATTERNS = [
|
||||
'ERROR',
|
||||
'EXCEPTION',
|
||||
'FATAL',
|
||||
'CRITICAL',
|
||||
'FAILED',
|
||||
'FAILURE',
|
||||
'WARNING'
|
||||
];
|
||||
|
||||
// Query limits
|
||||
const QUERY_LIMITS = {
|
||||
MAX_ROWS: parseInt(process.env.MAX_QUERY_ROWS) || 1000,
|
||||
DEFAULT_LIMIT: 100,
|
||||
TIMEOUT_MS: parseInt(process.env.QUERY_TIMEOUT) || 30000
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
WMS_ENTITY_TYPES,
|
||||
ENTITY_CATEGORIES,
|
||||
WMS_COMMANDS,
|
||||
RESOURCE_URIS,
|
||||
LOG_ERROR_PATTERNS,
|
||||
QUERY_LIMITS
|
||||
};
|
||||
Reference in New Issue
Block a user