statecli-mcp-server 0.4.0 → 0.4.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/README.md CHANGED
@@ -61,6 +61,7 @@ Now StateCLI automatically:
61
61
  - ✅ Creates checkpoints every 15 min
62
62
  - ✅ Lets you undo any mistake
63
63
  - ✅ Shows what changed recently
64
+ - ✅ **Windows Native Support** (v0.4.1+)
64
65
 
65
66
  **See what changed:**
66
67
  ```bash
@@ -10,6 +10,7 @@ export declare class FileWatcher {
10
10
  private stateCLI;
11
11
  private config;
12
12
  private lastCheckpoint;
13
+ private fileSnapshots;
13
14
  constructor(stateCLI: StateCLI, config: WatcherConfig);
14
15
  start(): void;
15
16
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAsB;gBAEhC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa;IAKrD,KAAK,IAAI,IAAI;IAmCb,IAAI,IAAI,IAAI;YAOE,gBAAgB;YAehB,aAAa;YAkBb,gBAAgB;YAWhB,cAAc;IAc5B,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,IAAI,CAAA;KAAE;CAM7D"}
1
+ {"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,aAAa,CAAkC;gBAE3C,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa;IAKrD,KAAK,IAAI,IAAI;IAiEb,IAAI,IAAI,IAAI;YAOE,gBAAgB;YAuBhB,aAAa;YAsBb,gBAAgB;YAahB,cAAc;IAc5B,QAAQ,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,IAAI,CAAA;KAAE;CAM7D"}
@@ -32,45 +32,80 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.FileWatcher = void 0;
37
40
  const fs = __importStar(require("fs"));
38
41
  const path = __importStar(require("path"));
39
- const chokidar = __importStar(require("chokidar"));
42
+ const node_watch_1 = __importDefault(require("node-watch"));
40
43
  class FileWatcher {
41
44
  watcher = null;
42
45
  stateCLI;
43
46
  config;
44
47
  lastCheckpoint = Date.now();
48
+ fileSnapshots = new Map();
45
49
  constructor(stateCLI, config) {
46
50
  this.stateCLI = stateCLI;
47
51
  this.config = config;
48
52
  }
49
53
  start() {
50
54
  const watchPaths = this.config.paths;
51
- const ignore = this.config.ignore || [
52
- '**/node_modules/**',
53
- '**/.git/**',
54
- '**/dist/**',
55
- '**/build/**',
56
- '**/.next/**',
57
- '**/coverage/**'
55
+ // Basic ignore list - substrings to ignore
56
+ const ignoredSubstrings = [
57
+ 'node_modules',
58
+ '.git',
59
+ 'dist',
60
+ 'build',
61
+ '.next',
62
+ 'coverage',
63
+ '.statecli'
58
64
  ];
59
- console.log(`🔍 StateCLI watching: ${watchPaths.join(', ')}`);
60
- this.watcher = chokidar.watch(watchPaths, {
61
- ignored: ignore,
62
- persistent: true,
63
- ignoreInitial: true,
64
- awaitWriteFinish: {
65
- stabilityThreshold: 500,
66
- pollInterval: 100
65
+ // Filter function for node-watch
66
+ // Return true to include/watch, false to ignore
67
+ const filter = (name) => {
68
+ for (const ignored of ignoredSubstrings) {
69
+ // Check if path contains the ignored substring
70
+ // Using platform specific separator check might be safer but substring is usually ok for these standard names
71
+ if (name.includes(ignored))
72
+ return false;
67
73
  }
68
- });
69
- this.watcher
70
- .on('change', (filePath) => this.handleFileChange(filePath))
71
- .on('add', (filePath) => this.handleFileAdd(filePath))
72
- .on('unlink', (filePath) => this.handleFileDelete(filePath))
73
- .on('error', (error) => console.error(`Watcher error: ${error}`));
74
+ // Also ignore changes to specific files like .DS_Store
75
+ if (name.endsWith('.DS_Store'))
76
+ return false;
77
+ return true;
78
+ };
79
+ console.log(`🔍 StateCLI watching: ${watchPaths.join(', ')}`);
80
+ try {
81
+ this.watcher = (0, node_watch_1.default)(watchPaths, {
82
+ recursive: true,
83
+ filter: filter,
84
+ delay: 200 // Wait 200ms for file write to finish/debounce
85
+ });
86
+ this.watcher.on('change', (evt, name) => {
87
+ // name is the full path
88
+ if (evt === 'update') {
89
+ // Check if it's a new file or existing
90
+ if (this.fileSnapshots.has(name)) {
91
+ console.log(`📝 File changed: ${name}`);
92
+ this.handleFileChange(name);
93
+ }
94
+ else {
95
+ console.log(`➕ File added: ${name}`);
96
+ this.handleFileAdd(name);
97
+ }
98
+ }
99
+ else if (evt === 'remove') {
100
+ console.log(`🗑️ File deleted: ${name}`);
101
+ this.handleFileDelete(name);
102
+ }
103
+ });
104
+ console.log('✅ Watcher ready (using node-watch)');
105
+ }
106
+ catch (error) {
107
+ console.error('Failed to start watcher:', error);
108
+ }
74
109
  // Auto-checkpoint timer
75
110
  if (this.config.autoCheckpoint) {
76
111
  setInterval(() => this.autoCheckpoint(), (this.config.checkpointInterval || 15) * 60 * 1000);
@@ -86,12 +121,18 @@ class FileWatcher {
86
121
  const relativePath = path.relative(process.cwd(), filePath);
87
122
  console.log(`📝 Changed: ${relativePath}`);
88
123
  try {
124
+ // Read new content
89
125
  const content = fs.readFileSync(filePath, 'utf-8');
90
126
  const entity = `file:${relativePath}`;
91
- // Track the file change
92
- this.stateCLI.trackFile(entity, content, content);
127
+ // Get previous content from snapshots or use empty string
128
+ const previousContent = this.fileSnapshots.get(filePath) || '';
129
+ // Track the file change with proper before/after
130
+ this.stateCLI.trackFile(entity, previousContent, content);
131
+ // Update snapshot
132
+ this.fileSnapshots.set(filePath, content);
93
133
  }
94
134
  catch (error) {
135
+ // If file was deleted rapidly or read failed
95
136
  console.error(`Error tracking ${filePath}:`, error);
96
137
  }
97
138
  }
@@ -100,6 +141,8 @@ class FileWatcher {
100
141
  console.log(`➕ Added: ${relativePath}`);
101
142
  try {
102
143
  const content = fs.readFileSync(filePath, 'utf-8');
144
+ // Initialize snapshot
145
+ this.fileSnapshots.set(filePath, content);
103
146
  this.stateCLI.track('file', relativePath, {
104
147
  action: 'created',
105
148
  timestamp: new Date().toISOString(),
@@ -108,12 +151,14 @@ class FileWatcher {
108
151
  }, 'watcher');
109
152
  }
110
153
  catch (error) {
111
- console.error(`Error tracking ${filePath}:`, error);
154
+ // File might be deleted immediately
155
+ // console.error(`Error tracking ${filePath}:`, error);
112
156
  }
113
157
  }
114
158
  async handleFileDelete(filePath) {
115
159
  const relativePath = path.relative(process.cwd(), filePath);
116
160
  console.log(`🗑️ Deleted: ${relativePath}`);
161
+ this.fileSnapshots.delete(filePath);
117
162
  this.stateCLI.track('file', relativePath, {
118
163
  action: 'deleted',
119
164
  timestamp: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "statecli-mcp-server",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "mcpName": "io.github.charo360/statecli",
5
5
  "description": "Memory and self-awareness layer for AI agents - MCP server for state tracking, replay, and undo",
6
6
  "main": "./dist/index.js",
@@ -49,6 +49,7 @@
49
49
  "better-sqlite3": "^11.0.0",
50
50
  "chokidar": "^4.0.3",
51
51
  "commander": "^12.0.0",
52
+ "node-watch": "^0.7.4",
52
53
  "uuid": "^9.0.0"
53
54
  },
54
55
  "devDependencies": {
@@ -80,4 +81,4 @@
80
81
  "publishConfig": {
81
82
  "access": "public"
82
83
  }
83
- }
84
+ }