@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.
Files changed (233) hide show
  1. package/dist/args/coerce.d.ts +54 -0
  2. package/dist/args/coerce.d.ts.map +1 -0
  3. package/dist/args/coerce.js +236 -0
  4. package/dist/args/coerce.js.map +1 -0
  5. package/dist/args/index.d.ts +2 -0
  6. package/dist/args/index.d.ts.map +1 -0
  7. package/dist/args/index.js +2 -0
  8. package/dist/args/index.js.map +1 -0
  9. package/dist/args/scalars.d.ts +87 -0
  10. package/dist/args/scalars.d.ts.map +1 -0
  11. package/dist/args/scalars.js +22 -0
  12. package/dist/args/scalars.js.map +1 -0
  13. package/dist/args/validate.d.ts +23 -0
  14. package/dist/args/validate.d.ts.map +1 -0
  15. package/dist/args/validate.js +185 -0
  16. package/dist/args/validate.js.map +1 -0
  17. package/dist/args/z2.d.ts +27 -0
  18. package/dist/args/z2.d.ts.map +1 -0
  19. package/dist/args/z2.js +24 -0
  20. package/dist/args/z2.js.map +1 -0
  21. package/dist/client/css-transport-plugin.d.ts +19 -0
  22. package/dist/client/css-transport-plugin.d.ts.map +1 -0
  23. package/dist/client/css-transport-plugin.js +78 -0
  24. package/dist/client/css-transport-plugin.js.map +1 -0
  25. package/dist/client/file-transport-plugin.d.ts +28 -0
  26. package/dist/client/file-transport-plugin.d.ts.map +1 -0
  27. package/dist/client/file-transport-plugin.js +80 -0
  28. package/dist/client/file-transport-plugin.js.map +1 -0
  29. package/dist/client/http-transport-plugin.d.ts +27 -0
  30. package/dist/client/http-transport-plugin.d.ts.map +1 -0
  31. package/dist/client/http-transport-plugin.js +48 -0
  32. package/dist/client/http-transport-plugin.js.map +1 -0
  33. package/dist/client/index.d.ts +7 -0
  34. package/dist/client/index.d.ts.map +1 -0
  35. package/dist/client/index.js +7 -0
  36. package/dist/client/index.js.map +1 -0
  37. package/dist/client/openapi-client.d.ts +334 -0
  38. package/dist/client/openapi-client.d.ts.map +1 -0
  39. package/dist/client/openapi-client.js +910 -0
  40. package/dist/client/openapi-client.js.map +1 -0
  41. package/dist/client/proxy.d.ts +5 -0
  42. package/dist/client/proxy.d.ts.map +1 -0
  43. package/dist/client/proxy.js +353 -0
  44. package/dist/client/proxy.js.map +1 -0
  45. package/dist/client/request-builder.d.ts +5 -0
  46. package/dist/client/request-builder.d.ts.map +1 -0
  47. package/dist/client/request-builder.js +88 -0
  48. package/dist/client/request-builder.js.map +1 -0
  49. package/dist/client/rpc-transport-plugin.d.ts +17 -0
  50. package/dist/client/rpc-transport-plugin.d.ts.map +1 -0
  51. package/dist/client/rpc-transport-plugin.js +69 -0
  52. package/dist/client/rpc-transport-plugin.js.map +1 -0
  53. package/dist/client/tools.d.ts +69 -0
  54. package/dist/client/tools.d.ts.map +1 -0
  55. package/dist/client/tools.js +122 -0
  56. package/dist/client/tools.js.map +1 -0
  57. package/dist/client/transport-plugin.d.ts +62 -0
  58. package/dist/client/transport-plugin.d.ts.map +1 -0
  59. package/dist/client/transport-plugin.js +40 -0
  60. package/dist/client/transport-plugin.js.map +1 -0
  61. package/dist/client-entry.d.ts +25 -0
  62. package/dist/client-entry.d.ts.map +1 -0
  63. package/dist/client-entry.js +25 -0
  64. package/dist/client-entry.js.map +1 -0
  65. package/dist/client-server-entry.d.ts +13 -0
  66. package/dist/client-server-entry.d.ts.map +1 -0
  67. package/dist/client-server-entry.js +13 -0
  68. package/dist/client-server-entry.js.map +1 -0
  69. package/dist/client-side-python/runtime.d.ts +102 -0
  70. package/dist/client-side-python/runtime.d.ts.map +1 -0
  71. package/dist/client-side-python/runtime.js +595 -0
  72. package/dist/client-side-python/runtime.js.map +1 -0
  73. package/dist/client-side-server/bootstrap.d.ts +3 -0
  74. package/dist/client-side-server/bootstrap.d.ts.map +1 -0
  75. package/dist/client-side-server/bootstrap.js +20 -0
  76. package/dist/client-side-server/bootstrap.js.map +1 -0
  77. package/dist/client-side-server/channel.d.ts +17 -0
  78. package/dist/client-side-server/channel.d.ts.map +1 -0
  79. package/dist/client-side-server/channel.js +38 -0
  80. package/dist/client-side-server/channel.js.map +1 -0
  81. package/dist/client-side-server/identity.d.ts +116 -0
  82. package/dist/client-side-server/identity.d.ts.map +1 -0
  83. package/dist/client-side-server/identity.js +358 -0
  84. package/dist/client-side-server/identity.js.map +1 -0
  85. package/dist/client-side-server/mqtt-webrtc.d.ts +77 -0
  86. package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -0
  87. package/dist/client-side-server/mqtt-webrtc.js +575 -0
  88. package/dist/client-side-server/mqtt-webrtc.js.map +1 -0
  89. package/dist/client-side-server/protocol.d.ts +49 -0
  90. package/dist/client-side-server/protocol.d.ts.map +1 -0
  91. package/dist/client-side-server/protocol.js +13 -0
  92. package/dist/client-side-server/protocol.js.map +1 -0
  93. package/dist/client-side-server/runtime.d.ts +57 -0
  94. package/dist/client-side-server/runtime.d.ts.map +1 -0
  95. package/dist/client-side-server/runtime.js +188 -0
  96. package/dist/client-side-server/runtime.js.map +1 -0
  97. package/dist/client-side-server/server.d.ts +75 -0
  98. package/dist/client-side-server/server.d.ts.map +1 -0
  99. package/dist/client-side-server/server.js +380 -0
  100. package/dist/client-side-server/server.js.map +1 -0
  101. package/dist/client-side-server/signaling.d.ts +10 -0
  102. package/dist/client-side-server/signaling.d.ts.map +1 -0
  103. package/dist/client-side-server/signaling.js +19 -0
  104. package/dist/client-side-server/signaling.js.map +1 -0
  105. package/dist/client-side-server/source-analysis.d.ts +29 -0
  106. package/dist/client-side-server/source-analysis.d.ts.map +1 -0
  107. package/dist/client-side-server/source-analysis.js +395 -0
  108. package/dist/client-side-server/source-analysis.js.map +1 -0
  109. package/dist/generated/python-browser-sources.d.ts +2 -0
  110. package/dist/generated/python-browser-sources.d.ts.map +1 -0
  111. package/dist/generated/python-browser-sources.js +13 -0
  112. package/dist/generated/python-browser-sources.js.map +1 -0
  113. package/dist/logging.d.ts +9 -0
  114. package/dist/logging.d.ts.map +1 -0
  115. package/dist/logging.js +64 -0
  116. package/dist/logging.js.map +1 -0
  117. package/dist/python-browser-entry.d.ts +2 -0
  118. package/dist/python-browser-entry.d.ts.map +1 -0
  119. package/dist/python-browser-entry.js +2 -0
  120. package/dist/python-browser-entry.js.map +1 -0
  121. package/dist/rpc.d.ts +39 -0
  122. package/dist/rpc.d.ts.map +1 -0
  123. package/dist/rpc.js +2 -0
  124. package/dist/rpc.js.map +1 -0
  125. package/dist/server/authority-server.d.ts +27 -0
  126. package/dist/server/authority-server.d.ts.map +1 -0
  127. package/dist/server/authority-server.js +97 -0
  128. package/dist/server/authority-server.js.map +1 -0
  129. package/dist/server/cache/index.d.ts +2 -0
  130. package/dist/server/cache/index.d.ts.map +1 -0
  131. package/dist/server/cache/index.js +2 -0
  132. package/dist/server/cache/index.js.map +1 -0
  133. package/dist/server/cache/utils.d.ts +30 -0
  134. package/dist/server/cache/utils.d.ts.map +1 -0
  135. package/dist/server/cache/utils.js +116 -0
  136. package/dist/server/cache/utils.js.map +1 -0
  137. package/dist/server/core.d.ts +43 -0
  138. package/dist/server/core.d.ts.map +1 -0
  139. package/dist/server/core.js +215 -0
  140. package/dist/server/core.js.map +1 -0
  141. package/dist/server/operation-registry.d.ts +9 -0
  142. package/dist/server/operation-registry.d.ts.map +1 -0
  143. package/dist/server/operation-registry.js +16 -0
  144. package/dist/server/operation-registry.js.map +1 -0
  145. package/dist/server/param-aliases.d.ts +40 -0
  146. package/dist/server/param-aliases.d.ts.map +1 -0
  147. package/dist/server/param-aliases.js +112 -0
  148. package/dist/server/param-aliases.js.map +1 -0
  149. package/dist/server/rate-limit/index.d.ts +2 -0
  150. package/dist/server/rate-limit/index.d.ts.map +1 -0
  151. package/dist/server/rate-limit/index.js +2 -0
  152. package/dist/server/rate-limit/index.js.map +1 -0
  153. package/dist/server/rate-limit/utils.d.ts +27 -0
  154. package/dist/server/rate-limit/utils.d.ts.map +1 -0
  155. package/dist/server/rate-limit/utils.js +126 -0
  156. package/dist/server/rate-limit/utils.js.map +1 -0
  157. package/dist/server/routing.d.ts +39 -0
  158. package/dist/server/routing.d.ts.map +1 -0
  159. package/dist/server/routing.js +70 -0
  160. package/dist/server/routing.js.map +1 -0
  161. package/dist/server/token-limit/index.d.ts +2 -0
  162. package/dist/server/token-limit/index.d.ts.map +1 -0
  163. package/dist/server/token-limit/index.js +2 -0
  164. package/dist/server/token-limit/index.js.map +1 -0
  165. package/dist/server/token-limit/utils.d.ts +44 -0
  166. package/dist/server/token-limit/utils.d.ts.map +1 -0
  167. package/dist/server/token-limit/utils.js +260 -0
  168. package/dist/server/token-limit/utils.js.map +1 -0
  169. package/dist/server/tools.d.ts +33 -0
  170. package/dist/server/tools.d.ts.map +1 -0
  171. package/dist/server/tools.js +160 -0
  172. package/dist/server/tools.js.map +1 -0
  173. package/dist/server/transports.d.ts +25 -0
  174. package/dist/server/transports.d.ts.map +1 -0
  175. package/dist/server/transports.js +2 -0
  176. package/dist/server/transports.js.map +1 -0
  177. package/dist/shared/tools.d.ts +24 -0
  178. package/dist/shared/tools.d.ts.map +1 -0
  179. package/dist/shared/tools.js +86 -0
  180. package/dist/shared/tools.js.map +1 -0
  181. package/dist/spec/decorators.d.ts +41 -0
  182. package/dist/spec/decorators.d.ts.map +1 -0
  183. package/dist/spec/decorators.js +93 -0
  184. package/dist/spec/decorators.js.map +1 -0
  185. package/dist/spec/index.d.ts +3 -0
  186. package/dist/spec/index.d.ts.map +1 -0
  187. package/dist/spec/index.js +3 -0
  188. package/dist/spec/index.js.map +1 -0
  189. package/dist/spec/metadata.d.ts +5 -0
  190. package/dist/spec/metadata.d.ts.map +1 -0
  191. package/dist/spec/metadata.js +37 -0
  192. package/dist/spec/metadata.js.map +1 -0
  193. package/dist/types/client-route.d.ts +7 -0
  194. package/dist/types/client-route.d.ts.map +1 -0
  195. package/dist/types/client-route.js +2 -0
  196. package/dist/types/client-route.js.map +1 -0
  197. package/dist/types/client.d.ts +81 -0
  198. package/dist/types/client.d.ts.map +1 -0
  199. package/dist/types/client.js +14 -0
  200. package/dist/types/client.js.map +1 -0
  201. package/dist/types/endpoints.d.ts +76 -0
  202. package/dist/types/endpoints.d.ts.map +1 -0
  203. package/dist/types/endpoints.js +2 -0
  204. package/dist/types/endpoints.js.map +1 -0
  205. package/dist/types/errors.d.ts +86 -0
  206. package/dist/types/errors.d.ts.map +1 -0
  207. package/dist/types/errors.js +153 -0
  208. package/dist/types/errors.js.map +1 -0
  209. package/dist/types/http.d.ts +80 -0
  210. package/dist/types/http.d.ts.map +1 -0
  211. package/dist/types/http.js +61 -0
  212. package/dist/types/http.js.map +1 -0
  213. package/dist/types/index.d.ts +10 -0
  214. package/dist/types/index.d.ts.map +1 -0
  215. package/dist/types/index.js +10 -0
  216. package/dist/types/index.js.map +1 -0
  217. package/dist/types/openapi.d.ts +220 -0
  218. package/dist/types/openapi.d.ts.map +1 -0
  219. package/dist/types/openapi.js +11 -0
  220. package/dist/types/openapi.js.map +1 -0
  221. package/dist/types/opts.d.ts +46 -0
  222. package/dist/types/opts.d.ts.map +1 -0
  223. package/dist/types/opts.js +2 -0
  224. package/dist/types/opts.js.map +1 -0
  225. package/dist/types/plugins.d.ts +93 -0
  226. package/dist/types/plugins.d.ts.map +1 -0
  227. package/dist/types/plugins.js +5 -0
  228. package/dist/types/plugins.js.map +1 -0
  229. package/dist/types/tools.d.ts +52 -0
  230. package/dist/types/tools.d.ts.map +1 -0
  231. package/dist/types/tools.js +2 -0
  232. package/dist/types/tools.js.map +1 -0
  233. package/package.json +51 -0
