@keboola/api-client 1.0.0 → 2.0.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 (221) hide show
  1. package/dist/ai/index.cjs +5 -201
  2. package/dist/ai/index.cjs.map +1 -1
  3. package/dist/ai/index.js +2 -201
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/assets/index.cjs +5 -180
  6. package/dist/assets/index.cjs.map +1 -1
  7. package/dist/assets/index.js +2 -180
  8. package/dist/assets/index.js.map +1 -1
  9. package/dist/chat/index.cjs +6 -422
  10. package/dist/chat/index.cjs.map +1 -1
  11. package/dist/chat/index.d.cts +1 -1
  12. package/dist/chat/index.d.ts +1 -1
  13. package/dist/chat/index.js +3 -422
  14. package/dist/chat/index.js.map +1 -1
  15. package/dist/chat/suggestions.cjs +70 -152
  16. package/dist/chat/suggestions.cjs.map +1 -1
  17. package/dist/chat/suggestions.js +1 -138
  18. package/dist/chat/suggestions.js.map +1 -1
  19. package/dist/chat/types.d.cts +1 -1
  20. package/dist/chat/types.d.ts +1 -1
  21. package/dist/chunk-345V46LR.cjs +934 -0
  22. package/dist/chunk-345V46LR.cjs.map +1 -0
  23. package/dist/chunk-3B7L6MCG.js +189 -0
  24. package/dist/chunk-3B7L6MCG.js.map +1 -0
  25. package/dist/chunk-3T54WH4X.cjs +42 -0
  26. package/dist/chunk-3T54WH4X.cjs.map +1 -0
  27. package/dist/chunk-3Y6NK7TC.js +34 -0
  28. package/dist/chunk-3Y6NK7TC.js.map +1 -0
  29. package/dist/chunk-4N7XBMWP.js +930 -0
  30. package/dist/chunk-4N7XBMWP.js.map +1 -0
  31. package/dist/chunk-4RC5E3SL.js +140 -0
  32. package/dist/chunk-4RC5E3SL.js.map +1 -0
  33. package/dist/chunk-633QJMHH.cjs +73 -0
  34. package/dist/chunk-633QJMHH.cjs.map +1 -0
  35. package/dist/chunk-6RQDX6JY.cjs +132 -0
  36. package/dist/chunk-6RQDX6JY.cjs.map +1 -0
  37. package/dist/chunk-76AHKXLC.cjs +29 -0
  38. package/dist/chunk-76AHKXLC.cjs.map +1 -0
  39. package/dist/chunk-7FY6COWG.js +71 -0
  40. package/dist/chunk-7FY6COWG.js.map +1 -0
  41. package/dist/chunk-7J2R6XHB.js +3 -0
  42. package/dist/chunk-7J2R6XHB.js.map +1 -0
  43. package/dist/chunk-BGLICNTG.cjs +33 -0
  44. package/dist/chunk-BGLICNTG.cjs.map +1 -0
  45. package/dist/chunk-BR3SBEFE.cjs +182 -0
  46. package/dist/chunk-BR3SBEFE.cjs.map +1 -0
  47. package/dist/chunk-CVV4HROS.cjs +37 -0
  48. package/dist/chunk-CVV4HROS.cjs.map +1 -0
  49. package/dist/chunk-DCTDH77P.cjs +277 -0
  50. package/dist/chunk-DCTDH77P.cjs.map +1 -0
  51. package/dist/chunk-EBCZUGUX.js +35 -0
  52. package/dist/chunk-EBCZUGUX.js.map +1 -0
  53. package/dist/chunk-EY5LALX2.cjs +26 -0
  54. package/dist/chunk-EY5LALX2.cjs.map +1 -0
  55. package/dist/chunk-FBQHHAL5.js +40 -0
  56. package/dist/chunk-FBQHHAL5.js.map +1 -0
  57. package/dist/chunk-GF4XZK5N.cjs +43 -0
  58. package/dist/chunk-GF4XZK5N.cjs.map +1 -0
  59. package/dist/chunk-GNPQB3MT.js +27 -0
  60. package/dist/chunk-GNPQB3MT.js.map +1 -0
  61. package/dist/chunk-GO6SOMGL.js +181 -0
  62. package/dist/chunk-GO6SOMGL.js.map +1 -0
  63. package/dist/chunk-HCNNMUTR.cjs +36 -0
  64. package/dist/chunk-HCNNMUTR.cjs.map +1 -0
  65. package/dist/chunk-HPVTVQBJ.cjs +238 -0
  66. package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
  67. package/dist/chunk-HYUGRMCY.cjs +247 -0
  68. package/dist/chunk-HYUGRMCY.cjs.map +1 -0
  69. package/dist/chunk-IJMQCOBC.js +34 -0
  70. package/dist/chunk-IJMQCOBC.js.map +1 -0
  71. package/dist/chunk-IY3VNVXD.cjs +183 -0
  72. package/dist/chunk-IY3VNVXD.cjs.map +1 -0
  73. package/dist/chunk-JKFIB6SQ.cjs +685 -0
  74. package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
  75. package/dist/chunk-JLNOESHX.cjs +47 -0
  76. package/dist/chunk-JLNOESHX.cjs.map +1 -0
  77. package/dist/chunk-JURD5MC3.js +178 -0
  78. package/dist/chunk-JURD5MC3.js.map +1 -0
  79. package/dist/chunk-LV3ZWNDC.js +75 -0
  80. package/dist/chunk-LV3ZWNDC.js.map +1 -0
  81. package/dist/chunk-LZ6A6J2E.cjs +77 -0
  82. package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
  83. package/dist/chunk-OKVYLO6C.js +108 -0
  84. package/dist/chunk-OKVYLO6C.js.map +1 -0
  85. package/dist/chunk-PD3LJYS2.js +218 -0
  86. package/dist/chunk-PD3LJYS2.js.map +1 -0
  87. package/dist/chunk-PV4HIVW2.js +130 -0
  88. package/dist/chunk-PV4HIVW2.js.map +1 -0
  89. package/dist/chunk-R7PD3BRA.js +261 -0
  90. package/dist/chunk-R7PD3BRA.js.map +1 -0
  91. package/dist/chunk-SAEG42HW.js +64 -0
  92. package/dist/chunk-SAEG42HW.js.map +1 -0
  93. package/dist/chunk-TIIRBQUA.cjs +110 -0
  94. package/dist/chunk-TIIRBQUA.cjs.map +1 -0
  95. package/dist/chunk-TXFQ4YIK.js +31 -0
  96. package/dist/chunk-TXFQ4YIK.js.map +1 -0
  97. package/dist/chunk-U5SE6W5M.cjs +158 -0
  98. package/dist/chunk-U5SE6W5M.cjs.map +1 -0
  99. package/dist/chunk-UABYNGBZ.js +39 -0
  100. package/dist/chunk-UABYNGBZ.js.map +1 -0
  101. package/dist/chunk-UXF53ZOV.js +220 -0
  102. package/dist/chunk-UXF53ZOV.js.map +1 -0
  103. package/dist/chunk-VAOCYA6B.js +20 -0
  104. package/dist/chunk-VAOCYA6B.js.map +1 -0
  105. package/dist/chunk-VS5PM7KL.js +45 -0
  106. package/dist/chunk-VS5PM7KL.js.map +1 -0
  107. package/dist/chunk-WQ7EZWBF.js +24 -0
  108. package/dist/chunk-WQ7EZWBF.js.map +1 -0
  109. package/dist/chunk-XPDEQND7.cjs +4 -0
  110. package/dist/chunk-XPDEQND7.cjs.map +1 -0
  111. package/dist/chunk-XUDMML5C.cjs +211 -0
  112. package/dist/chunk-XUDMML5C.cjs.map +1 -0
  113. package/dist/chunk-YPCD7M2N.cjs +22 -0
  114. package/dist/chunk-YPCD7M2N.cjs.map +1 -0
  115. package/dist/chunk-YUEYMIMI.cjs +67 -0
  116. package/dist/chunk-YUEYMIMI.cjs.map +1 -0
  117. package/dist/chunk-YXCVNX2Q.cjs +36 -0
  118. package/dist/chunk-YXCVNX2Q.cjs.map +1 -0
  119. package/dist/chunk-ZEMKE6DI.js +681 -0
  120. package/dist/chunk-ZEMKE6DI.js.map +1 -0
  121. package/dist/dataScience/index.cjs +8 -412
  122. package/dist/dataScience/index.cjs.map +1 -1
  123. package/dist/dataScience/index.js +2 -391
  124. package/dist/dataScience/index.js.map +1 -1
  125. package/dist/domain/permissions/index.cjs +131 -2
  126. package/dist/domain/permissions/index.cjs.map +1 -1
  127. package/dist/domain/permissions/index.d.cts +108 -2
  128. package/dist/domain/permissions/index.d.ts +108 -2
  129. package/dist/domain/permissions/index.js +106 -3
  130. package/dist/domain/permissions/index.js.map +1 -1
  131. package/dist/editor/index.cjs +5 -264
  132. package/dist/editor/index.cjs.map +1 -1
  133. package/dist/editor/index.js +2 -264
  134. package/dist/editor/index.js.map +1 -1
  135. package/dist/encryption/index.cjs +5 -190
  136. package/dist/encryption/index.cjs.map +1 -1
  137. package/dist/encryption/index.js +2 -190
  138. package/dist/encryption/index.js.map +1 -1
  139. package/dist/import/index.cjs +5 -196
  140. package/dist/import/index.cjs.map +1 -1
  141. package/dist/import/index.js +2 -196
  142. package/dist/import/index.js.map +1 -1
  143. package/dist/index.cjs +314 -3569
  144. package/dist/index.cjs.map +1 -1
  145. package/dist/index.d.cts +2004 -105
  146. package/dist/index.d.ts +2004 -105
  147. package/dist/index.js +176 -3464
  148. package/dist/index.js.map +1 -1
  149. package/dist/management/index.cjs +10 -881
  150. package/dist/management/index.cjs.map +1 -1
  151. package/dist/management/index.js +3 -880
  152. package/dist/management/index.js.map +1 -1
  153. package/dist/metastore/index.cjs +5 -337
  154. package/dist/metastore/index.cjs.map +1 -1
  155. package/dist/metastore/index.js +2 -337
  156. package/dist/metastore/index.js.map +1 -1
  157. package/dist/oauth/index.cjs +5 -226
  158. package/dist/oauth/index.cjs.map +1 -1
  159. package/dist/oauth/index.js +2 -226
  160. package/dist/oauth/index.js.map +1 -1
  161. package/dist/project-Bzslbq4u.d.ts +16 -0
  162. package/dist/project-CYhB6rYN.d.cts +16 -0
  163. package/dist/queryService/index.cjs +5 -248
  164. package/dist/queryService/index.cjs.map +1 -1
  165. package/dist/queryService/index.js +2 -248
  166. package/dist/queryService/index.js.map +1 -1
  167. package/dist/queue/index.cjs +5 -190
  168. package/dist/queue/index.cjs.map +1 -1
  169. package/dist/queue/index.js +2 -190
  170. package/dist/queue/index.js.map +1 -1
  171. package/dist/sdk/configurations/index.d.cts +2 -12
  172. package/dist/sdk/configurations/index.d.ts +2 -12
  173. package/dist/sdk/storage/index.cjs +49 -248
  174. package/dist/sdk/storage/index.cjs.map +1 -1
  175. package/dist/sdk/storage/index.d.cts +2 -2
  176. package/dist/sdk/storage/index.d.ts +2 -2
  177. package/dist/sdk/storage/index.js +1 -240
  178. package/dist/sdk/storage/index.js.map +1 -1
  179. package/dist/sdk/tag/index.cjs +6 -203
  180. package/dist/sdk/tag/index.cjs.map +1 -1
  181. package/dist/sdk/tag/index.js +2 -206
  182. package/dist/sdk/tag/index.js.map +1 -1
  183. package/dist/status/index.cjs +6 -176
  184. package/dist/status/index.cjs.map +1 -1
  185. package/dist/status/index.js +3 -176
  186. package/dist/status/index.js.map +1 -1
  187. package/dist/status/types.cjs +2 -0
  188. package/dist/status/types.js +1 -1
  189. package/dist/storage/index.cjs +9 -1023
  190. package/dist/storage/index.cjs.map +1 -1
  191. package/dist/storage/index.d.cts +1 -1
  192. package/dist/storage/index.d.ts +1 -1
  193. package/dist/storage/index.js +3 -1023
  194. package/dist/storage/index.js.map +1 -1
  195. package/dist/storage/types.d.cts +68 -5
  196. package/dist/storage/types.d.ts +68 -5
  197. package/dist/{storageClient-C8LDO4gr.d.ts → storageClient-BicsbzZy.d.ts} +7 -1
  198. package/dist/{storageClient-D05fdGHW.d.cts → storageClient-CmK1LPHr.d.cts} +7 -1
  199. package/dist/storageSdk-BZ7ZW6_h.d.cts +143 -0
  200. package/dist/storageSdk-DCcD68FQ.d.ts +143 -0
  201. package/dist/syncActions/index.cjs +5 -364
  202. package/dist/syncActions/index.cjs.map +1 -1
  203. package/dist/syncActions/index.js +2 -345
  204. package/dist/syncActions/index.js.map +1 -1
  205. package/dist/telemetry/index.cjs +5 -187
  206. package/dist/telemetry/index.cjs.map +1 -1
  207. package/dist/telemetry/index.js +2 -187
  208. package/dist/telemetry/index.js.map +1 -1
  209. package/dist/{types-DJ6nbNq5.d.cts → types-CNkgmuhe.d.cts} +1 -1
  210. package/dist/{types-BjrNNn5I.d.ts → types-DzwzVgyG.d.ts} +1 -1
  211. package/dist/vault/index.cjs +5 -219
  212. package/dist/vault/index.cjs.map +1 -1
  213. package/dist/vault/index.js +2 -219
  214. package/dist/vault/index.js.map +1 -1
  215. package/dist/verify/index.cjs +5 -184
  216. package/dist/verify/index.cjs.map +1 -1
  217. package/dist/verify/index.js +2 -184
  218. package/dist/verify/index.js.map +1 -1
  219. package/package.json +1 -1
  220. package/dist/storageSdk-CX03lGn-.d.ts +0 -18
  221. package/dist/storageSdk-DZV4nB3o.d.cts +0 -18
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import { c as OpenapiQueryType, d as OpenapiPathType, b as OpenapiBodyType, a as
9
9
  import { U as UploadFileParams, a as UploadedFile } from './types-Dg1tEsVR.js';
10
10
  import { D as DescribeConfigurationVersionBody, a as DescribeConfigurationMergeBody, E as ExplainErrorBody, b as DescribeConfigurationBody, S as SuggestComponentBody, c as components$4, F as FeedbackBody } from './types-B51cQMrX.js';
11
11
  import { SuggestionsRequestBody, SuggestionsApiResponse } from './chat/suggestions.js';
12
- import { G as GetHistoryQuery$1, c as components$3, a as GetChatPath$1, C as ChatRequest$1, b as GetVotesQuery$1, V as VoteRequest$1, U as UsageResponse$1, A as AgentSettings, d as UpdateAgentSettingsRequest, e as UserAgentSettings, f as UpdateUserAgentSettingsRequest, T as ToolsListResponse } from './types-BjrNNn5I.js';
12
+ import { G as GetHistoryQuery$1, c as components$3, a as GetChatPath$1, C as ChatRequest$1, b as GetVotesQuery$1, V as VoteRequest$1, U as UsageResponse$1, A as AgentSettings, d as UpdateAgentSettingsRequest, e as UserAgentSettings, f as UpdateUserAgentSettingsRequest, T as ToolsListResponse } from './types-DzwzVgyG.js';
13
13
  import { G as GetQueueJobPath, c as components$2, S as SearchJobsQuery } from './types-cH0_hkCW.js';
14
14
  import { P as PostQueryPath, a as PostQueryBody, b as PostCancelQueryJobPath, G as GetQueryJobPath, c as components$1, d as GetQueryResultsPath, e as GetQueryResutsQuery, f as GetQueriesPath, g as GetQueriesHistoryQuery, h as GetExportResultsQuery, E as ExportResultsResponse } from './types-CGMJT3JL.js';
15
15
  import { CreateCredentialsBody, WorkspaceData } from './telemetry/types.js';
@@ -19,10 +19,10 @@ import { EncryptQuery } from './encryption/types.js';
19
19
  import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath } from './utils-BNQZiNOu.js';
