@karmaniverous/jeeves-watcher 0.20.0 → 0.21.0-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.
package/README.md CHANGED
@@ -4,11 +4,11 @@ Filesystem watcher that keeps a [Qdrant](https://qdrant.tech/) vector store in s
4
4
 
5
5
  ## Requirements
6
6
 
7
- - **Node.js** ≥ 22.13
7
+ - **Node.js** ≥ 24.22.2
8
8
 
9
9
  ## Features
10
10
 
11
- - **Filesystem watching** — monitors directories for file changes via [chokidar](https://github.com/paulmillr/chokidar)
11
+ - **Filesystem watching** — monitors directories for file changes via [@parcel/watcher](https://github.com/parcel-bundler/watcher) (one native subscription per watch root; [chokidar](https://github.com/paulmillr/chokidar) on request or when polling)
12
12
  - **Multi-format extraction** — PDF, HTML, DOCX, Markdown, JSON and plain text (other extensions are read as plain text)
13
13
  - **Configurable chunking** — character-based text splitting with overlap control
14
14
  - **Embedding providers** — Gemini (default) or mock (for testing); extensible via provider registry
@@ -56,7 +56,8 @@ Add a `vcs` block to your config:
56
56
  | `vcs.author.name` / `vcs.author.email` | `"jeeves-watcher"` / `"watcher@localhost"` | Git commit author identity |
57
57
  | `vcs.commitThrottleMs` | `30000` | Throttle interval (ms) for batching file changes into commits. Min: 1000 |
58
58
  | `vcs.maxBatchSize` | `1000` | Maximum files per commit batch. Flushes immediately when exceeded. Min: 1 |
59
- | `vcs.branch` | `"master"` | Git branch name for VCS operations. Squash retention and startup recovery target this branch |
59
+ | `vcs.maxFileBytes` | `100000000` | Size cap for versioned files (bytes, or `k`/`m`/`g`). A new file over it is not staged; a tracked file that grows past it is untracked in its own commit. `0` disables |
60
+ | `vcs.branch` | `"master"` | Git branch name for VCS operations. Squash retention targets this branch, and startup warns when HEAD is not on it |
60
61
  | `vcs.commitMessage.enabled` | `true` | Enable AI-generated commit messages |
61
62
  | `vcs.commitMessage.provider` | `"anthropic"` | AI provider (currently only `"anthropic"` supported) |
62
63
  | `vcs.commitMessage.model` | `"claude-haiku-4-0"` | AI model for commit message generation |
@@ -140,18 +141,19 @@ To prevent unbounded history growth, the squash retention system periodically co
140
141
  - **`maxAgeDays`** and **`maxVersions`** define retention boundaries. The tighter constraint wins — if `maxAgeDays: 30` would keep 200 commits but `maxVersions: 100` caps at 100, only 100 are retained.
141
142
  - **`squashCron`** controls when squash runs (e.g., `"0 0 * * *"` = daily at midnight). Checked every 60 seconds.
142
143
  - After squash, old commits are replaced with a single "historical baseline" commit. If a remote is configured, squash triggers a force push.
144
+ - Squash rewrites history with git plumbing only: it never touches the working tree or the index, and moves the branch with a compare-and-swap, so a concurrent commit makes it stop without changing anything.
143
145
 
144
146
  ### API Endpoints
145
147
 
146
- | Endpoint | Method | Description |
147
- | ---------------------- | ------ | --------------------------------- |
148
- | `/vcs/status` | GET | VCS state for all roots |
149
- | `/vcs/history` | GET | Commit history for a path/glob |
150
- | `/vcs/show` | GET | File content at a specific commit |
151
- | `/vcs/diff` | GET | Diff between commits |
152
- | `/vcs/revert` | POST | Restore files from a past commit |
153
- | `/vcs/exclude` | POST | Manage gitignore exclusions |
154
- | `/vcs/check-exclusion` | GET | Check gitignore status of a path |
148
+ | Endpoint | Method | Description |
149
+ | --- | --- | --- |
150
+ | `/vcs/status` | GET | VCS state for all roots |
151
+ | `/vcs/history` | GET | Commit history for a path/glob |
152
+ | `/vcs/show` | GET | File content at a specific commit |
153
+ | `/vcs/diff` | GET | Diff between commits |
154
+ | `/vcs/revert` | POST | Restore files from a past commit |
155
+ | `/vcs/exclude` | POST | VCS-only exclusion (`.git/info/exclude`), untracking matches |
156
+ | `/vcs/check-exclusion` | GET | Whether git ignores a path: rule, file, line |
155
157
 
156
158
  ## JsonMap Built-in Helpers
157
159
 
@@ -202,6 +204,8 @@ Full docs, guides, and API reference:
202
204
 
203
205
  **[docs.karmanivero.us/jeeves-watcher](https://docs.karmanivero.us/jeeves-watcher)**
204
206
 
207
+ Upgrading an existing deployment? See [Upgrading](guides/upgrading.md).
208
+
205
209
  ## License
206
210
 
207
211
  BSD-3-Clause