vikunja-mcp-ng 0.7.0-beta.4 → 0.7.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 +13 -8
- package/dist/auth/oidc/jwtValidator.d.ts.map +1 -1
- package/dist/auth/oidc/jwtValidator.js +29 -1
- package/dist/auth/oidc/jwtValidator.js.map +1 -1
- package/dist/auth/oidc/types.d.ts +14 -1
- package/dist/auth/oidc/types.d.ts.map +1 -1
- package/dist/config/ConfigurationManager.d.ts +7 -0
- package/dist/config/ConfigurationManager.d.ts.map +1 -1
- package/dist/config/ConfigurationManager.js +11 -0
- package/dist/config/ConfigurationManager.js.map +1 -1
- package/dist/config/types.d.ts +24 -4
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +60 -9
- package/dist/config/types.js.map +1 -1
- package/dist/storage/vaultFileStore.d.ts.map +1 -1
- package/dist/storage/vaultFileStore.js +2 -1
- package/dist/storage/vaultFileStore.js.map +1 -1
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +10 -1
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/tasks/position.d.ts.map +1 -1
- package/dist/tools/tasks/position.js +37 -3
- package/dist/tools/tasks/position.js.map +1 -1
- package/dist/transport/enrollment.d.ts +33 -0
- package/dist/transport/enrollment.d.ts.map +1 -1
- package/dist/transport/enrollment.js +68 -0
- package/dist/transport/enrollment.js.map +1 -1
- package/dist/transport/httpTransport.d.ts +1 -1
- package/dist/transport/httpTransport.d.ts.map +1 -1
- package/dist/transport/httpTransport.js +78 -4
- package/dist/transport/httpTransport.js.map +1 -1
- package/dist/transport/oidcHttpAuth.d.ts.map +1 -1
- package/dist/transport/oidcHttpAuth.js +3 -0
- package/dist/transport/oidcHttpAuth.js.map +1 -1
- package/dist/transport/oidcMiddlewareSeam.d.ts +12 -14
- package/dist/transport/oidcMiddlewareSeam.d.ts.map +1 -1
- package/dist/transport/oidcMiddlewareSeam.js +12 -14
- package/dist/transport/oidcMiddlewareSeam.js.map +1 -1
- package/dist/transport/resourceMetadata.d.ts +10 -3
- package/dist/transport/resourceMetadata.d.ts.map +1 -1
- package/dist/transport/resourceMetadata.js +22 -5
- package/dist/transport/resourceMetadata.js.map +1 -1
- package/dist/types/errors.d.ts +18 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js.map +1 -1
- package/dist/utils/api-version.d.ts +25 -0
- package/dist/utils/api-version.d.ts.map +1 -0
- package/dist/utils/api-version.js +36 -0
- package/dist/utils/api-version.js.map +1 -0
- package/dist/utils/capabilities.d.ts +9 -3
- package/dist/utils/capabilities.d.ts.map +1 -1
- package/dist/utils/capabilities.js +11 -6
- package/dist/utils/capabilities.js.map +1 -1
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.d.ts.map +1 -1
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js +16 -0
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js.map +1 -1
- package/dist/utils/retry.d.ts +8 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +21 -1
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/vikunja-rest-v2.d.ts +111 -0
- package/dist/utils/vikunja-rest-v2.d.ts.map +1 -0
- package/dist/utils/vikunja-rest-v2.js +248 -0
- package/dist/utils/vikunja-rest-v2.js.map +1 -0
- package/dist/utils/vikunja-rest.d.ts +57 -0
- package/dist/utils/vikunja-rest.d.ts.map +1 -1
- package/dist/utils/vikunja-rest.js +128 -2
- package/dist/utils/vikunja-rest.js.map +1 -1
- package/dist/utils/vikunja-v2-url.d.ts +19 -0
- package/dist/utils/vikunja-v2-url.d.ts.map +1 -0
- package/dist/utils/vikunja-v2-url.js +26 -0
- package/dist/utils/vikunja-v2-url.js.map +1 -0
- package/docs/CONFIGURATION.md +43 -11
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -40,13 +40,18 @@ Node.js 22 or newer. Node 20 reached end of life in April 2026.
|
|
|
40
40
|
|
|
41
41
|
| Vikunja | Status |
|
|
42
42
|
|---|---|
|
|
43
|
-
| 2.
|
|
44
|
-
| 2.5.0
|
|
43
|
+
| 2.6.0 | Supported and tested. The version the e2e stacks and live test lanes run against by default |
|
|
44
|
+
| 2.5.0 | Supported and tested |
|
|
45
|
+
| 2.4.0 | Supported and tested. The minimum, and a full test lane on both database backends |
|
|
45
46
|
| below 2.4.0 | Not supported |
|
|
46
47
|
|
|
48
|
+
This project supports and tests the trailing three released Vikunja versions — currently 2.4.0, 2.5.0 and 2.6.0 — as full `test:matrix` lanes on both database backends. When a new version ships, the window shifts: the oldest version drops out and the new one takes its place, rather than the range simply growing.
|
|
49
|
+
|
|
50
|
+
2.6.0 tightened several permission checks. Where it now refuses something 2.4.0 accepted, this server surfaces the refusal with an explanation instead of degrading quietly — the cases are listed in [docs/VIKUNJA_API_ISSUES.md](docs/VIKUNJA_API_ISSUES.md) and each one is asserted per-version in the e2e harness. One is worth knowing about if you use a scoped API token: asking a task listing to expand `comments` or `reactions` with a token that lacks those scopes is rejected, and Vikunja's rejection is indistinguishable from an expired token, so the error names both possibilities.
|
|
51
|
+
|
|
47
52
|
The minimum rose from 2.3.0 to 2.4.0 in the `0.7.0-beta` line. Nine operations this server ships as implemented, the eight `vikunja_admin` operations and `vikunja_tasks get-by-index`, do not exist on a released 2.3.0, so the older claim was not true in practice. On Vikunja 2.3.0, either upgrade Vikunja or pin `vikunja-mcp-ng@0.6.2`.
|
|
48
53
|
|
|
49
|
-
The server speaks Vikunja's v1 API. v2 adoption
|
|
54
|
+
The server speaks Vikunja's v1 API for every operation. v2 adoption ([issue #184](https://github.com/netadvanced/vikunja-mcp-ng/issues/184)) has landed detection and a capability-gated transport, but nothing routes through it yet — that per-operation adoption ships separately once ready.
|
|
50
55
|
|
|
51
56
|
## Docker
|
|
52
57
|
|
|
@@ -82,16 +87,16 @@ For Docker Desktop's MCP Toolkit rather than a bare `docker run`, there is a ste
|
|
|
82
87
|
|
|
83
88
|
| npm tag | Version | What you get |
|
|
84
89
|
|---|---|---|
|
|
85
|
-
| `latest` | 0.
|
|
86
|
-
| `beta` |
|
|
90
|
+
| `latest` | 0.7.0 | The single-user stdio server (the quick start above), plus an opt-in OIDC resource-server mode |
|
|
91
|
+
| `beta` | — | No active beta line right now |
|
|
87
92
|
|
|
88
|
-
OIDC resource-server mode makes the server a hosted, multi-user deployment: a Streamable HTTP transport, per-user identity taken from a validated OIDC access token, MCP authorization discovery, and an enrollment flow where each user links their own Vikunja token once. It is off by default.
|
|
93
|
+
OIDC resource-server mode makes the server a hosted, multi-user deployment: a Streamable HTTP transport, per-user identity taken from a validated OIDC access token, MCP authorization discovery, and an enrollment flow where each user links their own Vikunja token once. It is off by default and stable as of `0.7.0` after several beta releases; installing the package changes nothing until you turn it on, and the stdio transport behaves as it always has.
|
|
89
94
|
|
|
90
95
|
```bash
|
|
91
|
-
npm install -g vikunja-mcp-ng
|
|
96
|
+
npm install -g vikunja-mcp-ng # or: npx -y vikunja-mcp-ng
|
|
92
97
|
```
|
|
93
98
|
|
|
94
|
-
|
|
99
|
+
The authentication boundary, the credential vault and per-identity isolation have been exercised against a real gateway, identity provider and Vikunja through the beta line, but it is newly stable and has not yet seen sustained production use at scale. Read the [OIDC setup manual](https://github.com/netadvanced/vikunja-mcp-ng/blob/main/docs/OIDC-SETUP.md) before enabling it; the design and threat model are in the [OIDC resource-server reference](https://github.com/netadvanced/vikunja-mcp-ng/blob/main/docs/OIDC-RESOURCE-SERVER.md).
|
|
95
100
|
|
|
96
101
|
## What it looks like in use
|
|
97
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwtValidator.d.ts","sourceRoot":"","sources":["../../../src/auth/oidc/jwtValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAuB,sBAAsB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"jwtValidator.d.ts","sourceRoot":"","sources":["../../../src/auth/oidc/jwtValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAuB,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAe/F,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE,QAAQ,GACb,gBAAgB,CAmFlB"}
|
|
@@ -20,6 +20,11 @@ const errors_1 = require("../../types/errors");
|
|
|
20
20
|
const logger_1 = require("../../utils/logger");
|
|
21
21
|
const DEFAULT_ALLOWED_ALGS = ['RS256'];
|
|
22
22
|
const DEFAULT_CLOCK_SKEW_SEC = 60;
|
|
23
|
+
// Mirrors OidcConfigSchema's clockSkewSec cap (src/config/types.ts) so the
|
|
24
|
+
// same bound holds for a direct caller of createOidcJwtValidator, not only
|
|
25
|
+
// for config loaded through that Zod schema — a large clockTolerance
|
|
26
|
+
// applies to `exp` itself and can make already-expired tokens verify.
|
|
27
|
+
const MAX_CLOCK_SKEW_SEC = 300;
|
|
23
28
|
const INVALID_TOKEN_MESSAGE = 'Invalid or expired token';
|
|
24
29
|
const INSUFFICIENT_SCOPE_MESSAGE = 'Token lacks required scope';
|
|
25
30
|
const BEARER_PATTERN = /^Bearer\s+(\S+)$/i;
|
|
@@ -40,6 +45,9 @@ function createOidcJwtValidator(config, deps) {
|
|
|
40
45
|
if (!config.jwksUri) {
|
|
41
46
|
throw new Error('createOidcJwtValidator: config.jwksUri is required');
|
|
42
47
|
}
|
|
48
|
+
if (config.clockSkewSec !== undefined && config.clockSkewSec > MAX_CLOCK_SKEW_SEC) {
|
|
49
|
+
throw new Error(`createOidcJwtValidator: config.clockSkewSec must not exceed ${MAX_CLOCK_SKEW_SEC}`);
|
|
50
|
+
}
|
|
43
51
|
const allowedAlgs = config.allowedAlgs && config.allowedAlgs.length > 0 ? config.allowedAlgs : DEFAULT_ALLOWED_ALGS;
|
|
44
52
|
const clockTolerance = config.clockSkewSec ?? DEFAULT_CLOCK_SKEW_SEC;
|
|
45
53
|
const jwks = deps.createRemoteJWKSet(new URL(config.jwksUri), buildJwksCacheOptions(config.jwks));
|
|
@@ -50,20 +58,30 @@ function createOidcJwtValidator(config, deps) {
|
|
|
50
58
|
throw unauthorized();
|
|
51
59
|
}
|
|
52
60
|
let payload;
|
|
61
|
+
let protectedHeader;
|
|
53
62
|
try {
|
|
54
63
|
const result = await deps.jwtVerify(token, jwks, {
|
|
55
64
|
issuer: config.issuer,
|
|
56
65
|
audience: config.audience,
|
|
57
66
|
algorithms: allowedAlgs,
|
|
58
67
|
clockTolerance,
|
|
59
|
-
|
|
68
|
+
// 'exp' must be REQUIRED, not merely checked-if-present: jose only
|
|
69
|
+
// validates exp/nbf/iat when the claim exists, so a correctly-signed
|
|
70
|
+
// token that simply omits `exp` would otherwise verify and never
|
|
71
|
+
// expire.
|
|
72
|
+
requiredClaims: ['sub', 'exp'],
|
|
60
73
|
});
|
|
61
74
|
payload = result.payload;
|
|
75
|
+
protectedHeader = result.protectedHeader;
|
|
62
76
|
}
|
|
63
77
|
catch (err) {
|
|
64
78
|
logger_1.logger.warn('OIDC auth rejected: %s', describeVerifyFailure(err));
|
|
65
79
|
throw unauthorized();
|
|
66
80
|
}
|
|
81
|
+
if (config.requireAtJwtTyp && !isAccessTokenTyp(protectedHeader.typ)) {
|
|
82
|
+
logger_1.logger.warn('OIDC auth rejected: token typ is not at+jwt');
|
|
83
|
+
throw unauthorized();
|
|
84
|
+
}
|
|
67
85
|
const sub = payload.sub;
|
|
68
86
|
if (!sub) {
|
|
69
87
|
logger_1.logger.warn('OIDC auth rejected: token has an empty sub claim');
|
|
@@ -108,6 +126,16 @@ function extractBearerToken(header) {
|
|
|
108
126
|
}
|
|
109
127
|
return BEARER_PATTERN.exec(header.trim())?.[1];
|
|
110
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* RFC 9068 §2.1: an access token's JWS header `typ` SHOULD be `at+jwt`.
|
|
131
|
+
* Case-insensitive, and tolerates the `application/` prefix some IdPs use
|
|
132
|
+
* (the same convention `typ` allows elsewhere per RFC 7515).
|
|
133
|
+
*/
|
|
134
|
+
function isAccessTokenTyp(typ) {
|
|
135
|
+
if (typeof typ !== 'string')
|
|
136
|
+
return false;
|
|
137
|
+
return typ.toLowerCase().replace(/^application\//, '') === 'at+jwt';
|
|
138
|
+
}
|
|
111
139
|
function hasRequiredScope(payload, requiredScope) {
|
|
112
140
|
const raw = payload['scope'] ?? payload['scp'];
|
|
113
141
|
if (typeof raw === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwtValidator.js","sourceRoot":"","sources":["../../../src/auth/oidc/jwtValidator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;
|
|
1
|
+
{"version":3,"file":"jwtValidator.js","sourceRoot":"","sources":["../../../src/auth/oidc/jwtValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,10 +58,23 @@ export interface OidcJwtValidatorConfig {
|
|
|
58
58
|
* reason to accept HMAC-signed tokens against key material published as public keys.
|
|
59
59
|
*/
|
|
60
60
|
allowedAlgs?: string[];
|
|
61
|
-
/** Bounded clock skew tolerance, in seconds, applied to `exp`/`nbf`/`iat` (`oidc.clockSkewSec`). Defaults to 60. */
|
|
61
|
+
/** Bounded clock skew tolerance, in seconds, applied to `exp`/`nbf`/`iat` (`oidc.clockSkewSec`). Defaults to 60, capped at 300 (enforced synchronously by `createOidcJwtValidator`). */
|
|
62
62
|
clockSkewSec?: number;
|
|
63
63
|
/** Optional coarse scope gate (`oidc.requiredScope`). When set, a validly-authenticated token missing this scope is a 403, not a 401. */
|
|
64
64
|
requiredScope?: string;
|
|
65
|
+
/**
|
|
66
|
+
* When true, reject a token whose JWS header `typ` is missing OR is not
|
|
67
|
+
* `at+jwt` (RFC 9068 §2.1 and §4, case-insensitive, tolerating an
|
|
68
|
+
* `application/` prefix). Defaults to false/unset: most IdPs mint access
|
|
69
|
+
* tokens with a generic `typ: 'JWT'` (or omit it), the same value an ID token or a
|
|
70
|
+
* logout token from the same issuer would carry, so enforcing this by
|
|
71
|
+
* default would reject legitimate tokens from IdPs that predate or don't
|
|
72
|
+
* implement RFC 9068. Turn this on only against an IdP known to set
|
|
73
|
+
* `at+jwt` on its access tokens — it then closes the gap where any
|
|
74
|
+
* same-issuer, same-audience JWT (not only an access token) would
|
|
75
|
+
* otherwise be accepted (`oidc.requireAtJwtTyp`).
|
|
76
|
+
*/
|
|
77
|
+
requireAtJwtTyp?: boolean;
|
|
65
78
|
/** Optional tuning for the underlying JWKS cache. */
|
|
66
79
|
jwks?: OidcJwksCacheConfig;
|
|
67
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/oidc/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,GAAG,EAAE,MAAM,CAAC;IACZ,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,8GAA8G;IAC9G,MAAM,EAAE,MAAM,CAAC;IACf,iHAAiH;IACjH,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/oidc/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,GAAG,EAAE,MAAM,CAAC;IACZ,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,8GAA8G;IAC9G,MAAM,EAAE,MAAM,CAAC;IACf,iHAAiH;IACjH,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,wLAAwL;IACxL,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yIAAyI;IACzI,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC;AAC7C,MAAM,MAAM,sBAAsB,GAAG,OAAO,kBAAkB,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,kBAAkB,EAAE,sBAAsB,CAAC;CAC5C"}
|
|
@@ -51,6 +51,13 @@ export declare class ConfigurationManager {
|
|
|
51
51
|
* itself is synchronous and cached after the first call.
|
|
52
52
|
*/
|
|
53
53
|
isReadOnly(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the v2 API fast path is force-disabled. Synchronous for the same
|
|
56
|
+
* reason as `isReadOnly()` above: `loadConfiguration()` is synchronous and
|
|
57
|
+
* cached after the first call, and `resolveApiVersion` sits on a
|
|
58
|
+
* per-request path where an async config read would be a needless await.
|
|
59
|
+
*/
|
|
60
|
+
isV1Forced(): boolean;
|
|
54
61
|
/**
|
|
55
62
|
* Check if a feature is enabled
|
|
56
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AAmEjB;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,OAAO;IAQP;;OAEG;WACW,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,oBAAoB;IAO5E;;OAEG;WACW,KAAK,IAAI,IAAI;IAI3B;;OAEG;IACI,iBAAiB,IAAI,iBAAiB;IAoD7C;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAO3D;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKpC,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAK1C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKpD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAK1C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjD;;;;;OAKG;IACI,gBAAgB,IAAI,aAAa;IAIxC;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;OAEG;IACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;
|
|
1
|
+
{"version":3,"file":"ConfigurationManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AAmEjB;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,OAAO;IAQP;;OAEG;WACW,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,oBAAoB;IAO5E;;OAEG;WACW,KAAK,IAAI,IAAI;IAI3B;;OAEG;IACI,iBAAiB,IAAI,iBAAiB;IAoD7C;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAO3D;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKpC,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAK1C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKpD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAK1C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjD;;;;;OAKG;IACI,gBAAgB,IAAI,aAAa;IAIxC;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;OAEG;IACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAmTpC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,SAAS;IA6BjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA4ChC;AAGD,eAAO,MAAM,gBAAgB,QAAO,OAAO,CAAC,iBAAiB,CACN,CAAC;AACxD,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,UAAU,CACC,CAAC;AACrD,eAAO,MAAM,gBAAgB,QAAO,OAAO,CAAC,aAAa,CACF,CAAC;AACxD,eAAO,MAAM,kBAAkB,QAAO,OAAO,CAAC,eAAe,CACJ,CAAC;AAC1D,eAAO,MAAM,qBAAqB,QAAO,OAAO,CAAC,kBAAkB,CACP,CAAC;AAC7D,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,OAAO,CAAC,OAAO,CACJ,CAAC;AACnE,eAAO,MAAM,gBAAgB,QAAO,OAAO,CAAC,aAAa,CACF,CAAC;AACxD,eAAO,MAAM,UAAU,QAAO,OAA0D,CAAC;AACzF,eAAO,MAAM,kBAAkB,QAAO,OAAO,CAAC,eAAe,CACJ,CAAC;AAC1D,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,UAAU,CACC,CAAC;AACrD,eAAO,MAAM,gBAAgB,QAAO,aACmB,CAAC"}
|
|
@@ -216,6 +216,15 @@ class ConfigurationManager {
|
|
|
216
216
|
isReadOnly() {
|
|
217
217
|
return this.loadConfiguration().readOnly;
|
|
218
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Whether the v2 API fast path is force-disabled. Synchronous for the same
|
|
221
|
+
* reason as `isReadOnly()` above: `loadConfiguration()` is synchronous and
|
|
222
|
+
* cached after the first call, and `resolveApiVersion` sits on a
|
|
223
|
+
* per-request path where an async config read would be a needless await.
|
|
224
|
+
*/
|
|
225
|
+
isV1Forced() {
|
|
226
|
+
return this.loadConfiguration().featureFlags.forceV1Api;
|
|
227
|
+
}
|
|
219
228
|
/**
|
|
220
229
|
* Check if a feature is enabled
|
|
221
230
|
*/
|
|
@@ -350,6 +359,7 @@ class ConfigurationManager {
|
|
|
350
359
|
// Feature flag variables
|
|
351
360
|
const featureFlags = {};
|
|
352
361
|
this.assignEnvValue(featureFlags, 'enableServerSideFiltering', process.env.VIKUNJA_ENABLE_SERVER_SIDE_FILTERING, true);
|
|
362
|
+
this.assignEnvValue(featureFlags, 'forceV1Api', process.env.VIKUNJA_MCP_FORCE_V1_API, true);
|
|
353
363
|
if (Object.keys(featureFlags).length > 0) {
|
|
354
364
|
result.featureFlags = featureFlags;
|
|
355
365
|
}
|
|
@@ -437,6 +447,7 @@ class ConfigurationManager {
|
|
|
437
447
|
}
|
|
438
448
|
this.assignEnvValue(oidc, 'clockSkewSec', process.env.VIKUNJA_MCP_OIDC_CLOCK_SKEW_SEC, true);
|
|
439
449
|
this.assignEnvValue(oidc, 'requiredScope', process.env.VIKUNJA_MCP_OIDC_REQUIRED_SCOPE, false);
|
|
450
|
+
this.assignEnvValue(oidc, 'requireAtJwtTyp', process.env.VIKUNJA_MCP_OIDC_REQUIRE_AT_JWT_TYP, true);
|
|
440
451
|
if (Object.keys(oidc).length > 0) {
|
|
441
452
|
result.oidc = oidc;
|
|
442
453
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationManager.js","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigurationManager.js","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -180,14 +180,17 @@ export declare const FeatureFlagsConfigSchema: z.ZodObject<{
|
|
|
180
180
|
enableServerSideFiltering: z.ZodDefault<z.ZodBoolean>;
|
|
181
181
|
enableAdvancedMetrics: z.ZodDefault<z.ZodBoolean>;
|
|
182
182
|
enableExperimentalFeatures: z.ZodDefault<z.ZodBoolean>;
|
|
183
|
+
forceV1Api: z.ZodDefault<z.ZodBoolean>;
|
|
183
184
|
}, "strip", z.ZodTypeAny, {
|
|
184
185
|
enableServerSideFiltering: boolean;
|
|
185
186
|
enableAdvancedMetrics: boolean;
|
|
186
187
|
enableExperimentalFeatures: boolean;
|
|
188
|
+
forceV1Api: boolean;
|
|
187
189
|
}, {
|
|
188
190
|
enableServerSideFiltering?: boolean | undefined;
|
|
189
191
|
enableAdvancedMetrics?: boolean | undefined;
|
|
190
192
|
enableExperimentalFeatures?: boolean | undefined;
|
|
193
|
+
forceV1Api?: boolean | undefined;
|
|
191
194
|
}>;
|
|
192
195
|
export type FeatureFlagsConfig = z.infer<typeof FeatureFlagsConfigSchema>;
|
|
193
196
|
export declare const ModuleToggleSchema: z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
@@ -476,10 +479,11 @@ export type HttpConfig = z.infer<typeof HttpConfigSchema>;
|
|
|
476
479
|
export declare const OidcConfigSchema: z.ZodObject<{
|
|
477
480
|
issuer: z.ZodString;
|
|
478
481
|
audience: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
|
|
479
|
-
jwksUri: z.ZodString
|
|
480
|
-
allowedAlgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
482
|
+
jwksUri: z.ZodEffects<z.ZodString, string, string>;
|
|
483
|
+
allowedAlgs: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
481
484
|
clockSkewSec: z.ZodOptional<z.ZodNumber>;
|
|
482
485
|
requiredScope: z.ZodOptional<z.ZodString>;
|
|
486
|
+
requireAtJwtTyp: z.ZodOptional<z.ZodBoolean>;
|
|
483
487
|
}, "strip", z.ZodTypeAny, {
|
|
484
488
|
issuer: string;
|
|
485
489
|
audience: string | string[];
|
|
@@ -487,6 +491,7 @@ export declare const OidcConfigSchema: z.ZodObject<{
|
|
|
487
491
|
allowedAlgs?: string[] | undefined;
|
|
488
492
|
clockSkewSec?: number | undefined;
|
|
489
493
|
requiredScope?: string | undefined;
|
|
494
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
490
495
|
}, {
|
|
491
496
|
issuer: string;
|
|
492
497
|
audience: string | string[];
|
|
@@ -494,6 +499,7 @@ export declare const OidcConfigSchema: z.ZodObject<{
|
|
|
494
499
|
allowedAlgs?: string[] | undefined;
|
|
495
500
|
clockSkewSec?: number | undefined;
|
|
496
501
|
requiredScope?: string | undefined;
|
|
502
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
497
503
|
}>;
|
|
498
504
|
export type OidcConfig = z.infer<typeof OidcConfigSchema>;
|
|
499
505
|
export declare const VaultConfigSchema: z.ZodObject<{
|
|
@@ -695,14 +701,17 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
695
701
|
enableServerSideFiltering: z.ZodDefault<z.ZodBoolean>;
|
|
696
702
|
enableAdvancedMetrics: z.ZodDefault<z.ZodBoolean>;
|
|
697
703
|
enableExperimentalFeatures: z.ZodDefault<z.ZodBoolean>;
|
|
704
|
+
forceV1Api: z.ZodDefault<z.ZodBoolean>;
|
|
698
705
|
}, "strip", z.ZodTypeAny, {
|
|
699
706
|
enableServerSideFiltering: boolean;
|
|
700
707
|
enableAdvancedMetrics: boolean;
|
|
701
708
|
enableExperimentalFeatures: boolean;
|
|
709
|
+
forceV1Api: boolean;
|
|
702
710
|
}, {
|
|
703
711
|
enableServerSideFiltering?: boolean | undefined;
|
|
704
712
|
enableAdvancedMetrics?: boolean | undefined;
|
|
705
713
|
enableExperimentalFeatures?: boolean | undefined;
|
|
714
|
+
forceV1Api?: boolean | undefined;
|
|
706
715
|
}>>;
|
|
707
716
|
modules: z.ZodDefault<z.ZodObject<{
|
|
708
717
|
tasks: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
@@ -973,10 +982,11 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
973
982
|
oidc: z.ZodOptional<z.ZodObject<{
|
|
974
983
|
issuer: z.ZodString;
|
|
975
984
|
audience: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
|
|
976
|
-
jwksUri: z.ZodString
|
|
977
|
-
allowedAlgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
985
|
+
jwksUri: z.ZodEffects<z.ZodString, string, string>;
|
|
986
|
+
allowedAlgs: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
978
987
|
clockSkewSec: z.ZodOptional<z.ZodNumber>;
|
|
979
988
|
requiredScope: z.ZodOptional<z.ZodString>;
|
|
989
|
+
requireAtJwtTyp: z.ZodOptional<z.ZodBoolean>;
|
|
980
990
|
}, "strip", z.ZodTypeAny, {
|
|
981
991
|
issuer: string;
|
|
982
992
|
audience: string | string[];
|
|
@@ -984,6 +994,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
984
994
|
allowedAlgs?: string[] | undefined;
|
|
985
995
|
clockSkewSec?: number | undefined;
|
|
986
996
|
requiredScope?: string | undefined;
|
|
997
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
987
998
|
}, {
|
|
988
999
|
issuer: string;
|
|
989
1000
|
audience: string | string[];
|
|
@@ -991,6 +1002,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
991
1002
|
allowedAlgs?: string[] | undefined;
|
|
992
1003
|
clockSkewSec?: number | undefined;
|
|
993
1004
|
requiredScope?: string | undefined;
|
|
1005
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
994
1006
|
}>>;
|
|
995
1007
|
vault: z.ZodDefault<z.ZodObject<{
|
|
996
1008
|
path: z.ZodOptional<z.ZodString>;
|
|
@@ -1075,6 +1087,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1075
1087
|
enableServerSideFiltering: boolean;
|
|
1076
1088
|
enableAdvancedMetrics: boolean;
|
|
1077
1089
|
enableExperimentalFeatures: boolean;
|
|
1090
|
+
forceV1Api: boolean;
|
|
1078
1091
|
};
|
|
1079
1092
|
modules: {
|
|
1080
1093
|
tasks: boolean | z.objectOutputType<{
|
|
@@ -1151,6 +1164,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1151
1164
|
allowedAlgs?: string[] | undefined;
|
|
1152
1165
|
clockSkewSec?: number | undefined;
|
|
1153
1166
|
requiredScope?: string | undefined;
|
|
1167
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
1154
1168
|
} | undefined;
|
|
1155
1169
|
}, {
|
|
1156
1170
|
environment?: Environment | undefined;
|
|
@@ -1209,6 +1223,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1209
1223
|
enableServerSideFiltering?: boolean | undefined;
|
|
1210
1224
|
enableAdvancedMetrics?: boolean | undefined;
|
|
1211
1225
|
enableExperimentalFeatures?: boolean | undefined;
|
|
1226
|
+
forceV1Api?: boolean | undefined;
|
|
1212
1227
|
} | undefined;
|
|
1213
1228
|
modules?: {
|
|
1214
1229
|
tasks?: boolean | z.objectInputType<{
|
|
@@ -1275,6 +1290,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1275
1290
|
allowedAlgs?: string[] | undefined;
|
|
1276
1291
|
clockSkewSec?: number | undefined;
|
|
1277
1292
|
requiredScope?: string | undefined;
|
|
1293
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
1278
1294
|
} | undefined;
|
|
1279
1295
|
vault?: {
|
|
1280
1296
|
path?: string | undefined;
|
|
@@ -1343,6 +1359,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1343
1359
|
enableServerSideFiltering: boolean;
|
|
1344
1360
|
enableAdvancedMetrics: boolean;
|
|
1345
1361
|
enableExperimentalFeatures: boolean;
|
|
1362
|
+
forceV1Api: boolean;
|
|
1346
1363
|
};
|
|
1347
1364
|
modules: {
|
|
1348
1365
|
tasks: boolean | z.objectOutputType<{
|
|
@@ -1419,6 +1436,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1419
1436
|
allowedAlgs?: string[] | undefined;
|
|
1420
1437
|
clockSkewSec?: number | undefined;
|
|
1421
1438
|
requiredScope?: string | undefined;
|
|
1439
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
1422
1440
|
} | undefined;
|
|
1423
1441
|
}, {
|
|
1424
1442
|
environment?: Environment | undefined;
|
|
@@ -1477,6 +1495,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1477
1495
|
enableServerSideFiltering?: boolean | undefined;
|
|
1478
1496
|
enableAdvancedMetrics?: boolean | undefined;
|
|
1479
1497
|
enableExperimentalFeatures?: boolean | undefined;
|
|
1498
|
+
forceV1Api?: boolean | undefined;
|
|
1480
1499
|
} | undefined;
|
|
1481
1500
|
modules?: {
|
|
1482
1501
|
tasks?: boolean | z.objectInputType<{
|
|
@@ -1543,6 +1562,7 @@ export declare const ApplicationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1543
1562
|
allowedAlgs?: string[] | undefined;
|
|
1544
1563
|
clockSkewSec?: number | undefined;
|
|
1545
1564
|
requiredScope?: string | undefined;
|
|
1565
|
+
requireAtJwtTyp?: boolean | undefined;
|
|
1546
1566
|
} | undefined;
|
|
1547
1567
|
vault?: {
|
|
1548
1568
|
path?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;CAC1B;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAYhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuChC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js
CHANGED
|
@@ -76,6 +76,13 @@ exports.FeatureFlagsConfigSchema = zod_1.z.object({
|
|
|
76
76
|
enableServerSideFiltering: zod_1.z.boolean().default(true),
|
|
77
77
|
enableAdvancedMetrics: zod_1.z.boolean().default(false),
|
|
78
78
|
enableExperimentalFeatures: zod_1.z.boolean().default(false),
|
|
79
|
+
// Kill switch for the v2 API fast path: when true, every operation uses
|
|
80
|
+
// the v1 API even if this session's capability probe reported v2 support.
|
|
81
|
+
// Config file key: `featureFlags.forceV1Api`. Env override:
|
|
82
|
+
// `VIKUNJA_MCP_FORCE_V1_API` (env always wins, per standard layering).
|
|
83
|
+
// Deliberately absent from ENVIRONMENT_PROFILES so it stays false in every
|
|
84
|
+
// environment unless explicitly set. See src/utils/api-version.ts.
|
|
85
|
+
forceV1Api: zod_1.z.boolean().default(false),
|
|
79
86
|
});
|
|
80
87
|
// Module Enable/Disable Configuration Schema
|
|
81
88
|
//
|
|
@@ -205,17 +212,52 @@ exports.OidcConfigSchema = zod_1.z.object({
|
|
|
205
212
|
// Required audience value(s) (`oidc.audience`). Env form is a
|
|
206
213
|
// comma-separated list; a single value stays a string.
|
|
207
214
|
audience: zod_1.z.union([zod_1.z.string().min(1), zod_1.z.array(zod_1.z.string().min(1)).min(1)]),
|
|
208
|
-
// JWKS endpoint URL to fetch signing keys from (`oidc.jwksUri`).
|
|
209
|
-
|
|
215
|
+
// JWKS endpoint URL to fetch signing keys from (`oidc.jwksUri`). Must be
|
|
216
|
+
// `https:` — docs/OIDC-RESOURCE-SERVER.md documents signing keys as fetched
|
|
217
|
+
// "over HTTPS" as a security invariant; a plain `http://` endpoint lets an
|
|
218
|
+
// on-path attacker substitute keys and mint tokens for any identity.
|
|
219
|
+
jwksUri: zod_1.z
|
|
220
|
+
.string()
|
|
221
|
+
.url()
|
|
222
|
+
.refine((value) => {
|
|
223
|
+
try {
|
|
224
|
+
return new URL(value).protocol === 'https:';
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
// Already-invalid URLs are rejected by .url() above with its own
|
|
228
|
+
// message; this refinement only adds the scheme check.
|
|
229
|
+
return false;
|
|
230
|
+
}
|
|
231
|
+
}, {
|
|
232
|
+
message: 'oidc.jwksUri must use https:// — signing keys must not be fetched over plaintext',
|
|
233
|
+
}),
|
|
210
234
|
// Allowed JWS `alg` values (`oidc.allowedAlgs`). Defaults (in the validator)
|
|
211
|
-
// to `['RS256']
|
|
212
|
-
|
|
235
|
+
// to `['RS256']`. `none` is never accepted by `jose` itself, but is also
|
|
236
|
+
// rejected here at config load — a misconfiguration should fail loud at
|
|
237
|
+
// startup rather than rely solely on the verifier's own backstop. `HS*`
|
|
238
|
+
// algorithms are still permitted: unlike `none`, there is a legitimate
|
|
239
|
+
// (if discouraged) reason to configure one, see
|
|
240
|
+
// `OidcJwtValidatorConfig.allowedAlgs`'s doc comment.
|
|
241
|
+
allowedAlgs: zod_1.z
|
|
242
|
+
.array(zod_1.z.string().min(1))
|
|
243
|
+
.min(1)
|
|
244
|
+
.refine((algs) => !algs.some((alg) => alg.toLowerCase() === 'none'), {
|
|
245
|
+
message: "oidc.allowedAlgs must not include 'none'",
|
|
246
|
+
})
|
|
247
|
+
.optional(),
|
|
213
248
|
// Bounded clock-skew tolerance in seconds (`oidc.clockSkewSec`), applied to
|
|
214
|
-
// `exp`/`nbf`/`iat`. Validator default: 60.
|
|
215
|
-
|
|
249
|
+
// `exp`/`nbf`/`iat`. Validator default: 60. Capped at 300 (5 minutes): jose
|
|
250
|
+
// applies this value as `clockTolerance` on `exp` itself, so an
|
|
251
|
+
// unbounded value would let an operator (deliberately or via a fat-fingered
|
|
252
|
+
// env var) make already-expired tokens still verify.
|
|
253
|
+
clockSkewSec: zod_1.z.number().int().nonnegative().max(300).optional(),
|
|
216
254
|
// Optional coarse scope gate (`oidc.requiredScope`) — a validly
|
|
217
255
|
// authenticated token missing it is a 403, not a 401.
|
|
218
256
|
requiredScope: zod_1.z.string().min(1).optional(),
|
|
257
|
+
// Optional RFC 9068 `typ` enforcement (`oidc.requireAtJwtTyp`) — off by
|
|
258
|
+
// default. See `OidcJwtValidatorConfig.requireAtJwtTyp`'s doc comment for
|
|
259
|
+
// what this closes and why it isn't the default.
|
|
260
|
+
requireAtJwtTyp: zod_1.z.boolean().optional(),
|
|
219
261
|
});
|
|
220
262
|
// Credential vault configuration (docs/OIDC-RESOURCE-SERVER.md §3c, D1/D4).
|
|
221
263
|
//
|
|
@@ -257,11 +299,20 @@ exports.EnrollConfigSchema = zod_1.z.object({
|
|
|
257
299
|
// Expiry, in days, of the auto-minted per-user Vikunja API token
|
|
258
300
|
// (`VIKUNJA_MCP_ENROLL_TOKEN_EXPIRY_DAYS`). Default: 365. When a token
|
|
259
301
|
// expires the user simply re-runs `vikunja_auth provision` and clicks the
|
|
260
|
-
// link again — re-enrollment mints and vaults a fresh token.
|
|
261
|
-
|
|
302
|
+
// link again — re-enrollment mints and vaults a fresh token. Capped at 3650
|
|
303
|
+
// (10 years): unbounded, this feeds `Date` arithmetic in
|
|
304
|
+
// `src/transport/enrollment.ts` directly (`Date.now() + tokenExpiryDays *
|
|
305
|
+
// 24 * 3600 * 1000`), and an extreme value overflows `Date`'s valid range,
|
|
306
|
+
// throwing on every enrollment callback rather than minting a long-lived
|
|
307
|
+
// token.
|
|
308
|
+
tokenExpiryDays: zod_1.z.number().int().positive().max(3650).default(365),
|
|
262
309
|
// Enrollment ticket lifetime in seconds (`VIKUNJA_MCP_ENROLL_TICKET_TTL_SEC`)
|
|
263
310
|
// — how long the returned enrollment URL stays clickable. Default: 600.
|
|
264
|
-
|
|
311
|
+
// Capped at 3600 (1 hour): this is a short-lived, leak-sensitive credential
|
|
312
|
+
// (it travels in a URL and as an OAuth `state` value), so an unbounded
|
|
313
|
+
// value is the same "operator tolerance with no ceiling" class of bug as
|
|
314
|
+
// `clockSkewSec` above, not a legitimate long-lived-knob use case.
|
|
315
|
+
ticketTtlSec: zod_1.z.number().int().positive().max(3600).default(600),
|
|
265
316
|
});
|
|
266
317
|
// Complete Application Configuration Schema
|
|
267
318
|
exports.ApplicationConfigSchema = zod_1.z.object({
|