20
20
  export { p as parseLogLines } from './utils-BNQZiNOu.js';
21
21
  import { CreateVariableBody, DeleteVariablePath, VariableWithHash, GetVariablesQuery, GetVariablesByBranchId } from './vault/types.js';
22
- import { ServiceId, CreateTableAsyncBody, TableCreateJob, TableImportAsyncBody, TableImportJob, TableExportAsyncBody, TableExportJob, Service, StackComponent, GetBucketsQuery, Bucket, BucketDetail, CreateBucketBody, UpdateBucketBody, CreateScheduledRefreshPath, CreateScheduledRefreshBody, ScheduledTask, GetEventsQuery, StorageEvent, CreateEventBody, File as File$1, GetFilesQuery, DeleteFileTagPath, PrepareFileBody, PreparedFile, GetTablesQuery, Table, TableDetail, GetDataPreview, PrevieData, DeleteTableRows, JobUnion, DevBranch, CreateDevBranchJobBody, DevBranchPath, BranchMetadata, BranchMetadataEntry, WorkspacePath, Workspace, WorkspacesPath, ResetWorkspacePassword, SetWorkspacePublicInput, GetWorkspaceSaml2LoginPath, WorkspaceSaml2Login, WorkspaceObject, DeleteWorkspaceObjectInput, MergeRequestDetail, MergeRequestDetailWithActivityLog, CreateMergeRequestParams, UpdateMergeRequestParams, JobOperation, GetJobPath, Job, GetJobsQuery, GetComponentPath, Component, GetComponentsPath, GetComponentsQuery, GetSearchComponentConfigurationsPath, SearchComponentConfigurationsQuery, SearchComponentConfiguration, PartialKey, CreateConfigurationInput, BaseComponentConfig, ConfigType, ConfigurationPath, ComponentConfig, GetConfigurationsPath, CreateConfigurationRowInput, Row, CreateConfigurationRowsInput, CreateConfigurationRowBody, DeleteConfigurationRowInput, DeleteConfigurationRowsInput, CreateConfigurationWorkspaceBody, ConfigurationUseCaseType, ConfigurationVersionPath, ConfigurationVersion, ConfigurationVersionDetailPath, ConfigurationVersionDetail, GetStackInfoQuery, StackInfo } from './storage/types.js';
22
+ import { ServiceId, CreateTableAsyncBody, TableCreateJob, TableImportAsyncBody, TableImportJob, TableExportAsyncBody, TableExportJob, BucketListing, CreateBucketListingInput, UpdateBucketListingInput, Service, StackComponent, GetBucketsQuery, Bucket, BucketDetail, CreateBucketBody, UpdateBucketBody, CreateScheduledRefreshPath, CreateScheduledRefreshBody, ScheduledTask, Job, GetEventsQuery, StorageEvent, CreateEventBody, File as File$1, GetFilesQuery, DeleteFileTagPath, PrepareFileBody, PreparedFile, GetTablesQuery, Table, TableDetail, GetDataPreview, PrevieData, DeleteTableRows, JobUnion, DevBranch, CreateDevBranchJobBody, DevBranchPath, BranchMetadata, BranchMetadataEntry, WorkspacePath, Workspace, WorkspacesPath, ResetWorkspacePassword, SetWorkspacePublicInput, GetWorkspaceSaml2LoginPath, WorkspaceSaml2Login, WorkspaceObject, DeleteWorkspaceObjectInput, UnloadWorkspaceInput, MergeRequestDetail, MergeRequestDetailWithActivityLog, CreateMergeRequestParams, UpdateMergeRequestParams, JobOperation, GetJobPath, GetJobsQuery, GetComponentPath, Component, GetComponentsPath, GetComponentsQuery, GetSearchComponentConfigurationsPath, SearchComponentConfigurationsQuery, SearchComponentConfiguration, PartialKey, CreateConfigurationInput, BaseComponentConfig, ConfigType, ConfigurationPath, ComponentConfig, GetConfigurationsPath, CreateConfigurationRowInput, Row, CreateConfigurationRowsInput, CreateConfigurationRowBody, DeleteConfigurationRowInput, DeleteConfigurationRowsInput, CreateConfigurationWorkspaceBody, ConfigurationUseCaseType, ConfigurationVersionPath, ConfigurationVersion, ConfigurationVersionDetailPath, ConfigurationVersionDetail, GetStackInfoQuery, StackInfo } from './storage/types.js';
23
23
  import { M as MetaObject } from './types-BY0tjg2Q.js';
24
- import { C as ConcurrentOptions, M as MiddlewareFn$1 } from './storageClient-C8LDO4gr.js';
25
- export { a as concurrent } from './storageClient-C8LDO4gr.js';
24
+ import { C as ConcurrentOptions, M as MiddlewareFn$1 } from './storageClient-BicsbzZy.js';
25
+ export { a as concurrent } from './storageClient-BicsbzZy.js';
26
26
  import { K as KeboolaObjectId } from './keboolaUID-D1DGSbge.js';
27
27
  export { k as keboolaUID } from './keboolaUID-D1DGSbge.js';
28
28
  import { TagWithBindings, TagData, CreateMetaObjectMetaDataInput, UpdateMetaObjectMetaDataInput } from './sdk/tag/types.js';
@@ -30,7 +30,7 @@ import { B as Backend, S as StorageToken } from './types-DYMMsuU0.js';
30
30
  export { c as createGenericFetchClient } from './createGenericFetchClient-DEakI3F1.js';
31
31
  export { M as ManagementClientAuthError, i as isManagementClientAuthError } from './authMiddleware-BTFSCMTE.js';
32
32
  import { ManagementToken } from './verify/types.js';
33
- export { c as createStorageSdk } from './storageSdk-CX03lGn-.js';
33
+ export { c as createStorageSdk } from './storageSdk-DCcD68FQ.js';
34
34
  import 'qs';
35
35
  import './createOpenapiFetchClient-_sm4bchL.js';
36
36
  import './metastore/index.js';
