@runtypelabs/sdk 1.7.2 → 1.8.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/index.cjs +7254 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +5195 -0
- package/dist/index.d.ts +5194 -27
- package/dist/index.js +7182 -77
- package/dist/index.js.map +1 -1
- package/package.json +14 -7
- package/dist/batch-builder.d.ts +0 -106
- package/dist/batch-builder.d.ts.map +0 -1
- package/dist/batch-builder.js +0 -124
- package/dist/batch-builder.js.map +0 -1
- package/dist/batches-namespace.d.ts +0 -132
- package/dist/batches-namespace.d.ts.map +0 -1
- package/dist/batches-namespace.js +0 -128
- package/dist/batches-namespace.js.map +0 -1
- package/dist/case-types.d.ts +0 -42
- package/dist/case-types.d.ts.map +0 -1
- package/dist/case-types.js +0 -16
- package/dist/case-types.js.map +0 -1
- package/dist/client-token-types.d.ts +0 -143
- package/dist/client-token-types.d.ts.map +0 -1
- package/dist/client-token-types.js +0 -11
- package/dist/client-token-types.js.map +0 -1
- package/dist/client.d.ts +0 -135
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -522
- package/dist/client.js.map +0 -1
- package/dist/endpoints.d.ts +0 -1353
- package/dist/endpoints.d.ts.map +0 -1
- package/dist/endpoints.js +0 -2936
- package/dist/endpoints.js.map +0 -1
- package/dist/error-handling-types.d.ts +0 -71
- package/dist/error-handling-types.d.ts.map +0 -1
- package/dist/error-handling-types.js +0 -12
- package/dist/error-handling-types.js.map +0 -1
- package/dist/eval-builder.d.ts +0 -216
- package/dist/eval-builder.d.ts.map +0 -1
- package/dist/eval-builder.js +0 -225
- package/dist/eval-builder.js.map +0 -1
- package/dist/evals-namespace.d.ts +0 -205
- package/dist/evals-namespace.d.ts.map +0 -1
- package/dist/evals-namespace.js +0 -208
- package/dist/evals-namespace.js.map +0 -1
- package/dist/flow-builder.d.ts +0 -717
- package/dist/flow-builder.d.ts.map +0 -1
- package/dist/flow-builder.js +0 -592
- package/dist/flow-builder.js.map +0 -1
- package/dist/flow-result.d.ts +0 -117
- package/dist/flow-result.d.ts.map +0 -1
- package/dist/flow-result.js +0 -175
- package/dist/flow-result.js.map +0 -1
- package/dist/flows-namespace.d.ts +0 -442
- package/dist/flows-namespace.d.ts.map +0 -1
- package/dist/flows-namespace.js +0 -686
- package/dist/flows-namespace.js.map +0 -1
- package/dist/generated-tool-gate.d.ts +0 -75
- package/dist/generated-tool-gate.d.ts.map +0 -1
- package/dist/generated-tool-gate.js +0 -314
- package/dist/generated-tool-gate.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/prompts-namespace.d.ts +0 -237
- package/dist/prompts-namespace.d.ts.map +0 -1
- package/dist/prompts-namespace.js +0 -222
- package/dist/prompts-namespace.js.map +0 -1
- package/dist/runtype.d.ts +0 -232
- package/dist/runtype.d.ts.map +0 -1
- package/dist/runtype.js +0 -367
- package/dist/runtype.js.map +0 -1
- package/dist/stream-utils.d.ts +0 -58
- package/dist/stream-utils.d.ts.map +0 -1
- package/dist/stream-utils.js +0 -373
- package/dist/stream-utils.js.map +0 -1
- package/dist/transform.d.ts +0 -30
- package/dist/transform.d.ts.map +0 -1
- package/dist/transform.js +0 -196
- package/dist/transform.js.map +0 -1
- package/dist/types.d.ts +0 -717
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -7
- package/dist/types.js.map +0 -1
package/dist/client.js
DELETED
|
@@ -1,522 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @layer sdk
|
|
4
|
-
* @case camelCase (SDK and API both use native camelCase - no conversion needed)
|
|
5
|
-
*
|
|
6
|
-
* Main Runtype API Client.
|
|
7
|
-
*
|
|
8
|
-
* The SDK and API both use native camelCase for all request/response bodies.
|
|
9
|
-
* No case transformation is performed.
|
|
10
|
-
*
|
|
11
|
-
* @see packages/client/src/transform.ts for pass-through utilities
|
|
12
|
-
*/
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.RuntypeApiError = exports.RuntypeClient = void 0;
|
|
48
|
-
exports.createClient = createClient;
|
|
49
|
-
const transform_1 = require("./transform");
|
|
50
|
-
const endpoints_1 = require("./endpoints");
|
|
51
|
-
const flow_builder_1 = require("./flow-builder");
|
|
52
|
-
const flow_result_1 = require("./flow-result");
|
|
53
|
-
function isObjectRecord(value) {
|
|
54
|
-
return typeof value === 'object' && value !== null;
|
|
55
|
-
}
|
|
56
|
-
function isPausedLocalActionResult(value) {
|
|
57
|
-
if (!isObjectRecord(value) || value.status !== 'paused') {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
const { pausedReason } = value;
|
|
61
|
-
return (pausedReason === undefined ||
|
|
62
|
-
(isObjectRecord(pausedReason) &&
|
|
63
|
-
pausedReason.type === 'local_action' &&
|
|
64
|
-
typeof pausedReason.toolName === 'string' &&
|
|
65
|
-
typeof pausedReason.executionId === 'string'));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* RuntypeClient - The main entry point for interacting with the Runtype API
|
|
69
|
-
*
|
|
70
|
-
* Automatically transforms field names between camelCase (client) and snake_case (API)
|
|
71
|
-
* to provide an idiomatic JavaScript/TypeScript experience while maintaining API consistency.
|
|
72
|
-
*/
|
|
73
|
-
class RuntypeClient {
|
|
74
|
-
constructor(config = {}) {
|
|
75
|
-
const baseUrl = config.baseUrl || 'https://api.runtype.com';
|
|
76
|
-
this.apiVersion = config.apiVersion || 'v1';
|
|
77
|
-
// Construct versioned base URL (api.runtype.com/v1)
|
|
78
|
-
this.baseUrl = this.apiVersion ? `${baseUrl}/${this.apiVersion}` : baseUrl;
|
|
79
|
-
this.timeout = config.timeout || 30000;
|
|
80
|
-
this.headers = {
|
|
81
|
-
'Content-Type': 'application/json',
|
|
82
|
-
...(config.headers || {}),
|
|
83
|
-
};
|
|
84
|
-
// Set API key if provided
|
|
85
|
-
if (config.apiKey) {
|
|
86
|
-
this.headers.Authorization = `Bearer ${config.apiKey}`;
|
|
87
|
-
}
|
|
88
|
-
// Initialize endpoint handlers
|
|
89
|
-
this.flows = new endpoints_1.FlowsEndpoint(this);
|
|
90
|
-
this.prompts = new endpoints_1.PromptsEndpoint(this);
|
|
91
|
-
this.records = new endpoints_1.RecordsEndpoint(this);
|
|
92
|
-
this.apiKeys = new endpoints_1.ApiKeysEndpoint(this);
|
|
93
|
-
this.modelConfigs = new endpoints_1.ModelConfigsEndpoint(this);
|
|
94
|
-
this.dispatch = new endpoints_1.DispatchEndpoint(this);
|
|
95
|
-
this.chat = new endpoints_1.ChatEndpoint(this);
|
|
96
|
-
this.users = new endpoints_1.UsersEndpoint(this);
|
|
97
|
-
this.analytics = new endpoints_1.AnalyticsEndpoint(this);
|
|
98
|
-
this.flowSteps = new endpoints_1.FlowStepsEndpoint(this);
|
|
99
|
-
this.contextTemplates = new endpoints_1.ContextTemplatesEndpoint(this);
|
|
100
|
-
this.tools = new endpoints_1.ToolsEndpoint(this);
|
|
101
|
-
this.eval = new endpoints_1.EvalEndpoint(this);
|
|
102
|
-
this.clientTokens = new endpoints_1.ClientTokensEndpoint(this);
|
|
103
|
-
this.agents = new endpoints_1.AgentsEndpoint(this);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Set the API key for authentication
|
|
107
|
-
*/
|
|
108
|
-
setApiKey(apiKey) {
|
|
109
|
-
this.headers.Authorization = `Bearer ${apiKey}`;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Start building a flow with fluent API
|
|
113
|
-
*
|
|
114
|
-
* @example
|
|
115
|
-
* ```typescript
|
|
116
|
-
* const response = await runtype
|
|
117
|
-
* .flow('My Flow')
|
|
118
|
-
* .withRecord({ name: 'Test', type: 'data' })
|
|
119
|
-
* .fetchUrl({ name: 'Fetch', url: '...', outputVariable: 'data' })
|
|
120
|
-
* .prompt({ name: 'Process', model: 'gpt-4', userPrompt: '...' })
|
|
121
|
-
* .run()
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
flow(name) {
|
|
125
|
-
return new flow_builder_1.ClientFlowBuilder({
|
|
126
|
-
dispatch: (config) => this.dispatch.executeStream(config),
|
|
127
|
-
runWithLocalTools: (config, tools) => this.runWithLocalTools(config, tools),
|
|
128
|
-
}, name);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Remove the API key
|
|
132
|
-
*/
|
|
133
|
-
clearApiKey() {
|
|
134
|
-
delete this.headers.Authorization;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Run a flow with client-side tools (automatic pause/resume loop)
|
|
138
|
-
*
|
|
139
|
-
* @param request - The dispatch request configuration
|
|
140
|
-
* @param clientTools - Map of tool names to async functions that execute the tool logic
|
|
141
|
-
* @param callbacks - Optional callbacks for streaming events
|
|
142
|
-
* @returns The final result of the flow execution or summary if streaming
|
|
143
|
-
*/
|
|
144
|
-
async runWithLocalTools(request, localTools, callbacks) {
|
|
145
|
-
// If callbacks are provided, use streaming mode
|
|
146
|
-
// If not, force non-streaming for JSON state machine
|
|
147
|
-
const isStreaming = !!callbacks;
|
|
148
|
-
const modifiedRequest = {
|
|
149
|
-
...request,
|
|
150
|
-
options: {
|
|
151
|
-
...(request.options || {}),
|
|
152
|
-
streamResponse: isStreaming,
|
|
153
|
-
},
|
|
154
|
-
};
|
|
155
|
-
const processStep = async (response) => {
|
|
156
|
-
if (isStreaming) {
|
|
157
|
-
// Stream processing
|
|
158
|
-
let pausedState = null;
|
|
159
|
-
// Wrap user callbacks to intercept paused event
|
|
160
|
-
const wrappedCallbacks = {
|
|
161
|
-
...callbacks,
|
|
162
|
-
onFlowStart: (event) => callbacks?.onFlowStart?.(event),
|
|
163
|
-
onStepStart: (event) => callbacks?.onStepStart?.(event),
|
|
164
|
-
onStepChunk: (chunk, event) => callbacks?.onStepChunk?.(chunk, event),
|
|
165
|
-
onStepComplete: (result, event) => callbacks?.onStepComplete?.(result, event),
|
|
166
|
-
onFlowComplete: (event) => callbacks?.onFlowComplete?.(event),
|
|
167
|
-
onError: (error) => callbacks?.onError?.(error),
|
|
168
|
-
};
|
|
169
|
-
const { streamEvents } = await Promise.resolve().then(() => __importStar(require('./stream-utils')));
|
|
170
|
-
const summary = {
|
|
171
|
-
results: new Map(),
|
|
172
|
-
success: true,
|
|
173
|
-
};
|
|
174
|
-
try {
|
|
175
|
-
for await (const event of streamEvents(response)) {
|
|
176
|
-
if (event.type === 'flow_await') {
|
|
177
|
-
// API sends: executionId, flowId, toolId, toolName.
|
|
178
|
-
// Parameters are sent in step_await event just before this
|
|
179
|
-
const pausedEvent = event;
|
|
180
|
-
pausedState = {
|
|
181
|
-
...(pausedState ?? {}),
|
|
182
|
-
toolName: pausedEvent.toolName,
|
|
183
|
-
executionId: pausedEvent.executionId,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
if (event.type === 'step_await') {
|
|
187
|
-
// Capture parameters
|
|
188
|
-
const pausedEvent = event;
|
|
189
|
-
pausedState = {
|
|
190
|
-
toolName: pausedEvent.toolName,
|
|
191
|
-
parameters: pausedEvent.parameters,
|
|
192
|
-
executionId: pausedEvent.executionId,
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
// Handle standard events via callbacks
|
|
196
|
-
switch (event.type) {
|
|
197
|
-
case 'flow_start':
|
|
198
|
-
wrappedCallbacks.onFlowStart?.(event);
|
|
199
|
-
break;
|
|
200
|
-
case 'step_start':
|
|
201
|
-
wrappedCallbacks.onStepStart?.(event);
|
|
202
|
-
break;
|
|
203
|
-
case 'step_delta': {
|
|
204
|
-
// Normalize API's 'text' field to 'chunk' for consistency
|
|
205
|
-
const deltaEvent = event;
|
|
206
|
-
const chunkText = deltaEvent.chunk || deltaEvent.text || '';
|
|
207
|
-
wrappedCallbacks.onStepChunk?.(chunkText, deltaEvent);
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
case 'step_complete': {
|
|
211
|
-
summary.results?.set(event.name, event.result);
|
|
212
|
-
wrappedCallbacks.onStepComplete?.(event.result, event);
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
case 'flow_complete':
|
|
216
|
-
wrappedCallbacks.onFlowComplete?.(event);
|
|
217
|
-
break;
|
|
218
|
-
case 'flow_error':
|
|
219
|
-
wrappedCallbacks.onError?.(new Error(event.error));
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
catch (e) {
|
|
225
|
-
wrappedCallbacks.onError?.(e instanceof Error ? e : new Error(String(e)));
|
|
226
|
-
throw e;
|
|
227
|
-
}
|
|
228
|
-
if (pausedState) {
|
|
229
|
-
return {
|
|
230
|
-
done: false,
|
|
231
|
-
result: { status: 'paused', pausedReason: { type: 'local_action', ...pausedState } },
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
return { done: true, result: summary };
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
// Non-streaming (JSON)
|
|
238
|
-
const data = await response.json();
|
|
239
|
-
return {
|
|
240
|
-
done: data.status !== 'paused',
|
|
241
|
-
result: data,
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
// Initial dispatch
|
|
246
|
-
let currentResponse;
|
|
247
|
-
if (isStreaming) {
|
|
248
|
-
currentResponse = await this.dispatch.executeStream(modifiedRequest);
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
const data = await this.dispatch.execute(modifiedRequest);
|
|
252
|
-
currentResponse = new Response(JSON.stringify(data), {
|
|
253
|
-
headers: { 'content-type': 'application/json' },
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
// Loop
|
|
257
|
-
while (true) {
|
|
258
|
-
const { done, result } = await processStep(currentResponse);
|
|
259
|
-
if (done) {
|
|
260
|
-
if (isStreaming)
|
|
261
|
-
return result;
|
|
262
|
-
return new flow_result_1.FlowResult(new Response(JSON.stringify(result), { headers: { 'content-type': 'application/json' } }));
|
|
263
|
-
}
|
|
264
|
-
// Handle Pause
|
|
265
|
-
if (isPausedLocalActionResult(result) && result.pausedReason?.type === 'local_action') {
|
|
266
|
-
const { toolName, parameters, executionId } = result.pausedReason;
|
|
267
|
-
if (!localTools[toolName]) {
|
|
268
|
-
throw new Error(`Local tool "${toolName}" required but not provided in localTools map`);
|
|
269
|
-
}
|
|
270
|
-
try {
|
|
271
|
-
// Execute local tool logic
|
|
272
|
-
const toolResult = await localTools[toolName](parameters);
|
|
273
|
-
// Resume flow execution
|
|
274
|
-
const resumeData = {
|
|
275
|
-
executionId: executionId,
|
|
276
|
-
toolOutputs: { [toolName]: toolResult },
|
|
277
|
-
streamResponse: isStreaming,
|
|
278
|
-
};
|
|
279
|
-
if (isStreaming) {
|
|
280
|
-
currentResponse = (await this.dispatch.resume(resumeData));
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
const data = await this.dispatch.resume(resumeData);
|
|
284
|
-
currentResponse = new Response(JSON.stringify(data), {
|
|
285
|
-
headers: { 'content-type': 'application/json' },
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
throw new Error(`Error executing local tool "${toolName}": ${error instanceof Error ? error.message : String(error)}`);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
// Should not happen if done=false
|
|
295
|
-
break;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
throw new Error('Unexpected end of flow execution loop');
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Generic GET request
|
|
302
|
-
*/
|
|
303
|
-
async get(path, params) {
|
|
304
|
-
const url = this.buildUrl(path, params);
|
|
305
|
-
const response = await this.makeRequest(url, {
|
|
306
|
-
method: 'GET',
|
|
307
|
-
headers: this.headers,
|
|
308
|
-
});
|
|
309
|
-
return (0, transform_1.transformResponse)(response);
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Generic POST request
|
|
313
|
-
*/
|
|
314
|
-
async post(path, data) {
|
|
315
|
-
const url = this.buildUrl(path);
|
|
316
|
-
const response = await this.makeRequest(url, {
|
|
317
|
-
method: 'POST',
|
|
318
|
-
headers: this.headers,
|
|
319
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
320
|
-
});
|
|
321
|
-
return (0, transform_1.transformResponse)(response);
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* POST request with FormData support for file uploads
|
|
325
|
-
*/
|
|
326
|
-
async postFormData(path, formData) {
|
|
327
|
-
const url = this.buildUrl(path);
|
|
328
|
-
const headers = { ...this.headers };
|
|
329
|
-
// Remove Content-Type to let browser set multipart boundary
|
|
330
|
-
delete headers['Content-Type'];
|
|
331
|
-
const response = await this.makeRequest(url, {
|
|
332
|
-
method: 'POST',
|
|
333
|
-
headers,
|
|
334
|
-
body: formData,
|
|
335
|
-
});
|
|
336
|
-
return (0, transform_1.transformResponse)(response);
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Generic request that returns raw Response for streaming
|
|
340
|
-
*/
|
|
341
|
-
async requestStream(path, options = {}) {
|
|
342
|
-
const url = this.buildUrl(path);
|
|
343
|
-
const headers = {
|
|
344
|
-
...this.headers,
|
|
345
|
-
...options.headers,
|
|
346
|
-
};
|
|
347
|
-
// Transform request body if it's JSON
|
|
348
|
-
let body = options.body;
|
|
349
|
-
if (body && typeof body === 'string' && headers['Content-Type']?.includes('application/json')) {
|
|
350
|
-
try {
|
|
351
|
-
const parsed = JSON.parse(body);
|
|
352
|
-
body = JSON.stringify((0, transform_1.transformRequest)(parsed));
|
|
353
|
-
}
|
|
354
|
-
catch {
|
|
355
|
-
// If parsing fails, use original body
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
return this.makeRawRequest(url, {
|
|
359
|
-
...options,
|
|
360
|
-
headers,
|
|
361
|
-
body,
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
/**
|
|
365
|
-
* Generic PUT request
|
|
366
|
-
*/
|
|
367
|
-
async put(path, data) {
|
|
368
|
-
const url = this.buildUrl(path);
|
|
369
|
-
const response = await this.makeRequest(url, {
|
|
370
|
-
method: 'PUT',
|
|
371
|
-
headers: this.headers,
|
|
372
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
373
|
-
});
|
|
374
|
-
return (0, transform_1.transformResponse)(response);
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* Generic PATCH request
|
|
378
|
-
*/
|
|
379
|
-
async patch(path, data) {
|
|
380
|
-
const url = this.buildUrl(path);
|
|
381
|
-
const response = await this.makeRequest(url, {
|
|
382
|
-
method: 'PATCH',
|
|
383
|
-
headers: this.headers,
|
|
384
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
385
|
-
});
|
|
386
|
-
return (0, transform_1.transformResponse)(response);
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Generic DELETE request
|
|
390
|
-
*/
|
|
391
|
-
async delete(path, data) {
|
|
392
|
-
const url = this.buildUrl(path);
|
|
393
|
-
const response = await this.makeRequest(url, {
|
|
394
|
-
method: 'DELETE',
|
|
395
|
-
headers: this.headers,
|
|
396
|
-
body: data ? JSON.stringify((0, transform_1.transformRequest)(data)) : undefined,
|
|
397
|
-
});
|
|
398
|
-
return (0, transform_1.transformResponse)(response);
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Build full URL with query parameters
|
|
402
|
-
*/
|
|
403
|
-
buildUrl(path, params) {
|
|
404
|
-
// Ensure versioned base URL is treated as a directory by URL()
|
|
405
|
-
const base = this.baseUrl.endsWith('/') ? this.baseUrl : `${this.baseUrl}/`;
|
|
406
|
-
// Avoid leading slash in path which would reset to origin root
|
|
407
|
-
const relPath = path.startsWith('/') ? path.slice(1) : path;
|
|
408
|
-
const url = new URL(relPath, base);
|
|
409
|
-
if (params) {
|
|
410
|
-
const transformedParams = (0, transform_1.transformQueryParams)(params);
|
|
411
|
-
Object.entries(transformedParams).forEach(([key, value]) => {
|
|
412
|
-
url.searchParams.set(key, value);
|
|
413
|
-
});
|
|
414
|
-
}
|
|
415
|
-
return url.toString();
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* Make HTTP request with timeout and error handling
|
|
419
|
-
*/
|
|
420
|
-
async makeRequest(url, options) {
|
|
421
|
-
const controller = new AbortController();
|
|
422
|
-
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
423
|
-
try {
|
|
424
|
-
const response = await fetch(url, {
|
|
425
|
-
...options,
|
|
426
|
-
signal: controller.signal,
|
|
427
|
-
});
|
|
428
|
-
clearTimeout(timeoutId);
|
|
429
|
-
if (!response.ok) {
|
|
430
|
-
throw await this.createApiError(response);
|
|
431
|
-
}
|
|
432
|
-
// Handle empty responses (like 204 No Content)
|
|
433
|
-
if (response.status === 204) {
|
|
434
|
-
return null;
|
|
435
|
-
}
|
|
436
|
-
const contentType = response.headers.get('content-type');
|
|
437
|
-
if (contentType?.includes('application/json')) {
|
|
438
|
-
return response.json();
|
|
439
|
-
}
|
|
440
|
-
return response.text();
|
|
441
|
-
}
|
|
442
|
-
catch (error) {
|
|
443
|
-
clearTimeout(timeoutId);
|
|
444
|
-
if (error instanceof Error && error.name === 'AbortError') {
|
|
445
|
-
throw new Error(`Request timeout after ${this.timeout}ms`);
|
|
446
|
-
}
|
|
447
|
-
throw error;
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* Make HTTP request that returns raw Response (for streaming)
|
|
452
|
-
*/
|
|
453
|
-
async makeRawRequest(url, options) {
|
|
454
|
-
const controller = new AbortController();
|
|
455
|
-
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
456
|
-
try {
|
|
457
|
-
const response = await fetch(url, {
|
|
458
|
-
...options,
|
|
459
|
-
signal: controller.signal,
|
|
460
|
-
});
|
|
461
|
-
clearTimeout(timeoutId);
|
|
462
|
-
if (!response.ok) {
|
|
463
|
-
throw await this.createApiError(response);
|
|
464
|
-
}
|
|
465
|
-
return response;
|
|
466
|
-
}
|
|
467
|
-
catch (error) {
|
|
468
|
-
clearTimeout(timeoutId);
|
|
469
|
-
if (error instanceof Error && error.name === 'AbortError') {
|
|
470
|
-
throw new Error(`Request timeout after ${this.timeout}ms`);
|
|
471
|
-
}
|
|
472
|
-
throw error;
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
/**
|
|
476
|
-
* Handle error responses
|
|
477
|
-
*/
|
|
478
|
-
async createApiError(response) {
|
|
479
|
-
let errorData;
|
|
480
|
-
try {
|
|
481
|
-
const contentType = response.headers.get('content-type');
|
|
482
|
-
if (contentType?.includes('application/json')) {
|
|
483
|
-
errorData = await response.json();
|
|
484
|
-
}
|
|
485
|
-
else {
|
|
486
|
-
errorData = { error: await response.text() };
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
catch {
|
|
490
|
-
errorData = { error: 'Unknown error occurred' };
|
|
491
|
-
}
|
|
492
|
-
const message = isObjectRecord(errorData) &&
|
|
493
|
-
(typeof errorData.error === 'string' || typeof errorData.message === 'string')
|
|
494
|
-
? errorData.error ||
|
|
495
|
-
errorData.message ||
|
|
496
|
-
'Request failed'
|
|
497
|
-
: 'Request failed';
|
|
498
|
-
return new RuntypeApiError(message, response.status, errorData, new Headers(response.headers), response.statusText);
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
exports.RuntypeClient = RuntypeClient;
|
|
502
|
-
/**
|
|
503
|
-
* Custom error class for Runtype API errors
|
|
504
|
-
*/
|
|
505
|
-
class RuntypeApiError extends Error {
|
|
506
|
-
constructor(message, statusCode, data, headers, statusText) {
|
|
507
|
-
super(message);
|
|
508
|
-
this.statusCode = statusCode;
|
|
509
|
-
this.data = data;
|
|
510
|
-
this.headers = headers;
|
|
511
|
-
this.statusText = statusText;
|
|
512
|
-
this.name = 'RuntypeApiError';
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
exports.RuntypeApiError = RuntypeApiError;
|
|
516
|
-
/**
|
|
517
|
-
* Convenience function to create a new RuntypeClient instance
|
|
518
|
-
*/
|
|
519
|
-
function createClient(config) {
|
|
520
|
-
return new RuntypeClient(config);
|
|
521
|
-
}
|
|
522
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|