@forklaunch/core 1.5.18 → 1.5.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EAGvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,IAAI,EACJ,aAAa,EACb,MAAM,EAEN,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,mCAAmC,CAAC;AAoe3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,EACtD,aAAa,SAAS,aAAa,CAAC,EAAE,CAAC,EAEvC,GAAG,EAAE,iBAAiB,CACpB,EAAE,EACF,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAC7B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC/B,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,OAAO,CAAC,MAAM,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,EAC/D,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,CACpC,EACD,GAAG,EAAE,kBAAkB,CACrB,OAAO,EACP,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,SAAS,EACT,OAAO,CAAC,MAAM,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAChE,EACD,IAAI,CAAC,EAAE,sBAAsB,iBAsD9B"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAGnB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EAGvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,IAAI,EACJ,aAAa,EACb,MAAM,EAEN,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,mCAAmC,CAAC;AAse3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,YAAY,SAAS,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,EACtD,aAAa,SAAS,aAAa,CAAC,EAAE,CAAC,EAEvC,GAAG,EAAE,iBAAiB,CACpB,EAAE,EACF,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAC7B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC/B,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,OAAO,CAAC,MAAM,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,EAC/D,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,CACpC,EACD,GAAG,EAAE,kBAAkB,CACrB,OAAO,EACP,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,SAAS,EACT,OAAO,CAAC,MAAM,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAChE,EACD,IAAI,CAAC,EAAE,sBAAsB,iBAwD9B"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * What an authorization failure log line may carry about the credential.
3
+ *
4
+ * Never the credential itself. A bearer token is usable until it expires
5
+ * and a Basic header is a password, so neither belongs in a log stream that
6
+ * outlives the request. What support actually needs is why it failed, who
7
+ * it claimed to be, and a way to tell two failures from one caller apart.
8
+ */
9
+ export type AuthLogContext = {
10
+ /** Whether an Authorization value was present at all. */
11
+ hasToken: boolean;
12
+ /**
13
+ * First 8 hex chars of sha256(header value). Correlates retries of one
14
+ * token and lets a caller match a token they hold against a log line
15
+ * without the log holding the token. Not reversible.
16
+ */
17
+ tokenFingerprint?: string;
18
+ /**
19
+ * Decoded, NOT verified, JWT claims. On a failed verification these are
20
+ * whatever the caller wrote, so they are labelled claimed rather than
21
+ * user and must never be treated as identity. `email` is left out on
22
+ * purpose: `sub` identifies the account without putting PII in logs.
23
+ */
24
+ claimed?: {
25
+ sub?: string;
26
+ organizationId?: string;
27
+ iss?: string;
28
+ exp?: number;
29
+ kid?: string;
30
+ };
31
+ };
32
+ /**
33
+ * Builds the loggable context for an Authorization header value. Accepts
34
+ * the full header value (`Bearer eyJ…`, `Basic …`, `HMAC …`) or a bare
35
+ * token; JWT claims are only attempted when the value looks like a JWT.
36
+ */
37
+ export declare function authLogContext(headerValue: unknown): AuthLogContext;
38
+ /**
39
+ * A stable, short reason for a JWT verification failure, derived from the
40
+ * jose error class. This is the field that was missing from the logs: an
41
+ * expired token and a forged one used to produce identical lines.
42
+ */
43
+ export declare function jwtFailureReason(error: unknown): string;
44
+ //# sourceMappingURL=authLogContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authLogContext.d.ts","sourceRoot":"","sources":["../../../../src/http/middleware/request/authLogContext.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,CAkCnE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forklaunch/core",
3
- "version": "1.5.18",
3
+ "version": "1.5.20",
4
4
  "description": "forklaunch-js core package. Contains useful building blocks.",
5
5
  "homepage": "https://github.com/forklaunch/forklaunch-js#readme",