@@ -205,9 +205,24 @@ type paths = {
205
205
  content: {
206
206
  'application/json': {
207
207
  error: {
208
- type: string;
209
- surface: string;
208
+ /** @enum {string} */
209
+ type:
210
+ | 'bad_request'
211
+ | 'unauthorized'
212
+ | 'forbidden'
213
+ | 'not_found'
214
+ | 'conflict'
215
+ | 'payload_too_large'
216
+ | 'rate_limit'
217
+ | 'offline'
218
+ | 'bad_response'
219
+ | 'internal';
220
+ /** @enum {string} */
221
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
210
222
  message: string;
223
+ /** @enum {string} */
224
+ subtype?: 'burst' | 'monthly';
225
+ exceptionId?: string;
211
226
  };
212
227
  };
213
228
  };
@@ -220,9 +235,54 @@ type paths = {
220
235
  content: {
221
236
  'application/json': {
222
237
  error: {
223
- type: string;
224
- surface: string;
238
+ /** @enum {string} */
239
+ type:
240
+ | 'bad_request'
241
+ | 'unauthorized'
242
+ | 'forbidden'
243
+ | 'not_found'
244
+ | 'conflict'
245
+ | 'payload_too_large'
246
+ | 'rate_limit'
247
+ | 'offline'
248
+ | 'bad_response'
249
+ | 'internal';
250
+ /** @enum {string} */
251
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
252
+ message: string;
253
+ /** @enum {string} */
254
+ subtype?: 'burst' | 'monthly';
255
+ exceptionId?: string;
256
+ };
257
+ };
258
+ };
259
+ };
260
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
261
+ 503: {
262
+ headers: {
263
+ [name: string]: unknown;
264
+ };
265
+ content: {
266
+ 'application/json': {
267
+ error: {
268
+ /** @enum {string} */
269
+ type:
270
+ | 'bad_request'
271
+ | 'unauthorized'
272
+ | 'forbidden'
273
+ | 'not_found'
274
+ | 'conflict'
275
+ | 'payload_too_large'
276
+ | 'rate_limit'
277
+ | 'offline'
278
+ | 'bad_response'
279
+ | 'internal';
280
+ /** @enum {string} */
281
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
225
282
  message: string;
283
+ /** @enum {string} */
284
+ subtype?: 'burst' | 'monthly';
285
+ exceptionId?: string;
226
286
  };
227
287
  };
228
288
  };
@@ -306,9 +366,24 @@ type paths = {
306
366
  content: {
307
367
  'application/json': {
308
368
  error: {
309
- type: string;
310
- surface: string;
369
+ /** @enum {string} */
370
+ type:
371
+ | 'bad_request'
372
+ | 'unauthorized'
373
+ | 'forbidden'
374
+ | 'not_found'
375
+ | 'conflict'
376
+ | 'payload_too_large'
377
+ | 'rate_limit'
378
+ | 'offline'
379
+ | 'bad_response'
380
+ | 'internal';
381
+ /** @enum {string} */
382
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
311
383
  message: string;
384
+ /** @enum {string} */
385
+ subtype?: 'burst' | 'monthly';
386
+ exceptionId?: string;
312
387
  };
313
388
  };
314
389
  };
@@ -321,9 +396,24 @@ type paths = {
321
396
  content: {
322
397
  'application/json': {
323
398
  error: {
324
- type: string;
325
- surface: string;
399
+ /** @enum {string} */
400
+ type:
401
+ | 'bad_request'
402
+ | 'unauthorized'
403
+ | 'forbidden'
404
+ | 'not_found'
405
+ | 'conflict'
406
+ | 'payload_too_large'
407
+ | 'rate_limit'
408
+ | 'offline'
409
+ | 'bad_response'
410
+ | 'internal';
411
+ /** @enum {string} */
412
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
326
413
  message: string;
414
+ /** @enum {string} */
415
+ subtype?: 'burst' | 'monthly';
416
+ exceptionId?: string;
327
417
  };
328
418
  };
329
419
  };
@@ -336,9 +426,24 @@ type paths = {
336
426
  content: {
337
427
  'application/json': {
338
428
  error: {
339
- type: string;
340
- surface: string;
429
+ /** @enum {string} */
430
+ type:
431
+ | 'bad_request'
432
+ | 'unauthorized'
433
+ | 'forbidden'
434
+ | 'not_found'
435
+ | 'conflict'
436
+ | 'payload_too_large'
437
+ | 'rate_limit'
438
+ | 'offline'
439
+ | 'bad_response'
440
+ | 'internal';
441
+ /** @enum {string} */
442
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
341
443
  message: string;
444
+ /** @enum {string} */
445
+ subtype?: 'burst' | 'monthly';
446
+ exceptionId?: string;
342
447
  };
343
448
  };
344
449
  };
@@ -351,9 +456,54 @@ type paths = {
351
456
  content: {
352
457
  'application/json': {
353
458
  error: {
354
- type: string;
355
- surface: string;
459
+ /** @enum {string} */
460
+ type:
461
+ | 'bad_request'
462
+ | 'unauthorized'
463
+ | 'forbidden'
464
+ | 'not_found'
465
+ | 'conflict'
466
+ | 'payload_too_large'
467
+ | 'rate_limit'
468
+ | 'offline'
469
+ | 'bad_response'
470
+ | 'internal';
471
+ /** @enum {string} */
472
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
473
+ message: string;
474
+ /** @enum {string} */
475
+ subtype?: 'burst' | 'monthly';
476
+ exceptionId?: string;
477
+ };
478
+ };
479
+ };
480
+ };
481
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
482
+ 503: {
483
+ headers: {
484
+ [name: string]: unknown;
485
+ };
486
+ content: {
487
+ 'application/json': {
488
+ error: {
489
+ /** @enum {string} */
490
+ type:
491
+ | 'bad_request'
492
+ | 'unauthorized'
493
+ | 'forbidden'
494
+ | 'not_found'
495
+ | 'conflict'
496
+ | 'payload_too_large'
497
+ | 'rate_limit'
498
+ | 'offline'
499
+ | 'bad_response'
500
+ | 'internal';
501
+ /** @enum {string} */
502
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
356
503
  message: string;
504
+ /** @enum {string} */
505
+ subtype?: 'burst' | 'monthly';
506
+ exceptionId?: string;
357
507
  };
358
508
  };
359
509
  };
@@ -402,9 +552,24 @@ type paths = {
402
552
  content: {
403
553
  'application/json': {
404
554
  error: {
405
- type: string;
406
- surface: string;
555
+ /** @enum {string} */
556
+ type:
557
+ | 'bad_request'
558
+ | 'unauthorized'
559
+ | 'forbidden'
560
+ | 'not_found'
561
+ | 'conflict'
562
+ | 'payload_too_large'
563
+ | 'rate_limit'
564
+ | 'offline'
565
+ | 'bad_response'
566
+ | 'internal';
567
+ /** @enum {string} */
568
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
407
569
  message: string;
570
+ /** @enum {string} */
571
+ subtype?: 'burst' | 'monthly';
572
+ exceptionId?: string;
408
573
  };
409
574
  };
410
575
  };
@@ -417,9 +582,24 @@ type paths = {
417
582
  content: {
418
583
  'application/json': {
419
584
  error: {
420
- type: string;
421
- surface: string;
585
+ /** @enum {string} */
586
+ type:
587
+ | 'bad_request'
588
+ | 'unauthorized'
589
+ | 'forbidden'
590
+ | 'not_found'
591
+ | 'conflict'
592
+ | 'payload_too_large'
593
+ | 'rate_limit'
594
+ | 'offline'
595
+ | 'bad_response'
596
+ | 'internal';
597
+ /** @enum {string} */
598
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
422
599
  message: string;
600
+ /** @enum {string} */
601
+ subtype?: 'burst' | 'monthly';
602
+ exceptionId?: string;
423
603
  };
424
604
  };
425
605
  };
@@ -432,9 +612,54 @@ type paths = {
432
612
  content: {
433
613
  'application/json': {
434
614
  error: {
435
- type: string;
436
- surface: string;
615
+ /** @enum {string} */
616
+ type:
617
+ | 'bad_request'
618
+ | 'unauthorized'
619
+ | 'forbidden'
620
+ | 'not_found'
621
+ | 'conflict'
622
+ | 'payload_too_large'
623
+ | 'rate_limit'
624
+ | 'offline'
625
+ | 'bad_response'
626
+ | 'internal';
627
+ /** @enum {string} */
628
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
629
+ message: string;
630
+ /** @enum {string} */
631
+ subtype?: 'burst' | 'monthly';
632
+ exceptionId?: string;
633
+ };
634
+ };
635
+ };
636
+ };
637
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
638
+ 503: {
639
+ headers: {
640
+ [name: string]: unknown;
641
+ };
642
+ content: {
643
+ 'application/json': {
644
+ error: {
645
+ /** @enum {string} */
646
+ type:
647
+ | 'bad_request'
648
+ | 'unauthorized'
649
+ | 'forbidden'
650
+ | 'not_found'
651
+ | 'conflict'
652
+ | 'payload_too_large'
653
+ | 'rate_limit'
654
+ | 'offline'
655
+ | 'bad_response'
656
+ | 'internal';
657
+ /** @enum {string} */
658
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
437
659
  message: string;
660
+ /** @enum {string} */
661
+ subtype?: 'burst' | 'monthly';
662
+ exceptionId?: string;
438
663
  };
439
664
  };
440
665
  };
@@ -485,9 +710,24 @@ type paths = {
485
710
  content: {
486
711
  'application/json': {
487
712
  error: {
488
- type: string;
489
- surface: string;
713
+ /** @enum {string} */
714
+ type:
715
+ | 'bad_request'
716
+ | 'unauthorized'
717
+ | 'forbidden'
718
+ | 'not_found'
719
+ | 'conflict'
720
+ | 'payload_too_large'
721
+ | 'rate_limit'
722
+ | 'offline'
723
+ | 'bad_response'
724
+ | 'internal';
725
+ /** @enum {string} */
726
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
490
727
  message: string;
728
+ /** @enum {string} */
729
+ subtype?: 'burst' | 'monthly';
730
+ exceptionId?: string;
491
731
  };
492
732
  };
493
733
  };
@@ -500,9 +740,24 @@ type paths = {
500
740
  content: {
501
741
  'application/json': {
502
742
  error: {
503
- type: string;
504
- surface: string;
743
+ /** @enum {string} */
744
+ type:
745
+ | 'bad_request'
746
+ | 'unauthorized'
747
+ | 'forbidden'
748
+ | 'not_found'
749
+ | 'conflict'
750
+ | 'payload_too_large'
751
+ | 'rate_limit'
752
+ | 'offline'
753
+ | 'bad_response'
754
+ | 'internal';
755
+ /** @enum {string} */
756
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
505
757
  message: string;
758
+ /** @enum {string} */
759
+ subtype?: 'burst' | 'monthly';
760
+ exceptionId?: string;
506
761
  };
507
762
  };
508
763
  };
@@ -515,9 +770,54 @@ type paths = {
515
770
  content: {
516
771
  'application/json': {
517
772
  error: {
518
- type: string;
519
- surface: string;
773
+ /** @enum {string} */
774
+ type:
775
+ | 'bad_request'
776
+ | 'unauthorized'
777
+ | 'forbidden'
778
+ | 'not_found'
779
+ | 'conflict'
780
+ | 'payload_too_large'
781
+ | 'rate_limit'
782
+ | 'offline'
783
+ | 'bad_response'
784
+ | 'internal';
785
+ /** @enum {string} */
786
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
787
+ message: string;
788
+ /** @enum {string} */
789
+ subtype?: 'burst' | 'monthly';
790
+ exceptionId?: string;
791
+ };
792
+ };
793
+ };
794
+ };
795
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
796
+ 503: {
797
+ headers: {
798
+ [name: string]: unknown;
799
+ };
800
+ content: {
801
+ 'application/json': {
802
+ error: {
803
+ /** @enum {string} */
804
+ type:
805
+ | 'bad_request'
806
+ | 'unauthorized'
807
+ | 'forbidden'
808
+ | 'not_found'
809
+ | 'conflict'
810
+ | 'payload_too_large'
811
+ | 'rate_limit'
812
+ | 'offline'
813
+ | 'bad_response'
814
+ | 'internal';
815
+ /** @enum {string} */
816
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
520
817
  message: string;
818
+ /** @enum {string} */
819
+ subtype?: 'burst' | 'monthly';
820
+ exceptionId?: string;
521
821
  };
522
822
  };
523
823
  };
@@ -575,9 +875,24 @@ type paths = {
575
875
  content: {
576
876
  'application/json': {
577
877
  error: {
578
- type: string;
579
- surface: string;
878
+ /** @enum {string} */
879
+ type:
880
+ | 'bad_request'
881
+ | 'unauthorized'
882
+ | 'forbidden'
883
+ | 'not_found'
884
+ | 'conflict'
885
+ | 'payload_too_large'
886
+ | 'rate_limit'
887
+ | 'offline'
888
+ | 'bad_response'
889
+ | 'internal';
890
+ /** @enum {string} */
891
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
580
892
  message: string;
893
+ /** @enum {string} */
894
+ subtype?: 'burst' | 'monthly';
895
+ exceptionId?: string;
581
896
  };
582
897
  };
583
898
  };
@@ -590,9 +905,24 @@ type paths = {
590
905
  content: {
591
906
  'application/json': {
592
907
  error: {
593
- type: string;
594
- surface: string;
908
+ /** @enum {string} */
909
+ type:
910
+ | 'bad_request'
911
+ | 'unauthorized'
912
+ | 'forbidden'
913
+ | 'not_found'
914
+ | 'conflict'
915
+ | 'payload_too_large'
916
+ | 'rate_limit'
917
+ | 'offline'
918
+ | 'bad_response'
919
+ | 'internal';
920
+ /** @enum {string} */
921
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
595
922
  message: string;
923
+ /** @enum {string} */
924
+ subtype?: 'burst' | 'monthly';
925
+ exceptionId?: string;
596
926
  };
597
927
  };
598
928
  };
@@ -605,9 +935,54 @@ type paths = {
605
935
  content: {
606
936
  'application/json': {
607
937
  error: {
608
- type: string;
609
- surface: string;
938
+ /** @enum {string} */
939
+ type:
940
+ | 'bad_request'
941
+ | 'unauthorized'
942
+ | 'forbidden'
943
+ | 'not_found'
944
+ | 'conflict'
945
+ | 'payload_too_large'
946
+ | 'rate_limit'
947
+ | 'offline'
948
+ | 'bad_response'
949
+ | 'internal';
950
+ /** @enum {string} */
951
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
952
+ message: string;
953
+ /** @enum {string} */
954
+ subtype?: 'burst' | 'monthly';
955
+ exceptionId?: string;
956
+ };
957
+ };
958
+ };
959
+ };
960
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
961
+ 503: {
962
+ headers: {
963
+ [name: string]: unknown;
964
+ };
965
+ content: {
966
+ 'application/json': {
967
+ error: {
968
+ /** @enum {string} */
969
+ type:
970
+ | 'bad_request'
971
+ | 'unauthorized'
972
+ | 'forbidden'
973
+ | 'not_found'
974
+ | 'conflict'
975
+ | 'payload_too_large'
976
+ | 'rate_limit'
977
+ | 'offline'
978
+ | 'bad_response'
979
+ | 'internal';
980
+ /** @enum {string} */
981
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
610
982
  message: string;
983
+ /** @enum {string} */
984
+ subtype?: 'burst' | 'monthly';
985
+ exceptionId?: string;
611
986
  };
612
987
  };
613
988
  };
@@ -684,6 +1059,25 @@ type paths = {
684
1059
  /** @enum {string} */
685
1060
  type: 'step-start';
686
1061
  }
1062
+ | {
1063
+ /** @enum {string} */
1064
+ type: 'data-compact-boundary';
1065
+ data: {
1066
+ /** @enum {string} */
1067
+ trigger: 'manual' | 'auto';
1068
+ preTokens: number;
1069
+ preservedSegment?: {
1070
+ /** Format: uuid */
1071
+ headUuid: string;
1072
+ /** Format: uuid */
1073
+ anchorUuid: string;
1074
+ /** Format: uuid */
1075
+ tailUuid: string;
1076
+ };
1077
+ summary: string;
1078
+ sdkSessionId: string;
1079
+ };
1080
+ }
687
1081
  | {
688
1082
  type: string;
689
1083
  toolCallId: string;
@@ -716,10 +1110,6 @@ type paths = {
716
1110
  path?: string;
717
1111
  sqlEditorActive?: boolean;
718
1112
  };
719
- /** Format: uuid */
720
- compactedTo?: string;
721
- /** Format: uuid */
722
- compactedFrom?: string;
723
1113
  };
724
1114
  /** @enum {string} */
725
1115
  status?: 'pending' | 'completed' | 'interrupted' | 'failed';
@@ -735,9 +1125,24 @@ type paths = {
735
1125
  content: {
736
1126
  'application/json': {
737
1127
  error: {
738
- type: string;
739
- surface: string;
1128
+ /** @enum {string} */
1129
+ type:
1130
+ | 'bad_request'
1131
+ | 'unauthorized'
1132
+ | 'forbidden'
1133
+ | 'not_found'
1134
+ | 'conflict'
1135
+ | 'payload_too_large'
1136
+ | 'rate_limit'
1137
+ | 'offline'
1138
+ | 'bad_response'
1139
+ | 'internal';
1140
+ /** @enum {string} */
1141
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
740
1142
  message: string;
1143
+ /** @enum {string} */
1144
+ subtype?: 'burst' | 'monthly';
1145
+ exceptionId?: string;
741
1146
  };
742
1147
  };
743
1148
  };
@@ -750,9 +1155,24 @@ type paths = {
750
1155
  content: {
751
1156
  'application/json': {
752
1157
  error: {
753
- type: string;
754
- surface: string;
1158
+ /** @enum {string} */
1159
+ type:
1160
+ | 'bad_request'
1161
+ | 'unauthorized'
1162
+ | 'forbidden'
1163
+ | 'not_found'
1164
+ | 'conflict'
1165
+ | 'payload_too_large'
1166
+ | 'rate_limit'
1167
+ | 'offline'
1168
+ | 'bad_response'
1169
+ | 'internal';
1170
+ /** @enum {string} */
1171
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
755
1172
  message: string;
1173
+ /** @enum {string} */
1174
+ subtype?: 'burst' | 'monthly';
1175
+ exceptionId?: string;
756
1176
  };
757
1177
  };
758
1178
  };
@@ -765,9 +1185,24 @@ type paths = {
765
1185
  content: {
766
1186
  'application/json': {
767
1187
  error: {
768
- type: string;
769
- surface: string;
1188
+ /** @enum {string} */
1189
+ type:
1190
+ | 'bad_request'
1191
+ | 'unauthorized'
1192
+ | 'forbidden'
1193
+ | 'not_found'
1194
+ | 'conflict'
1195
+ | 'payload_too_large'
1196
+ | 'rate_limit'
1197
+ | 'offline'
1198
+ | 'bad_response'
1199
+ | 'internal';
1200
+ /** @enum {string} */
1201
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
770
1202
  message: string;
1203
+ /** @enum {string} */
1204
+ subtype?: 'burst' | 'monthly';
1205
+ exceptionId?: string;
771
1206
  };
772
1207
  };
773
1208
  };
@@ -780,9 +1215,54 @@ type paths = {
780
1215
  content: {
781
1216
  'application/json': {
782
1217
  error: {
783
- type: string;
784
- surface: string;
1218
+ /** @enum {string} */
1219
+ type:
1220
+ | 'bad_request'
1221
+ | 'unauthorized'
1222
+ | 'forbidden'
1223
+ | 'not_found'
1224
+ | 'conflict'
1225
+ | 'payload_too_large'
1226
+ | 'rate_limit'
1227
+ | 'offline'
1228
+ | 'bad_response'
1229
+ | 'internal';
1230
+ /** @enum {string} */
1231
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1232
+ message: string;
1233
+ /** @enum {string} */
1234
+ subtype?: 'burst' | 'monthly';
1235
+ exceptionId?: string;
1236
+ };
1237
+ };
1238
+ };
1239
+ };
1240
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
1241
+ 503: {
1242
+ headers: {
1243
+ [name: string]: unknown;
1244
+ };
1245
+ content: {
1246
+ 'application/json': {
1247
+ error: {
1248
+ /** @enum {string} */
1249
+ type:
1250
+ | 'bad_request'
1251
+ | 'unauthorized'
1252
+ | 'forbidden'
1253
+ | 'not_found'
1254
+ | 'conflict'
1255
+ | 'payload_too_large'
1256
+ | 'rate_limit'
1257
+ | 'offline'
1258
+ | 'bad_response'
1259
+ | 'internal';
1260
+ /** @enum {string} */
1261
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
785
1262
  message: string;
1263
+ /** @enum {string} */
1264
+ subtype?: 'burst' | 'monthly';
1265
+ exceptionId?: string;
786
1266
  };
787
1267
  };
788
1268
  };
@@ -842,9 +1322,24 @@ type paths = {
842
1322
  content: {
843
1323
  'application/json': {
844
1324
  error: {
845
- type: string;
846
- surface: string;
1325
+ /** @enum {string} */
1326
+ type:
1327
+ | 'bad_request'
1328
+ | 'unauthorized'
1329
+ | 'forbidden'
1330
+ | 'not_found'
1331
+ | 'conflict'
1332
+ | 'payload_too_large'
1333
+ | 'rate_limit'
1334
+ | 'offline'
1335
+ | 'bad_response'
1336
+ | 'internal';
1337
+ /** @enum {string} */
1338
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
847
1339
  message: string;
1340
+ /** @enum {string} */
1341
+ subtype?: 'burst' | 'monthly';
1342
+ exceptionId?: string;
848
1343
  };
849
1344
  };
850
1345
  };
@@ -857,9 +1352,24 @@ type paths = {
857
1352
  content: {
858
1353
  'application/json': {
859
1354
  error: {
860
- type: string;
861
- surface: string;
1355
+ /** @enum {string} */
1356
+ type:
1357
+ | 'bad_request'
1358
+ | 'unauthorized'
1359
+ | 'forbidden'
1360
+ | 'not_found'
1361
+ | 'conflict'
1362
+ | 'payload_too_large'
1363
+ | 'rate_limit'
1364
+ | 'offline'
1365
+ | 'bad_response'
1366
+ | 'internal';
1367
+ /** @enum {string} */
1368
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
862
1369
  message: string;
1370
+ /** @enum {string} */
1371
+ subtype?: 'burst' | 'monthly';
1372
+ exceptionId?: string;
863
1373
  };
864
1374
  };
865
1375
  };
@@ -872,9 +1382,24 @@ type paths = {
872
1382
  content: {
873
1383
  'application/json': {
874
1384
  error: {
875
- type: string;
876
- surface: string;
1385
+ /** @enum {string} */
1386
+ type:
1387
+ | 'bad_request'
1388
+ | 'unauthorized'
1389
+ | 'forbidden'
1390
+ | 'not_found'
1391
+ | 'conflict'
1392
+ | 'payload_too_large'
1393
+ | 'rate_limit'
1394
+ | 'offline'
1395
+ | 'bad_response'
1396
+ | 'internal';
1397
+ /** @enum {string} */
1398
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
877
1399
  message: string;
1400
+ /** @enum {string} */
1401
+ subtype?: 'burst' | 'monthly';
1402
+ exceptionId?: string;
878
1403
  };
879
1404
  };
880
1405
  };
@@ -887,9 +1412,54 @@ type paths = {
887
1412
  content: {
888
1413
  'application/json': {
889
1414
  error: {
890
- type: string;
891
- surface: string;
1415
+ /** @enum {string} */
1416
+ type:
1417
+ | 'bad_request'
1418
+ | 'unauthorized'
1419
+ | 'forbidden'
1420
+ | 'not_found'
1421
+ | 'conflict'
1422
+ | 'payload_too_large'
1423
+ | 'rate_limit'
1424
+ | 'offline'
1425
+ | 'bad_response'
1426
+ | 'internal';
1427
+ /** @enum {string} */
1428
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1429
+ message: string;
1430
+ /** @enum {string} */
1431
+ subtype?: 'burst' | 'monthly';
1432
+ exceptionId?: string;
1433
+ };
1434
+ };
1435
+ };
1436
+ };
1437
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
1438
+ 503: {
1439
+ headers: {
1440
+ [name: string]: unknown;
1441
+ };
1442
+ content: {
1443
+ 'application/json': {
1444
+ error: {
1445
+ /** @enum {string} */
1446
+ type:
1447
+ | 'bad_request'
1448
+ | 'unauthorized'
1449
+ | 'forbidden'
1450
+ | 'not_found'
1451
+ | 'conflict'
1452
+ | 'payload_too_large'
1453
+ | 'rate_limit'
1454
+ | 'offline'
1455
+ | 'bad_response'
1456
+ | 'internal';
1457
+ /** @enum {string} */
1458
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
892
1459
  message: string;
1460
+ /** @enum {string} */
1461
+ subtype?: 'burst' | 'monthly';
1462
+ exceptionId?: string;
893
1463
  };
894
1464
  };
895
1465
  };
@@ -940,9 +1510,24 @@ type paths = {
940
1510
  content: {
941
1511
  'application/json': {
942
1512
  error: {
943
- type: string;
944
- surface: string;
1513
+ /** @enum {string} */
1514
+ type:
1515
+ | 'bad_request'
1516
+ | 'unauthorized'
1517
+ | 'forbidden'
1518
+ | 'not_found'
1519
+ | 'conflict'
1520
+ | 'payload_too_large'
1521
+ | 'rate_limit'
1522
+ | 'offline'
1523
+ | 'bad_response'
1524
+ | 'internal';
1525
+ /** @enum {string} */
1526
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
945
1527
  message: string;
1528
+ /** @enum {string} */
1529
+ subtype?: 'burst' | 'monthly';
1530
+ exceptionId?: string;
946
1531
  };
947
1532
  };
948
1533
  };
@@ -955,9 +1540,24 @@ type paths = {
955
1540
  content: {
956
1541
  'application/json': {
957
1542
  error: {
958
- type: string;
959
- surface: string;
1543
+ /** @enum {string} */
1544
+ type:
1545
+ | 'bad_request'
1546
+ | 'unauthorized'
1547
+ | 'forbidden'
1548
+ | 'not_found'
1549
+ | 'conflict'
1550
+ | 'payload_too_large'
1551
+ | 'rate_limit'
1552
+ | 'offline'
1553
+ | 'bad_response'
1554
+ | 'internal';
1555
+ /** @enum {string} */
1556
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
960
1557
  message: string;
1558
+ /** @enum {string} */
1559
+ subtype?: 'burst' | 'monthly';
1560
+ exceptionId?: string;
961
1561
  };
962
1562
  };
963
1563
  };
@@ -970,9 +1570,24 @@ type paths = {
970
1570
  content: {
971
1571
  'application/json': {
972
1572
  error: {
973
- type: string;
974
- surface: string;
1573
+ /** @enum {string} */
1574
+ type:
1575
+ | 'bad_request'
1576
+ | 'unauthorized'
1577
+ | 'forbidden'
1578
+ | 'not_found'
1579
+ | 'conflict'
1580
+ | 'payload_too_large'
1581
+ | 'rate_limit'
1582
+ | 'offline'
1583
+ | 'bad_response'
1584
+ | 'internal';
1585
+ /** @enum {string} */
1586
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
975
1587
  message: string;
1588
+ /** @enum {string} */
1589
+ subtype?: 'burst' | 'monthly';
1590
+ exceptionId?: string;
976
1591
  };
977
1592
  };
978
1593
  };
@@ -985,9 +1600,54 @@ type paths = {
985
1600
  content: {
986
1601
  'application/json': {
987
1602
  error: {
988
- type: string;
989
- surface: string;
1603
+ /** @enum {string} */
1604
+ type:
1605
+ | 'bad_request'
1606
+ | 'unauthorized'
1607
+ | 'forbidden'
1608
+ | 'not_found'
1609
+ | 'conflict'
1610
+ | 'payload_too_large'
1611
+ | 'rate_limit'
1612
+ | 'offline'
1613
+ | 'bad_response'
1614
+ | 'internal';
1615
+ /** @enum {string} */
1616
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1617
+ message: string;
1618
+ /** @enum {string} */
1619
+ subtype?: 'burst' | 'monthly';
1620
+ exceptionId?: string;
1621
+ };
1622
+ };
1623
+ };
1624
+ };
1625
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
1626
+ 503: {
1627
+ headers: {
1628
+ [name: string]: unknown;
1629
+ };
1630
+ content: {
1631
+ 'application/json': {
1632
+ error: {
1633
+ /** @enum {string} */
1634
+ type:
1635
+ | 'bad_request'
1636
+ | 'unauthorized'
1637
+ | 'forbidden'
1638
+ | 'not_found'
1639
+ | 'conflict'
1640
+ | 'payload_too_large'
1641
+ | 'rate_limit'
1642
+ | 'offline'
1643
+ | 'bad_response'
1644
+ | 'internal';
1645
+ /** @enum {string} */
1646
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
990
1647
  message: string;
1648
+ /** @enum {string} */
1649
+ subtype?: 'burst' | 'monthly';
1650
+ exceptionId?: string;
991
1651
  };
992
1652
  };
993
1653
  };
@@ -1055,9 +1715,24 @@ type paths = {
1055
1715
  content: {
1056
1716
  'application/json': {
1057
1717
  error: {
1058
- type: string;
1059
- surface: string;
1718
+ /** @enum {string} */
1719
+ type:
1720
+ | 'bad_request'
1721
+ | 'unauthorized'
1722
+ | 'forbidden'
1723
+ | 'not_found'
1724
+ | 'conflict'
1725
+ | 'payload_too_large'
1726
+ | 'rate_limit'
1727
+ | 'offline'
1728
+ | 'bad_response'
1729
+ | 'internal';
1730
+ /** @enum {string} */
1731
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1060
1732
  message: string;
1733
+ /** @enum {string} */
1734
+ subtype?: 'burst' | 'monthly';
1735
+ exceptionId?: string;
1061
1736
  };
1062
1737
  };
1063
1738
  };
@@ -1070,9 +1745,24 @@ type paths = {
1070
1745
  content: {
1071
1746
  'application/json': {
1072
1747
  error: {
1073
- type: string;
1074
- surface: string;
1748
+ /** @enum {string} */
1749
+ type:
1750
+ | 'bad_request'
1751
+ | 'unauthorized'
1752
+ | 'forbidden'
1753
+ | 'not_found'
1754
+ | 'conflict'
1755
+ | 'payload_too_large'
1756
+ | 'rate_limit'
1757
+ | 'offline'
1758
+ | 'bad_response'
1759
+ | 'internal';
1760
+ /** @enum {string} */
1761
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1075
1762
  message: string;
1763
+ /** @enum {string} */
1764
+ subtype?: 'burst' | 'monthly';
1765
+ exceptionId?: string;
1076
1766
  };
1077
1767
  };
1078
1768
  };
@@ -1085,9 +1775,24 @@ type paths = {
1085
1775
  content: {
1086
1776
  'application/json': {
1087
1777
  error: {
1088
- type: string;
1089
- surface: string;
1778
+ /** @enum {string} */
1779
+ type:
1780
+ | 'bad_request'
1781
+ | 'unauthorized'
1782
+ | 'forbidden'
1783
+ | 'not_found'
1784
+ | 'conflict'
1785
+ | 'payload_too_large'
1786
+ | 'rate_limit'
1787
+ | 'offline'
1788
+ | 'bad_response'
1789
+ | 'internal';
1790
+ /** @enum {string} */
1791
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1090
1792
  message: string;
1793
+ /** @enum {string} */
1794
+ subtype?: 'burst' | 'monthly';
1795
+ exceptionId?: string;
1091
1796
  };
1092
1797
  };
1093
1798
  };
@@ -1100,9 +1805,54 @@ type paths = {
1100
1805
  content: {
1101
1806
  'application/json': {
1102
1807
  error: {
1103
- type: string;
1104
- surface: string;
1808
+ /** @enum {string} */
1809
+ type:
1810
+ | 'bad_request'
1811
+ | 'unauthorized'
1812
+ | 'forbidden'
1813
+ | 'not_found'
1814
+ | 'conflict'
1815
+ | 'payload_too_large'
1816
+ | 'rate_limit'
1817
+ | 'offline'
1818
+ | 'bad_response'
1819
+ | 'internal';
1820
+ /** @enum {string} */
1821
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1822
+ message: string;
1823
+ /** @enum {string} */
1824
+ subtype?: 'burst' | 'monthly';
1825
+ exceptionId?: string;
1826
+ };
1827
+ };
1828
+ };
1829
+ };
1830
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
1831
+ 503: {
1832
+ headers: {
1833
+ [name: string]: unknown;
1834
+ };
1835
+ content: {
1836
+ 'application/json': {
1837
+ error: {
1838
+ /** @enum {string} */
1839
+ type:
1840
+ | 'bad_request'
1841
+ | 'unauthorized'
1842
+ | 'forbidden'
1843
+ | 'not_found'
1844
+ | 'conflict'
1845
+ | 'payload_too_large'
1846
+ | 'rate_limit'
1847
+ | 'offline'
1848
+ | 'bad_response'
1849
+ | 'internal';
1850
+ /** @enum {string} */
1851
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1105
1852
  message: string;
1853
+ /** @enum {string} */
1854
+ subtype?: 'burst' | 'monthly';
1855
+ exceptionId?: string;
1106
1856
  };
1107
1857
  };
1108
1858
  };
@@ -1167,9 +1917,24 @@ type paths = {
1167
1917
  content: {
1168
1918
  'application/json': {
1169
1919
  error: {
1170
- type: string;
1171
- surface: string;
1172
- message: string;
1920
+ /** @enum {string} */
1921
+ type:
1922
+ | 'bad_request'
1923
+ | 'unauthorized'
1924
+ | 'forbidden'
1925
+ | 'not_found'
1926
+ | 'conflict'
1927
+ | 'payload_too_large'
1928
+ | 'rate_limit'
1929
+ | 'offline'
1930
+ | 'bad_response'
1931
+ | 'internal';
1932
+ /** @enum {string} */
1933
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1934
+ message: string;
1935
+ /** @enum {string} */
1936
+ subtype?: 'burst' | 'monthly';
1937
+ exceptionId?: string;
1173
1938
  };
1174
1939
  };
1175
1940
  };
@@ -1182,9 +1947,24 @@ type paths = {
1182
1947
  content: {
1183
1948
  'application/json': {
1184
1949
  error: {
1185
- type: string;
1186
- surface: string;
1950
+ /** @enum {string} */
1951
+ type:
1952
+ | 'bad_request'
1953
+ | 'unauthorized'
1954
+ | 'forbidden'
1955
+ | 'not_found'
1956
+ | 'conflict'
1957
+ | 'payload_too_large'
1958
+ | 'rate_limit'
1959
+ | 'offline'
1960
+ | 'bad_response'
1961
+ | 'internal';
1962
+ /** @enum {string} */
1963
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1187
1964
  message: string;
1965
+ /** @enum {string} */
1966
+ subtype?: 'burst' | 'monthly';
1967
+ exceptionId?: string;
1188
1968
  };
1189
1969
  };
1190
1970
  };
@@ -1197,9 +1977,24 @@ type paths = {
1197
1977
  content: {
1198
1978
  'application/json': {
1199
1979
  error: {
1200
- type: string;
1201
- surface: string;
1980
+ /** @enum {string} */
1981
+ type:
1982
+ | 'bad_request'
1983
+ | 'unauthorized'
1984
+ | 'forbidden'
1985
+ | 'not_found'
1986
+ | 'conflict'
1987
+ | 'payload_too_large'
1988
+ | 'rate_limit'
1989
+ | 'offline'
1990
+ | 'bad_response'
1991
+ | 'internal';
1992
+ /** @enum {string} */
1993
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1202
1994
  message: string;
1995
+ /** @enum {string} */
1996
+ subtype?: 'burst' | 'monthly';
1997
+ exceptionId?: string;
1203
1998
  };
1204
1999
  };
1205
2000
  };
@@ -1212,15 +2007,563 @@ type paths = {
1212
2007
  content: {
1213
2008
  'application/json': {
1214
2009
  error: {
1215
- type: string;
1216
- surface: string;
2010
+ /** @enum {string} */
2011
+ type:
2012
+ | 'bad_request'
2013
+ | 'unauthorized'
2014
+ | 'forbidden'
2015
+ | 'not_found'
2016
+ | 'conflict'
2017
+ | 'payload_too_large'
2018
+ | 'rate_limit'
2019
+ | 'offline'
2020
+ | 'bad_response'
2021
+ | 'internal';
2022
+ /** @enum {string} */
2023
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2024
+ message: string;
2025
+ /** @enum {string} */
2026
+ subtype?: 'burst' | 'monthly';
2027
+ exceptionId?: string;
2028
+ };
2029
+ };
2030
+ };
2031
+ };
2032
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2033
+ 503: {
2034
+ headers: {
2035
+ [name: string]: unknown;
2036
+ };
2037
+ content: {
2038
+ 'application/json': {
2039
+ error: {
2040
+ /** @enum {string} */
2041
+ type:
2042
+ | 'bad_request'
2043
+ | 'unauthorized'
2044
+ | 'forbidden'
2045
+ | 'not_found'
2046
+ | 'conflict'
2047
+ | 'payload_too_large'
2048
+ | 'rate_limit'
2049
+ | 'offline'
2050
+ | 'bad_response'
2051
+ | 'internal';
2052
+ /** @enum {string} */
2053
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2054
+ message: string;
2055
+ /** @enum {string} */
2056
+ subtype?: 'burst' | 'monthly';
2057
+ exceptionId?: string;
2058
+ };
2059
+ };
2060
+ };
2061
+ };
2062
+ };
2063
+ };
2064
+ delete?: never;
2065
+ options?: never;
2066
+ head?: never;
2067
+ patch?: never;
2068
+ trace?: never;
2069
+ };
2070
+ '/api/chat/{id}/sandbox/files': {
2071
+ parameters: {
2072
+ query?: never;
2073
+ header?: never;
2074
+ path?: never;
2075
+ cookie?: never;
2076
+ };
2077
+ /**
2078
+ * List files in the data-app working directory of the chat sandbox
2079
+ * @description Returns a single-level directory listing rooted at the data-app dir, scoped to the calling user + project. Hidden dirs (.git, node_modules, etc.) are filtered out.
2080
+ */
2081
+ get: {
2082
+ parameters: {
2083
+ query?: {
2084
+ path?: string;
2085
+ };
2086
+ header?: never;
2087
+ path: {
2088
+ id: string;
2089
+ };
2090
+ cookie?: never;
2091
+ };
2092
+ requestBody?: never;
2093
+ responses: {
2094
+ /** @description Directory listing */
2095
+ 200: {
2096
+ headers: {
2097
+ [name: string]: unknown;
2098
+ };
2099
+ content: {
2100
+ 'application/json': {
2101
+ entries: {
2102
+ name: string;
2103
+ path: string;
2104
+ /** @enum {string} */
2105
+ type: 'file' | 'dir';
2106
+ size?: number;
2107
+ }[];
2108
+ };
2109
+ };
2110
+ };
2111
+ /** @description Bad request */
2112
+ 400: {
2113
+ headers: {
2114
+ [name: string]: unknown;
2115
+ };
2116
+ content: {
2117
+ 'application/json': {
2118
+ error: {
2119
+ /** @enum {string} */
2120
+ type:
2121
+ | 'bad_request'
2122
+ | 'unauthorized'
2123
+ | 'forbidden'
2124
+ | 'not_found'
2125
+ | 'conflict'
2126
+ | 'payload_too_large'
2127
+ | 'rate_limit'
2128
+ | 'offline'
2129
+ | 'bad_response'
2130
+ | 'internal';
2131
+ /** @enum {string} */
2132
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2133
+ message: string;
2134
+ /** @enum {string} */
2135
+ subtype?: 'burst' | 'monthly';
2136
+ exceptionId?: string;
2137
+ };
2138
+ };
2139
+ };
2140
+ };
2141
+ /** @description Unauthorized */
2142
+ 401: {
2143
+ headers: {
2144
+ [name: string]: unknown;
2145
+ };
2146
+ content: {
2147
+ 'application/json': {
2148
+ error: {
2149
+ /** @enum {string} */
2150
+ type:
2151
+ | 'bad_request'
2152
+ | 'unauthorized'
2153
+ | 'forbidden'
2154
+ | 'not_found'
2155
+ | 'conflict'
2156
+ | 'payload_too_large'
2157
+ | 'rate_limit'
2158
+ | 'offline'
2159
+ | 'bad_response'
2160
+ | 'internal';
2161
+ /** @enum {string} */
2162
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1217
2163
  message: string;
2164
+ /** @enum {string} */
2165
+ subtype?: 'burst' | 'monthly';
2166
+ exceptionId?: string;
2167
+ };
2168
+ };
2169
+ };
2170
+ };
2171
+ /** @description Chat or sandbox not found */
2172
+ 404: {
2173
+ headers: {
2174
+ [name: string]: unknown;
2175
+ };
2176
+ content: {
2177
+ 'application/json': {
2178
+ error: {
2179
+ /** @enum {string} */
2180
+ type:
2181
+ | 'bad_request'
2182
+ | 'unauthorized'
2183
+ | 'forbidden'
2184
+ | 'not_found'
2185
+ | 'conflict'
2186
+ | 'payload_too_large'
2187
+ | 'rate_limit'
2188
+ | 'offline'
2189
+ | 'bad_response'
2190
+ | 'internal';
2191
+ /** @enum {string} */
2192
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2193
+ message: string;
2194
+ /** @enum {string} */
2195
+ subtype?: 'burst' | 'monthly';
2196
+ exceptionId?: string;
2197
+ };
2198
+ };
2199
+ };
2200
+ };
2201
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2202
+ 503: {
2203
+ headers: {
2204
+ [name: string]: unknown;
2205
+ };
2206
+ content: {
2207
+ 'application/json': {
2208
+ error: {
2209
+ /** @enum {string} */
2210
+ type:
2211
+ | 'bad_request'
2212
+ | 'unauthorized'
2213
+ | 'forbidden'
2214
+ | 'not_found'
2215
+ | 'conflict'
2216
+ | 'payload_too_large'
2217
+ | 'rate_limit'
2218
+ | 'offline'
2219
+ | 'bad_response'
2220
+ | 'internal';
2221
+ /** @enum {string} */
2222
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2223
+ message: string;
2224
+ /** @enum {string} */
2225
+ subtype?: 'burst' | 'monthly';
2226
+ exceptionId?: string;
1218
2227
  };
1219
2228
  };
1220
2229
  };
1221
2230
  };
1222
2231
  };
1223
2232
  };
2233
+ put?: never;
2234
+ post?: never;
2235
+ delete?: never;
2236
+ options?: never;
2237
+ head?: never;
2238
+ patch?: never;
2239
+ trace?: never;
2240
+ };
2241
+ '/api/chat/{id}/sandbox/file': {
2242
+ parameters: {
2243
+ query?: never;
2244
+ header?: never;
2245
+ path?: never;
2246
+ cookie?: never;
2247
+ };
2248
+ /**
2249
+ * Read a file from the chat sandbox data-app directory
2250
+ * @description Returns the text content of a file inside the data-app dir. Oversize files are truncated; binary files return an empty content string with encoding="binary".
2251
+ */
2252
+ get: {
2253
+ parameters: {
2254
+ query: {
2255
+ path: string;
2256
+ };
2257
+ header?: never;
2258
+ path: {
2259
+ id: string;
2260
+ };
2261
+ cookie?: never;
2262
+ };
2263
+ requestBody?: never;
2264
+ responses: {
2265
+ /** @description File content */
2266
+ 200: {
2267
+ headers: {
2268
+ [name: string]: unknown;
2269
+ };
2270
+ content: {
2271
+ 'application/json': {
2272
+ content: string;
2273
+ /** @enum {string} */
2274
+ encoding: 'utf-8' | 'binary';
2275
+ truncated: boolean;
2276
+ size: number;
2277
+ };
2278
+ };
2279
+ };
2280
+ /** @description Bad request */
2281
+ 400: {
2282
+ headers: {
2283
+ [name: string]: unknown;
2284
+ };
2285
+ content: {
2286
+ 'application/json': {
2287
+ error: {
2288
+ /** @enum {string} */
2289
+ type:
2290
+ | 'bad_request'
2291
+ | 'unauthorized'
2292
+ | 'forbidden'
2293
+ | 'not_found'
2294
+ | 'conflict'
2295
+ | 'payload_too_large'
2296
+ | 'rate_limit'
2297
+ | 'offline'
2298
+ | 'bad_response'
2299
+ | 'internal';
2300
+ /** @enum {string} */
2301
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2302
+ message: string;
2303
+ /** @enum {string} */
2304
+ subtype?: 'burst' | 'monthly';
2305
+ exceptionId?: string;
2306
+ };
2307
+ };
2308
+ };
2309
+ };
2310
+ /** @description Unauthorized */
2311
+ 401: {
2312
+ headers: {
2313
+ [name: string]: unknown;
2314
+ };
2315
+ content: {
2316
+ 'application/json': {
2317
+ error: {
2318
+ /** @enum {string} */
2319
+ type:
2320
+ | 'bad_request'
2321
+ | 'unauthorized'
2322
+ | 'forbidden'
2323
+ | 'not_found'
2324
+ | 'conflict'
2325
+ | 'payload_too_large'
2326
+ | 'rate_limit'
2327
+ | 'offline'
2328
+ | 'bad_response'
2329
+ | 'internal';
2330
+ /** @enum {string} */
2331
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2332
+ message: string;
2333
+ /** @enum {string} */
2334
+ subtype?: 'burst' | 'monthly';
2335
+ exceptionId?: string;
2336
+ };
2337
+ };
2338
+ };
2339
+ };
2340
+ /** @description Chat or sandbox not found */
2341
+ 404: {
2342
+ headers: {
2343
+ [name: string]: unknown;
2344
+ };
2345
+ content: {
2346
+ 'application/json': {
2347
+ error: {
2348
+ /** @enum {string} */
2349
+ type:
2350
+ | 'bad_request'
2351
+ | 'unauthorized'
2352
+ | 'forbidden'
2353
+ | 'not_found'
2354
+ | 'conflict'
2355
+ | 'payload_too_large'
2356
+ | 'rate_limit'
2357
+ | 'offline'
2358
+ | 'bad_response'
2359
+ | 'internal';
2360
+ /** @enum {string} */
2361
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2362
+ message: string;
2363
+ /** @enum {string} */
2364
+ subtype?: 'burst' | 'monthly';
2365
+ exceptionId?: string;
2366
+ };
2367
+ };
2368
+ };
2369
+ };
2370
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2371
+ 503: {
2372
+ headers: {
2373
+ [name: string]: unknown;
2374
+ };
2375
+ content: {
2376
+ 'application/json': {
2377
+ error: {
2378
+ /** @enum {string} */
2379
+ type:
2380
+ | 'bad_request'
2381
+ | 'unauthorized'
2382
+ | 'forbidden'
2383
+ | 'not_found'
2384
+ | 'conflict'
2385
+ | 'payload_too_large'
2386
+ | 'rate_limit'
2387
+ | 'offline'
2388
+ | 'bad_response'
2389
+ | 'internal';
2390
+ /** @enum {string} */
2391
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2392
+ message: string;
2393
+ /** @enum {string} */
2394
+ subtype?: 'burst' | 'monthly';
2395
+ exceptionId?: string;
2396
+ };
2397
+ };
2398
+ };
2399
+ };
2400
+ };
2401
+ };
2402
+ put?: never;
2403
+ post?: never;
2404
+ delete?: never;
2405
+ options?: never;
2406
+ head?: never;
2407
+ patch?: never;
2408
+ trace?: never;
2409
+ };
2410
+ '/api/chat/{id}/sandbox/git-branch': {
2411
+ parameters: {
2412
+ query?: never;
2413
+ header?: never;
2414
+ path?: never;
2415
+ cookie?: never;
2416
+ };
2417
+ /**
2418
+ * Get the current git branch of the chat sandbox data-app directory
2419
+ * @description Runs `git rev-parse --abbrev-ref HEAD` inside the data-app dir. Returns `branch: null` when the directory has no git repo or the sandbox is unreachable.
2420
+ */
2421
+ get: {
2422
+ parameters: {
2423
+ query?: never;
2424
+ header?: never;
2425
+ path: {
2426
+ id: string;
2427
+ };
2428
+ cookie?: never;
2429
+ };
2430
+ requestBody?: never;
2431
+ responses: {
2432
+ /** @description Current branch (or null) */
2433
+ 200: {
2434
+ headers: {
2435
+ [name: string]: unknown;
2436
+ };
2437
+ content: {
2438
+ 'application/json': {
2439
+ branch: string | null;
2440
+ };
2441
+ };
2442
+ };
2443
+ /** @description Bad request */
2444
+ 400: {
2445
+ headers: {
2446
+ [name: string]: unknown;
2447
+ };
2448
+ content: {
2449
+ 'application/json': {
2450
+ error: {
2451
+ /** @enum {string} */
2452
+ type:
2453
+ | 'bad_request'
2454
+ | 'unauthorized'
2455
+ | 'forbidden'
2456
+ | 'not_found'
2457
+ | 'conflict'
2458
+ | 'payload_too_large'
2459
+ | 'rate_limit'
2460
+ | 'offline'
2461
+ | 'bad_response'
2462
+ | 'internal';
2463
+ /** @enum {string} */
2464
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2465
+ message: string;
2466
+ /** @enum {string} */
2467
+ subtype?: 'burst' | 'monthly';
2468
+ exceptionId?: string;
2469
+ };
2470
+ };
2471
+ };
2472
+ };
2473
+ /** @description Unauthorized */
2474
+ 401: {
2475
+ headers: {
2476
+ [name: string]: unknown;
2477
+ };
2478
+ content: {
2479
+ 'application/json': {
2480
+ error: {
2481
+ /** @enum {string} */
2482
+ type:
2483
+ | 'bad_request'
2484
+ | 'unauthorized'
2485
+ | 'forbidden'
2486
+ | 'not_found'
2487
+ | 'conflict'
2488
+ | 'payload_too_large'
2489
+ | 'rate_limit'
2490
+ | 'offline'
2491
+ | 'bad_response'
2492
+ | 'internal';
2493
+ /** @enum {string} */
2494
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2495
+ message: string;
2496
+ /** @enum {string} */
2497
+ subtype?: 'burst' | 'monthly';
2498
+ exceptionId?: string;
2499
+ };
2500
+ };
2501
+ };
2502
+ };
2503
+ /** @description Chat or sandbox not found */
2504
+ 404: {
2505
+ headers: {
2506
+ [name: string]: unknown;
2507
+ };
2508
+ content: {
2509
+ 'application/json': {
2510
+ error: {
2511
+ /** @enum {string} */
2512
+ type:
2513
+ | 'bad_request'
2514
+ | 'unauthorized'
2515
+ | 'forbidden'
2516
+ | 'not_found'
2517
+ | 'conflict'
2518
+ | 'payload_too_large'
2519
+ | 'rate_limit'
2520
+ | 'offline'
2521
+ | 'bad_response'
2522
+ | 'internal';
2523
+ /** @enum {string} */
2524
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2525
+ message: string;
2526
+ /** @enum {string} */
2527
+ subtype?: 'burst' | 'monthly';
2528
+ exceptionId?: string;
2529
+ };
2530
+ };
2531
+ };
2532
+ };
2533
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2534
+ 503: {
2535
+ headers: {
2536
+ [name: string]: unknown;
2537
+ };
2538
+ content: {
2539
+ 'application/json': {
2540
+ error: {
2541
+ /** @enum {string} */
2542
+ type:
2543
+ | 'bad_request'
2544
+ | 'unauthorized'
2545
+ | 'forbidden'
2546
+ | 'not_found'
2547
+ | 'conflict'
2548
+ | 'payload_too_large'
2549
+ | 'rate_limit'
2550
+ | 'offline'
2551
+ | 'bad_response'
2552
+ | 'internal';
2553
+ /** @enum {string} */
2554
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2555
+ message: string;
2556
+ /** @enum {string} */
2557
+ subtype?: 'burst' | 'monthly';
2558
+ exceptionId?: string;
2559
+ };
2560
+ };
2561
+ };
2562
+ };
2563
+ };
2564
+ };
2565
+ put?: never;
2566
+ post?: never;
1224
2567
  delete?: never;
1225
2568
  options?: never;
1226
2569
  head?: never;
@@ -1269,9 +2612,24 @@ type paths = {
1269
2612
  content: {
1270
2613
  'application/json': {
1271
2614
  error: {
1272
- type: string;
1273
- surface: string;
2615
+ /** @enum {string} */
2616
+ type:
2617
+ | 'bad_request'
2618
+ | 'unauthorized'
2619
+ | 'forbidden'
2620
+ | 'not_found'
2621
+ | 'conflict'
2622
+ | 'payload_too_large'
2623
+ | 'rate_limit'
2624
+ | 'offline'
2625
+ | 'bad_response'
2626
+ | 'internal';
2627
+ /** @enum {string} */
2628
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1274
2629
  message: string;
2630
+ /** @enum {string} */
2631
+ subtype?: 'burst' | 'monthly';
2632
+ exceptionId?: string;
1275
2633
  };
1276
2634
  };
1277
2635
  };
@@ -1284,9 +2642,54 @@ type paths = {
1284
2642
  content: {
1285
2643
  'application/json': {
1286
2644
  error: {
1287
- type: string;
1288
- surface: string;
2645
+ /** @enum {string} */
2646
+ type:
2647
+ | 'bad_request'
2648
+ | 'unauthorized'
2649
+ | 'forbidden'
2650
+ | 'not_found'
2651
+ | 'conflict'
2652
+ | 'payload_too_large'
2653
+ | 'rate_limit'
2654
+ | 'offline'
2655
+ | 'bad_response'
2656
+ | 'internal';
2657
+ /** @enum {string} */
2658
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2659
+ message: string;
2660
+ /** @enum {string} */
2661
+ subtype?: 'burst' | 'monthly';
2662
+ exceptionId?: string;
2663
+ };
2664
+ };
2665
+ };
2666
+ };
2667
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2668
+ 503: {
2669
+ headers: {
2670
+ [name: string]: unknown;
2671
+ };
2672
+ content: {
2673
+ 'application/json': {
2674
+ error: {
2675
+ /** @enum {string} */
2676
+ type:
2677
+ | 'bad_request'
2678
+ | 'unauthorized'
2679
+ | 'forbidden'
2680
+ | 'not_found'
2681
+ | 'conflict'
2682
+ | 'payload_too_large'
2683
+ | 'rate_limit'
2684
+ | 'offline'
2685
+ | 'bad_response'
2686
+ | 'internal';
2687
+ /** @enum {string} */
2688
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1289
2689
  message: string;
2690
+ /** @enum {string} */
2691
+ subtype?: 'burst' | 'monthly';
2692
+ exceptionId?: string;
1290
2693
  };
1291
2694
  };
1292
2695
  };
@@ -1343,9 +2746,54 @@ type paths = {
1343
2746
  content: {
1344
2747
  'application/json': {
1345
2748
  error: {
1346
- type: string;
1347
- surface: string;
2749
+ /** @enum {string} */
2750
+ type:
2751
+ | 'bad_request'
2752
+ | 'unauthorized'
2753
+ | 'forbidden'
2754
+ | 'not_found'
2755
+ | 'conflict'
2756
+ | 'payload_too_large'
2757
+ | 'rate_limit'
2758
+ | 'offline'
2759
+ | 'bad_response'
2760
+ | 'internal';
2761
+ /** @enum {string} */
2762
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2763
+ message: string;
2764
+ /** @enum {string} */
2765
+ subtype?: 'burst' | 'monthly';
2766
+ exceptionId?: string;
2767
+ };
2768
+ };
2769
+ };
2770
+ };
2771
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2772
+ 503: {
2773
+ headers: {
2774
+ [name: string]: unknown;
2775
+ };
2776
+ content: {
2777
+ 'application/json': {
2778
+ error: {
2779
+ /** @enum {string} */
2780
+ type:
2781
+ | 'bad_request'
2782
+ | 'unauthorized'
2783
+ | 'forbidden'
2784
+ | 'not_found'
2785
+ | 'conflict'
2786
+ | 'payload_too_large'
2787
+ | 'rate_limit'
2788
+ | 'offline'
2789
+ | 'bad_response'
2790
+ | 'internal';
2791
+ /** @enum {string} */
2792
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1348
2793
  message: string;
2794
+ /** @enum {string} */
2795
+ subtype?: 'burst' | 'monthly';
2796
+ exceptionId?: string;
1349
2797
  };
1350
2798
  };
1351
2799
  };
@@ -1398,9 +2846,24 @@ type paths = {
1398
2846
  content: {
1399
2847
  'application/json': {
1400
2848
  error: {
1401
- type: string;
1402
- surface: string;
2849
+ /** @enum {string} */
2850
+ type:
2851
+ | 'bad_request'
2852
+ | 'unauthorized'
2853
+ | 'forbidden'
2854
+ | 'not_found'
2855
+ | 'conflict'
2856
+ | 'payload_too_large'
2857
+ | 'rate_limit'
2858
+ | 'offline'
2859
+ | 'bad_response'
2860
+ | 'internal';
2861
+ /** @enum {string} */
2862
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1403
2863
  message: string;
2864
+ /** @enum {string} */
2865
+ subtype?: 'burst' | 'monthly';
2866
+ exceptionId?: string;
1404
2867
  };
1405
2868
  };
1406
2869
  };
@@ -1413,9 +2876,54 @@ type paths = {
1413
2876
  content: {
1414
2877
  'application/json': {
1415
2878
  error: {
1416
- type: string;
1417
- surface: string;
2879
+ /** @enum {string} */
2880
+ type:
2881
+ | 'bad_request'
2882
+ | 'unauthorized'
2883
+ | 'forbidden'
2884
+ | 'not_found'
2885
+ | 'conflict'
2886
+ | 'payload_too_large'
2887
+ | 'rate_limit'
2888
+ | 'offline'
2889
+ | 'bad_response'
2890
+ | 'internal';
2891
+ /** @enum {string} */
2892
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2893
+ message: string;
2894
+ /** @enum {string} */
2895
+ subtype?: 'burst' | 'monthly';
2896
+ exceptionId?: string;
2897
+ };
2898
+ };
2899
+ };
2900
+ };
2901
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
2902
+ 503: {
2903
+ headers: {
2904
+ [name: string]: unknown;
2905
+ };
2906
+ content: {
2907
+ 'application/json': {
2908
+ error: {
2909
+ /** @enum {string} */
2910
+ type:
2911
+ | 'bad_request'
2912
+ | 'unauthorized'
2913
+ | 'forbidden'
2914
+ | 'not_found'
2915
+ | 'conflict'
2916
+ | 'payload_too_large'
2917
+ | 'rate_limit'
2918
+ | 'offline'
2919
+ | 'bad_response'
2920
+ | 'internal';
2921
+ /** @enum {string} */
2922
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1418
2923
  message: string;
2924
+ /** @enum {string} */
2925
+ subtype?: 'burst' | 'monthly';
2926
+ exceptionId?: string;
1419
2927
  };
1420
2928
  };
1421
2929
  };
@@ -1470,9 +2978,54 @@ type paths = {
1470
2978
  content: {
1471
2979
  'application/json': {
1472
2980
  error: {
1473
- type: string;
1474
- surface: string;
2981
+ /** @enum {string} */
2982
+ type:
2983
+ | 'bad_request'
2984
+ | 'unauthorized'
2985
+ | 'forbidden'
2986
+ | 'not_found'
2987
+ | 'conflict'
2988
+ | 'payload_too_large'
2989
+ | 'rate_limit'
2990
+ | 'offline'
2991
+ | 'bad_response'
2992
+ | 'internal';
2993
+ /** @enum {string} */
2994
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
2995
+ message: string;
2996
+ /** @enum {string} */
2997
+ subtype?: 'burst' | 'monthly';
2998
+ exceptionId?: string;
2999
+ };
3000
+ };
3001
+ };
3002
+ };
3003
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
3004
+ 503: {
3005
+ headers: {
3006
+ [name: string]: unknown;
3007
+ };
3008
+ content: {
3009
+ 'application/json': {
3010
+ error: {
3011
+ /** @enum {string} */
3012
+ type:
3013
+ | 'bad_request'
3014
+ | 'unauthorized'
3015
+ | 'forbidden'
3016
+ | 'not_found'
3017
+ | 'conflict'
3018
+ | 'payload_too_large'
3019
+ | 'rate_limit'
3020
+ | 'offline'
3021
+ | 'bad_response'
3022
+ | 'internal';
3023
+ /** @enum {string} */
3024
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1475
3025
  message: string;
3026
+ /** @enum {string} */
3027
+ subtype?: 'burst' | 'monthly';
3028
+ exceptionId?: string;
1476
3029
  };
1477
3030
  };
1478
3031
  };
@@ -1532,9 +3085,24 @@ type paths = {
1532
3085
  content: {
1533
3086
  'application/json': {
1534
3087
  error: {
1535
- type: string;
1536
- surface: string;
3088
+ /** @enum {string} */
3089
+ type:
3090
+ | 'bad_request'
3091
+ | 'unauthorized'
3092
+ | 'forbidden'
3093
+ | 'not_found'
3094
+ | 'conflict'
3095
+ | 'payload_too_large'
3096
+ | 'rate_limit'
3097
+ | 'offline'
3098
+ | 'bad_response'
3099
+ | 'internal';
3100
+ /** @enum {string} */
3101
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1537
3102
  message: string;
3103
+ /** @enum {string} */
3104
+ subtype?: 'burst' | 'monthly';
3105
+ exceptionId?: string;
1538
3106
  };
1539
3107
  };
1540
3108
  };
@@ -1547,9 +3115,54 @@ type paths = {
1547
3115
  content: {
1548
3116
  'application/json': {
1549
3117
  error: {
1550
- type: string;
1551
- surface: string;
3118
+ /** @enum {string} */
3119
+ type:
3120
+ | 'bad_request'
3121
+ | 'unauthorized'
3122
+ | 'forbidden'
3123
+ | 'not_found'
3124
+ | 'conflict'
3125
+ | 'payload_too_large'
3126
+ | 'rate_limit'
3127
+ | 'offline'
3128
+ | 'bad_response'
3129
+ | 'internal';
3130
+ /** @enum {string} */
3131
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
3132
+ message: string;
3133
+ /** @enum {string} */
3134
+ subtype?: 'burst' | 'monthly';
3135
+ exceptionId?: string;
3136
+ };
3137
+ };
3138
+ };
3139
+ };
3140
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
3141
+ 503: {
3142
+ headers: {
3143
+ [name: string]: unknown;
3144
+ };
3145
+ content: {
3146
+ 'application/json': {
3147
+ error: {
3148
+ /** @enum {string} */
3149
+ type:
3150
+ | 'bad_request'
3151
+ | 'unauthorized'
3152
+ | 'forbidden'
3153
+ | 'not_found'
3154
+ | 'conflict'
3155
+ | 'payload_too_large'
3156
+ | 'rate_limit'
3157
+ | 'offline'
3158
+ | 'bad_response'
3159
+ | 'internal';
3160
+ /** @enum {string} */
3161
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1552
3162
  message: string;
3163
+ /** @enum {string} */
3164
+ subtype?: 'burst' | 'monthly';
3165
+ exceptionId?: string;
1553
3166
  };
1554
3167
  };
1555
3168
  };
@@ -1732,9 +3345,24 @@ type paths = {
1732
3345
  content: {
1733
3346
  'application/json': {
1734
3347
  error: {
1735
- type: string;
1736
- surface: string;
3348
+ /** @enum {string} */
3349
+ type:
3350
+ | 'bad_request'
3351
+ | 'unauthorized'
3352
+ | 'forbidden'
3353
+ | 'not_found'
3354
+ | 'conflict'
3355
+ | 'payload_too_large'
3356
+ | 'rate_limit'
3357
+ | 'offline'
3358
+ | 'bad_response'
3359
+ | 'internal';
3360
+ /** @enum {string} */
3361
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1737
3362
  message: string;
3363
+ /** @enum {string} */
3364
+ subtype?: 'burst' | 'monthly';
3365
+ exceptionId?: string;
1738
3366
  };
1739
3367
  };
1740
3368
  };
@@ -1747,9 +3375,54 @@ type paths = {
1747
3375
  content: {
1748
3376
  'application/json': {
1749
3377
  error: {
1750
- type: string;
1751
- surface: string;
3378
+ /** @enum {string} */
3379
+ type:
3380
+ | 'bad_request'
3381
+ | 'unauthorized'
3382
+ | 'forbidden'
3383
+ | 'not_found'
3384
+ | 'conflict'
3385
+ | 'payload_too_large'
3386
+ | 'rate_limit'
3387
+ | 'offline'
3388
+ | 'bad_response'
3389
+ | 'internal';
3390
+ /** @enum {string} */
3391
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
3392
+ message: string;
3393
+ /** @enum {string} */
3394
+ subtype?: 'burst' | 'monthly';
3395
+ exceptionId?: string;
3396
+ };
3397
+ };
3398
+ };
3399
+ };
3400
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
3401
+ 503: {
3402
+ headers: {
3403
+ [name: string]: unknown;
3404
+ };
3405
+ content: {
3406
+ 'application/json': {
3407
+ error: {
3408
+ /** @enum {string} */
3409
+ type:
3410
+ | 'bad_request'
3411
+ | 'unauthorized'
3412
+ | 'forbidden'
3413
+ | 'not_found'
3414
+ | 'conflict'
3415
+ | 'payload_too_large'
3416
+ | 'rate_limit'
3417
+ | 'offline'
3418
+ | 'bad_response'
3419
+ | 'internal';
3420
+ /** @enum {string} */
3421
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1752
3422
  message: string;
3423
+ /** @enum {string} */
3424
+ subtype?: 'burst' | 'monthly';
3425
+ exceptionId?: string;
1753
3426
  };
1754
3427
  };
1755
3428
  };
@@ -1805,9 +3478,54 @@ type paths = {
1805
3478
  content: {
1806
3479
  'application/json': {
1807
3480
  error: {
1808
- type: string;
1809
- surface: string;
3481
+ /** @enum {string} */
3482
+ type:
3483
+ | 'bad_request'
3484
+ | 'unauthorized'
3485
+ | 'forbidden'
3486
+ | 'not_found'
3487
+ | 'conflict'
3488
+ | 'payload_too_large'
3489
+ | 'rate_limit'
3490
+ | 'offline'
3491
+ | 'bad_response'
3492
+ | 'internal';
3493
+ /** @enum {string} */
3494
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
3495
+ message: string;
3496
+ /** @enum {string} */
3497
+ subtype?: 'burst' | 'monthly';
3498
+ exceptionId?: string;
3499
+ };
3500
+ };
3501
+ };
3502
+ };
3503
+ /** @description Service unavailable — an upstream dependency (e.g. Storage API) is unreachable */
3504
+ 503: {
3505
+ headers: {
3506
+ [name: string]: unknown;
3507
+ };
3508
+ content: {
3509
+ 'application/json': {
3510
+ error: {
3511
+ /** @enum {string} */
3512
+ type:
3513
+ | 'bad_request'
3514
+ | 'unauthorized'
3515
+ | 'forbidden'
3516
+ | 'not_found'
3517
+ | 'conflict'
3518
+ | 'payload_too_large'
3519
+ | 'rate_limit'
3520
+ | 'offline'
3521
+ | 'bad_response'
3522
+ | 'internal';
3523
+ /** @enum {string} */
3524
+ surface: 'chat' | 'auth' | 'api' | 'stream' | 'database' | 'history' | 'vote';
1810
3525
  message: string;
3526
+ /** @enum {string} */
3527
+ subtype?: 'burst' | 'monthly';
3528
+ exceptionId?: string;
1811
3529
  };
1812
3530
  };
1813
3531
  };
@@ -1864,6 +3582,16 @@ declare const generateUUID: () => `${string}-${string}-${string}-${string}-${str
1864
3582
  */
1865
3583
  declare const series: <T, R>(options: Omit<ConcurrentOptions<T, R>, "concurrency">) => Promise<R[]>;
1866
3584
 
3585
+ /**
3586
+ * Strips trailing slashes from a base URL so concatenating a leading-slash
3587
+ * path (e.g. `/v2/storage`) never produces a double slash.
3588
+ *
3589
+ * Without this, callers that pass `https://connection.keboola.com/` end up
3590
+ * issuing requests to `https://connection.keboola.com//v2/storage/...`, which
3591
+ * the Storage API rejects with a 404.
3592
+ */
3593
+ declare const normalizeBaseUrl: (baseUrl: string) => string;
3594
+
1867
3595
  type ServiceUrls = Partial<Record<ServiceId, (url: string) => string | undefined | null>>;
1868
3596
 
1869
3597
  type ApiClientOptions = {
@@ -1906,6 +3634,143 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
1906
3634
  maxAttempts?: number;
1907
3635
  abortSignal?: AbortSignal;
1908
3636
  }) => Promise<TableExportJob>;
3637
+ getBucketListing: (bucketId: string, signal?: AbortSignal) => Promise<BucketListing | null>;
3638
+ listBucketListings: (signal?: AbortSignal) => Promise<BucketListing[]>;
3639
+ createBucketListing: (bucketId: string, input: CreateBucketListingInput, options?: {
3640
+ interval?: number;
3641
+ maxAttempts?: number;
3642
+ abortSignal?: AbortSignal;
3643
+ }) => Promise<{
3644
+ id: number;
3645
+ tableId: string | null;
3646
+ runId: string;
3647
+ url: string;
3648
+ createdTime: string;
3649
+ creatorToken: {
3650
+ id: string;
3651
+ description: string;
3652
+ };
3653
+ endTime: string | null;
3654
+ startTime: string | null;
3655
+ operationName: "bucketListingCreate";
3656
+ operationParams: {
3657
+ queue: string;
3658
+ } & {
3659
+ bucketId: string;
3660
+ };
3661
+ metrics: {
3662
+ inCompressed: boolean;
3663
+ inBytes: number;
3664
+ inBytesUncompressed: number;
3665
+ outCompressed: boolean;
3666
+ outBytes: number;
3667
+ outBytesUncompressed: number;
3668
+ };
3669
+ } & ({
3670
+ status: Exclude<"error" | "success" | "warning" | "created" | "waiting" | "processing" | "terminating" | "terminated" | "cancelled", "success" | "error">;
3671
+ results: null;
3672
+ } | {
3673
+ status: "error";
3674
+ results: null;
3675
+ error: {
3676
+ code: string;
3677
+ message: string;
3678
+ exceptionId?: string;
3679
+ };
3680
+ } | {
3681
+ status: "success";
3682
+ results: null;
3683
+ })>;
3684
+ updateBucketListing: (bucketId: string, input: UpdateBucketListingInput, options?: {
3685
+ interval?: number;
3686
+ maxAttempts?: number;
3687
+ abortSignal?: AbortSignal;
3688
+ }) => Promise<{
3689
+ id: number;
3690
+ tableId: string | null;
3691
+ runId: string;
3692
+ url: string;
3693
+ createdTime: string;
3694
+ creatorToken: {
3695
+ id: string;
3696
+ description: string;
3697
+ };
3698
+ endTime: string | null;
3699
+ startTime: string | null;
3700
+ operationName: "bucketListingUpdate";
3701
+ operationParams: {
3702
+ queue: string;
3703
+ } & {
3704
+ bucketId: string;
3705
+ };
3706
+ metrics: {
3707
+ inCompressed: boolean;
3708
+ inBytes: number;
3709
+ inBytesUncompressed: number;
3710
+ outCompressed: boolean;
3711
+ outBytes: number;
3712
+ outBytesUncompressed: number;
3713
+ };
3714
+ } & ({
3715
+ status: Exclude<"error" | "success" | "warning" | "created" | "waiting" | "processing" | "terminating" | "terminated" | "cancelled", "success" | "error">;
3716
+ results: null;
3717
+ } | {
3718
+ status: "error";
3719
+ results: null;
3720
+ error: {
3721
+ code: string;
3722
+ message: string;
3723
+ exceptionId?: string;
3724
+ };
3725
+ } | {
3726
+ status: "success";
3727
+ results: null;
3728
+ })>;
3729
+ deleteBucketListing: (bucketId: string, options?: {
3730
+ interval?: number;
3731
+ maxAttempts?: number;
3732
+ abortSignal?: AbortSignal;
3733
+ }) => Promise<{
3734
+ id: number;
3735
+ tableId: string | null;
3736
+ runId: string;
3737
+ url: string;
3738
+ createdTime: string;
3739
+ creatorToken: {
3740
+ id: string;
3741
+ description: string;
3742
+ };
3743
+ endTime: string | null;
3744
+ startTime: string | null;
3745
+ operationName: "bucketListingDelete";
3746
+ operationParams: {
3747
+ queue: string;
3748
+ } & {
3749
+ bucketId: string;
3750
+ };
3751
+ metrics: {
3752
+ inCompressed: boolean;
3753
+ inBytes: number;
3754
+ inBytesUncompressed: number;
3755
+ outCompressed: boolean;
3756
+ outBytes: number;
3757
+ outBytesUncompressed: number;
3758
+ };
3759
+ } & ({
3760
+ status: Exclude<"error" | "success" | "warning" | "created" | "waiting" | "processing" | "terminating" | "terminated" | "cancelled", "success" | "error">;
3761
+ results: null;
3762
+ } | {
3763
+ status: "error";
3764
+ results: null;
3765
+ error: {
3766
+ code: string;
3767
+ message: string;
3768
+ exceptionId?: string;
3769
+ };
3770
+ } | {
3771
+ status: "success";
3772
+ results: null;
3773
+ })>;
1909
3774
  };
1910
3775
  };
1911
3776
  vault: {
@@ -2623,6 +4488,19 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
2623
4488
  result: string;
2624
4489
  } | {
2625
4490
  type: "step-start";
4491
+ } | {
4492
+ type: "data-compact-boundary";
4493
+ data: {
4494
+ trigger: "manual" | "auto";
4495
+ preTokens: number;
4496
+ preservedSegment?: {
4497
+ headUuid: string;
4498
+ anchorUuid: string;
4499
+ tailUuid: string;
4500
+ };
4501
+ summary: string;
4502
+ sdkSessionId: string;
4503
+ };
2626
4504
  } | {
2627
4505
  type: string;
2628
4506
  toolCallId: string;
@@ -2645,8 +4523,6 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
2645
4523
  path?: string;
2646
4524
  sqlEditorActive?: boolean;
2647
4525
  };
2648
- compactedTo?: string;
2649
- compactedFrom?: string;
2650
4526
  };
2651
4527
  status?: "pending" | "completed" | "interrupted" | "failed";
2652
4528
  }[];
@@ -2721,6 +4597,23 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
2721
4597
  readOnly: boolean;
2722
4598
  }[];
2723
4599
  }>;
4600
+ listSandboxFiles: (chatId: string, path?: string, signal?: AbortSignal) => Promise<{
4601
+ entries: {
4602
+ name: string;
4603
+ path: string;
4604
+ type: "file" | "dir";
4605
+ size?: number | undefined;
4606
+ }[];
4607
+ }>;
4608
+ readSandboxFile: (chatId: string, path: string, signal?: AbortSignal) => Promise<{
4609
+ content: string;
4610
+ encoding: "utf-8" | "binary";
4611
+ truncated: boolean;
4612
+ size: number;
4613
+ }>;
4614
+ getSandboxGitBranch: (chatId: string, signal?: AbortSignal) => Promise<{
4615
+ branch: string | null;
4616
+ }>;
2724
4617
  chatStreamUrl: string;
2725
4618
  };
2726
4619
  oauth: {
@@ -2811,6 +4704,11 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
2811
4704
  })>;
2812
4705
  createScheduledRefresh: (input: CreateScheduledRefreshPath & CreateScheduledRefreshBody) => Promise<ScheduledTask>;
2813
4706
  deleteScheduledTask: (taskId: string) => Promise<void>;
4707
+ getListing: (bucketId: string, signal?: AbortSignal) => Promise<BucketListing | null>;
4708
+ createListing: (bucketId: string, input: CreateBucketListingInput, signal?: AbortSignal) => Promise<Job<"bucketListingCreate">>;
4709
+ updateListing: (bucketId: string, input: UpdateBucketListingInput, signal?: AbortSignal) => Promise<Job<"bucketListingUpdate">>;
4710
+ deleteListing: (bucketId: string, signal?: AbortSignal) => Promise<Job<"bucketListingDelete">>;
4711
+ listListings: (signal?: AbortSignal) => Promise<BucketListing[]>;
2814
4712
  };
2815
4713
  events: {
2816
4714
  getEvents: (query?: GetEventsQuery, signal?: AbortSignal) => Promise<StorageEvent[]>;
@@ -3042,6 +4940,7 @@ declare const createClients: ({ baseUrl, token, callbacks, assetsBaseUrl, status
3042
4940
  exceptionId?: string;
3043
4941
  };
3044
4942
  })>;
4943
+ unloadWorkspace: ({ branchId, workspaceId, ...query }: UnloadWorkspaceInput) => Promise<unknown>;
3045
4944
  };
3046
4945
  mergeRequests: {
3047
4946
  getMergeRequests: (signal?: AbortSignal) => Promise<{
@@ -3877,4 +5776,4 @@ declare const createDevApiClient: () => {
3877
5776
  };
3878
5777
  };
3879
5778
 
3880
- export { type ApiClient, type ApiClientOptions, ConcurrentOptions, HttpContentType, HttpHeader, KeboolaHttpHeader, KeboolaObjectId, type Log, type LogLevel, type Logger, type LoggingOptions, MiddlewareFn, PollException, type RequestLog, type ResponseLog, type RetryOptions, ServiceUnavailableError, UserError, assert, consoleLogger, createApiClient, createDevApiClient, createLoggingMiddleware, createRetryMiddleware, delay, generateUUID, poll, series };
5779
+ export { type ApiClient, type ApiClientOptions, ConcurrentOptions, HttpContentType, HttpHeader, KeboolaHttpHeader, KeboolaObjectId, type Log, type LogLevel, type Logger, type LoggingOptions, MiddlewareFn, PollException, type RequestLog, type ResponseLog, type RetryOptions, ServiceUnavailableError, UserError, assert, consoleLogger, createApiClient, createDevApiClient, createLoggingMiddleware, createRetryMiddleware, delay, generateUUID, normalizeBaseUrl, poll, series };