logicstamp-mcp 0.1.6 → 0.2.1

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/CHANGELOG.md CHANGED
@@ -5,6 +5,94 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ---
9
+
10
+ ## [Unreleased]
11
+
12
+ ## [0.2.1] - 2026-03-06
13
+
14
+ ### Added
15
+
16
+ - **Watch Mode Retry Logic** ([#35](https://github.com/LogicStamp/logicstamp-mcp/pull/35)) - Added automatic retry mechanism with exponential backoff for reading files when watch mode is active
17
+ - Initial delay before reading files: 200ms for regular watch mode, 500ms for strict watch mode
18
+ - Automatic retry up to 3 times with exponential backoff (100ms, 200ms, 400ms) if JSON parsing fails
19
+ - Prevents race conditions when watch mode is actively writing context files
20
+ - Worst case total wait: ~900ms for regular watch, ~1.1s for strict watch
21
+ - Only applies when watch mode is active - no performance impact otherwise
22
+ - Updated `logicstamp_read_bundle` and `logicstamp_list_bundles` to use retry logic
23
+ - **Documentation Warnings Against External `sleep()`** - Added explicit, prominent warnings in tool descriptions and outputs to prevent AI assistants from using unnecessary `sleep()` calls
24
+ - **Tool Descriptions** - Added "⚠️ CRITICAL: Do NOT use sleep() delays" as the FIRST line in all relevant tool descriptions (`logicstamp_watch_status`, `logicstamp_list_bundles`, `logicstamp_read_bundle`, `logicstamp_refresh_snapshot`) to ensure AI assistants see the warning immediately
25
+ - **Tool Output Warnings** - Added `warning` field to `logicstamp_read_bundle` and `logicstamp_list_bundles` outputs when watch mode is active, ensuring warnings appear in every response
26
+ - **Watch Status Messages** - Enhanced `logicstamp_watch_status` messages to explicitly state "DO NOT use sleep() delays" when watch mode is active
27
+ - **Documentation** - Added comprehensive section in `docs/logicstamp-for-llms.md` explaining why `sleep()` is unnecessary
28
+ - **Command Documentation** - Updated command documentation (`docs/commands/read-bundle.md`, `docs/commands/list-bundles.md`) with warnings that delays are internal
29
+ - Emphasizes that watch mode keeps bundles fresh automatically - AI assistants should read bundles directly without waiting
30
+ - Explains that internal retry logic handles all race conditions (200-500ms delays + exponential backoff built-in)
31
+ - Multiple warning touchpoints (descriptions, outputs, messages) ensure AI assistants cannot miss the guidance
32
+ - Prevents unnecessary delays that slow down AI assistant workflows when watch mode is active
33
+ - **Branch Testing Improvements** ([#36](https://github.com/LogicStamp/logicstamp-mcp/pull/36)) - Added comprehensive branch coverage tests for `read-logicstamp-docs.ts` and `compare-snapshot.ts`
34
+ - Added tests for filesystem root check in `findPackageRoot` function
35
+ - Added test for invalid docPath validation branch by exporting `readDocFile` for testing purposes
36
+ - Added depth validation tests (invalid, negative, non-integer values)
37
+ - Added baseline path resolution tests (snapshot, disk, custom path baselines)
38
+ - Added profile-specific command building tests for different profiles and depth combinations
39
+ - Added bundle hash comparison tests (hash changes, bundle addition/removal scenarios)
40
+ - Added tests for missing contracts, loadBundles error handling, and token delta fallback calculation
41
+ - Added cache cleanup tests for corruption detection scenarios
42
+ - Improves branch coverage for error handling paths and edge cases
43
+ - Exported `readDocFile` function for testing to enable coverage of defensive validation branch (line 93)
44
+
45
+ ### Fixed
46
+
47
+ - **TypeScript File Validation** ([#35](https://github.com/LogicStamp/logicstamp-mcp/pull/35)) - Fixed issue where TypeScript file validation errors were masked by JSON parse errors in retry logic
48
+ - Retry logic now checks for TypeScript files (starting with `import` or `export`) before attempting JSON parsing
49
+ - Ensures proper error messages when users accidentally point to TypeScript source files instead of JSON bundle files
50
+
51
+ ### Roadmap
52
+
53
+ For a comprehensive roadmap with detailed status, priorities, and implementation plans, see [ROADMAP.md](ROADMAP.md).
54
+
55
+ ---
56
+
57
+ ## [0.2.0] - 2026-03-03
58
+
59
+ ### ⚠️ Breaking Changes
60
+
61
+ - **Minimum Node.js version is now >= 20.**
62
+ - logicstamp-mcp now requires Node.js 20 or higher.
63
+ - This aligns MCP with the `logicstamp-context` CLI runtime requirements.
64
+ - Users on Node.js 18 must upgrade to continue using MCP.
65
+
66
+ ### Changed
67
+
68
+ - **Enhanced Watch Mode Functionality and Documentation** ([#26](https://github.com/LogicStamp/logicstamp-mcp/pull/26)) - Improved watch mode detection and documentation clarity
69
+ - Improved descriptions in server tools to clarify the distinction between ROOT components and DEPENDENCIES
70
+ - Added cleanup of stale watch status files when the process is no longer running across multiple tools
71
+ - Updated watch status handling to include strict watch mode detection, enhancing user awareness of breaking change detection
72
+ - Enhanced tests to verify strict watch mode functionality and its reporting in various scenarios
73
+ - Updated schemas to reflect the new strict watch mode field in watch status outputs
74
+
75
+ - **Documentation Updates and Node.js Requirement** ([#27](https://github.com/LogicStamp/logicstamp-mcp/pull/27)) - Updated Node.js requirement and enhanced documentation clarity
76
+ - Updated Node.js version requirement to >= 20 across various documentation files for consistency
77
+ - Improved clarity in documentation regarding the distinction between ROOT components and DEPENDENCIES
78
+ - Enhanced descriptions in multiple guides to reflect the latest tool capabilities and usage patterns
79
+ - Adjusted default behavior notes for `skipIfWatchActive` in the `refresh_snapshot` command
80
+
81
+ - **Documentation Improvements** ([#28](https://github.com/LogicStamp/logicstamp-mcp/pull/28)) - Updated README and roadmap for clarity and consistency
82
+ - Revised Node.js version requirement to >= 20 across documentation
83
+ - Enhanced README with a new Table of Contents and improved descriptions for better navigation and understanding
84
+ - Updated roadmap with the correct last updated date format
85
+ - Adjusted various sections for clarity, including prerequisites and features, to reflect the latest tool capabilities
86
+
87
+ - **Test Coverage Improvements** ([#29](https://github.com/LogicStamp/logicstamp-mcp/pull/29)) - Enhanced test coverage for better code quality assurance
88
+ - Added comprehensive tests for watch mode detection and direct projectPath access in `list-bundles.ts` and `read-bundle.ts`
89
+ - Added tests for TypeScript file validation and LogicStampIndex type validation in `read-bundle.ts`
90
+ - Added tests for error paths in `read-logicstamp-docs.ts` including package root detection and fallback strategies
91
+ - Added tests for server parameter validation edge cases
92
+ - Improved branch coverage for error handling paths and edge cases
93
+ - All new tests passing with improved confidence in error handling and watch mode functionality
94
+
95
+
8
96
  ## [0.1.6] - 2026-02-09
9
97
 
10
98
  ### Changed
@@ -285,6 +373,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
285
373
  - Requires `logicstamp-context` CLI to be installed globally (`npm install -g logicstamp-context`)
286
374
  - All tools are read-only - they analyze but never modify your codebase
287
375
 
376
+ [Unreleased]: https://github.com/LogicStamp/logicstamp-mcp/compare/v0.2.1...HEAD
377
+
378
+ [0.2.1]: https://github.com/LogicStamp/logicstamp-mcp/releases/tag/v0.2.1
379
+
380
+ [0.2.0]: https://github.com/LogicStamp/logicstamp-mcp/releases/tag/v0.2.0
381
+
382
+ [0.1.6]: https://github.com/LogicStamp/logicstamp-mcp/releases/tag/v0.1.6
383
+
288
384
  [0.1.5]: https://github.com/LogicStamp/logicstamp-mcp/releases/tag/v0.1.5
289
385
 
290
386
  [0.1.4]: https://github.com/LogicStamp/logicstamp-mcp/releases/tag/v0.1.4
package/README.md CHANGED
@@ -14,26 +14,44 @@
14
14
  <img src="./assets/logicstamp-fox.svg" alt="LogicStamp Fox Mascot" width="100" style="min-width: 80px;">
15
15
  </a>
16
16
 
17
- [![Version](https://img.shields.io/badge/version-0.1.6-8b5cf6.svg)](https://www.npmjs.com/package/logicstamp-mcp)
17
+ [![Version](https://img.shields.io/npm/v/logicstamp-mcp?color=8b5cf6&label=version)](https://www.npmjs.com/package/logicstamp-mcp)
18
18
  ![Beta](https://img.shields.io/badge/status-beta-orange.svg)
19
19
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
20
- ![Node](https://img.shields.io/badge/node-%3E%3D18.18.0-brightgreen.svg)
20
+ ![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)
21
21
  [![CI](https://github.com/LogicStamp/logicstamp-mcp/workflows/CI/badge.svg)](https://github.com/LogicStamp/logicstamp-mcp/actions)
22
22
 
23
23
  <br/>
24
24
 
25
- **Model Context Protocol (MCP) server for [LogicStamp Context](https://github.com/LogicStamp/logicstamp-context) - enabling AI assistants to safely analyze and understand React/TypeScript codebases and Node.js backend applications (Next.js, Express.js, NestJS).**
25
+ **Model Context Protocol (MCP) server for [LogicStamp Context](https://github.com/LogicStamp/logicstamp-context), the Context Compiler for TypeScript - exposing deterministic architectural contracts to AI agents via secure, structured context delivery.**
26
26
 
27
27
  </div>
28
28
 
29
29
  ---
30
30
 
31
- ![LogicStamp in action](./assets/logicstamp-workflow.gif)
32
-
33
- *MCP server calling the CLI to generate and consume context bundles*
31
+ ![LogicStamp MCP Workflow](./assets/logicstamp-workflow.gif)
32
+ *Example workflow: `stamp context --strict-watch` generates context bundles that MCP-powered assistants use to explain component architecture (ThemeContext shown here).*
34
33
 
35
34
  ---
36
35
 
36
+ <details>
37
+ <summary><strong>📑 Table of Contents</strong></summary>
38
+
39
+ - [Overview](#overview)
40
+ - [Features](#-features)
41
+ - [Prerequisites](#prerequisites)
42
+ - [Quick Start](#quick-start)
43
+ - [Usage Example](#usage-example)
44
+ - [Tool Reference](#tool-reference)
45
+ - [Startup Ritual](#startup-ritual)
46
+ - [Documentation](#documentation)
47
+ - [Troubleshooting](#troubleshooting)
48
+ - [Development](#development)
49
+ - [Architecture](#architecture)
50
+ - [Requirements](#requirements)
51
+ - [Need Help?](#need-help)
52
+ - [License](#license)
53
+ </details>
54
+
37
55
  ## Overview
38
56
 
39
57
  This MCP server provides AI assistants with structured access to your codebase through LogicStamp Context's analysis engine. It acts as a thin wrapper around the `stamp` CLI, offering:
@@ -45,7 +63,7 @@ This MCP server provides AI assistants with structured access to your codebase t
45
63
  - **Drift detection** - Verify changes after modifications
46
64
  - **Token optimization** - Control context size with configurable code inclusion modes
47
65
 
48
- ## Features
66
+ ## Features
49
67
 
50
68
  ### 7 Tools
51
69
 
@@ -67,7 +85,7 @@ This MCP server provides AI assistants with structured access to your codebase t
67
85
 
68
86
  ## Prerequisites
69
87
 
70
- 1. **Node.js** >= 18.18.0 (Node 20+ recommended for best performance and features)
88
+ 1. **Node.js** >= 20
71
89
  2. **LogicStamp Context CLI** - The `stamp` command must be installed and available in PATH
72
90
  ```bash
73
91
  npm install -g logicstamp-context
@@ -138,7 +156,8 @@ For more examples and workflows, see [Usage Examples](docs/mcp_integration.md#ll
138
156
 
139
157
  The MCP server provides 7 tools. For complete API documentation with input/output examples, see the [MCP Integration Guide](docs/mcp_integration.md#mcp-tools-mvp).
140
158
 
141
- ### Quick Reference
159
+ <details>
160
+ <summary><strong>📋 Quick Reference</strong></summary>
142
161
 
143
162
  **logicstamp_refresh_snapshot** - Create a snapshot of the current codebase state (STEP 1)
144
163
  - Parameters: `profile` (optional), `mode` (optional), `includeStyle` (optional), `depth` (optional), `projectPath` (required), `cleanCache` (optional), `skipIfWatchActive` (optional)
@@ -188,6 +207,8 @@ The MCP server provides 7 tools. For complete API documentation with input/outpu
188
207
  - **Use this** to check if `stamp context --watch` is running before calling refresh_snapshot
189
208
  - **When watch mode is active:** Context is being kept fresh automatically via incremental rebuilds - you can skip regeneration and just read existing bundles
190
209
 
210
+ </details>
211
+
191
212
  ## Startup Ritual
192
213
 
193
214
  When starting work with a new project, use the [Startup Ritual](docs/startup-ritual.md) to guide the AI through the recommended workflow. This ensures the AI:
@@ -287,7 +308,7 @@ When running manually, the server will wait for stdin input. Press `Ctrl+C` to e
287
308
  npm run dev
288
309
  ```
289
310
 
290
- For development details, see [MCP Integration Guide](docs/mcp_integration.md) and [Contributing Guide](CONTRIBUTING.md).
311
+ For development details, see [MCP Integration Guide](docs/mcp_integration.md).
291
312
 
292
313
  ## Architecture
293
314
 
@@ -302,39 +323,37 @@ For detailed architecture documentation, see [MCP Integration Guide](docs/mcp_in
302
323
 
303
324
  ## Requirements
304
325
 
305
- This MCP server requires:
306
- - **`stamp context` command** - Must be installed and available in PATH
307
- - The CLI generates `context_main.json` files (already JSON format)
308
- - The MCP reads these JSON files directly - no special JSON output flags needed
326
+ The LogicStamp MCP server requires:
309
327
 
310
- ## License
311
-
312
- [MIT](LICENSE)
328
+ - Node.js >= 20
329
+ - TypeScript codebase (React, Next.js, Vue (TS/TSX), Express, or NestJS)
330
+ - **`stamp context` command** - Must be installed and available in PATH:
331
+ - The CLI generates `context_main.json` files
332
+ - The MCP server reads these JSON files directly (no special flags required)
313
333
 
314
- ## Branding & Attribution
334
+ ## Need Help?
315
335
 
316
- The LogicStamp Fox mascot and related brand assets are © 2025 Amit Levi.
336
+ - **Issues** - [github.com/LogicStamp/logicstamp-mcp/issues](https://github.com/LogicStamp/logicstamp-mcp/issues)
337
+ - **Roadmap** - [logicstamp.dev/roadmap](https://logicstamp.dev/roadmap)
317
338
 
318
- These assets may not be used for third-party branding, logos, or commercial identity without permission. They are included in this repository for documentation and non-commercial use within the LogicStamp ecosystem only.
319
-
320
- ## Contributing
321
-
322
- Contributions welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
339
+ ## License
323
340
 
324
- ## Community
341
+ [MIT](LICENSE)
325
342
 
326
- This project follows a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold it.
343
+ ---
327
344
 
328
- ## Changelog
345
+ <details>
346
+ <summary>Branding & Attribution</summary>
329
347
 
330
- See [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes and version history.
348
+ The LogicStamp Fox mascot and related brand assets are © 2025 Amit Levi. These assets may not be used for third-party branding without permission.
349
+ </details>
331
350
 
332
- ## Roadmap
351
+ <details>
352
+ <summary>Contributing</summary>
333
353
 
334
- See [ROADMAP.md](ROADMAP.md) for planned enhancements and future features.
354
+ Issues and PRs welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
335
355
 
336
- ## Links
356
+ This project follows a [Code of Conduct](CODE_OF_CONDUCT.md).
357
+ </details>
337
358
 
338
- - [LogicStamp](https://logicstamp.dev) - Official website and documentation
339
- - [LogicStamp Context](https://github.com/LogicStamp/logicstamp-context) - CLI repository
340
- - [Model Context Protocol](https://modelcontextprotocol.io/) - MCP specification
359
+ **Links:** [Website](https://logicstamp.dev) · [GitHub](https://github.com/LogicStamp/logicstamp-mcp) · [CLI](https://github.com/LogicStamp/logicstamp-context) · [Changelog](https://github.com/LogicStamp/logicstamp-mcp/blob/main/CHANGELOG.md)
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAwYrC;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CASjD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAqZrC;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CASjD"}
@@ -32,7 +32,8 @@ export function createServer() {
32
32
  tools: [
33
33
  {
34
34
  name: 'logicstamp_refresh_snapshot',
35
- description: '⚠️ FIRST: Call logicstamp_watch_status! If watch mode is ACTIVE SKIP this tool, go to list_bundles read_bundle (context is fresh). ' +
35
+ description: '⚠️ CRITICAL: Do NOT use sleep() delays. After calling this tool, bundles are immediately available. When watch mode is active, skip this tool entirely and read bundles directly - they\'re already fresh. ' +
36
+ '⚠️ FIRST: Call logicstamp_watch_status! If watch mode is ACTIVE → SKIP this tool, go to list_bundles → read_bundle (context is fresh). ' +
36
37
  'Use when: watch mode INACTIVE, first-time analysis, or after large changes. Default skipIfWatchActive=true (auto-skips regeneration if watch mode active). ' +
37
38
  'WHAT IT DOES: Runs `stamp context` to analyze React/TypeScript/Node.js codebases (Next.js, Express.js, NestJS) and generate structured context files (context_main.json + per-folder context.json bundles). These are STRUCTURED DATA, not raw source. SLOW compared to reading existing context. ' +
38
39
  'WHAT YOU GET: Summary statistics (component counts, token estimates, folder structure) and a snapshotId. If watch mode is active, also includes watchMode status. ' +
@@ -87,10 +88,14 @@ export function createServer() {
87
88
  },
88
89
  {
89
90
  name: 'logicstamp_list_bundles',
90
- description: 'Lists all bundles from context_main.json. Returns bundle catalog (component names, file paths, bundle paths, token estimates). ' +
91
+ description: '⚠️ CRITICAL: Do NOT use sleep() delays before calling this tool. When watch mode is active, bundles are already fresh - call this tool directly without any waiting. ' +
92
+ 'Lists all ROOT bundles from context_main.json. Returns bundle catalog (component names, file paths, bundle paths, token estimates). ' +
93
+ 'IMPORTANT: LogicStamp organizes components into ROOT components (have their own bundles, listed here) and DEPENDENCIES (included in importing root\'s bundle.graph.nodes[], not listed here). ' +
94
+ 'If a component isn\'t in this list, it\'s a dependency - find which root imports it, then read that root\'s bundle to see the dependency contract in bundle.graph.nodes[]. ' +
91
95
  'Use bundle paths in read_bundle to get component contracts. ' +
92
96
  'Watch mode: Use projectPath directly (no snapshotId needed). Filter: folderPrefix="src/components" to filter by directory. ' +
93
- 'Next: read_bundle(snapshotId|projectPath, bundlePath).',
97
+ 'Next: read_bundle(snapshotId|projectPath, bundlePath). ' +
98
+ 'The tool handles race conditions internally - no external sleep() delays needed.',
94
99
  inputSchema: {
95
100
  type: 'object',
96
101
  properties: {
@@ -111,11 +116,15 @@ export function createServer() {
111
116
  },
112
117
  {
113
118
  name: 'logicstamp_read_bundle',
114
- description: 'Reads bundle/index file to get component contracts and dependency graphs. Reads context_main.json (project overview) or folder context.json (component contracts). ' +
119
+ description: '⚠️ CRITICAL: Do NOT use sleep() delays before calling this tool. When watch mode is active, bundles are already fresh - call this tool directly without any waiting. ' +
120
+ 'Reads bundle/index file to get component contracts and dependency graphs. Reads context_main.json (project overview) or folder context.json (component contracts). ' +
115
121
  'These are pre-parsed summaries optimized for AI - PREFER over raw .ts/.tsx files. ' +
116
- 'Bundle contains: entryId, graph.nodes[] (UIFContract), graph.edges[] (dependencies), meta.missing[] (unresolved). ' +
122
+ 'ROOT vs DEPENDENCY: Root components have their own bundles (use rootComponent param). Dependencies appear in bundle.graph.nodes[] of the root that imports them. ' +
123
+ 'If a component isn\'t found as root, it\'s a dependency - read bundles that might import it and check bundle.graph.nodes[] for the dependency contract. ' +
124
+ 'Bundle contains: entryId, graph.nodes[] (UIFContract for root + dependencies), graph.edges[] (dependencies), meta.missing[] (unresolved). ' +
117
125
  'UIFContract: kind, description, props, emits, state, exports, semanticHash, optional style metadata. ' +
118
- 'Watch mode: Use projectPath directly (no snapshotId needed). Use bundlePath="context_main.json" for overview, or folder paths from list_bundles for details.',
126
+ 'Watch mode: Use projectPath directly (no snapshotId needed). Use bundlePath="context_main.json" for overview, or folder paths from list_bundles for details. ' +
127
+ 'The tool handles race conditions internally with retry logic (200-500ms delays + exponential backoff built-in). No external sleep() delays needed.',
119
128
  inputSchema: {
120
129
  type: 'object',
121
130
  properties: {
@@ -133,7 +142,7 @@ export function createServer() {
133
142
  },
134
143
  rootComponent: {
135
144
  type: 'string',
136
- description: 'Specific root component name to filter within the bundle file (optional). If omitted, returns the first bundle in the file.',
145
+ description: 'Specific ROOT component name to filter within the bundle file (optional). Only works for root components (listed in list_bundles). If omitted, returns the first bundle. Note: Dependencies appear in bundle.graph.nodes[] of the root that imports them, not as separate root bundles.',
137
146
  },
138
147
  },
139
148
  required: ['bundlePath'],
@@ -231,12 +240,16 @@ export function createServer() {
231
240
  },
232
241
  {
233
242
  name: 'logicstamp_watch_status',
234
- description: '⚠️ CALL THIS FIRST before any other LogicStamp tool! Checks if watch mode (`stamp context --watch`) is active. ' +
243
+ description: '⚠️ CRITICAL: Do NOT use sleep() delays before calling LogicStamp tools when watch mode is active. Watch mode keeps bundles fresh automatically - just read them directly. ' +
244
+ '⚠️ CALL THIS FIRST before any other LogicStamp tool! Checks if watch mode (`stamp context --watch`) is active. ' +
235
245
  'If ACTIVE: SKIP refresh_snapshot, go to list_bundles → read_bundle (context fresh via incremental rebuilds). ' +
236
246
  'If INACTIVE: Call refresh_snapshot first. Enables zero-cost instant context access when watch mode running. ' +
237
247
  'Reads .logicstamp/context_watch-status.json and verifies process is running. ' +
238
248
  'Watch features: Incremental rebuilds (affected bundles only), change detection (props/hooks/state/components), debouncing (500ms), optional log file. ' +
239
- 'Set includeRecentLogs=true to see recent regeneration events.',
249
+ 'Strict watch mode (`stamp context --watch --strict-watch`): Also detects breaking changes. Returns strictWatch=true when enabled. ' +
250
+ 'Detection: Reads strictWatch field from .logicstamp/context_watch-status.json file (when LogicStamp CLI includes it). ' +
251
+ 'Set includeRecentLogs=true to see recent regeneration events. ' +
252
+ 'When watch mode is active, bundles are already fresh - read them directly without any sleep() delays. The tools handle race conditions internally.',
240
253
  inputSchema: {
241
254
  type: 'object',
242
255
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,6BAA6B;oBACnC,WAAW,EACT,yIAAyI;wBACzI,6JAA6J;wBAC7J,oSAAoS;wBACpS,oKAAoK;wBACpK,sGAAsG;wBACtG,6KAA6K;wBAC7K,oPAAoP;wBACpP,sKAAsK;wBACtK,wJAAwJ;wBACxJ,qFAAqF;oBACvF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;gCAC3C,WAAW,EAAE,4HAA4H;gCACzI,OAAO,EAAE,UAAU;6BACpB;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gCAChC,WAAW,EAAE,mKAAmK;gCAChL,OAAO,EAAE,QAAQ;6BAClB;4BACD,YAAY,EAAE;gCACZ,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,gPAAgP;gCAC7P,OAAO,EAAE,KAAK;6BACf;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iOAAiO;gCAC9O,OAAO,EAAE,CAAC;6BACX;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iNAAiN;6BAC/N;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,2LAA2L;gCACxM,OAAO,EAAE,KAAK;6BACf;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,8PAA8P;gCAC3Q,OAAO,EAAE,IAAI;6BACd;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,iIAAiI;wBACjI,8DAA8D;wBAC9D,6HAA6H;wBAC7H,wDAAwD;oBAC1D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6HAA6H;6BAC3I;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8HAA8H;6BAC5I;4BACD,YAAY,EAAE;gCACZ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iGAAiG;6BAC/G;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EACT,qKAAqK;wBACrK,oFAAoF;wBACpF,oHAAoH;wBACpH,uGAAuG;wBACvG,8JAA8J;oBAChK,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6HAA6H;6BAC3I;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8HAA8H;6BAC5I;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oMAAoM;6BAClN;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6HAA6H;6BAC3I;yBACF;wBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;qBACzB;iBACF;gBACD;oBACE,IAAI,EAAE,6BAA6B;oBACnC,WAAW,EACT,oHAAoH;wBACpH,yJAAyJ;wBACzJ,mHAAmH;wBACnH,mIAAmI;wBACnI,oKAAoK;wBACpK,8FAA8F;wBAC9F,gIAAgI;oBAClI,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;gCAC3C,WAAW,EAAE,qIAAqI;gCAClJ,OAAO,EAAE,UAAU;6BACpB;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gCAChC,WAAW,EAAE,uIAAuI;gCACpJ,OAAO,EAAE,QAAQ;6BAClB;4BACD,YAAY,EAAE;gCACZ,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,8PAA8P;gCAC3Q,OAAO,EAAE,KAAK;6BACf;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iMAAiM;gCAC9M,OAAO,EAAE,CAAC;6BACX;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,+OAA+O;gCAC5P,OAAO,EAAE,KAAK;6BACf;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oEAAoE;6BAClF;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8HAA8H;gCAC3I,OAAO,EAAE,MAAM;6BAChB;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,2LAA2L;gCACxM,OAAO,EAAE,KAAK;6BACf;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EACT,gHAAgH;wBAChH,2KAA2K;wBAC3K,kGAAkG;wBAClG,2GAA2G;wBAC3G,+EAA+E;oBACjF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oEAAoE;6BAClF;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,2LAA2L;gCACxM,OAAO,EAAE,KAAK;6BACf;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,iCAAiC;oBACvC,WAAW,EACT,0IAA0I;wBAC1I,4FAA4F;wBAC5F,oIAAoI;wBACpI,+DAA+D;wBAC/D,8HAA8H;oBAChI,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;iBACF;gBACD;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,iHAAiH;wBACjH,+GAA+G;wBAC/G,8GAA8G;wBAC9G,+EAA+E;wBAC/E,wJAAwJ;wBACxJ,+DAA+D;oBACjE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8EAA8E;6BAC5F;4BACD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,wIAAwI;gCACrJ,OAAO,EAAE,KAAK;6BACf;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6DAA6D;gCAC1E,OAAO,EAAE,CAAC;6BACX;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,6BAA6B,CAAC,CAAC,CAAC;oBACnC,uCAAuC;oBACvC,sEAAsE;oBACtE,iGAAiG;oBACjG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,CAAC,IAAI,IAAI,EAAE,CAAoC,CAAC,CAAC;oBACtF,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;oBAC/B,0FAA0F;oBAC1F,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBACrD,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,4GAA4G,CAC7G,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAW,CAAC,CAAC;oBAC9C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,yFAAyF;oBACzF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC9B,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,wBAAwB,CACzB,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC1C,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,4GAA4G,CAC7G,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAW,CAAC,CAAC;oBAC7C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,6BAA6B,CAAC,CAAC,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBACjD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC9C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;oBACvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;oBAC1C,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;oBAC/B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE,CAAgC,CAAC,CAAC;oBAC9E,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED;oBACE,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,cAAc,EACxB,iBAAiB,IAAI,EAAE,CACxB,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-bundles.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list-bundles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAyChC,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+HrF"}
1
+ {"version":3,"file":"list-bundles.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list-bundles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AA8GhC,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuIrF"}
@@ -2,7 +2,7 @@
2
2
  * Tool 2: logicstamp_list_bundles
3
3
  * List available bundles in a snapshot for selective loading
4
4
  */
5
- import { readFile, access } from 'fs/promises';
5
+ import { readFile, access, unlink } from 'fs/promises';
6
6
  import { join, resolve } from 'path';
7
7
  import { constants } from 'fs';
8
8
  import { stateManager } from '../state.js';
@@ -20,31 +20,87 @@ async function exists(path) {
20
20
  }
21
21
  }
22
22
  /**
23
- * Check if watch mode is active for the project
23
+ * Check if watch mode is active for the project.
24
+ * Cleans up stale status files when the process is no longer running.
25
+ * Returns watch mode status including strictWatch flag.
24
26
  */
25
27
  async function checkWatchMode(projectPath) {
26
28
  const statusPath = join(projectPath, '.logicstamp', 'context_watch-status.json');
27
29
  if (!(await exists(statusPath))) {
28
- return false;
30
+ return { active: false };
29
31
  }
30
32
  try {
31
33
  const content = await readFile(statusPath, 'utf-8');
32
34
  const status = JSON.parse(content);
33
35
  // Verify the process is still running
34
36
  if (status.pid && !isProcessRunning(status.pid)) {
35
- return false;
37
+ // Clean up stale file
38
+ try {
39
+ await unlink(statusPath);
40
+ }
41
+ catch {
42
+ // Ignore cleanup errors
43
+ }
44
+ return { active: false };
36
45
  }
37
- return status.active === true;
46
+ return {
47
+ active: status.active === true,
48
+ strictWatch: status.strictWatch === true,
49
+ };
38
50
  }
39
51
  catch {
40
- return false;
52
+ return { active: false };
53
+ }
54
+ }
55
+ /**
56
+ * Sleep utility for delays
57
+ */
58
+ function sleep(ms) {
59
+ return new Promise((resolve) => setTimeout(resolve, ms));
60
+ }
61
+ /**
62
+ * Read file with retry logic for watch mode.
63
+ * When watch mode is active, files may be in the process of being written,
64
+ * so we retry with exponential backoff if JSON parsing fails.
65
+ */
66
+ async function readFileWithRetry(filePath, watchMode, maxRetries = 3) {
67
+ // If watch mode is active, add a small initial delay to let files stabilize
68
+ // Strict watch mode does breaking change detection which may take longer
69
+ // The retry logic below handles edge cases, so shorter delays are sufficient
70
+ if (watchMode.active) {
71
+ const delay = watchMode.strictWatch ? 500 : 200; // 500ms for strict watch, 200ms for regular watch
72
+ await sleep(delay);
73
+ }
74
+ let lastError = null;
75
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
76
+ try {
77
+ const content = await readFile(filePath, 'utf-8');
78
+ // Try to parse as JSON to validate it's complete
79
+ // This catches cases where the file is partially written
80
+ JSON.parse(content);
81
+ return content;
82
+ }
83
+ catch (error) {
84
+ lastError = error instanceof Error ? error : new Error(String(error));
85
+ // If watch mode is active and this might be a race condition, retry
86
+ if (watchMode.active && attempt < maxRetries) {
87
+ // Exponential backoff: 100ms, 200ms, 400ms
88
+ const backoffDelay = 100 * Math.pow(2, attempt);
89
+ await sleep(backoffDelay);
90
+ continue;
91
+ }
92
+ // If not watch mode or out of retries, throw immediately
93
+ throw lastError;
94
+ }
41
95
  }
96
+ throw lastError || new Error('Failed to read file after retries');
42
97
  }
43
98
  export async function listBundles(input) {
44
99
  let contextDir;
45
100
  let snapshotId;
46
101
  let projectPath;
47
102
  let isWatchMode = false;
103
+ let watchStatus = { active: false };
48
104
  // Determine context directory: either from snapshot or direct disk access
49
105
  if (input.snapshotId) {
50
106
  // Use snapshot-based access
@@ -58,11 +114,14 @@ export async function listBundles(input) {
58
114
  contextDir = snapshot.contextDir;
59
115
  snapshotId = input.snapshotId;
60
116
  projectPath = snapshot.projectPath;
117
+ // Check watch mode even for snapshots (in case watch mode started after snapshot)
118
+ watchStatus = await checkWatchMode(projectPath);
119
+ isWatchMode = watchStatus.active;
61
120
  }
62
121
  else if (input.projectPath) {
63
122
  // Direct disk access - check if watch mode is active or context files exist
64
123
  projectPath = resolve(input.projectPath);
65
- const watchModeActive = await checkWatchMode(projectPath);
124
+ watchStatus = await checkWatchMode(projectPath);
66
125
  const contextMainPath = join(projectPath, 'context_main.json');
67
126
  const contextExists = await exists(contextMainPath);
68
127
  if (!contextExists) {
@@ -71,12 +130,12 @@ export async function listBundles(input) {
71
130
  `Either: (1) Start watch mode with 'stamp context --watch', or ` +
72
131
  `(2) Call logicstamp_refresh_snapshot to generate context files first.`);
73
132
  }
74
- if (!watchModeActive) {
133
+ if (!watchStatus.active) {
75
134
  // Context exists but watch mode is not active - warn but allow
76
135
  // The context might be stale, but we'll allow access
77
136
  }
78
137
  contextDir = projectPath;
79
- isWatchMode = watchModeActive;
138
+ isWatchMode = watchStatus.active;
80
139
  }
81
140
  else {
82
141
  throw new Error('Either snapshotId or projectPath is required. ' +
@@ -86,7 +145,8 @@ export async function listBundles(input) {
86
145
  try {
87
146
  // Read context_main.json to get folder information
88
147
  const contextMainPath = join(contextDir, 'context_main.json');
89
- const contextMainContent = await readFile(contextMainPath, 'utf-8');
148
+ // Use retry logic when watch mode is active to handle race conditions
149
+ const contextMainContent = await readFileWithRetry(contextMainPath, watchStatus);
90
150
  const contextMain = JSON.parse(contextMainContent);
91
151
  // Filter folders by prefix if specified
92
152
  let folders = contextMain.folders;
@@ -98,7 +158,8 @@ export async function listBundles(input) {
98
158
  for (const folder of folders) {
99
159
  const contextPath = join(contextDir, folder.path, 'context.json');
100
160
  try {
101
- const contextContent = await readFile(contextPath, 'utf-8');
161
+ // Use retry logic when watch mode is active to handle race conditions
162
+ const contextContent = await readFileWithRetry(contextPath, watchStatus);
102
163
  const bundleArray = JSON.parse(contextContent);
103
164
  // Process each bundle in the folder
104
165
  for (const bundle of bundleArray) {
@@ -133,6 +194,8 @@ export async function listBundles(input) {
133
194
  }
134
195
  if (isWatchMode) {
135
196
  output.watchMode = true;
197
+ // Add warning to help AI assistants avoid unnecessary sleep() calls
198
+ output.warning = 'Watch mode is active - bundles are already fresh. Do not use sleep() delays before reading bundles.';
136
199
  }
137
200
  return output;
138
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-bundles.js","sourceRoot":"","sources":["../../../src/mcp/tools/list-bundles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-bundles.js","sourceRoot":"","sources":["../../../src/mcp/tools/list-bundles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-bundle.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/read-bundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;AAyChC,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqKlF"}
1
+ {"version":3,"file":"read-bundle.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/read-bundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;AA0HhC,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+KlF"}