@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 +16 -12
- package/config.schema.json +412 -210
- package/dist/cli/jeeves-watcher/{index-C9-xTM7k.js → index-CGVLEt3K.js} +18638 -11198
- package/dist/cli/jeeves-watcher/index.js +583 -185
- package/dist/index.d.ts +918 -407
- package/dist/index.js +19482 -11667
- package/package.json +32 -22
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.
|
|
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.
|
|
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
|
|
147
|
-
|
|
|
148
|
-
| `/vcs/status`
|
|
149
|
-
| `/vcs/history`
|
|
150
|
-
| `/vcs/show`
|
|
151
|
-
| `/vcs/diff`
|
|
152
|
-
| `/vcs/revert`
|
|
153
|
-
| `/vcs/exclude`
|
|
154
|
-
| `/vcs/check-exclusion` | GET
|
|
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
|