qca-sdk 0.1.0-dev.1 → 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
@@ -1,2346 +0,0 @@
1
- # Forward API(TypeScript)
2
-
3
- Forward 模式通过 Template 定义模型和运行配置,通过 Identity 表示业务终端用户,再基于两者创建 Session。当前 SDK 提供 **110 个操作**,覆盖模板、身份、会话、计划任务、批处理、渠道、环境、文件、技能、凭据和记忆。
4
-
5
- 本文以本仓库当前 TypeScript 实现为准。另一种模式见 [Managed API](managed-api.md)。SDK 要求 Node.js **20.12 或更高版本**,支持 ESM 与 CommonJS。
6
-
7
- ## 安装和客户端
8
-
9
- ```sh
10
- npm install qca-sdk
11
- export QODER_ACCESS_TOKEN='你的 PAT'
12
- ```
13
-
14
- ```ts
15
- import ForwardClient, { PATCredential } from 'qca-sdk/forward';
16
-
17
- const client = new ForwardClient({
18
- credential: PATCredential.fromEnv(),
19
- baseURL: 'https://api.qoder.com/api/v1/forward',
20
- timeout: 30_000,
21
- maxRetries: 2,
22
- });
23
-
24
- const models = await client.models.list();
25
- for (const model of models.data) {
26
- console.log(model.id);
27
- }
28
- ```
29
-
30
- CommonJS 可使用 `const { ForwardClient } = require('qca-sdk')`。客户端与所有业务类型也可从 `qca-sdk/forward` 导入;包根导出客户端和通用类型,业务类型使用模式入口。
31
-
32
- `credential` 接受实现 `getToken(): string | Promise<string>` 的对象。也可设置 `accessToken` 为 PAT 字符串或返回字符串的同步/异步函数;同时传入时 `credential` 优先。省略二者时,请求读取 `QODER_ACCESS_TOKEN`。`PATCredential.fromEnv('自定义变量名')` 支持自定义变量,未找到或值为空会立即报错。SDK 发送 `Authorization: Bearer <PAT>`,不会自动加载 `.env` 文件。
33
-
34
- 默认 `baseURL` 为 `https://api.qoder.com/api/v1/forward`,环境变量 `QODER_FORWARD_BASE_URL` 可覆盖,构造参数 `baseURL` 优先于环境变量。中国站可显式设置 `https://api.qoder.com.cn/api/v1/forward`,凭据须属于对应站点。
35
-
36
- ## 客户端与请求选项
37
-
38
- 配置定义见 [ClientOptions / RequestOptions](../src/core/client.ts)。所有时间单位均为毫秒。
39
-
40
- | 构造选项 | 用途 / 默认值 |
41
- | --- | --- |
42
- | `credential` / `accessToken` | PAT 或动态凭据提供者,见上文 |
43
- | `baseURL` | 包含 `/api/v1/forward` 的 API 基地址 |
44
- | `timeout` | 单次尝试的超时,含响应体读取;默认 `600_000`,`0` 关闭 |
45
- | `maxRetries` | 初次请求之外的重试次数,默认 `2` |
46
- | `defaultHeaders` / `defaultQuery` | 每个 API 请求的默认请求头 / 查询参数 |
47
- | `fetch` | 自定义 Fetch 实现,默认 `globalThis.fetch` |
48
- | `middleware` | `(request, next) => Promise<Response>` 中间件数组,按数组顺序进入 |
49
-
50
- 每个资源方法的最后一个 `options` 支持 `signal`、`timeout`、`maxRetries`、`idempotencyKey`、`headers`、`query` 和 `body`。常规业务数据应使用方法自己的 `params`;`body` 用于需要直接覆盖请求体的底层调用。`headers` 中值为 `null` 可删除默认请求头。Forward 类型中的 `idempotency_key` 会写入 `Idempotency-Key`;也可通过 `options.idempotencyKey` 设置。
51
-
52
- 默认重试网络错误及符合条件的 `408`、`429`、`5xx`:GET/HEAD 或携带幂等键的可重放请求可重试;无幂等键的可重放写请求仅重试 `429`;`409` 不重试。`x-should-retry` 在这些条件内参与判断,`Retry-After` / `retry-after-ms` 控制等待时间。每次重试重新读取凭据,发送 `X-Qoder-Retry-Count`。流式请求体不可重放。需要停用重试时设置 `maxRetries: 0`。
53
-
54
- ## 响应、分页和错误
55
-
56
- 普通资源方法返回 [APIPromise](../src/core/api-promise.ts):调用方法即启动请求,`await` 解析数据。`.withResponse()` 同时取得解析结果、原始 `Response` 和响应头中的 `request_id`;`.asResponse()` 直接取得原始响应,由调用方消费或取消响应体。读取 `.withResponse()` 后不要再次对同一响应调用 `.json()`。
57
-
58
- ```ts
59
- const { data, response, request_id } = await client.templates
60
- .retrieve('template_id', { signal: AbortSignal.timeout(5_000) })
61
- .withResponse();
62
- console.log(data.id, response.status, request_id);
63
-
64
- const raw = await client.templates.retrieve('template_id').asResponse();
65
- console.log(await raw.json());
66
- ```
67
-
68
- 返回 `PagePromise<T>` 的方法支持直接异步迭代;`await` 后得到 [Page](../src/core/pagination.ts),包含 `data`、游标字段、`hasNextPage()`、`getNextPage()`、`iterPages()` 和 `toJSON()`。`getNextPage()` 无下一页时返回 `null`。
69
-
70
- ```ts
71
- for await (const template of client.templates.list({ limit: 20 })) {
72
- console.log(template.id);
73
- }
74
-
75
- const page = await client.templates.list({ limit: 20 });
76
- console.log(page.data);
77
- if (page.hasNextPage()) console.log((await page.getNextPage())?.data);
78
- ```
79
-
80
- Forward 同时存在 ID 游标和不透明分页令牌;每个方法下标明具体机制。自动分页保留初次请求的过滤条件及请求选项,发现游标不前进时抛出 `QoderError`。
81
-
82
- ```ts
83
- import { APIError, APIUserAbortError } from 'qca-sdk/forward';
84
-
85
- try {
86
- await client.templates.retrieve('template_id', { maxRetries: 0 });
87
- } catch (error) {
88
- if (error instanceof APIError) {
89
- console.error(error.status, error.code, error.request_id, error.message);
90
- } else if (error instanceof APIUserAbortError) {
91
- console.error('请求已取消');
92
- } else {
93
- throw error;
94
- }
95
- }
96
- ```
97
-
98
- [APIError](../src/core/error.ts) 包含 `status`、`type`、`code`、`request_id`(别名 `requestID`)、`headers`、`request`、`response`、`error`。错误体中的 `request_id` 优先于响应头。HTTP `400/401/403/404/409/422/429/5xx` 分别对应 `BadRequestError`、`AuthenticationError`、`PermissionDeniedError`、`NotFoundError`、`ConflictError`、`UnprocessableEntityError`、`RateLimitError`、`InternalServerError`;其他状态返回 `APIError`。连接错误为 `APIConnectionError`,超时为其子类 `APIConnectionTimeoutError`,主动取消为 `APIUserAbortError`。
99
-
100
- ## 创建会话并读取 SSE
101
-
102
- 以下示例先创建环境、模板与身份,再发送一条消息。`auto` 需在当前账号模型列表中可用。示例创建的资源 ID 应保存供后续复用或清理;完整的清理流程见 [Forward 场景实现](../examples/forward-scenarios.mjs) 和 [资源清理实现](../examples/forward-support.mjs)。
103
-
104
- ```ts
105
- const environment = await client.environments.create({ name: `sdk-env-${Date.now()}`, config: { type: 'cloud' } });
106
- const template = await client.templates.create({
107
- name: `sdk-template-${Date.now()}`,
108
- model: 'auto',
109
- environment_id: environment.id,
110
- });
111
- const identity = await client.identities.create({ external_id: `sdk-user-${Date.now()}` });
112
- const session = await client.sessions.create({ identity_id: identity.id, template_id: template.id });
113
-
114
- const sent = await client.sessions.events.send(session.id, {
115
- events: [{ type: 'user.message', content: '请简单介绍你能提供什么帮助。' }],
116
- });
117
- const userEventID = sent.data[0]?.id;
118
- if (!userEventID) throw new Error('发送结果缺少用户事件 ID');
119
-
120
- const stream = await client.sessions.events.streamEvents(session.id, {
121
- 'event_deltas[]': ['agent.message'],
122
- last_event_id: userEventID,
123
- }, { signal: AbortSignal.timeout(120_000) });
124
- let sawAssistant = false;
125
- try {
126
- for await (const event of stream) {
127
- console.log(event);
128
- if (event.type === 'agent.message') sawAssistant = true;
129
- if (event.type === 'session.error' || event.type === 'session.status_terminated') {
130
- throw new Error(`会话未正常完成:${event.type}`);
131
- }
132
- if (sawAssistant && event.type === 'session.status_idle') break;
133
- }
134
- } finally {
135
- await stream.close();
136
- }
137
- ```
138
-
139
- [Stream](../src/core/streaming.ts) 为单次消费的 `AsyncIterable`,保留重复 ID 的增量事件和未知事件,跳过 ping,遇到 `[DONE]` 正常结束,SSE `error` 帧抛出 `APIError`。业务事件 `session.error` 仍作为数据交给调用方处理。上例用发送结果中的用户事件 ID 作为游标,读取该消息之后的事件,避免漏掉订阅前已经产生的回复。流不会自动重连;可保存 `stream.lastEventID`,下一次使用 `params.last_event_id` 传入 `Last-Event-ID`。线程流使用 `sessions.threads.events.streamEvents(sessionID, threadID, params, options)`,注意两个 ID 的顺序。
140
-
141
- ## 文件与技能上传
142
-
143
- ```ts
144
- import { toFile } from 'qca-sdk/forward';
145
-
146
- const file = await client.files.upload({
147
- file: await toFile(new TextEncoder().encode('Hello'), 'hello.txt'),
148
- purpose: 'session_resource',
149
- });
150
- try {
151
- const response = await client.files.download(file.id);
152
- console.log(await response.text());
153
- } finally {
154
- await client.files.delete(file.id);
155
- }
156
-
157
- const skill = await client.skills.create({
158
- files: [await toFile('---\nname: hello\ndescription: A greeting skill.\n---\nSay hello.\n', 'hello/SKILL.md')],
159
- });
160
- console.log(skill.id, skill.latest_version);
161
- ```
162
-
163
- [toFile](../src/core/uploads.ts) 接受字符串、Blob/File、字节数组、Response、ReadableStream 和异步可迭代输入(包括 Node.js 文件流)。技能的 `files` 可重复,文件名保留相对目录。上传使用 multipart,由 SDK 设置 boundary;不要自行指定 Content-Type。`files.download()` 先从 API 获取临时链接,再以独立请求下载,不向存储服务传递 API PAT、默认请求头或中间件。
164
-
165
- ## 资源目录
166
-
167
- 以下 26 个资源组包含 **110 个 HTTP 操作**,与当前 [API inventory](../src/forward/api-inventory.json) 和源码逐项核对。表中的路径相对于客户端的 `baseURL`;`{…}` 表示路径参数。
168
-
169
- | 资源组 | 用途 | 操作数 |
170
- | --- | --- | --- |
171
- | [`client.templates`](#templates) | 模板 | 6 |
172
- | [`client.identities`](#identities) | 终端用户身份 | 11 |
173
- | [`client.identities.configs`](#identities-configs) | 身份的模板配置 | 4 |
174
- | [`client.identities.memoryStores`](#identities-memoryStores) | 身份的记忆库挂载 | 3 |
175
- | [`client.sessions`](#sessions) | 会话 | 6 |
176
- | [`client.sessions.events`](#sessions-events) | 会话事件 | 3 |
177
- | [`client.sessions.resources`](#sessions-resources) | 会话资源 | 1 |
178
- | [`client.sessions.threads`](#sessions-threads) | 会话线程 | 3 |
179
- | [`client.sessions.threads.events`](#sessions-threads-events) | 线程事件 | 2 |
180
- | [`client.schedules`](#schedules) | 计划任务 | 9 |
181
- | [`client.scheduleRuns`](#scheduleRuns) | 计划任务运行 | 2 |
182
- | [`client.batches`](#batches) | 批处理 | 6 |
183
- | [`client.batches.tasks`](#batches-tasks) | 批处理任务 | 1 |
184
- | [`client.channels`](#channels) | 渠道 | 5 |
185
- | [`client.channels.qrSessions`](#channels-qrSessions) | 渠道扫码会话 | 2 |
186
- | [`client.channelPairings`](#channelPairings) | 渠道配对 | 2 |
187
- | [`client.environments`](#environments) | 运行环境 | 6 |
188
- | [`client.files`](#files) | 文件 | 5 |
189
- | [`client.skills`](#skills) | 技能 | 5 |
190
- | [`client.skills.versions`](#skills-versions) | 技能版本 | 5 |
191
- | [`client.vaults`](#vaults) | 凭据库 | 4 |
192
- | [`client.vaults.credentials`](#vaults-credentials) | 凭据 | 4 |
193
- | [`client.memoryStores`](#memoryStores) | 记忆库 | 6 |
194
- | [`client.memoryStores.memories`](#memoryStores-memories) | 记忆条目 | 5 |
195
- | [`client.memoryStores.memoryVersions`](#memoryStores-memoryVersions) | 记忆版本 | 3 |
196
- | [`client.models`](#models) | 模型 | 1 |
197
-
198
- ## 参数和返回值约定
199
-
200
- 下列签名保留实际参数顺序。`params = {}`、`params?` 或 `options?` 表示可省略;未标可选的参数必须提供。要单独传最后的 `options`,先按签名补齐前面的 `params`(通常传 `{}`)。表中的“必填”指 SDK 类型的必填字段;服务端可能还有组合约束,见字段说明及链接中的完整类型。所有 `options` 均为 [RequestOptions](../src/core/client.ts#L20)。
201
-
202
- 类型名从 `qca-sdk/forward` 导入;签名中的 `APIPromise`、`PagePromise`、`Stream` 为 SDK 通用类型。类型链接可以查看响应的全部字段、枚举、联合类型和请求中的嵌套结构。位置参数与 `params` 中标为 path 的字段会做 URL 编码;header 字段不会进入 JSON body。
203
-
204
- JSON 的 `undefined` 字段省略,`null` 显式发送,空数组、空字符串和 `false` 保留。multipart 的 `null`/`undefined` 字段省略。HTTP 响应的未知字段会保留;TypeScript 类型不等同于服务端运行时校验。
205
-
206
- <a id="templates"></a>
207
-
208
- ## 模板:`client.templates`
209
-
210
- ### `templates.list`
211
-
212
- 列出模板。HTTP:`GET /templates`。
213
-
214
- ```text
215
- client.templates.list(params: TemplateListParams = {}, options?: RequestOptions): PagePromise<Template>
216
- ```
217
-
218
- [方法源码](../src/forward/template.ts#L16);返回:`PagePromise<Template>`([Template](../src/forward/types.ts#L3104))。
219
-
220
- 参数对象:[TemplateListParams](../src/forward/types.ts#L2914)。
221
-
222
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
223
- | --- | --- | --- | --- | --- |
224
- | `params.status` | 否 | `string \| null` | query / `status` | 按 `active` 或 `archived` 过滤。 |
225
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
226
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,不能与 `before_id` 同用。 |
227
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,不能与 `after_id` 同用。 |
228
-
229
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
230
-
231
- ### `templates.create`
232
-
233
- 创建模板。HTTP:`POST /templates`。
234
-
235
- ```text
236
- client.templates.create(params: TemplateCreateParams, options?: RequestOptions): APIPromise<Template>
237
- ```
238
-
239
- [方法源码](../src/forward/template.ts#L27);返回:`APIPromise<Template>`([Template](../src/forward/types.ts#L3104))。
240
-
241
- 参数对象:[TemplateCreateParams](../src/forward/types.ts#L3349);字段定义:[TemplateNewParams](../src/forward/types.ts#L2936)。
242
-
243
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
244
- | --- | --- | --- | --- | --- |
245
- | `params.name` | 是 | `string` | body / `name` | Template 名称,1-256 个字符,租户内唯一。 |
246
- | `params.model` | 是 | `ModelConfigUnionParam`([ModelConfigUnionParam](../src/forward/types.ts#L1816)) | body / `model` | 模型标识。可传 string(如 `"ultimate"`),或传 Agent model 对象以同时配置 `effort` 或 `context_window`。可通过列出模型接口查询可用值。 |
247
- | `params.environment_id` | 是 | `string` | body / `environment_id` | 创建 Session 时默认使用的 Environment ID。 |
248
- | `params.description` | 否 | `string \| null` | body / `description` | Template 描述,最多 2048 个字符。 |
249
- | `params.system` | 否 | `string \| null` | body / `system` | System Prompt,最多 100,000 个字符。 |
250
- | `params.tools` | 否 | `Array<ToolParam> \| null`([ToolParam](../src/forward/types.ts#L614)) | body / `tools` | 工具配置列表,最多 128 项。 |
251
- | `params.mcp_servers` | 否 | `Array<MCPServerParam> \| null`([MCPServerParam](../src/forward/types.ts#L637)) | body / `mcp_servers` | MCP Server 配置列表,最多 20 项。 |
252
- | `params.skills` | 否 | `Array<SkillBindingParam> \| null`([SkillBindingParam](../src/forward/types.ts#L656)) | body / `skills` | Skill 绑定列表,最多 20 项。 |
253
- | `params.multiagent` | 否 | `MultiagentConfigParam \| null`([MultiagentConfigParam](../src/forward/types.ts#L692)) | body / `multiagent` | Multi-agent 协作配置。`type` 必须为 `coordinator`;省略或传 `null` 表示不启用。 |
254
- | `params.vaults` | 否 | `Record<string, ResourceBindingParam> \| null`([ResourceBindingParam](../src/forward/types.ts#L542)) | body / `vaults` | 默认 Vault 配置,按 Vault ID 组织。 |
255
- | `params.files` | 否 | `Record<string, ResourceBindingParam> \| null`([ResourceBindingParam](../src/forward/types.ts#L542)) | body / `files` | 默认文件资源配置,按 file ID 组织。 |
256
- | `params.github_repositories` | 否 | `Record<string, GitHubRepositoryParam> \| null`([GitHubRepositoryParam](../src/forward/types.ts#L558)) | body / `github_repositories` | 默认 GitHub 仓库配置,按调用方指定的 binding key 组织,最多 20 项。 |
257
- | `params.environment_variables` | 否 | `EnvironmentVariablesUnionParam \| null`([EnvironmentVariablesUnionParam](../src/forward/types.ts#L1819)) | body / `environment_variables` | 默认 Session 环境变量。 |
258
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 自定义元数据。 |
259
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
260
- | `params.x_qoder_beta` | 否 | `string \| null` | header / `X-Qoder-Beta` | 启用 Browser Use 时必须设置为 `browser-use-2026-07-14`。 |
261
-
262
- ### `templates.retrieve`
263
-
264
- 获取模板。HTTP:`GET /templates/{template_id}`。
265
-
266
- ```text
267
- client.templates.retrieve(templateID: string, options?: RequestOptions): APIPromise<Template>
268
- ```
269
-
270
- [方法源码](../src/forward/template.ts#L45);返回:`APIPromise<Template>`([Template](../src/forward/types.ts#L3104))。
271
-
272
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
273
- | --- | --- | --- | --- | --- |
274
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
275
-
276
- ### `templates.update`
277
-
278
- 更新模板。HTTP:`POST /templates/{template_id}`。
279
-
280
- ```text
281
- client.templates.update(templateID: string, params: TemplateUpdateParams = {}, options?: RequestOptions): APIPromise<Template>
282
- ```
283
-
284
- [方法源码](../src/forward/template.ts#L60);返回:`APIPromise<Template>`([Template](../src/forward/types.ts#L3104))。
285
-
286
- 参数对象:[TemplateUpdateParams](../src/forward/types.ts#L3006)。
287
-
288
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
289
- | --- | --- | --- | --- | --- |
290
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
291
- | `params.name` | 否 | `string \| null` | body / `name` | 新的 Template 名称。 |
292
- | `params.description` | 否 | `string \| null` | body / `description` | 新的 Template 描述。 |
293
- | `params.model` | 否 | `ModelConfigUnionParam \| null`([ModelConfigUnionParam](../src/forward/types.ts#L1816)) | body / `model` | 新的模型标识。可传 string,或传 Agent model 对象以同时配置 `effort` 或 `context_window`。可通过列出模型接口查询可用值。 |
294
- | `params.system` | 否 | `string \| null` | body / `system` | 新的 System Prompt。 |
295
- | `params.tools` | 否 | `Array<ToolParam> \| null`([ToolParam](../src/forward/types.ts#L614)) | body / `tools` | 整体替换工具配置列表。 |
296
- | `params.mcp_servers` | 否 | `Array<MCPServerParam> \| null`([MCPServerParam](../src/forward/types.ts#L637)) | body / `mcp_servers` | 整体替换 MCP Server 列表。 |
297
- | `params.skills` | 否 | `Array<SkillBindingParam> \| null`([SkillBindingParam](../src/forward/types.ts#L656)) | body / `skills` | 整体替换 Skill 绑定列表。 |
298
- | `params.multiagent` | 否 | `MultiagentConfigParam \| null`([MultiagentConfigParam](../src/forward/types.ts#L692)) | body / `multiagent` | 整体替换 Multi-agent 协作配置;传 `null` 表示清空,省略则保留当前配置。 |
299
- | `params.environment_id` | 否 | `string \| null` | body / `environment_id` | 替换默认 Environment ID;`null` 或空字符串表示清空。 |
300
- | `params.vaults` | 否 | `Record<string, ResourceBindingParam> \| null`([ResourceBindingParam](../src/forward/types.ts#L542)) | body / `vaults` | 整体替换默认 Vault 配置;按 Vault ID 组织,`null` 表示清空。 |
301
- | `params.files` | 否 | `Record<string, ResourceBindingParam> \| null`([ResourceBindingParam](../src/forward/types.ts#L542)) | body / `files` | 整体替换默认文件资源配置;`null` 表示清空。 |
302
- | `params.github_repositories` | 否 | `Record<string, GitHubRepositoryParam> \| null`([GitHubRepositoryParam](../src/forward/types.ts#L558)) | body / `github_repositories` | 整体替换默认 GitHub 仓库配置;按 binding key 组织,`null` 或空 object 表示清空。 |
303
- | `params.environment_variables` | 否 | `EnvironmentVariablesUnionParam \| null`([EnvironmentVariablesUnionParam](../src/forward/types.ts#L1819)) | body / `environment_variables` | 整体替换默认环境变量;`null` 表示清空。 |
304
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 合并更新自定义元数据。 |
305
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
306
- | `params.x_qoder_beta` | 否 | `string \| null` | header / `X-Qoder-Beta` | 更新后的 `tools` 中包含 Browser Use 工具集时,必须设置为 `browser-use-2026-07-14`。 |
307
-
308
- ### `templates.archive`
309
-
310
- 归档模板。HTTP:`POST /templates/{template_id}/archive`。
311
-
312
- ```text
313
- client.templates.archive(templateID: string, params: TemplateArchiveParams = {}, options?: RequestOptions): APIPromise<Template>
314
- ```
315
-
316
- [方法源码](../src/forward/template.ts#L82);返回:`APIPromise<Template>`([Template](../src/forward/types.ts#L3104))。
317
-
318
- 参数对象:[TemplateArchiveParams](../src/forward/types.ts#L3076)。
319
-
320
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
321
- | --- | --- | --- | --- | --- |
322
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
323
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
324
-
325
- ### `templates.clone`
326
-
327
- 克隆模板。HTTP:`POST /templates/{template_id}/clone`。
328
-
329
- ```text
330
- client.templates.clone(templateID: string, params: TemplateCloneParams = {}, options?: RequestOptions): APIPromise<Template>
331
- ```
332
-
333
- [方法源码](../src/forward/template.ts#L103);返回:`APIPromise<Template>`([Template](../src/forward/types.ts#L3104))。
334
-
335
- 参数对象:[TemplateCloneParams](../src/forward/types.ts#L3086)。
336
-
337
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
338
- | --- | --- | --- | --- | --- |
339
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
340
- | `params.name` | 否 | `string \| null` | body / `name` | 新 Template 名称;不传时使用 `<源名称> Copy <随机短 ID>`。 |
341
- | `params.description` | 否 | `string \| null` | body / `description` | 新 Template 描述;不传时沿用源描述。 |
342
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
343
-
344
- <a id="identities"></a>
345
-
346
- ## 终端用户身份:`client.identities`
347
-
348
- ### `identities.list`
349
-
350
- 列出终端用户身份。HTTP:`GET /identities`。
351
-
352
- ```text
353
- client.identities.list(params: IdentityListParams = {}, options?: RequestOptions): PagePromise<Identity>
354
- ```
355
-
356
- [方法源码](../src/forward/identity.ts#L21);返回:`PagePromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
357
-
358
- 参数对象:[IdentityListParams](../src/forward/types.ts#L1108)。
359
-
360
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
361
- | --- | --- | --- | --- | --- |
362
- | `params.external_id` | 否 | `string \| null` | query / `external_id` | 按集成方终端用户 ID 过滤。 |
363
- | `params.identity_ids` | 否 | `Array<string> \| null` | query / `identity_ids` | 按多个 Identity ID 过滤;支持逗号分隔或重复 query 参数,去重后最多 100 个。 |
364
- | `params.search` | 否 | `string \| null` | query / `search` | 匹配 Identity ID、名称或外部 ID。 |
365
- | `params.enabled` | 否 | `boolean \| null` | query / `enabled` | 按是否启用过滤;非布尔值返回 400。 |
366
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100;超过上限时按最大值处理。 |
367
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,不能与 `before_id` 同用。 |
368
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,不能与 `after_id` 同用。 |
369
-
370
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
371
-
372
- ### `identities.create`
373
-
374
- 创建终端用户身份。HTTP:`POST /identities`。
375
-
376
- ```text
377
- client.identities.create(params: IdentityCreateParams, options?: RequestOptions): APIPromise<Identity>
378
- ```
379
-
380
- [方法源码](../src/forward/identity.ts#L32);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
381
-
382
- 参数对象:[IdentityCreateParams](../src/forward/types.ts#L3331);字段定义:[IdentityNewParams](../src/forward/types.ts#L1142)。
383
-
384
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
385
- | --- | --- | --- | --- | --- |
386
- | `params.external_id` | 是 | `string` | body / `external_id` | 集成方系统中的终端用户 ID,不能是空串或纯空白。 |
387
- | `params.name` | 否 | `string \| null` | body / `name` | 展示名,传入时不能是空串或纯空白。 |
388
- | `params.enabled` | 否 | `boolean \| null` | body / `enabled` | 是否启用该 Identity,默认 `true`。 |
389
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 业务元数据,建议最多 16 个 key。 |
390
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
391
-
392
- ### `identities.ensureAdmin`
393
-
394
- 确保管理员身份存在。HTTP:`POST /identities/admin/ensure`。
395
-
396
- ```text
397
- client.identities.ensureAdmin(options?: RequestOptions): APIPromise<Identity>
398
- ```
399
-
400
- [方法源码](../src/forward/identity.ts#L50);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
401
-
402
- 无业务参数;可通过最后一个 `options` 设置请求选项。
403
-
404
- ### `identities.stats`
405
-
406
- 获取终端用户身份统计。HTTP:`GET /identities/stats`。
407
-
408
- ```text
409
- client.identities.stats(options?: RequestOptions): APIPromise<IdentityStats>
410
- ```
411
-
412
- [方法源码](../src/forward/identity.ts#L65);返回:`APIPromise<IdentityStats>`([IdentityStats](../src/forward/types.ts#L1259))。
413
-
414
- 无业务参数;可通过最后一个 `options` 设置请求选项。
415
-
416
- ### `identities.retrieve`
417
-
418
- 获取终端用户身份。HTTP:`GET /identities/{identity_id}`。
419
-
420
- ```text
421
- client.identities.retrieve(identityID: string, options?: RequestOptions): APIPromise<Identity>
422
- ```
423
-
424
- [方法源码](../src/forward/identity.ts#L80);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
425
-
426
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
427
- | --- | --- | --- | --- | --- |
428
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
429
-
430
- ### `identities.update`
431
-
432
- 更新终端用户身份。HTTP:`POST /identities/{identity_id}`。
433
-
434
- ```text
435
- client.identities.update(identityID: string, params: IdentityUpdateParams = {}, options?: RequestOptions): APIPromise<Identity>
436
- ```
437
-
438
- [方法源码](../src/forward/identity.ts#L95);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
439
-
440
- 参数对象:[IdentityUpdateParams](../src/forward/types.ts#L1168)。
441
-
442
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
443
- | --- | --- | --- | --- | --- |
444
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
445
- | `params.external_id` | 否 | `string \| null` | body / `external_id` | 替换原有终端用户 ID。 |
446
- | `params.name` | 否 | `string \| null` | body / `name` | 替换展示名。 |
447
- | `params.enabled` | 否 | `boolean \| null` | body / `enabled` | 更新 Identity 是否可用。 |
448
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 合并更新业务元数据;空字符串 value 删除对应 key。 |
449
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
450
-
451
- ### `identities.delete`
452
-
453
- 删除终端用户身份。HTTP:`DELETE /identities/{identity_id}`。
454
-
455
- ```text
456
- client.identities.delete(identityID: string, options?: RequestOptions): APIPromise<DeletedIdentity>
457
- ```
458
-
459
- [方法源码](../src/forward/identity.ts#L117);返回:`APIPromise<DeletedIdentity>`([DeletedIdentity](../src/forward/types.ts#L1245))。
460
-
461
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
462
- | --- | --- | --- | --- | --- |
463
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
464
-
465
- ### `identities.listTemplates`
466
-
467
- 列出身份使用的模板。HTTP:`GET /identities/{identity_id}/agents`。
468
-
469
- ```text
470
- client.identities.listTemplates(identityID: string, options?: RequestOptions): APIPromise<IdentityListTemplatesResponse>
471
- ```
472
-
473
- [方法源码](../src/forward/identity.ts#L132);返回:`APIPromise<IdentityListTemplatesResponse>`([IdentityListTemplatesResponse](../src/forward/types.ts#L1319))。
474
-
475
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
476
- | --- | --- | --- | --- | --- |
477
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
478
-
479
- ### `identities.clear`
480
-
481
- 清理终端用户身份。HTTP:`POST /identities/{identity_id}/clear`。
482
-
483
- ```text
484
- client.identities.clear(identityID: string, params: IdentityClearParams = {}, options?: RequestOptions): APIPromise<IdentityClearResponse>
485
- ```
486
-
487
- [方法源码](../src/forward/identity.ts#L147);返回:`APIPromise<IdentityClearResponse>`([IdentityClearResponse](../src/forward/types.ts#L1204))。
488
-
489
- 参数对象:[IdentityClearParams](../src/forward/types.ts#L1194)。
490
-
491
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
492
- | --- | --- | --- | --- | --- |
493
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
494
- | `params.reason` | 否 | `string \| null` | body / `reason` | 清理原因,仅用于记录调用意图。 |
495
-
496
- ### `identities.disable`
497
-
498
- 停用终端用户身份。HTTP:`POST /identities/{identity_id}/disable`。
499
-
500
- ```text
501
- client.identities.disable(identityID: string, options?: RequestOptions): APIPromise<Identity>
502
- ```
503
-
504
- [方法源码](../src/forward/identity.ts#L167);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
505
-
506
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
507
- | --- | --- | --- | --- | --- |
508
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
509
-
510
- ### `identities.enable`
511
-
512
- 启用终端用户身份。HTTP:`POST /identities/{identity_id}/enable`。
513
-
514
- ```text
515
- client.identities.enable(identityID: string, options?: RequestOptions): APIPromise<Identity>
516
- ```
517
-
518
- [方法源码](../src/forward/identity.ts#L182);返回:`APIPromise<Identity>`([Identity](../src/forward/types.ts#L1281))。
519
-
520
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
521
- | --- | --- | --- | --- | --- |
522
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
523
-
524
- <a id="identities-configs"></a>
525
-
526
- ## 身份的模板配置:`client.identities.configs`
527
-
528
- ### `identities.configs.list`
529
-
530
- 列出身份的模板配置。HTTP:`GET /identities/{identity_id}/templates`。
531
-
532
- ```text
533
- client.identities.configs.list(identityID: string, params: IdentityConfigListParams = {}, options?: RequestOptions): PagePromise<IdentityConfig>
534
- ```
535
-
536
- [方法源码](../src/forward/identity-config.ts#L16);返回:`PagePromise<IdentityConfig>`([IdentityConfig](../src/forward/types.ts#L1454))。
537
-
538
- 参数对象:[IdentityConfigListParams](../src/forward/types.ts#L1326)。
539
-
540
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
541
- | --- | --- | --- | --- | --- |
542
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
543
- | `params.template_id` | 否 | `string \| null` | query / `template_id` | 按 Forward Template ID 过滤。 |
544
- | `params.status` | 否 | `string \| null` | query / `status` | 按 `active` 或 `archived` 过滤。 |
545
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
546
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 来自上一页响应 `last_id` 的向后游标。 |
547
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 来自上一页响应 `first_id` 的向前游标。 |
548
-
549
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
550
-
551
- ### `identities.configs.retrieve`
552
-
553
- 获取身份的模板配置。HTTP:`GET /identities/{identity_id}/templates/{template_id}/config`。
554
-
555
- ```text
556
- client.identities.configs.retrieve(identityID: string, templateID: string, options?: RequestOptions): APIPromise<IdentityConfig>
557
- ```
558
-
559
- [方法源码](../src/forward/identity-config.ts#L31);返回:`APIPromise<IdentityConfig>`([IdentityConfig](../src/forward/types.ts#L1454))。
560
-
561
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
562
- | --- | --- | --- | --- | --- |
563
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
564
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
565
-
566
- ### `identities.configs.upsert`
567
-
568
- 创建或更新身份的模板配置。HTTP:`POST /identities/{identity_id}/templates/{template_id}/config`。
569
-
570
- ```text
571
- client.identities.configs.upsert(identityID: string, templateID: string, params: IdentityConfigUpsertParams, options?: RequestOptions): APIPromise<IdentityConfig>
572
- ```
573
-
574
- [方法源码](../src/forward/identity-config.ts#L46);返回:`APIPromise<IdentityConfig>`([IdentityConfig](../src/forward/types.ts#L1454))。
575
-
576
- 参数对象:[IdentityConfigUpsertParams](../src/forward/types.ts#L1352)。
577
-
578
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
579
- | --- | --- | --- | --- | --- |
580
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
581
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
582
- | `params.name` | 否 | `string \| null` | body / `name` | Config 展示名。 |
583
- | `params.identity_config` | 是 | `IdentityConfigSpecParam`([IdentityConfigSpecParam](../src/forward/types.ts#L861)) | body / `identity_config` | 用户级覆盖配置。 |
584
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 业务元数据;传入时整体替换已有 metadata。 |
585
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
586
-
587
- ### `identities.configs.getEffective`
588
-
589
- 获取身份与模板组合后的有效配置。HTTP:`GET /identities/{identity_id}/templates/{template_id}/effective`。
590
-
591
- ```text
592
- client.identities.configs.getEffective(identityID: string, templateID: string, options?: RequestOptions): APIPromise<EffectiveConfig>
593
- ```
594
-
595
- [方法源码](../src/forward/identity-config.ts#L69);返回:`APIPromise<EffectiveConfig>`([EffectiveConfig](../src/forward/types.ts#L1374))。
596
-
597
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
598
- | --- | --- | --- | --- | --- |
599
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
600
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
601
-
602
- <a id="identities-memoryStores"></a>
603
-
604
- ## 身份的记忆库挂载:`client.identities.memoryStores`
605
-
606
- ### `identities.memoryStores.list`
607
-
608
- 列出身份的记忆库挂载。HTTP:`GET /identities/{identity_id}/templates/{template_id}/memory_stores`。
609
-
610
- ```text
611
- client.identities.memoryStores.list(identityID: string, templateID: string, options?: RequestOptions): APIPromise<IdentityMemoryStoreListResponse>
612
- ```
613
-
614
- [方法源码](../src/forward/identity-memory-store.ts#L15);返回:`APIPromise<IdentityMemoryStoreListResponse>`([IdentityMemoryStoreListResponse](../src/forward/types.ts#L1529))。
615
-
616
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
617
- | --- | --- | --- | --- | --- |
618
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
619
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
620
-
621
- ### `identities.memoryStores.mount`
622
-
623
- 挂载身份的记忆库挂载。HTTP:`POST /identities/{identity_id}/templates/{template_id}/memory_stores`。
624
-
625
- ```text
626
- client.identities.memoryStores.mount(identityID: string, templateID: string, params: IdentityMemoryStoreMountParams, options?: RequestOptions): APIPromise<MemoryStoreMount>
627
- ```
628
-
629
- [方法源码](../src/forward/identity-memory-store.ts#L34);返回:`APIPromise<MemoryStoreMount>`([MemoryStoreMount](../src/forward/types.ts#L1514))。
630
-
631
- 参数对象:[IdentityMemoryStoreMountParams](../src/forward/types.ts#L1486)。
632
-
633
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
634
- | --- | --- | --- | --- | --- |
635
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
636
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
637
- | `params.memory_store_id` | 是 | `string` | body / `memory_store_id` | 要挂载的 Memory Store ID(`memstore_...`)。必须是当前调用方可见的 active Store。 |
638
-
639
- ### `identities.memoryStores.detach`
640
-
641
- 解除挂载身份的记忆库挂载。HTTP:`DELETE /identities/{identity_id}/templates/{template_id}/memory_stores/{memory_store_id}`。
642
-
643
- ```text
644
- client.identities.memoryStores.detach(identityID: string, templateID: string, memoryStoreID: string, options?: RequestOptions): APIPromise<DeletedMemoryStoreMount>
645
- ```
646
-
647
- [方法源码](../src/forward/identity-memory-store.ts#L55);返回:`APIPromise<DeletedMemoryStoreMount>`([DeletedMemoryStoreMount](../src/forward/types.ts#L1496))。
648
-
649
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
650
- | --- | --- | --- | --- | --- |
651
- | `identityID` | 是 | `string` | path / `identity_id` | 按签名顺序传入的路径参数。 |
652
- | `templateID` | 是 | `string` | path / `template_id` | 按签名顺序传入的路径参数。 |
653
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
654
-
655
- <a id="sessions"></a>
656
-
657
- ## 会话:`client.sessions`
658
-
659
- ### `sessions.list`
660
-
661
- 列出会话。HTTP:`GET /sessions`。
662
-
663
- ```text
664
- client.sessions.list(params: SessionListParams = {}, options?: RequestOptions): PagePromise<Session>
665
- ```
666
-
667
- [方法源码](../src/forward/session.ts#L23);返回:`PagePromise<Session>`([Session](../src/forward/types.ts#L2398))。
668
-
669
- 参数对象:[SessionListParams](../src/forward/types.ts#L2247)。
670
-
671
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
672
- | --- | --- | --- | --- | --- |
673
- | `params.identity_ids` | 否 | `Array<string> \| null` | query / `identity_ids` | 按一个或多个 Identity ID 过滤,支持逗号分隔。 |
674
- | `params.template_id` | 否 | `string \| null` | query / `template_id` | 按 Forward Template ID 过滤。 |
675
- | `params.source_type` | 否 | `string \| null` | query / `source_type` | 按 `api`、`im`、`schedule` 或 `batch` 过滤。 |
676
- | `params["created_at[gt]"]` | 否 | `string \| null` | query / `created_at[gt]` | 创建时间严格大于该 RFC 3339 时间。 |
677
- | `params["created_at[gte]"]` | 否 | `string \| null` | query / `created_at[gte]` | 创建时间大于等于该 RFC 3339 时间。 |
678
- | `params["created_at[lt]"]` | 否 | `string \| null` | query / `created_at[lt]` | 创建时间严格小于该 RFC 3339 时间。 |
679
- | `params["created_at[lte]"]` | 否 | `string \| null` | query / `created_at[lte]` | 创建时间小于等于该 RFC 3339 时间。 |
680
- | `params["updated_at[gt]"]` | 否 | `string \| null` | query / `updated_at[gt]` | 更新时间严格大于该 RFC 3339 时间。 |
681
- | `params["updated_at[gte]"]` | 否 | `string \| null` | query / `updated_at[gte]` | 更新时间大于等于该 RFC 3339 时间。 |
682
- | `params["updated_at[lt]"]` | 否 | `string \| null` | query / `updated_at[lt]` | 更新时间严格小于该 RFC 3339 时间。 |
683
- | `params["updated_at[lte]"]` | 否 | `string \| null` | query / `updated_at[lte]` | 更新时间小于等于该 RFC 3339 时间。 |
684
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
685
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,传入上一页响应的 `last_id`。 |
686
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,传入当前页响应的 `first_id`。 |
687
- | `params.order` | 否 | `string \| null` | query / `order` | 创建时间排序方向:`desc` 或 `asc`。 |
688
- | `params.include_archived` | 否 | `boolean \| null` | query / `include_archived` | 是否包含已归档 Session。 |
689
-
690
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
691
-
692
- ### `sessions.create`
693
-
694
- 创建会话。HTTP:`POST /sessions`。
695
-
696
- ```text
697
- client.sessions.create(params: SessionCreateParams, options?: RequestOptions): APIPromise<Session>
698
- ```
699
-
700
- [方法源码](../src/forward/session.ts#L34);返回:`APIPromise<Session>`([Session](../src/forward/types.ts#L2398))。
701
-
702
- 参数对象:[SessionCreateParams](../src/forward/types.ts#L3341);字段定义:[SessionNewParams](../src/forward/types.ts#L2317)。
703
-
704
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
705
- | --- | --- | --- | --- | --- |
706
- | `params.identity_id` | 是 | `string` | body / `identity_id` | Forward Identity ID。 |
707
- | `params.template_id` | 是 | `string` | body / `template_id` | Forward Template ID。 |
708
- | `params.title` | 否 | `string \| null` | body / `title` | Session 标题。 |
709
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 业务元数据。 |
710
- | `params.config` | 否 | `SessionNewParamsConfigParam \| null`([SessionNewParamsConfigParam](../src/forward/types.ts#L2345)) | body / `config` | 字段结构见类型链接。 |
711
- | `params.resources` | 否 | `Array<SessionResourceSpecParam> \| null`([SessionResourceSpecParam](../src/forward/types.ts#L751)) | body / `resources` | 字段结构见类型链接。 |
712
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
713
-
714
- ### `sessions.retrieve`
715
-
716
- 获取会话。HTTP:`GET /sessions/{session_id}`。
717
-
718
- ```text
719
- client.sessions.retrieve(sessionID: string, options?: RequestOptions): APIPromise<Session>
720
- ```
721
-
722
- [方法源码](../src/forward/session.ts#L52);返回:`APIPromise<Session>`([Session](../src/forward/types.ts#L2398))。
723
-
724
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
725
- | --- | --- | --- | --- | --- |
726
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
727
-
728
- ### `sessions.update`
729
-
730
- 更新会话。HTTP:`POST /sessions/{session_id}`。
731
-
732
- ```text
733
- client.sessions.update(sessionID: string, params: SessionUpdateParams = {}, options?: RequestOptions): APIPromise<Session>
734
- ```
735
-
736
- [方法源码](../src/forward/session.ts#L67);返回:`APIPromise<Session>`([Session](../src/forward/types.ts#L2398))。
737
-
738
- 参数对象:[SessionUpdateParams](../src/forward/types.ts#L2352)。
739
-
740
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
741
- | --- | --- | --- | --- | --- |
742
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
743
- | `params.title` | 否 | `string \| null` | body / `title` | 新的 Session 标题。 |
744
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | metadata merge patch;传入的 key 覆盖已有 key,未出现的 key 保留。 |
745
- | `params.config` | 否 | `SessionUpdateParamsConfigParam \| null`([SessionUpdateParamsConfigParam](../src/forward/types.ts#L2371)) | body / `config` | 字段结构见类型链接。 |
746
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
747
-
748
- ### `sessions.archive`
749
-
750
- 归档会话。HTTP:`POST /sessions/{session_id}/archive`。
751
-
752
- ```text
753
- client.sessions.archive(sessionID: string, params: SessionArchiveParams = {}, options?: RequestOptions): APIPromise<Session>
754
- ```
755
-
756
- [方法源码](../src/forward/session.ts#L85);返回:`APIPromise<Session>`([Session](../src/forward/types.ts#L2398))。
757
-
758
- 参数对象:[SessionArchiveParams](../src/forward/types.ts#L2378)。
759
-
760
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
761
- | --- | --- | --- | --- | --- |
762
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
763
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
764
-
765
- ### `sessions.cancel`
766
-
767
- 取消会话。HTTP:`POST /sessions/{session_id}/cancel`。
768
-
769
- ```text
770
- client.sessions.cancel(sessionID: string, params: SessionCancelParams = {}, options?: RequestOptions): APIPromise<Session>
771
- ```
772
-
773
- [方法源码](../src/forward/session.ts#L106);返回:`APIPromise<Session>`([Session](../src/forward/types.ts#L2398))。
774
-
775
- 参数对象:[SessionCancelParams](../src/forward/types.ts#L2388)。
776
-
777
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
778
- | --- | --- | --- | --- | --- |
779
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
780
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
781
-
782
- <a id="sessions-events"></a>
783
-
784
- ## 会话事件:`client.sessions.events`
785
-
786
- ### `sessions.events.list`
787
-
788
- 列出会话事件。HTTP:`GET /sessions/{session_id}/events`。
789
-
790
- ```text
791
- client.sessions.events.list(sessionID: string, params: SessionEventListParams = {}, options?: RequestOptions): PagePromise<SessionEvent>
792
- ```
793
-
794
- [方法源码](../src/forward/session-event.ts#L17);返回:`PagePromise<SessionEvent>`([SessionEvent](../src/forward/types.ts#L2541))。
795
-
796
- 参数对象:[SessionEventListParams](../src/forward/types.ts#L2470)。
797
-
798
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
799
- | --- | --- | --- | --- | --- |
800
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
801
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
802
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 返回该 Event ID 之后的事件。 |
803
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 返回该 Event ID 之前的事件。 |
804
- | `params.order` | 否 | `string \| null` | query / `order` | 排序方向:`asc` 或 `desc`。 |
805
- | `params.type` | 否 | `string \| null` | query / `type` | 按 Event 类型过滤,支持逗号分隔。 |
806
- | `params["types[]"]` | 否 | `Array<string> \| null` | query / `types[]` | 数组形式的 Event 类型过滤。 |
807
- | `params.include_tool_calls` | 否 | `boolean \| null` | query / `include_tool_calls` | 是否包含工具调用类事件。 |
808
- | `params.include_thinking` | 否 | `boolean \| null` | query / `include_thinking` | 是否包含思考过程事件。 |
809
-
810
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
811
-
812
- ### `sessions.events.send`
813
-
814
- 发送会话事件。HTTP:`POST /sessions/{session_id}/events`。
815
-
816
- ```text
817
- client.sessions.events.send(sessionID: string, params: SessionEventSendParams, options?: RequestOptions): APIPromise<SessionEventSendResponse>
818
- ```
819
-
820
- [方法源码](../src/forward/session-event.ts#L32);返回:`APIPromise<SessionEventSendResponse>`([SessionEventSendResponse](../src/forward/types.ts#L2588))。
821
-
822
- 参数对象:[SessionEventSendParams](../src/forward/types.ts#L2508)。
823
-
824
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
825
- | --- | --- | --- | --- | --- |
826
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
827
- | `params.events` | 是 | `Array<SessionEventParam>`([SessionEventParam](../src/forward/types.ts#L878)) | body / `events` | 字段结构见类型链接。 |
828
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
829
-
830
- ### `sessions.events.streamEvents`
831
-
832
- 订阅会话事件 SSE 流。HTTP:`GET /sessions/{session_id}/events/stream`。
833
-
834
- ```text
835
- client.sessions.events.streamEvents(sessionID: string, params: SessionEventStreamParams = {}, options?: RequestOptions): APIPromise<Stream<SessionEvent>>
836
- ```
837
-
838
- [方法源码](../src/forward/session-event.ts#L54);返回:`APIPromise<Stream<SessionEvent>>`([SessionEvent](../src/forward/types.ts#L2541))。
839
-
840
- 参数对象:[SessionEventStreamParams](../src/forward/types.ts#L2519)。
841
-
842
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
843
- | --- | --- | --- | --- | --- |
844
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
845
- | `params["event_deltas[]"]` | 否 | `Array<string> \| null` | query / `event_deltas[]` | 订阅指定公开事件类型的流式增量事件。支持重复传参,取值见 流式增量事件。 |
846
- | `params.include_tool_calls` | 否 | `boolean \| null` | query / `include_tool_calls` | 是否包含工具调用类事件。 |
847
- | `params.include_thinking` | 否 | `boolean \| null` | query / `include_thinking` | 是否包含思考过程事件。 |
848
- | `params.last_event_id` | 否 | `string \| null` | header / `Last-Event-ID` | 从该 Event ID 之后恢复订阅。 |
849
-
850
- 返回可异步迭代的 SSE 流;使用完毕调用 `await stream.close()`。连接结束不会自动重连。
851
-
852
- <a id="sessions-resources"></a>
853
-
854
- ## 会话资源:`client.sessions.resources`
855
-
856
- ### `sessions.resources.add`
857
-
858
- 添加会话资源。HTTP:`POST /sessions/{session_id}/resources`。
859
-
860
- ```text
861
- client.sessions.resources.add(sessionID: string, params: SessionResourceAddParams, options?: RequestOptions): APIPromise<SessionResource>
862
- ```
863
-
864
- [方法源码](../src/forward/session-resource.ts#L15);返回:`APIPromise<SessionResource>`([SessionResource](../src/forward/types.ts#L2613))。
865
-
866
- 参数对象:[SessionResourceAddParams](../src/forward/types.ts#L2595)。
867
-
868
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
869
- | --- | --- | --- | --- | --- |
870
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
871
- | `params.type` | 是 | `string` | body / `type` | 资源类型,必须为 `file`。 |
872
- | `params.file_id` | 是 | `string` | body / `file_id` | Files API 返回的 File ID,文件必须已上传完成。 |
873
- | `params.mount_path` | 否 | `string \| null` | body / `mount_path` | Agent 容器内挂载路径;省略时由 Forward 根据文件名生成,默认挂载到 `/data/workspace/<文件名>`。 |
874
-
875
- <a id="sessions-threads"></a>
876
-
877
- ## 会话线程:`client.sessions.threads`
878
-
879
- ### `sessions.threads.list`
880
-
881
- 列出会话线程。HTTP:`GET /sessions/{session_id}/threads`。
882
-
883
- ```text
884
- client.sessions.threads.list(sessionID: string, params: SessionThreadListParams = {}, options?: RequestOptions): PagePromise<SessionThread>
885
- ```
886
-
887
- [方法源码](../src/forward/session-thread.ts#L19);返回:`PagePromise<SessionThread>`([SessionThread](../src/forward/types.ts#L2671))。
888
-
889
- 参数对象:[SessionThreadListParams](../src/forward/types.ts#L2643)。
890
-
891
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
892
- | --- | --- | --- | --- | --- |
893
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
894
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,范围为 1–100。 |
895
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 返回该 Thread ID 之后的记录。 |
896
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 返回该 Thread ID 之前的记录。 |
897
-
898
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
899
-
900
- ### `sessions.threads.retrieve`
901
-
902
- 获取会话线程。HTTP:`GET /sessions/{session_id}/threads/{thread_id}`。
903
-
904
- ```text
905
- client.sessions.threads.retrieve(sessionID: string, threadID: string, options?: RequestOptions): APIPromise<SessionThread>
906
- ```
907
-
908
- [方法源码](../src/forward/session-thread.ts#L34);返回:`APIPromise<SessionThread>`([SessionThread](../src/forward/types.ts#L2671))。
909
-
910
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
911
- | --- | --- | --- | --- | --- |
912
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
913
- | `threadID` | 是 | `string` | path / `thread_id` | 按签名顺序传入的路径参数。 |
914
-
915
- ### `sessions.threads.archive`
916
-
917
- 归档会话线程。HTTP:`POST /sessions/{session_id}/threads/{thread_id}/archive`。
918
-
919
- ```text
920
- client.sessions.threads.archive(sessionID: string, threadID: string, params: SessionThreadArchiveParams = {}, options?: RequestOptions): APIPromise<SessionThread>
921
- ```
922
-
923
- [方法源码](../src/forward/session-thread.ts#L49);返回:`APIPromise<SessionThread>`([SessionThread](../src/forward/types.ts#L2671))。
924
-
925
- 参数对象:[SessionThreadArchiveParams](../src/forward/types.ts#L2661)。
926
-
927
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
928
- | --- | --- | --- | --- | --- |
929
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
930
- | `threadID` | 是 | `string` | path / `thread_id` | 按签名顺序传入的路径参数。 |
931
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 标识一次逻辑归档尝试;建议为每次新的逻辑尝试生成唯一值。 |
932
-
933
- <a id="sessions-threads-events"></a>
934
-
935
- ## 线程事件:`client.sessions.threads.events`
936
-
937
- ### `sessions.threads.events.list`
938
-
939
- 列出线程事件。HTTP:`GET /sessions/{session_id}/threads/{thread_id}/events`。
940
-
941
- ```text
942
- client.sessions.threads.events.list(sessionID: string, threadID: string, params: SessionThreadEventListParams = {}, options?: RequestOptions): PagePromise<SessionEvent>
943
- ```
944
-
945
- [方法源码](../src/forward/session-thread-event.ts#L17);返回:`PagePromise<SessionEvent>`([SessionEvent](../src/forward/types.ts#L2541))。
946
-
947
- 参数对象:[SessionThreadEventListParams](../src/forward/types.ts#L2697)。
948
-
949
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
950
- | --- | --- | --- | --- | --- |
951
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
952
- | `threadID` | 是 | `string` | path / `thread_id` | 按签名顺序传入的路径参数。 |
953
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,范围为 1–100。 |
954
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 返回该 Event ID 之后的记录。 |
955
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 返回该 Event ID 之前的记录。 |
956
-
957
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
958
-
959
- ### `sessions.threads.events.streamEvents`
960
-
961
- 订阅线程事件 SSE 流。HTTP:`GET /sessions/{session_id}/threads/{thread_id}/stream`。
962
-
963
- ```text
964
- client.sessions.threads.events.streamEvents(sessionID: string, threadID: string, params: SessionThreadEventStreamParams = {}, options?: RequestOptions): APIPromise<Stream<SessionEvent>>
965
- ```
966
-
967
- [方法源码](../src/forward/session-thread-event.ts#L33);返回:`APIPromise<Stream<SessionEvent>>`([SessionEvent](../src/forward/types.ts#L2541))。
968
-
969
- 参数对象:[SessionThreadEventStreamParams](../src/forward/types.ts#L2715)。
970
-
971
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
972
- | --- | --- | --- | --- | --- |
973
- | `sessionID` | 是 | `string` | path / `session_id` | 按签名顺序传入的路径参数。 |
974
- | `threadID` | 是 | `string` | path / `thread_id` | 按签名顺序传入的路径参数。 |
975
- | `params.last_event_id` | 否 | `string \| null` | header / `Last-Event-ID` | 从该 Thread Event 之后继续订阅。 |
976
-
977
- 返回可异步迭代的 SSE 流;使用完毕调用 `await stream.close()`。连接结束不会自动重连。
978
-
979
- <a id="schedules"></a>
980
-
981
- ## 计划任务:`client.schedules`
982
-
983
- ### `schedules.list`
984
-
985
- 列出计划任务。HTTP:`GET /schedules`。
986
-
987
- ```text
988
- client.schedules.list(params: ScheduleListParams = {}, options?: RequestOptions): PagePromise<Schedule>
989
- ```
990
-
991
- [方法源码](../src/forward/schedule.ts#L16);返回:`PagePromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
992
-
993
- 参数对象:[ScheduleListParams](../src/forward/types.ts#L1825)。
994
-
995
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
996
- | --- | --- | --- | --- | --- |
997
- | `params.identity_id` | 否 | `string \| null` | query / `identity_id` | PAT 或管理员 SAT 可省略,省略时查询当前 owner 全部 Identity;Identity-bound SAT 省略时自动绑定自身,显式传其他 Identity 返回 403。 |
998
- | `params.template_id` | 否 | `string \| null` | query / `template_id` | 按 Forward Template ID 过滤。 |
999
- | `params.status` | 否 | `string \| null` | query / `status` | 按 `active` 或 `paused` 过滤。 |
1000
- | `params.include_archived` | 否 | `boolean \| null` | query / `include_archived` | 是否包含已归档 Schedule。 |
1001
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1002
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标。 |
1003
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标。 |
1004
- | `params.sort_by` | 否 | `string \| null` | query / `sort_by` | 排序字段:`created_at` 或 `upcoming_runs_at`。 |
1005
- | `params.order` | 否 | `string \| null` | query / `order` | 排序方向:`asc` 或 `desc`。 |
1006
-
1007
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
1008
-
1009
- ### `schedules.create`
1010
-
1011
- 创建计划任务。HTTP:`POST /schedules`。
1012
-
1013
- ```text
1014
- client.schedules.create(params: ScheduleCreateParams, options?: RequestOptions): APIPromise<Schedule>
1015
- ```
1016
-
1017
- [方法源码](../src/forward/schedule.ts#L27);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1018
-
1019
- 参数对象:[ScheduleCreateParams](../src/forward/types.ts#L3337);字段定义:[ScheduleNewParams](../src/forward/types.ts#L1867)。
1020
-
1021
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1022
- | --- | --- | --- | --- | --- |
1023
- | `params.identity_id` | 是 | `string` | body / `identity_id` | Schedule 所属 Forward Identity ID。 |
1024
- | `params.template_id` | 是 | `string` | body / `template_id` | 要执行的 Forward Template ID。 |
1025
- | `params.name` | 是 | `string` | body / `name` | Schedule 名称。 |
1026
- | `params.description` | 否 | `string \| null` | body / `description` | Schedule 描述。 |
1027
- | `params.initial_events` | 是 | `Array<Record<string, unknown>>` | body / `initial_events` | 每次执行注入的初始事件,当前支持 `user.message`。 |
1028
- | `params.execution` | 否 | `Record<string, unknown> \| null` | body / `execution` | 执行策略;省略时使用服务端默认值。 |
1029
- | `params.trigger_policy` | 否 | `Record<string, unknown> \| null` | body / `trigger_policy` | 触发策略;省略或 `null` 时按 `manual` 处理。 |
1030
- | `params.environment_id` | 是 | `string` | body / `environment_id` | 执行环境。 |
1031
- | `params.sinks` | 否 | `Array<Record<string, unknown>> \| null` | body / `sinks` | 执行结果推送目标;为兼容性保留数组形式,当前最多允许一个元素。 |
1032
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 业务元数据,仅用于标签或透传。 |
1033
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1034
-
1035
- ### `schedules.archiveMany`
1036
-
1037
- 批量归档计划任务。HTTP:`POST /schedules/archive`。
1038
-
1039
- ```text
1040
- client.schedules.archiveMany(params: ScheduleArchiveManyParams, options?: RequestOptions): APIPromise<ScheduleArchiveManyResponse>
1041
- ```
1042
-
1043
- [方法源码](../src/forward/schedule.ts#L45);返回:`APIPromise<ScheduleArchiveManyResponse>`([ScheduleArchiveManyResponse](../src/forward/types.ts#L2017))。
1044
-
1045
- 参数对象:[ScheduleArchiveManyParams](../src/forward/types.ts#L1917)。
1046
-
1047
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1048
- | --- | --- | --- | --- | --- |
1049
- | `params.schedule_ids` | 是 | `Array<string>` | body / `schedule_ids` | 去重后必须包含 1~50 个非空 Schedule ID。 |
1050
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键;相同 owner、路径和请求体可安全重放。 |
1051
-
1052
- ### `schedules.retrieve`
1053
-
1054
- 获取计划任务。HTTP:`GET /schedules/{schedule_id}`。
1055
-
1056
- ```text
1057
- client.schedules.retrieve(scheduleID: string, options?: RequestOptions): APIPromise<Schedule>
1058
- ```
1059
-
1060
- [方法源码](../src/forward/schedule.ts#L66);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1061
-
1062
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1063
- | --- | --- | --- | --- | --- |
1064
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1065
-
1066
- ### `schedules.update`
1067
-
1068
- 更新计划任务。HTTP:`POST /schedules/{schedule_id}`。
1069
-
1070
- ```text
1071
- client.schedules.update(scheduleID: string, params: ScheduleUpdateParams = {}, options?: RequestOptions): APIPromise<Schedule>
1072
- ```
1073
-
1074
- [方法源码](../src/forward/schedule.ts#L81);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1075
-
1076
- 参数对象:[ScheduleUpdateParams](../src/forward/types.ts#L1931)。
1077
-
1078
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1079
- | --- | --- | --- | --- | --- |
1080
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1081
- | `params.name` | 否 | `string \| null` | body / `name` | 新的 Schedule 名称。 |
1082
- | `params.description` | 否 | `string \| null` | body / `description` | 新的 Schedule 描述。 |
1083
- | `params.template_id` | 否 | `string \| null` | body / `template_id` | 新的 Forward Template ID。 |
1084
- | `params.initial_events` | 否 | `Array<Record<string, unknown>> \| null` | body / `initial_events` | 替换初始事件列表。 |
1085
- | `params.execution` | 否 | `Record<string, unknown> \| null` | body / `execution` | 合并更新执行策略。 |
1086
- | `params.trigger_policy` | 否 | `Record<string, unknown> \| null` | body / `trigger_policy` | 更新触发策略;`null` 表示改为 manual。 |
1087
- | `params.environment_id` | 否 | `string \| null` | body / `environment_id` | 新的执行环境。 |
1088
- | `params.sinks` | 否 | `Array<Record<string, unknown>> \| null` | body / `sinks` | 执行结果推送目标;为兼容性保留数组形式,当前最多允许一个元素。 |
1089
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 合并更新 metadata;value 为 `null` 删除 key。 |
1090
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1091
-
1092
- ### `schedules.archive`
1093
-
1094
- 归档计划任务。HTTP:`POST /schedules/{schedule_id}/archive`。
1095
-
1096
- ```text
1097
- client.schedules.archive(scheduleID: string, params: ScheduleArchiveParams = {}, options?: RequestOptions): APIPromise<Schedule>
1098
- ```
1099
-
1100
- [方法源码](../src/forward/schedule.ts#L103);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1101
-
1102
- 参数对象:[ScheduleArchiveParams](../src/forward/types.ts#L1977)。
1103
-
1104
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1105
- | --- | --- | --- | --- | --- |
1106
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1107
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1108
-
1109
- ### `schedules.pause`
1110
-
1111
- 暂停计划任务。HTTP:`POST /schedules/{schedule_id}/pause`。
1112
-
1113
- ```text
1114
- client.schedules.pause(scheduleID: string, params: SchedulePauseParams = {}, options?: RequestOptions): APIPromise<Schedule>
1115
- ```
1116
-
1117
- [方法源码](../src/forward/schedule.ts#L124);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1118
-
1119
- 参数对象:[SchedulePauseParams](../src/forward/types.ts#L1987)。
1120
-
1121
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1122
- | --- | --- | --- | --- | --- |
1123
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1124
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1125
-
1126
- ### `schedules.run`
1127
-
1128
- 手动触发计划任务。HTTP:`POST /schedules/{schedule_id}/run`。
1129
-
1130
- ```text
1131
- client.schedules.run(scheduleID: string, params: ScheduleRunParams = {}, options?: RequestOptions): APIPromise<ScheduleRun>
1132
- ```
1133
-
1134
- [方法源码](../src/forward/schedule.ts#L145);返回:`APIPromise<ScheduleRun>`([ScheduleRun](../src/forward/types.ts#L2157))。
1135
-
1136
- 参数对象:[ScheduleRunParams](../src/forward/types.ts#L1997)。
1137
-
1138
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1139
- | --- | --- | --- | --- | --- |
1140
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1141
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1142
-
1143
- ### `schedules.unpause`
1144
-
1145
- 恢复计划任务运行。HTTP:`POST /schedules/{schedule_id}/unpause`。
1146
-
1147
- ```text
1148
- client.schedules.unpause(scheduleID: string, params: ScheduleUnpauseParams = {}, options?: RequestOptions): APIPromise<Schedule>
1149
- ```
1150
-
1151
- [方法源码](../src/forward/schedule.ts#L162);返回:`APIPromise<Schedule>`([Schedule](../src/forward/types.ts#L2027))。
1152
-
1153
- 参数对象:[ScheduleUnpauseParams](../src/forward/types.ts#L2007)。
1154
-
1155
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1156
- | --- | --- | --- | --- | --- |
1157
- | `scheduleID` | 是 | `string` | path / `schedule_id` | 按签名顺序传入的路径参数。 |
1158
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1159
-
1160
- <a id="scheduleRuns"></a>
1161
-
1162
- ## 计划任务运行:`client.scheduleRuns`
1163
-
1164
- ### `scheduleRuns.list`
1165
-
1166
- 列出计划任务运行。HTTP:`GET /schedule_runs`。
1167
-
1168
- ```text
1169
- client.scheduleRuns.list(params: ScheduleRunListParams, options?: RequestOptions): PagePromise<ScheduleRun>
1170
- ```
1171
-
1172
- [方法源码](../src/forward/schedule-run.ts#L16);返回:`PagePromise<ScheduleRun>`([ScheduleRun](../src/forward/types.ts#L2157))。
1173
-
1174
- 参数对象:[ScheduleRunListParams](../src/forward/types.ts#L2101)。
1175
-
1176
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1177
- | --- | --- | --- | --- | --- |
1178
- | `params.identity_id` | 是 | `string` | query / `identity_id` | Run 所属 Forward Identity ID。 |
1179
- | `params.schedule_id` | 否 | `string \| null` | query / `schedule_id` | 按 Schedule ID 过滤。 |
1180
- | `params.status` | 否 | `string \| null` | query / `status` | 按 `pending`、`running`、`completed`、`failed` 或 `skipped` 过滤。 |
1181
- | `params.trigger_type` | 否 | `string \| null` | query / `trigger_type` | 按 `schedule` 或 `manual` 过滤。 |
1182
- | `params.has_error` | 否 | `boolean \| null` | query / `has_error` | 是否只返回有错误或无错误的 Run。 |
1183
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1184
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标。 |
1185
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标。 |
1186
- | `params.sort_by` | 否 | `string \| null` | query / `sort_by` | 排序字段:`created_at` 或 `triggered_at`。 |
1187
- | `params.order` | 否 | `string \| null` | query / `order` | 排序方向:`asc` 或 `desc`。 |
1188
-
1189
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
1190
-
1191
- ### `scheduleRuns.retrieve`
1192
-
1193
- 获取计划任务运行。HTTP:`GET /schedule_runs/{run_id}`。
1194
-
1195
- ```text
1196
- client.scheduleRuns.retrieve(runID: string, params: ScheduleRunRetrieveParams = {}, options?: RequestOptions): APIPromise<ScheduleRun>
1197
- ```
1198
-
1199
- [方法源码](../src/forward/schedule-run.ts#L27);返回:`APIPromise<ScheduleRun>`([ScheduleRun](../src/forward/types.ts#L2157))。
1200
-
1201
- 参数对象:[ScheduleRunRetrieveParams](../src/forward/types.ts#L3339);字段定义:[ScheduleRunGetParams](../src/forward/types.ts#L2147)。
1202
-
1203
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1204
- | --- | --- | --- | --- | --- |
1205
- | `runID` | 是 | `string` | path / `run_id` | 按签名顺序传入的路径参数。 |
1206
- | `params.identity_id` | 否 | `string \| null` | query / `identity_id` | 额外归属约束。 |
1207
-
1208
- <a id="batches"></a>
1209
-
1210
- ## 批处理:`client.batches`
1211
-
1212
- ### `batches.list`
1213
-
1214
- 列出批处理。HTTP:`GET /batches`。
1215
-
1216
- ```text
1217
- client.batches.list(params: BatchListParams = {}, options?: RequestOptions): PagePromise<Batch>
1218
- ```
1219
-
1220
- [方法源码](../src/forward/batch.ts#L19);返回:`PagePromise<Batch>`([Batch](../src/forward/types.ts#L74))。
1221
-
1222
- 参数对象:[BatchListParams](../src/forward/types.ts#L6)。
1223
-
1224
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1225
- | --- | --- | --- | --- | --- |
1226
- | `params.status` | 否 | `string \| null` | query / `status` | 按状态过滤。 |
1227
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1228
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标。 |
1229
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标。 |
1230
-
1231
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
1232
-
1233
- ### `batches.create`
1234
-
1235
- 创建批处理。HTTP:`POST /batches`。
1236
-
1237
- ```text
1238
- client.batches.create(params: BatchCreateParams, options?: RequestOptions): APIPromise<Batch>
1239
- ```
1240
-
1241
- [方法源码](../src/forward/batch.ts#L30);返回:`APIPromise<Batch>`([Batch](../src/forward/types.ts#L74))。
1242
-
1243
- 参数对象:[BatchCreateParams](../src/forward/types.ts#L3321);字段定义:[BatchNewParams](../src/forward/types.ts#L28)。
1244
-
1245
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1246
- | --- | --- | --- | --- | --- |
1247
- | `params.input_file_id` | 是 | `string` | body / `input_file_id` | 通过 Files API 上传的 JSONL 文件 ID。 |
1248
- | `params.completion_window` | 是 | `string` | body / `completion_window` | 完成窗口:`24h`、`48h`、`72h`。超时后 Batch 自动进入 `expired` 状态。 |
1249
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 调用方业务元数据,最多 16 个 key;value 可为任意 JSON 类型;整体序列化后 ≤ 2KB,key ≤ 64 字符,且不得包含 NUL(U+0000)。 |
1250
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1251
-
1252
- ### `batches.retrieve`
1253
-
1254
- 获取批处理。HTTP:`GET /batches/{batch_id}`。
1255
-
1256
- ```text
1257
- client.batches.retrieve(batchID: string, options?: RequestOptions): APIPromise<Batch>
1258
- ```
1259
-
1260
- [方法源码](../src/forward/batch.ts#L48);返回:`APIPromise<Batch>`([Batch](../src/forward/types.ts#L74))。
1261
-
1262
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1263
- | --- | --- | --- | --- | --- |
1264
- | `batchID` | 是 | `string` | path / `batch_id` | 按签名顺序传入的路径参数。 |
1265
-
1266
- ### `batches.cancel`
1267
-
1268
- 取消批处理。HTTP:`POST /batches/{batch_id}/cancel`。
1269
-
1270
- ```text
1271
- client.batches.cancel(batchID: string, params: BatchCancelParams = {}, options?: RequestOptions): APIPromise<Batch>
1272
- ```
1273
-
1274
- [方法源码](../src/forward/batch.ts#L63);返回:`APIPromise<Batch>`([Batch](../src/forward/types.ts#L74))。
1275
-
1276
- 参数对象:[BatchCancelParams](../src/forward/types.ts#L50)。
1277
-
1278
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1279
- | --- | --- | --- | --- | --- |
1280
- | `batchID` | 是 | `string` | path / `batch_id` | 按签名顺序传入的路径参数。 |
1281
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1282
-
1283
- ### `batches.getError`
1284
-
1285
- 获取批处理错误文件链接。HTTP:`GET /batches/{batch_id}/error`。
1286
-
1287
- ```text
1288
- client.batches.getError(batchID: string, options?: RequestOptions): APIPromise<BatchFile>
1289
- ```
1290
-
1291
- [方法源码](../src/forward/batch.ts#L80);返回:`APIPromise<BatchFile>`([BatchFile](../src/forward/types.ts#L60))。
1292
-
1293
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1294
- | --- | --- | --- | --- | --- |
1295
- | `batchID` | 是 | `string` | path / `batch_id` | 按签名顺序传入的路径参数。 |
1296
-
1297
- ### `batches.getOutput`
1298
-
1299
- 获取批处理输出文件链接。HTTP:`GET /batches/{batch_id}/output`。
1300
-
1301
- ```text
1302
- client.batches.getOutput(batchID: string, options?: RequestOptions): APIPromise<BatchFile>
1303
- ```
1304
-
1305
- [方法源码](../src/forward/batch.ts#L95);返回:`APIPromise<BatchFile>`([BatchFile](../src/forward/types.ts#L60))。
1306
-
1307
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1308
- | --- | --- | --- | --- | --- |
1309
- | `batchID` | 是 | `string` | path / `batch_id` | 按签名顺序传入的路径参数。 |
1310
-
1311
- <a id="batches-tasks"></a>
1312
-
1313
- ## 批处理任务:`client.batches.tasks`
1314
-
1315
- ### `batches.tasks.list`
1316
-
1317
- 列出批处理任务。HTTP:`GET /batches/{batch_id}/tasks`。
1318
-
1319
- ```text
1320
- client.batches.tasks.list(batchID: string, params: BatchTaskListParams = {}, options?: RequestOptions): PagePromise<BatchTask>
1321
- ```
1322
-
1323
- [方法源码](../src/forward/batch-task.ts#L16);返回:`PagePromise<BatchTask>`([BatchTask](../src/forward/types.ts#L202))。
1324
-
1325
- 参数对象:[BatchTaskListParams](../src/forward/types.ts#L180)。
1326
-
1327
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1328
- | --- | --- | --- | --- | --- |
1329
- | `batchID` | 是 | `string` | path / `batch_id` | 按签名顺序传入的路径参数。 |
1330
- | `params.status` | 否 | `string \| null` | query / `status` | 按任务状态过滤:`pending`、`running`、`completed`、`failed`、`cancelled`、`expired`。 |
1331
- | `params.custom_id` | 否 | `string \| null` | query / `custom_id` | 按调用方任务标识精确过滤,仅支持单值;未命中返回空列表。 |
1332
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1333
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,传上一页响应的 `last_id`;游标必须属于当前 Batch。 |
1334
-
1335
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
1336
-
1337
- <a id="channels"></a>
1338
-
1339
- ## 渠道:`client.channels`
1340
-
1341
- ### `channels.list`
1342
-
1343
- 列出渠道。HTTP:`GET /channels`。
1344
-
1345
- ```text
1346
- client.channels.list(params: ChannelListParams = {}, options?: RequestOptions): PagePromise<Channel>
1347
- ```
1348
-
1349
- [方法源码](../src/forward/channel.ts#L19);返回:`PagePromise<Channel>`([Channel](../src/forward/types.ts#L352))。
1350
-
1351
- 参数对象:[ChannelListParams](../src/forward/types.ts#L241)。
1352
-
1353
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1354
- | --- | --- | --- | --- | --- |
1355
- | `params.channel_type` | 否 | `string \| null` | query / `channel_type` | 按 `wechat`、`wecom`、`feishu`、`dingtalk` 或 `teams`(Global)过滤。 |
1356
- | `params.enabled` | 否 | `boolean \| null` | query / `enabled` | 按人工启停状态过滤。 |
1357
- | `params.binding_status` | 否 | `string \| null` | query / `binding_status` | 按 `unbound`、`bound` 或 `expired` 过滤。 |
1358
- | `params.identity_id` | 否 | `string \| null` | query / `identity_id` | 按 Forward Identity ID 过滤。 |
1359
- | `params.template_id` | 否 | `string \| null` | query / `template_id` | 按 Forward Template ID 过滤。 |
1360
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1361
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标。 |
1362
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标。 |
1363
-
1364
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
1365
-
1366
- ### `channels.create`
1367
-
1368
- 创建渠道。HTTP:`POST /channels`。
1369
-
1370
- ```text
1371
- client.channels.create(params: ChannelCreateParams, options?: RequestOptions): APIPromise<Channel>
1372
- ```
1373
-
1374
- [方法源码](../src/forward/channel.ts#L30);返回:`APIPromise<Channel>`([Channel](../src/forward/types.ts#L352))。
1375
-
1376
- 参数对象:[ChannelCreateParams](../src/forward/types.ts#L3323);字段定义:[ChannelNewParams](../src/forward/types.ts#L279)。
1377
-
1378
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1379
- | --- | --- | --- | --- | --- |
1380
- | `params.identity_id` | 否 | `string \| null` | body / `identity_id` | `fixed` 模式必填;`pairing` 模式不传。 |
1381
- | `params.identity_resolution` | 否 | `Record<string, unknown> \| null` | body / `identity_resolution` | 字段结构见类型链接。 |
1382
- | `params.template_id` | 否 | `string \| null` | body / `template_id` | `fixed` 模式必填;`pairing` 模式不传。 |
1383
- | `params.channel_type` | 是 | `string` | body / `channel_type` | 渠道类型,当前支持 `wechat`、`wecom`、`feishu`、`dingtalk` 和 `teams`(Global)。 |
1384
- | `params.name` | 否 | `string \| null` | body / `name` | Channel 展示名。 |
1385
- | `params.enabled` | 否 | `boolean \| null` | body / `enabled` | 人工启停开关,默认 `true`。传 `false` 可创建后暂不处理上行消息。 |
1386
- | `params.channel_config` | 否 | `Record<string, unknown> \| null` | body / `channel_config` | 字段结构见类型链接。 |
1387
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1388
-
1389
- ### `channels.retrieve`
1390
-
1391
- 获取渠道。HTTP:`GET /channels/{channel_id}`。
1392
-
1393
- ```text
1394
- client.channels.retrieve(channelID: string, options?: RequestOptions): APIPromise<Channel>
1395
- ```
1396
-
1397
- [方法源码](../src/forward/channel.ts#L48);返回:`APIPromise<Channel>`([Channel](../src/forward/types.ts#L352))。
1398
-
1399
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1400
- | --- | --- | --- | --- | --- |
1401
- | `channelID` | 是 | `string` | path / `channel_id` | 按签名顺序传入的路径参数。 |
1402
-
1403
- ### `channels.update`
1404
-
1405
- 更新渠道。HTTP:`POST /channels/{channel_id}`。
1406
-
1407
- ```text
1408
- client.channels.update(channelID: string, params: ChannelUpdateParams = {}, options?: RequestOptions): APIPromise<Channel>
1409
- ```
1410
-
1411
- [方法源码](../src/forward/channel.ts#L63);返回:`APIPromise<Channel>`([Channel](../src/forward/types.ts#L352))。
1412
-
1413
- 参数对象:[ChannelUpdateParams](../src/forward/types.ts#L311)。
1414
-
1415
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1416
- | --- | --- | --- | --- | --- |
1417
- | `channelID` | 是 | `string` | path / `channel_id` | 按签名顺序传入的路径参数。 |
1418
- | `params.name` | 否 | `string \| null` | body / `name` | Channel 展示名。 |
1419
- | `params.identity_id` | 否 | `string \| null` | body / `identity_id` | `fixed` 模式下新的 Forward Identity ID。 |
1420
- | `params.template_id` | 否 | `string \| null` | body / `template_id` | `fixed` 模式下新的 Forward Template ID。 |
1421
- | `params.enabled` | 否 | `boolean \| null` | body / `enabled` | 人工启停开关。 |
1422
- | `params.channel_config` | 否 | `Record<string, unknown> \| null` | body / `channel_config` | 字段结构见类型链接。 |
1423
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1424
-
1425
- ### `channels.delete`
1426
-
1427
- 删除渠道。HTTP:`DELETE /channels/{channel_id}`。
1428
-
1429
- ```text
1430
- client.channels.delete(channelID: string, options?: RequestOptions): APIPromise<DeletedChannel>
1431
- ```
1432
-
1433
- [方法源码](../src/forward/channel.ts#L81);返回:`APIPromise<DeletedChannel>`([DeletedChannel](../src/forward/types.ts#L338))。
1434
-
1435
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1436
- | --- | --- | --- | --- | --- |
1437
- | `channelID` | 是 | `string` | path / `channel_id` | 按签名顺序传入的路径参数。 |
1438
-
1439
- <a id="channels-qrSessions"></a>
1440
-
1441
- ## 渠道扫码会话:`client.channels.qrSessions`
1442
-
1443
- ### `channels.qrSessions.create`
1444
-
1445
- 创建渠道扫码会话。HTTP:`POST /channels/{channel_id}/qr_sessions`。
1446
-
1447
- ```text
1448
- client.channels.qrSessions.create(channelID: string, params: ChannelQRSessionCreateParams = {}, options?: RequestOptions): APIPromise<ChannelQRSession>
1449
- ```
1450
-
1451
- [方法源码](../src/forward/channel-qr-session.ts#L15);返回:`APIPromise<ChannelQRSession>`([ChannelQRSession](../src/forward/types.ts#L493))。
1452
-
1453
- 参数对象:[ChannelQRSessionCreateParams](../src/forward/types.ts#L3327);字段定义:[ChannelQRSessionNewParams](../src/forward/types.ts#L483)。
1454
-
1455
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1456
- | --- | --- | --- | --- | --- |
1457
- | `channelID` | 是 | `string` | path / `channel_id` | 按签名顺序传入的路径参数。 |
1458
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 有副作用请求可选的幂等键。 |
1459
-
1460
- ### `channels.qrSessions.retrieve`
1461
-
1462
- 获取渠道扫码会话。HTTP:`GET /qr_sessions/{session_key}`。
1463
-
1464
- ```text
1465
- client.channels.qrSessions.retrieve(sessionKey: string, options?: RequestOptions): APIPromise<ChannelQRSession>
1466
- ```
1467
-
1468
- [方法源码](../src/forward/channel-qr-session.ts#L36);返回:`APIPromise<ChannelQRSession>`([ChannelQRSession](../src/forward/types.ts#L493))。
1469
-
1470
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1471
- | --- | --- | --- | --- | --- |
1472
- | `sessionKey` | 是 | `string` | path / `session_key` | 按签名顺序传入的路径参数。 |
1473
-
1474
- <a id="channelPairings"></a>
1475
-
1476
- ## 渠道配对:`client.channelPairings`
1477
-
1478
- ### `channelPairings.create`
1479
-
1480
- 创建渠道配对。HTTP:`POST /channel_pairings`。
1481
-
1482
- ```text
1483
- client.channelPairings.create(params: ChannelPairingCreateParams, options?: RequestOptions): APIPromise<ChannelPairing>
1484
- ```
1485
-
1486
- [方法源码](../src/forward/channel-pairing.ts#L15);返回:`APIPromise<ChannelPairing>`([ChannelPairing](../src/forward/types.ts#L449))。
1487
-
1488
- 参数对象:[ChannelPairingCreateParams](../src/forward/types.ts#L3325);字段定义:[ChannelPairingNewParams](../src/forward/types.ts#L413)。
1489
-
1490
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1491
- | --- | --- | --- | --- | --- |
1492
- | `params.code` | 是 | `string` | body / `code` | Channel 消息中显示的 6 位配对码。 |
1493
- | `params.identity_id` | 是 | `string` | body / `identity_id` | 要绑定的 Forward Identity ID。 |
1494
- | `params.template_id` | 是 | `string` | body / `template_id` | 要绑定的 Forward Template ID。 |
1495
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 由客户端生成的唯一幂等键,用于安全重试同一次配对请求。 |
1496
-
1497
- ### `channelPairings.delete`
1498
-
1499
- 删除渠道配对。HTTP:`DELETE /channel_pairings/{pairing_id}`。
1500
-
1501
- ```text
1502
- client.channelPairings.delete(pairingID: string, options?: RequestOptions): APIPromise<DeletedChannelPairing>
1503
- ```
1504
-
1505
- [方法源码](../src/forward/channel-pairing.ts#L33);返回:`APIPromise<DeletedChannelPairing>`([DeletedChannelPairing](../src/forward/types.ts#L435))。
1506
-
1507
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1508
- | --- | --- | --- | --- | --- |
1509
- | `pairingID` | 是 | `string` | path / `pairing_id` | 按签名顺序传入的路径参数。 |
1510
-
1511
- <a id="environments"></a>
1512
-
1513
- ## 运行环境:`client.environments`
1514
-
1515
- ### `environments.list`
1516
-
1517
- 列出运行环境。HTTP:`GET /environments`。
1518
-
1519
- ```text
1520
- client.environments.list(params: EnvironmentListParams = {}, options?: RequestOptions): PagePromise<Environment>
1521
- ```
1522
-
1523
- [方法源码](../src/forward/environment.ts#L16);返回:`PagePromise<Environment>`([Environment](../src/forward/types.ts#L965))。
1524
-
1525
- 参数对象:[EnvironmentListParams](../src/forward/types.ts#L895)。
1526
-
1527
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1528
- | --- | --- | --- | --- | --- |
1529
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1530
- | `params.page` | 否 | `string \| null` | query / `page` | 分页游标(推荐使用),取值来自上一页响应的 `next_page`;与 `after_id`、`before_id` 互斥。 |
1531
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标;与 `page`、`before_id` 互斥。 |
1532
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标;与 `page`、`after_id` 互斥。 |
1533
-
1534
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
1535
-
1536
- ### `environments.create`
1537
-
1538
- 创建运行环境。HTTP:`POST /environments`。
1539
-
1540
- ```text
1541
- client.environments.create(params: EnvironmentCreateParams, options?: RequestOptions): APIPromise<Environment>
1542
- ```
1543
-
1544
- [方法源码](../src/forward/environment.ts#L27);返回:`APIPromise<Environment>`([Environment](../src/forward/types.ts#L965))。
1545
-
1546
- 参数对象:[EnvironmentCreateParams](../src/forward/types.ts#L3329);字段定义:[EnvironmentNewParams](../src/forward/types.ts#L917)。
1547
-
1548
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1549
- | --- | --- | --- | --- | --- |
1550
- | `params.name` | 是 | `string` | body / `name` | Environment 名称;去除首尾空白后不能为空。 |
1551
- | `params.description` | 否 | `string \| null` | body / `description` | 描述。 |
1552
- | `params.config` | 否 | `Record<string, unknown> \| null` | body / `config` | Environment 运行时配置对象;省略时默认使用 `{"type":"cloud"}`。显式传入时不能为 `null` 或空对象。字段详见 schemas。 |
1553
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | Environment metadata;省略时为 `{}`,显式传入时不能为 `null`。 |
1554
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 建议创建请求携带。相同 key 和相同请求可安全重试。 |
1555
-
1556
- ### `environments.retrieve`
1557
-
1558
- 获取运行环境。HTTP:`GET /environments/{id}`。
1559
-
1560
- ```text
1561
- client.environments.retrieve(id: string, options?: RequestOptions): APIPromise<Environment>
1562
- ```
1563
-
1564
- [方法源码](../src/forward/environment.ts#L45);返回:`APIPromise<Environment>`([Environment](../src/forward/types.ts#L965))。
1565
-
1566
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1567
- | --- | --- | --- | --- | --- |
1568
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1569
-
1570
- ### `environments.update`
1571
-
1572
- 更新运行环境。HTTP:`POST /environments/{id}`。
1573
-
1574
- ```text
1575
- client.environments.update(id: string, params: EnvironmentUpdateParams = {}, options?: RequestOptions): APIPromise<Environment>
1576
- ```
1577
-
1578
- [方法源码](../src/forward/environment.ts#L60);返回:`APIPromise<Environment>`([Environment](../src/forward/types.ts#L965))。
1579
-
1580
- 参数对象:[EnvironmentUpdateParams](../src/forward/types.ts#L943)。
1581
-
1582
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1583
- | --- | --- | --- | --- | --- |
1584
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1585
- | `params.name` | 否 | `string \| null` | body / `name` | 新名称。 |
1586
- | `params.description` | 否 | `string \| null` | body / `description` | 新描述。 |
1587
- | `params.config` | 否 | `Record<string, unknown> \| null` | body / `config` | 新配置;传入时不能为 `null`,显式 `null` 返回 400。字段详见 schemas。 |
1588
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 要合并的 Environment metadata;传入时不能为 `null`,显式 `null` 返回 400。 |
1589
-
1590
- ### `environments.archive`
1591
-
1592
- 归档运行环境。HTTP:`POST /environments/{id}/archive`。
1593
-
1594
- ```text
1595
- client.environments.archive(id: string, options?: RequestOptions): APIPromise<Environment>
1596
- ```
1597
-
1598
- [方法源码](../src/forward/environment.ts#L80);返回:`APIPromise<Environment>`([Environment](../src/forward/types.ts#L965))。
1599
-
1600
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1601
- | --- | --- | --- | --- | --- |
1602
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1603
-
1604
- ### `environments.delete`
1605
-
1606
- 删除运行环境。HTTP:`DELETE /environments/{id}`。
1607
-
1608
- ```text
1609
- client.environments.delete(id: string, options?: RequestOptions): APIPromise<void>
1610
- ```
1611
-
1612
- [方法源码](../src/forward/environment.ts#L95);返回:`APIPromise<void>`。
1613
-
1614
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1615
- | --- | --- | --- | --- | --- |
1616
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1617
-
1618
- 成功后返回 `undefined`,不解析 JSON 响应体。
1619
-
1620
- <a id="files"></a>
1621
-
1622
- ## 文件:`client.files`
1623
-
1624
- ### `files.list`
1625
-
1626
- 列出文件。HTTP:`GET /files`。
1627
-
1628
- ```text
1629
- client.files.list(params: FileListParams = {}, options?: RequestOptions): PagePromise<FileMetadata>
1630
- ```
1631
-
1632
- [方法源码](../src/forward/file.ts#L17);返回:`PagePromise<FileMetadata>`([FileMetadata](../src/forward/types.ts#L1058))。
1633
-
1634
- 参数对象:[FileListParams](../src/forward/types.ts#L1002)。
1635
-
1636
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1637
- | --- | --- | --- | --- | --- |
1638
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1639
- | `params.page` | 否 | `string \| null` | query / `page` | 分页游标(推荐使用),取值来自上一页响应的 `next_page`;与 `after_id`、`before_id` 互斥。 |
1640
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标;与 `page`、`before_id` 互斥。 |
1641
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标;与 `page`、`after_id` 互斥。 |
1642
- | `params.name` | 否 | `string \| null` | query / `name` | 按文件名搜索。 |
1643
- | `params.scope_id` | 否 | `string \| null` | query / `scope_id` | 按资源作用域 ID 过滤,常用于 Session 资源文件查询。传入时不要同时使用 `before_id` 或 `after_id`;当前游标参数在该过滤模式下不生效。 |
1644
-
1645
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
1646
-
1647
- ### `files.upload`
1648
-
1649
- 上传文件。HTTP:`POST /files`。
1650
-
1651
- ```text
1652
- client.files.upload(params: FileUploadParams, options?: RequestOptions): APIPromise<FileMetadata>
1653
- ```
1654
-
1655
- [方法源码](../src/forward/file.ts#L28);返回:`APIPromise<FileMetadata>`([FileMetadata](../src/forward/types.ts#L1058))。
1656
-
1657
- 参数对象:[FileUploadParams](../src/forward/types.ts#L1032)。
1658
-
1659
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1660
- | --- | --- | --- | --- | --- |
1661
- | `params.file` | 是 | `Uploadable` | body / `file` | 待上传文件内容。支持类型见支持上传的文件类型。 |
1662
- | `params.name` | 否 | `string \| null` | body / `name` | 文件展示名,未传时使用 multipart 文件名;规范化后长度为 1-255 bytes。 |
1663
- | `params.purpose` | 否 | `string \| null` | body / `purpose` | 文件用途,默认 `user_upload`;作为 Batch 输入文件时必须传 `session_resource`。 |
1664
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 元数据对象;`created_by` 为保留字段,不可传入(传入返回 400)。 |
1665
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 可选创建请求幂等键。传入时相同 key 只能用于相同请求;不传时不提供本地幂等重放保护。 |
1666
-
1667
- 请求使用 `multipart/form-data`;由 SDK 生成 boundary,不要手工设置 Content-Type。
1668
-
1669
- ### `files.getMetadata`
1670
-
1671
- 获取文件元数据。HTTP:`GET /files/{file_id}`。
1672
-
1673
- ```text
1674
- client.files.getMetadata(fileID: string, options?: RequestOptions): APIPromise<FileMetadata>
1675
- ```
1676
-
1677
- [方法源码](../src/forward/file.ts#L46);返回:`APIPromise<FileMetadata>`([FileMetadata](../src/forward/types.ts#L1058))。
1678
-
1679
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1680
- | --- | --- | --- | --- | --- |
1681
- | `fileID` | 是 | `string` | path / `file_id` | 按签名顺序传入的路径参数。 |
1682
-
1683
- ### `files.delete`
1684
-
1685
- 删除文件。HTTP:`DELETE /files/{file_id}`。
1686
-
1687
- ```text
1688
- client.files.delete(fileID: string, options?: RequestOptions): APIPromise<void>
1689
- ```
1690
-
1691
- [方法源码](../src/forward/file.ts#L61);返回:`APIPromise<void>`。
1692
-
1693
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1694
- | --- | --- | --- | --- | --- |
1695
- | `fileID` | 是 | `string` | path / `file_id` | 按签名顺序传入的路径参数。 |
1696
-
1697
- 成功后返回 `undefined`,不解析 JSON 响应体。
1698
-
1699
- ### `files.download`
1700
-
1701
- 下载文件。HTTP:`GET /files/{file_id}/content`。
1702
-
1703
- ```text
1704
- client.files.download(fileID: string, options?: RequestOptions): APIPromise<Response>
1705
- ```
1706
-
1707
- [方法源码](../src/forward/file.ts#L77);返回:`APIPromise<Response>`。
1708
-
1709
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1710
- | --- | --- | --- | --- | --- |
1711
- | `fileID` | 是 | `string` | path / `file_id` | 按签名顺序传入的路径参数。 |
1712
-
1713
- 返回下载请求的原生 `Response`,调用 `arrayBuffer()` / `text()` / `body` 读取内容;不是 JSON 对象。
1714
-
1715
- <a id="skills"></a>
1716
-
1717
- ## 技能:`client.skills`
1718
-
1719
- ### `skills.list`
1720
-
1721
- 列出技能。HTTP:`GET /skills`。
1722
-
1723
- ```text
1724
- client.skills.list(params: SkillListParams = {}, options?: RequestOptions): PagePromise<Skill>
1725
- ```
1726
-
1727
- [方法源码](../src/forward/skill.ts#L20);返回:`PagePromise<Skill>`([Skill](../src/forward/types.ts#L2837))。
1728
-
1729
- 参数对象:[SkillListParams](../src/forward/types.ts#L2725)。
1730
-
1731
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1732
- | --- | --- | --- | --- | --- |
1733
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1734
- | `params.page` | 否 | `string \| null` | query / `page` | 分页游标(推荐使用),取值来自上一页响应的 `next_page`;与 `after_id`、`before_id` 互斥。 |
1735
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标;与 `page`、`before_id` 互斥。 |
1736
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标;与 `page`、`after_id` 互斥。 |
1737
- | `params.display_title` | 否 | `string \| null` | query / `display_title` | 按 Skill 展示名前缀搜索,不区分大小写。 |
1738
- | `params.source` | 否 | `string \| null` | query / `source` | 按 Skill 来源过滤,可选 `custom`、`qoder`。传 `source` 时不支持 `before_id`。 |
1739
- | `params.name` | 否 | `string \| null` | query / `name` | ⚠️ **已弃用**:`display_title` 的兼容别名,语义完全一致。请使用 `display_title`。 |
1740
-
1741
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
1742
-
1743
- ### `skills.create`
1744
-
1745
- 创建技能。HTTP:`POST /skills`。
1746
-
1747
- ```text
1748
- client.skills.create(params: SkillCreateParams = {}, options?: RequestOptions): APIPromise<Skill>
1749
- ```
1750
-
1751
- [方法源码](../src/forward/skill.ts#L31);返回:`APIPromise<Skill>`([Skill](../src/forward/types.ts#L2837))。
1752
-
1753
- 参数对象:[SkillCreateParams](../src/forward/types.ts#L3343);字段定义:[SkillNewParams](../src/forward/types.ts#L2759)。
1754
-
1755
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1756
- | --- | --- | --- | --- | --- |
1757
- | `params.files` | 否 | `Array<Uploadable> \| null` | body / `files` | 推荐上传字段,可**重复出现**多次。支持两种形态: ① 单个 `.zip` 包; ② 裸文件树——每个 part 独立上传一个文件,`filename` 携带相对路径(如 `code-review/SKILL.md`、`code-review/scripts/run.sh`)。 压缩包本身与解压后总大小均不超过 50 MB。 |
1758
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 调用方元数据对象,最多 15 个键;`created_by` 为保留字段,不可传入(传入返回 400)。 |
1759
- | `params.icon_id` | 否 | `string \| null` | body / `icon_id` | Forward Resource icon 公开 ID。 |
1760
- | `params.file` | 否 | `Uploadable \| null` | body / `file` | ⚠️ **已弃用**:单个 `.zip` 包,宽松包规则。命中时响应头返回 `Deprecation: true`。请迁移到 `files`。 |
1761
- | `params.name` | 否 | `string \| null` | body / `name` | ⚠️ **已弃用**:最终名称始终从上传包内 `SKILL.md` frontmatter 的 `name` 解析。字段保留仅为兼容,传入将被忽略。 |
1762
- | `params.description` | 否 | `string \| null` | body / `description` | ⚠️ **已弃用**:最终描述始终从 `SKILL.md` 解析。 |
1763
- | `params.type` | 否 | `string \| null` | body / `type` | ⚠️ **已弃用**:Skill 创建类型,可选 `custom`、`prebuilt`,默认 `custom`。`prebuilt` 会使响应 `source` 字段返回 `qoder`(其余为 `custom`)。 |
1764
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 建议提供。相同 key 且规范化后的 `files` 指纹一致时可安全重试。 |
1765
-
1766
- 请求使用 `multipart/form-data`;由 SDK 生成 boundary,不要手工设置 Content-Type。
1767
-
1768
- ### `skills.retrieve`
1769
-
1770
- 获取技能。HTTP:`GET /skills/{id}`。
1771
-
1772
- ```text
1773
- client.skills.retrieve(id: string, params: SkillRetrieveParams = {}, options?: RequestOptions): APIPromise<Skill>
1774
- ```
1775
-
1776
- [方法源码](../src/forward/skill.ts#L49);返回:`APIPromise<Skill>`([Skill](../src/forward/types.ts#L2837))。
1777
-
1778
- 参数对象:[SkillRetrieveParams](../src/forward/types.ts#L3345);字段定义:[SkillGetParams](../src/forward/types.ts#L2797)。
1779
-
1780
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1781
- | --- | --- | --- | --- | --- |
1782
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1783
- | `params.include_content` | 否 | `boolean \| null` | query / `include_content` | ⚠️ **已弃用**:为 `true` 时随响应返回 `content` 与 `content_encoding`(base64 zip)。命中时响应头会返回 `Deprecation: true`。请改用 下载 Skill 版本内容。 |
1784
-
1785
- ### `skills.update`
1786
-
1787
- 更新技能。HTTP:`PUT /skills/{id}`。
1788
-
1789
- ```text
1790
- client.skills.update(id: string, params: SkillUpdateParams = {}, options?: RequestOptions): APIPromise<Skill>
1791
- ```
1792
-
1793
- [方法源码](../src/forward/skill.ts#L65);返回:`APIPromise<Skill>`([Skill](../src/forward/types.ts#L2837))。
1794
-
1795
- 参数对象:[SkillUpdateParams](../src/forward/types.ts#L2807)。
1796
-
1797
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1798
- | --- | --- | --- | --- | --- |
1799
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1800
- | `params.description` | 否 | `string \| null` | body / `description` | 新描述。 |
1801
- | `params.content` | 否 | `string \| null` | body / `content` | 新内容(zip 包内容)。压缩包本身与解压后总大小均不超过 50 MB,超过返回 400;请求体整体(含 base64 编码与 JSON 信封)上限约 67.7 MB,超过返回 413。 |
1802
- | `params.content_encoding` | 否 | `string \| null` | body / `content_encoding` | `content` 的编码。支持 `base64`、`utf-8`、`utf8`、`plain`、`text`;省略时按 UTF-8 文本处理。传入该字段时必须同时提供非空 `content`。 |
1803
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 元数据对象,会**替换**当前 metadata(非合并);传入时不能为 `null`,value 必须为 string。`created_by` 为保留字段,不可传入(传入返回 400)。 |
1804
- | `params.icon_id` | 否 | `string \| null` | body / `icon_id` | 更新或清空 Forward icon。 |
1805
- | `params.name` | 否 | `string \| null` | body / `name` | ⚠️ **已弃用**:技能名不可修改。传入必须与当前规范名完全一致,否则返回 400;一致时为空操作。 |
1806
-
1807
- ### `skills.delete`
1808
-
1809
- 删除技能。HTTP:`DELETE /skills/{id}`。
1810
-
1811
- ```text
1812
- client.skills.delete(id: string, options?: RequestOptions): APIPromise<void>
1813
- ```
1814
-
1815
- [方法源码](../src/forward/skill.ts#L81);返回:`APIPromise<void>`。
1816
-
1817
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1818
- | --- | --- | --- | --- | --- |
1819
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1820
-
1821
- 成功后返回 `undefined`,不解析 JSON 响应体。
1822
-
1823
- <a id="skills-versions"></a>
1824
-
1825
- ## 技能版本:`client.skills.versions`
1826
-
1827
- ### `skills.versions.list`
1828
-
1829
- 列出技能版本。HTTP:`GET /skills/{id}/versions`。
1830
-
1831
- ```text
1832
- client.skills.versions.list(id: string, params: SkillVersionListParams = {}, options?: RequestOptions): PagePromise<SkillVersion>
1833
- ```
1834
-
1835
- [方法源码](../src/forward/skill-version.ts#L17);返回:`PagePromise<SkillVersion>`([SkillVersion](../src/forward/types.ts#L2897))。
1836
-
1837
- 参数对象:[SkillVersionListParams](../src/forward/types.ts#L2855)。
1838
-
1839
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1840
- | --- | --- | --- | --- | --- |
1841
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1842
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100,默认 20。 |
1843
- | `params.page` | 否 | `string \| null` | query / `page` | 向后翻页游标;取值来自上一页响应的 `next_page`;不传即从第一页开始。 |
1844
-
1845
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
1846
-
1847
- ### `skills.versions.create`
1848
-
1849
- 创建技能版本。HTTP:`POST /skills/{id}/versions`。
1850
-
1851
- ```text
1852
- client.skills.versions.create(id: string, params: SkillVersionCreateParams, options?: RequestOptions): APIPromise<SkillVersion>
1853
- ```
1854
-
1855
- [方法源码](../src/forward/skill-version.ts#L28);返回:`APIPromise<SkillVersion>`([SkillVersion](../src/forward/types.ts#L2897))。
1856
-
1857
- 参数对象:[SkillVersionCreateParams](../src/forward/types.ts#L3347);字段定义:[SkillVersionNewParams](../src/forward/types.ts#L2869)。
1858
-
1859
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1860
- | --- | --- | --- | --- | --- |
1861
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1862
- | `params.files` | 是 | `Array<Uploadable>` | body / `files` | 上传字段,可**重复**出现多次。支持两种形态: • 单个 `.zip` 包; • 裸文件树——每个 part 独立上传一个文件,`filename` 携带相对路径(如 `customer-reply/SKILL.md`、`customer-reply/scripts/run.sh`)。 压缩包本身与解压后总大小均不超过 50 MB。 |
1863
-
1864
- 请求使用 `multipart/form-data`;由 SDK 生成 boundary,不要手工设置 Content-Type。
1865
-
1866
- ### `skills.versions.retrieve`
1867
-
1868
- 获取技能版本。HTTP:`GET /skills/{id}/versions/{version}`。
1869
-
1870
- ```text
1871
- client.skills.versions.retrieve(id: string, version: string, options?: RequestOptions): APIPromise<SkillVersion>
1872
- ```
1873
-
1874
- [方法源码](../src/forward/skill-version.ts#L44);返回:`APIPromise<SkillVersion>`([SkillVersion](../src/forward/types.ts#L2897))。
1875
-
1876
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1877
- | --- | --- | --- | --- | --- |
1878
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1879
- | `version` | 是 | `string` | path / `version` | 按签名顺序传入的路径参数。 |
1880
-
1881
- ### `skills.versions.delete`
1882
-
1883
- 删除技能版本。HTTP:`DELETE /skills/{id}/versions/{version}`。
1884
-
1885
- ```text
1886
- client.skills.versions.delete(id: string, version: string, options?: RequestOptions): APIPromise<DeletedSkillVersion>
1887
- ```
1888
-
1889
- [方法源码](../src/forward/skill-version.ts#L59);返回:`APIPromise<DeletedSkillVersion>`([DeletedSkillVersion](../src/forward/types.ts#L2879))。
1890
-
1891
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1892
- | --- | --- | --- | --- | --- |
1893
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1894
- | `version` | 是 | `string` | path / `version` | 按签名顺序传入的路径参数。 |
1895
-
1896
- ### `skills.versions.download`
1897
-
1898
- 下载技能版本。HTTP:`GET /skills/{id}/versions/{version}/content`。
1899
-
1900
- ```text
1901
- client.skills.versions.download(id: string, version: string, options?: RequestOptions): APIPromise<Response>
1902
- ```
1903
-
1904
- [方法源码](../src/forward/skill-version.ts#L74);返回:`APIPromise<Response>`。
1905
-
1906
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1907
- | --- | --- | --- | --- | --- |
1908
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1909
- | `version` | 是 | `string` | path / `version` | 按签名顺序传入的路径参数。 |
1910
-
1911
- 返回下载请求的原生 `Response`,调用 `arrayBuffer()` / `text()` / `body` 读取内容;不是 JSON 对象。
1912
-
1913
- <a id="vaults"></a>
1914
-
1915
- ## 凭据库:`client.vaults`
1916
-
1917
- ### `vaults.list`
1918
-
1919
- 列出凭据库。HTTP:`GET /vaults`。
1920
-
1921
- ```text
1922
- client.vaults.list(params: VaultListParams = {}, options?: RequestOptions): PagePromise<Vault>
1923
- ```
1924
-
1925
- [方法源码](../src/forward/vault.ts#L19);返回:`PagePromise<Vault>`([Vault](../src/forward/types.ts#L3194))。
1926
-
1927
- 参数对象:[VaultListParams](../src/forward/types.ts#L3150)。
1928
-
1929
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1930
- | --- | --- | --- | --- | --- |
1931
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
1932
- | `params.page` | 否 | `string \| null` | query / `page` | 分页游标(推荐使用),取值来自上一页响应的 `next_page`;与 `after_id`、`before_id` 互斥。 |
1933
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标;与 `page`、`before_id` 互斥。 |
1934
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标;与 `page`、`after_id` 互斥。 |
1935
- | `params.name` | 否 | `string \| null` | query / `name` | 按 `display_name` 搜索。 |
1936
-
1937
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
1938
-
1939
- ### `vaults.create`
1940
-
1941
- 创建凭据库。HTTP:`POST /vaults`。
1942
-
1943
- ```text
1944
- client.vaults.create(params: VaultCreateParams, options?: RequestOptions): APIPromise<Vault>
1945
- ```
1946
-
1947
- [方法源码](../src/forward/vault.ts#L30);返回:`APIPromise<Vault>`([Vault](../src/forward/types.ts#L3194))。
1948
-
1949
- 参数对象:[VaultCreateParams](../src/forward/types.ts#L3351);字段定义:[VaultNewParams](../src/forward/types.ts#L3176)。
1950
-
1951
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1952
- | --- | --- | --- | --- | --- |
1953
- | `params.display_name` | 是 | `string` | body / `display_name` | Vault 展示名。 |
1954
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 元数据对象;`created_by` 为保留字段,不可传入(传入返回 400)。 |
1955
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 可选创建请求幂等键。传入时相同 key 只能用于相同请求;不传时不提供本地幂等重放保护。 |
1956
-
1957
- ### `vaults.retrieve`
1958
-
1959
- 获取凭据库。HTTP:`GET /vaults/{id}`。
1960
-
1961
- ```text
1962
- client.vaults.retrieve(id: string, options?: RequestOptions): APIPromise<Vault>
1963
- ```
1964
-
1965
- [方法源码](../src/forward/vault.ts#L48);返回:`APIPromise<Vault>`([Vault](../src/forward/types.ts#L3194))。
1966
-
1967
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1968
- | --- | --- | --- | --- | --- |
1969
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1970
-
1971
- ### `vaults.delete`
1972
-
1973
- 删除凭据库。HTTP:`DELETE /vaults/{id}`。
1974
-
1975
- ```text
1976
- client.vaults.delete(id: string, options?: RequestOptions): APIPromise<void>
1977
- ```
1978
-
1979
- [方法源码](../src/forward/vault.ts#L63);返回:`APIPromise<void>`。
1980
-
1981
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
1982
- | --- | --- | --- | --- | --- |
1983
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
1984
-
1985
- 成功后返回 `undefined`,不解析 JSON 响应体。
1986
-
1987
- <a id="vaults-credentials"></a>
1988
-
1989
- ## 凭据:`client.vaults.credentials`
1990
-
1991
- ### `vaults.credentials.list`
1992
-
1993
- 列出凭据。HTTP:`GET /vaults/{id}/credentials`。
1994
-
1995
- ```text
1996
- client.vaults.credentials.list(id: string, params: VaultCredentialListParams = {}, options?: RequestOptions): PagePromise<VaultCredential>
1997
- ```
1998
-
1999
- [方法源码](../src/forward/vault-credential.ts#L16);返回:`PagePromise<VaultCredential>`([VaultCredential](../src/forward/types.ts#L3276))。
2000
-
2001
- 参数对象:[VaultCredentialListParams](../src/forward/types.ts#L3228)。
2002
-
2003
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2004
- | --- | --- | --- | --- | --- |
2005
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
2006
- | `params.limit` | 否 | `number \| null` | query / `limit` | 分页大小,最大 100。 |
2007
- | `params.page` | 否 | `string \| null` | query / `page` | 分页游标(推荐使用),取值来自上一页响应的 `next_page`;与 `after_id`、`before_id` 互斥。 |
2008
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标;与 `page`、`before_id` 互斥。 |
2009
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标;与 `page`、`after_id` 互斥。 |
2010
- | `params.name` | 否 | `string \| null` | query / `name` | 按 `mcp_server_url` 搜索。 |
2011
-
2012
- 分页从响应 `next_page` 读取下一页的 `page`;直接 `for await` 自动续页。
2013
-
2014
- ### `vaults.credentials.create`
2015
-
2016
- 创建凭据。HTTP:`POST /vaults/{id}/credentials`。
2017
-
2018
- ```text
2019
- client.vaults.credentials.create(id: string, params: VaultCredentialCreateParams, options?: RequestOptions): APIPromise<VaultCredential>
2020
- ```
2021
-
2022
- [方法源码](../src/forward/vault-credential.ts#L31);返回:`APIPromise<VaultCredential>`([VaultCredential](../src/forward/types.ts#L3276))。
2023
-
2024
- 参数对象:[VaultCredentialCreateParams](../src/forward/types.ts#L3353);字段定义:[VaultCredentialNewParams](../src/forward/types.ts#L3254)。
2025
-
2026
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2027
- | --- | --- | --- | --- | --- |
2028
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
2029
- | `params.auth` | 是 | `Record<string, unknown>` | body / `auth` | Credential 认证信息,支持 `static_bearer`、`mcp_oauth`;响应只返回脱敏后的非密文字段。 |
2030
- | `params.display_name` | 否 | `string \| null` | body / `display_name` | 兼容字段;当前不持久化,Forward 响应固定为空字符串。 |
2031
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 元数据对象;`created_by` 为保留字段,不可传入(传入返回 400)。 |
2032
- | `params.idempotency_key` | 否 | `string \| null` | header / `Idempotency-Key` | 可选创建请求幂等键。相同 key 只能用于相同请求。 |
2033
-
2034
- ### `vaults.credentials.retrieve`
2035
-
2036
- 获取凭据。HTTP:`GET /vaults/{id}/credentials/{cred_id}`。
2037
-
2038
- ```text
2039
- client.vaults.credentials.retrieve(id: string, credID: string, options?: RequestOptions): APIPromise<VaultCredential>
2040
- ```
2041
-
2042
- [方法源码](../src/forward/vault-credential.ts#L53);返回:`APIPromise<VaultCredential>`([VaultCredential](../src/forward/types.ts#L3276))。
2043
-
2044
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2045
- | --- | --- | --- | --- | --- |
2046
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
2047
- | `credID` | 是 | `string` | path / `cred_id` | 按签名顺序传入的路径参数。 |
2048
-
2049
- ### `vaults.credentials.delete`
2050
-
2051
- 删除凭据。HTTP:`DELETE /vaults/{id}/credentials/{cred_id}`。
2052
-
2053
- ```text
2054
- client.vaults.credentials.delete(id: string, credID: string, options?: RequestOptions): APIPromise<void>
2055
- ```
2056
-
2057
- [方法源码](../src/forward/vault-credential.ts#L68);返回:`APIPromise<void>`。
2058
-
2059
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2060
- | --- | --- | --- | --- | --- |
2061
- | `id` | 是 | `string` | path / `id` | 按签名顺序传入的路径参数。 |
2062
- | `credID` | 是 | `string` | path / `cred_id` | 按签名顺序传入的路径参数。 |
2063
-
2064
- 成功后返回 `undefined`,不解析 JSON 响应体。
2065
-
2066
- <a id="memoryStores"></a>
2067
-
2068
- ## 记忆库:`client.memoryStores`
2069
-
2070
- ### `memoryStores.list`
2071
-
2072
- 列出记忆库。HTTP:`GET /memory_stores`。
2073
-
2074
- ```text
2075
- client.memoryStores.list(params: MemoryStoreListParams = {}, options?: RequestOptions): PagePromise<MemoryStore>
2076
- ```
2077
-
2078
- [方法源码](../src/forward/memory-store.ts#L21);返回:`PagePromise<MemoryStore>`([MemoryStore](../src/forward/types.ts#L1617))。
2079
-
2080
- 参数对象:[MemoryStoreListParams](../src/forward/types.ts#L1537)。
2081
-
2082
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2083
- | --- | --- | --- | --- | --- |
2084
- | `params.limit` | 否 | `number \| null` | query / `limit` | 每页返回数量上限,1..100,默认 20。 |
2085
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,与 `after_id` 互斥。 |
2086
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,与 `before_id` 互斥。 |
2087
- | `params.system_managed` | 否 | `boolean \| null` | query / `system_managed` | 三态过滤:`true` 只返回系统默认库;`false` 只返回用户创建的库;不传不过滤。 |
2088
-
2089
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
2090
-
2091
- ### `memoryStores.create`
2092
-
2093
- 创建记忆库。HTTP:`POST /memory_stores`。
2094
-
2095
- ```text
2096
- client.memoryStores.create(params: MemoryStoreCreateParams, options?: RequestOptions): APIPromise<MemoryStore>
2097
- ```
2098
-
2099
- [方法源码](../src/forward/memory-store.ts#L32);返回:`APIPromise<MemoryStore>`([MemoryStore](../src/forward/types.ts#L1617))。
2100
-
2101
- 参数对象:[MemoryStoreCreateParams](../src/forward/types.ts#L3333);字段定义:[MemoryStoreNewParams](../src/forward/types.ts#L1559)。
2102
-
2103
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2104
- | --- | --- | --- | --- | --- |
2105
- | `params.name` | 是 | `string` | body / `name` | Store 展示名,非空。不允许非打印控制字符(`U+0000`–`U+001F`、`U+007F`),换行 `\n`、回车 `\r`、制表 `\t` 除外。 |
2106
- | `params.description` | 否 | `string \| null` | body / `description` | 自由文本描述。不允许非打印控制字符。 |
2107
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 键值元数据,值必须为字符串。最多 **15** 个键;键 1..64 字符;值 ≤512 字符。`created_by` 是 Forward 保留键,服务端自动写入 `"forward"`;调用方传入 `created_by` 会返回 `400 invalid_request_error`。详见 Store metadata 约束。 |
2108
- | `params.idempotency_key` | 是 | `string` | header / `Idempotency-Key` | 创建请求幂等键。相同 key 只能用于相同请求体;不传返回 `400`。 |
2109
-
2110
- ### `memoryStores.retrieve`
2111
-
2112
- 获取记忆库。HTTP:`GET /memory_stores/{memory_store_id}`。
2113
-
2114
- ```text
2115
- client.memoryStores.retrieve(memoryStoreID: string, options?: RequestOptions): APIPromise<MemoryStore>
2116
- ```
2117
-
2118
- [方法源码](../src/forward/memory-store.ts#L50);返回:`APIPromise<MemoryStore>`([MemoryStore](../src/forward/types.ts#L1617))。
2119
-
2120
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2121
- | --- | --- | --- | --- | --- |
2122
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2123
-
2124
- ### `memoryStores.update`
2125
-
2126
- 更新记忆库。HTTP:`POST /memory_stores/{memory_store_id}`。
2127
-
2128
- ```text
2129
- client.memoryStores.update(memoryStoreID: string, params: MemoryStoreUpdateParams = {}, options?: RequestOptions): APIPromise<MemoryStore>
2130
- ```
2131
-
2132
- [方法源码](../src/forward/memory-store.ts#L65);返回:`APIPromise<MemoryStore>`([MemoryStore](../src/forward/types.ts#L1617))。
2133
-
2134
- 参数对象:[MemoryStoreUpdateParams](../src/forward/types.ts#L1581)。
2135
-
2136
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2137
- | --- | --- | --- | --- | --- |
2138
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2139
- | `params.name` | 否 | `string \| null` | body / `name` | 新名称。传入时非空且不含非打印控制字符。 |
2140
- | `params.description` | 否 | `string \| null` | body / `description` | 新描述。传入时不含非打印控制字符。 |
2141
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 新元数据,**整体替换**当前 metadata(非合并)。约束详见 Store metadata 约束。 |
2142
-
2143
- ### `memoryStores.delete`
2144
-
2145
- 删除记忆库。HTTP:`DELETE /memory_stores/{memory_store_id}`。
2146
-
2147
- ```text
2148
- client.memoryStores.delete(memoryStoreID: string, options?: RequestOptions): APIPromise<DeletedMemoryStore>
2149
- ```
2150
-
2151
- [方法源码](../src/forward/memory-store.ts#L85);返回:`APIPromise<DeletedMemoryStore>`([DeletedMemoryStore](../src/forward/types.ts#L1599))。
2152
-
2153
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2154
- | --- | --- | --- | --- | --- |
2155
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2156
-
2157
- ### `memoryStores.archive`
2158
-
2159
- 归档记忆库。HTTP:`POST /memory_stores/{memory_store_id}/archive`。
2160
-
2161
- ```text
2162
- client.memoryStores.archive(memoryStoreID: string, options?: RequestOptions): APIPromise<MemoryStore>
2163
- ```
2164
-
2165
- [方法源码](../src/forward/memory-store.ts#L100);返回:`APIPromise<MemoryStore>`([MemoryStore](../src/forward/types.ts#L1617))。
2166
-
2167
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2168
- | --- | --- | --- | --- | --- |
2169
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2170
-
2171
- <a id="memoryStores-memories"></a>
2172
-
2173
- ## 记忆条目:`client.memoryStores.memories`
2174
-
2175
- ### `memoryStores.memories.list`
2176
-
2177
- 列出记忆条目。HTTP:`GET /memory_stores/{memory_store_id}/memories`。
2178
-
2179
- ```text
2180
- client.memoryStores.memories.list(memoryStoreID: string, params: MemoryStoreMemoryListParams = {}, options?: RequestOptions): PagePromise<Memory>
2181
- ```
2182
-
2183
- [方法源码](../src/forward/memory-store-memory.ts#L16);返回:`PagePromise<Memory>`([Memory](../src/forward/types.ts#L1713))。
2184
-
2185
- 参数对象:[MemoryStoreMemoryListParams](../src/forward/types.ts#L1637)。
2186
-
2187
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2188
- | --- | --- | --- | --- | --- |
2189
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2190
- | `params.limit` | 否 | `number \| null` | query / `limit` | 每页返回数量上限,1..100,默认 20。 |
2191
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,与 `after_id` 互斥。 |
2192
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,与 `before_id` 互斥。 |
2193
- | `params.path_prefix` | 否 | `string \| null` | query / `path_prefix` | 按 `path` 前缀过滤。**这是纯字符串前缀匹配,不是目录语义** —— `path_prefix=a/b` 也会命中 `a/bc.md`。 |
2194
-
2195
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
2196
-
2197
- ### `memoryStores.memories.create`
2198
-
2199
- 创建记忆条目。HTTP:`POST /memory_stores/{memory_store_id}/memories`。
2200
-
2201
- ```text
2202
- client.memoryStores.memories.create(memoryStoreID: string, params: MemoryStoreMemoryCreateParams, options?: RequestOptions): APIPromise<Memory>
2203
- ```
2204
-
2205
- [方法源码](../src/forward/memory-store-memory.ts#L31);返回:`APIPromise<Memory>`([Memory](../src/forward/types.ts#L1713))。
2206
-
2207
- 参数对象:[MemoryStoreMemoryCreateParams](../src/forward/types.ts#L3335);字段定义:[MemoryStoreMemoryNewParams](../src/forward/types.ts#L1659)。
2208
-
2209
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2210
- | --- | --- | --- | --- | --- |
2211
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2212
- | `params.path` | 是 | `string` | body / `path` | 库内相对路径,大小写敏感。约束详见 path 规则。 |
2213
- | `params.content` | 是 | `string` | body / `content` | UTF-8 明文内容,非 base64;原始字节 ≤100 KiB。约束详见 content 约束。 |
2214
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 键值元数据,值必须为字符串。最多 **16** 个键。约束详见 Memory metadata 约束。 |
2215
-
2216
- ### `memoryStores.memories.retrieve`
2217
-
2218
- 获取记忆条目。HTTP:`GET /memory_stores/{memory_store_id}/memories/{memory_id}`。
2219
-
2220
- ```text
2221
- client.memoryStores.memories.retrieve(memoryStoreID: string, memoryID: string, options?: RequestOptions): APIPromise<Memory>
2222
- ```
2223
-
2224
- [方法源码](../src/forward/memory-store-memory.ts#L51);返回:`APIPromise<Memory>`([Memory](../src/forward/types.ts#L1713))。
2225
-
2226
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2227
- | --- | --- | --- | --- | --- |
2228
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2229
- | `memoryID` | 是 | `string` | path / `memory_id` | 按签名顺序传入的路径参数。 |
2230
-
2231
- ### `memoryStores.memories.update`
2232
-
2233
- 更新记忆条目。HTTP:`POST /memory_stores/{memory_store_id}/memories/{memory_id}`。
2234
-
2235
- ```text
2236
- client.memoryStores.memories.update(memoryStoreID: string, memoryID: string, params: MemoryStoreMemoryUpdateParams, options?: RequestOptions): APIPromise<Memory>
2237
- ```
2238
-
2239
- [方法源码](../src/forward/memory-store-memory.ts#L66);返回:`APIPromise<Memory>`([Memory](../src/forward/types.ts#L1713))。
2240
-
2241
- 参数对象:[MemoryStoreMemoryUpdateParams](../src/forward/types.ts#L1677)。
2242
-
2243
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2244
- | --- | --- | --- | --- | --- |
2245
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2246
- | `memoryID` | 是 | `string` | path / `memory_id` | 按签名顺序传入的路径参数。 |
2247
- | `params.content` | 是 | `string` | body / `content` | 新内容,UTF-8 明文;原始字节 ≤100 KiB。约束详见 content 约束。 |
2248
- | `params.content_sha256` | 否 | `string \| null` | body / `content_sha256` | 期望的当前内容 SHA-256,用于乐观并发控制。不一致时返回 `409`。 |
2249
- | `params.metadata` | 否 | `Record<string, unknown> \| null` | body / `metadata` | 新元数据,**整体替换**当前 metadata(非合并)。未传入时保持原 metadata 不变。约束详见 Memory metadata 约束。 |
2250
-
2251
- ### `memoryStores.memories.delete`
2252
-
2253
- 删除记忆条目。HTTP:`DELETE /memory_stores/{memory_store_id}/memories/{memory_id}`。
2254
-
2255
- ```text
2256
- client.memoryStores.memories.delete(memoryStoreID: string, memoryID: string, options?: RequestOptions): APIPromise<DeletedMemory>
2257
- ```
2258
-
2259
- [方法源码](../src/forward/memory-store-memory.ts#L87);返回:`APIPromise<DeletedMemory>`([DeletedMemory](../src/forward/types.ts#L1695))。
2260
-
2261
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2262
- | --- | --- | --- | --- | --- |
2263
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2264
- | `memoryID` | 是 | `string` | path / `memory_id` | 按签名顺序传入的路径参数。 |
2265
-
2266
- <a id="memoryStores-memoryVersions"></a>
2267
-
2268
- ## 记忆版本:`client.memoryStores.memoryVersions`
2269
-
2270
- ### `memoryStores.memoryVersions.list`
2271
-
2272
- 列出记忆版本。HTTP:`GET /memory_stores/{memory_store_id}/memory_versions`。
2273
-
2274
- ```text
2275
- client.memoryStores.memoryVersions.list(memoryStoreID: string, params: MemoryStoreMemoryVersionListParams = {}, options?: RequestOptions): PagePromise<MemoryVersion>
2276
- ```
2277
-
2278
- [方法源码](../src/forward/memory-store-memory-version.ts#L16);返回:`PagePromise<MemoryVersion>`([MemoryVersion](../src/forward/types.ts#L1751))。
2279
-
2280
- 参数对象:[MemoryStoreMemoryVersionListParams](../src/forward/types.ts#L1729)。
2281
-
2282
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2283
- | --- | --- | --- | --- | --- |
2284
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2285
- | `params.limit` | 否 | `number \| null` | query / `limit` | 每页返回数量上限,1..100,默认 20。 |
2286
- | `params.before_id` | 否 | `string \| null` | query / `before_id` | 向前翻页游标,与 `after_id` 互斥。 |
2287
- | `params.after_id` | 否 | `string \| null` | query / `after_id` | 向后翻页游标,与 `before_id` 互斥。 |
2288
- | `params.memory_id` | 否 | `string \| null` | query / `memory_id` | 只返回该 memory(`mem_...`)的版本,用于查看单条记忆的变更历史。 |
2289
-
2290
- 分页使用 `after_id` / `before_id` 游标。`await` 返回 `Page<T>`;直接 `for await` 遍历所有页。
2291
-
2292
- ### `memoryStores.memoryVersions.retrieve`
2293
-
2294
- 获取记忆版本。HTTP:`GET /memory_stores/{memory_store_id}/memory_versions/{memory_version_id}`。
2295
-
2296
- ```text
2297
- client.memoryStores.memoryVersions.retrieve(memoryStoreID: string, memoryVersionID: string, options?: RequestOptions): APIPromise<MemoryVersion>
2298
- ```
2299
-
2300
- [方法源码](../src/forward/memory-store-memory-version.ts#L31);返回:`APIPromise<MemoryVersion>`([MemoryVersion](../src/forward/types.ts#L1751))。
2301
-
2302
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2303
- | --- | --- | --- | --- | --- |
2304
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2305
- | `memoryVersionID` | 是 | `string` | path / `memory_version_id` | 按签名顺序传入的路径参数。 |
2306
-
2307
- ### `memoryStores.memoryVersions.redact`
2308
-
2309
- 清除记忆版本中的正文。HTTP:`POST /memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact`。
2310
-
2311
- ```text
2312
- client.memoryStores.memoryVersions.redact(memoryStoreID: string, memoryVersionID: string, options?: RequestOptions): APIPromise<MemoryVersion>
2313
- ```
2314
-
2315
- [方法源码](../src/forward/memory-store-memory-version.ts#L50);返回:`APIPromise<MemoryVersion>`([MemoryVersion](../src/forward/types.ts#L1751))。
2316
-
2317
- | 参数 | 必填 | 类型 | 位置 / 协议字段 | 说明 |
2318
- | --- | --- | --- | --- | --- |
2319
- | `memoryStoreID` | 是 | `string` | path / `memory_store_id` | 按签名顺序传入的路径参数。 |
2320
- | `memoryVersionID` | 是 | `string` | path / `memory_version_id` | 按签名顺序传入的路径参数。 |
2321
-
2322
- <a id="models"></a>
2323
-
2324
- ## 模型:`client.models`
2325
-
2326
- ### `models.list`
2327
-
2328
- 列出模型。HTTP:`GET /models`。
2329
-
2330
- ```text
2331
- client.models.list(options?: RequestOptions): APIPromise<ModelListResponse>
2332
- ```
2333
-
2334
- [方法源码](../src/forward/model.ts#L15);返回:`APIPromise<ModelListResponse>`([ModelListResponse](../src/forward/types.ts#L1788))。
2335
-
2336
- 无业务参数;可通过最后一个 `options` 设置请求选项。
2337
-
2338
- ## 验证与场景示例
2339
-
2340
- 完整的模型、会话、文件和技能、记忆等可运行场景见 [示例说明](../examples/README.md)。运行全量真实场景:
2341
-
2342
- ```sh
2343
- npm run example -- -mode forward -scenario all -region international -model auto
2344
- ```
2345
-
2346
- `-region` 应与 PAT 所属站点一致;示例程序读取 `.env.live`,执行后清理本轮创建的资源。文档中的资源方法不会自动执行这类清理。