@karmaniverous/jeeves-server 3.6.0 → 3.6.2

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,7 +2,28 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
4
 
5
- #### [3.6.0](https://github.com/karmaniverous/jeeves-server/compare/service/3.5.2...3.6.0)
5
+ #### [3.6.2](https://github.com/karmaniverous/jeeves-server/compare/service/3.6.1...3.6.2)
6
+
7
+ - fix: consume core importMetaUrl for plugin install (#150, #147) [`#151`](https://github.com/karmaniverous/jeeves-server/pull/151)
8
+ - [150] fix: consume core importMetaUrl for plugin install [`#150`](https://github.com/karmaniverous/jeeves-server/pull/150)
9
+ - [150] fix: consume core importMetaUrl for plugin install (#150) [`#150`](https://github.com/karmaniverous/jeeves-server/issues/150) [`#147`](https://github.com/karmaniverous/jeeves-server/issues/147)
10
+ - chore: release @karmaniverous/jeeves-server-openclaw v0.7.1 [`35299d1`](https://github.com/karmaniverous/jeeves-server/commit/35299d17ea3d13b28aee35815b91ca6501354df6)
11
+
12
+ #### [service/3.6.1](https://github.com/karmaniverous/jeeves-server/compare/service/3.6.0...service/3.6.1)
13
+
14
+ > 5 April 2026
15
+
16
+ - chore: dependency updates — jeeves ^0.5.3, jsonmap ^2.1.1, @types/node ^25.5.2, and minor/patch bumps [`#149`](https://github.com/karmaniverous/jeeves-server/pull/149)
17
+ - chore: update @karmaniverous/jeeves to ^0.5.3 and bump minor/patch deps [`a73fd37`](https://github.com/karmaniverous/jeeves-server/commit/a73fd37cbdc235bd4d4a1ad011eac03d330755f6)
18
+ - chore: update @types/node to ^25.5.2 [`696da29`](https://github.com/karmaniverous/jeeves-server/commit/696da297e5840a1c2ef72f0e5eee5df754144925)
19
+ - chore: release @karmaniverous/jeeves-server-openclaw v0.7.0 [`3cce7a2`](https://github.com/karmaniverous/jeeves-server/commit/3cce7a2e8d97eb111ed3a5c82695cb11b7d9c54a)
20
+ - chore: update @karmaniverous/jsonmap ^0.3.1 → ^2.1.1 [`12a848d`](https://github.com/karmaniverous/jeeves-server/commit/12a848d0efd77d7ae69bb2c03f1e887300f4ba51)
21
+ - npm audit fix [`020edff`](https://github.com/karmaniverous/jeeves-server/commit/020edff96c18b52f39b67f30768b7b6821ffd227)
22
+ - chore: release @karmaniverous/jeeves-server v3.6.1 [`b539679`](https://github.com/karmaniverous/jeeves-server/commit/b5396790b2db8861ca81e1b794d9cf6b8ec6bb1f)
23
+
24
+ #### [service/3.6.0](https://github.com/karmaniverous/jeeves-server/compare/service/3.5.2...service/3.6.0)
25
+
26
+ > 3 April 2026
6
27
 
7
28
  - feat: v3.6.0 core v0.5.1 adoption + core service alignment + UX improvements [`#146`](https://github.com/karmaniverous/jeeves-server/pull/146)
8
29
  - [360] feat: Phase 3 — UX improvements (CSV tables, directory item counts, collapsible frontmatter, collapsible TOC) [`#48`](https://github.com/karmaniverous/jeeves-server/issues/48)
@@ -15,6 +36,7 @@ All notable changes to this project will be documented in this file. Dates are d
15
36
  - [360] docs: Phase 4 — documentation updates for v3.6.0 [`8e0be64`](https://github.com/karmaniverous/jeeves-server/commit/8e0be6472e300c6117dc0c917b76686015931a85)
16
37
  - [360] feat: Phase 2 — core v0.5.1 wiring (cleanup escalation, getPackageVersion, substituteEnvVars TODO) [`2b97c20`](https://github.com/karmaniverous/jeeves-server/commit/2b97c209c0caaf99d27f36a6dff397ddbb4e168d)
17
38
  - chore: release @karmaniverous/jeeves-server-openclaw v0.6.2 [`f120979`](https://github.com/karmaniverous/jeeves-server/commit/f1209795471958090f3fb18b4eda4bb62415da36)
39
+ - chore: release @karmaniverous/jeeves-server v3.6.0 [`40341f4`](https://github.com/karmaniverous/jeeves-server/commit/40341f4fb51177f7406c6f7071eec5131ff1ee1f)
18
40
  - [360] chore: Phase 5 — quality gates clean (knip fixes, remove package-directory dep) [`a436c46`](https://github.com/karmaniverous/jeeves-server/commit/a436c462311b07bf5975e6ba8b0d75c2e216e637)
19
41
  - [360] ci: drop Node 20 from Linux compatibility matrix (engine floor is now 22) [`5b690e6`](https://github.com/karmaniverous/jeeves-server/commit/5b690e6644e1e4dd2c7f66e089cf4d190daeeb32)
20
42
  - [360] docs: fix Node version in deployment guide (20 → 22) [`dde5cd2`](https://github.com/karmaniverous/jeeves-server/commit/dde5cd2f3d876a8227be823de78ccbda003e9f62)
@@ -0,0 +1,15 @@
1
+ // lucide 1.x ships without declaration files. Minimal shim for the
2
+ // icons and helpers used by this project.
3
+ declare module 'lucide' {
4
+ type IconNode = [string, Record<string, string>, IconNode[]?][];
5
+
6
+ export function createElement(
7
+ iconNode: IconNode,
8
+ attrs?: Record<string, string | number>,
9
+ ): SVGSVGElement;
10
+
11
+ export const Copy: IconNode;
12
+ export const Check: IconNode;
13
+ export const Maximize: IconNode;
14
+ export const Minimize: IconNode;
15
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Event Gateway webhook endpoint
3
3
  */
4
- import { JsonMap } from '@karmaniverous/jsonmap';
4
+ import { JsonMap, } from '@karmaniverous/jsonmap';
5
5
  import Ajv from 'ajv';
6
6
  import * as _ from 'radash';
7
7
  import { verifyKey } from '../auth/keys.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karmaniverous/jeeves-server",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "description": "Secure file browser, markdown viewer, and webhook gateway with PDF/DOCX export and expiring share links",
5
5
  "keywords": [
6
6
  "fastify",
@@ -48,18 +48,18 @@
48
48
  "dependencies": {
49
49
  "@fastify/cookie": "^11.0.2",
50
50
  "@fastify/static": "^8.3.0",
51
- "@karmaniverous/jeeves": "^0.5.1",
52
- "@karmaniverous/jsonmap": "^0.3.1",
51
+ "@karmaniverous/jeeves": "^0.5.4",
52
+ "@karmaniverous/jsonmap": "^2.1.1",
53
53
  "@mermaid-js/mermaid-cli": "^11.12.0",
54
- "@turbodocx/html-to-docx": "^1.1.0",
55
- "ajv": "^8.17.1",
54
+ "@turbodocx/html-to-docx": "^1.20.1",
55
+ "ajv": "^8.18.0",
56
56
  "archiver": "^7.0.1",
57
57
  "cheerio": "^1.2.0",
58
- "fastify": "^5.2.3",
58
+ "fastify": "^5.8.4",
59
59
  "lz-string": "^1.5.0",
60
- "marked": "^17.0.1",
60
+ "marked": "^17.0.5",
61
61
  "mime-types": "^3.0.2",
62
- "picomatch": "^4.0.3",
62
+ "picomatch": "^4.0.4",
63
63
  "plantuml-encoder": "^1.4.0",
64
64
  "puppeteer": "^23.11.1",
65
65
  "puppeteer-core": "^23.11.1",
@@ -67,18 +67,18 @@
67
67
  "zod": "^4.3.6"
68
68
  },
69
69
  "devDependencies": {
70
- "@dotenvx/dotenvx": "^1.54.1",
70
+ "@dotenvx/dotenvx": "^1.59.1",
71
71
  "@types/archiver": "^7.0.0",
72
72
  "@types/mime-types": "^3.0.1",
73
- "@types/node": "^22.0.0",
74
- "@types/picomatch": "^4.0.2",
75
- "@vitest/coverage-v8": "^4.0.16",
73
+ "@types/node": "^25.5.2",
74
+ "@types/picomatch": "^4.0.3",
75
+ "@vitest/coverage-v8": "^4.1.2",
76
76
  "auto-changelog": "^2.5.0",
77
77
  "cross-env": "^10.1.0",
78
- "happy-dom": "^20.0.11",
78
+ "happy-dom": "^20.8.9",
79
79
  "release-it": "^19.2.4",
80
- "rimraf": "^6.0.1",
81
- "vitest": "^4.0.16"
80
+ "rimraf": "^6.1.3",
81
+ "vitest": "^4.1.2"
82
82
  },
83
83
  "auto-changelog": {
84
84
  "output": "CHANGELOG.md",
@@ -2,7 +2,7 @@
2
2
  * Event route tests
3
3
  */
4
4
 
5
- import { JsonMap } from '@karmaniverous/jsonmap';
5
+ import { JsonMap, type JsonMapLib } from '@karmaniverous/jsonmap';
6
6
  import Ajv from 'ajv';
7
7
  import * as _ from 'radash';
8
8
  import { describe, expect, it } from 'vitest';
@@ -96,7 +96,7 @@ describe('event route', () => {
96
96
  },
97
97
  };
98
98
 
99
- const mapper = new JsonMap(map, { _: _ as never });
99
+ const mapper = new JsonMap(map, { _: _ as unknown as JsonMapLib });
100
100
  const result = (await mapper.transform(body)) as Record<string, unknown>;
101
101
 
102
102
  expect(result.pageId).toBe('abc123');
@@ -117,7 +117,7 @@ describe('event route', () => {
117
117
  },
118
118
  };
119
119
 
120
- const mapper = new JsonMap(map, { _: _ as never });
120
+ const mapper = new JsonMap(map, { _: _ as unknown as JsonMapLib });
121
121
  const result = (await mapper.transform(body)) as Record<string, unknown>;
122
122
 
123
123
  expect(result.pageId).toBeUndefined();
@@ -165,7 +165,7 @@ describe('event route', () => {
165
165
  },
166
166
  };
167
167
 
168
- const mapper = new JsonMap(map, { _: _ as never });
168
+ const mapper = new JsonMap(map, { _: _ as unknown as JsonMapLib });
169
169
  const result = (await mapper.transform(body)) as Record<string, unknown>;
170
170
 
171
171
  expect(result.authorName).toBe('Alice');
@@ -2,7 +2,12 @@
2
2
  * Event Gateway webhook endpoint
3
3
  */
4
4
 
5
- import { JsonMap } from '@karmaniverous/jsonmap';
5
+ import {
6
+ type Json,
7
+ JsonMap,
8
+ type JsonMapLib,
9
+ type JsonMapMap,
10
+ } from '@karmaniverous/jsonmap';
6
11
  import Ajv from 'ajv';
7
12
  import type { FastifyPluginAsync } from 'fastify';
8
13
  import * as _ from 'radash';
@@ -24,7 +29,7 @@ interface EventRequest {
24
29
  */
25
30
  function matchEvent(
26
31
  body: Record<string, unknown>,
27
- ): { name: string; cmd: string; map?: object; timeoutMs: number } | null {
32
+ ): { name: string; cmd: string; map?: JsonMapMap; timeoutMs: number } | null {
28
33
  const { events, eventTimeoutMs } = getConfig();
29
34
 
30
35
  for (const [name, eventConfig] of Object.entries(events)) {
@@ -34,7 +39,7 @@ function matchEvent(
34
39
  return {
35
40
  name,
36
41
  cmd: eventConfig.cmd,
37
- map: eventConfig.map,
42
+ map: eventConfig.map as JsonMapMap | undefined,
38
43
  timeoutMs: eventConfig.timeoutMs ?? eventTimeoutMs,
39
44
  };
40
45
  }
@@ -48,13 +53,13 @@ function matchEvent(
48
53
  */
49
54
  async function transformBody(
50
55
  body: Record<string, unknown>,
51
- map?: object,
56
+ map?: JsonMapMap,
52
57
  ): Promise<Record<string, unknown>> {
53
58
  if (!map) return body;
54
59
 
55
60
  // JsonMap with radash available as $.lib._
56
- const mapper = new JsonMap(map, { _: _ as never });
57
- const result = await mapper.transform(body);
61
+ const mapper = new JsonMap(map, { _: _ as unknown as JsonMapLib });
62
+ const result = await mapper.transform(body as unknown as Json);
58
63
  return result as Record<string, unknown>;
59
64
  }
60
65
 
@@ -0,0 +1,16 @@
1
+ // puppeteer-core 23.x ships broken ESM declarations (*.d.ts.map without
2
+ // matching *.d.ts). Re-export the CJS declarations so TypeScript can
3
+ // resolve the module under `moduleResolution: "Bundler"`.
4
+ declare module 'puppeteer-core' {
5
+ export * from 'puppeteer-core/lib/cjs/puppeteer/index.js';
6
+
7
+ import type { Browser } from 'puppeteer-core/lib/cjs/puppeteer/api/Browser.js';
8
+ import type { LaunchOptions } from 'puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.js';
9
+
10
+ interface PuppeteerNode {
11
+ launch(options?: LaunchOptions): Promise<Browser>;
12
+ }
13
+
14
+ const puppeteer: PuppeteerNode;
15
+ export default puppeteer;
16
+ }
@@ -1,10 +0,0 @@
1
- /**
2
- * Type declarations for karmaniverous/jsonmap package
3
- */
4
-
5
- declare module '@karmaniverous/jsonmap' {
6
- export class JsonMap {
7
- constructor(map?: object, lib?: Record<string, unknown>, ignore?: string);
8
- transform(input: unknown): Promise<unknown>;
9
- }
10
- }