@mmnto/mcp 1.109.0 → 1.111.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.
@@ -1 +1 @@
1
- {"version":3,"file":"add-lesson.d.ts","sourceRoot":"","sources":["../../src/tools/add-lesson.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqBzE,6EAA6E;AAC7E,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AA0GD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwKzD"}
1
+ {"version":3,"file":"add-lesson.d.ts","sourceRoot":"","sources":["../../src/tools/add-lesson.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyBzE,6EAA6E;AAC7E,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AA0GD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuPzD"}
@@ -2,7 +2,7 @@ import { spawn } from 'node:child_process';
2
2
  import * as fs from 'node:fs';
3
3
  import * as path from 'node:path';
4
4
  import { z } from 'zod';
5
- import { acquireLock, generateLessonHeading, LessonRoleSchema, sanitize, writeLessonFileAsync, } from '@mmnto/totem';
5
+ import { acquireLock, generateLessonHeading, hasFullSyncCheckpoint, LessonRoleSchema, sanitize, writeLessonFileAsync, } from '@mmnto/totem';
6
6
  import { getContext, reconnectStore } from '../context.js';
7
7
  import { detectPackageManager } from '../utils.js';
8
8
  import { formatXmlResponse } from '../xml-format.js';
@@ -10,6 +10,9 @@ import { formatXmlResponse } from '../xml-format.js';
10
10
  // Rate limiting (#844) — simple in-memory session counter
11
11
  // ---------------------------------------------------------------------------
12
12
  const MAX_LESSONS_PER_SESSION = 25;
13
+ // Bounded lock-acquisition budget (#2564 leg MAJOR-R1): 4 retries ≈ 7.5s
14
+ // worst-case backoff before falling back to the lockless write.
15
+ const MAX_LESSON_LOCK_RETRIES = 4;
13
16
  let sessionLessonCount = 0;
14
17
  /** Exported for testing — reset the rate-limit counter between test runs. */
15
18
  export function _resetRateLimit() {
@@ -115,7 +118,7 @@ function runSync(projectRoot) {
115
118
  }
116
119
  export function registerAddLesson(server) {
117
120
  server.registerTool('add_lesson', {
118
- description: 'Persist a lesson learned to .totem/lessons/. An incremental re-index runs automatically and the result is returned.',
121
+ description: 'Persist a lesson learned to .totem/lessons/. An incremental re-index runs automatically and the result is returned — unless a full re-index is already in progress, in which case the sync is deferred (the response says so) and the lesson indexes on the next sync.',
119
122
  inputSchema: {
120
123
  lesson: z.string().describe('The lesson text to persist'),
121
124
  context_tags: z
@@ -213,17 +216,92 @@ export function registerAddLesson(server) {
213
216
  appliesToLine +
214
217
  `${bodyContent}\n` +
215
218
  provenance;
216
- // Acquire lock before writing lesson, release before spawning sync
217
- // (the spawned sync process acquires its own lock via runSync/withLock)
218
- const releaseLock = await acquireLock(totemDir);
219
+ // #2564 (leg MAJOR-2): a live full re-index holds the sync lock
220
+ // unstealably for corpus-sized wall-clock, so contending on it here
221
+ // is a deterministic multi-minute block ending in SYNC_FAILED — the
222
+ // lesson would be LOST. Under a live epoch, write WITHOUT the lock:
223
+ // the filename is content-hash unique and the epoch holder only
224
+ // READS this directory; indexing defers to the epoch either way
225
+ // (#2562 deferral below).
226
+ // Leg MAJOR-R1: the checkpoint marker is a proxy — a long paced
227
+ // INCREMENTAL hold never writes one, and the fresh-full prelude holds
228
+ // the lock before writing it. So the marker check is only the fast
229
+ // path; the acquisition itself is BOUNDED (~7.5s worst case), and a
230
+ // timeout falls back to the same lockless write. A timeout USUALLY
231
+ // means a live long sync, but not provably (leg MINOR-S1: an
232
+ // undeletable corrupt lock or sustained short-hold churn also
233
+ // exhausts the budget) — the fallback is safe regardless: no lock
234
+ // holder mutates this directory, and the next sync indexes the file.
219
235
  let fileName;
220
- try {
236
+ let lockTimedOut = false;
237
+ if (hasFullSyncCheckpoint(totemDir)) {
221
238
  const writtenPath = await writeLessonFileAsync(lessonsDir, entry);
222
239
  fileName = path.basename(writtenPath);
223
240
  sessionLessonCount++;
224
241
  }
225
- finally {
226
- releaseLock();
242
+ else {
243
+ let releaseLock = null;
244
+ try {
245
+ releaseLock = await acquireLock(totemDir, undefined, {
246
+ maxRetries: MAX_LESSON_LOCK_RETRIES,
247
+ });
248
+ }
249
+ catch (err) {
250
+ if (err.code !== 'SYNC_FAILED')
251
+ throw err;
252
+ lockTimedOut = true;
253
+ }
254
+ if (releaseLock) {
255
+ // Acquired: write under the lock, release before spawning sync
256
+ // (the spawned sync process takes its own lock via runSync/withLock)
257
+ try {
258
+ const writtenPath = await writeLessonFileAsync(lessonsDir, entry);
259
+ fileName = path.basename(writtenPath);
260
+ sessionLessonCount++;
261
+ }
262
+ finally {
263
+ releaseLock();
264
+ }
265
+ }
266
+ else {
267
+ const writtenPath = await writeLessonFileAsync(lessonsDir, entry);
268
+ fileName = path.basename(writtenPath);
269
+ sessionLessonCount++;
270
+ }
271
+ }
272
+ // Whatever exhausted the budget also blocks a convenience sync (it
273
+ // would contend on the same lock and die by its kill-timer) — defer.
274
+ // The message claims neither a cause nor that the running sync will
275
+ // index this file (its file list predates our write — leg NIT-S1):
276
+ // the next sync picks it up via the untracked-files union.
277
+ if (lockTimedOut) {
278
+ return {
279
+ content: [
280
+ {
281
+ type: 'text',
282
+ text: formatXmlResponse('lesson_added', `Lesson saved to ${config.totemDir}/lessons/${fileName}. Sync deferred: the sync lock could not be acquired within the bounded budget (usually another running sync) — the lesson will be indexed on the next \`totem sync\`.`),
283
+ },
284
+ ],
285
+ };
286
+ }
287
+ // #2562 (falsification round 3, MAJOR 1): while a full re-index epoch
288
+ // is in progress, ANY sync is promoted to the paced full resume — a
289
+ // corpus-sized job this tool's 60s kill-timer can never wait out. The
290
+ // lesson is already written; skip the convenience sync and let the
291
+ // running epoch (or the next `totem sync`) index it, instead of
292
+ // deterministically reporting a spurious timeout failure. Re-derived
293
+ // here (not reused from the lock bypass above) so an epoch that began
294
+ // while we held the lock still defers, and one that completed while
295
+ // we wrote locklessly falls through to a now-uncontended sync.
296
+ if (hasFullSyncCheckpoint(totemDir)) {
297
+ return {
298
+ content: [
299
+ {
300
+ type: 'text',
301
+ text: formatXmlResponse('lesson_added', `Lesson saved to ${config.totemDir}/lessons/${fileName}. Sync deferred: a full re-index is in progress — the lesson will be indexed when it completes (or on the next \`totem sync\`).`),
302
+ },
303
+ ],
304
+ };
227
305
  }
228
306
  const isJoining = activeSyncPromise !== null;
229
307
  if (!activeSyncPromise) {
@@ -1 +1 @@
1
- {"version":3,"file":"add-lesson.js","sourceRoot":"","sources":["../../src/tools/add-lesson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-lesson.js","sourceRoot":"","sources":["../../src/tools/add-lesson.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ vi.mock('@mmnto/totem', async () => {
12
12
  return {
13
13
  acquireLock: vi.fn(async () => vi.fn()),
14
14
  generateLessonHeading: vi.fn((body) => body.slice(0, 40)),
15
+ // No live full-sync epoch in these tests — the convenience sync runs
16
+ // (the #2562 deferral path has its own dedicated tests below).
17
+ hasFullSyncCheckpoint: vi.fn(() => false),
15
18
  sanitize: vi.fn((t) => t),
16
19
  writeLessonFileAsync: vi.fn(async (_dir, entry) => {
17
20
  lastWrittenEntry = entry;
@@ -201,6 +204,77 @@ describe('add_lesson auth model (#844)', () => {
201
204
  expect(Object.keys(env).some((k) => k.toLowerCase() === 'path')).toBe(true);
202
205
  expect(typeof opts.shell).toBe('boolean');
203
206
  });
207
+ // --- Live full-sync epoch deferral (#2562, falsification round 3 MAJOR 1) ---
208
+ it('defers the convenience sync while a full re-index checkpoint is live', async () => {
209
+ const { spawn } = await import('node:child_process');
210
+ const { acquireLock, hasFullSyncCheckpoint } = await import('@mmnto/totem');
211
+ // Consulted twice on the live path (#2564 leg MAJOR-2): once for the
212
+ // lock bypass, once (re-derived) for the sync deferral.
213
+ vi.mocked(hasFullSyncCheckpoint).mockReturnValueOnce(true).mockReturnValueOnce(true);
214
+ const spawnCallsBefore = vi.mocked(spawn).mock.calls.length;
215
+ const lockCallsBefore = vi.mocked(acquireLock).mock.calls.length;
216
+ const result = (await handle({
217
+ lesson: 'Written during a live epoch',
218
+ context_tags: ['test'],
219
+ }));
220
+ // The lesson is written, the 60s-killed sync is NOT spawned (a promoted
221
+ // paced resume can never finish inside its timeout), and the response
222
+ // says so honestly instead of reporting a spurious timeout failure.
223
+ expect(result.isError).toBeUndefined();
224
+ expect(lastWrittenEntry).toContain('Written during a live epoch');
225
+ expect(vi.mocked(spawn).mock.calls.length).toBe(spawnCallsBefore);
226
+ expect(result.content[0].text).toContain('Sync deferred');
227
+ // #2564 (leg MAJOR-2): under a live epoch the lock is held unstealably
228
+ // for corpus-sized wall-clock — the write must NOT contend on it, or the
229
+ // tool blocks for the full acquisition budget and the lesson is lost.
230
+ expect(vi.mocked(acquireLock).mock.calls.length).toBe(lockCallsBefore);
231
+ });
232
+ it('takes the sync lock (bounded) on the normal path', async () => {
233
+ // Leg NIT-R2: the live-path cell asserts the lock is NOT taken; without
234
+ // this inverse cell a mutant removing locking entirely stays green.
235
+ const { acquireLock } = await import('@mmnto/totem');
236
+ const lockCallsBefore = vi.mocked(acquireLock).mock.calls.length;
237
+ await handle({ lesson: 'Normal path locks', context_tags: ['test'] });
238
+ expect(vi.mocked(acquireLock).mock.calls.length).toBe(lockCallsBefore + 1);
239
+ // The acquisition is bounded (leg MAJOR-R1): a long-held lock must not
240
+ // block this tool for the full ~255s default budget.
241
+ const lastLockCall = vi.mocked(acquireLock).mock.calls.at(-1);
242
+ expect(lastLockCall[2]).toMatchObject({ maxRetries: 4 });
243
+ });
244
+ it('falls back to a lockless write when the lock is held by a live long sync (leg MAJOR-R1)', async () => {
245
+ const { spawn } = await import('node:child_process');
246
+ const { acquireLock } = await import('@mmnto/totem');
247
+ // No checkpoint marker (a long paced INCREMENTAL hold writes none), and
248
+ // the bounded acquisition times out against the live holder.
249
+ vi.mocked(acquireLock).mockRejectedValueOnce(Object.assign(new Error('Could not acquire sync lock after 4 attempts.'), {
250
+ code: 'SYNC_FAILED',
251
+ }));
252
+ const spawnCallsBefore = vi.mocked(spawn).mock.calls.length;
253
+ const result = (await handle({
254
+ lesson: 'Written past a held lock',
255
+ context_tags: ['test'],
256
+ }));
257
+ // The lesson is WRITTEN (not lost), the convenience sync is deferred
258
+ // (it would contend on the same lock and die by its kill-timer), and the
259
+ // response claims neither an unproven cause nor indexing-by-the-holder
260
+ // (leg MINOR-S1 / NIT-S1).
261
+ expect(result.isError).toBeUndefined();
262
+ expect(lastWrittenEntry).toContain('Written past a held lock');
263
+ expect(vi.mocked(spawn).mock.calls.length).toBe(spawnCallsBefore);
264
+ expect(result.content[0].text).toContain('Sync deferred');
265
+ expect(result.content[0].text).toContain('could not be acquired');
266
+ expect(result.content[0].text).not.toContain('indexed by it');
267
+ });
268
+ it('a non-SYNC_FAILED acquisition error still fails loud (no silent lockless write)', async () => {
269
+ const { acquireLock } = await import('@mmnto/totem');
270
+ vi.mocked(acquireLock).mockRejectedValueOnce(Object.assign(new Error('EACCES: permission denied'), { code: 'EACCES' }));
271
+ const result = (await handle({
272
+ lesson: 'Should not be written',
273
+ context_tags: ['test'],
274
+ }));
275
+ expect(result.isError).toBe(true);
276
+ expect(lastWrittenEntry).not.toContain('Should not be written');
277
+ });
204
278
  });
205
279
  // ---------------------------------------------------------------------------
206
280
  // Double-heading bug (#1284)
@@ -1 +1 @@
1
- {"version":3,"file":"add-lesson.test.js","sourceRoot":"","sources":["../../src/tools/add-lesson.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-lesson.test.js","sourceRoot":"","sources":["../../src/tools/add-lesson.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmnto/mcp",
3
- "version": "1.109.0",
3
+ "version": "1.111.0",
4
4
  "description": "MCP server for Totem, the local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase",
5
5
  "type": "module",
6
6
  "engines": {
@@ -22,7 +22,7 @@
22
22
  "dotenv": "^16.4.0",
23
23
  "jiti": "^2.4.0",
24
24
  "zod": "^3.24.0",
25
- "@mmnto/totem": "1.109.0"
25
+ "@mmnto/totem": "1.111.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.0.0",