@karmaniverous/jeeves-server 3.0.0 → 3.1.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/CHANGELOG.md CHANGED
@@ -2,8 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
4
 
5
- #### [v3.0.0](https://github.com/karmaniverous/jeeves-server/compare/v2.9.3...v3.0.0)
5
+ #### [v3.1.0](https://github.com/karmaniverous/jeeves-server/compare/v2.9.3...v3.1.0)
6
6
 
7
+ - feat: extend /api/status with ?events=N for recent event log [`#89`](https://github.com/karmaniverous/jeeves-server/pull/89)
8
+ - fix: server_share sends POST with JSON body instead of GET [`#87`](https://github.com/karmaniverous/jeeves-server/pull/87)
9
+ - docs: guide index content + typedoc jsonl highlight [`#86`](https://github.com/karmaniverous/jeeves-server/pull/86)
10
+ - docs: refresh README + guides for v3 [`#85`](https://github.com/karmaniverous/jeeves-server/pull/85)
7
11
  - feat: named access scopes [`#84`](https://github.com/karmaniverous/jeeves-server/pull/84)
8
12
  - fix: plugin auth chain, status endpoint improvements [`#83`](https://github.com/karmaniverous/jeeves-server/pull/83)
9
13
  - fix: resetConfig should reload, not clear [`#82`](https://github.com/karmaniverous/jeeves-server/pull/82)
@@ -28,9 +32,14 @@ All notable changes to this project will be documented in this file. Dates are d
28
32
  - fix: exit edit mode after save [`#63`](https://github.com/karmaniverous/jeeves-server/pull/63)
29
33
  - chore: add default port 1934 [`#62`](https://github.com/karmaniverous/jeeves-server/pull/62)
30
34
  - chore: add default port 1934 [`#61`](https://github.com/karmaniverous/jeeves-server/pull/61)
35
+ - feat: search facets, metadata chips, and click-to-filter [`20eeee8`](https://github.com/karmaniverous/jeeves-server/commit/20eeee8b6524d6a29ba99822e06ea57bef994fef)
31
36
  - chore: add client as workspace member, align puppeteer versions [`6e3a40d`](https://github.com/karmaniverous/jeeves-server/commit/6e3a40dfdb91ffe2e39877d1b69b36db3e01f863)
32
37
  - feat: internalize diagram dependencies (mermaid/plantuml) [`9c7f8a7`](https://github.com/karmaniverous/jeeves-server/commit/9c7f8a7d331a4e4f6013f1c7c2fff373769c6fbb)
38
+ - updated docs [`86d88c7`](https://github.com/karmaniverous/jeeves-server/commit/86d88c76b04b32132195370328f434b427b7e23d)
39
+ - updated docs [`cbd8537`](https://github.com/karmaniverous/jeeves-server/commit/cbd853764a9b5953afb847aa653a5182f74b1cd6)
33
40
  - feat: implement OpenClaw plugin (Phase 3, Steps 11-15) [`72a04e0`](https://github.com/karmaniverous/jeeves-server/commit/72a04e030352ca105c160b331328863c9ce41058)
41
+ - docs: refresh README and guides for v3 CLI + config [`e437387`](https://github.com/karmaniverous/jeeves-server/commit/e4373875d454518b8f4d8dcf37613ddc36f2aace)
42
+ - refactor: remove hardcoded filters, fix lazy facet loading [`ffb0f2a`](https://github.com/karmaniverous/jeeves-server/commit/ffb0f2aa4fc763ddce66dd3f666bf5db6cc6dfe8)
34
43
  - refactor: monorepo scaffolding (Phase 1, Step 1) [`15cf2ba`](https://github.com/karmaniverous/jeeves-server/commit/15cf2baa7079057f095c973932d233dda2013659)
35
44
  - feat: migrate config from jiti/TS to cosmiconfig/JSON [`adfba33`](https://github.com/karmaniverous/jeeves-server/commit/adfba3387219d49f4675a6c6579253d563788394)
36
45
  - fix: resolve all client ESLint errors and warnings [`768541a`](https://github.com/karmaniverous/jeeves-server/commit/768541a71644c3ddcbc4a50bc6ed7a42a1c6d9a5)
@@ -39,42 +48,66 @@ All notable changes to this project will be documented in this file. Dates are d
39
48
  - feat: add CLI commands (start, config validate/show, service) [`0437984`](https://github.com/karmaniverous/jeeves-server/commit/0437984e7f783604f9cbdd333db61f8d1af42961)
40
49
  - fix: resolve knip unused files, dependencies, and exports [`964beba`](https://github.com/karmaniverous/jeeves-server/commit/964beba273f99be8d3302648c2dd442a3e3dcc07)
41
50
  - chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 [`b6c0f6d`](https://github.com/karmaniverous/jeeves-server/commit/b6c0f6db6ab8bbdcffb40affc00f9f573ca2caa5)
51
+ - docs: add typedoc config and dependencies [`761bb8c`](https://github.com/karmaniverous/jeeves-server/commit/761bb8cef7c5d84f17c9193d688bd9b0be67a6ca)
42
52
  - fix: address all gap analysis findings [`1eb02ab`](https://github.com/karmaniverous/jeeves-server/commit/1eb02abf0634be38c687d4927a2360cd27c3aad8)
43
53
  - npm audit fix [`3a144b4`](https://github.com/karmaniverous/jeeves-server/commit/3a144b4b07e1387cf40733486e60aeaf7a34d0a6)
54
+ - feat: two-step facet selection + garbage value filtering [`6c60e97`](https://github.com/karmaniverous/jeeves-server/commit/6c60e9753761e9b2a844bcc9212baadc73841a19)
44
55
  - feat: add GET /api/link-info endpoint [`02ece39`](https://github.com/karmaniverous/jeeves-server/commit/02ece3960aa91861455034aa4bfe8850c0b0f363)
56
+ - feat: schema-driven facet rendering by uiHint [`97af834`](https://github.com/karmaniverous/jeeves-server/commit/97af834a29d3d4e95be3c157ecd07855b8aee403)
45
57
  - test: add resolve.ts unit tests (21 tests) [`7c988ef`](https://github.com/karmaniverous/jeeves-server/commit/7c988ef08a45e5d6f3d04165f01b718a8bb539a6)
46
58
  - fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage [`08de751`](https://github.com/karmaniverous/jeeves-server/commit/08de751a26fe595f13d43970bb39bb8b4d609199)
47
59
  - feat: add GET /api/status endpoint [`764c3a7`](https://github.com/karmaniverous/jeeves-server/commit/764c3a7313bd895032cc17bdc811808cdc8eb80e)
48
60
  - chore: SOLID/DRY/test coverage pass [`e491bfb`](https://github.com/karmaniverous/jeeves-server/commit/e491bfbbce7fef13252c2488378b85e983a2207a)
61
+ - feat: metadata chips on search results with click-to-filter [`a11ce3d`](https://github.com/karmaniverous/jeeves-server/commit/a11ce3de4809d2639160886bbd719ff57d9b33ea)
62
+ - docs: add guide index content and fix typedoc trailing comma [`3844271`](https://github.com/karmaniverous/jeeves-server/commit/3844271f0aacc6eb0af7dc6ddabe139edae95332)
49
63
  - refactor: extract buildRuntimeConfig to resolve.ts (DRY) [`87bd749`](https://github.com/karmaniverous/jeeves-server/commit/87bd749c6827e3c95e2ff9996ab1b781cb316932)
64
+ - perf: lazy-load facets only when 'Add filter' is clicked [`d0b111c`](https://github.com/karmaniverous/jeeves-server/commit/d0b111c8cd442a47238ad5e0512576221bac1572)
50
65
  - chore: add knip configs, remove dead exports, clean all code quality checks [`2a81072`](https://github.com/karmaniverous/jeeves-server/commit/2a81072cc5341047b2ef40333405a8cc9760dab4)
66
+ - feat: garbage value diagnostics for inference rule debugging [`06e4f82`](https://github.com/karmaniverous/jeeves-server/commit/06e4f823fa87f991ca81c904d2eb55dc7ce59d26)
51
67
  - fix: address Gemini code review feedback across PRs #65-#76 [`2fef919`](https://github.com/karmaniverous/jeeves-server/commit/2fef9192b00c80605c9cca348ea7feff5af2602a)
52
68
  - fix: make resetConfig reload runtime config [`79e8602`](https://github.com/karmaniverous/jeeves-server/commit/79e8602b4a8ee13c4de94bb3d262dd8bdb7cd2c8)
53
69
  - refactor: extract shared renderMarkdownContent pipeline [`244dddf`](https://github.com/karmaniverous/jeeves-server/commit/244dddf83da846d2863e776ae78a029610532d2d)
54
70
  - feat: schema-driven search facet filters (Step 10) [`c305c2a`](https://github.com/karmaniverous/jeeves-server/commit/c305c2ae261514411b6329bdc84052ee5c189759)
71
+ - updated docs [`075a6f3`](https://github.com/karmaniverous/jeeves-server/commit/075a6f36cee6279c83ba564e6efbde99ebac2f37)
55
72
  - feat: add scroll anchoring for async diagram renders [`e4bd972`](https://github.com/karmaniverous/jeeves-server/commit/e4bd97293dbb8a9a63d5cf3bceb6e0cbb7a26916)
56
73
  - feat: document rendering pipeline (Phase 4, Steps 16-18) [`56095ee`](https://github.com/karmaniverous/jeeves-server/commit/56095ee8f7153509048f0b8af1ed73bb95aa5ae0)
57
74
  - npm audit fix [`3810c0f`](https://github.com/karmaniverous/jeeves-server/commit/3810c0fad8067752c4513bcccdd721698c8b3c3b)
75
+ - chore: release @karmaniverous/jeeves-server v3.0.1 [`67cf001`](https://github.com/karmaniverous/jeeves-server/commit/67cf0014073c62b18134da2c1266b505a1228874)
58
76
  - lintfix [`00dc2b2`](https://github.com/karmaniverous/jeeves-server/commit/00dc2b2ec30ea2a4365d93b86c66330b831737a7)
59
77
  - fix: resolve package.json path portably for version [`29d775c`](https://github.com/karmaniverous/jeeves-server/commit/29d775c318ee85003fd6be7f67303633e092a110)
60
78
  - feat: add GET /api/search/facets proxy endpoint [`28fc200`](https://github.com/karmaniverous/jeeves-server/commit/28fc20084453b7bee28b4b9b23932a85a88567d0)
79
+ - feat: render text/number facets as text inputs, chips for select/multiselect [`282adf8`](https://github.com/karmaniverous/jeeves-server/commit/282adf83c21b84d433ec23be5d1b6b51b5da8145)
61
80
  - ni [`e40deac`](https://github.com/karmaniverous/jeeves-server/commit/e40deacf8659a59328ceec50abb6f1f27041b5d8)
81
+ - docs: add changelogs as children of package guide indexes [`fd16b5b`](https://github.com/karmaniverous/jeeves-server/commit/fd16b5b7f80ad2b58d883fe3b7cf270668026f8e)
62
82
  - lintfix [`38a9376`](https://github.com/karmaniverous/jeeves-server/commit/38a937631ab2ac3c22240857f69b36d5d9570665)
63
83
  - chore: migrate default port to 1934 [`4614a5f`](https://github.com/karmaniverous/jeeves-server/commit/4614a5f4a5a1fd1d75eb730adbb8caa4a7dab7ff)
84
+ - fix: text/number facets skip value cleaning, cast values to String [`c9af039`](https://github.com/karmaniverous/jeeves-server/commit/c9af039c2fbdad59a7e9fdedd75f008ab5c1c148)
64
85
  - chore: add tsdoc.json to both package roots [`9ccf217`](https://github.com/karmaniverous/jeeves-server/commit/9ccf2171347ed4deabe617b16b236edba5b5bc75)
65
86
  - chore: add tsdoc.json to both package roots [`173cf94`](https://github.com/karmaniverous/jeeves-server/commit/173cf94061cfabd3c21796cb10ad0300c1e14e2b)
66
87
  - chore: release @karmaniverous/jeeves-server v3.0.0-1 [`db96bc1`](https://github.com/karmaniverous/jeeves-server/commit/db96bc140b9cbca7ad52ddd562a805ac74ca67aa)
88
+ - docs: document ?events=N query param on /api/status [`4a25f3b`](https://github.com/karmaniverous/jeeves-server/commit/4a25f3bcf5bf50e688cd7c38e0340a0f24341e96)
67
89
  - fix: set rootDir and update start script path for monorepo layout [`a2fd77c`](https://github.com/karmaniverous/jeeves-server/commit/a2fd77cb067fbae733a64e9bc04c0d9159910f90)
68
90
  - fix: resolve TS2352 warnings in openclaw test mocks [`88950e2`](https://github.com/karmaniverous/jeeves-server/commit/88950e23bbd206e40a7bc25ea35c64d7609af281)
69
91
  - fix: CI failures and SvgViewer panzoom re-init bug [`7392712`](https://github.com/karmaniverous/jeeves-server/commit/73927128276341a37c362c3143334bd8bb416d09)
92
+ - fix: restore eager facet loading on modal open [`a625bd0`](https://github.com/karmaniverous/jeeves-server/commit/a625bd08e47ab95cd5a05324a0a888bb0bf6fc4f)
70
93
  - fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) [`e7714ae`](https://github.com/karmaniverous/jeeves-server/commit/e7714ae451a72a1dd9881d85c964d6d8aec17574)
94
+ - chore: release @karmaniverous/jeeves-server-openclaw v0.1.1 [`abfee9f`](https://github.com/karmaniverous/jeeves-server/commit/abfee9f6ee5b2ac1cf6c8e4838edd3e2e8133359)
71
95
  - fix: remove unnecessary auth from /api/status calls (endpoint is public) [`f651fe7`](https://github.com/karmaniverous/jeeves-server/commit/f651fe7bff4320eb28b5039278bcdcd032cac6d5)
72
96
  - fix: update linux-compat CI for monorepo paths [`22dd30f`](https://github.com/karmaniverous/jeeves-server/commit/22dd30ffe5543042287a299523e5b1125c86381e)
73
97
  - chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 [`d08e571`](https://github.com/karmaniverous/jeeves-server/commit/d08e571d58bb6387e69441dc06511d92fb743c15)
74
98
  - chore: eliminate all lint warnings [`ed12c86`](https://github.com/karmaniverous/jeeves-server/commit/ed12c868546a3f14f7d809d7378235ac91415be7)
75
99
  - fix: CI rimraf resolution and remove redundant client steps [`757c45c`](https://github.com/karmaniverous/jeeves-server/commit/757c45cf429e7c70358442e353922f7999d74640)
100
+ - chore: release @karmaniverous/jeeves-server v3.0.0 [`ef408c3`](https://github.com/karmaniverous/jeeves-server/commit/ef408c37ee306417ee24d58b256cba672f7984c1)
76
101
  - chore: release @karmaniverous/jeeves-server-openclaw v0.1.0 [`bbeac17`](https://github.com/karmaniverous/jeeves-server/commit/bbeac17333ebad423b0fd8c2bcd310bbb0b63b27)
102
+ - fix: make +N more chip overflow a clickable link that expands the result [`d56ed6a`](https://github.com/karmaniverous/jeeves-server/commit/d56ed6a69526f96697ec8aa9922e104510b2a9f8)
103
+ - fix: increase facets timeout to 15s, add error logging [`dfda5dd`](https://github.com/karmaniverous/jeeves-server/commit/dfda5dd22b06f9fbabff2572d4a8a2ddf3c55be9)
104
+ - fix: use type=number input for number facets [`c245b6a`](https://github.com/karmaniverous/jeeves-server/commit/c245b6ae5dc9f7d762aebac21a9ca7f342f44024)
105
+ - fix: close SearchableSelect dropdown on outside click (capture phase) [`f85d8dd`](https://github.com/karmaniverous/jeeves-server/commit/f85d8dda1db97016b9f6d8244fac34bdaba2d1b1)
106
+ - fix: server_browse and server_export route mismatches [`82ef907`](https://github.com/karmaniverous/jeeves-server/commit/82ef907750dbb0d47158254cd21b7a8196d8eaeb)
107
+ - npm audit fix [`2f3b5c8`](https://github.com/karmaniverous/jeeves-server/commit/2f3b5c89af0bf56b17fd37719f5927812f2c8e24)
77
108
  - publishconfig public access [`8e4358c`](https://github.com/karmaniverous/jeeves-server/commit/8e4358cc43dc2f131840047d34f2644eb6293fe2)
109
+ - fix: restore light mode text-foreground on Add Filter menu labels [`9bb9c7f`](https://github.com/karmaniverous/jeeves-server/commit/9bb9c7f70c5f785c3e21b01f2e0610851574b9c3)
110
+ - fix: cap schema-driven facet chips to fields with ≤30 values [`de625e2`](https://github.com/karmaniverous/jeeves-server/commit/de625e2752f2da6fea350825361016a3fe43f84a)
78
111
  - fix: add pattern to StatusResponse events type [`f64e6af`](https://github.com/karmaniverous/jeeves-server/commit/f64e6af06ce51a54dee4bf69dd0e6fbae79dc683)
79
112
  - fix: normalize path for watcher render (Windows backslash + uppercase drive) [`f6c229d`](https://github.com/karmaniverous/jeeves-server/commit/f6c229d7f4ac7ec11099c884b75e6a90cc0cdf59)
80
113
  - zero version [`2c0db75`](https://github.com/karmaniverous/jeeves-server/commit/2c0db75d547d812fa638e15f2da732a7b91ad69c)
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # @karmaniverous/jeeves-server
2
+
3
+ Jeeves Server — secure file browser, markdown viewer, and webhook gateway with PDF/DOCX export and expiring share links.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install -g @karmaniverous/jeeves-server
9
+ ```
10
+
11
+ ## Run
12
+
13
+ Jeeves Server loads configuration via cosmiconfig. Create a config file such as `jeeves-server.config.json` and run:
14
+
15
+ ```bash
16
+ jeeves-server start [--config <path>]
17
+ ```
18
+
19
+ Default port: **1934**.
20
+
21
+ ## CLI
22
+
23
+ ```bash
24
+ jeeves-server start
25
+ jeeves-server config validate
26
+ jeeves-server config show
27
+ jeeves-server service install
28
+ jeeves-server service uninstall
29
+ jeeves-server service start|stop|restart
30
+ ```
31
+
32
+ ## Docs
33
+
34
+ - Setup & Configuration: ../../packages/service/guides/setup.md
35
+ - Deployment: ../../packages/service/guides/deployment.md
36
+ - Sharing: ../../packages/service/guides/sharing.md
37
+ - Exports: ../../packages/service/guides/exports.md
38
+ - Event Gateway: ../../packages/service/guides/event-gateway.md
39
+ - API Integration: ../../packages/service/guides/api-integration.md
40
+
41
+ ## Public endpoints
42
+
43
+ - `GET /health` — health check
44
+ - `GET /api/status` — server metadata (public; no auth)
45
+
package/about.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Jeeves Server
2
2
 
3
- A lightweight file browser and document viewer with secure, shareable links.
3
+ A self-hosted file browser, document viewer, and webhook gateway with secure sharing and one-click PDF/DOCX export.
4
4
 
5
5
  ## Why Markdown?
6
6
 
@@ -8,38 +8,38 @@ A lightweight file browser and document viewer with secure, shareable links.
8
8
 
9
9
  But in the business world, you can't share `.md` files — people expect PDFs and Word documents.
10
10
 
11
- **Jeeves Server bridges this gap.** Author your documents in Markdown, review them beautifully rendered in the browser, then export to PDF or DOCX with one click when it's time to share with colleagues, clients, or stakeholders.
11
+ **Jeeves Server bridges this gap.** Author your documents in Markdown, review them beautifully rendered in the browser, then export to PDF or DOCX with one click when it's time to share.
12
12
 
13
13
  ## Features
14
14
 
15
- - **File Browser** — Navigate your filesystem through a web interface
15
+ - **File Browser** — Navigate your filesystem through a modern web interface
16
16
  - **Markdown Rendering** — `.md` files render as styled HTML with table of contents
17
17
  - **PDF & DOCX Export** — One-click export for business-ready documents
18
18
  - **Code Highlighting** — Source files display with syntax highlighting
19
+ - **Mermaid & PlantUML Diagrams** — Rendered inline with pan/zoom
19
20
  - **Dark/Light Themes** — Toggle between themes; preference is saved
20
21
  - **Secure Sharing** — Generate expiring links for external recipients
22
+ - **Semantic Search** — Full-text search across indexed documents (via jeeves-watcher integration)
21
23
 
22
24
  ## Authentication
23
25
 
24
- Jeeves uses **path-specific keys** for authentication. There are two access modes:
26
+ Jeeves uses two access modes:
25
27
 
26
28
  ### Insider Access
27
29
 
28
- Insider links use a single master key that works for any path. With insider access you can:
30
+ Insider links use a derived key that works within configured scopes. With insider access you can:
29
31
 
30
- - Navigate freely between directories and files
32
+ - Navigate freely between directories and files (within scopes)
31
33
  - Generate shareable links for others
32
- - Rotate the API key (invalidates all existing links)
34
+ - Rotate your API key (invalidates all existing links)
35
+ - Search across indexed documents
33
36
 
34
37
  ### Outsider Access
35
38
 
36
39
  Outsider links are path-specific and can optionally expire. With outsider access you can:
37
40
 
38
41
  - View the specific file or directory shared with you
39
- - Download raw files
40
- - Share the same link with others
41
-
42
- Outsiders cannot navigate to parent directories or other paths.
42
+ - Download raw files and exports
43
43
 
44
44
  ## Header Controls
45
45
 
@@ -47,36 +47,12 @@ Outsiders cannot navigate to parent directories or other paths.
47
47
  |--------|-------------|
48
48
  | 🎩 | Home — return to drive list (insider only) |
49
49
  | ? | About — this page |
50
- | 🔑 | Rotate API Key — generates a new master key, invalidating all existing links |
51
- | ⬇ Raw | Download the raw file |
52
- | 📄 PDF | Export markdown as PDF |
53
- | 📝 DOCX | Export markdown as Word document |
54
- | Inside | Copy insider link to clipboard |
55
- | Outside | Generate outsider link (optionally with expiry) |
50
+ | 🔑 | Rotate API Key — generates a new key, invalidating all existing links |
51
+ | ⬇ | Download/Export raw file, PDF, DOCX, or ZIP |
52
+ | 🔗 | Share copy insider or outsider link with optional expiry |
53
+ | 🔎 | Search semantic search across indexed documents |
56
54
  | 🌙/☀️ | Toggle dark/light theme |
57
55
 
58
- ## Sharing Links
59
-
60
- ### Insider Links
61
-
62
- Click **Inside** to copy the current page URL with insider access. Anyone with this link can navigate freely.
63
-
64
- ### Outsider Links
65
-
66
- 1. Enter an expiry in the input field (e.g., `15m`, `1h`, `7d`) or leave blank for no expiry
67
- 2. Click **Outside** to generate and copy a path-specific link
68
- 3. Share the link — recipients can only view this specific path
69
-
70
- ## Key Rotation
71
-
72
- Click the 🔑 button to rotate the API key. This will:
73
-
74
- - Generate a new random API key
75
- - Invalidate **all** existing insider and outsider links
76
- - Redirect you to the same page with the new insider key
77
-
78
- The time since last rotation is shown next to the key button.
79
-
80
56
  ---
81
57
 
82
58
  *Jeeves Server — [GitHub](https://github.com/karmaniverous/jeeves-server)*