@forklaunch/core 0.17.1 → 0.17.3
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/lib/{apiDefinition.types-XZ0lrfFc.d.mts → contractDetails.types-BKkaBgAN.d.mts} +883 -883
- package/lib/{apiDefinition.types-XZ0lrfFc.d.ts → contractDetails.types-BKkaBgAN.d.ts} +883 -883
- package/lib/http/index.d.mts +3 -3
- package/lib/http/index.d.ts +3 -3
- package/lib/http/index.js +68 -16
- package/lib/http/index.js.map +1 -1
- package/lib/http/index.mjs +68 -16
- package/lib/http/index.mjs.map +1 -1
- package/lib/ws/index.d.mts +2 -2
- package/lib/ws/index.d.ts +2 -2
- package/package.json +25 -25
package/lib/http/index.d.mts
CHANGED
|
@@ -3,9 +3,9 @@ export { ParsedQs } from 'qs';
|
|
|
3
3
|
import { Prettify, SanitizePathSlashes, PrettyCamelCase, TypeSafeFunction, UnionToIntersection, EmptyObject } from '@forklaunch/common';
|
|
4
4
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
5
5
|
import { ServerOptions, IncomingMessage, ServerResponse } from 'node:http';
|
|
6
|
-
import { M as Method, P as PathParamHttpContractDetails, H as HttpContractDetails, E as ExpressLikeRouterOptions, a as SessionObject, b as ParamsObject, R as ResponsesObject, B as Body, Q as QueryObject, c as HeadersObject, V as VersionSchema, d as SchemaAuthMethods,
|
|
7
|
-
export {
|
|
8
|
-
import {
|
|
6
|
+
import { M as Method, P as PathParamHttpContractDetails, H as HttpContractDetails, E as ExpressLikeRouterOptions, a as SessionObject, b as ParamsObject, R as ResponsesObject, B as Body, Q as QueryObject, c as HeadersObject, V as VersionSchema, d as SchemaAuthMethods, e as ExpressLikeSchemaHandler, f as ResolvedSessionObject, C as ContractDetails, g as PathMatch, L as LiveTypeFunction, h as LiveSdkFunction, A as AuthMethodsBase, O as OpenTelemetryCollector, i as MetricsDefinition, j as ExpressLikeApplicationOptions, k as ParamsDictionary, l as VersionedRequests, m as AuthMethods, D as DecodeResource, n as BasicAuthMethods, F as ForklaunchRequest, o as MiddlewareContractDetails, p as ExpressLikeSchemaAuthMapper, q as ForklaunchNextFunction, r as ForklaunchResponse, s as ForklaunchResHeaders, t as ForklaunchStatusResponse, u as ForklaunchSendableData, T as TelemetryOptions, v as LoggerMeta, w as LogFn } from '../contractDetails.types-BKkaBgAN.mjs';
|
|
7
|
+
export { x as BodyObject, y as DocsConfiguration, z as ErrorContainer, G as ExpressLikeAuthMapper, I as ExpressLikeGlobalAuthOptions, J as ExpressLikeHandler, K as ExpressLikeSchemaGlobalAuthOptions, N as ExtractBody, U as ExtractContentType, W as ExtractResponseBody, X as ExtractedParamsObject, Y as FileBody, Z as ForklaunchBaseRequest, _ as ForklaunchResErrors, $ as HmacMethods, a0 as HttpMethod, a1 as JsonBody, a2 as JwtAuthMethods, a3 as LiveTypeFunctionRequestInit, a4 as MapParamsSchema, a5 as MapReqBodySchema, a6 as MapReqHeadersSchema, a7 as MapReqQuerySchema, a8 as MapResBodyMapSchema, a9 as MapResHeadersSchema, aa as MapSchema, ab as MapSessionSchema, ac as MapVersionedReqsSchema, ad as MapVersionedRespsSchema, ae as MetricType, af as MultipartForm, ag as NumberOnlyObject, ah as PathParamMethod, ai as RawTypedResponseBody, aj as RequestContext, ak as ResolvedForklaunchAuthRequest, al as ResolvedForklaunchRequest, am as ResolvedForklaunchResponse, an as ResponseBody, ao as ResponseCompiledSchema, ap as ResponseShape, aq as ServerSentEventBody, S as StringOnlyObject, ar as TextBody, as as TypedBody, at as TypedRequestBody, au as TypedResponseBody, av as UnknownBody, aw as UnknownResponseBody, ax as UrlEncodedForm, ay as VersionedResponses, az as httpRequestsTotalCounter, aA as httpServerDurationHistogram } from '../contractDetails.types-BKkaBgAN.mjs';
|
|
8
|
+
import { JWTPayload, JWK } from 'jose';
|
|
9
9
|
import { ZodSchemaValidator } from '@forklaunch/validator/zod';
|
|
10
10
|
import { FastMCP } from 'fastmcp';
|
|
11
11
|
import http from 'http';
|
package/lib/http/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export { ParsedQs } from 'qs';
|
|
|
3
3
|
import { Prettify, SanitizePathSlashes, PrettyCamelCase, TypeSafeFunction, UnionToIntersection, EmptyObject } from '@forklaunch/common';
|
|
4
4
|
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
5
5
|
import { ServerOptions, IncomingMessage, ServerResponse } from 'node:http';
|
|
6
|
-
import { M as Method, P as PathParamHttpContractDetails, H as HttpContractDetails, E as ExpressLikeRouterOptions, a as SessionObject, b as ParamsObject, R as ResponsesObject, B as Body, Q as QueryObject, c as HeadersObject, V as VersionSchema, d as SchemaAuthMethods,
|
|
7
|
-
export {
|
|
8
|
-
import {
|
|
6
|
+
import { M as Method, P as PathParamHttpContractDetails, H as HttpContractDetails, E as ExpressLikeRouterOptions, a as SessionObject, b as ParamsObject, R as ResponsesObject, B as Body, Q as QueryObject, c as HeadersObject, V as VersionSchema, d as SchemaAuthMethods, e as ExpressLikeSchemaHandler, f as ResolvedSessionObject, C as ContractDetails, g as PathMatch, L as LiveTypeFunction, h as LiveSdkFunction, A as AuthMethodsBase, O as OpenTelemetryCollector, i as MetricsDefinition, j as ExpressLikeApplicationOptions, k as ParamsDictionary, l as VersionedRequests, m as AuthMethods, D as DecodeResource, n as BasicAuthMethods, F as ForklaunchRequest, o as MiddlewareContractDetails, p as ExpressLikeSchemaAuthMapper, q as ForklaunchNextFunction, r as ForklaunchResponse, s as ForklaunchResHeaders, t as ForklaunchStatusResponse, u as ForklaunchSendableData, T as TelemetryOptions, v as LoggerMeta, w as LogFn } from '../contractDetails.types-BKkaBgAN.js';
|
|
7
|
+
export { x as BodyObject, y as DocsConfiguration, z as ErrorContainer, G as ExpressLikeAuthMapper, I as ExpressLikeGlobalAuthOptions, J as ExpressLikeHandler, K as ExpressLikeSchemaGlobalAuthOptions, N as ExtractBody, U as ExtractContentType, W as ExtractResponseBody, X as ExtractedParamsObject, Y as FileBody, Z as ForklaunchBaseRequest, _ as ForklaunchResErrors, $ as HmacMethods, a0 as HttpMethod, a1 as JsonBody, a2 as JwtAuthMethods, a3 as LiveTypeFunctionRequestInit, a4 as MapParamsSchema, a5 as MapReqBodySchema, a6 as MapReqHeadersSchema, a7 as MapReqQuerySchema, a8 as MapResBodyMapSchema, a9 as MapResHeadersSchema, aa as MapSchema, ab as MapSessionSchema, ac as MapVersionedReqsSchema, ad as MapVersionedRespsSchema, ae as MetricType, af as MultipartForm, ag as NumberOnlyObject, ah as PathParamMethod, ai as RawTypedResponseBody, aj as RequestContext, ak as ResolvedForklaunchAuthRequest, al as ResolvedForklaunchRequest, am as ResolvedForklaunchResponse, an as ResponseBody, ao as ResponseCompiledSchema, ap as ResponseShape, aq as ServerSentEventBody, S as StringOnlyObject, ar as TextBody, as as TypedBody, at as TypedRequestBody, au as TypedResponseBody, av as UnknownBody, aw as UnknownResponseBody, ax as UrlEncodedForm, ay as VersionedResponses, az as httpRequestsTotalCounter, aA as httpServerDurationHistogram } from '../contractDetails.types-BKkaBgAN.js';
|
|
8
|
+
import { JWTPayload, JWK } from 'jose';
|
|
9
9
|
import { ZodSchemaValidator } from '@forklaunch/validator/zod';
|
|
10
10
|
import { FastMCP } from 'fastmcp';
|
|
11
11
|
import http from 'http';
|
package/lib/http/index.js
CHANGED
|
@@ -1391,7 +1391,8 @@ function resolveRouteMiddlewares(params) {
|
|
|
1391
1391
|
params.requestSchema,
|
|
1392
1392
|
params.responseSchemas,
|
|
1393
1393
|
params.openTelemetryCollector,
|
|
1394
|
-
|
|
1394
|
+
// Use dynamic lookup from router instance instead of captured params
|
|
1395
|
+
() => params.router ? params.router.routerOptions : params.routerOptions
|
|
1395
1396
|
),
|
|
1396
1397
|
...params.postEnrichMiddleware,
|
|
1397
1398
|
parse,
|
|
@@ -1539,56 +1540,94 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1539
1540
|
* @param controllerHandler
|
|
1540
1541
|
* @returns
|
|
1541
1542
|
*/
|
|
1542
|
-
#localParamRequest(
|
|
1543
|
+
#localParamRequest(middlewares, controllerHandler, contractDetails, requestSchema, responseSchemas, version) {
|
|
1543
1544
|
return async (route, request) => {
|
|
1544
1545
|
let statusCode;
|
|
1545
1546
|
let responseMessage;
|
|
1546
1547
|
const responseHeaders = {};
|
|
1548
|
+
const resEventHandlers = {};
|
|
1547
1549
|
const req = {
|
|
1548
1550
|
params: request?.params ?? {},
|
|
1549
1551
|
query: request?.query ?? {},
|
|
1550
1552
|
headers: request?.headers ?? {},
|
|
1551
1553
|
body: discriminateBody(this.schemaValidator, request?.body)?.schema ?? {},
|
|
1552
1554
|
path: route,
|
|
1553
|
-
|
|
1555
|
+
originalPath: route,
|
|
1556
|
+
method: "GET",
|
|
1557
|
+
version,
|
|
1558
|
+
// Properties needed by middlewares
|
|
1559
|
+
schemaValidator: this.schemaValidator,
|
|
1560
|
+
contractDetails,
|
|
1561
|
+
requestSchema,
|
|
1562
|
+
openTelemetryCollector: this.openTelemetryCollector,
|
|
1563
|
+
_globalOptions: () => this.routerOptions,
|
|
1564
|
+
context: {
|
|
1565
|
+
correlationId: "local-fetch-" + Date.now(),
|
|
1566
|
+
span: void 0
|
|
1567
|
+
},
|
|
1568
|
+
_rawBody: void 0,
|
|
1569
|
+
_parsedVersions: void 0
|
|
1554
1570
|
};
|
|
1555
1571
|
const res = {
|
|
1572
|
+
statusCode: 200,
|
|
1556
1573
|
status: (code) => {
|
|
1557
1574
|
statusCode = code;
|
|
1575
|
+
res.statusCode = code;
|
|
1558
1576
|
return res;
|
|
1559
1577
|
},
|
|
1560
1578
|
send: (message) => {
|
|
1561
1579
|
responseMessage = message;
|
|
1580
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1562
1581
|
},
|
|
1563
1582
|
json: (body) => {
|
|
1564
1583
|
responseMessage = body;
|
|
1584
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1565
1585
|
},
|
|
1566
1586
|
jsonp: (body) => {
|
|
1567
1587
|
responseMessage = body;
|
|
1588
|
+
resEventHandlers["finish"]?.forEach((handler) => handler());
|
|
1568
1589
|
},
|
|
1569
1590
|
setHeader: (key, value) => {
|
|
1570
1591
|
responseHeaders[key] = value;
|
|
1592
|
+
return res;
|
|
1593
|
+
},
|
|
1594
|
+
getHeader: (key) => responseHeaders[key],
|
|
1595
|
+
type: (contentType) => {
|
|
1596
|
+
responseHeaders["content-type"] = contentType;
|
|
1597
|
+
return res;
|
|
1571
1598
|
},
|
|
1572
1599
|
sseEmitter: (generator) => {
|
|
1573
1600
|
responseMessage = generator();
|
|
1574
1601
|
},
|
|
1602
|
+
on: (event, handler) => {
|
|
1603
|
+
if (!resEventHandlers[event]) {
|
|
1604
|
+
resEventHandlers[event] = [];
|
|
1605
|
+
}
|
|
1606
|
+
resEventHandlers[event].push(handler);
|
|
1607
|
+
return res;
|
|
1608
|
+
},
|
|
1609
|
+
responseSchemas,
|
|
1575
1610
|
version
|
|
1576
1611
|
};
|
|
1577
|
-
|
|
1578
|
-
if (
|
|
1579
|
-
|
|
1580
|
-
|
|
1612
|
+
const executeMiddlewares = request?.executeMiddlewares ?? false;
|
|
1613
|
+
if (executeMiddlewares && middlewares.length > 0) {
|
|
1614
|
+
const allHandlers = [...middlewares];
|
|
1615
|
+
let cursor = allHandlers.shift();
|
|
1616
|
+
if (cursor) {
|
|
1617
|
+
for (const fn of allHandlers) {
|
|
1618
|
+
await cursor(req, res, (err) => {
|
|
1619
|
+
if (err) {
|
|
1620
|
+
throw err;
|
|
1621
|
+
}
|
|
1622
|
+
cursor = fn;
|
|
1623
|
+
});
|
|
1624
|
+
}
|
|
1625
|
+
await cursor(req, res, async (err) => {
|
|
1581
1626
|
if (err) {
|
|
1582
1627
|
throw err;
|
|
1583
1628
|
}
|
|
1584
|
-
cursor = fn;
|
|
1585
1629
|
});
|
|
1586
1630
|
}
|
|
1587
|
-
await cursor(req, res, async (err) => {
|
|
1588
|
-
if (err) {
|
|
1589
|
-
throw err;
|
|
1590
|
-
}
|
|
1591
|
-
});
|
|
1592
1631
|
}
|
|
1593
1632
|
const cHandler = controllerHandler;
|
|
1594
1633
|
await cHandler(req, res, (err) => {
|
|
@@ -1629,7 +1668,8 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1629
1668
|
routerOptions: this.routerOptions,
|
|
1630
1669
|
postEnrichMiddleware: this.postEnrichMiddleware,
|
|
1631
1670
|
includeCreateContext: false,
|
|
1632
|
-
handlers
|
|
1671
|
+
handlers,
|
|
1672
|
+
router: this
|
|
1633
1673
|
});
|
|
1634
1674
|
registrationMethod.bind(this.internal)(
|
|
1635
1675
|
path,
|
|
@@ -1644,12 +1684,18 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1644
1684
|
this.#localParamRequest(
|
|
1645
1685
|
middlewares,
|
|
1646
1686
|
controllerHandler,
|
|
1687
|
+
contractDetails,
|
|
1688
|
+
requestSchema,
|
|
1689
|
+
responseSchemas,
|
|
1647
1690
|
version
|
|
1648
1691
|
)
|
|
1649
1692
|
])
|
|
1650
1693
|
) : this.#localParamRequest(
|
|
1651
1694
|
middlewares,
|
|
1652
|
-
controllerHandler
|
|
1695
|
+
controllerHandler,
|
|
1696
|
+
contractDetails,
|
|
1697
|
+
requestSchema,
|
|
1698
|
+
responseSchemas
|
|
1653
1699
|
)
|
|
1654
1700
|
};
|
|
1655
1701
|
const contractDetailsName = contractDetails.name;
|
|
@@ -1660,12 +1706,18 @@ var ForklaunchExpressLikeRouter = class _ForklaunchExpressLikeRouter {
|
|
|
1660
1706
|
(req) => this.#localParamRequest(
|
|
1661
1707
|
middlewares,
|
|
1662
1708
|
controllerHandler,
|
|
1709
|
+
contractDetails,
|
|
1710
|
+
requestSchema,
|
|
1711
|
+
responseSchemas,
|
|
1663
1712
|
version
|
|
1664
1713
|
)(`${this.basePath}${path}`, req)
|
|
1665
1714
|
])
|
|
1666
1715
|
) : (req) => this.#localParamRequest(
|
|
1667
1716
|
middlewares,
|
|
1668
|
-
controllerHandler
|
|
1717
|
+
controllerHandler,
|
|
1718
|
+
contractDetails,
|
|
1719
|
+
requestSchema,
|
|
1720
|
+
responseSchemas
|
|
1669
1721
|
)(`${this.basePath}${path}`, req);
|
|
1670
1722
|
}
|
|
1671
1723
|
return this;
|