@tambo-ai/typescript-sdk 0.31.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 (291) hide show
  1. package/CHANGELOG.md +389 -0
  2. package/LICENSE +201 -0
  3. package/README.md +434 -0
  4. package/_shims/MultipartBody.d.ts +9 -0
  5. package/_shims/MultipartBody.d.ts.map +1 -0
  6. package/_shims/MultipartBody.js +16 -0
  7. package/_shims/MultipartBody.js.map +1 -0
  8. package/_shims/MultipartBody.mjs +12 -0
  9. package/_shims/MultipartBody.mjs.map +1 -0
  10. package/_shims/README.md +46 -0
  11. package/_shims/auto/runtime-bun.d.ts +5 -0
  12. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  13. package/_shims/auto/runtime-bun.js +21 -0
  14. package/_shims/auto/runtime-bun.js.map +1 -0
  15. package/_shims/auto/runtime-bun.mjs +2 -0
  16. package/_shims/auto/runtime-bun.mjs.map +1 -0
  17. package/_shims/auto/runtime-node.d.ts +5 -0
  18. package/_shims/auto/runtime-node.d.ts.map +1 -0
  19. package/_shims/auto/runtime-node.js +21 -0
  20. package/_shims/auto/runtime-node.js.map +1 -0
  21. package/_shims/auto/runtime-node.mjs +2 -0
  22. package/_shims/auto/runtime-node.mjs.map +1 -0
  23. package/_shims/auto/runtime.d.ts +5 -0
  24. package/_shims/auto/runtime.d.ts.map +1 -0
  25. package/_shims/auto/runtime.js +21 -0
  26. package/_shims/auto/runtime.js.map +1 -0
  27. package/_shims/auto/runtime.mjs +2 -0
  28. package/_shims/auto/runtime.mjs.map +1 -0
  29. package/_shims/auto/types-node.d.ts +5 -0
  30. package/_shims/auto/types-node.d.ts.map +1 -0
  31. package/_shims/auto/types-node.js +21 -0
  32. package/_shims/auto/types-node.js.map +1 -0
  33. package/_shims/auto/types-node.mjs +2 -0
  34. package/_shims/auto/types-node.mjs.map +1 -0
  35. package/_shims/auto/types.d.ts +101 -0
  36. package/_shims/auto/types.js +3 -0
  37. package/_shims/auto/types.mjs +3 -0
  38. package/_shims/bun-runtime.d.ts +6 -0
  39. package/_shims/bun-runtime.d.ts.map +1 -0
  40. package/_shims/bun-runtime.js +14 -0
  41. package/_shims/bun-runtime.js.map +1 -0
  42. package/_shims/bun-runtime.mjs +10 -0
  43. package/_shims/bun-runtime.mjs.map +1 -0
  44. package/_shims/index.d.ts +81 -0
  45. package/_shims/index.js +13 -0
  46. package/_shims/index.mjs +7 -0
  47. package/_shims/manual-types.d.ts +12 -0
  48. package/_shims/manual-types.js +3 -0
  49. package/_shims/manual-types.mjs +3 -0
  50. package/_shims/node-runtime.d.ts +3 -0
  51. package/_shims/node-runtime.d.ts.map +1 -0
  52. package/_shims/node-runtime.js +89 -0
  53. package/_shims/node-runtime.js.map +1 -0
  54. package/_shims/node-runtime.mjs +56 -0
  55. package/_shims/node-runtime.mjs.map +1 -0
  56. package/_shims/node-types.d.ts +42 -0
  57. package/_shims/node-types.js +3 -0
  58. package/_shims/node-types.mjs +3 -0
  59. package/_shims/registry.d.ts +37 -0
  60. package/_shims/registry.d.ts.map +1 -0
  61. package/_shims/registry.js +41 -0
  62. package/_shims/registry.js.map +1 -0
  63. package/_shims/registry.mjs +37 -0
  64. package/_shims/registry.mjs.map +1 -0
  65. package/_shims/web-runtime.d.ts +5 -0
  66. package/_shims/web-runtime.d.ts.map +1 -0
  67. package/_shims/web-runtime.js +78 -0
  68. package/_shims/web-runtime.js.map +1 -0
  69. package/_shims/web-runtime.mjs +71 -0
  70. package/_shims/web-runtime.mjs.map +1 -0
  71. package/_shims/web-types.d.ts +83 -0
  72. package/_shims/web-types.js +3 -0
  73. package/_shims/web-types.mjs +3 -0
  74. package/core.d.ts +241 -0
  75. package/core.d.ts.map +1 -0
  76. package/core.js +914 -0
  77. package/core.js.map +1 -0
  78. package/core.mjs +882 -0
  79. package/core.mjs.map +1 -0
  80. package/error.d.ts +47 -0
  81. package/error.d.ts.map +1 -0
  82. package/error.js +113 -0
  83. package/error.js.map +1 -0
  84. package/error.mjs +97 -0
  85. package/error.mjs.map +1 -0
  86. package/index.d.mts +124 -0
  87. package/index.d.ts +124 -0
  88. package/index.d.ts.map +1 -0
  89. package/index.js +140 -0
  90. package/index.js.map +1 -0
  91. package/index.mjs +94 -0
  92. package/index.mjs.map +1 -0
  93. package/lib/advance-stream.d.ts +5 -0
  94. package/lib/advance-stream.d.ts.map +1 -0
  95. package/lib/advance-stream.js +35 -0
  96. package/lib/advance-stream.js.map +1 -0
  97. package/lib/advance-stream.mjs +31 -0
  98. package/lib/advance-stream.mjs.map +1 -0
  99. package/lib/streaming-components.d.ts +7 -0
  100. package/lib/streaming-components.d.ts.map +1 -0
  101. package/lib/streaming-components.js +48 -0
  102. package/lib/streaming-components.js.map +1 -0
  103. package/lib/streaming-components.mjs +43 -0
  104. package/lib/streaming-components.mjs.map +1 -0
  105. package/package.json +122 -0
  106. package/pagination.d.ts +20 -0
  107. package/pagination.d.ts.map +1 -0
  108. package/pagination.js +46 -0
  109. package/pagination.js.map +1 -0
  110. package/pagination.mjs +42 -0
  111. package/pagination.mjs.map +1 -0
  112. package/resource.d.ts +6 -0
  113. package/resource.d.ts.map +1 -0
  114. package/resource.js +11 -0
  115. package/resource.js.map +1 -0
  116. package/resource.mjs +7 -0
  117. package/resource.mjs.map +1 -0
  118. package/resources/beta/beta.d.ts +22 -0
  119. package/resources/beta/beta.d.ts.map +1 -0
  120. package/resources/beta/beta.js +52 -0
  121. package/resources/beta/beta.js.map +1 -0
  122. package/resources/beta/beta.mjs +25 -0
  123. package/resources/beta/beta.mjs.map +1 -0
  124. package/resources/beta/components.d.ts +44 -0
  125. package/resources/beta/components.d.ts.map +1 -0
  126. package/resources/beta/components.js +29 -0
  127. package/resources/beta/components.js.map +1 -0
  128. package/resources/beta/components.mjs +25 -0
  129. package/resources/beta/components.mjs.map +1 -0
  130. package/resources/beta/index.d.ts +6 -0
  131. package/resources/beta/index.d.ts.map +1 -0
  132. package/resources/beta/index.js +16 -0
  133. package/resources/beta/index.js.map +1 -0
  134. package/resources/beta/index.mjs +7 -0
  135. package/resources/beta/index.mjs.map +1 -0
  136. package/resources/beta/projects/api-key.d.ts +24 -0
  137. package/resources/beta/projects/api-key.d.ts.map +1 -0
  138. package/resources/beta/projects/api-key.js +18 -0
  139. package/resources/beta/projects/api-key.js.map +1 -0
  140. package/resources/beta/projects/api-key.mjs +14 -0
  141. package/resources/beta/projects/api-key.mjs.map +1 -0
  142. package/resources/beta/projects/index.d.ts +5 -0
  143. package/resources/beta/projects/index.d.ts.map +1 -0
  144. package/resources/beta/projects/index.js +13 -0
  145. package/resources/beta/projects/index.js.map +1 -0
  146. package/resources/beta/projects/index.mjs +6 -0
  147. package/resources/beta/projects/index.mjs.map +1 -0
  148. package/resources/beta/projects/projects.d.ts +52 -0
  149. package/resources/beta/projects/projects.d.ts.map +1 -0
  150. package/resources/beta/projects/projects.js +62 -0
  151. package/resources/beta/projects/projects.js.map +1 -0
  152. package/resources/beta/projects/projects.mjs +35 -0
  153. package/resources/beta/projects/projects.mjs.map +1 -0
  154. package/resources/beta/projects/provider-key.d.ts +34 -0
  155. package/resources/beta/projects/provider-key.d.ts.map +1 -0
  156. package/resources/beta/projects/provider-key.js +18 -0
  157. package/resources/beta/projects/provider-key.js.map +1 -0
  158. package/resources/beta/projects/provider-key.mjs +14 -0
  159. package/resources/beta/projects/provider-key.mjs.map +1 -0
  160. package/resources/beta/projects/user.d.ts +17 -0
  161. package/resources/beta/projects/user.d.ts.map +1 -0
  162. package/resources/beta/projects/user.js +12 -0
  163. package/resources/beta/projects/user.js.map +1 -0
  164. package/resources/beta/projects/user.mjs +8 -0
  165. package/resources/beta/projects/user.mjs.map +1 -0
  166. package/resources/beta/registry.d.ts +10 -0
  167. package/resources/beta/registry.d.ts.map +1 -0
  168. package/resources/beta/registry.js +12 -0
  169. package/resources/beta/registry.js.map +1 -0
  170. package/resources/beta/registry.mjs +8 -0
  171. package/resources/beta/registry.mjs.map +1 -0
  172. package/resources/beta/threads/index.d.ts +4 -0
  173. package/resources/beta/threads/index.d.ts.map +1 -0
  174. package/resources/beta/threads/index.js +12 -0
  175. package/resources/beta/threads/index.js.map +1 -0
  176. package/resources/beta/threads/index.mjs +5 -0
  177. package/resources/beta/threads/index.mjs.map +1 -0
  178. package/resources/beta/threads/messages.d.ts +42 -0
  179. package/resources/beta/threads/messages.d.ts.map +1 -0
  180. package/resources/beta/threads/messages.js +28 -0
  181. package/resources/beta/threads/messages.js.map +1 -0
  182. package/resources/beta/threads/messages.mjs +24 -0
  183. package/resources/beta/threads/messages.mjs.map +1 -0
  184. package/resources/beta/threads/suggestions.d.ts +55 -0
  185. package/resources/beta/threads/suggestions.d.ts.map +1 -0
  186. package/resources/beta/threads/suggestions.js +21 -0
  187. package/resources/beta/threads/suggestions.js.map +1 -0
  188. package/resources/beta/threads/suggestions.mjs +17 -0
  189. package/resources/beta/threads/suggestions.mjs.map +1 -0
  190. package/resources/beta/threads/threads.d.ts +161 -0
  191. package/resources/beta/threads/threads.d.ts.map +1 -0
  192. package/resources/beta/threads/threads.js +79 -0
  193. package/resources/beta/threads/threads.js.map +1 -0
  194. package/resources/beta/threads/threads.mjs +51 -0
  195. package/resources/beta/threads/threads.mjs.map +1 -0
  196. package/resources/components.d.ts +57 -0
  197. package/resources/components.d.ts.map +1 -0
  198. package/resources/components.js +15 -0
  199. package/resources/components.js.map +1 -0
  200. package/resources/components.mjs +11 -0
  201. package/resources/components.mjs.map +1 -0
  202. package/resources/index.d.ts +4 -0
  203. package/resources/index.d.ts.map +1 -0
  204. package/resources/index.js +24 -0
  205. package/resources/index.js.map +1 -0
  206. package/resources/index.mjs +5 -0
  207. package/resources/index.mjs.map +1 -0
  208. package/resources/shared.d.ts +38 -0
  209. package/resources/shared.d.ts.map +1 -0
  210. package/resources/shared.js +4 -0
  211. package/resources/shared.js.map +1 -0
  212. package/resources/shared.mjs +3 -0
  213. package/resources/shared.mjs.map +1 -0
  214. package/shims/node.d.ts +30 -0
  215. package/shims/node.d.ts.map +1 -0
  216. package/shims/node.js +31 -0
  217. package/shims/node.js.map +1 -0
  218. package/shims/node.mjs +5 -0
  219. package/shims/node.mjs.map +1 -0
  220. package/shims/web.d.ts +26 -0
  221. package/shims/web.d.ts.map +1 -0
  222. package/shims/web.js +31 -0
  223. package/shims/web.js.map +1 -0
  224. package/shims/web.mjs +5 -0
  225. package/shims/web.mjs.map +1 -0
  226. package/src/_shims/MultipartBody.ts +9 -0
  227. package/src/_shims/README.md +46 -0
  228. package/src/_shims/auto/runtime-bun.ts +4 -0
  229. package/src/_shims/auto/runtime-node.ts +4 -0
  230. package/src/_shims/auto/runtime.ts +4 -0
  231. package/src/_shims/auto/types-node.ts +4 -0
  232. package/src/_shims/auto/types.d.ts +101 -0
  233. package/src/_shims/auto/types.js +3 -0
  234. package/src/_shims/auto/types.mjs +3 -0
  235. package/src/_shims/bun-runtime.ts +14 -0
  236. package/src/_shims/index.d.ts +81 -0
  237. package/src/_shims/index.js +13 -0
  238. package/src/_shims/index.mjs +7 -0
  239. package/src/_shims/manual-types.d.ts +12 -0
  240. package/src/_shims/manual-types.js +3 -0
  241. package/src/_shims/manual-types.mjs +3 -0
  242. package/src/_shims/node-runtime.ts +81 -0
  243. package/src/_shims/node-types.d.ts +42 -0
  244. package/src/_shims/node-types.js +3 -0
  245. package/src/_shims/node-types.mjs +3 -0
  246. package/src/_shims/registry.ts +67 -0
  247. package/src/_shims/web-runtime.ts +103 -0
  248. package/src/_shims/web-types.d.ts +83 -0
  249. package/src/_shims/web-types.js +3 -0
  250. package/src/_shims/web-types.mjs +3 -0
  251. package/src/core.ts +1208 -0
  252. package/src/error.ts +130 -0
  253. package/src/index.ts +229 -0
  254. package/src/lib/.keep +4 -0
  255. package/src/lib/advance-stream.ts +47 -0
  256. package/src/lib/streaming-components.ts +71 -0
  257. package/src/pagination.ts +73 -0
  258. package/src/resource.ts +11 -0
  259. package/src/resources/beta/beta.ts +96 -0
  260. package/src/resources/beta/components.ts +97 -0
  261. package/src/resources/beta/index.ts +38 -0
  262. package/src/resources/beta/projects/api-key.ts +48 -0
  263. package/src/resources/beta/projects/index.ts +26 -0
  264. package/src/resources/beta/projects/projects.ts +121 -0
  265. package/src/resources/beta/projects/provider-key.ts +71 -0
  266. package/src/resources/beta/projects/user.ts +26 -0
  267. package/src/resources/beta/registry.ts +16 -0
  268. package/src/resources/beta/threads/index.ts +32 -0
  269. package/src/resources/beta/threads/messages.ts +100 -0
  270. package/src/resources/beta/threads/suggestions.ts +89 -0
  271. package/src/resources/beta/threads/threads.ts +379 -0
  272. package/src/resources/components.ts +105 -0
  273. package/src/resources/index.ts +12 -0
  274. package/src/resources/shared.ts +59 -0
  275. package/src/shims/node.ts +50 -0
  276. package/src/shims/web.ts +50 -0
  277. package/src/tsconfig.json +16 -0
  278. package/src/uploads.ts +255 -0
  279. package/src/version.ts +1 -0
  280. package/uploads.d.ts +75 -0
  281. package/uploads.d.ts.map +1 -0
  282. package/uploads.js +171 -0
  283. package/uploads.js.map +1 -0
  284. package/uploads.mjs +158 -0
  285. package/uploads.mjs.map +1 -0
  286. package/version.d.ts +2 -0
  287. package/version.d.ts.map +1 -0
  288. package/version.js +5 -0
  289. package/version.js.map +1 -0
  290. package/version.mjs +2 -0
  291. package/version.mjs.map +1 -0
