qca-sdk 0.1.0-dev.2 → 0.1.0-dev.4

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 (328) hide show
  1. package/README.md +242 -65
  2. package/dist/core/uploads.d.ts +1 -1
  3. package/dist/core/uploads.d.ts.map +1 -1
  4. package/dist/core/uploads.js +1 -1
  5. package/dist/core/uploads.js.map +1 -1
  6. package/dist/esm/core/uploads.d.ts +1 -1
  7. package/dist/esm/core/uploads.d.ts.map +1 -1
  8. package/dist/esm/core/uploads.js +1 -1
  9. package/dist/esm/core/uploads.js.map +1 -1
  10. package/dist/esm/forward/_utils.d.ts +1 -1
  11. package/dist/esm/forward/_utils.d.ts.map +1 -1
  12. package/dist/esm/forward/_utils.js +2 -2
  13. package/dist/esm/forward/_utils.js.map +1 -1
  14. package/dist/esm/forward/batch-task.d.ts +0 -1
  15. package/dist/esm/forward/batch-task.d.ts.map +1 -1
  16. package/dist/esm/forward/batch-task.js +1 -2
  17. package/dist/esm/forward/batch-task.js.map +1 -1
  18. package/dist/esm/forward/batch.d.ts +0 -6
  19. package/dist/esm/forward/batch.d.ts.map +1 -1
  20. package/dist/esm/forward/batch.js +1 -7
  21. package/dist/esm/forward/batch.js.map +1 -1
  22. package/dist/esm/forward/channel-pairing.d.ts +0 -2
  23. package/dist/esm/forward/channel-pairing.d.ts.map +1 -1
  24. package/dist/esm/forward/channel-pairing.js +1 -3
  25. package/dist/esm/forward/channel-pairing.js.map +1 -1
  26. package/dist/esm/forward/channel-qr-session.d.ts +0 -2
  27. package/dist/esm/forward/channel-qr-session.d.ts.map +1 -1
  28. package/dist/esm/forward/channel-qr-session.js +1 -3
  29. package/dist/esm/forward/channel-qr-session.js.map +1 -1
  30. package/dist/esm/forward/channel.d.ts +0 -5
  31. package/dist/esm/forward/channel.d.ts.map +1 -1
  32. package/dist/esm/forward/channel.js +1 -6
  33. package/dist/esm/forward/channel.js.map +1 -1
  34. package/dist/esm/forward/environment.d.ts +0 -6
  35. package/dist/esm/forward/environment.d.ts.map +1 -1
  36. package/dist/esm/forward/environment.js +1 -7
  37. package/dist/esm/forward/environment.js.map +1 -1
  38. package/dist/esm/forward/file.d.ts +0 -5
  39. package/dist/esm/forward/file.d.ts.map +1 -1
  40. package/dist/esm/forward/file.js +1 -6
  41. package/dist/esm/forward/file.js.map +1 -1
  42. package/dist/esm/forward/forwardClient.js +1 -1
  43. package/dist/esm/forward/forwardClient.js.map +1 -1
  44. package/dist/esm/forward/identity-config.d.ts +0 -4
  45. package/dist/esm/forward/identity-config.d.ts.map +1 -1
  46. package/dist/esm/forward/identity-config.js +1 -5
  47. package/dist/esm/forward/identity-config.js.map +1 -1
  48. package/dist/esm/forward/identity-memory-store.d.ts +0 -3
  49. package/dist/esm/forward/identity-memory-store.d.ts.map +1 -1
  50. package/dist/esm/forward/identity-memory-store.js +1 -4
  51. package/dist/esm/forward/identity-memory-store.js.map +1 -1
  52. package/dist/esm/forward/identity.d.ts +0 -11
  53. package/dist/esm/forward/identity.d.ts.map +1 -1
  54. package/dist/esm/forward/identity.js +1 -12
  55. package/dist/esm/forward/identity.js.map +1 -1
  56. package/dist/esm/forward/memory-store-memory-version.d.ts +0 -3
  57. package/dist/esm/forward/memory-store-memory-version.d.ts.map +1 -1
  58. package/dist/esm/forward/memory-store-memory-version.js +1 -4
  59. package/dist/esm/forward/memory-store-memory-version.js.map +1 -1
  60. package/dist/esm/forward/memory-store-memory.d.ts +0 -5
  61. package/dist/esm/forward/memory-store-memory.d.ts.map +1 -1
  62. package/dist/esm/forward/memory-store-memory.js +1 -6
  63. package/dist/esm/forward/memory-store-memory.js.map +1 -1
  64. package/dist/esm/forward/memory-store.d.ts +0 -6
  65. package/dist/esm/forward/memory-store.d.ts.map +1 -1
  66. package/dist/esm/forward/memory-store.js +1 -7
  67. package/dist/esm/forward/memory-store.js.map +1 -1
  68. package/dist/esm/forward/model.d.ts +0 -1
  69. package/dist/esm/forward/model.d.ts.map +1 -1
  70. package/dist/esm/forward/model.js +1 -2
  71. package/dist/esm/forward/model.js.map +1 -1
  72. package/dist/esm/forward/schedule-run.d.ts +0 -2
  73. package/dist/esm/forward/schedule-run.d.ts.map +1 -1
  74. package/dist/esm/forward/schedule-run.js +1 -3
  75. package/dist/esm/forward/schedule-run.js.map +1 -1
  76. package/dist/esm/forward/schedule.d.ts +0 -9
  77. package/dist/esm/forward/schedule.d.ts.map +1 -1
  78. package/dist/esm/forward/schedule.js +1 -10
  79. package/dist/esm/forward/schedule.js.map +1 -1
  80. package/dist/esm/forward/session-event.d.ts +0 -3
  81. package/dist/esm/forward/session-event.d.ts.map +1 -1
  82. package/dist/esm/forward/session-event.js +1 -4
  83. package/dist/esm/forward/session-event.js.map +1 -1
  84. package/dist/esm/forward/session-resource.d.ts +0 -1
  85. package/dist/esm/forward/session-resource.d.ts.map +1 -1
  86. package/dist/esm/forward/session-resource.js +1 -2
  87. package/dist/esm/forward/session-resource.js.map +1 -1
  88. package/dist/esm/forward/session-thread-event.d.ts +0 -2
  89. package/dist/esm/forward/session-thread-event.d.ts.map +1 -1
  90. package/dist/esm/forward/session-thread-event.js +1 -3
  91. package/dist/esm/forward/session-thread-event.js.map +1 -1
  92. package/dist/esm/forward/session-thread.d.ts +0 -3
  93. package/dist/esm/forward/session-thread.d.ts.map +1 -1
  94. package/dist/esm/forward/session-thread.js +1 -4
  95. package/dist/esm/forward/session-thread.js.map +1 -1
  96. package/dist/esm/forward/session.d.ts +0 -6
  97. package/dist/esm/forward/session.d.ts.map +1 -1
  98. package/dist/esm/forward/session.js +1 -7
  99. package/dist/esm/forward/session.js.map +1 -1
  100. package/dist/esm/forward/skill-version.d.ts +0 -5
  101. package/dist/esm/forward/skill-version.d.ts.map +1 -1
  102. package/dist/esm/forward/skill-version.js +1 -6
  103. package/dist/esm/forward/skill-version.js.map +1 -1
  104. package/dist/esm/forward/skill.d.ts +0 -5
  105. package/dist/esm/forward/skill.d.ts.map +1 -1
  106. package/dist/esm/forward/skill.js +1 -6
  107. package/dist/esm/forward/skill.js.map +1 -1
  108. package/dist/esm/forward/template.d.ts +0 -6
  109. package/dist/esm/forward/template.d.ts.map +1 -1
  110. package/dist/esm/forward/template.js +1 -7
  111. package/dist/esm/forward/template.js.map +1 -1
  112. package/dist/esm/forward/types.d.ts +0 -181
  113. package/dist/esm/forward/types.d.ts.map +1 -1
  114. package/dist/esm/forward/vault-credential.d.ts +0 -4
  115. package/dist/esm/forward/vault-credential.d.ts.map +1 -1
  116. package/dist/esm/forward/vault-credential.js +1 -5
  117. package/dist/esm/forward/vault-credential.js.map +1 -1
  118. package/dist/esm/forward/vault.d.ts +0 -4
  119. package/dist/esm/forward/vault.d.ts.map +1 -1
  120. package/dist/esm/forward/vault.js +1 -5
  121. package/dist/esm/forward/vault.js.map +1 -1
  122. package/dist/esm/managed/internal.js +1 -1
  123. package/dist/esm/managed/internal.js.map +1 -1
  124. package/dist/esm/managed/resources/agent-version.js +1 -1
  125. package/dist/esm/managed/resources/agent-version.js.map +1 -1
  126. package/dist/esm/managed/resources/agent.js +1 -1
  127. package/dist/esm/managed/resources/agent.js.map +1 -1
  128. package/dist/esm/managed/resources/deployment-run.js +1 -1
  129. package/dist/esm/managed/resources/deployment-run.js.map +1 -1
  130. package/dist/esm/managed/resources/deployment.js +1 -1
  131. package/dist/esm/managed/resources/deployment.js.map +1 -1
  132. package/dist/esm/managed/resources/dream.js +1 -1
  133. package/dist/esm/managed/resources/dream.js.map +1 -1
  134. package/dist/esm/managed/resources/environment-work.js +1 -1
  135. package/dist/esm/managed/resources/environment-work.js.map +1 -1
  136. package/dist/esm/managed/resources/environment.js +1 -1
  137. package/dist/esm/managed/resources/environment.js.map +1 -1
  138. package/dist/esm/managed/resources/file.js +1 -1
  139. package/dist/esm/managed/resources/file.js.map +1 -1
  140. package/dist/esm/managed/resources/memory-store-memory-version.js +1 -1
  141. package/dist/esm/managed/resources/memory-store-memory-version.js.map +1 -1
  142. package/dist/esm/managed/resources/memory-store-memory.js +1 -1
  143. package/dist/esm/managed/resources/memory-store-memory.js.map +1 -1
  144. package/dist/esm/managed/resources/memory-store.js +1 -1
  145. package/dist/esm/managed/resources/memory-store.js.map +1 -1
  146. package/dist/esm/managed/resources/model.js +1 -1
  147. package/dist/esm/managed/resources/model.js.map +1 -1
  148. package/dist/esm/managed/resources/session-event.js +1 -1
  149. package/dist/esm/managed/resources/session-event.js.map +1 -1
  150. package/dist/esm/managed/resources/session-resource.js +1 -1
  151. package/dist/esm/managed/resources/session-resource.js.map +1 -1
  152. package/dist/esm/managed/resources/session-thread-event.js +1 -1
  153. package/dist/esm/managed/resources/session-thread-event.js.map +1 -1
  154. package/dist/esm/managed/resources/session-thread.js +1 -1
  155. package/dist/esm/managed/resources/session-thread.js.map +1 -1
  156. package/dist/esm/managed/resources/session.js +1 -1
  157. package/dist/esm/managed/resources/session.js.map +1 -1
  158. package/dist/esm/managed/resources/skill-version.js +1 -1
  159. package/dist/esm/managed/resources/skill-version.js.map +1 -1
  160. package/dist/esm/managed/resources/skill.js +1 -1
  161. package/dist/esm/managed/resources/skill.js.map +1 -1
  162. package/dist/esm/managed/resources/vault-credential.js +1 -1
  163. package/dist/esm/managed/resources/vault-credential.js.map +1 -1
  164. package/dist/esm/managed/resources/vault.js +1 -1
  165. package/dist/esm/managed/resources/vault.js.map +1 -1
  166. package/dist/esm/managed/types.js +1 -1
  167. package/dist/esm/managed/types.js.map +1 -1
  168. package/dist/forward/_utils.d.ts +1 -1
  169. package/dist/forward/_utils.d.ts.map +1 -1
  170. package/dist/forward/_utils.js +2 -2
  171. package/dist/forward/_utils.js.map +1 -1
  172. package/dist/forward/batch-task.d.ts +0 -1
  173. package/dist/forward/batch-task.d.ts.map +1 -1
  174. package/dist/forward/batch-task.js +1 -2
  175. package/dist/forward/batch-task.js.map +1 -1
  176. package/dist/forward/batch.d.ts +0 -6
  177. package/dist/forward/batch.d.ts.map +1 -1
  178. package/dist/forward/batch.js +1 -7
  179. package/dist/forward/batch.js.map +1 -1
  180. package/dist/forward/channel-pairing.d.ts +0 -2
  181. package/dist/forward/channel-pairing.d.ts.map +1 -1
  182. package/dist/forward/channel-pairing.js +1 -3
  183. package/dist/forward/channel-pairing.js.map +1 -1
  184. package/dist/forward/channel-qr-session.d.ts +0 -2
  185. package/dist/forward/channel-qr-session.d.ts.map +1 -1
  186. package/dist/forward/channel-qr-session.js +1 -3
  187. package/dist/forward/channel-qr-session.js.map +1 -1
  188. package/dist/forward/channel.d.ts +0 -5
  189. package/dist/forward/channel.d.ts.map +1 -1
  190. package/dist/forward/channel.js +1 -6
  191. package/dist/forward/channel.js.map +1 -1
  192. package/dist/forward/environment.d.ts +0 -6
  193. package/dist/forward/environment.d.ts.map +1 -1
  194. package/dist/forward/environment.js +1 -7
  195. package/dist/forward/environment.js.map +1 -1
  196. package/dist/forward/file.d.ts +0 -5
  197. package/dist/forward/file.d.ts.map +1 -1
  198. package/dist/forward/file.js +1 -6
  199. package/dist/forward/file.js.map +1 -1
  200. package/dist/forward/forwardClient.js +1 -1
  201. package/dist/forward/forwardClient.js.map +1 -1
  202. package/dist/forward/identity-config.d.ts +0 -4
  203. package/dist/forward/identity-config.d.ts.map +1 -1
  204. package/dist/forward/identity-config.js +1 -5
  205. package/dist/forward/identity-config.js.map +1 -1
  206. package/dist/forward/identity-memory-store.d.ts +0 -3
  207. package/dist/forward/identity-memory-store.d.ts.map +1 -1
  208. package/dist/forward/identity-memory-store.js +1 -4
  209. package/dist/forward/identity-memory-store.js.map +1 -1
  210. package/dist/forward/identity.d.ts +0 -11
  211. package/dist/forward/identity.d.ts.map +1 -1
  212. package/dist/forward/identity.js +1 -12
  213. package/dist/forward/identity.js.map +1 -1
  214. package/dist/forward/memory-store-memory-version.d.ts +0 -3
  215. package/dist/forward/memory-store-memory-version.d.ts.map +1 -1
  216. package/dist/forward/memory-store-memory-version.js +1 -4
  217. package/dist/forward/memory-store-memory-version.js.map +1 -1
  218. package/dist/forward/memory-store-memory.d.ts +0 -5
  219. package/dist/forward/memory-store-memory.d.ts.map +1 -1
  220. package/dist/forward/memory-store-memory.js +1 -6
  221. package/dist/forward/memory-store-memory.js.map +1 -1
  222. package/dist/forward/memory-store.d.ts +0 -6
  223. package/dist/forward/memory-store.d.ts.map +1 -1
  224. package/dist/forward/memory-store.js +1 -7
  225. package/dist/forward/memory-store.js.map +1 -1
  226. package/dist/forward/model.d.ts +0 -1
  227. package/dist/forward/model.d.ts.map +1 -1
  228. package/dist/forward/model.js +1 -2
  229. package/dist/forward/model.js.map +1 -1
  230. package/dist/forward/schedule-run.d.ts +0 -2
  231. package/dist/forward/schedule-run.d.ts.map +1 -1
  232. package/dist/forward/schedule-run.js +1 -3
  233. package/dist/forward/schedule-run.js.map +1 -1
  234. package/dist/forward/schedule.d.ts +0 -9
  235. package/dist/forward/schedule.d.ts.map +1 -1
  236. package/dist/forward/schedule.js +1 -10
  237. package/dist/forward/schedule.js.map +1 -1
  238. package/dist/forward/session-event.d.ts +0 -3
  239. package/dist/forward/session-event.d.ts.map +1 -1
  240. package/dist/forward/session-event.js +1 -4
  241. package/dist/forward/session-event.js.map +1 -1
  242. package/dist/forward/session-resource.d.ts +0 -1
  243. package/dist/forward/session-resource.d.ts.map +1 -1
  244. package/dist/forward/session-resource.js +1 -2
  245. package/dist/forward/session-resource.js.map +1 -1
  246. package/dist/forward/session-thread-event.d.ts +0 -2
  247. package/dist/forward/session-thread-event.d.ts.map +1 -1
  248. package/dist/forward/session-thread-event.js +1 -3
  249. package/dist/forward/session-thread-event.js.map +1 -1
  250. package/dist/forward/session-thread.d.ts +0 -3
  251. package/dist/forward/session-thread.d.ts.map +1 -1
  252. package/dist/forward/session-thread.js +1 -4
  253. package/dist/forward/session-thread.js.map +1 -1
  254. package/dist/forward/session.d.ts +0 -6
  255. package/dist/forward/session.d.ts.map +1 -1
  256. package/dist/forward/session.js +1 -7
  257. package/dist/forward/session.js.map +1 -1
  258. package/dist/forward/skill-version.d.ts +0 -5
  259. package/dist/forward/skill-version.d.ts.map +1 -1
  260. package/dist/forward/skill-version.js +1 -6
  261. package/dist/forward/skill-version.js.map +1 -1
  262. package/dist/forward/skill.d.ts +0 -5
  263. package/dist/forward/skill.d.ts.map +1 -1
  264. package/dist/forward/skill.js +1 -6
  265. package/dist/forward/skill.js.map +1 -1
  266. package/dist/forward/template.d.ts +0 -6
  267. package/dist/forward/template.d.ts.map +1 -1
  268. package/dist/forward/template.js +1 -7
  269. package/dist/forward/template.js.map +1 -1
  270. package/dist/forward/types.d.ts +0 -181
  271. package/dist/forward/types.d.ts.map +1 -1
  272. package/dist/forward/vault-credential.d.ts +0 -4
  273. package/dist/forward/vault-credential.d.ts.map +1 -1
  274. package/dist/forward/vault-credential.js +1 -5
  275. package/dist/forward/vault-credential.js.map +1 -1
  276. package/dist/forward/vault.d.ts +0 -4
  277. package/dist/forward/vault.d.ts.map +1 -1
  278. package/dist/forward/vault.js +1 -5
  279. package/dist/forward/vault.js.map +1 -1
  280. package/dist/managed/internal.js +1 -1
  281. package/dist/managed/internal.js.map +1 -1
  282. package/dist/managed/resources/agent-version.js +1 -1
  283. package/dist/managed/resources/agent-version.js.map +1 -1
  284. package/dist/managed/resources/agent.js +1 -1
  285. package/dist/managed/resources/agent.js.map +1 -1
  286. package/dist/managed/resources/deployment-run.js +1 -1
  287. package/dist/managed/resources/deployment-run.js.map +1 -1
  288. package/dist/managed/resources/deployment.js +1 -1
  289. package/dist/managed/resources/deployment.js.map +1 -1
  290. package/dist/managed/resources/dream.js +1 -1
  291. package/dist/managed/resources/dream.js.map +1 -1
  292. package/dist/managed/resources/environment-work.js +1 -1
  293. package/dist/managed/resources/environment-work.js.map +1 -1
  294. package/dist/managed/resources/environment.js +1 -1
  295. package/dist/managed/resources/environment.js.map +1 -1
  296. package/dist/managed/resources/file.js +1 -1
  297. package/dist/managed/resources/file.js.map +1 -1
  298. package/dist/managed/resources/memory-store-memory-version.js +1 -1
  299. package/dist/managed/resources/memory-store-memory-version.js.map +1 -1
  300. package/dist/managed/resources/memory-store-memory.js +1 -1
  301. package/dist/managed/resources/memory-store-memory.js.map +1 -1
  302. package/dist/managed/resources/memory-store.js +1 -1
  303. package/dist/managed/resources/memory-store.js.map +1 -1
  304. package/dist/managed/resources/model.js +1 -1
  305. package/dist/managed/resources/model.js.map +1 -1
  306. package/dist/managed/resources/session-event.js +1 -1
  307. package/dist/managed/resources/session-event.js.map +1 -1
  308. package/dist/managed/resources/session-resource.js +1 -1
  309. package/dist/managed/resources/session-resource.js.map +1 -1
  310. package/dist/managed/resources/session-thread-event.js +1 -1
  311. package/dist/managed/resources/session-thread-event.js.map +1 -1
  312. package/dist/managed/resources/session-thread.js +1 -1
  313. package/dist/managed/resources/session-thread.js.map +1 -1
  314. package/dist/managed/resources/session.js +1 -1
  315. package/dist/managed/resources/session.js.map +1 -1
  316. package/dist/managed/resources/skill-version.js +1 -1
  317. package/dist/managed/resources/skill-version.js.map +1 -1
  318. package/dist/managed/resources/skill.js +1 -1
  319. package/dist/managed/resources/skill.js.map +1 -1
  320. package/dist/managed/resources/vault-credential.js +1 -1
  321. package/dist/managed/resources/vault-credential.js.map +1 -1
  322. package/dist/managed/resources/vault.js +1 -1
  323. package/dist/managed/resources/vault.js.map +1 -1
  324. package/dist/managed/types.js +1 -1
  325. package/dist/managed/types.js.map +1 -1
  326. package/package.json +6 -6
  327. package/docs/forward-api.md +0 -2346
  328. package/docs/managed-api.md +0 -2306
