Context
A declared sharedLists ref (e.g. evmChains) could arrive empty (content:[]) with status:true — a silent failure. Root cause: callTool/serve rebuilt the schema file path via join(#schemasDir(), file) against the obsolete ~/.flowmcp/schemas staging dir (a Memo-099 migration rest), so _lists/ was never found and shared-list resolution silently returned {}.
Changes
- Shared-list fix: one source of truth
#resolveSchemaFilePath for the schema file path; callTool (param + handler path), serve and the resource-query path all use it. A declared-but-unresolvable shared list now fails loud with a code (LST-001/HND-001) instead of a silent empty list.
- Error-code coverage:
CliError class + a code field on the error helper + #emitCoded (silent on benign ENOENT/ENOTDIR). Every caught failure now carries a PREFIX-NNN code.
flowmcp doctor: structural health check over schemaFolders[] (lists / modules / refs / config), reported by code, exit 1 on any ERROR.
flowmcp --version / flowmcp version: CLI version stamp.
Verification
922 tests green (860 unit + 62 integration). get_available_chains_etherscan returns the full chain list again. doctor surfaces real pre-existing schema/dependency issues by code.
Context
A declared
sharedListsref (e.g.evmChains) could arrive empty (content:[]) withstatus:true— a silent failure. Root cause:callTool/serverebuilt the schema file path viajoin(#schemasDir(), file)against the obsolete~/.flowmcp/schemasstaging dir (a Memo-099 migration rest), so_lists/was never found and shared-list resolution silently returned{}.Changes
#resolveSchemaFilePathfor the schema file path;callTool(param + handler path),serveand the resource-query path all use it. A declared-but-unresolvable shared list now fails loud with a code (LST-001/HND-001) instead of a silent empty list.CliErrorclass + acodefield on the error helper +#emitCoded(silent on benignENOENT/ENOTDIR). Every caught failure now carries aPREFIX-NNNcode.flowmcp doctor: structural health check overschemaFolders[](lists / modules / refs / config), reported by code, exit 1 on any ERROR.flowmcp --version/flowmcp version: CLI version stamp.Verification
922 tests green (860 unit + 62 integration).
get_available_chains_etherscanreturns the full chain list again.doctorsurfaces real pre-existing schema/dependency issues by code.