@@ -0,0 +1,379 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../resource';
4
+ import { isRequestOptions } from '../../../core';
5
+ import * as Core from '../../../core';
6
+ import * as ThreadsAPI from './threads';
7
+ import * as Shared from '../../shared';
8
+ import * as MessagesAPI from './messages';
9
+ import {
10
+ MessageCreateParams,
11
+ MessageListParams,
12
+ MessageListResponse,
13
+ MessageUpdateComponentStateParams,
14
+ Messages,
15
+ } from './messages';
16
+ import * as SuggestionsAPI from './suggestions';
17
+ import {
18
+ Suggestion,
19
+ SuggestionGenerateParams,
20
+ SuggestionGenerateResponse,
21
+ SuggestionListResponse,
22
+ Suggestions,
23
+ SuggestionsGenerate,
24
+ } from './suggestions';
25
+ import { OffsetAndLimit, type OffsetAndLimitParams } from '../../../pagination';
26
+
27
+ export class Threads extends APIResource {
28
+ messages: MessagesAPI.Messages = new MessagesAPI.Messages(this._client);
29
+ suggestions: SuggestionsAPI.Suggestions = new SuggestionsAPI.Suggestions(this._client);
30
+
31
+ create(body: ThreadCreateParams, options?: Core.RequestOptions): Core.APIPromise<Thread> {
32
+ return this._client.post('/threads', { body, ...options });
33
+ }
34
+
35
+ retrieve(id: string, options?: Core.RequestOptions): Core.APIPromise<ThreadRetrieveResponse> {
36
+ return this._client.get(`/threads/${id}`, options);
37
+ }
38
+
39
+ update(id: string, body: ThreadUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Thread> {
40
+ return this._client.put(`/threads/${id}`, { body, ...options });
41
+ }
42
+
43
+ list(
44
+ projectId: string,
45
+ query?: ThreadListParams,
46
+ options?: Core.RequestOptions,
47
+ ): Core.PagePromise<ThreadsOffsetAndLimit, Thread>;
48
+ list(projectId: string, options?: Core.RequestOptions): Core.PagePromise<ThreadsOffsetAndLimit, Thread>;
49
+ list(
50
+ projectId: string,
51
+ query: ThreadListParams | Core.RequestOptions = {},
52
+ options?: Core.RequestOptions,
53
+ ): Core.PagePromise<ThreadsOffsetAndLimit, Thread> {
54
+ if (isRequestOptions(query)) {
55
+ return this.list(projectId, {}, query);
56
+ }
57
+ return this._client.getAPIList(`/threads/project/${projectId}`, ThreadsOffsetAndLimit, {
58
+ query,
59
+ ...options,
60
+ });
61
+ }
62
+
63
+ delete(id: string, options?: Core.RequestOptions): Core.APIPromise<void> {
64
+ return this._client.delete(`/threads/${id}`, {
65
+ ...options,
66
+ headers: { Accept: '*/*', ...options?.headers },
67
+ });
68
+ }
69
+
70
+ advance(body: ThreadAdvanceParams, options?: Core.RequestOptions): Core.APIPromise<ThreadAdvanceResponse> {
71
+ return this._client.post('/threads/advance', { body, ...options });
72
+ }
73
+
74
+ advanceById(
75
+ id: string,
76
+ body: ThreadAdvanceByIDParams,
77
+ options?: Core.RequestOptions,
78
+ ): Core.APIPromise<ThreadAdvanceByIDResponse> {
79
+ return this._client.post(`/threads/${id}/advance`, { body, ...options });
80
+ }
81
+ }
82
+
83
+ export class ThreadsOffsetAndLimit extends OffsetAndLimit<Thread> {}
84
+
85
+ export interface ChatCompletionContentPart {
86
+ type: 'text' | 'image_url' | 'input_audio';
87
+
88
+ image_url?: ChatCompletionContentPart.ImageURL;
89
+
90
+ input_audio?: ChatCompletionContentPart.InputAudio;
91
+
92
+ text?: string;
93
+ }
94
+
95
+ export namespace ChatCompletionContentPart {
96
+ export interface ImageURL {
97
+ url: string;
98
+
99
+ detail?: 'auto' | 'high' | 'low';
100
+ }
101
+
102
+ export interface InputAudio {
103
+ data: string;
104
+
105
+ format: 'wav' | 'mp3';
106
+ }
107
+ }
108
+
109
+ export interface Thread {
110
+ id: string;
111
+
112
+ createdAt: string;
113
+
114
+ projectId: string;
115
+
116
+ updatedAt: string;
117
+
118
+ contextKey?: string;
119
+
120
+ generationStage?:
121
+ | 'IDLE'
122
+ | 'CHOOSING_COMPONENT'
123
+ | 'FETCHING_CONTEXT'
124
+ | 'HYDRATING_COMPONENT'
125
+ | 'STREAMING_RESPONSE'
126
+ | 'COMPLETE'
127
+ | 'ERROR';
128
+
129
+ metadata?: Record<string, unknown>;
130
+
131
+ statusMessage?: string;
132
+ }
133
+
134
+ export interface ThreadMessage {
135
+ id: string;
136
+
137
+ content: Array<ChatCompletionContentPart>;
138
+
139
+ createdAt: string;
140
+
141
+ role: 'user' | 'assistant' | 'system' | 'tool' | 'hydra';
142
+
143
+ threadId: string;
144
+
145
+ actionType?: 'tool_call' | 'tool_response';
146
+
147
+ component?: ThreadMessage.Component;
148
+
149
+ componentState?: Record<string, unknown>;
150
+
151
+ metadata?: Record<string, unknown>;
152
+
153
+ tool_calls?: Array<unknown>;
154
+
155
+ toolCallRequest?: Shared.ToolCallRequest;
156
+ }
157
+
158
+ export namespace ThreadMessage {
159
+ export interface Component {
160
+ componentName: string | null;
161
+
162
+ message: string;
163
+
164
+ props: Record<string, unknown>;
165
+ }
166
+ }
167
+
168
+ export interface ThreadRetrieveResponse {
169
+ id: string;
170
+
171
+ createdAt: string;
172
+
173
+ messages: Array<ThreadMessage>;
174
+
175
+ projectId: string;
176
+
177
+ updatedAt: string;
178
+
179
+ contextKey?: string;
180
+
181
+ generationStage?:
182
+ | 'IDLE'
183
+ | 'CHOOSING_COMPONENT'
184
+ | 'FETCHING_CONTEXT'
185
+ | 'HYDRATING_COMPONENT'
186
+ | 'STREAMING_RESPONSE'
187
+ | 'COMPLETE'
188
+ | 'ERROR';
189
+
190
+ metadata?: Record<string, unknown>;
191
+
192
+ statusMessage?: string;
193
+ }
194
+
195
+ export interface ThreadAdvanceResponse {
196
+ generationStage:
197
+ | 'IDLE'
198
+ | 'CHOOSING_COMPONENT'
199
+ | 'FETCHING_CONTEXT'
200
+ | 'HYDRATING_COMPONENT'
201
+ | 'STREAMING_RESPONSE'
202
+ | 'COMPLETE'
203
+ | 'ERROR';
204
+
205
+ responseMessageDto: ThreadMessage;
206
+
207
+ statusMessage?: string;
208
+ }
209
+
210
+ export interface ThreadAdvanceByIDResponse {
211
+ generationStage:
212
+ | 'IDLE'
213
+ | 'CHOOSING_COMPONENT'
214
+ | 'FETCHING_CONTEXT'
215
+ | 'HYDRATING_COMPONENT'
216
+ | 'STREAMING_RESPONSE'
217
+ | 'COMPLETE'
218
+ | 'ERROR';
219
+
220
+ responseMessageDto: ThreadMessage;
221
+
222
+ statusMessage?: string;
223
+ }
224
+
225
+ export interface ThreadCreateParams {
226
+ projectId: string;
227
+
228
+ contextKey?: string;
229
+
230
+ generationStage?:
231
+ | 'IDLE'
232
+ | 'CHOOSING_COMPONENT'
233
+ | 'FETCHING_CONTEXT'
234
+ | 'HYDRATING_COMPONENT'
235
+ | 'STREAMING_RESPONSE'
236
+ | 'COMPLETE'
237
+ | 'ERROR';
238
+
239
+ metadata?: Record<string, unknown>;
240
+
241
+ statusMessage?: string;
242
+ }
243
+
244
+ export interface ThreadUpdateParams {
245
+ projectId: string;
246
+
247
+ contextKey?: string;
248
+
249
+ generationStage?:
250
+ | 'IDLE'
251
+ | 'CHOOSING_COMPONENT'
252
+ | 'FETCHING_CONTEXT'
253
+ | 'HYDRATING_COMPONENT'
254
+ | 'STREAMING_RESPONSE'
255
+ | 'COMPLETE'
256
+ | 'ERROR';
257
+
258
+ metadata?: Record<string, unknown>;
259
+
260
+ statusMessage?: string;
261
+ }
262
+
263
+ export interface ThreadListParams extends OffsetAndLimitParams {
264
+ contextKey?: string;
265
+ }
266
+
267
+ export interface ThreadAdvanceParams {
268
+ availableComponents?: Array<Shared.AvailableComponent>;
269
+
270
+ contextKey?: string;
271
+
272
+ messageToAppend?: ThreadAdvanceParams.MessageToAppend;
273
+ }
274
+
275
+ export namespace ThreadAdvanceParams {
276
+ export interface MessageToAppend {
277
+ content: Array<ThreadsAPI.ChatCompletionContentPart>;
278
+
279
+ role: 'user' | 'assistant' | 'system' | 'tool' | 'hydra';
280
+
281
+ actionType?: 'tool_call' | 'tool_response';
282
+
283
+ component?: MessageToAppend.Component;
284
+
285
+ metadata?: Record<string, unknown>;
286
+
287
+ tool_calls?: Array<unknown>;
288
+
289
+ toolCallRequest?: Shared.ToolCallRequest;
290
+
291
+ toolResponse?: unknown;
292
+ }
293
+
294
+ export namespace MessageToAppend {
295
+ export interface Component {
296
+ componentName: string | null;
297
+
298
+ message: string;
299
+
300
+ props: Record<string, unknown>;
301
+ }
302
+ }
303
+ }
304
+
305
+ export interface ThreadAdvanceByIDParams {
306
+ availableComponents?: Array<Shared.AvailableComponent>;
307
+
308
+ contextKey?: string;
309
+
310
+ messageToAppend?: ThreadAdvanceByIDParams.MessageToAppend;
311
+ }
312
+
313
+ export namespace ThreadAdvanceByIDParams {
314
+ export interface MessageToAppend {
315
+ content: Array<ThreadsAPI.ChatCompletionContentPart>;
316
+
317
+ role: 'user' | 'assistant' | 'system' | 'tool' | 'hydra';
318
+
319
+ actionType?: 'tool_call' | 'tool_response';
320
+
321
+ component?: MessageToAppend.Component;
322
+
323
+ metadata?: Record<string, unknown>;
324
+
325
+ tool_calls?: Array<unknown>;
326
+
327
+ toolCallRequest?: Shared.ToolCallRequest;
328
+
329
+ toolResponse?: unknown;
330
+ }
331
+
332
+ export namespace MessageToAppend {
333
+ export interface Component {
334
+ componentName: string | null;
335
+
336
+ message: string;
337
+
338
+ props: Record<string, unknown>;
339
+ }
340
+ }
341
+ }
342
+
343
+ Threads.ThreadsOffsetAndLimit = ThreadsOffsetAndLimit;
344
+ Threads.Messages = Messages;
345
+ Threads.Suggestions = Suggestions;
346
+
347
+ export declare namespace Threads {
348
+ export {
349
+ type ChatCompletionContentPart as ChatCompletionContentPart,
350
+ type Thread as Thread,
351
+ type ThreadMessage as ThreadMessage,
352
+ type ThreadRetrieveResponse as ThreadRetrieveResponse,
353
+ type ThreadAdvanceResponse as ThreadAdvanceResponse,
354
+ type ThreadAdvanceByIDResponse as ThreadAdvanceByIDResponse,
355
+ ThreadsOffsetAndLimit as ThreadsOffsetAndLimit,
356
+ type ThreadCreateParams as ThreadCreateParams,
357
+ type ThreadUpdateParams as ThreadUpdateParams,
358
+ type ThreadListParams as ThreadListParams,
359
+ type ThreadAdvanceParams as ThreadAdvanceParams,
360
+ type ThreadAdvanceByIDParams as ThreadAdvanceByIDParams,
361
+ };
362
+
363
+ export {
364
+ Messages as Messages,
365
+ type MessageListResponse as MessageListResponse,
366
+ type MessageCreateParams as MessageCreateParams,
367
+ type MessageListParams as MessageListParams,
368
+ type MessageUpdateComponentStateParams as MessageUpdateComponentStateParams,
369
+ };
370
+
371
+ export {
372
+ Suggestions as Suggestions,
373
+ type Suggestion as Suggestion,
374
+ type SuggestionsGenerate as SuggestionsGenerate,
375
+ type SuggestionListResponse as SuggestionListResponse,
376
+ type SuggestionGenerateResponse as SuggestionGenerateResponse,
377
+ type SuggestionGenerateParams as SuggestionGenerateParams,
378
+ };
379
+ }
@@ -0,0 +1,105 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../resource';
4
+ import * as Core from '../core';
5
+ import * as Shared from './shared';
6
+
7
+ export class Components extends APIResource {
8
+ generate(
9
+ body: ComponentGenerateParams,
10
+ options?: Core.RequestOptions,
11
+ ): Core.APIPromise<ComponentGenerateResponse> {
12
+ return this._client.post('/components/generate', { body, ...options });
13
+ }
14
+
15
+ hydrate(
16
+ body: ComponentHydrateParams,
17
+ options?: Core.RequestOptions,
18
+ ): Core.APIPromise<ComponentHydrateResponse> {
19
+ return this._client.post('/components/hydrate', { body, ...options });
20
+ }
21
+ }
22
+
23
+ export interface LegacyChatMessage {
24
+ message: string;
25
+
26
+ sender: 'hydra' | 'user' | 'tool';
27
+
28
+ additionalContext?: string;
29
+ }
30
+
31
+ export interface ComponentGenerateResponse {
32
+ componentName: string | null;
33
+
34
+ message: string;
35
+
36
+ props: Record<string, unknown>;
37
+
38
+ threadId: string;
39
+
40
+ suggestedActions?: Array<ComponentGenerateResponse.SuggestedAction>;
41
+
42
+ toolCallRequest?: Shared.ToolCallRequest;
43
+ }
44
+
45
+ export namespace ComponentGenerateResponse {
46
+ export interface SuggestedAction {
47
+ actionText: string;
48
+
49
+ label: string;
50
+ }
51
+ }
52
+
53
+ export interface ComponentHydrateResponse {
54
+ componentName: string | null;
55
+
56
+ message: string;
57
+
58
+ props: Record<string, unknown>;
59
+
60
+ threadId: string;
61
+
62
+ suggestedActions?: Array<ComponentHydrateResponse.SuggestedAction>;
63
+
64
+ toolCallRequest?: Shared.ToolCallRequest;
65
+ }
66
+
67
+ export namespace ComponentHydrateResponse {
68
+ export interface SuggestedAction {
69
+ actionText: string;
70
+
71
+ label: string;
72
+ }
73
+ }
74
+
75
+ export interface ComponentGenerateParams {
76
+ availableComponents: Record<string, Shared.AvailableComponent>;
77
+
78
+ messageHistory: Array<LegacyChatMessage>;
79
+
80
+ contextKey?: string;
81
+
82
+ threadId?: string;
83
+ }
84
+
85
+ export interface ComponentHydrateParams {
86
+ component: Shared.AvailableComponent;
87
+
88
+ messageHistory: Array<LegacyChatMessage>;
89
+
90
+ contextKey?: string;
91
+
92
+ threadId?: string;
93
+
94
+ toolResponse?: unknown;
95
+ }
96
+
97
+ export declare namespace Components {
98
+ export {
99
+ type LegacyChatMessage as LegacyChatMessage,
100
+ type ComponentGenerateResponse as ComponentGenerateResponse,
101
+ type ComponentHydrateResponse as ComponentHydrateResponse,
102
+ type ComponentGenerateParams as ComponentGenerateParams,
103
+ type ComponentHydrateParams as ComponentHydrateParams,
104
+ };
105
+ }
@@ -0,0 +1,12 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './shared';
4
+ export { Beta } from './beta/beta';
5
+ export {
6
+ Components,
7
+ type LegacyChatMessage,
8
+ type ComponentGenerateResponse,
9
+ type ComponentHydrateResponse,
10
+ type ComponentGenerateParams,
11
+ type ComponentHydrateParams,
12
+ } from './components';
@@ -0,0 +1,59 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export interface AvailableComponent {
4
+ contextTools: Array<ComponentContextToolMetadata>;
5
+
6
+ description: string;
7
+
8
+ name: string;
9
+
10
+ props: Record<string, unknown>;
11
+ }
12
+
13
+ export interface ComponentContextToolMetadata {
14
+ description: string;
15
+
16
+ name: string;
17
+
18
+ parameters: Array<ToolParameters>;
19
+ }
20
+
21
+ export interface ToolCallRequest {
22
+ parameters: Array<ToolCallRequest.Parameter>;
23
+
24
+ toolName: string;
25
+
26
+ tool?: string;
27
+
28
+ toolCallId?: string;
29
+ }
30
+
31
+ export namespace ToolCallRequest {
32
+ export interface Parameter {
33
+ parameterName: string;
34
+
35
+ parameterValue: unknown;
36
+ }
37
+ }
38
+
39
+ export interface ToolParameters {
40
+ description: string;
41
+
42
+ isRequired: boolean;
43
+
44
+ name: string;
45
+
46
+ type: string;
47
+
48
+ enumValues?: Array<string>;
49
+
50
+ items?: ToolParameters.Items;
51
+
52
+ schema?: unknown;
53
+ }
54
+
55
+ export namespace ToolParameters {
56
+ export interface Items {
57
+ type: string;
58
+ }
59
+ }
@@ -0,0 +1,50 @@
1
+ // @ts-ignore
2
+ import * as types from '../_shims/node-types';
3
+ import { setShims } from '../_shims/registry';
4
+ import { getRuntime } from '../_shims/node-runtime';
5
+ setShims(getRuntime());
6
+
7
+ declare module '../_shims/manual-types' {
8
+ export namespace manual {
9
+ // @ts-ignore
10
+ export type Agent = types.Agent;
11
+ // @ts-ignore
12
+ export import fetch = types.fetch;
13
+ // @ts-ignore
14
+ export type Request = types.Request;
15
+ // @ts-ignore
16
+ export type RequestInfo = types.RequestInfo;
17
+ // @ts-ignore
18
+ export type RequestInit = types.RequestInit;
19
+ // @ts-ignore
20
+ export type Response = types.Response;
21
+ // @ts-ignore
22
+ export type ResponseInit = types.ResponseInit;
23
+ // @ts-ignore
24
+ export type ResponseType = types.ResponseType;
25
+ // @ts-ignore
26
+ export type BodyInit = types.BodyInit;
27
+ // @ts-ignore
28
+ export type Headers = types.Headers;
29
+ // @ts-ignore
30
+ export type HeadersInit = types.HeadersInit;
31
+ // @ts-ignore
32
+ export type BlobPropertyBag = types.BlobPropertyBag;
33
+ // @ts-ignore
34
+ export type FilePropertyBag = types.FilePropertyBag;
35
+ // @ts-ignore
36
+ export type FileFromPathOptions = types.FileFromPathOptions;
37
+ // @ts-ignore
38
+ export import FormData = types.FormData;
39
+ // @ts-ignore
40
+ export import File = types.File;
41
+ // @ts-ignore
42
+ export import Blob = types.Blob;
43
+ // @ts-ignore
44
+ export type Readable = types.Readable;
45
+ // @ts-ignore
46
+ export type FsReadStream = types.FsReadStream;
47
+ // @ts-ignore
48
+ export import ReadableStream = types.ReadableStream;
49
+ }
50
+ }
@@ -0,0 +1,50 @@
1
+ // @ts-ignore
2
+ import * as types from '../_shims/web-types';
3
+ import { setShims } from '../_shims/registry';
4
+ import { getRuntime } from '../_shims/web-runtime';
5
+ setShims(getRuntime({ manuallyImported: true }));
6
+
7
+ declare module '../_shims/manual-types' {
8
+ export namespace manual {
9
+ // @ts-ignore
10
+ export type Agent = types.Agent;
11
+ // @ts-ignore
12
+ export import fetch = types.fetch;
13
+ // @ts-ignore
14
+ export type Request = types.Request;
15
+ // @ts-ignore
16
+ export type RequestInfo = types.RequestInfo;
17
+ // @ts-ignore
18
+ export type RequestInit = types.RequestInit;
19
+ // @ts-ignore
20
+ export type Response = types.Response;
21
+ // @ts-ignore
22
+ export type ResponseInit = types.ResponseInit;
23
+ // @ts-ignore
24
+ export type ResponseType = types.ResponseType;
25
+ // @ts-ignore
26
+ export type BodyInit = types.BodyInit;
27
+ // @ts-ignore
28
+ export type Headers = types.Headers;
29
+ // @ts-ignore
30
+ export type HeadersInit = types.HeadersInit;
31
+ // @ts-ignore
32
+ export type BlobPropertyBag = types.BlobPropertyBag;
33
+ // @ts-ignore
34
+ export type FilePropertyBag = types.FilePropertyBag;
35
+ // @ts-ignore
36
+ export type FileFromPathOptions = types.FileFromPathOptions;
37
+ // @ts-ignore
38
+ export import FormData = types.FormData;
39
+ // @ts-ignore
40
+ export import File = types.File;
41
+ // @ts-ignore
42
+ export import Blob = types.Blob;
43
+ // @ts-ignore
44
+ export type Readable = types.Readable;
45
+ // @ts-ignore
46
+ export type FsReadStream = types.FsReadStream;
47
+ // @ts-ignore
48
+ export import ReadableStream = types.ReadableStream;
49
+ }
50
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ // this config is included in the published src directory to prevent TS errors
3
+ // from appearing when users go to source, and VSCode opens the source .ts file
4
+ // via declaration maps
5
+ "include": [
6
+ "index.ts"
7
+ ],
8
+ "compilerOptions": {
9
+ "target": "es2020",
10
+ "lib": [
11
+ "DOM",
12
+ "ES2020"
13
+ ],
14
+ "moduleResolution": "node"
15
+ }
16
+ }