@modularizer/plat-client 0.4.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/dist/args/coerce.d.ts +54 -0
- package/dist/args/coerce.d.ts.map +1 -0
- package/dist/args/coerce.js +236 -0
- package/dist/args/coerce.js.map +1 -0
- package/dist/args/index.d.ts +2 -0
- package/dist/args/index.d.ts.map +1 -0
- package/dist/args/index.js +2 -0
- package/dist/args/index.js.map +1 -0
- package/dist/args/scalars.d.ts +87 -0
- package/dist/args/scalars.d.ts.map +1 -0
- package/dist/args/scalars.js +22 -0
- package/dist/args/scalars.js.map +1 -0
- package/dist/args/validate.d.ts +23 -0
- package/dist/args/validate.d.ts.map +1 -0
- package/dist/args/validate.js +185 -0
- package/dist/args/validate.js.map +1 -0
- package/dist/args/z2.d.ts +27 -0
- package/dist/args/z2.d.ts.map +1 -0
- package/dist/args/z2.js +24 -0
- package/dist/args/z2.js.map +1 -0
- package/dist/client/css-transport-plugin.d.ts +19 -0
- package/dist/client/css-transport-plugin.d.ts.map +1 -0
- package/dist/client/css-transport-plugin.js +78 -0
- package/dist/client/css-transport-plugin.js.map +1 -0
- package/dist/client/file-transport-plugin.d.ts +28 -0
- package/dist/client/file-transport-plugin.d.ts.map +1 -0
- package/dist/client/file-transport-plugin.js +80 -0
- package/dist/client/file-transport-plugin.js.map +1 -0
- package/dist/client/http-transport-plugin.d.ts +27 -0
- package/dist/client/http-transport-plugin.d.ts.map +1 -0
- package/dist/client/http-transport-plugin.js +48 -0
- package/dist/client/http-transport-plugin.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/openapi-client.d.ts +334 -0
- package/dist/client/openapi-client.d.ts.map +1 -0
- package/dist/client/openapi-client.js +910 -0
- package/dist/client/openapi-client.js.map +1 -0
- package/dist/client/proxy.d.ts +5 -0
- package/dist/client/proxy.d.ts.map +1 -0
- package/dist/client/proxy.js +353 -0
- package/dist/client/proxy.js.map +1 -0
- package/dist/client/request-builder.d.ts +5 -0
- package/dist/client/request-builder.d.ts.map +1 -0
- package/dist/client/request-builder.js +88 -0
- package/dist/client/request-builder.js.map +1 -0
- package/dist/client/rpc-transport-plugin.d.ts +17 -0
- package/dist/client/rpc-transport-plugin.d.ts.map +1 -0
- package/dist/client/rpc-transport-plugin.js +69 -0
- package/dist/client/rpc-transport-plugin.js.map +1 -0
- package/dist/client/tools.d.ts +69 -0
- package/dist/client/tools.d.ts.map +1 -0
- package/dist/client/tools.js +122 -0
- package/dist/client/tools.js.map +1 -0
- package/dist/client/transport-plugin.d.ts +62 -0
- package/dist/client/transport-plugin.d.ts.map +1 -0
- package/dist/client/transport-plugin.js +40 -0
- package/dist/client/transport-plugin.js.map +1 -0
- package/dist/client-entry.d.ts +25 -0
- package/dist/client-entry.d.ts.map +1 -0
- package/dist/client-entry.js +25 -0
- package/dist/client-entry.js.map +1 -0
- package/dist/client-server-entry.d.ts +13 -0
- package/dist/client-server-entry.d.ts.map +1 -0
- package/dist/client-server-entry.js +13 -0
- package/dist/client-server-entry.js.map +1 -0
- package/dist/client-side-python/runtime.d.ts +102 -0
- package/dist/client-side-python/runtime.d.ts.map +1 -0
- package/dist/client-side-python/runtime.js +595 -0
- package/dist/client-side-python/runtime.js.map +1 -0
- package/dist/client-side-server/bootstrap.d.ts +3 -0
- package/dist/client-side-server/bootstrap.d.ts.map +1 -0
- package/dist/client-side-server/bootstrap.js +20 -0
- package/dist/client-side-server/bootstrap.js.map +1 -0
- package/dist/client-side-server/channel.d.ts +17 -0
- package/dist/client-side-server/channel.d.ts.map +1 -0
- package/dist/client-side-server/channel.js +38 -0
- package/dist/client-side-server/channel.js.map +1 -0
- package/dist/client-side-server/identity.d.ts +116 -0
- package/dist/client-side-server/identity.d.ts.map +1 -0
- package/dist/client-side-server/identity.js +358 -0
- package/dist/client-side-server/identity.js.map +1 -0
- package/dist/client-side-server/mqtt-webrtc.d.ts +77 -0
- package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -0
- package/dist/client-side-server/mqtt-webrtc.js +575 -0
- package/dist/client-side-server/mqtt-webrtc.js.map +1 -0
- package/dist/client-side-server/protocol.d.ts +49 -0
- package/dist/client-side-server/protocol.d.ts.map +1 -0
- package/dist/client-side-server/protocol.js +13 -0
- package/dist/client-side-server/protocol.js.map +1 -0
- package/dist/client-side-server/runtime.d.ts +57 -0
- package/dist/client-side-server/runtime.d.ts.map +1 -0
- package/dist/client-side-server/runtime.js +188 -0
- package/dist/client-side-server/runtime.js.map +1 -0
- package/dist/client-side-server/server.d.ts +75 -0
- package/dist/client-side-server/server.d.ts.map +1 -0
- package/dist/client-side-server/server.js +380 -0
- package/dist/client-side-server/server.js.map +1 -0
- package/dist/client-side-server/signaling.d.ts +10 -0
- package/dist/client-side-server/signaling.d.ts.map +1 -0
- package/dist/client-side-server/signaling.js +19 -0
- package/dist/client-side-server/signaling.js.map +1 -0
- package/dist/client-side-server/source-analysis.d.ts +29 -0
- package/dist/client-side-server/source-analysis.d.ts.map +1 -0
- package/dist/client-side-server/source-analysis.js +395 -0
- package/dist/client-side-server/source-analysis.js.map +1 -0
- package/dist/generated/python-browser-sources.d.ts +2 -0
- package/dist/generated/python-browser-sources.d.ts.map +1 -0
- package/dist/generated/python-browser-sources.js +13 -0
- package/dist/generated/python-browser-sources.js.map +1 -0
- package/dist/logging.d.ts +9 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +64 -0
- package/dist/logging.js.map +1 -0
- package/dist/python-browser-entry.d.ts +2 -0
- package/dist/python-browser-entry.d.ts.map +1 -0
- package/dist/python-browser-entry.js +2 -0
- package/dist/python-browser-entry.js.map +1 -0
- package/dist/rpc.d.ts +39 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -0
- package/dist/server/authority-server.d.ts +27 -0
- package/dist/server/authority-server.d.ts.map +1 -0
- package/dist/server/authority-server.js +97 -0
- package/dist/server/authority-server.js.map +1 -0
- package/dist/server/cache/index.d.ts +2 -0
- package/dist/server/cache/index.d.ts.map +1 -0
- package/dist/server/cache/index.js +2 -0
- package/dist/server/cache/index.js.map +1 -0
- package/dist/server/cache/utils.d.ts +30 -0
- package/dist/server/cache/utils.d.ts.map +1 -0
- package/dist/server/cache/utils.js +116 -0
- package/dist/server/cache/utils.js.map +1 -0
- package/dist/server/core.d.ts +43 -0
- package/dist/server/core.d.ts.map +1 -0
- package/dist/server/core.js +215 -0
- package/dist/server/core.js.map +1 -0
- package/dist/server/operation-registry.d.ts +9 -0
- package/dist/server/operation-registry.d.ts.map +1 -0
- package/dist/server/operation-registry.js +16 -0
- package/dist/server/operation-registry.js.map +1 -0
- package/dist/server/param-aliases.d.ts +40 -0
- package/dist/server/param-aliases.d.ts.map +1 -0
- package/dist/server/param-aliases.js +112 -0
- package/dist/server/param-aliases.js.map +1 -0
- package/dist/server/rate-limit/index.d.ts +2 -0
- package/dist/server/rate-limit/index.d.ts.map +1 -0
- package/dist/server/rate-limit/index.js +2 -0
- package/dist/server/rate-limit/index.js.map +1 -0
- package/dist/server/rate-limit/utils.d.ts +27 -0
- package/dist/server/rate-limit/utils.d.ts.map +1 -0
- package/dist/server/rate-limit/utils.js +126 -0
- package/dist/server/rate-limit/utils.js.map +1 -0
- package/dist/server/routing.d.ts +39 -0
- package/dist/server/routing.d.ts.map +1 -0
- package/dist/server/routing.js +70 -0
- package/dist/server/routing.js.map +1 -0
- package/dist/server/token-limit/index.d.ts +2 -0
- package/dist/server/token-limit/index.d.ts.map +1 -0
- package/dist/server/token-limit/index.js +2 -0
- package/dist/server/token-limit/index.js.map +1 -0
- package/dist/server/token-limit/utils.d.ts +44 -0
- package/dist/server/token-limit/utils.d.ts.map +1 -0
- package/dist/server/token-limit/utils.js +260 -0
- package/dist/server/token-limit/utils.js.map +1 -0
- package/dist/server/tools.d.ts +33 -0
- package/dist/server/tools.d.ts.map +1 -0
- package/dist/server/tools.js +160 -0
- package/dist/server/tools.js.map +1 -0
- package/dist/server/transports.d.ts +25 -0
- package/dist/server/transports.d.ts.map +1 -0
- package/dist/server/transports.js +2 -0
- package/dist/server/transports.js.map +1 -0
- package/dist/shared/tools.d.ts +24 -0
- package/dist/shared/tools.d.ts.map +1 -0
- package/dist/shared/tools.js +86 -0
- package/dist/shared/tools.js.map +1 -0
- package/dist/spec/decorators.d.ts +41 -0
- package/dist/spec/decorators.d.ts.map +1 -0
- package/dist/spec/decorators.js +93 -0
- package/dist/spec/decorators.js.map +1 -0
- package/dist/spec/index.d.ts +3 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +3 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/metadata.d.ts +5 -0
- package/dist/spec/metadata.d.ts.map +1 -0
- package/dist/spec/metadata.js +37 -0
- package/dist/spec/metadata.js.map +1 -0
- package/dist/types/client-route.d.ts +7 -0
- package/dist/types/client-route.d.ts.map +1 -0
- package/dist/types/client-route.js +2 -0
- package/dist/types/client-route.js.map +1 -0
- package/dist/types/client.d.ts +81 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/client.js +14 -0
- package/dist/types/client.js.map +1 -0
- package/dist/types/endpoints.d.ts +76 -0
- package/dist/types/endpoints.d.ts.map +1 -0
- package/dist/types/endpoints.js +2 -0
- package/dist/types/endpoints.js.map +1 -0
- package/dist/types/errors.d.ts +86 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +153 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/http.d.ts +80 -0
- package/dist/types/http.d.ts.map +1 -0
- package/dist/types/http.js +61 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi.d.ts +220 -0
- package/dist/types/openapi.d.ts.map +1 -0
- package/dist/types/openapi.js +11 -0
- package/dist/types/openapi.js.map +1 -0
- package/dist/types/opts.d.ts +46 -0
- package/dist/types/opts.d.ts.map +1 -0
- package/dist/types/opts.js +2 -0
- package/dist/types/opts.js.map +1 -0
- package/dist/types/plugins.d.ts +93 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +5 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/tools.d.ts +52 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +2 -0
- package/dist/types/tools.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../typescript/src/server/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RouteContext } from '../types';
|
|
2
|
+
export interface PLATServerResolvedOperation {
|
|
3
|
+
method: string;
|
|
4
|
+
path: string;
|
|
5
|
+
methodName: string;
|
|
6
|
+
boundMethod: Function;
|
|
7
|
+
controllerTag: string;
|
|
8
|
+
routeMeta: any;
|
|
9
|
+
controllerMeta: any;
|
|
10
|
+
}
|
|
11
|
+
export interface PLATServerCallEnvelope {
|
|
12
|
+
protocol: string;
|
|
13
|
+
method: string;
|
|
14
|
+
path: string;
|
|
15
|
+
headers: Record<string, string>;
|
|
16
|
+
input: Record<string, any>;
|
|
17
|
+
ctx: RouteContext;
|
|
18
|
+
operationId?: string;
|
|
19
|
+
requestId?: string;
|
|
20
|
+
req?: unknown;
|
|
21
|
+
res?: unknown;
|
|
22
|
+
allowHelp: boolean;
|
|
23
|
+
helpRequested?: boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=transports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../../typescript/src/server/transports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,QAAQ,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,GAAG,CAAA;IACd,cAAc,EAAE,GAAG,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,GAAG,EAAE,YAAY,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transports.js","sourceRoot":"","sources":["../../../typescript/src/server/transports.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../types/tools';
|
|
2
|
+
export interface ToolDefinitionInit {
|
|
3
|
+
name: string;
|
|
4
|
+
summary?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
method: string;
|
|
7
|
+
path: string;
|
|
8
|
+
controller?: string;
|
|
9
|
+
tags?: string[];
|
|
10
|
+
examples?: unknown[];
|
|
11
|
+
hidden?: boolean;
|
|
12
|
+
safe?: boolean;
|
|
13
|
+
idempotent?: boolean;
|
|
14
|
+
longRunning?: boolean;
|
|
15
|
+
input_schema?: ToolDefinition['input_schema'];
|
|
16
|
+
response_schema?: ToolDefinition['response_schema'];
|
|
17
|
+
}
|
|
18
|
+
export declare function emptyInputSchema(): ToolDefinition['input_schema'];
|
|
19
|
+
export declare function normalizeInputSchema(schema?: Partial<ToolDefinition['input_schema']> | null): ToolDefinition['input_schema'];
|
|
20
|
+
export declare function createToolDefinition(init: ToolDefinitionInit): ToolDefinition;
|
|
21
|
+
export declare function buildInputSchemaFromOpenAPIOperation(operation: any): ToolDefinition['input_schema'];
|
|
22
|
+
export declare function buildResponseSchemaFromOpenAPIOperation(operation: any): ToolDefinition['response_schema'] | undefined;
|
|
23
|
+
export declare function toolDefinitionFromOpenAPIOperation(path: string, method: string, operation: any): ToolDefinition | null;
|
|
24
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../typescript/src/shared/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;CACtD;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,cAAc,CAAC,CAEjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,CAM5H;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAiB7E;AAED,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,CAwBnG;AAED,wBAAgB,uCAAuC,CAAC,SAAS,EAAE,GAAG,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAerH;AAED,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,GACf,cAAc,GAAG,IAAI,CAcvB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export function emptyInputSchema() {
|
|
2
|
+
return { type: 'object', properties: {}, required: [] };
|
|
3
|
+
}
|
|
4
|
+
export function normalizeInputSchema(schema) {
|
|
5
|
+
return {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: schema?.properties ?? {},
|
|
8
|
+
required: schema?.required ?? [],
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function createToolDefinition(init) {
|
|
12
|
+
return {
|
|
13
|
+
name: init.name,
|
|
14
|
+
summary: init.summary,
|
|
15
|
+
description: init.description || `${init.method.toUpperCase()} ${init.path}`,
|
|
16
|
+
method: init.method.toUpperCase(),
|
|
17
|
+
path: init.path,
|
|
18
|
+
controller: init.controller,
|
|
19
|
+
tags: init.tags,
|
|
20
|
+
examples: init.examples,
|
|
21
|
+
hidden: init.hidden,
|
|
22
|
+
safe: init.safe,
|
|
23
|
+
idempotent: init.idempotent,
|
|
24
|
+
longRunning: init.longRunning,
|
|
25
|
+
input_schema: normalizeInputSchema(init.input_schema),
|
|
26
|
+
response_schema: init.response_schema,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function buildInputSchemaFromOpenAPIOperation(operation) {
|
|
30
|
+
const properties = {};
|
|
31
|
+
const required = new Set();
|
|
32
|
+
if (Array.isArray(operation?.parameters)) {
|
|
33
|
+
for (const param of operation.parameters) {
|
|
34
|
+
if (!param?.name || !param?.schema)
|
|
35
|
+
continue;
|
|
36
|
+
properties[param.name] = { ...param.schema };
|
|
37
|
+
if (param.description)
|
|
38
|
+
properties[param.name].description = param.description;
|
|
39
|
+
if (param.required)
|
|
40
|
+
required.add(param.name);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const bodySchema = operation?.requestBody?.content?.['application/json']?.schema;
|
|
44
|
+
if (bodySchema?.type === 'object' && bodySchema.properties) {
|
|
45
|
+
Object.assign(properties, bodySchema.properties);
|
|
46
|
+
for (const name of bodySchema.required ?? [])
|
|
47
|
+
required.add(name);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
type: 'object',
|
|
51
|
+
properties,
|
|
52
|
+
required: Array.from(required),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function buildResponseSchemaFromOpenAPIOperation(operation) {
|
|
56
|
+
const responses = operation?.responses;
|
|
57
|
+
if (!responses || typeof responses !== 'object')
|
|
58
|
+
return undefined;
|
|
59
|
+
for (const status of ['200', '201', '202', 'default']) {
|
|
60
|
+
const schema = responses[status]?.content?.['application/json']?.schema;
|
|
61
|
+
if (schema)
|
|
62
|
+
return schema;
|
|
63
|
+
}
|
|
64
|
+
for (const response of Object.values(responses)) {
|
|
65
|
+
const schema = response?.content?.['application/json']?.schema;
|
|
66
|
+
if (schema)
|
|
67
|
+
return schema;
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
export function toolDefinitionFromOpenAPIOperation(path, method, operation) {
|
|
72
|
+
if (!operation?.operationId)
|
|
73
|
+
return null;
|
|
74
|
+
return createToolDefinition({
|
|
75
|
+
name: operation.operationId,
|
|
76
|
+
summary: operation.summary,
|
|
77
|
+
description: operation.description || operation.summary || `${method.toUpperCase()} ${path}`,
|
|
78
|
+
method: method.toUpperCase(),
|
|
79
|
+
path,
|
|
80
|
+
controller: operation.tags?.[0],
|
|
81
|
+
tags: Array.isArray(operation.tags) ? operation.tags : undefined,
|
|
82
|
+
input_schema: buildInputSchemaFromOpenAPIOperation(operation),
|
|
83
|
+
response_schema: buildResponseSchemaFromOpenAPIOperation(operation),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../typescript/src/shared/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { HttpMethod } from "../types";
|
|
2
|
+
import type { AuthMode } from "../types/endpoints";
|
|
3
|
+
import type { RateLimitMeta, TokenLimitMeta, CacheMeta } from "../types/plugins";
|
|
4
|
+
export declare const ROUTE_METADATA_KEY: unique symbol;
|
|
5
|
+
export interface ControllerOpts {
|
|
6
|
+
tag?: string;
|
|
7
|
+
auth?: AuthMode;
|
|
8
|
+
rateLimit?: RateLimitMeta;
|
|
9
|
+
tokenLimit?: TokenLimitMeta;
|
|
10
|
+
cache?: CacheMeta;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export interface RouteOpts {
|
|
14
|
+
auth?: AuthMode;
|
|
15
|
+
rateLimit?: RateLimitMeta;
|
|
16
|
+
tokenLimit?: TokenLimitMeta;
|
|
17
|
+
cache?: CacheMeta;
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}
|
|
20
|
+
export declare const pendingRoutes: Map<any, {
|
|
21
|
+
key: string | symbol;
|
|
22
|
+
method: HttpMethod;
|
|
23
|
+
opts?: RouteOpts;
|
|
24
|
+
}[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Controller decorator
|
|
27
|
+
* Registers a controller class. No base path routing - all methods become flat routes named after the method.
|
|
28
|
+
* The controller name is used only for OpenAPI tagging and documentation.
|
|
29
|
+
*
|
|
30
|
+
* @param controllerName - Name for documentation/OpenAPI tags (e.g., "orders", "users")
|
|
31
|
+
* @param opts - Controller-level options (auth, rate limiting, etc.)
|
|
32
|
+
*/
|
|
33
|
+
export declare function Controller(controllerName?: string, opts?: ControllerOpts): ClassDecorator;
|
|
34
|
+
type RouteDecorator = (opts?: RouteOpts) => MethodDecorator;
|
|
35
|
+
export declare const GET: RouteDecorator;
|
|
36
|
+
export declare const POST: RouteDecorator;
|
|
37
|
+
export declare const PUT: RouteDecorator;
|
|
38
|
+
export declare const PATCH: RouteDecorator;
|
|
39
|
+
export declare const DELETE: RouteDecorator;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../typescript/src/spec/decorators.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEhF,eAAO,MAAM,kBAAkB,eAAuB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAID,eAAO,MAAM,aAAa;SAA6B,MAAM,GAAG,MAAM;YAAU,UAAU;WAAS,SAAS;IAAM,CAAA;AAElH;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACtB,cAAc,CAAC,EAAE,MAAM,EACvB,IAAI,GAAE,cAAmB,GAC1B,cAAc,CA0BhB;AA4DD,KAAK,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,eAAe,CAAA;AAE3D,eAAO,MAAM,GAAG,EAAE,cAAsD,CAAA;AACxE,eAAO,MAAM,IAAI,EAAE,cAAuD,CAAA;AAC1E,eAAO,MAAM,GAAG,EAAE,cAAsD,CAAA;AACxE,eAAO,MAAM,KAAK,EAAE,cAAwD,CAAA;AAC5E,eAAO,MAAM,MAAM,EAAE,cAAyD,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ensureControllerMeta, ensureRouteMeta, } from './metadata.js';
|
|
2
|
+
export const ROUTE_METADATA_KEY = Symbol('plat:route');
|
|
3
|
+
// Store pending routes for the new decorator proposal (Stage 3)
|
|
4
|
+
// Exported so that register() can process them after instance creation
|
|
5
|
+
export const pendingRoutes = new Map();
|
|
6
|
+
/**
|
|
7
|
+
* Controller decorator
|
|
8
|
+
* Registers a controller class. No base path routing - all methods become flat routes named after the method.
|
|
9
|
+
* The controller name is used only for OpenAPI tagging and documentation.
|
|
10
|
+
*
|
|
11
|
+
* @param controllerName - Name for documentation/OpenAPI tags (e.g., "orders", "users")
|
|
12
|
+
* @param opts - Controller-level options (auth, rate limiting, etc.)
|
|
13
|
+
*/
|
|
14
|
+
export function Controller(controllerName, opts = {}) {
|
|
15
|
+
return (target) => {
|
|
16
|
+
const meta = ensureControllerMeta(target);
|
|
17
|
+
// Use provided name or fall back to class name
|
|
18
|
+
meta.basePath = controllerName || target.name;
|
|
19
|
+
meta.tag = opts.tag || controllerName || target.name;
|
|
20
|
+
meta.auth = opts.auth;
|
|
21
|
+
meta.rateLimit = opts.rateLimit;
|
|
22
|
+
meta.tokenLimit = opts.tokenLimit;
|
|
23
|
+
meta.cache = opts.cache;
|
|
24
|
+
// Scan methods for old decorator proposal (metadata on methods)
|
|
25
|
+
for (const key of Object.getOwnPropertyNames(target.prototype)) {
|
|
26
|
+
const method = target.prototype[key];
|
|
27
|
+
if (typeof method === 'function' && method[ROUTE_METADATA_KEY]) {
|
|
28
|
+
const { httpMethod, auth } = method[ROUTE_METADATA_KEY];
|
|
29
|
+
const routeMeta = ensureRouteMeta(target, key);
|
|
30
|
+
routeMeta.method = httpMethod;
|
|
31
|
+
routeMeta.path = '/' + String(key);
|
|
32
|
+
routeMeta.auth = auth;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Note: Stage 3 decorator addInitializers will be processed in register()
|
|
36
|
+
// after instance creation, since addInitializers run at that time
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function routeDecorator(method, opts) {
|
|
40
|
+
return (target, propertyKey) => {
|
|
41
|
+
// Handle new decorator proposal (Stage 3)
|
|
42
|
+
// In the new proposal, propertyKey is a context object with kind === 'method'
|
|
43
|
+
if (propertyKey && typeof propertyKey === 'object' && propertyKey.kind === 'method') {
|
|
44
|
+
const methodName = propertyKey.name;
|
|
45
|
+
// Mark the method with route metadata through a different mechanism
|
|
46
|
+
// Use addInitializer to register routes with the class metadata
|
|
47
|
+
if (propertyKey.addInitializer) {
|
|
48
|
+
propertyKey.addInitializer(function () {
|
|
49
|
+
const ctor = this.constructor;
|
|
50
|
+
if (!pendingRoutes.has(ctor)) {
|
|
51
|
+
pendingRoutes.set(ctor, []);
|
|
52
|
+
}
|
|
53
|
+
pendingRoutes.get(ctor).push({
|
|
54
|
+
key: methodName,
|
|
55
|
+
method,
|
|
56
|
+
opts,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// Handle old decorator proposal (Stage 1/2)
|
|
63
|
+
if (target && typeof target === 'object' && target.constructor) {
|
|
64
|
+
const ctor = target.constructor;
|
|
65
|
+
const key = propertyKey;
|
|
66
|
+
const method_fn = target[key];
|
|
67
|
+
if (typeof method_fn === 'function') {
|
|
68
|
+
method_fn[ROUTE_METADATA_KEY] = { httpMethod: method, auth: opts?.auth };
|
|
69
|
+
}
|
|
70
|
+
const meta = ensureRouteMeta(ctor, key);
|
|
71
|
+
if (!meta.method) {
|
|
72
|
+
meta.method = method;
|
|
73
|
+
meta.path = '/' + String(key);
|
|
74
|
+
meta.auth = opts?.auth;
|
|
75
|
+
meta.rateLimit = opts?.rateLimit;
|
|
76
|
+
meta.tokenLimit = opts?.tokenLimit;
|
|
77
|
+
meta.cache = opts?.cache;
|
|
78
|
+
meta.summary = opts?.summary;
|
|
79
|
+
meta.description = opts?.description;
|
|
80
|
+
// Store full opts for extensibility
|
|
81
|
+
if (opts) {
|
|
82
|
+
meta.opts = opts;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export const GET = (opts) => routeDecorator('GET', opts);
|
|
89
|
+
export const POST = (opts) => routeDecorator('POST', opts);
|
|
90
|
+
export const PUT = (opts) => routeDecorator('PUT', opts);
|
|
91
|
+
export const PATCH = (opts) => routeDecorator('PATCH', opts);
|
|
92
|
+
export const DELETE = (opts) => routeDecorator('DELETE', opts);
|
|
93
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../typescript/src/spec/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../typescript/src/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../typescript/src/spec/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ControllerMeta, RouteMeta } from '../types/endpoints';
|
|
2
|
+
export declare function getControllerMeta(ctor: Function): ControllerMeta | undefined;
|
|
3
|
+
export declare function ensureControllerMeta(ctor: Function): ControllerMeta;
|
|
4
|
+
export declare function ensureRouteMeta(ctor: Function, key: string | symbol): RouteMeta;
|
|
5
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../typescript/src/spec/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS,CAc5E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAYnE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,GAAG,MAAM,GACnB,SAAS,CAUX"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const controllers = new WeakMap();
|
|
2
|
+
const METADATA_KEY = Symbol('plat:controller');
|
|
3
|
+
export function getControllerMeta(ctor) {
|
|
4
|
+
// Try WeakMap first
|
|
5
|
+
let meta = controllers.get(ctor);
|
|
6
|
+
if (meta) {
|
|
7
|
+
return meta;
|
|
8
|
+
}
|
|
9
|
+
// Fall back to property on the class
|
|
10
|
+
meta = ctor[METADATA_KEY];
|
|
11
|
+
if (meta) {
|
|
12
|
+
return meta;
|
|
13
|
+
}
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
export function ensureControllerMeta(ctor) {
|
|
17
|
+
let meta = controllers.get(ctor);
|
|
18
|
+
if (!meta) {
|
|
19
|
+
meta = {
|
|
20
|
+
basePath: '',
|
|
21
|
+
routes: new Map(),
|
|
22
|
+
};
|
|
23
|
+
controllers.set(ctor, meta);
|
|
24
|
+
ctor[METADATA_KEY] = meta;
|
|
25
|
+
}
|
|
26
|
+
return meta;
|
|
27
|
+
}
|
|
28
|
+
export function ensureRouteMeta(ctor, key) {
|
|
29
|
+
const ctrl = ensureControllerMeta(ctor);
|
|
30
|
+
let route = ctrl.routes.get(key);
|
|
31
|
+
if (!route) {
|
|
32
|
+
route = { name: String(key) };
|
|
33
|
+
ctrl.routes.set(key, route);
|
|
34
|
+
}
|
|
35
|
+
return route;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../typescript/src/spec/metadata.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,OAAO,EAA4B,CAAA;AAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAE9C,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,oBAAoB;IACpB,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAI,IAAY,CAAC,YAAY,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI,GAAG,EAAE;SAClB,CAAA;QACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAE1B;QAAC,IAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAc,EACd,GAAoB;IAEpB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-route.d.ts","sourceRoot":"","sources":["../../../typescript/src/types/client-route.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-route.js","sourceRoot":"","sources":["../../../typescript/src/types/client-route.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { ClientRouteLike } from './client-route';
|
|
2
|
+
import { ClientError, ServerError } from "./errors";
|
|
3
|
+
import type { PLATRPCEventKind } from "../rpc";
|
|
4
|
+
export type ApiClass<T> = abstract new (...args: any[]) => T;
|
|
5
|
+
export interface BuiltRequest {
|
|
6
|
+
url: string;
|
|
7
|
+
headers: HeadersInit;
|
|
8
|
+
body?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RetryContext {
|
|
11
|
+
attempt: number;
|
|
12
|
+
maxAttempts: number;
|
|
13
|
+
error?: unknown;
|
|
14
|
+
response?: Response;
|
|
15
|
+
route: ClientRouteLike;
|
|
16
|
+
}
|
|
17
|
+
export interface ClientProxyConfig {
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
fetch?: typeof globalThis.fetch;
|
|
20
|
+
headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
retry?: false | {
|
|
23
|
+
maxAttempts?: number;
|
|
24
|
+
retryDelayMs?: number | ((ctx: RetryContext) => number);
|
|
25
|
+
shouldRetry?: (ctx: RetryContext) => boolean;
|
|
26
|
+
};
|
|
27
|
+
onUnauthorized?: (error: ClientError) => void | Promise<void>;
|
|
28
|
+
onForbidden?: (error: ClientError) => void | Promise<void>;
|
|
29
|
+
onRateLimited?: (error: ClientError) => void | Promise<void>;
|
|
30
|
+
onServerError?: (error: ServerError) => void | Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export type Clientified<T> = {
|
|
33
|
+
[K in keyof T as T[K] extends (...args: any[]) => any ? K : never]: T[K] extends (input: infer I, ctx: any) => Promise<infer O> ? (input: I, opts?: ClientCallOptions) => Promise<O> : never;
|
|
34
|
+
};
|
|
35
|
+
export declare const ResponseFormats: {
|
|
36
|
+
readonly JSON: "json";
|
|
37
|
+
readonly TEXT: "text";
|
|
38
|
+
readonly BLOB: "blob";
|
|
39
|
+
readonly ARRAY_BUFFER: "arrayBuffer";
|
|
40
|
+
readonly RAW: "raw";
|
|
41
|
+
};
|
|
42
|
+
export type ResponseFormat = typeof ResponseFormats[keyof typeof ResponseFormats];
|
|
43
|
+
export declare const RequestFormats: {
|
|
44
|
+
readonly JSON: "json";
|
|
45
|
+
readonly FORM: "form";
|
|
46
|
+
readonly MULTIPART: "multipart";
|
|
47
|
+
readonly RAW: "raw";
|
|
48
|
+
};
|
|
49
|
+
export type RequestFormat = typeof RequestFormats[keyof typeof RequestFormats];
|
|
50
|
+
export interface ClientCallOptions {
|
|
51
|
+
headers?: HeadersInit;
|
|
52
|
+
signal?: AbortSignal;
|
|
53
|
+
timeoutMs?: number;
|
|
54
|
+
execution?: 'immediate' | 'deferred';
|
|
55
|
+
pollIntervalMs?: number;
|
|
56
|
+
retry?: false | Partial<NonNullable<Exclude<ClientProxyConfig['retry'], false>>>;
|
|
57
|
+
/** Controls how the response body is parsed. Defaults to 'json'. */
|
|
58
|
+
responseFormat?: ResponseFormat;
|
|
59
|
+
/** Controls how the request body is serialized. Defaults to 'json'.
|
|
60
|
+
* - 'json': JSON.stringify, sets Content-Type: application/json
|
|
61
|
+
* - 'form': URL-encoded, sets Content-Type: application/x-www-form-urlencoded
|
|
62
|
+
* - 'multipart': FormData (supports File/Blob), Content-Type set by browser
|
|
63
|
+
* - 'raw': body passed through as-is (string, ArrayBuffer, ReadableStream, etc.)
|
|
64
|
+
*/
|
|
65
|
+
requestFormat?: RequestFormat;
|
|
66
|
+
/** Raw body to send when requestFormat is 'raw'. Bypasses param serialization. */
|
|
67
|
+
body?: BodyInit;
|
|
68
|
+
/** Receives intermediate per-call RPC stream events before the final result. */
|
|
69
|
+
onRpcEvent?: (event: {
|
|
70
|
+
id?: string;
|
|
71
|
+
event: PLATRPCEventKind;
|
|
72
|
+
data?: unknown;
|
|
73
|
+
}) => void | Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
export interface ImmediateCallOptions extends ClientCallOptions {
|
|
76
|
+
execution?: 'immediate';
|
|
77
|
+
}
|
|
78
|
+
export interface DeferredCallOptions extends ClientCallOptions {
|
|
79
|
+
execution: 'deferred';
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../typescript/src/types/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const ResponseFormats = {
|
|
2
|
+
JSON: 'json',
|
|
3
|
+
TEXT: 'text',
|
|
4
|
+
BLOB: 'blob',
|
|
5
|
+
ARRAY_BUFFER: 'arrayBuffer',
|
|
6
|
+
RAW: 'raw',
|
|
7
|
+
};
|
|
8
|
+
export const RequestFormats = {
|
|
9
|
+
JSON: 'json',
|
|
10
|
+
FORM: 'form',
|
|
11
|
+
MULTIPART: 'multipart',
|
|
12
|
+
RAW: 'raw',
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../typescript/src/types/client.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,aAAa;IAC3B,GAAG,EAAE,KAAK;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;CACJ,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { HttpMethod } from "./http";
|
|
3
|
+
import { RateLimitMeta, TokenLimitMeta, CacheMeta, RateLimitContext, TokenLimitContext, CacheContext } from "./plugins";
|
|
4
|
+
export type AuthMode = string;
|
|
5
|
+
export interface EndpointDef {
|
|
6
|
+
controller: Function;
|
|
7
|
+
controllerName: string;
|
|
8
|
+
methodName: string;
|
|
9
|
+
httpMethod: HttpMethod;
|
|
10
|
+
basePath: string;
|
|
11
|
+
routePath: string;
|
|
12
|
+
fullPath: string;
|
|
13
|
+
summary?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
tag?: string;
|
|
16
|
+
inputSchema: z.ZodTypeAny | Record<string, any>;
|
|
17
|
+
outputSchema: z.ZodTypeAny | Record<string, any>;
|
|
18
|
+
}
|
|
19
|
+
export interface RouteMeta {
|
|
20
|
+
name: string;
|
|
21
|
+
method?: HttpMethod;
|
|
22
|
+
path?: string;
|
|
23
|
+
auth?: AuthMode;
|
|
24
|
+
rateLimit?: RateLimitMeta;
|
|
25
|
+
tokenLimit?: TokenLimitMeta;
|
|
26
|
+
cache?: CacheMeta;
|
|
27
|
+
inputSchema?: z.ZodTypeAny | Record<string, any>;
|
|
28
|
+
outputSchema?: z.ZodTypeAny | Record<string, any>;
|
|
29
|
+
summary?: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
opts?: Record<string, any>;
|
|
32
|
+
}
|
|
33
|
+
export interface ControllerMeta {
|
|
34
|
+
basePath: string;
|
|
35
|
+
tag?: string;
|
|
36
|
+
auth?: AuthMode;
|
|
37
|
+
rateLimit?: RateLimitMeta;
|
|
38
|
+
tokenLimit?: TokenLimitMeta;
|
|
39
|
+
cache?: CacheMeta;
|
|
40
|
+
routes: Map<string | symbol, RouteMeta>;
|
|
41
|
+
}
|
|
42
|
+
export interface RouteContext {
|
|
43
|
+
method?: string;
|
|
44
|
+
url?: string;
|
|
45
|
+
headers?: Record<string, string | string[]>;
|
|
46
|
+
auth?: {
|
|
47
|
+
mode: AuthMode;
|
|
48
|
+
user?: any;
|
|
49
|
+
};
|
|
50
|
+
rateLimit?: RateLimitContext;
|
|
51
|
+
tokenLimit?: TokenLimitContext;
|
|
52
|
+
cache?: CacheContext;
|
|
53
|
+
opts?: Record<string, any>;
|
|
54
|
+
call?: {
|
|
55
|
+
id?: string;
|
|
56
|
+
mode: 'rpc' | 'deferred';
|
|
57
|
+
emit: (event: 'progress' | 'log' | 'chunk' | 'message', data?: unknown) => Promise<void> | void;
|
|
58
|
+
progress: (data?: unknown) => Promise<void> | void;
|
|
59
|
+
log: (data?: unknown) => Promise<void> | void;
|
|
60
|
+
chunk: (data?: unknown) => Promise<void> | void;
|
|
61
|
+
cancelled: () => boolean;
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
};
|
|
64
|
+
rpc?: {
|
|
65
|
+
id?: string;
|
|
66
|
+
emit: (event: 'progress' | 'log' | 'chunk' | 'message', data?: unknown) => Promise<void> | void;
|
|
67
|
+
progress: (data?: unknown) => Promise<void> | void;
|
|
68
|
+
log: (data?: unknown) => Promise<void> | void;
|
|
69
|
+
chunk: (data?: unknown) => Promise<void> | void;
|
|
70
|
+
cancelled: () => boolean;
|
|
71
|
+
signal?: AbortSignal;
|
|
72
|
+
};
|
|
73
|
+
request?: unknown;
|
|
74
|
+
response?: unknown;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=endpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../typescript/src/types/endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../typescript/src/types/endpoints.ts"],"names":[],"mappings":""}
|