cloudflare/cloudflare-typescript

Public

mirrored from https://github.com/cloudflare/cloudflare-typescriptAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v5.0.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/resources/ai-gateway/logs.ts

562lines · modecode

1// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
3import { APIResource } from '../../resource';
4import * as Core from '../../core';
5import { V4PagePaginationArray, type V4PagePaginationArrayParams } from '../../pagination';
6
7export class Logs extends APIResource {
8 /**
9 * List Gateway Logs
10 *
11 * @example
12 * ```ts
13 * // Automatically fetches more pages as needed.
14 * for await (const logListResponse of client.aiGateway.logs.list(
15 * 'my-gateway',
16 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
17 * )) {
18 * // ...
19 * }
20 * ```
21 */
22 list(
23 gatewayId: string,
24 params: LogListParams,
25 options?: Core.RequestOptions,
26 ): Core.PagePromise<LogListResponsesV4PagePaginationArray, LogListResponse> {
27 const { account_id, ...query } = params;
28 return this._client.getAPIList(
29 `/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs`,
30 LogListResponsesV4PagePaginationArray,
31 { query, ...options },
32 );
33 }
34
35 /**
36 * Delete Gateway Logs
37 *
38 * @example
39 * ```ts
40 * const log = await client.aiGateway.logs.delete(
41 * 'my-gateway',
42 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
43 * );
44 * ```
45 */
46 delete(
47 gatewayId: string,
48 params: LogDeleteParams,
49 options?: Core.RequestOptions,
50 ): Core.APIPromise<LogDeleteResponse> {
51 const { account_id, filters, limit, order_by, order_by_direction } = params;
52 return this._client.delete(`/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs`, {
53 query: { filters, limit, order_by, order_by_direction },
54 ...options,
55 });
56 }
57
58 /**
59 * Patch Gateway Log
60 *
61 * @example
62 * ```ts
63 * const response = await client.aiGateway.logs.edit(
64 * 'my-gateway',
65 * 'id',
66 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
67 * );
68 * ```
69 */
70 edit(
71 gatewayId: string,
72 id: string,
73 params: LogEditParams,
74 options?: Core.RequestOptions,
75 ): Core.APIPromise<LogEditResponse> {
76 const { account_id, ...body } = params;
77 return (
78 this._client.patch(`/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs/${id}`, {
79 body,
80 ...options,
81 }) as Core.APIPromise<{ result: LogEditResponse }>
82 )._thenUnwrap((obj) => obj.result);
83 }
84
85 /**
86 * Get Gateway Log Detail
87 *
88 * @example
89 * ```ts
90 * const log = await client.aiGateway.logs.get(
91 * 'my-gateway',
92 * 'id',
93 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
94 * );
95 * ```
96 */
97 get(
98 gatewayId: string,
99 id: string,
100 params: LogGetParams,
101 options?: Core.RequestOptions,
102 ): Core.APIPromise<LogGetResponse> {
103 const { account_id } = params;
104 return (
105 this._client.get(
106 `/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs/${id}`,
107 options,
108 ) as Core.APIPromise<{ result: LogGetResponse }>
109 )._thenUnwrap((obj) => obj.result);
110 }
111
112 /**
113 * Get Gateway Log Request
114 *
115 * @example
116 * ```ts
117 * const response = await client.aiGateway.logs.request(
118 * 'my-gateway',
119 * 'id',
120 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
121 * );
122 * ```
123 */
124 request(
125 gatewayId: string,
126 id: string,
127 params: LogRequestParams,
128 options?: Core.RequestOptions,
129 ): Core.APIPromise<unknown> {
130 const { account_id } = params;
131 return this._client.get(
132 `/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs/${id}/request`,
133 options,
134 );
135 }
136
137 /**
138 * Get Gateway Log Response
139 *
140 * @example
141 * ```ts
142 * const response = await client.aiGateway.logs.response(
143 * 'my-gateway',
144 * 'id',
145 * { account_id: '0d37909e38d3e99c29fa2cd343ac421a' },
146 * );
147 * ```
148 */
149 response(
150 gatewayId: string,
151 id: string,
152 params: LogResponseParams,
153 options?: Core.RequestOptions,
154 ): Core.APIPromise<unknown> {
155 const { account_id } = params;
156 return this._client.get(
157 `/accounts/${account_id}/ai-gateway/gateways/${gatewayId}/logs/${id}/response`,
158 options,
159 );
160 }
161}
162
163export class LogListResponsesV4PagePaginationArray extends V4PagePaginationArray<LogListResponse> {}
164
165export interface LogListResponse {
166 id: string;
167
168 cached: boolean;
169
170 created_at: string;
171
172 duration: number;
173
174 model: string;
175
176 path: string;
177
178 provider: string;
179
180 success: boolean;
181
182 tokens_in: number | null;
183
184 tokens_out: number | null;
185
186 cost?: number;
187
188 custom_cost?: boolean;
189
190 metadata?: string;
191
192 model_type?: string;
193
194 request_content_type?: string;
195
196 request_type?: string;
197
198 response_content_type?: string;
199
200 status_code?: number;
201
202 step?: number;
203}
204
205export interface LogDeleteResponse {
206 success: boolean;
207}
208
209export type LogEditResponse = unknown;
210
211export interface LogGetResponse {
212 id: string;
213
214 cached: boolean;
215
216 created_at: string;
217
218 duration: number;
219
220 model: string;
221
222 path: string;
223
224 provider: string;
225
226 success: boolean;
227
228 tokens_in: number | null;
229
230 tokens_out: number | null;
231
232 cost?: number;
233
234 custom_cost?: boolean;
235
236 metadata?: string;
237
238 model_type?: string;
239
240 request_content_type?: string;
241
242 request_head?: string;
243
244 request_head_complete?: boolean;
245
246 request_size?: number;
247
248 request_type?: string;
249
250 response_content_type?: string;
251
252 response_head?: string;
253
254 response_head_complete?: boolean;
255
256 response_size?: number;
257
258 status_code?: number;
259
260 step?: number;
261}
262
263export type LogRequestResponse = unknown;
264
265export type LogResponseResponse = unknown;
266
267export interface LogListParams extends V4PagePaginationArrayParams {
268 /**
269 * Path param:
270 */
271 account_id: string;
272
273 /**
274 * @deprecated Query param:
275 */
276 cached?: boolean;
277
278 /**
279 * @deprecated Query param:
280 */
281 direction?: 'asc' | 'desc';
282
283 /**
284 * @deprecated Query param:
285 */
286 end_date?: string;
287
288 /**
289 * @deprecated Query param:
290 */
291 feedback?: 0 | 1;
292
293 /**
294 * Query param:
295 */
296 filters?: Array<LogListParams.Filter>;
297
298 /**
299 * @deprecated Query param:
300 */
301 max_cost?: number;
302
303 /**
304 * @deprecated Query param:
305 */
306 max_duration?: number;
307
308 /**
309 * @deprecated Query param:
310 */
311 max_tokens_in?: number;
312
313 /**
314 * @deprecated Query param:
315 */
316 max_tokens_out?: number;
317
318 /**
319 * @deprecated Query param:
320 */
321 max_total_tokens?: number;
322
323 /**
324 * Query param:
325 */
326 meta_info?: boolean;
327
328 /**
329 * @deprecated Query param:
330 */
331 min_cost?: number;
332
333 /**
334 * @deprecated Query param:
335 */
336 min_duration?: number;
337
338 /**
339 * @deprecated Query param:
340 */
341 min_tokens_in?: number;
342
343 /**
344 * @deprecated Query param:
345 */
346 min_tokens_out?: number;
347
348 /**
349 * @deprecated Query param:
350 */
351 min_total_tokens?: number;
352
353 /**
354 * @deprecated Query param:
355 */
356 model?: string;
357
358 /**
359 * @deprecated Query param:
360 */
361 model_type?: string;
362
363 /**
364 * Query param:
365 */
366 order_by?: 'created_at' | 'provider' | 'model' | 'model_type' | 'success' | 'cached';
367
368 /**
369 * Query param:
370 */
371 order_by_direction?: 'asc' | 'desc';
372
373 /**
374 * @deprecated Query param:
375 */
376 provider?: string;
377
378 /**
379 * @deprecated Query param:
380 */
381 request_content_type?: string;
382
383 /**
384 * @deprecated Query param:
385 */
386 response_content_type?: string;
387
388 /**
389 * Query param:
390 */
391 search?: string;
392
393 /**
394 * @deprecated Query param:
395 */
396 start_date?: string;
397
398 /**
399 * @deprecated Query param:
400 */
401 success?: boolean;
402}
403
404export namespace LogListParams {
405 export interface Filter {
406 key:
407 | 'id'
408 | 'created_at'
409 | 'request_content_type'
410 | 'response_content_type'
411 | 'request_type'
412 | 'success'
413 | 'cached'
414 | 'provider'
415 | 'model'
416 | 'model_type'
417 | 'cost'
418 | 'tokens'
419 | 'tokens_in'
420 | 'tokens_out'
421 | 'duration'
422 | 'feedback'
423 | 'event_id'
424 | 'metadata.key'
425 | 'metadata.value'
426 | 'prompts.prompt_id'
427 | 'prompts.version_id'
428 | 'authentication'
429 | 'wholesale'
430 | 'compatibilityMode';
431
432 operator: 'eq' | 'neq' | 'contains' | 'lt' | 'gt';
433
434 value: Array<string | null | number | boolean>;
435 }
436}
437
438export interface LogDeleteParams {
439 /**
440 * Path param:
441 */
442 account_id: string;
443
444 /**
445 * Query param:
446 */
447 filters?: Array<LogDeleteParams.Filter>;
448
449 /**
450 * Query param:
451 */
452 limit?: number;
453
454 /**
455 * Query param:
456 */
457 order_by?:
458 | 'created_at'
459 | 'provider'
460 | 'model'
461 | 'model_type'
462 | 'success'
463 | 'cached'
464 | 'cost'
465 | 'tokens_in'
466 | 'tokens_out'
467 | 'duration'
468 | 'feedback';
469
470 /**
471 * Query param:
472 */
473 order_by_direction?: 'asc' | 'desc';
474}
475
476export namespace LogDeleteParams {
477 export interface Filter {
478 key:
479 | 'id'
480 | 'created_at'
481 | 'request_content_type'
482 | 'response_content_type'
483 | 'request_type'
484 | 'success'
485 | 'cached'
486 | 'provider'
487 | 'model'
488 | 'model_type'
489 | 'cost'
490 | 'tokens'
491 | 'tokens_in'
492 | 'tokens_out'
493 | 'duration'
494 | 'feedback'
495 | 'event_id'
496 | 'metadata.key'
497 | 'metadata.value'
498 | 'prompts.prompt_id'
499 | 'prompts.version_id'
500 | 'authentication'
501 | 'wholesale'
502 | 'compatibilityMode';
503
504 operator: 'eq' | 'neq' | 'contains' | 'lt' | 'gt';
505
506 value: Array<string | null | number | boolean>;
507 }
508}
509
510export interface LogEditParams {
511 /**
512 * Path param:
513 */
514 account_id: string;
515
516 /**
517 * Body param:
518 */
519 feedback?: number | null;
520
521 /**
522 * Body param:
523 */
524 metadata?: { [key: string]: string | number | boolean } | null;
525
526 /**
527 * Body param:
528 */
529 score?: number | null;
530}
531
532export interface LogGetParams {
533 account_id: string;
534}
535
536export interface LogRequestParams {
537 account_id: string;
538}
539
540export interface LogResponseParams {
541 account_id: string;
542}
543
544Logs.LogListResponsesV4PagePaginationArray = LogListResponsesV4PagePaginationArray;
545
546export declare namespace Logs {
547 export {
548 type LogListResponse as LogListResponse,
549 type LogDeleteResponse as LogDeleteResponse,
550 type LogEditResponse as LogEditResponse,
551 type LogGetResponse as LogGetResponse,
552 type LogRequestResponse as LogRequestResponse,
553 type LogResponseResponse as LogResponseResponse,
554 LogListResponsesV4PagePaginationArray as LogListResponsesV4PagePaginationArray,
555 type LogListParams as LogListParams,
556 type LogDeleteParams as LogDeleteParams,
557 type LogEditParams as LogEditParams,
558 type LogGetParams as LogGetParams,
559 type LogRequestParams as LogRequestParams,
560 type LogResponseParams as LogResponseParams,
561 };
562}