package/README.md CHANGED
@@ -1,133 +1,310 @@
1
1
  # Qoder Cloud Agents TypeScript SDK
2
2
 
3
- The client is structured after `anthropic-sdk-typescript`. Its HTTP API surface and request protocol follow `qoder-cloud-agents-sdk-go`: **110** Forward operations and **95** Managed operations, **205** in total.
3
+ [![NPM version](https://img.shields.io/npm/v/qca-sdk.svg)](https://npmjs.org/package/qca-sdk)
4
4
 
5
- Requires Node.js 20.12 or later. Ships CommonJS, ES modules and strict TypeScript types, with no third-party runtime dependencies.
5
+ > [!IMPORTANT]
6
+ > This SDK is in preview. The published versions are pre-releases, and the API surface may still change.
6
7
 
7
- Full SDK API reference: [Forward API](docs/forward-api.md) (110 operations) and [Managed API](docs/managed-api.md) (95 operations), covering call examples, parameters, return types, pagination and error handling.
8
+ TypeScript and JavaScript library for the Qoder Cloud Agents API. It provides typed access to the Forward and Managed APIs, ships CommonJS, ES modules and strict TypeScript types, and has no third-party runtime dependencies.
9
+
10
+ ## Installation
8
11
 
9
12
  ```sh
10
13
  npm install qca-sdk
11
14
  ```
12
15
 
16
+ Node.js 20.12 or later is required.
17
+
18
+ ## Usage
19
+
20
+ The library exposes two clients, one per API. Both are constructed the same way and share the same transport behaviour.
21
+
13
22
  ```ts
14
- import { ForwardClient, ManagedClient, PATCredential } from 'qca-sdk';
23
+ import { ForwardClient } from 'qca-sdk';
24
+
25
+ const client = new ForwardClient({
26
+ accessToken: process.env.QODER_ACCESS_TOKEN, // this is the default and can be omitted
27
+ });
28
+
29
+ const session = await client.sessions.create({
30
+ identity_id: 'identity_id',
31
+ template_id: 'template_id',
32
+ });
15
33
 
16
- const forward = new ForwardClient({ credential: PATCredential.fromEnv() });
17
- const managed = new ManagedClient({ accessToken: process.env.QODER_ACCESS_TOKEN });
34
+ await client.sessions.events.send(session.id, {
35
+ events: [{ type: 'user.message', content: [{ type: 'text', text: 'Hello, Qoder' }] }],
36
+ });
18
37
 
19
- for await (const model of managed.models.list()) {
20
- console.log(model.id);
38
+ for await (const event of client.sessions.events.list(session.id, { order: 'asc' })) {
39
+ console.log(event.type);
21
40
  }
41
+ ```
42
+
43
+ `ForwardClient` covers the Forward API — `templates`, `identities`, `sessions`, `schedules`, `scheduleRuns`, `batches`, `channels`, `channelPairings`, `environments`, `files`, `skills`, `vaults`, `memoryStores` and `models`.
44
+
45
+ ```ts
46
+ import { ManagedClient } from 'qca-sdk';
47
+
48
+ const client = new ManagedClient();
22
49
 
23
- const template = await forward.templates.create({ name: 'Support', model: 'ultimate', environment_id: 'env_id' });
24
- console.log(template.id);
50
+ const session = await client.sessions.create({
51
+ agent: 'agent_id',
52
+ environment_id: 'environment_id',
53
+ });
25
54
  ```
26
55
 
27
- The client exposes the same resource tree as the Go SDK. Go's `New` maps to `create` and `Get` maps to `retrieve`; all other methods use lowerCamelCase, so `Identities.Configs.Upsert` becomes `identities.configs.upsert`. Positional argument order is preserved, and path fields that live in a Go parameter object stay in the parameter object here. All request and response fields keep the snake_case naming used on the wire.
56
+ `ManagedClient` covers the Managed API — `agents`, `sessions`, `deployments`, `deploymentRuns`, `dreams`, `environments`, `skills`, `vaults`, `files`, `memoryStores` and `models`.
57
+
58
+ Nested resources are reached through their parent. On a `ForwardClient`, path segments are positional arguments:
28
59
 
29
60
  ```ts
30
- const agent = await managed.agents.retrieve('agent_id');
31
- const version = await managed.skills.versions.retrieve('version_id', { skill_id: 'skill_id' });
61
+ const version = await forward.skills.versions.retrieve('skill_id', 'version');
32
62
  ```
33
63
 
34
- Each entry point can also be imported on its own — `qca-sdk/forward` and `qca-sdk/managed` — both providing a default client and named exports. The `*Api` and `*Raw` methods of the previous OpenAPI Generator output are gone, as are APIs outside the Go SDK surface such as Service Account Token, Managed Search and Webhook.
64
+ On a `ManagedClient`, the parent ID stays in the parameter object:
35
65
 
36
- ## Configuration and responses
66
+ ```ts
67
+ const version = await managed.skills.versions.retrieve('version', { skill_id: 'skill_id' });
68
+ ```
37
69
 
38
- The default credential environment variable is `QODER_ACCESS_TOKEN`. Forward reads `QODER_FORWARD_BASE_URL`, defaulting to `https://api.qoder.com/api/v1/forward`; Managed reads `QODER_BASE_URL`, defaulting to `https://api.qoder.com/api/v1/cloud`. Explicit constructor options take precedence.
70
+ Each client also has its own entry point — `qca-sdk/forward` and `qca-sdk/managed` — exported both by name and as the default export, so you can pull in only the half you use.
39
71
 
40
72
  ```ts
73
+ import ForwardClient from 'qca-sdk/forward';
74
+ ```
75
+
76
+ ### Configuration
77
+
78
+ `accessToken` accepts a string or a function returning a string or a promise, which is re-resolved before every request attempt — useful for short-lived tokens. A `Credential` object can be supplied instead; `PATCredential.fromEnv()` reads `QODER_ACCESS_TOKEN`.
79
+
80
+ The base URL comes from `QODER_FORWARD_BASE_URL` for Forward and `QODER_BASE_URL` for Managed, defaulting to `https://api.qoder.com/api/v1/forward` and `https://api.qoder.com/api/v1/cloud`. Explicit constructor options always win.
81
+
82
+ ```ts
83
+ import { ManagedClient, PATCredential } from 'qca-sdk';
84
+
41
85
  const client = new ManagedClient({
42
- accessToken: process.env.QODER_ACCESS_TOKEN,
86
+ credential: PATCredential.fromEnv(),
43
87
  baseURL: 'https://api.qoder.com/api/v1/cloud',
44
88
  timeout: 30_000,
45
89
  maxRetries: 2,
46
90
  defaultHeaders: { 'X-Application': 'my-app' },
47
91
  });
48
-
49
- const { data, response, request_id } = await client.agents
50
- .retrieve('agent_id', { signal: AbortSignal.timeout(5_000) })
51
- .withResponse();
52
92
  ```
53
93
 
54
- `APIPromise` supports `await`, `.asResponse()` and `.withResponse()`. The latter two preserve the raw response; `.asResponse()` hands the body to the caller to read or discard. JSON decoding keeps unknown fields, and on the way out `undefined` is omitted while `null`, empty arrays, empty strings and `false` are sent as-is.
55
-
56
- `APIError` carries `status`, `type`, `code`, `request_id`, `request`, `response` and the raw error payload. A `request_id` in the error body takes precedence over the response header. Network failures, request timeouts and caller-initiated cancellation surface as `APIConnectionError`, `APIConnectionTimeoutError` and `APIUserAbortError` respectively.
94
+ ## Request and response types
57
95
 
58
- Requests are retried up to 2 times by default. Matching the Go SDK: GET/HEAD requests and replayable requests carrying an idempotency key retry on network errors and specific server errors; 429 also retries replayable writes; 409 is never retried. Every attempt re-resolves the credential and sends `X-Qoder-Retry-Count`, and the response `Retry-After` and `x-should-retry` headers feed into the decision. Set `maxRetries: 0` to disable retries.
59
-
60
- ## Pagination, streaming and files
96
+ Every operation is typed. The two APIs define independent type sets, so request and response types are exported from the subpath entry points rather than the package root:
61
97
 
62
98
  ```ts
63
- // Auto-pagination — no need to await the page first.
64
- for await (const agent of client.agents.list({ limit: 20 })) {
65
- console.log(agent.id);
66
- }
99
+ import type { Session, SessionCreateParams, Template } from 'qca-sdk/forward';
100
+ import type { ManagedAgentsAgent } from 'qca-sdk/managed';
67
101
 
68
- // Or walk one page at a time.
69
- const page = await client.agents.list({ limit: 20 });
70
- if (page.hasNextPage()) console.log((await page.getNextPage())?.data);
102
+ const params: SessionCreateParams = { identity_id: 'identity_id', template_id: 'template_id' };
71
103
  ```
72
104
 
73
- The pagination style follows the corresponding Go method: ID cursors use `before_id`/`after_id`, opaque cursors use `next_page` → `page`. Auto-pagination carries filter parameters forward and rejects a cursor that fails to advance.
105
+ All fields keep the snake_case naming used on the wire. Unknown fields are preserved when decoding, so a server-side addition reaches you before the types catch up. On the way out `undefined` is omitted, while `null`, `false`, empty strings and empty arrays are sent as-is.
106
+
107
+ ## Streaming
108
+
109
+ Session events can be consumed as a server-sent event stream.
74
110
 
75
111
  ```ts
76
- const stream = await forward.sessions.events.streamEvents('session_id', {
112
+ const stream = await client.sessions.events.streamEvents(session.id, {
113
+ include_tool_calls: true,
77
114
  'event_deltas[]': ['agent.message'],
78
115
  });
79
- try {
80
- for await (const event of stream) console.log(event);
81
- } finally {
82
- await stream.close();
116
+
117
+ for await (const event of stream) {
118
+ console.log(event.type);
83
119
  }
84
120
  ```
85
121
 
86
- The SSE reader preserves delta frames that share an ID as well as unknown event types, skips pings, terminates on `[DONE]`, and throws an `APIError` on error events. Read `stream.lastEventID` to get a reconnect cursor and pass it back as the `last_event_id` method parameter. The SDK does not reconnect and replay events on your behalf.
122
+ The stream can be ended early with `stream.controller.abort()` or `await stream.close()`. Ping frames are skipped, delta frames that share an ID are preserved, unknown event types are passed through, and an error event throws an `APIError`.
123
+
124
+ `stream.lastEventID` holds the ID of the most recent event. Pass it back as `last_event_id` to resume where you stopped — the SDK does not reconnect or replay on your behalf.
125
+
126
+ ```ts
127
+ const resumed = await client.sessions.events.streamEvents(session.id, {
128
+ last_event_id: stream.lastEventID,
129
+ });
130
+ ```
131
+
132
+ ## File uploads
133
+
134
+ File parameters accept a `File`, a `Blob`, a byte array, a `Response`, a `ReadableStream` or an async iterable — including a Node file stream. `toFile` wraps any of those with an explicit filename.
87
135
 
88
136
  ```ts
89
137
  import { toFile } from 'qca-sdk';
138
+ import fs from 'node:fs';
90
139
 
91
- const file = await forward.files.upload({
140
+ const uploaded = await client.files.upload({
141
+ file: await toFile(fs.createReadStream('input.csv'), 'input.csv'),
142
+ purpose: 'session_resource',
143
+ });
144
+
145
+ const inline = await client.files.upload({
92
146
  file: await toFile(new TextEncoder().encode('Hello'), 'hello.txt'),
93
- purpose: 'session_input',
94
147
  });
95
- const download = await forward.files.download(file.id);
96
- const bytes = await download.arrayBuffer();
97
148
  ```
98
149
 
99
- `toFile` accepts Blob/File values, byte arrays, a `Response`, a `ReadableStream` and async iterables, including Node file streams. Skill uploads preserve the relative paths of the file tree and the repeated `files` field. Downloads first resolve a temporary link, then issue an isolated storage request that carries no API credential, default headers or middleware.
150
+ A value passed without a filename is sent as `upload`, so give one whenever the name matters — either through `toFile`, or as `{ data, name }`. Operations taking a repeated `files` field accept an array, and each part keeps its own filename; skill uploads use that to carry relative paths such as `code-review/scripts/run.sh`.
100
151
 
101
- ## Development and verification
152
+ ```ts
153
+ await client.skills.create({
154
+ files: [
155
+ { data: await fs.promises.readFile('code-review/SKILL.md'), name: 'code-review/SKILL.md' },
156
+ { data: await fs.promises.readFile('code-review/scripts/run.sh'), name: 'code-review/scripts/run.sh' },
157
+ ],
158
+ });
159
+ ```
102
160
 
103
- ```sh
104
- npm ci
105
- npm test
106
- npm run typecheck
107
- npm run test:scenarios
161
+ Downloads first resolve a temporary link, then issue an isolated storage request that carries no API credential, default headers or middleware.
162
+
163
+ ```ts
164
+ const download = await client.files.download(uploaded.id);
165
+ const bytes = new Uint8Array(await download.arrayBuffer());
108
166
  ```
109
167
 
110
- A live-scenario entry point equivalent to Go's `example -scenario all` is included. Install dependencies and run an initial build at the repository root, fill in `.env.live`, then run:
168
+ ## Handling errors
111
169
 
112
- ```sh
113
- npm ci
114
- npm run build
115
- npm run example -- -mode both -scenario all -region international -model auto
170
+ A non-2xx response throws a subclass of `APIError` carrying `status`, `code`, `type`, `request_id`, the parsed error payload, and the underlying `request` and `response`.
171
+
172
+ ```ts
173
+ import { APIError, NotFoundError } from 'qca-sdk';
174
+
175
+ try {
176
+ await client.sessions.retrieve('sess_missing');
177
+ } catch (error) {
178
+ if (error instanceof NotFoundError) {
179
+ console.log(error.status, error.code, error.request_id);
180
+ } else if (error instanceof APIError) {
181
+ console.log(error.status, error.message);
182
+ } else {
183
+ throw error;
184
+ }
185
+ }
116
186
  ```
117
187
 
118
- `npm run example` rebuilds the SDK before every run, executes six Forward and six Managed real scenarios, and cleans up the resources it created. The default `-region cn` overrides the hostname from `.env.live`, so international accounts must pass `-region international` explicitly. The `all` example does not depend on the `LIVE_ALLOW_*` switches used by the migrated live tests. See [examples/README.md](examples/README.md) for single-scenario runs, credentials and JSON reports; results are written to `build/example-results/`.
188
+ | Status | Error class |
189
+ | ------ | ----------------------- |
190
+ | 400 | `BadRequestError` |
191
+ | 401 | `AuthenticationError` |
192
+ | 403 | `PermissionDeniedError` |
193
+ | 404 | `NotFoundError` |
194
+ | 409 | `ConflictError` |
195
+ | 422 | `UnprocessableEntityError` |
196
+ | 429 | `RateLimitError` |
197
+ | >=500 | `InternalServerError` |
119
198
 
120
- The offline contracts for all 205 APIs, the 46 migrated live scenarios and the 12 example scenarios above are distinct layers of verification — the 12 examples do not mean all 205 remote operations were exercised individually. The API cross-reference lives in [Forward API inventory](src/forward/api-inventory.json) and [Managed API inventory](src/managed/api-inventory.json).
199
+ Connection failures throw `APIConnectionError`, an exhausted timeout throws `APIConnectionTimeoutError`, and aborting through your own signal throws `APIUserAbortError`. Client-side misconfiguration — an invalid `baseURL`, a negative `maxRetries` — throws `QoderError`, the base class of all of the above.
121
200
 
122
- Resource code and types can be regenerated from a given Go checkout. The generator validates the API inventory and fails on any signature or type it cannot recognize:
201
+ ### Request IDs
123
202
 
124
- ```sh
125
- python3 scripts/generate-forward.py ../qoder-cloud-agents-sdk-go
126
- python3 scripts/generate-managed.py ../qoder-cloud-agents-sdk-go
127
- npm test
203
+ Every response carries a request ID, exposed as `request_id` on errors and available on successful responses through `withResponse()`. Include it when reporting a problem.
204
+
205
+ ```ts
206
+ const { data, request_id } = await client.sessions.retrieve(session.id).withResponse();
207
+ ```
208
+
209
+ ## Retries
210
+
211
+ Connection errors, timeouts, 408, 429 and 5xx responses are retried twice by default with exponential backoff and jitter. Only replayable requests are eligible: `GET` and `HEAD`, plus any request sent with an idempotency key. Writes without an idempotency key are retried on 429 only, 409 is never retried, and a request whose body is a `ReadableStream` is never replayed because the body cannot be re-read. A `retry-after-ms`, `retry-after` or `x-should-retry` response header overrides the default decision.
212
+
213
+ ```ts
214
+ const client = new ForwardClient({ maxRetries: 0 }); // disable retries
215
+ await client.sessions.create(params, { maxRetries: 5, idempotencyKey: 'my-key' });
216
+ ```
217
+
218
+ Each attempt re-resolves the credential and sends an `X-Qoder-Retry-Count` header.
219
+
220
+ ## Timeouts
221
+
222
+ Requests time out after 10 minutes by default and are then retried according to the rules above. Configure the client default or override per request:
223
+
224
+ ```ts
225
+ const client = new ForwardClient({ timeout: 20 * 1000 });
226
+ await client.sessions.list({}, { timeout: 5 * 1000 });
227
+ ```
228
+
229
+ Pass `signal` to cancel a request yourself. The deadline stays armed while the response body is being read, so a stream is aborted once the subscription as a whole outlives the timeout — give a long-running subscription a limit sized for the whole session, not for one event.
230
+
231
+ ```ts
232
+ await client.sessions.list({}, { signal: AbortSignal.timeout(5_000) });
233
+ ```
234
+
235
+ ## Auto-pagination
236
+
237
+ List methods return an async-iterable page. Iterating the result fetches subsequent pages as needed, carrying your filter parameters forward.
238
+
239
+ ```ts
240
+ for await (const template of client.templates.list({ limit: 20 })) {
241
+ console.log(template.id);
242
+ }
243
+ ```
244
+
245
+ Pages can also be walked one at a time:
246
+
247
+ ```ts
248
+ const page = await client.templates.list({ limit: 20 });
249
+ console.log(page.data.length);
250
+
251
+ if (page.hasNextPage()) {
252
+ const next = await page.getNextPage();
253
+ console.log(next?.data);
254
+ }
255
+
256
+ for await (const p of page.iterPages()) {
257
+ console.log(p.data.length);
258
+ }
259
+ ```
260
+
261
+ Cursor style follows the operation: ID cursors use `after_id` and `before_id`, opaque cursors use `next_page` fed back as `page`. Auto-pagination stops with an error if a cursor fails to advance, rather than looping forever.
262
+
263
+ ## Advanced usage
264
+
265
+ ### Accessing raw response data
266
+
267
+ Every method returns an `APIPromise`. Awaiting it gives the parsed body; `asResponse()` returns the raw `Response` without reading the body, and `withResponse()` gives you both.
268
+
269
+ ```ts
270
+ const response = await client.sessions.retrieve(session.id).asResponse();
271
+ console.log(response.headers.get('x-request-id'));
272
+
273
+ const { data, response: raw } = await client.sessions.retrieve(session.id).withResponse();
128
274
  ```
129
275
 
130
- The generator only touches `src/forward` and `src/managed`; the shared transport layer lives in `src/core`. The Go snapshots used by the tests are maintained separately, so a change to the API surface should be reviewed against both the contract diff and the test migration index.
276
+ ### Undocumented endpoints and fields
277
+
278
+ Request parameter types accept extra properties, so a field the types do not know about yet can be sent as-is. For an endpoint with no generated method, call the transport directly:
279
+
280
+ ```ts
281
+ await client.request({ method: 'POST', path: 'undocumented/endpoint', body: { key: 'value' } });
282
+ ```
283
+
284
+ Extra query parameters and headers go through `query` and `headers` on the per-request options. Undocumented response fields survive decoding but are not typed, so reach them through a cast.
285
+
286
+ ### Middleware and custom fetch
287
+
288
+ `middleware` wraps each attempt, which is the hook for logging, tracing or request rewriting. `fetch` replaces the implementation entirely.
289
+
290
+ ```ts
291
+ const client = new ForwardClient({
292
+ middleware: [
293
+ async (request, next) => {
294
+ const started = Date.now();
295
+ const response = await next(request);
296
+ console.log(request.method, request.url, response.status, `${Date.now() - started}ms`);
297
+ return response;
298
+ },
299
+ ],
300
+ });
301
+ ```
302
+
303
+ Neither hook is applied to file downloads, which deliberately bypass the client to avoid sending credentials to storage.
304
+
305
+ ## Requirements
306
+
307
+ Node.js 20.12 or later. The SDK relies only on the platform's `fetch`, `Request`, `Response`, `Headers`, `AbortController`, `Blob` and `File` — any runtime providing those, and a `fetch` you can inject if not, should work. Deno, Bun, Cloudflare Workers and Vercel Edge are not part of the test matrix.
131
308
 
132
309
  ## License
133
310
 
@@ -4,6 +4,6 @@ export type Uploadable = Blob | Uint8Array | ArrayBuffer | Response | AsyncItera
4
4
  type?: string;
5
5
  };
6
6
  export declare function toFile(input: Uploadable | string, name?: string, options?: FilePropertyBag): Promise<File>;
7
- /** File tree names and repeated `files` parts match the Go multipart encoder. */
7
+ /** File tree names and repeated `files` parts follow the API's multipart encoding. */
8
8
  export declare function toMultipartForm(params: object): Promise<FormData>;
9
9
  //# sourceMappingURL=uploads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/core/uploads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3L,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhH;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAevE"}
1
+ {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/core/uploads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3L,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhH;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAevE"}
@@ -38,7 +38,7 @@ async function toFile(input, name, options) {
38
38
  }
39
39
  return new File(chunks, name ?? 'upload', options);
40
40
  }
41
- /** File tree names and repeated `files` parts match the Go multipart encoder. */
41
+ /** File tree names and repeated `files` parts follow the API's multipart encoding. */
42
42
  async function toMultipartForm(params) {
43
43
  const form = new FormData();
44
44
  for (const [key, value] of Object.entries(params)) {
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/core/uploads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/core/uploads.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ export type Uploadable = Blob | Uint8Array | ArrayBuffer | Response | AsyncItera
4
4
  type?: string;
5
5
  };
6
6
  export declare function toFile(input: Uploadable | string, name?: string, options?: FilePropertyBag): Promise<File>;
7
- /** File tree names and repeated `files` parts match the Go multipart encoder. */
7
+ /** File tree names and repeated `files` parts follow the API's multipart encoding. */
8
8
  export declare function toMultipartForm(params: object): Promise<FormData>;
9
9
  //# sourceMappingURL=uploads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../../src/core/uploads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3L,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhH;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAevE"}
1
+ {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../../src/core/uploads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3L,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhH;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAevE"}
@@ -34,7 +34,7 @@ export async function toFile(input, name, options) {
34
34
  }
35
35
  return new File(chunks, name ?? 'upload', options);
36
36
  }
37
- /** File tree names and repeated `files` parts match the Go multipart encoder. */
37
+ /** File tree names and repeated `files` parts follow the API's multipart encoding. */
38
38
  export async function toMultipartForm(params) {
39
39
  const form = new FormData();
40
40
  for (const [key, value] of Object.entries(params)) {
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../../src/core/uploads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../../src/core/uploads.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { RequestOptions } from '../core/client.js';
2
2
  /** Validate before invoking fetch, then escape the value as one path segment. */
3
3
  export declare function pathParam(value: string, name: string): string;
4
- /** Per-request headers take precedence, matching Go option.WithHeader semantics. */
4
+ /** Per-request headers take precedence over typed header parameters. */
5
5
  export declare function requestHeaders(base: Record<string, string | null | undefined>, extra: RequestOptions['headers']): Record<string, string | null | undefined>;
6
6
  //# sourceMappingURL=_utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../../src/forward/_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAgB3J"}
1
+ {"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../../src/forward/_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAgB3J"}
@@ -5,11 +5,11 @@ export function pathParam(value, name) {
5
5
  }
6
6
  return encodeURIComponent(value);
7
7
  }
8
- /** Per-request headers take precedence, matching Go option.WithHeader semantics. */
8
+ /** Per-request headers take precedence over typed header parameters. */
9
9
  export function requestHeaders(base, extra) {
10
10
  const headers = {};
11
11
  for (const [key, value] of Object.entries(base)) {
12
- // Go param.Opt.Valid() omits both absent and explicitly null header params.
12
+ // Absent and explicitly null header params are both omitted.
13
13
  if (value !== undefined && value !== null)
14
14
  headers[key.toLowerCase()] = value;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_utils.js","sourceRoot":"","sources":["../../../src/forward/_utils.ts"],"names":[],"mappings":"AAGA,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,IAAY;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,YAAY,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,IAA+C,EAAE,KAAgC;IAC9G,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,4EAA4E;QAC5E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"_utils.js","sourceRoot":"","sources":["../../../src/forward/_utils.ts"],"names":[],"mappings":"AAGA,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,IAAY;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,YAAY,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,IAA+C,EAAE,KAAgC;IAC9G,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,6DAA6D;QAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -6,7 +6,6 @@ export declare class BatchTasks extends APIResource {
6
6
  /**
7
7
  * 查询 Batch 子任务.
8
8
  *
9
- * @see Go BatchTaskService.List
10
9
  * @operation listBatchTasks
11
10
  */
12
11
  list(batchID: string, params?: BatchTaskListParams, options?: RequestOptions): PagePromise<BatchTask>;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-task.d.ts","sourceRoot":"","sources":["../../../src/forward/batch-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,UAAW,SAAQ,WAAW;IACzC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;CAK1G;AAED,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"batch-task.d.ts","sourceRoot":"","sources":["../../../src/forward/batch-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,UAAW,SAAQ,WAAW;IACzC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC;CAK1G;AAED,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,11 +1,10 @@
1
- // Generated from the Go SDK and verified against its API contracts.
1
+ // Generated code, verified against the API contracts.
2
2
  import { APIResource } from '../core/resource.js';
3
3
  import { pathParam } from './_utils.js';
4
4
  export class BatchTasks extends APIResource {
5
5
  /**
6
6
  * 查询 Batch 子任务.
7
7
  *
8
- * @see Go BatchTaskService.List
9
8
  * @operation listBatchTasks
10
9
  */
11
10
  list(batchID, params = {}, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"batch-task.js","sourceRoot":"","sources":["../../../src/forward/batch-task.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC;;;;;OAKG;IACH,IAAI,CAAC,OAAe,EAAE,SAA8B,EAAE,EAAE,OAAwB;QAC9E,MAAM,IAAI,GAAG,WAAW,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;CAEF"}
1
+ {"version":3,"file":"batch-task.js","sourceRoot":"","sources":["../../../src/forward/batch-task.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC;;;;OAIG;IACH,IAAI,CAAC,OAAe,EAAE,SAA8B,EAAE,EAAE,OAAwB;QAC9E,MAAM,IAAI,GAAG,WAAW,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;CAEF"}
@@ -9,42 +9,36 @@ export declare class Batches extends APIResource {
9
9
  /**
10
10
  * 列出 Batches.
11
11
  *
12
- * @see Go BatchService.List
13
12
  * @operation listBatches
14
13
  */
15
14
  list(params?: BatchListParams, options?: RequestOptions): PagePromise<Batch>;
16
15
  /**
17
16
  * 创建 Batch.
18
17
  *
19
- * @see Go BatchService.New
20
18
  * @operation createBatch
21
19
  */
22
20
  create(params: BatchCreateParams, options?: RequestOptions): APIPromise<Batch>;
23
21
  /**
24
22
  * 查询 Batch 详情.
25
23
  *
26
- * @see Go BatchService.Get
27
24
  * @operation getBatch
28
25
  */
29
26
  retrieve(batchID: string, options?: RequestOptions): APIPromise<Batch>;
30
27
  /**
31
28
  * 取消 Batch.
32
29
  *
33
- * @see Go BatchService.Cancel
34
30
  * @operation cancelBatch
35
31
  */
36
32
  cancel(batchID: string, params?: BatchCancelParams, options?: RequestOptions): APIPromise<Batch>;
37
33
  /**
38
34
  * 获取错误文件.
39
35
  *
40
- * @see Go BatchService.GetError
41
36
  * @operation getBatchError
42
37
  */
43
38
  getError(batchID: string, options?: RequestOptions): APIPromise<BatchFile>;
44
39
  /**
45
40
  * 获取输出文件.
46
41
  *
47
- * @see Go BatchService.GetOutput
48
42
  * @operation getBatchOutput
49
43
  */
50
44
  getOutput(batchID: string, options?: RequestOptions): APIPromise<BatchFile>;
@@ -1 +1 @@
1
- {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/forward/batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,OAAQ,SAAQ,WAAW;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAgC;IAE1D;;;;;OAKG;IACH,IAAI,CAAC,MAAM,GAAE,eAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC;IAKhF;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAY9E;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAStE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAWpG;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;IAS1E;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;CAS5E;AAED,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/forward/batch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,OAAQ,SAAQ,WAAW;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAgC;IAE1D;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,eAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC;IAKhF;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAY9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAStE;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAWpG;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;IAS1E;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;CAS5E;AAED,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}