Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
- feat: full core v0.5.1 adoption + fetchSiblings helper
#177
- feat: add fetchSiblings built-in JsonMap helper for contextual embedding
#163
- refactor: adopt createPluginToolset, ship watcher_service tool
#174
- refactor: adopt core createConfigApplyHandler for /config/apply
#173
- chore: update safe devDeps (vitest-eslint, knip, typescript-eslint)
e6d6d39
- refactor: SOLID/DRY pass across codebase
5a12f6b
- fix: break circular dependencies, clean knip config
9837178
- docs: update skill, READMEs, and diagrams for v0.17.0
f33d622
- docs: sync all documentation and diagrams with implementation
dd36465
- npm audit fix
de56ddf
- feat: bump core to ^0.5.1, engine floor >=22, adopt getPackageVersion
a032ff8
- refactor: adopt core DEFAULT_PORTS for port constants
bbf10fd
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.13.2
31238ad
- feat: wire gatewayUrl into ComponentWriter for cleanup escalation
5d6d58d
- fix: remove unused JSON_TEXT_FIELDS export (knip)
8d11ebe
- ci: drop Node 20 from Linux compatibility matrix
3601d14
31 March 2026
- feat: integrate core 0.4.6 - init before descriptor.run()
#172
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.13.1
d89a8b9
- [CORE-046] feat: integrate core 0.4.6 — init() called before descriptor.run()
83d6d4a
- chore: release @karmaniverous/jeeves-watcher v0.16.3
fc80697
31 March 2026
- feat: integrate core 0.4.5 - add run callback to descriptor
#170
- [CORE-045] feat: integrate core 0.4.5 - add run callback to descriptor
45a6400
- chore: release @karmaniverous/jeeves-watcher v0.16.2
7ccb0f1
30 March 2026
- fix: use package-directory for robust bundled CLI package root resolution
#169
- [PHASE-2] fix: use package-directory for robust package root resolution
c1039b9
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.13.0
cc124d9
- [PHASE-2] fix: resolve package root for bundled CLI entry point
4fb5308
- chore: release @karmaniverous/jeeves-watcher v0.16.1
bdcbea6
30 March 2026
- feat: core SDK adoption — descriptor, CLI factory, status handler [Phases 2-4]
#166
- feat: config path migration to jeeves-watcher/config.json (#149)
#165
- [PHASE-2] feat: core 0.4.4 + Zod 4, dep updates, descriptor definition
197b5e8
- [PHASE-2] [PHASE-3] feat: replace hand-rolled CLI with createServiceCli factory (S1)
8c09f76
- [PHASE-2] docs: sync all documentation with current implementation
34144b9
- [PHASE-2] refactor: SOLID/DRY review — extract shared patterns, consolidate constants
300707e
- [PHASE-2] test: improve coverage for touched code, remove trivial and dead tests
edb8120
- [PHASE-2] [PHASE-4] feat: plugin refactor — core CLI factory, simplified menu, new status shape
917a8e8
- [PHASE-1] feat: config path migration to jeeves-watcher/config.json (#149)
03f3efd
- npm audit fix
c58a678
- [PHASE-0] fix: improve Phase 0 fixes - add tests, graceful facets degradation, waitForIdleWorkers
3b6f015
- [PHASE-0] [#162] fix: batch embedAndUpsert to prevent OOM on large files
8555815
- [PHASE-2] [PHASE-3] feat: adopt core status handler + getBindAddress (S2/S3)
cebe47e
- [PHASE-1] fix: address Gemini review - log migration errors, remove unused resolveConfigDir
ad22e30
- chore: release @karmaniverous/jeeves-watcher v0.16.0
1ed3376
- [PHASE-0] [#161] fix: catch async rejection in onRulesChanged instead of swallowing it
642001a
- [PHASE-2] docs: align guide index structure with jeeves-server pattern
42a377b
- Merge pull request #164 from karmaniverous/bugfix/phase-0-bug-fixes
9edfeda
- [PHASE-0] [#159] fix: add try/catch to facets handler for config and schema errors
675f382
- [PHASE-0] fix: guard upsertBatchSize against zero/negative (Gemini review)
8bd7dda
28 March 2026
- fix: pause + drain event queue during prune to prevent ECONNRESET under load
#160
- fix: QdrantClient write path leaks undici Agents
#157
- perf: ValuesManager binary serialization and debounced flush
#156
- fix: EnrichmentStore SQLite recovery on startup
#155
- fix: use getter for fileSystemWatcher in API handlers
#154
- fix: Linux CI compatibility — cross-platform path test and skip integration tests without Qdrant
fce55e9
- [151] perf: ValuesManager binary serialization and debounced flush (#151)
f3517fd
- [153] fix: use getter for fileSystemWatcher in API handlers (#153)
4a81097
- [152] fix: address PR review feedback on #152
0127d01
- [120] fix: pause event queue during prune to prevent ECONNRESET under load
5896afa
- [150] fix: QdrantClient write path leaks undici Agents (#150)
8ff3286
- chore: release @karmaniverous/jeeves-watcher v0.15.2
0d0a0be
- [150] refactor: address PR review feedback on #150
1474a8d
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.12.1
2616608
- ci: add linux-compat workflow via shared gha-workflows
76cc7e0
- [153] test: simplify walk rebuild getter test
cab9526
- [120] fix: ensure queue resumes on all error paths (Gemini review)
eaf0314
- [151] refactor: address PR review feedback on #151
0002be9
- [152] fix: EnrichmentStore SQLite recovery on startup (#152)
65becff
- [120] fix: drain in-flight queue work before prune scroll
11342a9
- Merge pull request #148 from karmaniverous/bugfix/linux-compat-tests
fd56a59
25 March 2026
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.12.0
bf542de
- chore: release @karmaniverous/jeeves-watcher v0.15.1
20f2004
- chore: bump @karmaniverous/jeeves to 0.3.1
a5a6324
- ci: add permissions block to Deploy Docs caller workflow
7aed6d8
- docs: update watcher_config_apply skill text to reflect hot-reload capability
642dc80
- chore: trigger CI
1b88950
24 March 2026
- feat: hot-reload and bugfixes v0.15.0
#147
- feat: add full hot-reload with watcher rebuild on config change
#113
- fix: close EnrichmentStore on shutdown (#145), fix schema path resolution in metadata validation
#116
- refactor: convert remaining captured config refs to getters in status, render, walk, search handlers (SOLID/DRY)
c262e63
- refactor: replace captured config with getter pattern in API handlers (#144, #146)
89a568c
- chore: remove temporary TASK.md
33e8181
- perf: cache compiled rules in configMatch handler, invalidate on config change
c1821ca
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.11.0
eab6a75
- chore: release @karmaniverous/jeeves-watcher v0.15.0
199cf02
- chore: un-export unused types flagged by knip
4532c6d
23 March 2026
- feat: move detection and durable enrichment store
#143
- feat: add EnrichmentStore and composable merge utility
50dc78e
- feat: add MoveCorrelator and wire into FileSystemWatcher
4012ad5
- refactor: wire EnrichmentStore into processor, remove sidecar metadata system
49deb30
- chore: release @karmaniverous/jeeves-watcher v0.14.0
c510b0f
- feat: implement DocumentProcessor.moveFile for zero-embedding moves
d4c3a87
- feat: extend interfaces for move detection and enrichment store
8c3b109
- feat: add ContentHashCache for move detection
0130011
- test: remove trivial tests, add move pipeline integration tests
62cb933
- npm audit fix
e93ece6
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.10.0
09f1498
- docs: sync README, SKILL.md with v0.14.0 implementation (move detection, enrichment store)
c0bf11e
23 March 2026
- feat: upgrade @karmaniverous/jeeves to ^0.3.0
#141
- feat: upgrade @karmaniverous/jeeves to ^0.3.0
#140
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.9.0
746f79d
- chore: release @karmaniverous/jeeves-watcher v0.13.0
ba76250
21 March 2026
- feat: adopt @karmaniverous/jeeves core v0.2.0 SDK
#138
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.8.1
e2fdb78
- chore: release @karmaniverous/jeeves-watcher v0.12.0
a31a0c1
19 March 2026
- fix(openclaw): bundle @karmaniverous/jeeves into plugin output
#130
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.8.0
b462ff9
- fix(openclaw): copy core content/ at build time, simplify rollup externals
bdb6890
- refactor(openclaw): use core resolveWorkspacePath from @karmaniverous/jeeves@0.1.4
35d2e47
- fix(openclaw): add 10s timeout to menu generation fetch calls
3902554
- chore: release @karmaniverous/jeeves-watcher v0.11.1
1152601
- feat(openclaw): update to @karmaniverous/jeeves@0.1.6, add servicePackage/pluginPackage
fc0a16c
- fix(openclaw): update @karmaniverous/jeeves to 0.1.5 (workspace path priority fix)
6e22dc5
- fix(openclaw): update @karmaniverous/jeeves to 0.1.3 (content path fix)
2429876
- fix(openclaw): include content/ in CLI installer copy list
29ef2e5
18 March 2026
- feat(openclaw): adopt @karmaniverous/jeeves core components
#129
- docs: add embedding cost behavioral gate to plugin SKILL.md
#126
- chore: release @karmaniverous/jeeves-watcher v0.11.0
0f5a404
- chore(openclaw): update dev dependencies
2780581
- docs: sync documentation with implementation, replace Mermaid/ASCII with PlantUML diagrams
a035758
- refactor(openclaw): upgrade to @karmaniverous/jeeves v0.1.1, use createAsyncContentCache, static imports, real integration tests
a9e5eb8
- refactor(openclaw): resolve SOLID/DRY violations
6a1598c
- test(openclaw): remove trivial typeof tests, add getApiUrl/getConfigRoot coverage
366d604
- test(openclaw): add watcherComponent unit tests, document ServiceCommands in spec
6549007
- fix(openclaw): derive plugin version from package.json instead of hardcoding
8932574
- Add footer with credits and love note
3402c9c
- Update README.md
03885cd
- fix: add tagPrefix to auto-changelog config for monorepo tags
035ed94
- docs: remove duplicate reindex entry from root README CLI table
0995a97
16 March 2026
- fix: use chokidar getWatched() for /walk endpoint
#123
- [FIX-122] fix: use chokidar getWatched() for /walk endpoint instead of filesystem traversal
#122
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.7.0
5285b26
- chore: release @karmaniverous/jeeves-watcher v0.10.1
3c4e482
- refactor: use path.join() for getWatchedFiles path construction
41315a3
15 March 2026
- feat: API consolidation, walk endpoint, auto rules-reindex (Fixes 17-21)
#121
- feat: v0.10.0 correctness and observability release
#117
- [FIX-17] chore: gitignore generated docs directories
96f6610
- [FIX-17] [DOCS] Resolve all docs warnings and root-level knip issues
c855d3f
- [FIX-17] chore: remove changelogs (generated at build time)
ad23fa9
- [FIX-14] feat: prune reindex scope, blast area plan, dryRun (Fix 14)
c2b1c9f
- [FIX-17][FIX-18][FIX-19] feat: API Consolidation (Phase 8)
750803a
- chore: release @karmaniverous/jeeves-watcher v0.10.0
0fb8183
- [FIX-17] [FIX-20][FIX-21] Phase 9: POST /walk endpoint, watcher_walk tool, auto rules-reindex on rule registration
aadd6fe
- [FIX-17] [REFACTOR] DRY/SOLID pass: extract helpers, consolidate walk functions, separate onRulesChanged
3870ff5
- [FIX-15] feat: initial scan visibility + prune scroll resilience (Fixes 15+16)
058ebcf
- [FIX-17] [TEST] Add missing test coverage: fileScan walk functions, extractMatchGlobs, rules+path reindex, createIsGitignored
cf4879c
- [V0_10_0] chore: fix lint errors in promptInjection, clean up knip config, regenerate schema
5815c94
- [V0_10_0] feat: add scope validation, rules and path reindex scopes (Fixes 1, 2, 13)
9f693db
- [FIX-14] docs: update all guides for reindex scopes, dryRun, plan, and version
7f2e3e3
- [V0_10_0] feat: version in /status, live scoreThresholds, virtual rule template rebuild, remove dead config keys (Fixes 6, 10, 12)
39ff1ff
- [FIX-17] [FIX-19] fix: consolidate CLI reindex commands, fix scope validation, update dev plan
e430d8a
- [V0_10_0] test: fix mock dependencies and test assertions for reindex and cache handlers
93901de
- [V0_10_0] fix: wire gitignore filter into reindex path, support standalone .gitignore (Fixes 3, 4)
1e3eaf1
- [V0_10_0] fix: replace brittle glob parsing in path reindex with full file list + directory filter
335002e
- feat(watcher): add initial scan statistics logging
06ea0b2
- fix: use package-directory for version resolution in /status
33e3542
- npm audit fix
579f19f
- [V0_10_0] fix: return actionable error details from wrapHandler, fix withCache payload capture (Fixes 7, 9)
ec7cb04
- [FIX-17] [FIX-19] fix: rename CLI config-reindex to reindex, fix stale doc refs, clean watch.ignored
13e4869
- [FIX-15] docs: add initialScan to api-reference and SKILL.md
34ee4a5
- [FIX-15] fix: rename initialScan.filesProcessed to filesEnqueued for clarity
6ef93f6
- [FIX-17] docs: update READMEs with renamed endpoints, tools, and new /walk endpoint
d713830
- [FIX-17] ci: add Deploy Docs workflow from jeeves-meta
ee5cb65
- [V0_10_0] docs: add score threshold guidance to SKILL.md, reference skill from TOOLS.md injection
efae197
- npm audit fix
601840c
- [FIX-17] chore: remove orphaned packages/service/docs, simplify gitignore
df670b0
14 March 2026
- fix: add nocase to fileScan picomatch calls
#115
- chore: release @karmaniverous/jeeves-watcher v0.9.9
7b84256
- chore: release @karmaniverous/jeeves-watcher v0.9.8
cd86be1
- [114] fix: add nocase to fileScan picomatch calls (#114)
5a28b8c
12 March 2026
- [107] fix: remove HTML escaping from renderDoc markdown output
#108
- [107] fix: remove HTML escaping from renderDoc markdown output
#107
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.6.2
200411d
- chore: release @karmaniverous/jeeves-watcher v0.9.7
fd439c2
12 March 2026
- feat: glob/negation patterns in render.frontmatter
#105
- feat: support glob/negation patterns in render.frontmatter
#104
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.6.1
de66cd0
- chore: release @karmaniverous/jeeves-watcher v0.9.6
432b3c5
10 March 2026
- feat: add concurrent file processing for reindex using radash parallel
#103
- feat: add concurrent file processing for reindex using radash parallel
#102
- chore: release @karmaniverous/jeeves-watcher v0.9.5
2e1bf8b
- docs: document reindex.concurrency in published and dev skills
d51fb40
9 March 2026
- perf: use node:https with keep-alive for Gemini embedding (13s → 2-4s)
#101
- perf(service): use node:https with keep-alive agent for Gemini API
b79709e
- chore: release @karmaniverous/jeeves-watcher v0.9.4
c6528b9
9 March 2026
- perf: replace LangChain Gemini wrapper with direct API (13s → ~1s search)
#100
- perf(service): replace LangChain Gemini wrapper with direct API calls
5b7c35b
- chore: release @karmaniverous/jeeves-watcher v0.9.3
e80f787
9 March 2026
- fix: skip live value aggregation for non-enumerated facet uiHint types
#99
- fix(service): skip live value aggregation for non-enumerated facet uiHint types
a048b9c
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.6.0
6eff521
- chore: release @karmaniverous/jeeves-watcher v0.9.2
e8c1b8f
8 March 2026
- chore: release @karmaniverous/jeeves-watcher v0.9.0
9f210b1
8 March 2026
- feat: add POST /scan endpoint with cursor-based pagination
#98
- refactor(service): extract scrollPage/count helpers, eliminate DRY violations
e8978ec
- feat(service): add POST /scan handler with cursor-based pagination
2ed435c
- docs: add POST /scan and POST /rules/reapply to all documentation
f61b2e4
- fix(service): clean up scan handler and test lint issues
7caaf24
- npm audit fix
ddf2c57
- docs(skill): add watcher_scan tool section and query planning guidance
3b51bf8
- feat(plugin): add watcher_scan tool and update prompt injection
e3738aa
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.6.0-0
bf0bd2b
- chore: release @karmaniverous/jeeves-watcher v0.9.0-0
07004fc
- style: format scrollPage return type
cddedac
- docs(service): add TypeDoc for scrollPage return type fields
96c5491
7 March 2026
- chore: re-encode .gitignore as UTF-8
#97
- fix(values): decompose array metadata into individual trackable elements
#96
- chore(deps): upgrade dependencies (eslint pinned to v9)
6b6cb66
- fix(facets): reject object-type properties as facets, validate uiHint types
12a91e3
- fix(test): properly type mock deps in configReindex.test.ts
98ba53f
- chore: release @karmaniverous/jeeves-watcher v0.8.5
0182d6a
- fix(app): pass valuesManager to processor during initialization
ca226c3
- chore: re-encode .gitignore as UTF-8 (was UTF-16 BOM from PowerShell)
0a51edf
7 March 2026
- fix: update values index before hash check in processFile
#95
- lintfix
bcd21ca
- chore: release @karmaniverous/jeeves-watcher v0.8.4
b02cf9a
7 March 2026
- fix: pass valuesManager and issuesManager to config-reindex handler
#94
- lintfix
b4b954e
- chore: release @karmaniverous/jeeves-watcher v0.8.2
aa84c02
7 March 2026
- fix: update values index during rules reindex
#93
- fix: update values index during rules reindex (processRulesUpdate)
ed3b00a
- chore: release @karmaniverous/jeeves-watcher v0.8.1
e5bef11
7 March 2026
- feat: v0.8.0 — renderAs, POST /render, GET /search/facets
#92
- feature: add proactive bootstrap diagnostics to prompt injection
#91
- docs: comprehensive documentation audit fixes
#90
- feat(openclaw): strengthen escalation rule with search-first guidance
#89
- feat(openclaw): clean up TOOLS.md watcher section on uninstall
#88
- fix(openclaw): resolve lint and type errors in toolsWriter
#87
- feat(openclaw): replace agent:bootstrap hook with disk-based TOOLS.md writer
#86
- fix: prevent watcher menu duplication in TOOLS.md injection
#85
- fix(openclaw): align registerHook opts type with OpenClawPluginHookOptions
#84
- fix(openclaw): provide name option to registerHook
#83
- fix(openclaw): use correct registerHook name for prompt injection
#82
- updated docs
9d7f100
- updated docs
07afc9d
- updated docs
06e474c
- feat: add GET /search/facets endpoint with schema-derived facet definitions
7ee8f03
- test: add render handler tests and buildMetadata last-match-wins test
b119e5b
- feat: add POST /render endpoint with isPathWatched and renderFile
0f86fd0
- docs: add v0.8.0 documentation for renderAs, POST /render, GET /search/facets
a8c4691
- feat: add Cache-Control no-cache support to withCache, wrap /render endpoint
104a6f9
- feat: add renderAs field to inference rule schema
9202b61
- feat: add renderAs to applyRules and buildMergedMetadata return types
7d91be7
- chore: release @karmaniverous/jeeves-watcher v0.8.0
4d6daaf
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.3
9eb67ce
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.5
4154260
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.6
d982052
- lint:fix
4f13fb2
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.7
5fa60d6
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.4
4e865d0
- lint:fix
0d86aea
- fix(openclaw): add required name option to registerHook call
545684c
- fix(openclaw): rename hook registration to match plugin name
0ca7b79
- updated diagrams
5565f37
5 March 2026
- bugfix: expose watch config and inject ignored paths
#81
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.0
d458180
- fix: restore strict typings in withCache and fix lint errors
ccaeb6c
- fix: inject ignored paths and expose watch config in merged document
05bb9e7
- chore: release @karmaniverous/jeeves-watcher v0.7.1
48c0024
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.5.1
4ca2a63
- lintfix
4bfe08e
5 March 2026
- feat: renderDoc helper, date normalization schemas, port fix (v0.7.0)
#80
- chore: remove memory-core Gemini migration from bootstrap
#79
- feat(openclaw): add complete bootstrap sequence to skill
#78
- feat(openclaw)!: remove memory slot takeover
#77
- docs: update spec for dynamic system prompt injection and caching
216fc1d
- feat(openclaw)!: remove memory slot takeover, simplify to pure extension
0b1bdcb
- feat: add renderDoc helper and render block for structured document rendering
4d6eefa
- feat: add api caching and agent bootstrap prompt injection
615d0f5
- chore: copy tsdoc.json into package directories
b27b408
- refactor: review pass — remove dead code, DRY context, harden tests, use radash title
c1b04f0
- refactor: SOLID/DRY pass — extract buildSyntheticAttributes, shared sleep, deduplicate handlers
6a47b48
- chore: release @karmaniverous/jeeves-watcher v0.7.0
ba46a96
- fix: resolve Gemini PR feedback (XSS escaping, js-yaml dump, radash get)
fb318eb
- docs(skill): remove redundant Orientation Pattern and Quick Start step
1e722b5
- fix: resolve helper file paths relative to configDir in /config/validate
b67ac47
- docs: promote spec implementation gaps to Next Version and Dev Plan
eb4ee1a
- feat: make plugin cache TTL configurable and fix API port fallback mismatch
fecb768
- fix: complete Qdrant systemd setup and add WorkingDirectory to watcher service
88bba3e
- chore: fix tsdoc warnings (add tsdoc.json, escape > chars in yamlEscape)
902156e
- fix(openclaw): remove deployment-specific content from skill
1df6a25
- fix(openclaw): correct embedding alignment config path in skill
4965dec
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.4.0
db0673c
- docs: sync spec with PR 80 state, fix numbering, restore release checklist
8d37691
- refactor: SOLID/DRY pass — deduplicate attributes, handlers, sleep; fix extractor registry
beceeaf
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.4.2
fcd75a2
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.4.1
7863ad4
- fix: use consistent default port 1936 in server.listen() and schema description
fe61181
- docs: update spec for shared Platform Tools H1 injection pattern
230822a
- fix(openclaw): add deployment-discovery guidance to skill, prevent assumption of specific domains
3da7cf3
- docs(skill): clarify date normalization convention via toUnix helper
6f238bf
- docs(skill): add render/template authoring guidance and transformer definitions
69a45de
1 March 2026
- chore: change default port from 3456 to 1936
#75
- chore: fix all eslint errors (210 → 0)
#76
- feat(openclaw): add memory → archive escalation pattern to skill
#74
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.11
5ff129d
- chore: release @karmaniverous/jeeves-watcher v0.6.9
e22e72e
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.13
43d8d07
- lintfix
d410046
28 February 2026
- feat(openclaw): disable memory-core when installing with --memory
#73
- chore: release @karmaniverous/jeeves-watcher v0.6.8
a465d72
- fix: read CLI version from package.json instead of hardcoding
22a9727
28 February 2026
- feat(openclaw): brand memory tool responses with provider field
#71
- docs(openclaw): add bootstrap, install modes, and proactive posture to skill
#70
- chore: release @karmaniverous/jeeves-watcher v0.6.7
a692378
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.10
3b4b22c
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.9
97c635e
- fix(openclaw): skill proactive check matches positive case only
4e9be5f
28 February 2026
- feat(openclaw): --memory flag for install CLI
#69
- feat(openclaw): decouple plugin from watcher config vocabulary
#68
- fix: fresh QdrantClient for write ops to avoid stale keep-alive ECONNRESET
#67
- fix: use domains (plural array) in virtual rules and search filter
#66
- lintfix
cd4c841
- fix: use fresh QdrantClient for write ops to avoid stale keep-alive connections
e8215d5
- chore: release @karmaniverous/jeeves-watcher v0.6.6
b64faf3
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.6
e864fec
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.8
28a92a1
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.7
4c12277
28 February 2026
- feat: POST /rules/reapply endpoint + plugin auto-reapply after registration
#65
- fix: disable AJV strict mode to suppress schema type warnings
#55
- chore: release @karmaniverous/jeeves-watcher v0.6.5
1c5a7fe
28 February 2026
- fix: case-insensitive glob matching in AJV rule keyword
#64
- fix: use glob instead of pattern for virtual rule matching
#62
- fix: add nocase and dot options to AJV glob keyword
3f7cb9b
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.4
5b11938
- chore: release @karmaniverous/jeeves-watcher v0.6.4
b41bfc3
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.5
837a941
- fix: use glob instead of pattern for virtual rule matching (case-insensitive on Windows)
0526d5a
28 February 2026
- fix: normalizePath preserves drive letter case to match service
#61
- chore: release @karmaniverous/jeeves-watcher v0.6.3
da7414c
- fix: normalizePath preserves drive letter case to match service path normalization
b79c8c4
- fix: revert unconditional ensureTextIndex from initialization.ts
7ae6b62
28 February 2026
- fix: ensure text index on startup + re-register virtual rules after watcher restart
#60
- fix: plugin config lookup uses correct entry key (jeeves-watcher-openclaw)
#59
- fix: update test fixture to include slots for idempotency check
#58
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.1
de3215a
- chore: release @karmaniverous/jeeves-watcher v0.6.2
fa2304d
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.3
9db834e
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.2
99be8d8
28 February 2026
- chore: bump @karmaniverous/jsonmap to 2.1.1
#57
- fix: plugin installer claims memory slot in OpenClaw config
#56
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.3.0
3ce4950
- fix: plugin installer now claims memory slot in OpenClaw config
020c6cd
- chore: release @karmaniverous/jeeves-watcher v0.6.1
037d9c9
27 February 2026
- docs: update guides for v0.6.0 changes
#54
- refactor: extract modules to fix 300 LOC violations
#53
- refactor: DRY fixes and comprehensive test coverage for openclaw package
#52
- refactor+test: service SOLID/DRY fixes + 54 new tests
#51
- feat: memory slot takeover with virtual rules API
#49
- feat: support external rule file references in inferenceRules config
#50
- feat(service): add hybrid search with BM25 text index and RRF fusion
#48
- feat(service): Handlebars set expressions + date normalization
#47
- feat(service): add filesystem date metadata and line offsets
#46
- fix(openclaw): skill review feedback
#45
- chore(openclaw): merge skills, simplify build, improve error messaging
#44
- docs: document self-installer CLI and Windows workaround
#41
- fix: resolve lint errors in openclaw CLI
#40
- feat: add install/uninstall CLI for OpenClaw plugin
#39
- chore: fix monorepo release-it tags, plugin id, and version sync
#38
- feat(service): add hybrid search with BM25 text index and RRF fusion (#48)
#35
- feat(service): add filesystem date metadata and line offsets (#46)
#24
- updated docs
3028f04
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.1.0
97e2834
- feat: add install/uninstall CLI to bypass OpenClaw spawn EINVAL bug on Windows
1ad7fbb
- docs: fix template syntax, stale references, and add missing API/tool docs
8af92ef
- fix: resolve eslint unbound-method and prettier errors
36b5803
- fix: resolve lint errors in openclaw CLI and add rollup externals
b4e8514
- docs: document self-installer CLI and Windows spawn EINVAL workaround
e3d6351
- chore: release @karmaniverous/jeeves-watcher v0.6.0
b7b207e
- fix: apply same conditional logic to tools.allow as plugins.allow
4549569
- fix: remove plugins.allow management from CLI, only manage entries and tools.allow
64106b4
- fix: conditionally manage plugins.allow only when already populated
c486c3a
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.2.0
a6d4d7e
- fix(openclaw): use error.cause for precise connection error detection
3bdd267
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.1.2
c019f41
- chore: release @karmaniverous/jeeves-watcher-openclaw v0.1.1
008e757
- chore: remove temp commit script
31d35a7
- package version 0
eda1c58
25 February 2026
- feat: convert to monorepo with service and openclaw plugin packages
#37
- chore: fix docs, READMEs, and rollup config for monorepo
0b92399
- chore: align release-it config for monorepo
938a3e0
- chore: make service package ESM-only, remove CJS and IIFE outputs
9a16492
- chore: convert repo to npm workspaces monorepo
d8fc6e8
- docs: add guides index pages for foldable typedoc sections
1827505
- chore: release @karmaniverous/jeeves-watcher v0.5.1
b11e44e
- chore: fix knip after monorepo split
e16460b
- added env local template
74aaa72
- removed docs from release script
8878235
25 February 2026
- docs(skill): add theory of operation, remove stale SKILL.md
#36
- feat: v0.5.0 — plugin expansion, two-skill architecture, API extensions
#35
- chore: release v0.5.0
aa5a5aa
- docs(skill): add theory of operation narrative, remove stale plugin/skill/SKILL.md
979993d
25 February 2026
- docs: export missing symbols, add TSDoc, fix typedoc warnings
85f5f02
- chore: release v0.5.0-1
2b330da
25 February 2026
- chore: release v0.5.0-0
0c181d9
- docs: complete v0.5.0 documentation pass
e563ee8
- docs: fix TypeDoc warnings — constructor params, JsonFileStore props, handlebars highlight
388bed4
- feat(schema): implement Phase 1 - core schema system
4b538ad
- feat: foundation for v0.5.0 - issues, values, named rules, config schema
a81cfa9
- refactor(DRY): split config schemas into logical modules
fc24cb4
- feat: API endpoints for v0.5.0 — query validate apply issues reindex tracking
97b0f75
- feat: validate metadata and align issues + skill docs
1ffdc0c
- feat: helper namespace prefixing and JSDoc introspection
ffbaba5
- docs: update guides for v0.5.0 endpoints, config, and CLI
0c79850
- feat: complete v2 spec implementation gaps (P0-P2)
fa45008
- refactor: DRY helper module loading into shared utility
fef881a
- test: add critical test coverage for utilities and handlers
b9b94d7
- refactor(DRY): add withApiOptions helper for CLI commands
26df301
- fix: replace eslint-disable comments with properly typed mocks
025e322
- feat: expand plugin to 8 tools for v0.5.0
bde15f4
- refactor(SRP): extract app initialization logic to separate module
63147f4
- feat: two-skill architecture with build pipeline
898db5e
- refactor(SRP/OCP): split embedding providers into separate files
d07f4c9
- refactor: extract shared mergeAndValidateConfig
aecab7f
- test: update test files to use new schema format
336ff00
- refactor: extract shared executeReindex to eliminate duplication
7658108
- test: add DocumentProcessor unit tests
987012f
- test: add more critical test coverage
233082c
- feat: implement Phase 3 API endpoints
eb697cf
- refactor(DIP): introduce VectorStore interface and update consumers
1975dee
- refactor(DRY): extract repeated patterns to utilities
12842de
- fix: resolve all lint errors in test files and wrapHandler
bbcde3f
- refactor: DRY API handler error handling with wrapHandler; fix writeFileSync in configApply
8995d2e
- test: add EventQueue tests
93a7eab
- refactor: extract JsonFileStore base for issues/values
c36112f
- test: add mergedDocument tests
41a2561
- revert: remove manual CHANGELOG.md edits (auto-generated on release)
c20e149
- test: add configValidate handler tests
00d52fd
- test: add configApply handler tests
5fb3b43
- test: add configQuery handler tests
6adfcab
- fix: resolve all STAN lint errors and reduce docs warnings
062594f
- refactor(DIP): add DocumentProcessor interface and update factory/consumers
8a30433
- refactor(ISP): convert buildMergedMetadata to options object pattern
0d67913
- fix: resolveReferences only resolves known config reference positions
1890bf9
- fix(lint): address majority of lint issues in new tests
aec00f8
- test: add configReindex handler tests
506b638
- refactor(ISP): narrow API handler deps to required fields
309daa3
- fix: resolve lint errors and align tests with spec
29c5217
- refactor(SRP): extract shared template/map helper wiring from JeevesWatcher
7d1b629
- test: add ReindexTracker tests
5830048
- refactor(DRY): extract vectorStore payload type inference
8f70a7c
- fix: implement actual rule matching in testPaths validation
dba6f4e
- refactor(DRY): align logError helper signature with standard pattern
a014202
- refactor: centralize processor payload field names
34836ce
- refactor(DRY): apply logError utility in DocumentProcessor
42f5b3e
- fix: resolve typecheck errors in tests and initialization
47b92e1
- refactor(OCP): allow custom extractors via additionalExtractors parameter
36b7ae2
- fix(lint): resolve unsafe-assignment and unbound-method in tests
9e41021
- chore: tune docs warnPattern to ignore Zod enum TSDoc warnings
b09909a
23 February 2026
- fix: use pathToFileURL for dynamic imports on Windows
#31
- fix: use pathToFileURL for dynamic imports on Windows (#31)
#30
- chore: release v0.4.4
f3a284c
23 February 2026
- feat: support custom JsonMap lib functions via config
#29
- chore: release v0.4.3
8b82d0c
23 February 2026
- fix: resolve file path references in named maps config
#28
- chore: release v0.4.2
4ea9215
23 February 2026
- fix: resolve chokidar v5 ignored glob patterns via picomatch matchers
#27
- chore: release v0.4.1
c736409
- lintfix
c36da17
23 February 2026
- fix: adapt to chokidar v4 glob removal — watch directory roots with picomatch filtering
#26
- feat: Content Templates (v0.4.0) — Handlebars-based content transformation at index time
#23
- fix: resolve chokidar glob pattern failure on Windows by extracting directory roots
#25
- feat: add template engine dependencies (handlebars, mdast-util-from-adf, etc.)
f6d090c
- chore: release v0.4.0
79f7f8d
- chore: update deps (hast, knip, rollup)
3790582
- feat: export template engine types, fix knip (add hast dep)
7ae0597
- refactor: decompose app/index.ts into factories and startFromConfig modules (300 LOC limit)
33736c2
- feat: add template engine module and config schema changes
968132f
- feat: integrate template engine into pipeline (applyRules, processFile, config reload)
64cc135
- test: add template engine tests and update existing rule tests for new return shape
d6ef7d7
- docs: add content templates section to inference-rules guide
ebf74ef
- docs: add production directory structure guidance for maps and templates
14c51c8
23 February 2026
- fix: restore shebang in CLI output for correct npm .cmd wrapper generation
#20
- chore: release v0.3.1
8a6de18
22 February 2026
- feat: OpenClaw plugin with agent tools and skill (v0.3.0)
#19
- docs: sync all documentation with implementation
#17
- chore: release v0.3.0
0e03c00
- docs: sync documentation with implementation
8442160
22 February 2026
- fix: remove shebang from ESM CLI output
#16
- [ISSUE-15] fix: remove shebang from ESM CLI output (closes #15)
#15
- chore: release v0.2.6
2fe3b56
22 February 2026
- feat: respect .gitignore patterns in watched directories
#14
- chore: release v0.2.5
6e86776
- feat: add gitignore filter service with ignore package
b840a9d
- feat: add respectGitignore config option
ec34a48
- test: add gitignore integration test
4993208
- fix: support glob watch paths in gitignore filter scan
dbccaf0
- feat: integrate gitignore filtering into processing pipeline
9f5bf1b
- docs: document gitignore support in README
86d1329
22 February 2026
- feat: graceful error handling with BOM stripping, system health tracking, and exponential backoff
#12
- chore: release v0.2.4
6d4d18e
- feat: graceful error handling with BOM stripping, system health tracking, and exponential backoff (#11)
ad01be1
- chore: lint fixes and regenerate config schema (#11)
eb5d57b
- docs: add JSDoc to JeevesWatcher class (#11)
c3825fc
- updated diagrams
22eaf09
21 February 2026
- docs: document env var pass-through behavior
#10
- fix: leave unresolvable env var expressions untouched in config
#9
- [ISSUE-8] fix: leave unresolvable env var expressions untouched in config (closes #8)
#8
- chore: release v0.2.3
d7d9a90
- [ISSUE-8] docs: document env var pass-through behavior in README
ca379f3
21 February 2026
- fix: resolve issues #4 and #5
#7
- chore: release v0.2.2
3d07303
- [ISSUES-4] fix: improve error serialization for pino logging
021d18c
- [ISSUES-4] feat: implement ${ENV_VAR} substitution in config strings
5bbb09f
- lint:fix
b6446c5
- [ISSUES-4] fix: skip frontmatter parsing when markdown doesn't start with ---
468c71a
21 February 2026
- feat: schema-first config with Zod + JsonMap, SOLID/DRY refactor
#6
- refactor: decompose rules module into focused submodules (ajvSetup, attributes, compile, templates, apply)
5fc1fe8
- chore: release v0.2.1
1f9b997
- refactor: extract API route handlers into api/handlers with narrow deps
058d6f3
- refactor: extract shared utilities (normalizePath, errors, logger, constants, CLI defaults)
880e9a2
- refactor: decompose JeevesWatcher with ConfigWatcher + injectable factories
ee92af5
- refactor: DRY CLI API commands via shared runApiCommand + formatResponse
cb71522
- docs: add TSDoc to exported RuleLogger and JeevesWatcherFactories members
1bc80c7
- refactor: remove unused errors utility
e826dfd
21 February 2026
- feat: schema-first config (Zod 4), JsonMap integration, DRY/SOLID refactor
#3
- chore: release v0.2.0
f0d1ce2
- fix: resolve typedoc warnings, export schemas, update deps, add logging
9b75e80
- feat: add Zod schema descriptions
531939f
- refactor: DRY API routes and CLI commands
1b8cb4f
- docs: add PlantUML architecture diagrams and embed in documentation
79daf6b
- test: add CLI command tests (status, search, reindex, configReindex, rebuildMetadata, service)
094c333
- feat: schema-first config with Zod 4
fd8987b
- feat: generate config JSON schema and standardize defaults
d56659f
- refactor: decompose DocumentProcessor (SRP)
99db65f
- feat: execute jsonmap in inference rules
2f48426
- docs: document jsonmap maps and regenerate schema
a6db501
- test: add integration error-path coverage (skip if qdrant down)
fb4e646
- refactor: extractor and embedding provider registries (OCP)
9fbf9e3
- fix: replace console.warn with pino logger in retry logic
63a9888
- rendered diagrams
ecdef44
- merge: resolve package-lock conflict with main
a358b80
- docs: fix all documentation gaps and inaccuracies
1c7128d
- test: add config loading and schema validation edge cases
878a888
- feat: centralize config defaults
4310e75
- feat: implement enrich CLI command
1abda09
- test: cover rules engine edge cases
e631e48
- feat: add @module TSDoc, checkCompatibility, mark enrich as planned
d3aae8a
- refactor: narrow processor interface (ISP) + misc cleanup
975daf1
- feat: add jsonmap to config schema (maps + map on rules)
5e70229
- refactor: replace hand-rolled utilities with radash (get)
ae1e537
- fix: align diagram paths with .vscode/settings.json conventions
9430b98
- updated plantuml settings
002dbf2
- docs: remove OpenAI embedding provider (not implemented)
abf0b9c
- chore: install radash
30a456d
- fix: make rebuild-metadata system keys mutable
93fbb42
- fix: make queue drain timeout check lint-friendly
8cd217e
- fix: make queue drain timeout check lint-friendly
7dd8534
- fix: relax search command header assertion to satisfy lint
82a6a68
- fix: align buildMergedMetadata logger type with applyRules
78455eb
- fix: remove unused error variable in enrich command
cd61437
0.1.0
20 February 2026
- Initial commit
5981aa4
- updated docs
688bb79
- fix: resolve typedoc cross-reference anchors and add highlight languages
1a05a39
- feat: initial scaffolding for jeeves-watcher
b2aa733
- docs: add comprehensive guide pages and update typedoc config
9c79760
- chore: update package.json keywords
a9147f6
- chore: release v0.1.0
87b4650
- updated docs
d65d32b
- chore: replace npm-package-template-ts with jeeves-watcher
d1a8014
- updated changelog
ec215ea
- feat: add inference rules engine with glob matching and templated metadata
0b1a60b
- chore: regenerate typedoc output
c751fd6
- feat: add config reindex endpoint and CLI
b103059
- test: add Qdrant integration tests
129070f
- feat: document processor pipeline
fc3f239
- docs: add contributing guide
549231f
- docs: expand README with comprehensive documentation
558eb10
- feat: implement DOCX text extractor
a0e3eb8
- feat(api): implement reindex and rebuild-metadata
45a6fd7
- feat: add JeevesWatcher app entry point and wire CLI commands
effb2df
- feat: add logger module, expand config types with defaults and ajv validation
244a318
- feat: Qdrant vector store client wrapper
e3b5152
- feat: add debounced rate-limited event queue with concurrency and drain
19aec40
- feat: add text extractors for markdown, plaintext, and json
521435e
- feat: add content hashing, metadata persistence, and deterministic point IDs
f8aabe8
- test: expand integration tests with full lifecycle, metadata enrichment API, and search endpoint
4e81704
- feat: implement Gemini embedding provider
88959bb
- feat: add config file watching with debounced reload
9c27c0e
- feat: implement PDF text extraction using unpdf
4ddff5a
- feat: add FileSystemWatcher module
29f8875
- feat: add API server module
7001681
- feat(cli): wire reindex rebuild-metadata and search
104d35f
- feat: embedding provider abstraction with mock provider
90b40a5
- feat(cli): add service install/uninstall instructions
de6c363
- feat(cli): add init command
dcb7462
- feat: implement Gemini embedding provider
40d46f1
- feat: update public exports with all new modules
0ef5413