@@ -0,0 +1,334 @@
1
+ import { ClientError, ServerError } from '../types/errors';
2
+ import { type ClientCallOptions, type ResponseFormat } from '../types/client';
3
+ import { HttpMethods, type HttpMethod, type HeaderValue, type TypedHeaders, type WellKnownHeaders, ProxyProps } from '../types/http';
4
+ import type { OpenAPISpec } from '../types/openapi';
5
+ import { type ToolDefinition } from './tools';
6
+ import type { DeferredCallOptions } from '../types/client';
7
+ import type { OpenAPIClientTransportPlugin } from './transport-plugin';
8
+ export type HeadersInit<TCustom extends Record<string, HeaderValue | undefined> = {}> = TypedHeaders<TCustom> | Headers | Array<[string, string]>;
9
+ export interface RetryContext {
10
+ attempt: number;
11
+ maxAttempts: number;
12
+ status?: number;
13
+ error?: Error;
14
+ }
15
+ export interface RequestContext<M extends HttpMethod = HttpMethod> {
16
+ method: M;
17
+ path: string;
18
+ url: string;
19
+ headers: Record<string, HeaderValue | undefined>;
20
+ }
21
+ export interface OpenAPIClientHooks {
22
+ /**
23
+ * Called before the request is made
24
+ */
25
+ onPreRequest?: (context: RequestContext) => void | Promise<void>;
26
+ /**
27
+ * Called after a successful response
28
+ */
29
+ onPostRequest?: (context: RequestContext, response: Response) => void | Promise<void>;
30
+ /**
31
+ * Called when building headers
32
+ */
33
+ buildHeaders?: (defaults: Record<string, HeaderValue | undefined>, context: RequestContext) => Record<string, HeaderValue | undefined> | Promise<Record<string, HeaderValue | undefined>>;
34
+ /**
35
+ * Called when an error occurs
36
+ */
37
+ onError?: (error: ClientError | ServerError, context: RetryContext) => void | Promise<void>;
38
+ /**
39
+ * Determine if a request should be retried
40
+ */
41
+ shouldRetry?: (statusCode: number, context: RetryContext) => boolean;
42
+ }
43
+ export interface OpenAPIClientConfig<THeaders extends Record<string, HeaderValue | undefined> = {}> {
44
+ headers?: HeadersInit<THeaders>;
45
+ fetchInit?: Omit<RequestInit, 'method' | 'headers' | 'body' | 'signal'>;
46
+ timeoutMs?: number;
47
+ retry?: {
48
+ maxAttempts?: number;
49
+ delayMs?: number;
50
+ backoffMultiplier?: number;
51
+ };
52
+ transport?: 'auto' | 'http' | 'rpc' | 'file' | 'css';
53
+ rpcPath?: string;
54
+ callsPath?: string;
55
+ hooks?: OpenAPIClientHooks;
56
+ transportPlugins?: OpenAPIClientTransportPlugin[];
57
+ }
58
+ export interface OpenAPIClientOptions<THeaders extends Record<string, HeaderValue | undefined> = {}> extends OpenAPIClientConfig<THeaders> {
59
+ baseUrl: string;
60
+ }
61
+ /** Flatten an intersection into a plain object type for readability */
62
+ export type Simplify<T> = {
63
+ [K in keyof T]: T[K];
64
+ } & {};
65
+ /** Convert (A | B | C) into (A & B & C) */
66
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
67
+ /** Map a JSON Schema type keyword to its TypeScript type */
68
+ export type JsonSchemaType<S> = S extends {
69
+ readonly type: 'string';
70
+ readonly enum: readonly (infer E)[];
71
+ } ? E : S extends {
72
+ readonly type: 'string';
73
+ } ? string : S extends {
74
+ readonly type: 'integer';
75
+ } ? number : S extends {
76
+ readonly type: 'number';
77
+ } ? number : S extends {
78
+ readonly type: 'boolean';
79
+ } ? boolean : S extends {
80
+ readonly type: 'array';
81
+ readonly items: infer I;
82
+ } ? JsonSchemaType<I>[] : S extends {
83
+ readonly type: 'object';
84
+ readonly properties: infer P extends Record<string, any>;
85
+ readonly required: readonly (infer R extends string)[];
86
+ } ? Simplify<{
87
+ [K in keyof P & R & string]: JsonSchemaType<P[K]>;
88
+ } & {
89
+ [K in Exclude<keyof P & string, R>]?: JsonSchemaType<P[K]>;
90
+ }> : S extends {
91
+ readonly type: 'object';
92
+ readonly properties: infer P extends Record<string, any>;
93
+ } ? {
94
+ [K in keyof P & string]?: JsonSchemaType<P[K]>;
95
+ } : any;
96
+ /** All path strings in the spec that have the given HTTP method */
97
+ export type PathsFor<TSpec, M extends string> = TSpec extends {
98
+ readonly paths?: infer P extends Record<string, any>;
99
+ } ? {
100
+ [K in keyof P & string]: Lowercase<M> extends keyof P[K] ? K : never;
101
+ }[keyof P & string] : never;
102
+ /** The raw operation object at a given path + method */
103
+ export type OperationAt<TSpec, P extends string, M extends string> = TSpec extends {
104
+ readonly paths?: infer Paths extends Record<string, any>;
105
+ } ? P extends keyof Paths ? Lowercase<M> extends keyof Paths[P] ? Paths[P][Lowercase<M>] : never : never : any;
106
+ /** Build a typed object from an operation's `parameters` array */
107
+ type ExtractParams<Op> = Op extends {
108
+ readonly parameters: readonly (infer Param)[];
109
+ } ? UnionToIntersection<Param extends {
110
+ readonly name: infer N extends string;
111
+ readonly required: true;
112
+ readonly schema: infer S;
113
+ } ? {
114
+ [K in N]: JsonSchemaType<S>;
115
+ } : Param extends {
116
+ readonly name: infer N extends string;
117
+ readonly schema: infer S;
118
+ } ? {
119
+ [K in N]?: JsonSchemaType<S>;
120
+ } : {}> : {};
121
+ /** Build a typed object from an operation's `requestBody` schema */
122
+ type ExtractBody<Op> = Op extends {
123
+ readonly requestBody: {
124
+ readonly content: {
125
+ readonly 'application/json': {
126
+ readonly schema: infer S;
127
+ };
128
+ };
129
+ };
130
+ } ? JsonSchemaType<S> extends infer T ? (unknown extends T ? {} : T) : {} : {};
131
+ /** Inferred input params for a path + method (parameters + requestBody merged) */
132
+ export type InferParams<TSpec, P extends string, M extends string> = Simplify<ExtractParams<OperationAt<TSpec, P, M>> & ExtractBody<OperationAt<TSpec, P, M>>> extends infer R ? [keyof R] extends [never] ? Record<string, any> : R : Record<string, any>;
133
+ /** Inferred response type for a path + method (from 200 or 201 response) */
134
+ export type InferResponse<TSpec, P extends string, M extends string> = OperationAt<TSpec, P, M> extends infer Op ? Op extends {
135
+ readonly responses: infer R extends Record<string, any>;
136
+ } ? '200' extends keyof R ? R['200'] extends {
137
+ readonly content: {
138
+ readonly 'application/json': {
139
+ readonly schema: infer S;
140
+ };
141
+ };
142
+ } ? JsonSchemaType<S> : any : '201' extends keyof R ? R['201'] extends {
143
+ readonly content: {
144
+ readonly 'application/json': {
145
+ readonly schema: infer S;
146
+ };
147
+ };
148
+ } ? JsonSchemaType<S> : any : any : any : any;
149
+ type SpecPaths<TSpec> = TSpec extends {
150
+ readonly paths?: infer P extends Record<string, any>;
151
+ } ? P : {};
152
+ type SpecPath<TSpec> = keyof SpecPaths<TSpec> & string;
153
+ type PathSegments<P extends string> = P extends `/${infer Rest}` ? PathSegments<Rest> : P extends `${infer Head}/${infer Tail}` ? [Head, ...PathSegments<Tail>] : P extends '' ? [] : [
154
+ P
155
+ ];
156
+ type MethodsForPath<TSpec, P extends string> = {
157
+ [M in HttpMethod]: OperationAt<TSpec, P, M> extends never ? never : M;
158
+ }[HttpMethod];
159
+ type IsUnion<T, U = T> = [
160
+ T
161
+ ] extends [never] ? false : T extends any ? ([U] extends [T] ? false : true) : false;
162
+ export interface DeferredCallSnapshot<TResult = unknown> {
163
+ id: string;
164
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
165
+ statusCode?: number;
166
+ result?: TResult;
167
+ error?: {
168
+ message: string;
169
+ statusCode?: number;
170
+ data?: unknown;
171
+ };
172
+ createdAt: string;
173
+ updatedAt: string;
174
+ completedAt?: string;
175
+ }
176
+ export interface DeferredCallEvent {
177
+ seq: number;
178
+ at: string;
179
+ event: 'progress' | 'log' | 'chunk' | 'message';
180
+ data?: unknown;
181
+ }
182
+ export interface DeferredCallHandle<TResult = unknown> {
183
+ id: string;
184
+ status(): Promise<DeferredCallSnapshot<TResult>>;
185
+ events(args?: {
186
+ since?: number;
187
+ event?: DeferredCallEvent['event'];
188
+ }): Promise<DeferredCallEvent[]>;
189
+ logs(since?: number): Promise<DeferredCallEvent[]>;
190
+ result(): Promise<TResult>;
191
+ wait(args?: {
192
+ pollIntervalMs?: number;
193
+ signal?: AbortSignal;
194
+ }): Promise<TResult>;
195
+ cancel(): Promise<boolean>;
196
+ }
197
+ type CallReturn<TResult, O> = O extends DeferredCallOptions ? DeferredCallHandle<TResult> : TResult;
198
+ type RouteMethodFn<TSpec, P extends string, M extends HttpMethod> = <O extends ClientCallOptions | undefined = undefined>(params: InferParams<TSpec, P, M>, options?: O) => Promise<CallReturn<InferResponse<TSpec, P, M>, NonNullable<O>>>;
199
+ type OpenAPIClientInstance<TSpec extends OpenAPISpec = OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined> = WellKnownHeaders> = OpenAPIClientImpl<TSpec, THeaders> & DynamicProxyProps<TSpec, THeaders>;
200
+ type RouteProxyBase<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>> = {
201
+ [ProxyProps.ROOT]: OpenAPIClientInstance<TSpec, THeaders>;
202
+ [ProxyProps.CLIENT]: OpenAPIClientInstance<TSpec, THeaders>;
203
+ [ProxyProps.ROUTES]: string[];
204
+ [ProxyProps.CHILDREN]: Record<string, unknown>;
205
+ [ProxyProps.SPEC]: Record<string, unknown>;
206
+ };
207
+ type DirectCallForPath<TSpec, P extends string> = MethodsForPath<TSpec, P> extends infer M extends HttpMethod ? [M] extends [never] ? {} : IsUnion<M> extends true ? {} : (<O extends ClientCallOptions | undefined = undefined>(params: InferParams<TSpec, P, M>, options?: O) => Promise<CallReturn<InferResponse<TSpec, P, M>, NonNullable<O>>>) : {};
208
+ type RouteMethodPropsForPath<TSpec, P extends string> = {
209
+ [M in MethodsForPath<TSpec, P> as Lowercase<M>]: RouteMethodFn<TSpec, P, M>;
210
+ };
211
+ type RouteProxyForPath<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>, P extends SpecPath<TSpec>> = RouteProxyBase<TSpec, THeaders> & RouteMethodPropsForPath<TSpec, P> & DirectCallForPath<TSpec, P>;
212
+ type RouteProxyForOperation<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>, P extends SpecPath<TSpec>, M extends HttpMethod> = RouteProxyBase<TSpec, THeaders> & {
213
+ [K in Lowercase<M>]: RouteMethodFn<TSpec, P, M>;
214
+ } & (<O extends ClientCallOptions | undefined = undefined>(params: InferParams<TSpec, P, M>, options?: O) => Promise<CallReturn<InferResponse<TSpec, P, M>, NonNullable<O>>>);
215
+ type SegmentProxyObject<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>, P extends SpecPath<TSpec>, Segments extends string[] = PathSegments<P>> = Segments extends [infer Head extends string, ...infer Rest extends string[]] ? {
216
+ [K in Head]: Rest extends [] ? RouteProxyForPath<TSpec, THeaders, P> : SegmentProxyObject<TSpec, THeaders, P, Rest>;
217
+ } : {};
218
+ type RootSegmentProps<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>> = UnionToIntersection<SpecPath<TSpec> extends infer P extends SpecPath<TSpec> ? SegmentProxyObject<TSpec, THeaders, P> : never>;
219
+ type OperationIdProps<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>> = UnionToIntersection<SpecPath<TSpec> extends infer P extends SpecPath<TSpec> ? {
220
+ [M in HttpMethod]: OperationAt<TSpec, P, M> extends {
221
+ readonly operationId: infer O extends string;
222
+ } ? {
223
+ [K in O]: RouteProxyForOperation<TSpec, THeaders, P, M>;
224
+ } : {};
225
+ }[HttpMethod] : never>;
226
+ type DynamicProxyProps<TSpec extends OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined>> = RootSegmentProps<TSpec, THeaders> & OperationIdProps<TSpec, THeaders>;
227
+ export type OpenAPIClient<TSpec extends OpenAPISpec = OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined> = WellKnownHeaders> = OpenAPIClientInstance<TSpec, THeaders>;
228
+ declare class OpenAPIClientImpl<TSpec extends OpenAPISpec = OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined> = WellKnownHeaders> {
229
+ private openAPISpec;
230
+ private baseUrl;
231
+ private headers;
232
+ private fetchInit?;
233
+ private timeoutMs;
234
+ private retryConfig;
235
+ private transportMode;
236
+ private rpcPath;
237
+ private callsPath;
238
+ private hooks?;
239
+ private transportPlugins;
240
+ private openapi;
241
+ private cachedTools?;
242
+ private rpcSocket?;
243
+ private rpcSocketPromise?;
244
+ private nodeFileRuntimePromise?;
245
+ private rpcPending;
246
+ private rpcCounter;
247
+ /** Typed accessor for spec paths, handling the optional field. */
248
+ private get _paths();
249
+ private _opIndex?;
250
+ private _segTree?;
251
+ private _rootProxy?;
252
+ constructor(openAPISpec: TSpec, options: OpenAPIClientOptions<THeaders>);
253
+ private normalizeHeaders;
254
+ /** Coerce all header values to strings for the fetch API. */
255
+ private stringifyHeaders;
256
+ buildHeaders(): Promise<Record<string, HeaderValue | undefined>>;
257
+ private resolveTransportMode;
258
+ private resolveTransportPlugin;
259
+ private createBuiltInTransportRuntime;
260
+ /**
261
+ * Get tool definitions for AI integrations (Claude, OpenAI, etc)
262
+ * Tools are extracted from the OpenAPI spec and cached
263
+ */
264
+ get tools(): ToolDefinition[];
265
+ get<P extends PathsFor<TSpec, typeof HttpMethods.GET>, O extends ClientCallOptions | undefined = undefined>(path: P, params: InferParams<TSpec, P, typeof HttpMethods.GET>, options?: O): Promise<CallReturn<InferResponse<TSpec, P, typeof HttpMethods.GET>, NonNullable<O>>>;
266
+ post<P extends PathsFor<TSpec, typeof HttpMethods.POST>, O extends ClientCallOptions | undefined = undefined>(path: P, params: InferParams<TSpec, P, typeof HttpMethods.POST>, options?: O): Promise<CallReturn<InferResponse<TSpec, P, typeof HttpMethods.POST>, NonNullable<O>>>;
267
+ put<P extends PathsFor<TSpec, typeof HttpMethods.PUT>, O extends ClientCallOptions | undefined = undefined>(path: P, params: InferParams<TSpec, P, typeof HttpMethods.PUT>, options?: O): Promise<CallReturn<InferResponse<TSpec, P, typeof HttpMethods.PUT>, NonNullable<O>>>;
268
+ patch<P extends PathsFor<TSpec, typeof HttpMethods.PATCH>, O extends ClientCallOptions | undefined = undefined>(path: P, params: InferParams<TSpec, P, typeof HttpMethods.PATCH>, options?: O): Promise<CallReturn<InferResponse<TSpec, P, typeof HttpMethods.PATCH>, NonNullable<O>>>;
269
+ delete<P extends PathsFor<TSpec, typeof HttpMethods.DELETE>, O extends ClientCallOptions | undefined = undefined>(path: P, params: InferParams<TSpec, P, typeof HttpMethods.DELETE>, options?: O): Promise<CallReturn<InferResponse<TSpec, P, typeof HttpMethods.DELETE>, NonNullable<O>>>;
270
+ private call;
271
+ private findOperationByPath;
272
+ private nextRpcId;
273
+ private resolveRpcUrl;
274
+ private sendRpcCancel;
275
+ private ensureRpcSocket;
276
+ private getNodeFileRuntime;
277
+ private resolveFileQueuePaths;
278
+ createDeferredHandle<TResult>(id: string, options?: ClientCallOptions): DeferredCallHandle<TResult>;
279
+ fetchDeferredJson<T>(path: string, options?: ClientCallOptions, method?: string, bodyPayload?: unknown): Promise<T>;
280
+ private extractPathParams;
281
+ private extractQueryParams;
282
+ private extractHeaderParams;
283
+ _parseResponse<T>(response: Response, format: ResponseFormat): Promise<T>;
284
+ private createTimeoutPromise;
285
+ delay(ms: number): Promise<void>;
286
+ tryParseJson(text: string): unknown;
287
+ /**
288
+ * Detect request format from body values and OpenAPI spec content types.
289
+ * Priority: Blob/File in values → spec declares multipart → spec declares form → json
290
+ */
291
+ private _detectRequestFormat;
292
+ /** Detect the best response format from the OpenAPI spec and response headers. */
293
+ _detectResponseFormat(response: Response, specContentTypes: string[]): ResponseFormat;
294
+ /** Map a MIME content type string to a ResponseFormat. */
295
+ private _contentTypeToFormat;
296
+ private _ensureIndexes;
297
+ /** All unique route names accessible from the root (operationIds + top-level segments). */
298
+ private _rootRouteNames;
299
+ /** Object mapping each root route name → its route proxy. */
300
+ private _rootChildren;
301
+ /**
302
+ * Resolve a property name to a callable route proxy.
303
+ * Checks operationId first, then path segment children.
304
+ */
305
+ private _resolveRoute;
306
+ /**
307
+ * Create a callable Proxy node for a route.
308
+ *
309
+ * The node is a function that can be called directly (if exactly one
310
+ * HTTP method is registered) and also supports:
311
+ * .get(params) .post(params) etc. — explicit HTTP method
312
+ * .child — nested path segment navigation
313
+ */
314
+ private _createCallableNode;
315
+ /**
316
+ * Build a .spec object from the route's registered methods.
317
+ *
318
+ * Uses standard OpenAPI field names:
319
+ * operationId, summary, description, parameters,
320
+ * requestBody, responses
321
+ *
322
+ * Single-method routes return the operation directly.
323
+ * Multi-method routes return { GET: {...}, POST: {...} }.
324
+ */
325
+ private _callRoute;
326
+ private _buildSpec;
327
+ }
328
+ interface OpenAPIClientConstructor {
329
+ new <TSpec extends OpenAPISpec = OpenAPISpec, THeaders extends Record<string, HeaderValue | undefined> = WellKnownHeaders>(openAPISpec: TSpec, options: OpenAPIClientOptions<THeaders>): OpenAPIClientInstance<TSpec, THeaders>;
330
+ prototype: OpenAPIClientImpl<any, any>;
331
+ }
332
+ export declare const OpenAPIClient: OpenAPIClientConstructor;
333
+ export {};
334
+ //# sourceMappingURL=openapi-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-client.d.ts","sourceRoot":"","sources":["../../../typescript/src/client/openapi-client.ts"],"names":[],"mappings":"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"}