Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ All notable changes to MeMesh are documented here.

### Fixed

- A message router started before an upgrade no longer keeps routing with the old code unnoticed. The router now reports its MeMesh version when a session connects. An older router from this release on steps aside and the installed one starts. A router from 4.10.11 or earlier is refused with the command to stop it (`pkill -f dist/host-runtime/router.js`), and the Claude Code and Codex hosts print that reason instead of a bare "registration failed". A session send that falls back to its principal now also tells the sender when the intended session is not connected, since only that session can take the message in. A Codex companion record left by an older MeMesh no longer blocks the next session start: companions now use a control socket name the older one never bound, and leave its file in place. A companion killed while it connects to the router leaves a record the next start clears. When a socket that no record accounts for is in the way, or another start for the same session is still under way, the session start prints one `companion_busy` line that names the cause and leaves the file alone, instead of a bare failure: nothing can prove such a socket unused. A stopping companion no longer removes a socket another companion has since bound at the same path, and a companion that cannot stop cleanly writes why to `codex-companion.log` in the MeMesh data directory (#518).
- A small database last opened by an older release (before 4.2.11, or with Thai, Lao, Khmer, half-width katakana or rare CJK characters indexed by an older build) opens again after upgrading. Before, every open failed with "database disk image is malformed" although the database was not damaged, because an upgrade step removed keyword-index rows using the new text splitting before the index was rebuilt (#522).
- Memories about a file are shown before an edit in every session again. Once any session (or another agent on the same machine) had been shown them, every other session editing that file got nothing, and the hook record said "nothing to recall". Each session now keeps its own list (a subagent keeps one of its own), a repeat is recorded as throttled, and a list that cannot be written or cleaned up is recorded as an error instead of failing silently (#521).
- Importing with `overwrite` (MCP `import`, `POST /v1/import`, `memesh import --merge overwrite`) now keeps the memory's previous observations, tags and title in its `replaced_history`, the same way `remember` with `replace: true` does. Before, the old content was erased with no way back. Importing a file that names one memory more than once is refused before anything is written (#530).
Expand Down
8 changes: 8 additions & 0 deletions dist/core/agent-router.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ export interface AgentRouterOptions {
db: MemeshDatabase;
socket_path: string;
adapters: readonly AgentHostAdapter[];
memesh_version: string;
on_superseded?: () => void;
router_instance_id?: string;
limits?: AgentRouterLimits;
}
Expand All @@ -59,6 +61,7 @@ export interface AgentRouterRegisterRequest {
adapter_kind: string;
work_summary?: string;
auth_token?: string;
memesh_version?: string;
hops: number;
}
export interface AgentRouterDiscoverRequest {
Expand Down Expand Up @@ -160,7 +163,9 @@ export declare class AgentRouterProtocolError extends AgentRouterError {
export declare class AgentRouter {
readonly router_instance_id: string;
readonly socket_path: string;
readonly memesh_version: string;
private readonly db;
private readonly onSuperseded;
private readonly adapters;
private readonly limits;
private server;
Expand All @@ -177,6 +182,8 @@ export declare class AgentRouter {
private handleFrame;
private handleRequest;
private register;
private recordSuperseded;
private refuseIfSuperseded;
private bindExternalConnection;
private disconnectSocket;
private handleHostOutcome;
Expand All @@ -198,4 +205,5 @@ export declare class AgentRouter {
}
export declare function createAgentRouterNotifier(socketPath: string): AgentMessagePostCommitNotifier;
export declare function sendAgentRouterRequest(socketPath: string, request: AgentRouterRequest, timeoutMs?: number): Promise<AgentJsonObject>;
export declare function isNewerVersion(candidate: string, current: string): boolean;
//# sourceMappingURL=agent-router.d.ts.map
2 changes: 1 addition & 1 deletion dist/core/agent-router.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading