@karmaniverous/jeeves-server 3.6.0 → 3.6.1
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/.tsbuildinfo +1 -1
- package/CHANGELOG.md +13 -1
- package/client/src/lucide.d.ts +15 -0
- package/dist/src/routes/event.js +1 -1
- package/package.json +15 -15
- package/src/routes/event.test.ts +4 -4
- package/src/routes/event.ts +11 -6
- package/src/types/puppeteer-core.d.ts +16 -0
- package/src/types/jsonmap.d.ts +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,18 @@
|
|
|
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.
|
|
5
|
+
#### [3.6.1](https://github.com/karmaniverous/jeeves-server/compare/service/3.6.0...3.6.1)
|
|
6
|
+
|
|
7
|
+
- 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)
|
|
8
|
+
- chore: update @karmaniverous/jeeves to ^0.5.3 and bump minor/patch deps [`a73fd37`](https://github.com/karmaniverous/jeeves-server/commit/a73fd37cbdc235bd4d4a1ad011eac03d330755f6)
|
|
9
|
+
- chore: update @types/node to ^25.5.2 [`696da29`](https://github.com/karmaniverous/jeeves-server/commit/696da297e5840a1c2ef72f0e5eee5df754144925)
|
|
10
|
+
- chore: release @karmaniverous/jeeves-server-openclaw v0.7.0 [`3cce7a2`](https://github.com/karmaniverous/jeeves-server/commit/3cce7a2e8d97eb111ed3a5c82695cb11b7d9c54a)
|
|
11
|
+
- chore: update @karmaniverous/jsonmap ^0.3.1 → ^2.1.1 [`12a848d`](https://github.com/karmaniverous/jeeves-server/commit/12a848d0efd77d7ae69bb2c03f1e887300f4ba51)
|
|
12
|
+
- npm audit fix [`020edff`](https://github.com/karmaniverous/jeeves-server/commit/020edff96c18b52f39b67f30768b7b6821ffd227)
|
|
13
|
+
|
|
14
|
+
#### [service/3.6.0](https://github.com/karmaniverous/jeeves-server/compare/service/3.5.2...service/3.6.0)
|
|
15
|
+
|
|
16
|
+
> 3 April 2026
|
|
6
17
|
|
|
7
18
|
- feat: v3.6.0 core v0.5.1 adoption + core service alignment + UX improvements [`#146`](https://github.com/karmaniverous/jeeves-server/pull/146)
|
|
8
19
|
- [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 +26,7 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
15
26
|
- [360] docs: Phase 4 — documentation updates for v3.6.0 [`8e0be64`](https://github.com/karmaniverous/jeeves-server/commit/8e0be6472e300c6117dc0c917b76686015931a85)
|
|
16
27
|
- [360] feat: Phase 2 — core v0.5.1 wiring (cleanup escalation, getPackageVersion, substituteEnvVars TODO) [`2b97c20`](https://github.com/karmaniverous/jeeves-server/commit/2b97c209c0caaf99d27f36a6dff397ddbb4e168d)
|
|
17
28
|
- chore: release @karmaniverous/jeeves-server-openclaw v0.6.2 [`f120979`](https://github.com/karmaniverous/jeeves-server/commit/f1209795471958090f3fb18b4eda4bb62415da36)
|
|
29
|
+
- chore: release @karmaniverous/jeeves-server v3.6.0 [`40341f4`](https://github.com/karmaniverous/jeeves-server/commit/40341f4fb51177f7406c6f7071eec5131ff1ee1f)
|
|
18
30
|
- [360] chore: Phase 5 — quality gates clean (knip fixes, remove package-directory dep) [`a436c46`](https://github.com/karmaniverous/jeeves-server/commit/a436c462311b07bf5975e6ba8b0d75c2e216e637)
|
|
19
31
|
- [360] ci: drop Node 20 from Linux compatibility matrix (engine floor is now 22) [`5b690e6`](https://github.com/karmaniverous/jeeves-server/commit/5b690e6644e1e4dd2c7f66e089cf4d190daeeb32)
|
|
20
32
|
- [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
|
+
}
|
package/dist/src/routes/event.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@karmaniverous/jeeves-server",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.1",
|
|
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.
|
|
52
|
-
"@karmaniverous/jsonmap": "^
|
|
51
|
+
"@karmaniverous/jeeves": "^0.5.3",
|
|
52
|
+
"@karmaniverous/jsonmap": "^2.1.1",
|
|
53
53
|
"@mermaid-js/mermaid-cli": "^11.12.0",
|
|
54
|
-
"@turbodocx/html-to-docx": "^1.1
|
|
55
|
-
"ajv": "^8.
|
|
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.
|
|
58
|
+
"fastify": "^5.8.4",
|
|
59
59
|
"lz-string": "^1.5.0",
|
|
60
|
-
"marked": "^17.0.
|
|
60
|
+
"marked": "^17.0.5",
|
|
61
61
|
"mime-types": "^3.0.2",
|
|
62
|
-
"picomatch": "^4.0.
|
|
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.
|
|
70
|
+
"@dotenvx/dotenvx": "^1.59.1",
|
|
71
71
|
"@types/archiver": "^7.0.0",
|
|
72
72
|
"@types/mime-types": "^3.0.1",
|
|
73
|
-
"@types/node": "^
|
|
74
|
-
"@types/picomatch": "^4.0.
|
|
75
|
-
"@vitest/coverage-v8": "^4.
|
|
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.
|
|
78
|
+
"happy-dom": "^20.8.9",
|
|
79
79
|
"release-it": "^19.2.4",
|
|
80
|
-
"rimraf": "^6.
|
|
81
|
-
"vitest": "^4.
|
|
80
|
+
"rimraf": "^6.1.3",
|
|
81
|
+
"vitest": "^4.1.2"
|
|
82
82
|
},
|
|
83
83
|
"auto-changelog": {
|
|
84
84
|
"output": "CHANGELOG.md",
|
package/src/routes/event.test.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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');
|
package/src/routes/event.ts
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
* Event Gateway webhook endpoint
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
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?:
|
|
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?:
|
|
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
|
|
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
|
+
}
|
package/src/types/jsonmap.d.ts
DELETED
|
@@ -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
|
-
}
|