Repository navigation
Expand file tree
/
Copy pathturns.ts
More file actions
121 lines (108 loc) · 3.72 KB
/
Copy pathturns.ts
File metadata and controls
121 lines (108 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
import { APIResource } from '../../../../../../core/resource';
import * as TurnsAPI from '../../turns/turns';
import { TurnsPage } from '../../turns/turns';
import * as ItemsAPI from './items';
import { ItemListParams, Items } from './items';
import { APIPromise } from '../../../../../../core/api-promise';
import { CursorPage, type CursorPageParams, PagePromise } from '../../../../../../core/pagination';
import { buildHeaders } from '../../../../../../internal/headers';
import { RequestOptions } from '../../../../../../internal/request-options';
import { path } from '../../../../../../internal/utils/path';
function resolveResourceRequestOptions(
options: RequestOptions | undefined,
buildOptions: (options: RequestOptions | undefined) => RequestOptions | Promise<RequestOptions>,
): Promise<RequestOptions> {
return Promise.resolve(options).then(buildOptions);
}
export class Turns extends APIResource {
items: ItemsAPI.Items = new ItemsAPI.Items(this._client);
/**
* Retrieves a turn belonging to this subagent. See
* [subagent workflows](https://developers.openai.com/api/docs/guides/agents-api/multi-agent).
*
* @example
* ```ts
* const turn =
* await client.beta.agents.sessions.subagents.turns.retrieve(
* 'turn_id',
* {
* session_id: 'session_id',
* subagent_id: 'subagent_id',
* },
* );
* ```
*/
retrieve(turnID: string, params: TurnRetrieveParams, options?: RequestOptions): APIPromise<TurnsAPI.Turn> {
const { session_id, subagent_id } = params;
return this._client.get(
path`/agents/sessions/${session_id}/subagents/${subagent_id}/turns/${turnID}`,
resolveResourceRequestOptions(options, (options) => ({
...options,
headers: buildHeaders([{ 'OpenAI-Beta': 'agents=v1' }, options?.headers]),
__security: { bearerAuth: true },
})),
);
}
/**
* Lists all turns of this subagent, including turns after a resume. See
* [subagent workflows](https://developers.openai.com/api/docs/guides/agents-api/multi-agent).
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const turn of client.beta.agents.sessions.subagents.turns.list(
* 'subagent_id',
* { session_id: 'session_id' },
* )) {
* // ...
* }
* ```
*/
list(
subagentID: string,
params: TurnListParams,
options?: RequestOptions,
): PagePromise<TurnsPage, TurnsAPI.Turn> {
const { session_id, ...query } = params;
return this._client.getAPIList(
path`/agents/sessions/${session_id}/subagents/${subagentID}/turns`,
CursorPage<TurnsAPI.Turn>,
resolveResourceRequestOptions(options, (options) => ({
query,
...options,
headers: buildHeaders([{ 'OpenAI-Beta': 'agents=v1' }, options?.headers]),
__security: { bearerAuth: true },
})),
);
}
}
export interface TurnRetrieveParams {
/**
* The ID of the session.
*/
session_id: string;
/**
* The ID of the subagent in this session.
*/
subagent_id: string;
}
export interface TurnListParams extends CursorPageParams {
/**
* Path param: The ID of the session.
*/
session_id: string;
/**
* Query param: The order in which resources are returned. Defaults to `desc`.
*
* - `asc` - Returns resources in ascending order.
* - `desc` - Returns resources in descending order.
*/
order?: 'asc' | 'desc';
}
Turns.Items = Items;
export declare namespace Turns {
export { type TurnRetrieveParams as TurnRetrieveParams, type TurnListParams as TurnListParams };
export { Items as Items, type ItemListParams as ItemListParams };
}
export { type TurnsPage };