@vibesdotdev/client 0.1.1 → 1.0.0-rc.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/LICENSE +21 -0
- package/README.md +24 -15
- package/dist/api-client-plugin.d.ts +4 -0
- package/dist/api-client-plugin.d.ts.map +1 -0
- package/dist/api-client-plugin.js +20 -0
- package/dist/api-client-plugin.js.map +1 -0
- package/dist/api-client.impl.d.ts +23 -0
- package/dist/api-client.impl.d.ts.map +1 -0
- package/dist/api-client.impl.js +47 -0
- package/dist/api-client.impl.js.map +1 -0
- package/dist/client.consumer.plugin.d.ts +3 -0
- package/dist/client.consumer.plugin.d.ts.map +1 -0
- package/dist/client.consumer.plugin.js +10 -0
- package/dist/client.consumer.plugin.js.map +1 -0
- package/dist/cloud.plugin.d.ts +3 -0
- package/dist/cloud.plugin.d.ts.map +1 -0
- package/dist/cloud.plugin.js +10 -0
- package/dist/cloud.plugin.js.map +1 -0
- package/dist/config/client.config.descriptor.d.ts +4 -0
- package/dist/config/client.config.descriptor.d.ts.map +1 -0
- package/dist/config/client.config.descriptor.js +32 -0
- package/dist/config/client.config.descriptor.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/settings.d.ts +9 -0
- package/dist/config/settings.d.ts.map +1 -0
- package/dist/config/settings.js +25 -0
- package/dist/config/settings.js.map +1 -0
- package/dist/docs/client.api-request.docs.descriptor.d.ts +4 -0
- package/dist/docs/client.api-request.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/client.api-request.docs.descriptor.js +71 -0
- package/dist/docs/client.api-request.docs.descriptor.js.map +1 -0
- package/dist/events/auth-rejected.event.d.ts +35 -0
- package/dist/events/auth-rejected.event.d.ts.map +1 -0
- package/dist/events/auth-rejected.event.js +36 -0
- package/dist/events/auth-rejected.event.js.map +1 -0
- package/dist/factory.d.ts +5 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +16 -17
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kind-augment.d.ts +11 -0
- package/dist/kind-augment.d.ts.map +1 -0
- package/dist/kind-augment.js +2 -0
- package/dist/kind-augment.js.map +1 -0
- package/dist/lib/client/api-diagnostics.d.ts +79 -0
- package/dist/lib/client/api-diagnostics.d.ts.map +1 -0
- package/dist/lib/client/api-diagnostics.js +111 -0
- package/dist/lib/client/api-diagnostics.js.map +1 -0
- package/dist/lib/client/configured.d.ts +78 -0
- package/dist/lib/client/configured.d.ts.map +1 -0
- package/dist/lib/client/configured.js +261 -0
- package/dist/lib/client/configured.js.map +1 -0
- package/dist/lib/client/internal/auth-headers.d.ts +11 -0
- package/dist/lib/client/internal/auth-headers.d.ts.map +1 -0
- package/dist/lib/client/internal/auth-headers.js +35 -0
- package/dist/lib/client/internal/auth-headers.js.map +1 -0
- package/dist/lib/client/internal/base-client.d.ts +5 -2
- package/dist/lib/client/internal/base-client.d.ts.map +1 -1
- package/dist/lib/client/internal/base-client.js +42 -22
- package/dist/lib/client/internal/base-client.js.map +1 -1
- package/dist/lib/client/internal/base-helpers.d.ts.map +1 -1
- package/dist/lib/client/internal/base-helpers.js +20 -20
- package/dist/lib/client/internal/base-helpers.js.map +1 -1
- package/dist/lib/client/internal/base-types.d.ts +10 -5
- package/dist/lib/client/internal/base-types.d.ts.map +1 -1
- package/dist/lib/client/internal/base-types.js +5 -3
- package/dist/lib/client/internal/base-types.js.map +1 -1
- package/dist/lib/client/internal/client-values.d.ts +43 -0
- package/dist/lib/client/internal/client-values.d.ts.map +1 -0
- package/dist/lib/client/internal/client-values.js +76 -0
- package/dist/lib/client/internal/client-values.js.map +1 -0
- package/dist/lib/client/internal/endpoint.d.ts +6 -5
- package/dist/lib/client/internal/endpoint.d.ts.map +1 -1
- package/dist/lib/client/internal/endpoint.js +3 -0
- package/dist/lib/client/internal/endpoint.js.map +1 -1
- package/dist/lib/client/internal/generator.d.ts +98 -9
- package/dist/lib/client/internal/generator.d.ts.map +1 -1
- package/dist/lib/client/internal/generator.js +92 -140
- package/dist/lib/client/internal/generator.js.map +1 -1
- package/dist/lib/client/internal/request-builder.d.ts +5 -2
- package/dist/lib/client/internal/request-builder.d.ts.map +1 -1
- package/dist/lib/client/internal/request-builder.js +105 -65
- package/dist/lib/client/internal/request-builder.js.map +1 -1
- package/dist/lib/client/internal/sse-stream.d.ts +9 -5
- package/dist/lib/client/internal/sse-stream.d.ts.map +1 -1
- package/dist/lib/client/internal/sse-stream.js +96 -94
- package/dist/lib/client/internal/sse-stream.js.map +1 -1
- package/dist/lib/client/internal/timeout-signal.d.ts +8 -0
- package/dist/lib/client/internal/timeout-signal.d.ts.map +1 -0
- package/dist/lib/client/internal/timeout-signal.js +17 -0
- package/dist/lib/client/internal/timeout-signal.js.map +1 -0
- package/dist/lib/client/internal/transport/http2-fetch.d.ts +8 -0
- package/dist/lib/client/internal/transport/http2-fetch.d.ts.map +1 -0
- package/dist/lib/client/internal/transport/http2-fetch.js +17 -0
- package/dist/lib/client/internal/transport/http2-fetch.js.map +1 -0
- package/dist/lib/client/internal/vibes-client.d.ts +17 -8
- package/dist/lib/client/internal/vibes-client.d.ts.map +1 -1
- package/dist/lib/client/internal/vibes-client.js +127 -67
- package/dist/lib/client/internal/vibes-client.js.map +1 -1
- package/dist/lib/client/internal/wrap-fetch.d.ts +3 -2
- package/dist/lib/client/internal/wrap-fetch.d.ts.map +1 -1
- package/dist/lib/client/internal/wrap-fetch.js +14 -33
- package/dist/lib/client/internal/wrap-fetch.js.map +1 -1
- package/dist/lib/client/runtime-fetch.d.ts +14 -0
- package/dist/lib/client/runtime-fetch.d.ts.map +1 -0
- package/dist/lib/client/runtime-fetch.js +25 -0
- package/dist/lib/client/runtime-fetch.js.map +1 -0
- package/dist/lib/client/types.d.ts +18 -9
- package/dist/lib/client/types.d.ts.map +1 -1
- package/dist/lib/client/types.js +22 -3
- package/dist/lib/client/types.js.map +1 -1
- package/dist/plugin.d.ts +2 -18
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +7 -74
- package/dist/plugin.js.map +1 -1
- package/dist/runtime-client.d.ts +10 -0
- package/dist/runtime-client.d.ts.map +1 -0
- package/dist/runtime-client.js +14 -0
- package/dist/runtime-client.js.map +1 -0
- package/dist/schemas/auth-rejected.d.ts +12 -0
- package/dist/schemas/auth-rejected.d.ts.map +1 -0
- package/dist/schemas/auth-rejected.js +11 -0
- package/dist/schemas/auth-rejected.js.map +1 -0
- package/dist/schemas/sdk-languages.d.ts +47 -0
- package/dist/schemas/sdk-languages.d.ts.map +1 -0
- package/dist/schemas/sdk-languages.js +75 -0
- package/dist/schemas/sdk-languages.js.map +1 -0
- package/dist/schemas/settings.d.ts +14 -0
- package/dist/schemas/settings.d.ts.map +1 -0
- package/dist/schemas/settings.js +10 -0
- package/dist/schemas/settings.js.map +1 -0
- package/dist/schemas/validated-request.d.ts +19 -0
- package/dist/schemas/validated-request.d.ts.map +1 -0
- package/dist/schemas/validated-request.js +2 -0
- package/dist/schemas/validated-request.js.map +1 -0
- package/dist/schemas.d.ts +23 -8
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +8 -2
- package/dist/schemas.js.map +1 -1
- package/dist/sse-client.d.ts +17 -15
- package/dist/sse-client.d.ts.map +1 -1
- package/dist/sse-client.js +111 -91
- package/dist/sse-client.js.map +1 -1
- package/dist/svelte/client-svelte.plugin.d.ts +5 -0
- package/dist/svelte/client-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/client-svelte.plugin.js +46 -0
- package/dist/svelte/index.d.ts +3 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +2 -0
- package/dist/svelte/styles.css +8 -0
- package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte +53 -0
- package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte.d.ts +5 -0
- package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.d.ts +2 -0
- package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.js +1 -0
- package/dist/tools/api-request/api-request.contract.d.ts +19 -0
- package/dist/tools/api-request/api-request.contract.d.ts.map +1 -0
- package/dist/tools/api-request/api-request.contract.js +110 -0
- package/dist/tools/api-request/api-request.contract.js.map +1 -0
- package/dist/tools/api-request/api-request.descriptor.d.ts +11 -4
- package/dist/tools/api-request/api-request.descriptor.d.ts.map +1 -1
- package/dist/tools/api-request/api-request.descriptor.js +8 -5
- package/dist/tools/api-request/api-request.descriptor.js.map +1 -1
- package/dist/tools/api-request/api-request.impl.cloud.d.ts +15 -0
- package/dist/tools/api-request/api-request.impl.cloud.d.ts.map +1 -0
- package/dist/tools/api-request/api-request.impl.cloud.js +75 -0
- package/dist/tools/api-request/api-request.impl.cloud.js.map +1 -0
- package/dist/tools/api-request/api-request.impl.consumer.d.ts +5 -3
- package/dist/tools/api-request/api-request.impl.consumer.d.ts.map +1 -1
- package/dist/tools/api-request/api-request.impl.consumer.js +27 -33
- package/dist/tools/api-request/api-request.impl.consumer.js.map +1 -1
- package/dist/tools/api-request/api-request.view.d.ts +29 -0
- package/dist/tools/api-request/api-request.view.d.ts.map +1 -0
- package/dist/tools/api-request/api-request.view.js +62 -0
- package/dist/tools/api-request/api-request.view.js.map +1 -0
- package/dist/tools/api-request/schemas/index.d.ts +12 -5
- package/dist/tools/api-request/schemas/index.d.ts.map +1 -1
- package/dist/tools/api-request/schemas/index.js +24 -6
- package/dist/tools/api-request/schemas/index.js.map +1 -1
- package/dist/tui/client-tui.plugin.d.ts +3 -0
- package/dist/tui/client-tui.plugin.d.ts.map +1 -0
- package/dist/tui/client-tui.plugin.js +32 -0
- package/dist/tui/client-tui.plugin.js.map +1 -0
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +2 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.d.ts +17 -0
- package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.d.ts.map +1 -0
- package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.js +28 -0
- package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.js.map +1 -0
- package/dist/validated-request.d.ts +27 -0
- package/dist/validated-request.d.ts.map +1 -0
- package/dist/validated-request.js +119 -0
- package/dist/validated-request.js.map +1 -0
- package/package.json +188 -41
- package/dist/lib/client/internal/node/http2-fetch.node.d.ts +0 -2
- package/dist/lib/client/internal/node/http2-fetch.node.d.ts.map +0 -1
- package/dist/lib/client/internal/node/http2-fetch.node.js +0 -131
- package/dist/lib/client/internal/node/http2-fetch.node.js.map +0 -1
- package/dist/lib/client/node.d.ts +0 -5
- package/dist/lib/client/node.d.ts.map +0 -1
- package/dist/lib/client/node.js +0 -33
- package/dist/lib/client/node.js.map +0 -1
- package/dist/tools/api-request/index.d.ts +0 -5
- package/dist/tools/api-request/index.d.ts.map +0 -1
- package/dist/tools/api-request/index.js +0 -4
- package/dist/tools/api-request/index.js.map +0 -1
- package/src/factory.ts +0 -114
- package/src/index.ts +0 -15
- package/src/lib/client/core.ts +0 -13
- package/src/lib/client/internal/base-client.ts +0 -107
- package/src/lib/client/internal/base-helpers.ts +0 -74
- package/src/lib/client/internal/base-types.ts +0 -42
- package/src/lib/client/internal/endpoint.ts +0 -51
- package/src/lib/client/internal/generator.ts +0 -181
- package/src/lib/client/internal/index.ts +0 -4
- package/src/lib/client/internal/node/http2-fetch.node.ts +0 -138
- package/src/lib/client/internal/request-builder.ts +0 -147
- package/src/lib/client/internal/sse-stream.ts +0 -130
- package/src/lib/client/internal/vibes-client.ts +0 -167
- package/src/lib/client/internal/wrap-fetch.ts +0 -59
- package/src/lib/client/node.ts +0 -36
- package/src/lib/client/types.ts +0 -156
- package/src/plugin.ts +0 -104
- package/src/schemas.ts +0 -91
- package/src/sse-client.ts +0 -155
- package/src/tools/api-request/api-request.descriptor.ts +0 -28
- package/src/tools/api-request/api-request.impl.consumer.ts +0 -66
- package/src/tools/api-request/index.ts +0 -4
- package/src/tools/api-request/schemas/index.ts +0 -29
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
1
2
|
import type { z } from 'zod/v4';
|
|
3
|
+
import type { RuntimeRef } from '@vibesdotdev/kernel';
|
|
4
|
+
import type { ClientFetch, JsonValue } from './client-values.ts';
|
|
2
5
|
export interface BaseAPIConfig {
|
|
3
6
|
baseUrl: string;
|
|
4
|
-
fetch?:
|
|
7
|
+
fetch?: ClientFetch;
|
|
5
8
|
headers?: Record<string, string>;
|
|
6
9
|
timeout?: number;
|
|
7
10
|
auth?: {
|
|
@@ -12,24 +15,26 @@ export interface BaseAPIConfig {
|
|
|
12
15
|
provider?: () => Promise<string | null>;
|
|
13
16
|
} | null;
|
|
14
17
|
debug?: boolean;
|
|
18
|
+
/** Runtime whose lifecycle owns request deadlines. */
|
|
19
|
+
runtime?: RuntimeRef;
|
|
15
20
|
hooks?: {
|
|
16
21
|
beforeRequest?: (request: Request) => Promise<Request> | Request;
|
|
17
22
|
afterResponse?: (response: Response) => Promise<Response> | Response;
|
|
18
23
|
onError?: (error: APIError) => Promise<void> | void;
|
|
19
24
|
};
|
|
20
25
|
}
|
|
21
|
-
export declare class APIError extends
|
|
26
|
+
export declare class APIError extends CapabilityError {
|
|
22
27
|
readonly status: number;
|
|
23
28
|
readonly response?: Response | undefined;
|
|
24
29
|
readonly request?: Request | undefined;
|
|
25
|
-
readonly body?:
|
|
26
|
-
constructor(message: string, status: number, response?: Response | undefined, request?: Request | undefined, body?:
|
|
30
|
+
readonly body?: JsonValue | undefined;
|
|
31
|
+
constructor(message: string, status: number, response?: Response | undefined, request?: Request | undefined, body?: JsonValue | undefined, options?: ErrorOptions);
|
|
27
32
|
}
|
|
28
33
|
export interface EndpointOptions<T = unknown> {
|
|
29
34
|
headers?: Record<string, string>;
|
|
30
35
|
query?: Record<string, string | number | boolean | string[] | undefined>;
|
|
31
36
|
timeout?: number;
|
|
32
37
|
schema?: z.ZodSchema<T>;
|
|
33
|
-
transform?: (data:
|
|
38
|
+
transform?: (data: JsonValue | undefined) => T;
|
|
34
39
|
}
|
|
35
40
|
//# sourceMappingURL=base-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACxD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KACxC,GAAG,IAAI,CAAC;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QACjE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACpD,CAAC;CACF;AAED,qBAAa,QAAS,SAAQ,eAAe;aAG3B,MAAM,EAAE,MAAM;aACd,QAAQ,CAAC,EAAE,QAAQ;aACnB,OAAO,CAAC,EAAE,OAAO;aACjB,IAAI,CAAC,EAAE,SAAS;gBAJhC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,OAAO,CAAC,EAAE,OAAO,YAAA,EACjB,IAAI,CAAC,EAAE,SAAS,YAAA,EAChC,OAAO,CAAC,EAAE,YAAY;CAKvB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC;CAC/C"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
2
|
+
import { ClientError } from "../types.js";
|
|
3
|
+
export class APIError extends CapabilityError {
|
|
2
4
|
status;
|
|
3
5
|
response;
|
|
4
6
|
request;
|
|
5
7
|
body;
|
|
6
|
-
constructor(message, status, response, request, body) {
|
|
7
|
-
super(message);
|
|
8
|
+
constructor(message, status, response, request, body, options) {
|
|
9
|
+
super(message, new ClientError(message, status).code, { reason: 'client-request-failed', details: { status }, cause: options?.cause });
|
|
8
10
|
this.status = status;
|
|
9
11
|
this.response = response;
|
|
10
12
|
this.request = request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-types.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/base-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-types.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2B1C,MAAM,OAAO,QAAS,SAAQ,eAAe;IAG3B;IACA;IACA;IACA;IALjB,YACC,OAAe,EACC,MAAc,EACd,QAAmB,EACnB,OAAiB,EACjB,IAAgB,EAChC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QANvH,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAU;QACjB,SAAI,GAAJ,IAAI,CAAY;QAIhC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { JsonValueSchema, type JsonValue } from '@vibesdotdev/kernel/schemas/json';
|
|
3
|
+
/** The payload contract shared by HTTP responses, tools and generated APIs. */
|
|
4
|
+
export { JsonValueSchema, type JsonValue };
|
|
5
|
+
/** Native payloads available on browser, worker, Bun and Node fetch hosts. */
|
|
6
|
+
export type NativeRequestBody = Exclude<NonNullable<RequestInit['body']>, string>;
|
|
7
|
+
/** Portable fetch signature; a custom transport need not implement Bun's preconnect extension. */
|
|
8
|
+
export type ClientFetch = (input: Request | string | URL, init?: RequestInit) => Promise<Response>;
|
|
9
|
+
/** Guard the schema itself as well as its input: getters and Proxy traps may throw during parsing. */
|
|
10
|
+
export declare function readClientValue<T>(schema: z.ZodType<T>, value: unknown, reason: string): T;
|
|
11
|
+
export declare const HttpOriginSchema: z.ZodURL;
|
|
12
|
+
export declare const QuerySchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodUndefined]>>;
|
|
13
|
+
export declare const PathParamsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
|
|
14
|
+
export declare const HeadersSchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
15
|
+
export declare const RequestFieldsSchema: z.ZodObject<{
|
|
16
|
+
method: z.ZodString;
|
|
17
|
+
path: z.ZodString;
|
|
18
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
19
|
+
query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodUndefined]>>>;
|
|
20
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
21
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
/** JSON syntax failure is an expected SSE raw-text alternative, with no payload logging. */
|
|
24
|
+
export declare function decodeSSEData(text: string): JsonValue;
|
|
25
|
+
export declare const NativeBodySchema: z.ZodCustom<NativeRequestBody, NativeRequestBody>;
|
|
26
|
+
export declare const RequestBodySchema: z.ZodUnion<readonly [z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>, z.ZodCustom<NativeRequestBody, NativeRequestBody>]>;
|
|
27
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
28
|
+
export declare const RequestInputSchema: z.ZodObject<{
|
|
29
|
+
method: z.ZodString;
|
|
30
|
+
path: z.ZodString;
|
|
31
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
|
|
32
|
+
query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodUndefined]>>>;
|
|
33
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
34
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>, z.ZodCustom<NativeRequestBody, NativeRequestBody>]>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
/** Validate a caller payload before forwarding it to the registered transport. */
|
|
38
|
+
export declare function readClientRequestBody(value: unknown): RequestBody | undefined;
|
|
39
|
+
/** Read typed in-process caller fields once; a getter is still an untrusted boundary. */
|
|
40
|
+
export declare function readClientFields<T>(read: () => T, reason: string): T;
|
|
41
|
+
/** Native payloads pass through; JSON uses the shared request encoding contract. */
|
|
42
|
+
export declare function encodeClientBody(body: RequestBody, contentType: string | null): NativeRequestBody | string;
|
|
43
|
+
//# sourceMappingURL=client-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-values.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/client-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnF,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,CAAC;AAC3C,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAElF,kGAAkG;AAClG,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEnG,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAU1F;AAED,eAAO,MAAM,gBAAgB,UAAkC,CAAC;AAChE,eAAO,MAAM,WAAW,kIAAoH,CAAC;AAC7I,eAAO,MAAM,gBAAgB,yFAAgF,CAAC;AAC9G,eAAO,MAAM,aAAa,uCAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB;;;;;;;iBAI9B,CAAC;AACH,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAQrD;AAED,eAAO,MAAM,gBAAgB,mDAA+N,CAAC;AAC7P,eAAO,MAAM,iBAAiB,2JAA+C,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,eAAO,MAAM,kBAAkB;;;;;;;;iBAAqE,CAAC;AAErG,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAG7E;AAMD,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAGpE;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB,GAAG,MAAM,CAG1G"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { CapabilityError, CaughtFailureSchema } from '@vibesdotdev/kernel';
|
|
3
|
+
import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
4
|
+
/** The payload contract shared by HTTP responses, tools and generated APIs. */
|
|
5
|
+
export { JsonValueSchema };
|
|
6
|
+
/** Guard the schema itself as well as its input: getters and Proxy traps may throw during parsing. */
|
|
7
|
+
export function readClientValue(schema, value, reason) {
|
|
8
|
+
try {
|
|
9
|
+
const result = schema.safeParse(value);
|
|
10
|
+
if (!result.success)
|
|
11
|
+
throw new CapabilityError('The client input does not satisfy its contract.', 'INVALID_INPUT', { reason });
|
|
12
|
+
return result.data;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const failure = CaughtFailureSchema.parse(error);
|
|
16
|
+
if (failure instanceof CapabilityError && failure.reason === reason)
|
|
17
|
+
throw failure;
|
|
18
|
+
throw new CapabilityError('The client input could not be read.', 'INVALID_INPUT', { reason, cause: failure });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export const HttpOriginSchema = z.url({ protocol: /^https?$/ });
|
|
22
|
+
export const QuerySchema = z.record(z.string(), z.union([z.string(), z.number().finite(), z.boolean(), z.array(z.string()), z.undefined()]));
|
|
23
|
+
export const PathParamsSchema = z.record(z.string(), z.union([z.string(), z.number().finite(), z.boolean()]));
|
|
24
|
+
export const HeadersSchema = z.record(z.string(), z.string());
|
|
25
|
+
export const RequestFieldsSchema = z.object({
|
|
26
|
+
method: z.string().regex(/^[A-Za-z]+$/), path: z.string(),
|
|
27
|
+
params: PathParamsSchema.optional(), query: QuerySchema.optional(),
|
|
28
|
+
headers: HeadersSchema.optional(), timeout: z.number().int().positive().optional()
|
|
29
|
+
});
|
|
30
|
+
/** JSON syntax failure is an expected SSE raw-text alternative, with no payload logging. */
|
|
31
|
+
export function decodeSSEData(text) {
|
|
32
|
+
const parsed = (() => {
|
|
33
|
+
try {
|
|
34
|
+
return { ok: true, value: readClientValue(JsonValueSchema, JSON.parse(text), 'sse-data-invalid') };
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
return { ok: false, cause: CaughtFailureSchema.parse(error) };
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
40
|
+
if (parsed.ok)
|
|
41
|
+
return parsed.value;
|
|
42
|
+
if (parsed.cause instanceof SyntaxError)
|
|
43
|
+
return text;
|
|
44
|
+
throw parsed.cause;
|
|
45
|
+
}
|
|
46
|
+
export const NativeBodySchema = z.custom(value => value instanceof Blob || value instanceof FormData || value instanceof URLSearchParams || value instanceof ReadableStream || value instanceof ArrayBuffer || ArrayBuffer.isView(value));
|
|
47
|
+
export const RequestBodySchema = z.union([JsonValueSchema, NativeBodySchema]);
|
|
48
|
+
export const RequestInputSchema = RequestFieldsSchema.extend({ body: RequestBodySchema.optional() });
|
|
49
|
+
/** Validate a caller payload before forwarding it to the registered transport. */
|
|
50
|
+
export function readClientRequestBody(value) {
|
|
51
|
+
try {
|
|
52
|
+
return RequestBodySchema.optional().parse(value);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw clientFieldFailure(error, 'client-body-invalid');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function clientFieldFailure(value, reason) {
|
|
59
|
+
return new CapabilityError('The client context could not be read.', 'INVALID_INPUT', { reason, cause: CaughtFailureSchema.parse(value) });
|
|
60
|
+
}
|
|
61
|
+
/** Read typed in-process caller fields once; a getter is still an untrusted boundary. */
|
|
62
|
+
export function readClientFields(read, reason) {
|
|
63
|
+
try {
|
|
64
|
+
return read();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
throw clientFieldFailure(error, reason);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Native payloads pass through; JSON uses the shared request encoding contract. */
|
|
71
|
+
export function encodeClientBody(body, contentType) {
|
|
72
|
+
if (contentType?.includes('application/json'))
|
|
73
|
+
return JSON.stringify(readClientValue(JsonValueSchema, body, 'client-body-invalid'));
|
|
74
|
+
return readClientValue(z.union([NativeBodySchema, z.string()]), body, 'client-body-invalid');
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=client-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-values.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/client-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { RequestBody } from './client-values.ts';
|
|
1
2
|
import type { EndpointOptions } from './base-types.ts';
|
|
2
3
|
type RequestExecutor = {
|
|
3
4
|
request<T = unknown>(options: {
|
|
4
5
|
method: string;
|
|
5
6
|
path: string;
|
|
6
|
-
body?:
|
|
7
|
+
body?: RequestBody;
|
|
7
8
|
} & EndpointOptions<T>): Promise<T>;
|
|
8
9
|
};
|
|
9
10
|
export declare class Endpoint {
|
|
@@ -11,11 +12,11 @@ export declare class Endpoint {
|
|
|
11
12
|
private path;
|
|
12
13
|
constructor(client: RequestExecutor, path: string);
|
|
13
14
|
endpoint(subPath: string): Endpoint;
|
|
14
|
-
methods<T extends Record<string, (...args: never[]) =>
|
|
15
|
+
methods<Result, T extends Record<string, (...args: never[]) => Result>>(methods: T): T;
|
|
15
16
|
get<T = unknown>(path?: string, options?: EndpointOptions<T>): Promise<T>;
|
|
16
|
-
post<T = unknown>(path?: string, body?:
|
|
17
|
-
put<T = unknown>(path?: string, body?:
|
|
18
|
-
patch<T = unknown>(path?: string, body?:
|
|
17
|
+
post<T = unknown>(path?: string, body?: RequestBody, options?: EndpointOptions<T>): Promise<T>;
|
|
18
|
+
put<T = unknown>(path?: string, body?: RequestBody, options?: EndpointOptions<T>): Promise<T>;
|
|
19
|
+
patch<T = unknown>(path?: string, body?: RequestBody, options?: EndpointOptions<T>): Promise<T>;
|
|
19
20
|
delete<T = unknown>(path?: string, options?: EndpointOptions<T>): Promise<T>;
|
|
20
21
|
}
|
|
21
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,KAAK,eAAe,GAAG;IACtB,OAAO,CAAC,CAAC,GAAG,OAAO,EAClB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,KAAK,eAAe,GAAG;IACtB,OAAO,CAAC,CAAC,GAAG,OAAO,EAClB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,WAAW,CAAC;KACnB,GAAG,eAAe,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAAC;CACd,CAAC;AAEF,qBAAa,QAAQ;IAEnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;gBADJ,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM;IAGrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAKnC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAWtF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,SAAK,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,SAAK,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1F,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,SAAK,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzF,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,SAAK,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3F,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,SAAK,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGxE"}
|
|
@@ -10,8 +10,11 @@ export class Endpoint {
|
|
|
10
10
|
return new Endpoint(this.client, `${this.path}${cleanPath}`);
|
|
11
11
|
}
|
|
12
12
|
methods(methods) {
|
|
13
|
+
// SAFETY: The following loop binds every own key of T without changing call signatures.
|
|
13
14
|
const bound = {};
|
|
15
|
+
// SAFETY: Object.keys returns only the own string keys of the supplied method map.
|
|
14
16
|
for (const key of Object.keys(methods)) {
|
|
17
|
+
// SAFETY: bind sets only the receiver, preserving each method signature.
|
|
15
18
|
bound[key] = methods[key].bind(this);
|
|
16
19
|
}
|
|
17
20
|
return bound;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/endpoint.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,QAAQ;IAEX;IACA;IAFT,YACS,MAAuB,EACvB,IAAY;QADZ,WAAM,GAAN,MAAM,CAAiB;QACvB,SAAI,GAAJ,IAAI,CAAQ;IAClB,CAAC;IAEJ,QAAQ,CAAC,OAAe;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;QACpE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAiE,OAAU;QACjF,wFAAwF;QACxF,MAAM,KAAK,GAAG,EAA8B,CAAC;QAC7C,mFAAmF;QACnF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAmB,EAAE,CAAC;YAC1D,yEAAyE;YACzE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,GAAG,CAAc,IAAI,GAAG,EAAE,EAAE,OAA4B;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAc,IAAI,GAAG,EAAE,EAAE,IAAkB,EAAE,OAA4B;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,GAAG,CAAc,IAAI,GAAG,EAAE,EAAE,IAAkB,EAAE,OAA4B;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAc,IAAI,GAAG,EAAE,EAAE,IAAkB,EAAE,OAA4B;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAc,IAAI,GAAG,EAAE,EAAE,OAA4B;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;CACD"}
|
|
@@ -1,20 +1,109 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
1
2
|
import type { RequestBuilder } from './request-builder.ts';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { type JsonValue } from './client-values.ts';
|
|
4
|
+
export declare const OpenAPISpecSchema: z.ZodObject<{
|
|
5
|
+
paths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
in: z.ZodString;
|
|
9
|
+
}, z.core.$strip>>>;
|
|
10
|
+
get: z.ZodOptional<z.ZodObject<{
|
|
11
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
12
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
in: z.ZodString;
|
|
15
|
+
}, z.core.$strip>>>;
|
|
16
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
17
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
18
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
20
|
+
description: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>>;
|
|
22
|
+
post: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
24
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
25
|
+
name: z.ZodString;
|
|
26
|
+
in: z.ZodString;
|
|
27
|
+
}, z.core.$strip>>>;
|
|
28
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
29
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
30
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
32
|
+
description: z.ZodOptional<z.ZodString>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
put: z.ZodOptional<z.ZodObject<{
|
|
35
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
36
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
37
|
+
name: z.ZodString;
|
|
38
|
+
in: z.ZodString;
|
|
39
|
+
}, z.core.$strip>>>;
|
|
40
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
41
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
42
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
44
|
+
description: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
patch: z.ZodOptional<z.ZodObject<{
|
|
47
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
48
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
in: z.ZodString;
|
|
51
|
+
}, z.core.$strip>>>;
|
|
52
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
53
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
54
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
55
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
56
|
+
description: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
delete: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
60
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
61
|
+
name: z.ZodString;
|
|
62
|
+
in: z.ZodString;
|
|
63
|
+
}, z.core.$strip>>>;
|
|
64
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
65
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
66
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
68
|
+
description: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
head: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
72
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
73
|
+
name: z.ZodString;
|
|
74
|
+
in: z.ZodString;
|
|
75
|
+
}, z.core.$strip>>>;
|
|
76
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
77
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
78
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
79
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
80
|
+
description: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
83
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
84
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
85
|
+
name: z.ZodString;
|
|
86
|
+
in: z.ZodString;
|
|
87
|
+
}, z.core.$strip>>>;
|
|
88
|
+
requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>>;
|
|
89
|
+
responses: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
90
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
91
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
92
|
+
description: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
}, z.core.$strip>>>;
|
|
95
|
+
}, z.core.$strip>;
|
|
96
|
+
export type OpenAPISpec = z.infer<typeof OpenAPISpecSchema>;
|
|
97
|
+
export type GeneratedOperation = (...args: JsonValue[]) => Promise<JsonValue>;
|
|
98
|
+
export type GeneratedResource = Record<string, GeneratedOperation>;
|
|
6
99
|
export declare class APIGenerator {
|
|
7
100
|
private requestBuilder;
|
|
8
101
|
constructor(requestBuilder: RequestBuilder);
|
|
9
|
-
generateAPIs(spec: OpenAPISpec): Record<string,
|
|
102
|
+
generateAPIs(spec: OpenAPISpec): Record<string, GeneratedResource>;
|
|
10
103
|
private groupPathsByResource;
|
|
11
|
-
private extractResourceName;
|
|
12
|
-
private extractBasePath;
|
|
13
104
|
private getOperationName;
|
|
14
105
|
private createResourceAPI;
|
|
15
|
-
private createOperation;
|
|
16
106
|
private buildRequestOptions;
|
|
17
|
-
private addConvenienceMethods;
|
|
18
107
|
private toCamelCase;
|
|
19
108
|
}
|
|
20
109
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAiD,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAanG,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAuE,CAAC;AACtG,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEnE,qBAAa,YAAY;IACZ,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAClD,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAIlE,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,WAAW;CAInB"}
|