6
6
  "bugs": {
@@ -84,42 +84,42 @@
84
84
  "@mikro-orm/core": "7.1.15",
85
85
  "@mikro-orm/mongodb": "7.1.15",
86
86
  "@opentelemetry/api": "^1.9.1",
87
- "@opentelemetry/api-logs": "^0.221.0",
88
- "@opentelemetry/exporter-logs-otlp-http": "^0.221.0",
89
- "@opentelemetry/exporter-metrics-otlp-http": "^0.221.0",
90
- "@opentelemetry/exporter-prometheus": "^0.221.0",
91
- "@opentelemetry/exporter-trace-otlp-http": "^0.221.0",
92
- "@opentelemetry/instrumentation-express": "^0.69.0",
93
- "@opentelemetry/instrumentation-http": "^0.221.0",
94
- "@opentelemetry/resources": "^2.10.0",
95
- "@opentelemetry/sdk-logs": "^0.221.0",
96
- "@opentelemetry/sdk-metrics": "^2.10.0",
97
- "@opentelemetry/sdk-node": "^0.221.0",
98
- "@opentelemetry/sdk-trace-node": "^2.10.0",
87
+ "@opentelemetry/api-logs": "^0.222.0",
88
+ "@opentelemetry/exporter-logs-otlp-http": "^0.222.0",
89
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.222.0",
90
+ "@opentelemetry/exporter-prometheus": "^0.222.0",
91
+ "@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
92
+ "@opentelemetry/instrumentation-express": "^0.70.0",
93
+ "@opentelemetry/instrumentation-http": "^0.222.0",
94
+ "@opentelemetry/resources": "^2.11.0",
95
+ "@opentelemetry/sdk-logs": "^0.222.0",
96
+ "@opentelemetry/sdk-metrics": "^2.11.0",
97
+ "@opentelemetry/sdk-node": "^0.222.0",
98
+ "@opentelemetry/sdk-trace-node": "^2.11.0",
99
99
  "@opentelemetry/semantic-conventions": "^1.43.0",
100
100
  "cors": "^2.8.6",
101
101
  "dotenv": "^17.4.2",
102
- "fastmcp": "^4.17.1",
103
- "jose": "6.2.10",
102
+ "fastmcp": "^4.20.11",
103
+ "jose": "6.2.12",
104
104
  "openapi3-ts": "^4.6.1",
105
105
  "pino": "^10.3.1",
106
106
  "pino-http": "^11.0.0",
107
107
  "pino-pretty": "^13.1.3",
108
108
  "redis": "^6.2.1",
109
109
  "uuid": "^14.0.2",
110
- "zod": "^4.5.4",
111
- "@forklaunch/common": "^1.2.25",
112
- "@forklaunch/validator": "^1.2.26"
110
+ "zod": "^4.6.4",
111
+ "@forklaunch/common": "^1.2.26",
112
+ "@forklaunch/validator": "^1.2.27"
113
113
  },
114
114
  "devDependencies": {
115
115
  "@eslint/js": "^10.0.1",
116
- "@scalar/express-api-reference": "^0.10.17",
116
+ "@scalar/express-api-reference": "^0.10.18",
117
117
  "@types/cors": "^2.8.19",
118
118
  "@types/jest": "^30.0.0",
119
119
  "@types/qs": "^6.15.1",
120
120
  "@types/uuid": "^11.0.0",
121
- "globals": "^17.11.0",
122
- "jest": "^30.5.0",
121
+ "globals": "^17.12.0",
122
+ "jest": "^30.5.1",
123
123
  "jose": "6.1.3",
124
124
  "prettier": "^3.9.6",
125
125
  "testcontainers": "^12.1.0",
@@ -128,7 +128,7 @@
128
128
  "tsup": "^8.5.1",
129
129
  "typedoc": "^0.28.20",
130
130
  "typescript": "^7.0.2",
131
- "typescript-eslint": "^8.68.0"
131
+ "typescript-eslint": "^8.70.0"
132
132
  },
133
133
  "scripts": {
134
134
  "build": "tsc --noEmit && tsup ./src/cache/index.ts ./src/controllers/index.ts ./src/mappers/index.ts ./src/objectstore/index.ts ./src/persistence/index.ts ./src/http/index.ts ./src/services/index.ts ./src/environment/index.ts ./src/ws/index.ts --format cjs,esm --no-splitting --tsconfig tsconfig.json --out-dir lib --clean --sourcemap && tsc -p tsconfig.build.json --emitDeclarationOnly",